<?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>66460</bug_id>
          
          <creation_ts>2011-08-18 06:03:10 -0700</creation_ts>
          <short_desc>Web Inspector: [Extensions API] rename webInspector.resources to webInspector.network</short_desc>
          <delta_ts>2011-09-26 00:32:27 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>452981</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-08-18 06:03:10 -0700</bug_when>
    <thetext>- rename webInspector.resources namespace to webInspector.network to be consistent with the rest of inspector
- use term request instead of resource for network request related code
- rename webInspector.network.onFinished to webInspector.network.onRequestFinished</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452983</commentid>
    <comment_count>1</comment_count>
      <attachid>104330</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-08-18 06:06:26 -0700</bug_when>
    <thetext>Created attachment 104330
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452997</commentid>
    <comment_count>2</comment_count>
      <attachid>104330</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 06:40:46 -0700</bug_when>
    <thetext>Comment on attachment 104330
patch

Attachment 104330 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9426351

New failing tests:
http/tests/inspector/extensions-network-redirect.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453029</commentid>
    <comment_count>3</comment_count>
      <attachid>104339</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-08-18 07:30:14 -0700</bug_when>
    <thetext>Created attachment 104339
patch

- renamed a test in the chromium test expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472996</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-09-26 00:32:27 -0700</bug_when>
    <thetext>Manually committed r93312: http://trac.webkit.org/changeset/93312</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104330</attachid>
            <date>2011-08-18 06:06:26 -0700</date>
            <delta_ts>2011-08-18 07:30:14 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resources-rename.diff</filename>
            <type>text/plain</type>
            <size>75448</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2N2EwOTRjLi44ZGI2MDAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgt
MTggIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbRXh0ZW5zaW9ucyBBUEldIHJlbmFtZSB3ZWJJbnNwZWN0b3IucmVzb3VyY2Vz
IHRvIHdlYkluc3BlY3Rvci5uZXR3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NjQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3Jr
LXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVj
dC5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29y
ay10ZXN0LmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1yZXNvdXJjZXMtdGVzdC5qcy4KKyAgICAgICAgKGV4dGVuc2lvbl9nZXRSZXF1
ZXN0QnlVcmwub25IQVIpOgorICAgICAgICAoZXh0ZW5zaW9uX2dldFJlcXVlc3RCeVVybCk6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLW5ldHdvcmstZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1y
ZXNvdXJjZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGluc3BlY3Rvci9leHRlbnNpb25zL2V4
dGVuc2lvbnMtbmV0d29yay5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbC4KKwogMjAxMS0wOC0xNiAgVG9u
eSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gZmFzdC9j
c3MvY3VzdG9tLWZvbnQteGhlaWdodC5odG1sIGlzIGFzc2VydGluZyBvbiBhbGwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1y
ZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjVjMTQ0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK1Rlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJ
IHJldHVybnMgdmFsaWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXMKKworUGFnZSByZWxv
YWRlZC4KK1N0YXJ0ZWQgZXh0ZW5zaW9uLgorUnVubmluZyB0ZXN0cy4uLgorUlVOTklORyBURVNU
OiBleHRlbnNpb25fdGVzdEdldFJlZGlyZWN0UmVxdWVzdENvbnRlbnQKK2NvbnRlbnQ6IG51bGws
IGVuY29kaW5nOiAKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVlc3RG
aW5pc2hlZAorRmluaXNoZWQgcmVxdWVzdDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCitGaW5pc2hl
ZCByZXF1ZXN0OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtbWV0aG9kcy1yZXN1bHQucGhwP3JlZGlyZWN0ZWQ9dHJ1ZQorUlVOTklORyBURVNUOiBleHRl
bnNpb25fdGVzdFJlZGlyZWN0UmVxdWVzdEluSEFSCitSZXF1ZXN0cyBpbiBIQVI6CitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1s
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0
LmpzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcwor
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0
LnBocD9yZWRpcmVjdGVkPXRydWUKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291
cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3RlZD10cnVlCitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQu
cGhwP3N0YXR1cz0zMDIKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9y
ZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMgorQWxsIHRlc3RzIGRvbmUuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZDRlZGNhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1sCkBAIC0wLDAg
KzEsMTAzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJleHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX2RvUmVxdWVz
dChmb3JjZSwgY2FsbGJhY2spCit7CisgICAgZnVuY3Rpb24gY2FsbGJhY2tXcmFwcGVyKHJlcXVl
c3QpCisgICAgeworICAgICAgICB2YXIgbGFzdENhbGxiYWNrID0gIXJlcXVlc3QgfHwgL1w/cmVk
aXJlY3RlZD10cnVlJC8udGVzdChyZXF1ZXN0LnJlcXVlc3QudXJsKTsKKyAgICAgICAgaWYgKGxh
c3RDYWxsYmFjaykKKyAgICAgICAgICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uUmVxdWVzdEZp
bmlzaGVkLnJlbW92ZUxpc3RlbmVyKGNhbGxiYWNrV3JhcHBlcik7CisgICAgICAgIGNhbGxiYWNr
KHJlcXVlc3QsIGxhc3RDYWxsYmFjayk7CisgICAgfQorICAgIHdlYkluc3BlY3Rvci5uZXR3b3Jr
Lm9uUmVxdWVzdEZpbmlzaGVkLmFkZExpc3RlbmVyKGNhbGxiYWNrV3JhcHBlcik7CisgICAgd2Vi
SW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJkb1JlcXVlc3QoIiArIGZvcmNlICsgIiki
LCBmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgICAgIGNh
bGxiYWNrV3JhcHBlcihudWxsKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rl
c3RHZXRSZWRpcmVjdFJlcXVlc3RDb250ZW50KG5leHRUZXN0KQoreworICAgIGZ1bmN0aW9uIG9u
UmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QsIGxhc3RDYWxsYmFjaykKKyAgICB7CisgICAgICAgIGlm
ICghbGFzdENhbGxiYWNrKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBleHRlbnNpb25f
Z2V0UmVxdWVzdEJ5VXJsKFsgL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocFw/c3RhdHVzPTMw
MiQvIF0sIGZ1bmN0aW9uKHJlcXVlc3QpIHsKKyAgICAgICAgICAgIHJlcXVlc3QuZ2V0Q29udGVu
dChvbkNvbnRlbnQpOworICAgICAgICB9KTsKKyAgICB9CisgICAgZnVuY3Rpb24gb25Db250ZW50
KGNvbnRlbnQsIGVuY29kaW5nKQorICAgIHsKKyAgICAgICAgb3V0cHV0KCJjb250ZW50OiAiICsg
Y29udGVudCArICIsIGVuY29kaW5nOiAiICsgZW5jb2RpbmcpOworICAgICAgICBuZXh0VGVzdCgp
OworICAgIH0KKyAgICBleHRlbnNpb25fZG9SZXF1ZXN0KGZhbHNlLCBvblJlcXVlc3RGaW5pc2hl
ZCk7Cit9CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVkaXJlY3RSZXF1ZXN0SW5IQVIobmV4
dFRlc3QpCit7CisgICAgZnVuY3Rpb24gb25SZXF1ZXN0RmluaXNoZWQocmVzb3VyY2UsIGxhc3RD
YWxsYmFjaykKKyAgICB7CisgICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCisgICAgICAgICAgICB3
ZWJJbnNwZWN0b3IubmV0d29yay5nZXRIQVIob25IQVIpOworICAgIH0KKyAgICBmdW5jdGlvbiBv
bkhBUihoYXIpCisgICAgeworICAgICAgICB2YXIgZW50cmllcyA9IGhhci5lbnRyaWVzOworICAg
ICAgICB2YXIgdXJscyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciB1cmwgPSBlbnRyaWVzW2ldLnJlcXVlc3Qu
dXJsOworICAgICAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgR1RLIERSVCB0aGF0IHJlcXVlc3Rz
IGZhdmljb24uaWNvIGFsb25nIHdpdGggdGhlIHBhZ2UuCisgICAgICAgICAgICBpZiAoIS9cL2Zh
dmljb25cLmljbyQvLnRlc3QodXJsKSkKKyAgICAgICAgICAgICAgICB1cmxzLnB1c2godXJsKTsK
KyAgICAgICAgfQorICAgICAgICB1cmxzLnNvcnQoKTsKKyAgICAgICAgb3V0cHV0KCJSZXF1ZXN0
cyBpbiBIQVI6XG4iICsgdXJscy5qb2luKCJcbiIpKTsKKyAgICAgICAgbmV4dFRlc3QoKTsKKyAg
ICB9CisgICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChmYWxzZSwgb25SZXF1ZXN0RmluaXNoZWQpOwor
fQorCitmdW5jdGlvbiBleHRlbnNpb25fdGVzdFJlZGlyZWN0UmVxdWVzdEZpbmlzaGVkKG5leHRU
ZXN0KQoreworICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QsIGxhc3RDYWxs
YmFjaykKKyAgICB7CisgICAgICAgIG91dHB1dCgiRmluaXNoZWQgcmVxdWVzdDogIiArIHJlcXVl
c3QucmVxdWVzdC51cmwpOworICAgICAgICBpZiAobGFzdENhbGxiYWNrKQorICAgICAgICAgICAg
bmV4dFRlc3QoKTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2RvUmVxdWVzdCh0cnVlLCBvblJlcXVl
c3RGaW5pc2hlZCk7Cit9CisKK3ZhciByZXF1ZXN0RG9uZSA9IGZhbHNlOworCitmdW5jdGlvbiBk
b1JlcXVlc3QoZm9yY2UpCit7CisgICAgLy8gT25seSBkbyByZXF1ZXN0IG9uY2UgcGVyIHRlc3Qg
c3VpdGUsIHRvIG1ha2UgdGVzdHMgaW5kZXBlbmRlbnQgb24gZWFjaCBvdGhlci4KKyAgICAvLyBS
ZXR1cm5zIHRydWUgaWZmIHJlcXVlc3QgaXMgYWxyZWR5IGRvbmUgKHNvIHRoZSBjYWxsZXIgc2hv
dWxkbid0IHdhaXQgZm9yIG9uRmluaXNoZWQpLgorICAgIGlmIChyZXF1ZXN0RG9uZSAmJiAhZm9y
Y2UpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJlcXVlc3REb25lID0gdHJ1ZTsKKyAgICAv
LyBXZSBjYW4ndCB1c2UgWEhSIGhlcmUgLS0gdGhlIGNvbnRlbnQgZm9yIFhIUnMgaXMgcHVzaGVk
IGZyb20gYmFjay1lbmQuCisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOworICAgIGlmcmFtZS5zcmMgPSAiL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0
LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2YXIgdGVzdCA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoSW5zcGVjdG9yVGVzdC5ydW5F
eHRlbnNpb25UZXN0cyk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+VGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkgcmV0dXJucyB2
YWxpZCBkYXRhIGZvciByZWRpcmVjdGVkIHJlc291cmNlczwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1uZXR3b3JrLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YTVkYzIzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9u
IGV4dGVuc2lvbl9nZXRSZXF1ZXN0QnlVcmwodXJscywgY2FsbGJhY2spCit7CisgICAgZnVuY3Rp
b24gb25IQVIocmVzcG9uc2UpCisgICAgeworICAgICAgICB2YXIgZW50cmllcyA9IHJlc3BvbnNl
LmVudHJpZXM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsr
aSkgeworICAgICAgICAgICAgZm9yICh2YXIgdXJsID0gMDsgdXJsIDwgdXJscy5sZW5ndGg7ICsr
dXJsKSB7CisgICAgICAgICAgICAgICAgaWYgKHVybHNbdXJsXS50ZXN0KGVudHJpZXNbaV0ucmVx
dWVzdC51cmwpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVudHJpZXNbaV0pOwor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLmdldEhBUihv
bkhBUik7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxZDNhMTEuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMt
cmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVGVz
dHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKLQotUGFnZSByZWxvYWRlZC4KLVN0YXJ0ZWQg
ZXh0ZW5zaW9uLgotUnVubmluZyB0ZXN0cy4uLgotUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVz
dEdldFJlZGlyZWN0UmVzb3VyY2VDb250ZW50Ci1jb250ZW50OiBudWxsLCBlbmNvZGluZzogCi1S
VU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0UmVkaXJlY3RSZXNvdXJjZUZpbmlzaGVkCi1GaW5p
c2hlZCByZXNvdXJjZTogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3Jl
ZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCi1GaW5pc2hlZCByZXNvdXJjZTog
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMt
cmVzdWx0LnBocD9yZWRpcmVjdGVkPXRydWUKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RS
ZWRpcmVjdFJlc291cmNlc0luSEFSCi1SZXNvdXJjZXMgaW4gSEFSOgotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC5odG1sCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXRlc3QuanMK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10ZXN0LmpzCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhw
P3JlZGlyZWN0ZWQ9dHJ1ZQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2Vz
L3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9yZWRpcmVjdGVkPXRydWUKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/
c3RhdHVzPTMwMgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGly
ZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCi1BbGwgdGVzdHMgZG9uZS4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNv
dXJjZXMtcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDc3Y2NkZGIuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJlY3QuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEwMyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXJlc291cmNlcy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi1mdW5jdGlvbiBleHRlbnNpb25f
ZG9SZXF1ZXN0KGZvcmNlLCBjYWxsYmFjaywgbmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24gY2Fs
bGJhY2tXcmFwcGVyKHJlc291cmNlKQotICAgIHsKLSAgICAgICAgdmFyIGxhc3RDYWxsYmFjayA9
ICFyZXNvdXJjZSB8fCAvXD9yZWRpcmVjdGVkPXRydWUkLy50ZXN0KHJlc291cmNlLnJlcXVlc3Qu
dXJsKTsKLSAgICAgICAgaWYgKGxhc3RDYWxsYmFjaykKLSAgICAgICAgICAgIHdlYkluc3BlY3Rv
ci5yZXNvdXJjZXMub25GaW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihjYWxsYmFja1dyYXBwZXIpOwot
ICAgICAgICBjYWxsYmFjayhyZXNvdXJjZSwgbGFzdENhbGxiYWNrKTsKLSAgICB9Ci0gICAgd2Vi
SW5zcGVjdG9yLnJlc291cmNlcy5vbkZpbmlzaGVkLmFkZExpc3RlbmVyKGNhbGxiYWNrV3JhcHBl
cik7Ci0gICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJkb1JlcXVlc3QoIiAr
IGZvcmNlICsgIikiLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgaWYgKHJlc3VsdCkKLSAg
ICAgICAgICAgIGNhbGxiYWNrV3JhcHBlcihudWxsKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24g
ZXh0ZW5zaW9uX3Rlc3RHZXRSZWRpcmVjdFJlc291cmNlQ29udGVudChuZXh0VGVzdCkKLXsKLSAg
ICBmdW5jdGlvbiBvbkZpbmlzaGVkKHJlc291cmNlLCBsYXN0Q2FsbGJhY2spCi0gICAgewotICAg
ICAgICBpZiAoIWxhc3RDYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZXh0
ZW5zaW9uX2dldFJlc291cmNlQnlVcmwoWyAvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwXD9z
dGF0dXM9MzAyJC8gXSwgZnVuY3Rpb24ocmVzb3VyY2UpIHsKLSAgICAgICAgICAgIHJlc291cmNl
LmdldENvbnRlbnQob25Db250ZW50KQotICAgICAgICB9KTsKLSAgICB9Ci0gICAgZnVuY3Rpb24g
b25Db250ZW50KGNvbnRlbnQsIGVuY29kaW5nKQotICAgIHsKLSAgICAgICAgb3V0cHV0KCJjb250
ZW50OiAiICsgY29udGVudCArICIsIGVuY29kaW5nOiAiICsgZW5jb2RpbmcpOwotICAgICAgICBu
ZXh0VGVzdCgpOwotICAgIH0KLSAgICBleHRlbnNpb25fZG9SZXF1ZXN0KGZhbHNlLCBvbkZpbmlz
aGVkKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlc291cmNlc0luSEFS
KG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIG9uRmluaXNoZWQocmVzb3VyY2UsIGxhc3RDYWxs
YmFjaykKLSAgICB7Ci0gICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCi0gICAgICAgICAgICB3ZWJJ
bnNwZWN0b3IucmVzb3VyY2VzLmdldEhBUihvbkhBUik7Ci0gICAgfQotICAgIGZ1bmN0aW9uIG9u
SEFSKGhhcikKLSAgICB7Ci0gICAgICAgIHZhciBlbnRyaWVzID0gaGFyLmVudHJpZXM7Ci0gICAg
ICAgIHZhciB1cmxzID0gW107Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5s
ZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIHVybCA9IGVudHJpZXNbaV0ucmVxdWVzdC51
cmw7Ci0gICAgICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBHVEsgRFJUIHRoYXQgcmVxdWVzdHMg
ZmF2aWNvbi5pY28gYWxvbmcgd2l0aCB0aGUgcGFnZS4KLSAgICAgICAgICAgIGlmICghL1wvZmF2
aWNvblwuaWNvJC8udGVzdCh1cmwpKQotICAgICAgICAgICAgICAgIHVybHMucHVzaCh1cmwpOwot
ICAgICAgICB9Ci0gICAgICAgIHVybHMuc29ydCgpOwotICAgICAgICBvdXRwdXQoIlJlc291cmNl
cyBpbiBIQVI6XG4iICsgdXJscy5qb2luKCJcbiIpKTsKLSAgICAgICAgbmV4dFRlc3QoKTsKLSAg
ICB9Ci0gICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChmYWxzZSwgb25GaW5pc2hlZCk7Ci19Ci0KLWZ1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVkaXJlY3RSZXNvdXJjZUZpbmlzaGVkKG5leHRUZXN0KQot
ewotICAgIGZ1bmN0aW9uIG9uRmluaXNoZWQocmVzb3VyY2UsIGxhc3RDYWxsYmFjaykKLSAgICB7
Ci0gICAgICAgIG91dHB1dCgiRmluaXNoZWQgcmVzb3VyY2U6ICIgKyByZXNvdXJjZS5yZXF1ZXN0
LnVybCk7Ci0gICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCi0gICAgICAgICAgICBuZXh0VGVzdCgp
OwotICAgIH0KLSAgICBleHRlbnNpb25fZG9SZXF1ZXN0KHRydWUsIG9uRmluaXNoZWQpOwotfQot
Ci12YXIgcmVxdWVzdERvbmUgPSBmYWxzZTsKLQotZnVuY3Rpb24gZG9SZXF1ZXN0KGZvcmNlKQot
ewotICAgIC8vIE9ubHkgZG8gcmVxdWVzdCBvbmNlIHBlciB0ZXN0IHN1aXRlLCB0byBtYWtlIHRl
c3RzIGluZGVwZW5kZW50IG9uIGVhY2ggb3RoZXIuCi0gICAgLy8gUmV0dXJucyB0cnVlIGlmZiBy
ZXF1ZXN0IGlzIGFscmVkeSBkb25lIChzbyB0aGUgY2FsbGVyIHNob3VsZG4ndCB3YWl0IGZvciBv
bkZpbmlzaGVkKS4KLSAgICBpZiAocmVxdWVzdERvbmUgJiYgIWZvcmNlKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICByZXF1ZXN0RG9uZSA9IHRydWU7Ci0gICAgLy8gV2UgY2FuJ3QgdXNlIFhI
UiBoZXJlIC0tIHRoZSBjb250ZW50IGZvciBYSFJzIGlzIHB1c2hlZCBmcm9tIGJhY2stZW5kLgot
ICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBp
ZnJhbWUuc3JjID0gIi9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5w
aHA/c3RhdHVzPTMwMiI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5z
cGVjdG9yVGVzdC5yZWxvYWRQYWdlKEluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOwot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRl
c3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNv
dXJjZXMtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtcmVzb3VyY2VzLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZGFk
NzQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1yZXNvdXJjZXMtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLWZ1
bmN0aW9uIGV4dGVuc2lvbl9nZXRSZXNvdXJjZUJ5VXJsKHVybHMsIGNhbGxiYWNrKQotewotICAg
IGZ1bmN0aW9uIG9uSEFSKHJlc3BvbnNlKQotICAgIHsKLSAgICAgICAgdmFyIGVudHJpZXMgPSBy
ZXNwb25zZS5lbnRyaWVzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVu
Z3RoOyArK2kpIHsKLSAgICAgICAgICAgIGZvciAodmFyIHVybCA9IDA7IHVybCA8IHVybHMubGVu
Z3RoOyArK3VybCkgewotICAgICAgICAgICAgICAgIGlmICh1cmxzW3VybF0udGVzdChlbnRyaWVz
W2ldLnJlcXVlc3QudXJsKSkgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhlbnRyaWVz
W2ldKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2Vz
LmdldEhBUihvbkhBUik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1leHBlY3RlZC50eHQKaW5k
ZXggMmZjYmEwMi4uNzU5MjhjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKLVRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCitUZXN0
cyBvdmVycmlkaW5nIHVzZXIgYWdlbnQgdmlhIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCiAK
IFN0YXJ0ZWQgZXh0ZW5zaW9uLgogUnVubmluZyB0ZXN0cy4uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwK
aW5kZXggNjQ4NjVhNC4uODkyODY3OSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sCkBAIC02LDIzICs2
LDIzIEBACiAKIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0VXNlckFnZW50KG5leHRUZXN0KQogewot
ICAgIGNvbnN0IHJlc291cmNlc1RvQ2hlY2sgPSBbCisgICAgY29uc3QgcmVxdWVzdHNUb0NoZWNr
ID0gWwogICAgICAgICAiZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbCIsCiAgICAgICAgICJ4aHIt
ZXhpc3RzLmh0bWwiCiAgICAgXTsKLSAgICB2YXIgcmVzb3VyY2VDb3VudCA9IDA7CisgICAgdmFy
IHJlcXVlc3RDb3VudCA9IDA7CiAgICAgdmFyIHF1ZXVlZE91dHB1dCA9IFtdOwogCi0gICAgZnVu
Y3Rpb24gb25SZXNvdXJjZShyZXNvdXJjZSkKKyAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hl
ZChyZXF1ZXN0KQogICAgIHsKLSAgICAgICAgdmFyIHVybCA9IHJlc291cmNlLnJlcXVlc3QudXJs
LnJlcGxhY2UoL14uKlsvXS8sICIiKTsKLSAgICAgICAgaWYgKHJlc291cmNlc1RvQ2hlY2suaW5k
ZXhPZih1cmwpIDwgMCkKKyAgICAgICAgdmFyIHVybCA9IHJlcXVlc3QucmVxdWVzdC51cmwucmVw
bGFjZSgvXi4qWy9dLywgIiIpOworICAgICAgICBpZiAocmVxdWVzdHNUb0NoZWNrLmluZGV4T2Yo
dXJsKSA8IDApCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgcXVldWVkT3V0cHV0LnB1
c2goInVzZXItYWdlbnQgaGVhZGVyIGZvciAiICsgdXJsICsgIjogIiArIGdldEhlYWRlcihyZXNv
dXJjZS5yZXF1ZXN0LmhlYWRlcnMsICJ1c2VyLWFnZW50IikpOwotICAgICAgICBpZiAoKytyZXNv
dXJjZUNvdW50IDwgcmVzb3VyY2VzVG9DaGVjay5sZW5ndGgpCisgICAgICAgIHF1ZXVlZE91dHB1
dC5wdXNoKCJ1c2VyLWFnZW50IGhlYWRlciBmb3IgIiArIHVybCArICI6ICIgKyBnZXRIZWFkZXIo
cmVxdWVzdC5yZXF1ZXN0LmhlYWRlcnMsICJ1c2VyLWFnZW50IikpOworICAgICAgICBpZiAoKyty
ZXF1ZXN0Q291bnQgPCByZXF1ZXN0c1RvQ2hlY2subGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9uRmluaXNoZWQucmVtb3ZlTGlzdGVu
ZXIob25SZXNvdXJjZSk7CisgICAgICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uUmVxdWVzdEZp
bmlzaGVkLnJlbW92ZUxpc3RlbmVyKG9uUmVxdWVzdEZpbmlzaGVkKTsKICAgICAgICAgd2ViSW5z
cGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJuYXZpZ2F0b3IudXNlckFnZW50Iiwgb25FdmFs
KTsKICAgICB9CiAgICAgZnVuY3Rpb24gZ2V0SGVhZGVyKGhlYWRlcnMsIG5hbWUpCkBAIC00OSw3
ICs0OSw3IEBAIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0VXNlckFnZW50KG5leHRUZXN0KQogICAg
ICAgICBuZXh0VGVzdCgpOwogICAgIH0KIAotICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25G
aW5pc2hlZC5hZGRMaXN0ZW5lcihvblJlc291cmNlKTsKKyAgICB3ZWJJbnNwZWN0b3IubmV0d29y
ay5vblJlcXVlc3RGaW5pc2hlZC5hZGRMaXN0ZW5lcihvblJlcXVlc3RGaW5pc2hlZCk7CiAgICAg
d2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5yZWxvYWQoIk1vemlsbGEvNC4wIChjb21wYXRp
YmxlOyBXZWJJbnNwZWN0b3IgRXh0ZW5zaW9uIFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0xMU0p
Iik7CiB9CiAKQEAgLTYzLDYgKzYzLDYgQEAgZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RVc2VyQWdl
bnQobmV4dFRlc3QpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPlRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJPC9wPgorPHA+VGVzdHMgb3Zl
cnJpZGluZyB1c2VyIGFnZW50IHZpYSBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSTwvcD4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dAppbmRleCA1MjQ0MGFiLi4zNWQ1
ZWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLWFwaS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0CkBAIC0yOSw3ICsyOSwzMSBAQCBSVU5OSU5H
IFRFU1Q6IGV4dGVuc2lvbl90ZXN0QVBJCiAgICAgICAgIH0KICAgICAgICAgY3JlYXRlIDogPGZ1
bmN0aW9uPgogICAgIH0KKyAgICBuZXR3b3JrIDogeworICAgICAgICBvblJlcXVlc3RGaW5pc2hl
ZCA6IHsKKyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICAgICAg
cmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KKyAgICAgICAgb25GaW5pc2hl
ZCA6IHsKKyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICAgICAg
cmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KKyAgICAgICAgb25OYXZpZ2F0
ZWQgOiB7CisgICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KKyAgICAgICAgICAg
IHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICB9CisgICAgICAgIG9uQ29udGVu
dEVkaXRlZCA6IHsKKyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAg
ICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KKyAgICAgICAgZ2V0
SEFSIDogPGZ1bmN0aW9uPgorICAgICAgICBhZGRSZXF1ZXN0SGVhZGVycyA6IDxmdW5jdGlvbj4K
KyAgICB9CiAgICAgcmVzb3VyY2VzIDogeworICAgICAgICBvblJlcXVlc3RGaW5pc2hlZCA6IHsK
KyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICAgICAgcmVtb3Zl
TGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KICAgICAgICAgb25GaW5pc2hlZCA6IHsK
ICAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgogICAgICAgICAgICAgcmVtb3Zl
TGlzdGVuZXIgOiA8ZnVuY3Rpb24+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXgg
YzAyMDg0ZC4uZTVjZDQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNyw4
ICs3LDggQEAgUGFnZSByZWxvYWRlZC4KIFBhZ2UgcmVsb2FkZWQuCiBOYXZpZ2F0ZWQgdG86IGV4
dGVuc2lvbnMtZXZlbnRzLmh0bWw/bmF2aWdhdGVkCiBOYXZpZ2F0ZWQgdG86IGV4dGVuc2lvbnMt
ZXZlbnRzLmh0bWwKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RPblJlc291cmNlRmluaXNo
ZWQKLW9uRmluaXNoZWQgZmlyZWQKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RPblJlcXVl
c3RGaW5pc2hlZAorb25SZXF1ZXN0RmluaXNoZWQgZmlyZWQKIFJVTk5JTkcgVEVTVDogZXh0ZW5z
aW9uX3Rlc3RPblNlbGVjdGlvbkNoYW5nZWQKIG9uU2VsZWN0aW9uQ2hhbmdlZCBmaXJlZAogUlVO
TklORyBURVNUOiBleHRlbnNpb25fdGVzdFBhbmVsU2hvd0hpZGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy5odG1sCmluZGV4
IDNlN2E4YzguLjJkYzFmMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMuaHRtbApAQCAtMTYsMTUgKzE2LDE1IEBAIGZ1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0T25TZWxlY3Rpb25DaGFuZ2VkKG5leHRUZXN0KQogICAgIHdl
Ykluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiaW5zcGVjdChkb2N1bWVudC5ib2R5LmNo
aWxkcmVuWzBdKSIpOwogfQogCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdE9uUmVzb3VyY2VGaW5p
c2hlZChuZXh0VGVzdCkKK2Z1bmN0aW9uIGV4dGVuc2lvbl90ZXN0T25SZXF1ZXN0RmluaXNoZWQo
bmV4dFRlc3QpCiB7Ci0gICAgZnVuY3Rpb24gb25GaW5pc2hlZCgpCisgICAgZnVuY3Rpb24gb25S
ZXF1ZXN0RmluaXNoZWQoKQogICAgIHsKLSAgICAgICAgd2ViSW5zcGVjdG9yLnJlc291cmNlcy5v
bkZpbmlzaGVkLnJlbW92ZUxpc3RlbmVyKG9uRmluaXNoZWQpOwotICAgICAgICBvdXRwdXQoIm9u
RmluaXNoZWQgZmlyZWQiKTsKKyAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsub25SZXF1ZXN0
RmluaXNoZWQucmVtb3ZlTGlzdGVuZXIob25SZXF1ZXN0RmluaXNoZWQpOworICAgICAgICBvdXRw
dXQoIm9uUmVxdWVzdEZpbmlzaGVkIGZpcmVkIik7CiAgICAgICAgIG5leHRUZXN0KCk7CiAgICAg
fQotICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25GaW5pc2hlZC5hZGRMaXN0ZW5lcihvbkZp
bmlzaGVkKTsKKyAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5hZGRM
aXN0ZW5lcihvblJlcXVlc3RGaW5pc2hlZCk7CiAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdp
bmRvdy5ldmFsKCJ2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7IHhoci5vcGVuKCdHRVQn
LCAnIiArIGxvY2F0aW9uLmhyZWYgKyAiJywgZmFsc2UpOyB4aHIuc2VuZChudWxsKTsiKTsKIH0K
IApAQCAtNDcsNyArNDcsNyBAQCBmdW5jdGlvbiBleHRlbnNpb25fdGVzdE9uTmF2aWdhdGVkKG5l
eHRUZXN0KQogICAgICAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJs
b2NhdGlvbi5ocmVmID0gbG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWUiKTsKICAg
ICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHdlYkluc3BlY3Rvci5yZXNvdXJj
ZXMub25OYXZpZ2F0ZWQucmVtb3ZlTGlzdGVuZXIob25OYXZpZ2F0ZWQpOworICAgICAgICAgICAg
d2ViSW5zcGVjdG9yLm5ldHdvcmsub25OYXZpZ2F0ZWQucmVtb3ZlTGlzdGVuZXIob25OYXZpZ2F0
ZWQpOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1cmxzLmxlbmd0aDsgKytpKQog
ICAgICAgICAgICAgICAgIG91dHB1dCgiTmF2aWdhdGVkIHRvOiAiICsgdXJsc1tpXSk7CiAgICAg
ICAgICAgICBuZXh0VGVzdCgpOwpAQCAtNTgsNyArNTgsNyBAQCBmdW5jdGlvbiBleHRlbnNpb25f
dGVzdE9uTmF2aWdhdGVkKG5leHRUZXN0KQogICAgICAgICB1cmxzLnB1c2godXJsLnJlcGxhY2Uo
L14oLipcLykqLywgIiIpKTsKICAgICAgICAgcHJvY2Vzc0V2ZW50KCk7CiAgICAgfQotICAgIHdl
Ykluc3BlY3Rvci5yZXNvdXJjZXMub25OYXZpZ2F0ZWQuYWRkTGlzdGVuZXIob25OYXZpZ2F0ZWQp
OworICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uTmF2aWdhdGVkLmFkZExpc3RlbmVyKG9uTmF2
aWdhdGVkKTsKICAgICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QucnVuV2hlblBh
Z2VMb2FkcyhyZXBseSk7Iiwgb25Mb2FkKTsKICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2lu
ZG93LmV2YWwoImxvY2F0aW9uLmhyZWYgPSBsb2NhdGlvbi5ocmVmICsgJz9uYXZpZ2F0ZWQnIik7
CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLW5ldHdvcmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMvZXh0ZW5zaW9ucy1uZXR3b3JrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi42NWMxZjU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1uZXR3b3JrLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM0IEBACitUZXN0cyBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSQorCisgCitQYWdlIHJl
bG9hZGVkLgorU3RhcnRlZCBleHRlbnNpb24uCitSdW5uaW5nIHRlc3RzLi4uCitSVU5OSU5HIFRF
U1Q6IGV4dGVuc2lvbl90ZXN0R2V0SEFSCityZXNvdXJjZTogLi4uL3Rlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcworcmVzb3VyY2U6IC4uLi90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy10ZXN0LmpzCityZXNvdXJjZTogLi4uL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcworcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25z
LW5ldHdvcmsuaHRtbAorcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLW5ldHdvcmsuaHRtbAorcmVzb3VyY2U6IC4uLi9leHRlbnNpb25zL3Jlc291cmNlcy9hYmUu
cG5nCityZXNvdXJjZTogLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL0FoZW0udHRmCityZXNvdXJj
ZTogLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL2F1ZGl0cy1zdHlsZTEuY3NzCityZXNvdXJjZTog
Li4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL21pc3NpbmctaW1hZ2UucG5nCitSVU5OSU5HIFRFU1Q6
IGV4dGVuc2lvbl90ZXN0R2V0UmVxdWVzdENvbnRlbnQKK3sKKyAgICAwIDogIi5zb21lLXN0eWxl
IHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfSIKKyAgICAxIDogIiIKK30KK1JVTk5J
TkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnRFbmNvZGVkCit7CisgICAg
MCA6ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFBQUFDWEJJ
V1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFnQUVsRVFWUjRuRzE4YVd3YzUzbi96T3pNN016c2ZTOTNl
UitpZUlpa3BFaFJTTW1XTGNlS2JUbEhIY1d1RXp2Tmw3UW9naDZmaWdKRmdhSm8rNmtGQ2pSQWc3
Yi93a2xRRjAxaHVHa1ZxWElkeWJVczZxWWtrdUlsTHNWZGNzbmwzdmZzN0J6L0R6L082NUhjK1VB
czk1aDUzL2U1ZnMvdmVkNlh2bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RNUFFORTFS
RkUzVCtGZlROSTdqTkUxck5wc013emdjRGszVGFyV2FMTXMybTQybTZYYTczVzYzZFYybmFacW1h
VVZST0k0ekRFT1daVlZWYlRZYnd6QzZycXVxNm5RNk9ZNXJOcHVxcWdxQ0lJb2l3ekEybTgxbXMy
RWt1SW11NisxMnU5VnFzU3pMOHp6SGNiZ0podFJzTnZIQ1pya3dERjNYRGNQUWRaMWxXWlpoR0lx
aURNUFFOQTB6cENpSzR6aE1EeC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVEUk5veWpL
YnJjekRGT3YxOXZ0TnNNd2Ryc2Q3MHVTUkZHVXBtazBUYk1zMjJnMDJ1MjJvaWcybTgzbGNnbUNZ
QmlHb2lpR1lkQTBiYlBac0RUNGlhN3J1QzBtUUZFVW1UOUdSWnNYbVR4a2hubXllSmRNbXFJb1NN
eG1zK0gzK0lqSXM5MXUyMncyUVJBd2lIYTdMUWpDd01CQXRWcHROQnFxcWpJTVl4Z0dGcHZuZWNp
RXBtbXNXcXZWd3FkdXR4c3l4RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4Yzdobm50
VHhjTGc1dXlMQXVGd2IzSUpIRWp2OTlmcjljcGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhxTmVyMnVx
aXB1Z2w5QldhQ2xQTTlqbVhtZTUza2V6MVZWVlZFVXU5M3VjcmxxdFpyMXQwUnVXRHZLdk1nRWlP
aUl4aEt6SXBySWtnOHdkWElYVlZYSjdhd3FrYzFtWTdHWUpFazdPenVKUktMUmFEaWRUcmZibmNs
a2ZENmZJQWlRbTkxdTEzVzlWcXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9pajhGVVVS
aXdLUkV0VWxPZ1U1NHlOaStXUnU1SUtON0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQbWUrKzk5
ei8vOHorR1lZVERZWjduUjBaR1JrWkdob2FHNEU0d2RMdmREajlFVVJUeEdVUU9lQlpVbDZJb1da
WmJyWllrU1JBalJra0VpTCtZRmZHSUVCY1JJOTc4NHJCWnVBZWU1NjJXK293ZDR3Y1ltY2ZqK2NV
dmZ2SDNmLy8zZCsvZWRUZ2NzVmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNBSW9WQW9IQTdM
c3B6TDVRekRpRWFqRG9lalZDb1ZpMFZkMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwvTUJJcUFz
V0ZXK0JjclFnUklabWhWZUZhV1pXZ1grU1dtQkYyQ1loQzkxWFY5WjJkbmRuWjJhV25KNC9INC9m
Njl2VDFabGdPQkFNZHhlM3Q3cXFxdXI2L1hhclYydXowNE9IajQ4T0d0cmEzRnhVVlpsZzhjT09C
eXVWWlhWemMyTm5SZGowYWpvaWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhmTTdRS0JNcUZBZENX
QzZ0Zy9aZGNWbHVsUC9yb0l5eTgzVzZIT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1dnY2NG9T
cjFlOS9sOEhNZUZ3MkdmenlmTGNuZDM5K0Rnb01maktaZkxpVVFpa1VqazgvbmUzbDVZWUxGWXpH
YXo1WElaSGxXVzVYZzhQalUxTlR3OHpEQk1QcCtuYWRydjkvTThINC9IM1c2M0tJcnhlRHdhalhJ
Y3ArdTZMTXVWU3NYbGN1bTZYcTFXb2RYUUJTSU1DQloyUVF4NFA0UVFyME9jT0pRRVZ2R01pVzV2
YjFlclZWM1hGVVZwTkJwWWRWVlZoNGFHc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5WemMzTnZi
eStWU3VWeU9SaW5ydXU0ZWJsY3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQlpyUFY2L1ZtcytuMWVz
Zkd4czZjT2ZQODg4K0xvdWgydTNWZDV6ak83L2RqQW9xaVFQdXNVeUllRkZQYlJ3SzBKZkxBQVBB
OXErcHpISWZWeW1henhHc3BpZ0svVWk2WEh6MTZKRWtTeDNGNDArbDA5dmIyZG5aMlFyQzZycmRh
TGNSWXNvNkZRbUZoWVdGM2Q5ZG1zeFdMUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9QenM3T3oz
LzN1ZHc4ZVBOaHF0ZkRvU3FVaUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUmJyZGhxTVNoSWFCbHMx
bThDZDFHckcrMzJ3UWhZVjFLcGRMaTR1TGEydHJrNUdTOVhvY2NLcFVLNW1tMzJ5bUthalFhK1h5
K1VDZ2c1RElNSTRvaVFCekRNQTZIUXhURmJEYWJTQ1RxOWZxaFE0Y09IanlJUnp1ZFRrM1RYQzRY
NEFTeFE2dXpoTlpBY3ArREFTdXNzWVlnTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5nTVlBRG1n
SDhybFFyMEJUTEhHdU51VUEzNEdFZ0FrbFFVcFZLcDVQTjVqOGVER05ob05CS0pCT0F4VkJTQnFs
Z3M0bGxFT2EyS1NadTRsN1hhMnpPT2kzd2JyMlZaTGhhTEd4c2JCRHJqcWJpUkxNdE9wNVBnZFNB
WXQ5dGRLQlRJU2tQNFdCVGdac3dUWUpDb0djd1NDMGRSVkx2ZHJ0VnF4V0tSb3FpT2pvNTZ2ZDVx
dGVyMU9zSWVGSWMyTVRvSkIwQ2R1Q2RyeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJa1NaSlVx
OVhnZmdWQkNJZkQwQWlHWWR4dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUkFoWGNHOC96VVA1V3F3
VTVRK3dZcnRQcDNOblpXVmhZaUVRaWdpREFjQ2lLaWthamxVcUZ3RjNFUm93V2Q4UGtuNEoxVmdz
bVlzUWs4ZmhxdGJxMXRkVnV0OTF1dDl2dGhzcEpraVNLSW9UWmFyVmtXU2JRbWVmNWFyVktWQWpv
L0JtOEJ1TmhHQVpBRCtDV1lSZ0FRTnlOb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0vbkt4UUs5
WHFkUkF2YzhJdmhnQUoycFUxQWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcWxUaU84M2c4clZacmIy
OFBvYlhaYkJZS0JTSWlFb2cxVFZOVmxlTTR1RVJKa21DV0hvK251N3Y3MUtsVEhvL0hicmRuTXBt
SER4OHVMeTlEc1JHZm9iR3lMUE04NzNLNTRJYzJOalorL09NZmQzZDMvOG1mL01taFE0ZmNibmU5
WGlmNmlWbGdnYUNySkp5d0JCblFUK005aG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWswTncyZzBH
bzFHQTZPeG9tY1NEQW5DYWphYkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcFpGbTJYQzQvZWZMa3pw
MDdGeTlldkhuekptTW1hTFZhelRBTWg4T2g2M3FwVklLM3AyazZtVXgrOE1FSGtVaEVGRVdIdy9G
TS9tQU4rNStEQVpMRldNRUFIR0M5WHZkNFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZBUUJWb2VJ
MG1xMWNGdWd0bmE3N2ZmN2p4MDdkdWJNbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhCd2NIeDgv
RmUvK2xXdFZxTW95dXYxMXV2MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NDhPYWJiNGJEWWJneDZ5
Uy82RGdwaW1LeDJBUWxrSVVoNndHM3ViVzE5ZkhISHk4dExUbWRUaVM0UkU4UTkxcXRGdWFQcDly
dDltQXc2UGY3anh3NU1qbzZPalUxRlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RVMk5qWTFk
dkhqeDAwOC9iYlZheUU1VVZTMlZTZzZIUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRwSm1xWlo0
dDhKSk1CWFZWVVZSUkVxMTI2Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVDArUDFlajBlRDVUVDQv
SDA5ZlYxZFhXOTl0cHJaQVU1am1OWlZwYmxVcWtVQ0FRTXd5Q2NDSExscnE2dUgvemdCNGNQSDM3
Ly9mY3ZYYnBVTHBjRlFkQTByZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01yTlRpR28v
bjhSYkpJV0RFMmRaRmpSVXJWYTdmLy8rOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NFQXJGWUxCZ01S
aUlSbDh2Rjg3emI3ZTdvNkFpSHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPL3duRWNxQk9iemFacDJw
ZSs5Q1cvM3o4eU1uTDE2dFU3ZCs3SXN0elgxNWZQNXdPQmdLSW9GRVVwaXZMWlo1OUI4aVJCc2M2
VHNwQUpORTJ6UkltSkpQRTludWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3M2VlRHpl
MWRYRmNad2tTVTZuVTVJa1VCdmdwaHdPQjVZUHRxcHBHc2hCeE5KOTJNV3kwQm84dlZ3dWk2TDQy
bXV2alk2Ty92TS8vL09WSzFkS3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOVBUMCtuNDlNejdBd0cx
WWFnU1VFanpWamh1VlVLaFc4eUdhemhVTEI2WFNtMDJtZTUvMSsvOFRFeE1tVEo3dTd1eEVuZzhG
Z0tCUUNFb0pIWVZsVzEvVkdvMkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZrc1FCSWZE
Z2ZqcDgvbUN3U0J5RklaaElHMVpsaUdsaHc4ZlF1YTBtWEJhRGZLcGRBUnJqR2ZEcWJJc0MvMEJl
Yk83dTh0eFhDQVFxRlFxVHFlelhxOGZQbno0bFZkZU9YTGtpTWZqY2JsYzhYZ2NZaWZUdzYzaFFr
bmVvQ2dLd2RNa204UDZhcHFHM0FwZlEwQnl1OTFlcjNkd2NMQy92OTh3REkvSGswd21YMzMxVlFn
OG1VdytlZkprZm40K2s4azBHZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0ZkRTR1RC
NVJ3N2Rpd2FqYklzRzRsRUVBOWdWNFJsZ3hKaTdheFlpb0JKNjBPdGwyRVlQTThERzBFTFJrZEhE
eDgrM05IUkFRTmpHT2FkZDk1QllnbXhBOThERENQQWdvYUcvZU12UXlqelo5d3NJU0FFUVhDNzNX
QXJHSVpCK2k5SmtpekxkcnRkRkVYRHpNZVJDc0xrb0FVZWo0Y2dCK3NLR3BZMDF3cVNDY1dHck44
d2pMNit2aE1uVG95T2pyYmI3ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwayttRDJWdWky
UDhsbjFwV3NoOTF1eDdlRHdTQ1NQVW1TWUxTQTdCUkZRVmRiVDE4a255WVNmb1pOc3pvNXE2aUJi
NTFPcDkxdUIvL1UyZGs1T2pvYURBWnBtbDVlWHE3VmFpTWpJOFBEdzVGSVpHVmxKWi9QSTFBVG5w
SGdXSEx0SnpoazBzVEh3dldwcWdyNGV1REFnWEE0VERJTUVNR05Sa1BUTkVtU21zMG1TWE53UStn
cVlCRDlCYXovVEV3akY4Rk0wRnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdISGNxNisr
Mm1nMGxwZVhLNVVLWWcvS0xjQVAxbVZsaU1PMVhsZ01XWmFyMWFxbWFSNlBaM2g0T0JnTUlxeGhB
b2pnbFVxbDJXeFdLcFZHbzlGc05sdXRGb2FJREFPRkVIS1J4U1poMmpvOUtBaDBwMTZ2SS9kSGN1
eDJ1OCtlUFh2bzBLRlNxWFR4NHNWQ29iQzd1OXRzTm4wKzMvTHljaktaVkJRRklCRUIzSm82Njdy
KzFEK2s0SU1McmgvOHYyRVlLR09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhclljS0tvaUIy
azRzQUR5andNL01FQ0tITTBwQXN5NmdtSUl4RklwSGYrcTNmNnVqb2VQejRNVmI1OHVYTDI5dmJH
eHNiQ3dzTGUzdDdnaURBRkFsWC9qbDJ0VTZTc29CWUNNVGhjRGlkemthanNiMjluVTZua1grNVhD
NFFkdkY0SFA0TkdUTWNvSlg4aHo4a3NaZE1oakxSbFZXU21LU2lLRDZmejJhendlQVpzNExTYXJW
R1JrYjYrdnFheldheFdBd0dnNDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZhdDk0TVpZ
V0Vrays0cWl1TjN1YXJWcXM5bENvZERzN0N3a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJVUJTRWpn
cXVxNm5BNGtDc0hnMEdHWVNxVkNydzBTYVlocm1LeENKV0dTUVBXTmhvTlNFK1NwSFE2VFZFVUdN
Qnl1Znpnd1lOSGp4NXhISmRPcHdPQkFOaWRsWlVWbG1XZFRtZEhSd2ZvUWl3V0tCVmNMQlllYjFG
bW1BWTZKNWE1c3JKeS8vNzlUQ2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tpUWhGMnMy
bXh6SE9Sd09lQlNQeDRNblF1YUtvcWlxR2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdpejJVd21r
NlZTU2RkMVFCU1daWnZOWnIxZVgxcGFNZ3hqZkh6ODJMRmprVWhFbHVWQ29ZQlVjMStTRUIxaktS
REFRU0dqcDJtNlZxdmR2WHYzeG8wYm1Vekc2L1ZtczltQmdZR2hvU0dmejlmWjJRbEtHN1huVnF1
RmVGaXRWajBlRDh1eTBHcFM5QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVpYm04dG1zMGVQ
SGwxZVhwNmZud2RHNys3dWJyVmE0WEI0ZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkzS1hUMWxr
ekJXVEJ1Sk9jL3orWHgrWVdGaGMzTVRFYlhaYkNKOFlSQ1FQSDRpU1JJTVcxVlZmQmtFS1pUVDRY
RElzcHhLcFJZV0ZoNCtmRmdxbGFhbnAwZEdSa2pCcjFRcXdRdGd1V1ZaeGlPV2w1ZDNkbllrU1lK
L0xoYUxvaWllUFh0MmFHaW9VcW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9RajgyUytQWk1VRWFJ
VTFVMWxVcHRibTRDMzJtYXRyYTIxbXcyRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FRdjhISlE3
RXFsa3MxbXE5VnFzVmhjWEZ4OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxa1dVYU9CcitkeStWcXRa
cmI3UTZGUW9jUEh4NFlHTGgxNjlhZE8zZWdkKzEydTFRcUFYVVIwRThneCtlU05MNVFXcVlvcWw2
dmwwb2xWVlVCZEhSZHoyYXp4V0lSU1laaEdBQjlraVNCbTNLNzNXQmZPanM3bDVlWG56eDU0bks1
NXVibVZsWldjcmxjT3AwRzEreDBPamMyTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhnZEJTK1B4
d01HaEtLb2JEYXI2N3JYNnhWRjhkNjllN3U3dTlldVhkdmUzdlo2dlVoV1pGbHVOcHZvNTBCdS9i
bTZXcU16WXlsWmt5RG04WGg2ZW5vS2hVSXFsVUw2ZzRRRHRKcWlLS2prb0NqZ2REcTd1N3ZENGZD
Nzc3NHJ5L0tISDM2WXkrVlNxWlNpS0JnM3lwTFZhbFVVeGUzdGJZcWlvdEhvMXRaV1IwZEhNQmlF
NnlMcHBTQUlyVllybDh2SnNwekpaRnd1MTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1Y0FjOENX
Z3hCbThUaHo3MHJ3YXRXZVdxYUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVER1pyT0pva2hSRkR3RWJB
bVU3Tzd1YmpRYS9aM2YrWjJ1cnE1VUtvVWc1SFE2S1lxcTFXbzBUWVBJUklxenM3Tno0Y0tGWC8v
NjF5ZFBubnpublhlbXA2ZlJEMExUZExGWWJMVmFjTTdsY2htREdSb2FXbDVlaGd2OHhqZStBWko2
ZTN1NzJXenlQQjhLaGNCM2tSVDg4emhKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtEQkE1N25R
Yy9CTVNMblJEK0V3K0hBcDVxbXpjek1nQlErZi83OCsrKy9YeTZYRVFZMVRmTjZ2YVZTcWErdjcr
REJnNElnb0dnbENNTE5temNGUVVBMUhpUWdTcFEybTIxblo0ZW02WGE3UFRBd2tNMW1rOGxrTkJv
TkJBS0lUTWVPSFd1MzIrRncrRXRmK2xLMVdrV3N0Z3FNb2lqYm0yKyt5VmlxQ0FRV0Vjb1U0c3Bt
czQ4ZVBVSVJqakJBYnJjYlgvRDVmUGw4bmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2EvWENXak81
L095TEkrT2pvNlBqNE9WTHhhTFRxZno0TUdEMFdnVWZvdW02VktwZE92V3JVUWlJWXBpYjIrdnBt
bnBkQnIxN0Znc05qSXk0dmY3T3pvNmhvYUdSa2RIQTRFQWJiTHlHQjZabCszTk45OGsySXBrZEVo
RENmWURGYkt5c3JLN3UwdkVpRFFLeFN5S292QW1nTTc1OCtkUG5qeloxZFdGZkJvVmRUakdiRGFM
MmttOVhyOTM3OTdLeWdwTjArRndHUHJjYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdjT25EeDVz
bGdzenMzTkljREN4MGFqVVZtV0k1R0lKRW43bXNteVlOdWVza25LMG81RWNnVTRaYWdmNkJtLzN4
K1B4OWZXMWdqamhreks2WFFpTDZsVUtzQ3I3WFlibUFZUGlNVmlMNzMwVXIxZS8raWpqeWlLaXNW
aWtVaGtmWDI5djcvLytQSGpwMDZkYXJmYitYeGVFQVNvVExQWkJINUFTamsxTlZVb0ZIcDdleWNu
SjFWVnZYbnpacVZTUWUwTXZnRGtvQ3pMS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVLMFFEWU0y
RW5UTklJVndCcE4wNklvZ2xNQ2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVlkzaDRHRkFlWWJDN3U3
dFdxK1Z5dVdBd2VQejQ4VU9IRG9WQ0lhL1gyOS9mNzNRNlVRZ0Q5ZTV3T1BMNS9NREF3T0RnSU1N
d0N3c0w2K3ZydXE2UGpvNCs5OXh6U0d0Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhGb09ZUTRN
REJ3OGVEQ1ZTb0diOG5xOWRydTlXcTIyV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZNc0ZnRkUr
dnY3OC9rOE9QVVRKMDVVcTlYZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOc0lNT2lLTXB1dHlOYUJv
TkJ1OTArTURBd01URngvLzU5dTkzZTFkWGw5L3ZCSHVUeitYQTQzR3ExYXJXYTErc2xaVStTMzlq
ZWVPTU5vTEJuc2o0Z1FGSkxROUtFZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Ydnh4UmY5
Zm4rcFZGSVVCWm9NS09OeXVUWTJOdGJXMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRSZFhWMm90
NU9zVFpibHpjM05lRHdPbnJKUUtPenM3SFIxZFgzdGExOGJHUmxCSStMMTY5ZEJLUm1HNFhhNzBh
NWhaZEJ0My96bU4wbVYyNXJhb1ZTTWdHR1lUWURGWWpFVUNyMzQ0b3VxcXE2dXJxSWF0N3E2V2ln
VVhuNzU1ZWVlZTI1aVlnSnJHUTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJjM096Z0pZ
Z3pjQ2JBSzBBUE9QdWwyajBjaG1zeXNySzhGZzBPVnlHWVpSclZieitYeFBUOC8wOUxUZjcxZFY5
ZU9QUC83YnYvMWJYZGRScDNDNVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaGtBQUt3eXdsU1VKM1p6
Z2NwaWpxekprekxNc3VMQ3djUEhqd2hSZGVjRHFkTXpNejYrdnJHeHNiQnc0Y1FPQk9KcFBvN3dF
bGtVcWxlbnQ3ejU0OSs4WWJiK1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIzLzk2ME9I
RG9HWWpVYWpmL2lIZndob0NreHkvLzc5VUNpRUVJQVY5SHE5eUorSTByS0FBU1NFVUNiYlJjZ0l3
K3hFWkZsV2txVGJ0MitMb2pnOFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3M3dnc3ZrQjVDQUVCRlVi
cTZ1dGJYMXgwT1I2VlNnVlY3UEo1NFBJNTZFUVlFSWtMWGRheExQcDlmWFYyOWV2WHFqUnMzUVBP
VVNpV2Z6d2RmU3BrTXh1Ym1aakFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNklsZ0JnZHV3
OUwyd0xJdEYydG5aS1JhTGZyOC9Gb3NCSjBVaWtjSEJ3WGE3aldLQllSaGdnQVJCNk96c3ZILy9Q
anErc0Zpam82TW9MWUlLSk05Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6Y0hCd2NyRmFyZHJ2ZDcv
ZTdYQzU4TXhBSW9CQStPRGg0NnRTcFE0Y093UzVJYkdNc3BEWmpKZEZvcytjWFJCQkpGQ21UTVVD
TDVQYjJkcVZTUVdLS0pNdmxjdjN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRyR3hnVENJ
WEJuRVBHcVBXMXRiNVhLNVVxbklzdHh1dDNkMmRweE9aendlQjM1QWtvbThES3N2U2RMWTJGZzRI
RVlVOFhxOURNT2dNWVRFRDRxaVRPRHpmL1dBUUpJRUp4aG1jWHR6Y3hPdGNEelBSeUlSWGRjLy9Q
RERUei85OVBqeDR4MGRIYUlvb3ViUmJyZXoyV3lwVk1JcTVQUDVuL3prSndBb3dJUHdNZERZY3Js
Y0xCYlgxdFlXRnhldlg3K3U2enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFWd3VWelFh
UldvT2VJQXB3RjFUWnBLODMxaGtQRjNjTTB3U0dxa25YaUNJalkyTi9leG5Qd05WSVFnQ1dJbkxs
eStQajQrSFFxRmtNdG5WMVlYNkxGRlhRSlp3T1B6bmYvN25pVVRpci83cXIzdytIeXdaMmw2cjFW
Q2lLUlFLcTZ1clhxKzN1N3Y3OGVQSDQrUGpJeU1qWHEvM3lwVXJ6ei8vUEVnRFFQOUNvYURyT2h3
c1NpUE5ack5VS29GNXNsb2ZUZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1lU2RPM2Z1
M2J2WGJyY2JqY2JDd3NLREJ3OGcvRWFqZ1p3QU9TR2F1SHA2ZWo3ODhNTkVJaEdMeFFnY0E2eUQ2
NTZibTJOWmRuQndNQnFOWmpLWjhmSHg4Zkh4Mjdkdi8vVmYvM1VvRkhJNm5kVnFkV05qSTUvUEk0
RUczRUh1QmllSDFBOFJnY2lNTlo0bTdZbkdBdXpDczVOYUZjTXdrVWprOU9uVC8vVmYvM1g1OG1X
d1ZaVkt4ZTEyKy8zKytmbDVpcUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQUE8rdnI2
KysrL3Y3YTI5dFpiYjNWMmRsSVVKVWtTNkFLMGZBOE9Eb3FpbUVxbFhuLzlkV1RuOSs3ZFV4VGx6
LzdzejM3djkzNnZwNmNubjgrSFFxSFIwVkZKa2tDTFFyYWt2TTlZeUVkSWtvV2lBMG1SWmdxYjJk
d0RENFQrQTl5Q3B1blRwMDkvOE1FSFNDbjhmajlTcmNuSnlVYWpzYm01YWJQWnl1WHlyVnUza0ZY
elBPOTBPdDk0NHcySHc4R3k3SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3WUdCbDU2
NlNWQkVJNGVQZXB3T0ZDUWhISW1rMG5RSmJGWXJORm8rSHkra1pFUlFSREErZ0d2d2pSMHkyWUVl
Q1lTQlZuQ2N6Tm1RdzlsTmtVVGVJVUxWcVFvU2pnY1BuTGt5T3pzTEpMYWNEZzhQajVPR3ZuUUpZ
YTZpTmZyUFhMa3lBc3Z2SEQ2OUdrUUgwZU9ITkYxdlZxdC91ZC8vaWZETUYxZFhkLys5cmYvNGkv
K1lubDUrUi8vOFI5RG9SQ2NPVUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5MOWhhU2Fu
TGRWQlluY1VSZG5lZXVzdEVqbklEQ0ZTQUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQzZFBUQXdz
TE96ZzlaT1JWSFFQUEhsTDMvNS9QbnpKMDZjNk83dXBzMXFERkR4aXkrK3VMYTJkdWZPbldQSGpt
VXltU2RQbmd3TkRRVUNBVGhlVVJUaGxuWjNkNzFlNzRrVEo4Ykh4enM2T3VCYUVlaEo1ZVlabmhI
enRNWUwyMi8rNW0rUzVJTVlxKzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQxZDF5T1JDSDVD
VVZRNEhENS8vdnpSbzBkQm1lTExDR0xqNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1a1pDU2J6
WVpDSVlaaDBQaU42bUFrRWtFUXdoeVF0YUk2U0t6dS81d2tlZk9wZlM0a0t0Sm1JeXZranE1dXFD
NTJCUFQyOXA0NmRlcnUzYnMybTYxV3F5V1RTWFFVcUtwYUxCYkQ0VER3NU5iV1ZqNmZoeHVzVnF0
Z0pVRjJRRXJmL3ZhM0dZYjVmLy92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlCZ2gwU1FoUmxjMEp3
VzZlZ1d6cTFXSUxkaUVMdkIxQ1diWnRiaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdoaThmbDhQ
cDh2bFVvMW04MXNObHVwVkRSTnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaU1USXljdVRJRVVWUmhv
ZUgyKzEyUEI3MytYeDQzK2wwS29xU1NDUldWbFpBNGNEQllIcFFZOHJDK2xzbFpGamFYY2pGa21h
Tno1RWV3OER4R0dhWENIUURyeHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1L1A1dWJrNXQ5dmQwOU1U
aVVTUUtNYmpjVTNUc3RuczB0TFN2WHYzRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZMWTJLU3E2
dTd1N3BNblQvYjI5amlPNit6c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGT2VIODN3VE0rQ3FHR0JG
TVNadUNmVVBaSkpwTVVSU0dyNWpqdThlUEg5WHBkbHVYejU4K2ZPM2Z1M0xsenNWZ01aVHdzLyty
cTZ2ejh2TmZyZmZYVlY3LzJ0YThCTGRScU5UU0JYcjE2bGVmNWwxOSsyVzYzNTNJNTlLN3dQTi9i
MjRzOG1EU29JUWFDNE5ITWJRR1VoZnUzVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdCV0hvOG5G
QW9waWlKSlVxUFI2T3JxNG5sK2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMm15MGVqMy95eVNkMnUv
M2RkOS85eWxlK3NyZTNwMmxhUHA5UHBWS2hVT2pLbFN0ZXJ6Y1lES2JUYVhCUXlXUlMwN1JVS3RY
VDAwT3FsN0I1VkkyYXpTWXFpK2ludGJvZkROWHFkV2lhWnJXbjkwaDgvb0dweGtScGNhSERKaEFJ
N096c1JDS1JUQ2FqYVJyeWtsZ3NWcTFXczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5TVRQem9S
ejhhSGg0dWw4dG9EMGtrRWx0YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4K2ZMaTV1WWtPSG83alVx
a1UzQS9nSWFBdnRpRWdybUpzdXRsYVpqemR5Y0phTVo3Vk1xM2l0aHE2Mys4dkZBb28xb01jUWZv
VGlVVFFvREEyTmxZcWxRcUZ3dlBQUHgrUHg3dTd1KzEyKzhURXhNaklTREtaZExsY3BWTHA1czJi
VjY1Y0FmcHRObU9HMUZrQUFBOTRTVVJCVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwrLzN0L2ZQ
ejQrRHNOQkVnUEt0MXF0dWx3dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUWxtMms1Sy8xSS93ZUUv
dlhmLzNYZERwZHE5VjZlM3RCUm1DQkhRN0hLNis4MHRuWitlbW5uM1oyZHY3d2h6OUUvejhXWlgx
OS9jR0RCLy83di84cml1TFMwaElBRFdBVGRLZFNxWHp5eVNlNDFjbVRKd2NHQnRDNDV2ZjdaMmRu
WlZrK2ZQZ3d4M0VvalNERHRKcmwvM25STk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldVRmJaR2hV
QWpMakoyd0w3MzAwc0dEQjJ1MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYmlMM3o4L09QSGowNmMr
WU1BcjNkYm9jQ2N4eTN0cmEydTd1N3Q3Zm45WHEvL3ZXdno4ek1RSFE4ejJQTHhOTFNrcy9uaTBR
aWFESURIL2xGQmJUaTAzM25RakpqcS9sUlp0dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhkL2EydXJz
N0N3V2kvLzkzLzhkaVVRTXc5amEyanA0OE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RWTTQrN2R1
NGdaS0hXZ3lrQlJGUEttWURENDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaVREbVpyVldHeElPeXBF
ZUpzbXgxb1o2T3R1UmY4QlJUVTFPLy9PVXZRVlZRRkZVdWwwT2hVTGxjM3QzZGpjZmpEeDgrTEJh
TG1xYXRyNi9Mc2x5cjFYcDZlZ0tCUUwxZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVYSWRIUjNZ
Yitad09Gd3VGellQWXdmZTl2YjJyMzcxSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNpV0NUSXI2
K3N2VGhLRUVNL3pwMDZkbXBpWWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSS0pacW1jN21jeitkaldU
YWRUa3VTUkx4dU1CakUvaVJzTGdFaDBHNjNVWElFTUo2ZW51N3A2Y0VjR0lZQjJlRndPQVJCV0Zs
WlFjU2FucDUydTkyQ0lEUWFqV2Y4alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndtWnV2c1h6
SEE0SE9zSkRvVkNwVkZwZlgwYzdQSnArZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVnTlRoTGxH
anh1Ykd6czlPblRnNE9Ec1ZnTVhRNFlkektadkhUcGtxSW9wVklwbFVvaEUzUTZuYkJuaVBRWklY
MHVTZmdZMHZwQmZBenBraU9LU2xFVUdvZlJubmY0OEdGWmxyZTN0NWVYbDJHOTROUVk4NUFCQkhG
aTJOYS9GRVhoU0FIRGJJbkF0QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtmbjVyMzcx
cXlkUG5vUnhBcW1qWFFOQm5reG5IOFZiSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2WHJ5NHRMUzBz
YkZCV2RKelRkTlFxMFRVUWNIUDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZFRzeWZNVTh0Mk52Ymcv
MUxrcVFveXU3dUxseng0dUppZjMvL29VT0hlbnQ3MFk5ZXE5WHE5VHE0K1gyZ1prMnVpV1lUa280
a3pjQkRVRjNVNnByTlprZEh4K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZzM2NjNjFi
bWtESkMraXFZUmhJdnVGMWdYTEF4S0xlU05NMHgzRWJHeHZ3a2JWYVRSQUU3RGk2ZnYzNnZYdjM0
dkg0ME5EUWdRTUhob2FHaG9hR3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QXBpVkJCWDRmYmdEN0pV
cWxrdHZ0OXZsOG9GdHROcHZENFNnV2k4MW1FNXZ2Q2F4bkxIMGw4T1NvQXNHWWNZWUMrc0JuWm1a
Q29aQmhkbWFRTFdlcnE2dHV0OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUxUEhqaDNy
Nit1THhXSit2eCs5eUt4dTJhTm1qUzJVcGVuRmVKb3lNY3lxTmVRMlB6Ly9zNS85ckZ3dWQzWjJU
azlQUDNueUJPZ0U0ZUdMbWtLWlBlNk5SZ090ZG1oSG5KeWMvUDczdngrTHhZalYyR3cybENqVDZU
UWFYRkVMYUxmYmFHVnh1VnhvQ0Vla1RhZlQrWHoreG8wYmdpQk1UMDhQRGc1T1RrNzI5L2V6SktX
eXpvR3lrQ0J3UDhTSURjTUEyd2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTByYkdYc29z
WUlPYklidElBVjltWm1iZWZ2dnRreWRQZ2lJQ0x3RUwxSFY5Y1hFUmVSbCthTTJlc2JrR3ZBejhU
YlBaYkRRYVAvLzV6OEdiUktOUnhzclQ0VUl0aEJBODFrOUpXUWFNYUtWU3VYVHAwa2NmZlFRMkhY
c0dvV3lVMlN4dlJiL2tXVFJOVjZ0Vnd6RGdkY2JHeHY3Z0QvN2czTGx6bTV1YjBDRGdVbGhzcFZL
NWZmczJNQ0NzQUNrQnFVd1QvMFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhTUm1XbWtl
NElHbHBhWExseTlmdm53WlViSFZhbzJQajZONGp2bytGb2owdllEN2c5SWliQVFDQVZtVysvdjcv
K2lQL3VqczJiUDFlaDBSSDRFbkVBaWdMVUdXNVd2WHJsRVVoWm9IR3E0Y0RnZGNJTmt2WnVVcEFj
dUFCMjAyMi81K0FXUVNtQ1FwcEpIT1NreVlZUmhGVWRDRHVyUzB0THE2K3VqUkkrempobHNIbUk1
R295TWpJeXNySzZWU0tSd083KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enovM29Sejk2
NFlVWHF0V3FxcXArdjc5YXJUcWRUdUErVGRQOGZ2K0ZDeGZRUFloRlIrNWltSHNZU1JaQ20rME5j
R3hvVjlobk13QmxJREY0Rkt3MzVveGdoWjJEMld3V2ZWa3JLeXRMUzB1NVhLN1JhTURGNDZZb3Y0
YkQ0Vzk4NHh1dFZ1dkNoUXQ3ZTN0dXR4dEZkVXdBQWFaY0xyLzExbHM4ejMvem05OUVPUUF0c29x
aUlDdENhY3poY0pUTDVZOCsrZ2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVKRGtRemZQ
VGdMcG1FZ2s3dDI3dDdhMnRyQ3drTXZsVU1xRnJ5T2RQVEI5bG1XbnBxWUNnUUNvalpXVkZVZ21u
OCtqbEQ4Mk52YmJ2LzNiTXpNellFYlFqdWYzK3gwT3g5N2VYaUFRSUJzUGFacis0SU1QMEhacU05
dm5OZk9nQkpRM3lRWVVFdHV0MFo0eVdRN1daaDZpWkUwK0VJNUxwVkkybTBXeSsvRGh3NjJ0TFdB
b3FEVFJjQ2loeldZREtLL1Zha2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhzLzN2dmU5
ZDk5OWQzSnlFbjRGM1RJNDFLUmVyNlBUQW5lbUtPckdqUnZ2di85K3FWUWk4SVVJZ0lBSDJxVGFu
dEZiYS9CbkdjdlpHU3pMQW55aVhBRmN1cmk0dUxLeUF2cVkzQWdPVFRWM1k3SG1YaUFVUW1BLzZM
QTdlL2JzbTIrKytkNTc3eVVTaWU5ODV6dm56cDJ6Mld5bFVva3hTNlVNd3pnY0RrVlJ3R3MwR2cy
djE0dFRFbVpuWnpjM056RVpPR3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZkZ1BIanhZ
WFYyZG01dkRsaWgwYVBJOGo0MERKS0lRZ0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lXNkNGRHho
cE1FK2tOWkdxdURaYUxNNmoyNkVBazhKQkdJc09NRXNSRDRTWElSeGtJZFA3VkpGT2RScE5QcFRD
WnovZnIxOWZYMTlmVjFoSFVVMGtGa29YK05ZQ3NvakNBSVBUMDlEb2NERGdNZFpsNnZGNTdHWnJP
UllpYVlhR0I5ekFyUkM5cUJTZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJFN1JKK2hrbEI3
bHBpaUxNdnBkSHBoWVdGdWJtNWpZMk5qWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdySVFwdVZC
Vm1XRnhZVy91RWYvdUhSbzBjQXNVTkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUnljbkprWkdSVUNqVTI5
dUxkbEhOM0l6QTgvenQyN2ViemViaHc0Y3ZYTGlBT0lIVHh6Uk5RemFMamV2SUU2QzlpSndJajFB
VDB2MElsV1pSazFwYld3UExSRTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZOTEMwdGRYVjFaYlBa
UC83alAzN3c0SUhmNzg5a01nNkhnM0R0V0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lIcDZXbWc2
a0FnY1BIaXhmZmVlMjkrZmo0V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIV1Ixc09BdVBNYll5R3Vl
R1ZwbWtXMjlrWEZ4ZnYzNysvc3JLU3pXWlY4eXc1a3Z0UkpqOUFVUlFjRE82T2xtU080N3hlN3p2
dnZETXhNYUZwMnZ6OC9OMjdkd0VrME5CRkZNeG03aHBCOVJ2dHZMZHUzZnFQLy9nUEZDVDlmajg2
V3lSSnltUXluWjJkdVZ3Ty9ra3pUMzBoV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEvZjJOaVlu
NS9mM054RUxzOVp6cFFnanBnZ1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbzZNaG1zNDhmUHdiRGpV
UUJaUXpPUE1rUGdSNTREVW9GR0l3VmNUcWRsVW9GRlo2ZG5SMTRYYlJody9NQkd5SkVROG54UGxZ
Qm9xYk5zeDFKZEdRLy92ampYQzZYeVdUUVBzMllKNmdRMXVTWkZLUmVyOE9Yb0xrRFgvdis5Nzhm
Q29Wa1dVYlRHSHdZRWs3QVdyVFlZNU1zRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1GS3BSSllI
eGdoYWlwRW9SQ3hPUE5JUTl3UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDa3BxbVptMGZ3THlHVVNM
eXExV3JvSU1aT1ZhQy85ZlgxMjdkdjB6UU5oMG1PbDhCdENRK0NnYUxYSEllandDQXptY3pzN0N3
a0dRZ0U0TWFCWmhtelBZeHdia0RrRUNsOEJDbWkwalNOSFZINzJKWG9Ia0ZEK0Rhd0NHVnBYQ0xa
T3BhVEZNK09IRGtDMFQxOCtQQ2YvdW1mUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpiUDh6Z0xy
ZFZxNGFBdG5ES2w2em8yaWRJMFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSREdzTXdiREFZUk5BakV0
UE5VNnFJWDJVc2xXYVExb3Fpa0dUbjFLbFRFTWlQZi96amYvdTNmM081WERBR2RDdUNpZHNuV3N6
VFZTdVZpcy9uMjl2YjgzZzhvaWdDOTN1OTNrS2g0UEY0a0lWaER3Yk1HQkFLRHQ5NG12Nm16UTRK
bTNud0ptYU9nMS8ySzZ1SUZvYUZMOVRONmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1d0hKZkw1
V1puWjNFU0VVVlIxV29WNUkwa1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMEJBS0JSQ0xSMGRFQi9n
YWhHSjEzdUJVZ0hrQ2wxK3ZGZVRwWVB0d2NyclZjTG1ORHJxcXErNVFrZ1VpVVNUUUJHVkpmcU9F
QkpXTUV1cTZqN1lSbFdWUUVFSFd4c2Nubjh5RmVvMnlLd0kzdGQzRDlMTXVpNU43VjFSVUtoVERW
ZXIzZTM5Ky9zcklTQ29VUTBDdVZDbnd2eWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0QmlyR2sr
NXl4OE9xR3BTQkxkSU8ybEkyUVNlUHdSSERrMkd4R0tFYWczTDI5dlVna2d2M3RpT01vaElFUU9u
SGl4Q3V2dkRJNU9ZbkpBRXMxbTgzbDVlWGYvLzNmUnhjLzlrWXo1bUdCMXVVMlRNcmJNRHZLeUR0
a0k4YyszTEVPM1FvQVNOMlMzQlRmTWN5eUQ4cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBGcXRsc3Rs
Tkp6QjE0Mk9qbjc5NjE4L2NlSUVXbFlvODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFnWW9DeUhh
bUtEcmFxcWRyc2RaNnVnU3dOTmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVVZaTDRDSUl3TURBQWM0
ZER5dVZ5T0w0WmcvQjRQSTFHNCt6WnMyKy8vZmJNekF6MjkxSm1md01rUThJQVlHcXRWcnQyN1Jw
OEk4ZHhicmZiNFhEVWFqWEVRemhuMmp3WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpkTFRBblJp
alR5VXVXK0xzUDJnWkhwNmVoQ3lmdmpESDNxOTNnOCsrQUROU242L0gyNGdIbysvL2ZiYnYvRWJ2
NkZwR2pZaVl3OGJVU0pWVlFIMFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTkJIOUoyUWIyUmxBWFkx
YXJNRDNNZ3BSR1dLZ2ZaU25kV1hXWWVwcUp4UzVjR0Vrd0dBd0dnNFpoOER4Lyt2VHB2cjQrcDlQ
NTcvLys3NkJrQkVIbzd1NCtkKzdjOGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtxbnJlcVBS
ZVBqd1lUcWRSaWoyK1h6WUk0RjBqellKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6dTUvOERK
YytjVWNoZFREc0FBQUFBU1VWT1JLNUNZSUk9IgorICAgIDEgOiAiYmFzZTY0IgorfQorUlVOTklO
RyBURVNUOiBleHRlbnNpb25fdGVzdFJlcXVlc3ROb3RpZmljYXRpb24KK1JlcXVlc3QgZmluaXNo
ZWQ6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLW5ldHdvcmsuaHRtbAorUlVO
TklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNlQ29udGVudEVkaXRlZAorY29udGVudCBm
b3IgcmVzb3VyY2UgLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL2F1ZGl0cy1zdHlsZTEuY3NzIGVk
aXRlZDogYm9keSB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9CitBbGwgdGVzdHMgZG9uZS4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9u
cy1uZXR3b3JrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLW5ldHdvcmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmIx
M2YwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMv
ZXh0ZW5zaW9ucy1uZXR3b3JrLmh0bWwKQEAgLTAsMCArMSwxMTUgQEAKKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9hdWRpdHMtc3R5bGUxLmNz
cyIgdHlwZT0idGV4dC9jc3MiPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1p
bHk6ICd0ZXN0JzsKKyAgICBzcmM6IHVybChyZXNvdXJjZXMvQWhlbS50dGYpOworfQorCitwIHsg
Zm9udC1mYW1pbHk6ICd0ZXN0JzsgfQorPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRIQVIobmV4dFRlc3QpCit7CisgICAgZnVu
Y3Rpb24gY29tcGFyZUVudHJpZXMoYSwgYikKKyAgICB7CisgICAgICAgIHJldHVybiBhLnJlcXVl
c3QudXJsLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShiLnJlcXVlc3QudXJsLnRvTG93ZXJD
YXNlKCkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uSEFSKHJlc3VsdCkKKyAgICB7CisgICAg
ICAgIHJlc3VsdC5lbnRyaWVzLnNvcnQoY29tcGFyZUVudHJpZXMpOworCisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcmVzdWx0LmVudHJpZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBv
dXRwdXQoInJlc291cmNlOiAiICsgcmVzdWx0LmVudHJpZXNbaV0ucmVxdWVzdC51cmwucmVwbGFj
ZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpKTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2Rv
WEhSKGZ1bmN0aW9uKCkgeworICAgICAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5nZXRIQVIoY2Fs
bGJhY2tBbmROZXh0VGVzdChvbkhBUiwgbmV4dFRlc3QpKTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gZG9YSFIoKQoreworICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4
aHIub3BlbigiR0VUIiwgIiIsIGZhbHNlKTsKKyAgICB4aHIuc2VuZChudWxsKTsKK30KKworZnVu
Y3Rpb24gZXh0ZW5zaW9uX2RvWEhSKGNhbGxiYWNrKQoreworICAgIHdlYkluc3BlY3Rvci5pbnNw
ZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gZXh0
ZW5zaW9uX3Rlc3RSZXF1ZXN0Tm90aWZpY2F0aW9uKG5leHRUZXN0KQoreworICAgIGZ1bmN0aW9u
IG9uUmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QpCisgICAgeworICAgICAgICBvdXRwdXQoIlJlcXVl
c3QgZmluaXNoZWQ6ICIgKyByZXF1ZXN0LnJlcXVlc3QudXJsLnJlcGxhY2UoLy4qKChcL1teL10q
KXszfSQpLywiLi4uJDEiKSk7CisgICAgfQorCisgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsub25S
ZXF1ZXN0RmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJhY2tBbmROZXh0VGVzdChvblJlcXVlc3RG
aW5pc2hlZCwgbmV4dFRlc3QpKTsKKyAgICBleHRlbnNpb25fZG9YSFIoKTsKK30KKworZnVuY3Rp
b24gZXh0ZW5zaW9uX29uUmVxdWVzdEJvZHkoY29udGVudCwgZW5jb2RpbmcpCit7CisgICAgZHVt
cE9iamVjdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTsKK30KKworZnVu
Y3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRSZXF1ZXN0Q29udGVudChuZXh0VGVzdCkKK3sKKyAgICBl
eHRlbnNpb25fZ2V0UmVxdWVzdEJ5VXJsKFsvYXVkaXRzLXN0eWxlMS5jc3MkL10sIGZ1bmN0aW9u
KHJlcXVlc3QpIHsKKyAgICAgICAgcmVxdWVzdC5nZXRDb250ZW50KGNhbGxiYWNrQW5kTmV4dFRl
c3QoZXh0ZW5zaW9uX29uUmVxdWVzdEJvZHksIG5leHRUZXN0KSk7CisgICAgfSk7Cit9CisKK2Z1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0UmVzb3VyY2VDb250ZW50RW5jb2RlZChuZXh0VGVzdCkK
K3sKKyAgICBleHRlbnNpb25fZ2V0UmVxdWVzdEJ5VXJsKFsvYWJlLnBuZyQvIF0sIGZ1bmN0aW9u
KHJlcXVlc3QpIHsKKyAgICAgICAgcmVxdWVzdC5nZXRDb250ZW50KGNhbGxiYWNrQW5kTmV4dFRl
c3QoZXh0ZW5zaW9uX29uUmVxdWVzdEJvZHksIG5leHRUZXN0KSk7CisgICAgfSk7Cit9CisKK2Z1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VDb250ZW50RWRpdGVkKG5leHRUZXN0KQorewor
ICAgIGZ1bmN0aW9uIG9uQ29udGVudEVkaXRlZCh1cmwsIGNvbnRlbnQpCisgICAgeworICAgICAg
ICB3ZWJJbnNwZWN0b3IubmV0d29yay5vbkNvbnRlbnRFZGl0ZWQucmVtb3ZlTGlzdGVuZXIob25D
b250ZW50RWRpdGVkKTsKKyAgICAgICAgdmFyIHVybFRhaWwgPSB1cmwucmVwbGFjZSgvLiooKFwv
W14vXSopezN9JCkvLCIuLi4kMSIpOworICAgICAgICBvdXRwdXQoImNvbnRlbnQgZm9yIHJlc291
cmNlICIgKyB1cmxUYWlsICsgIiBlZGl0ZWQ6ICIgKyBjb250ZW50KTsKKyAgICAgICAgbmV4dFRl
c3QoKTsKKyAgICB9ICAgCisgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsub25Db250ZW50RWRpdGVk
LmFkZExpc3RlbmVyKG9uQ29udGVudEVkaXRlZCk7CisKKyAgICBmdW5jdGlvbiBmaW5kQW5kRWRp
dFJlc291cmNlKCkKKyAgICB7CisgICAgICAgIHZhciByZXNvdXJjZXMgPSBXZWJJbnNwZWN0b3Iu
bmV0d29ya0xvZy5yZXNvdXJjZXM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3Vy
Y2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoL2F1ZGl0cy1zdHlsZTEuY3NzJC8u
dGVzdChyZXNvdXJjZXNbaV0udXJsKSkgeworICAgICAgICAgICAgICAgIHJlc291cmNlc1tpXS5z
ZXRDb250ZW50KCJib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH0iLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAg
ICBldmFsdWF0ZU9uRnJvbnRlbmQoIigiICsgZmluZEFuZEVkaXRSZXNvdXJjZSArICIpKCkiKTsK
K30KKwordmFyIHRlc3QgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQ
YWdlKEluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIFdlYkluc3BlY3RvciBl
eHRlbnNpb24gQVBJPC9wPgorPGltZyBzcmM9InJlc291cmNlcy9hYmUucG5nIj4KKzxpbWcgc3Jj
PSJyZXNvdXJjZXMvbWlzc2luZy1pbWFnZS5wbmciPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1yZXNvdXJj
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5z
aW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMzA5OGZkLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25z
L2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM0
ICswLDAgQEAKLVRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCi0KLSAKLVBhZ2UgcmVs
b2FkZWQuCi1TdGFydGVkIGV4dGVuc2lvbi4KLVJ1bm5pbmcgdGVzdHMuLi4KLVJVTk5JTkcgVEVT
VDogZXh0ZW5zaW9uX3Rlc3RHZXRIQVIKLXJlc291cmNlOiAuLi4vdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtcmVzb3VyY2VzLXRlc3QuanMKLXJlc291cmNlOiAuLi4vdGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtdGVzdC5qcwotcmVzb3VyY2U6IC4uLi90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMKLXJlc291cmNlOiAuLi4vaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9u
cy1yZXNvdXJjZXMuaHRtbAotcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRl
bnNpb25zLXJlc291cmNlcy5odG1sCi1yZXNvdXJjZTogLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2Vz
L2FiZS5wbmcKLXJlc291cmNlOiAuLi4vZXh0ZW5zaW9ucy9yZXNvdXJjZXMvQWhlbS50dGYKLXJl
c291cmNlOiAuLi4vZXh0ZW5zaW9ucy9yZXNvdXJjZXMvYXVkaXRzLXN0eWxlMS5jc3MKLXJlc291
cmNlOiAuLi4vZXh0ZW5zaW9ucy9yZXNvdXJjZXMvbWlzc2luZy1pbWFnZS5wbmcKLVJVTk5JTkcg
VEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnQKLXsKLSAgICAwIDogIi5zb21l
LXN0eWxlIHsKLSAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwotfSIKLSAgICAxIDogIiIKLX0K
LVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnRFbmNvZGVkCi17
Ci0gICAgMCA6ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFB
QUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFnQUVsRVFWUjRuRzE4YVd3YzUzbi96T3pNN016
c2ZTOTNlUitpZUlpa3BFaFJTTW1XTGNlS2JUbEhIY1d1RXp2Tmw3UW9naDZmaWdKRmdhSm8rNmtG
Q2pSQWc3Yi93a2xRRjAxaHVHa1ZxWElkeWJVczZxWWtrdUlsTHNWZGNzbmwzdmZzN0J6L0R6L082
NUhjK1VBczk1aDUzL2U1ZnMvdmVkNlh2bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RN
UFFORTFSRkUzVCtGZlROSTdqTkUxck5wc013emdjRGszVGFyV2FMTXMybTQybTZYYTczVzYzZFYy
bmFacW1hVVZST0k0ekRFT1daVlZWYlRZYnd6QzZycXVxNm5RNk9ZNXJOcHVxcWdxQ0lJb2l3ekEy
bTgxbXMyRWt1SW11NisxMnU5VnFzU3pMOHp6SGNiZ0podFJzTnZIQ1pya3dERjNYRGNQUWRaMWxX
WlpoR0lxaURNUFFOQTB6cENpSzR6aE1EeC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVE
Uk5veWpLYnJjekRGT3YxOXZ0TnNNd2Ryc2Q3MHVTUkZHVXBtazBUYk1zMjJnMDJ1MjJvaWcybTgz
bGNnbUNZQmlHb2lpR1lkQTBiYlBac0RUNGlhN3J1QzBtUUZFVW1UOUdSWnNYbVR4a2hubXllSmRN
bXFJb1NNeG1zK0gzK0lqSXM5MXUyMncyUVJBd2lIYTdMUWpDd01CQXRWcHROQnFxcWpJTVl4Z0dG
cHZuZWNpRXBtbXNXcXZWd3FkdXR4c3l4RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4
Yzdobm50VHhjTGc1dXlMQXVGd2IzSUpIRWp2OTlmcjljcGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhx
TmVyMnVxaXB1Z2w5QldhQ2xQTTlqbVhtZTUza2V6MVZWVlZFVXU5M3VjcmxxdFpyMXQwUnVXRHZL
dk1nRWlPaUl4aEt6SXBySWtnOHdkWElYVlZYSjdhd3FrYzFtWTdHWUpFazdPenVKUktMUmFEaWRU
cmZibmNsa2ZENmZJQWlRbTkxdTEzVzlWcXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9p
ajhGVVVSaXdLUkV0VWxPZ1U1NHlOaStXUnU1SUtON0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQ
bWUrKzk5ei8vOHorR1lZVERZWjduUjBaR1JrWkdob2FHNEU0d2RMdmREajlFVVJUeEdVUU9lQlpV
bDZJb1daWmJyWllrU1JBalJra0VpTCtZRmZHSUVCY1JJOTc4NHJCWnVBZWU1NjJXK293ZDR3Y1lt
Y2ZqK2NVdmZ2SDNmLy8zZCsvZWRUZ2NzVmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNBSW9W
QW9IQTdMc3B6TDVRekRpRWFqRG9lalZDb1ZpMFZkMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwv
TUJJcUFzV0ZXK0JjclFnUklabWhWZUZhV1pXZ1grU1dtQkYyQ1loQzkxWFY5WjJkbmRuWjJhV25K
NC9INC9mNjl2VDFabGdPQkFNZHhlM3Q3cXFxdXI2L1hhclYydXowNE9IajQ4T0d0cmEzRnhVVlps
ZzhjT09CeXVWWlhWemMyTm5SZGowYWpvaWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhmTTdRS0JN
cUZBZENXQzZ0Zy9aZGNWbHVsUC9yb0l5eTgzVzZIT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1
dnY2NG9TcjFlOS9sOEhNZUZ3MkdmenlmTGNuZDM5K0Rnb01maktaZkxpVVFpa1VqazgvbmUzbDVZ
WUxGWXpHYXo1WElaSGxXVzVYZzhQalUxTlR3OHpEQk1QcCtuYWRydjkvTThINC9IM1c2M0tJcnhl
RHdhalhJY3ArdTZMTXVWU3NYbGN1bTZYcTFXb2RYUUJTSU1DQloyUVF4NFA0UVFyME9jT0pRRVZ2
R01pVzV2YjFlclZWM1hGVVZwTkJwWWRWVlZoNGFHc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5W
emMzTnZieStWU3VWeU9SaW5ydXU0ZWJsY3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQlpyUFY2L1Zt
cytuMWVzZkd4czZjT2ZQODg4K0xvdWgydTNWZDV6ak83L2RqQW9xaVFQdXNVeUllRkZQYlJ3SzBK
ZkxBQVBBOXErcHpISWZWeW1henhHc3BpZ0svVWk2WEh6MTZKRWtTeDNGNDArbDA5dmIyZG5aMlFy
QzZycmRhTGNSWXNvNkZRbUZoWVdGM2Q5ZG1zeFdMUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9Q
enM3T3ozLzN1ZHc4ZVBOaHF0ZkRvU3FVaUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUmJyZGhxTVNo
SWFCbHMxbThDZDFHckcrMzJ3UWhZVjFLcGRMaTR1TGEydHJrNUdTOVhvY2NLcFVLNW1tMzJ5bUth
alFhK1h5K1VDZ2c1RElNSTRvaVFCekRNQTZIUXhURmJEYWJTQ1RxOWZxaFE0Y09IanlJUnp1ZFRr
M1RYQzRYNEFTeFE2dXpoTlpBY3ArREFTdXNzWVlnTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5n
TVlBRG1nSDhybFFyMEJUTEhHdU51VUEzNEdFZ0FrbFFVcFZLcDVQTjVqOGVER05ob05CS0pCT0F4
VkJTQnFsZ3M0bGxFT2EyS1NadTRsN1hhMnpPT2kzd2JyMlZaTGhhTEd4c2JCRHJqcWJpUkxNdE9w
NVBnZFNBWXQ5dGRLQlRJU2tQNFdCVGdac3dUWUpDb0djd1NDMGRSVkx2ZHJ0VnF4V0tSb3FpT2pv
NTZ2ZDVxdGVyMU9zSWVGSWMyTVRvSkIwQ2R1Q2RyeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJ
a1NaSlVxOVhnZmdWQkNJZkQwQWlHWWR4dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUkFoWGNHOC96
VVA1V3F3VTVRK3dZcnRQcDNOblpXVmhZaUVRaWdpREFjQ2lLaWthamxVcUZ3RjNFUm93V2Q4UGtu
NEoxVmdzbVlzUWs4ZmhxdGJxMXRkVnV0OTF1dDl2dGhzcEpraVNLSW9UWmFyVmtXU2JRbWVmNWFy
VktWQWpvL0JtOEJ1TmhHQVpBRCtDV1lSZ0FRTnlOb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0v
bkt4UUs5WHFkUkF2YzhJdmhnQUoycFUxQWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcWxUaU84M2c4
clZacmIyOFBvYlhaYkJZS0JTSWlFb2cxVFZOVmxlTTR1RVJKa21DV0hvK251N3Y3MUtsVEhvL0hi
cmRuTXBtSER4OHVMeTlEc1JHZm9iR3lMUE04NzNLNTRJYzJOalorL09NZmQzZDMvOG1mL01taFE0
ZmNibmU5WGlmNmlWbGdnYUNySkp5d0JCblFUK005aG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWsw
TncyZzBHbzFHQTZPeG9tY1NEQW5DYWphYkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcFpGbTJYQzQv
ZWZMa3pwMDdGeTlldkhuekptTW1hTFZhelRBTWg4T2g2M3FwVklLM3AyazZtVXgrOE1FSGtVaEVG
RVdIdy9GTS9tQU4rNStEQVpMRldNRUFIR0M5WHZkNFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZB
UUJWb2VJMG1xMWNGdWd0bmE3N2ZmN2p4MDdkdWJNbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhC
d2NIeDgvRmUvK2xXdFZxTW95dXYxMXV2MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NDhPYWJiNGJE
WWJneDZ5Uy82RGdwaW1LeDJBUWxrSVVoNndHM3ViVzE5ZkhISHk4dExUbWRUaVM0UkU4UTkxcXRG
dWFQcDlydDltQXc2UGY3anh3NU1qbzZPalUxRlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RV
Mk5qWTFkdkhqeDAwOC9iYlZheUU1VVZTMlZTZzZIUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRw
Sm1xWlo0dDhKSk1CWFZWVVZSUkVxMTI2Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVDArUDFlajBl
RDVUVDQvSDA5ZlYxZFhXOTl0cHJaQVU1am1OWlZwYmxVcWtVQ0FRTXd5Q2NDSExscnE2dUgvemdC
NGNQSDM3Ly9mY3ZYYnBVTHBjRlFkQTByZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01y
TlRpR28vbjhSYkpJV0RFMmRaRmpSVXJWYTdmLy8rOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NFQXJG
WUxCZ01SaUlSbDh2Rjg3emI3ZTdvNkFpSHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPL3duRWNxQk9i
emFacDJwZSs5Q1cvM3o4eU1uTDE2dFU3ZCs3SXN0elgxNWZQNXdPQmdLSW9GRVVwaXZMWlo1OUI4
aVJCc2M2VHNwQUpORTJ6UkltSkpQRTludWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3
M2VlRHplMWRYRmNad2tTVTZuVTVJa1VCdmdwaHdPQjVZUHRxcHBHc2hCeE5KOTJNV3kwQm84dlZ3
dWk2TDQybXV2alk2Ty92TS8vL09WSzFkS3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOVBUMCtuNDlN
ejdBd0cxWWFnU1VFanpWamh1VlVLaFc4eUdhemhVTEI2WFNtMDJtZTUvMSsvOFRFeE1tVEo3dTd1
eEVuZzhGZ0tCUUNFb0pIWVZsVzEvVkdvMkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZr
c1FCSWZEZ2ZqcDgvbUN3U0J5RklaaElHMVpsaUdsaHc4ZlF1YTBtWEJhRGZLcGRBUnJqR2ZEcWJJ
c0MvMEJlYk83dTh0eFhDQVFxRlFxVHFlelhxOGZQbno0bFZkZU9YTGtpTWZqY2JsYzhYZ2NZaWZU
dzYzaFFrbmVvQ2dLd2RNa204UDZhcHFHM0FwZlEwQnl1OTFlcjNkd2NMQy92OTh3REkvSGswd21Y
MzMxVlFnOG1VdytlZkprZm40K2s4azBHZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0
ZkRTR1RCNVJ3N2Rpd2FqYklzRzRsRUVBOWdWNFJsZ3hKaTdheFlpb0JKNjBPdGwyRVlQTThERzBF
TFJrZEhEeDgrM05IUkFRTmpHT2FkZDk1QllnbXhBOThERENQQWdvYUcvZU12UXlqelo5d3NJU0FF
UVhDNzNXQXJHSVpCK2k5SmtpekxkcnRkRkVYRHpNZVJDc0xrb0FVZWo0Y2dCK3NLR3BZMDF3cVND
Y1dHck44d2pMNit2aE1uVG95T2pyYmI3ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwaytt
RDJWdWkyUDhsbjFwV3NoOTF1eDdlRHdTQ1NQVW1TWUxTQTdCUkZRVmRiVDE4a255WVNmb1pOc3pv
NXE2aUJiNTFPcDkxdUIvL1UyZGs1T2pvYURBWnBtbDVlWHE3VmFpTWpJOFBEdzVGSVpHVmxKWi9Q
STFBVG5wSGdXSEx0SnpoazBzVEh3dldwcWdyNGV1REFnWEE0VERJTUVNR05Sa1BUTkVtU21zMG1T
WE53UStncVlCRDlCYXovVEV3akY4Rk0wRnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdI
SGNxNisrMm1nMGxwZVhLNVVLWWcvS0xjQVAxbVZsaU1PMVhsZ01XWmFyMWFxbWFSNlBaM2g0T0Jn
TUlxeGhBb2pnbFVxbDJXeFdLcFZHbzlGc05sdXRGb2FJREFPRkVIS1J4U1poMmpvOUtBaDBwMTZ2
SS9kSGN1eDJ1OCtlUFh2bzBLRlNxWFR4NHNWQ29iQzd1OXRzTm4wKzMvTHljaktaVkJRRklCRUIz
Sm82NjdyKzFEK2s0SU1McmgvOHYyRVlLR09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhcllj
S0tvaUIyazRzQUR5andNL01FQ0tITTBwQXN5NmdtSUl4RklwSGYrcTNmNnVqb2VQejRNVmI1OHVY
TDI5dmJHeHNiQ3dzTGUzdDdnaURBRkFsWC9qbDJ0VTZTc29CWUNNVGhjRGlkemthanNiMjluVTZu
a1grNVhDNFFkdkY0SFA0TkdUTWNvSlg4aHo4a3NaZE1oakxSbFZXU21LU2lLRDZmejJhendlQVpz
NExTYXJWR1JrYjYrdnFheldheFdBd0dnNDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZh
dDk0TVpZV0Vrays0cWl1TjN1YXJWcXM5bENvZERzN0N3a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJ
VUJTRWpncXVxNm5BNGtDc0hnMEdHWVNxVkNydzBTYVlocm1LeENKV0dTUVBXTmhvTlNFK1NwSFE2
VFZFVUdNQnl1Znpnd1lOSGp4NXhISmRPcHdPQkFOaWRsWlVWbG1XZFRtZEhSd2ZvUWl3V0tCVmNM
QlllYjFGbW1BWTZKNWE1c3JKeS8vNzlUQ2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tp
UWhGMnMybXh6SE9Sd09lQlNQeDRNblF1YUtvcWlxR2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdp
ejJVd21rNlZTU2RkMVFCU1daWnZOWnIxZVgxcGFNZ3hqZkh6ODJMRmprVWhFbHVWQ29ZQlVjMStT
RUIxaktSREFRU0dqcDJtNlZxdmR2WHYzeG8wYm1Vekc2L1ZtczltQmdZR2hvU0dmejlmWjJRbEtH
N1huVnF1RmVGaXRWajBlRDh1eTBHcFM5QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVpYm04
dG1zMGVQSGwxZVhwNmZud2RHNys3dWJyVmE0WEI0ZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkz
S1hUMWxrekJXVEJ1Sk9jL3orWHgrWVdGaGMzTVRFYlhaYkNKOFlSQ1FQSDRpU1JJTVcxVlZmQmtF
S1pUVDRYRElzcHhLcFJZV0ZoNCtmRmdxbGFhbnAwZEdSa2pCcjFRcXdRdGd1V1ZaeGlPV2w1ZDNk
bllrU1lKL0xoYUxvaWllUFh0MmFHaW9VcW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9RajgyUytQ
Wk1VRWFJVTFVMWxVcHRibTRDMzJtYXRyYTIxbXcyRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FR
djhISlE3RXFsa3MxbXE5VnFzVmhjWEZ4OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxa1dVYU9Ccitk
eStWcXRacmI3UTZGUW9jUEh4NFlHTGgxNjlhZE8zZWdkKzEydTFRcUFYVVIwRThneCtlU05MNVFX
cVlvcWw2dmwwb2xWVlVCZEhSZHoyYXp4V0lSU1laaEdBQjlraVNCbTNLNzNXQmZPanM3bDVlWG56
eDU0bks1NXVibVZsWldjcmxjT3AwRzEreDBPamMyTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhn
ZEJTK1B4d01HaEtLb2JEYXI2N3JYNnhWRjhkNjllN3U3dTlldVhkdmUzdlo2dlVoV1pGbHVOcHZv
NTBCdS9ibTZXcU16WXlsWmt5RG04WGg2ZW5vS2hVSXFsVUw2ZzRRRHRKcWlLS2prb0NqZ2REcTd1
N3ZENGZDNzc3NHJ5L0tISDM2WXkrVlNxWlNpS0JnM3lwTFZhbFVVeGUzdGJZcWlvdEhvMXRaV1Iw
ZEhNQmlFNnlMcHBTQUlyVllybDh2SnNwekpaRnd1MTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1
Y0FjOENXZ3hCbThUaHo3MHJ3YXRXZVdxYUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVER1pyT0pva2hS
RkR3RWJBbVU3Tzd1YmpRYS9aM2YrWjJ1cnE1VUtvVWc1SFE2S1lxcTFXbzBUWVBJUklxenM3Tno0
Y0tGWC8vNjF5ZFBubnpublhlbXA2ZlJEMExUZExGWWJMVmFjTTdsY2htREdSb2FXbDVlaGd2OHhq
ZStBWko2ZTN1NzJXenlQQjhLaGNCM2tSVDg4emhKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtE
QkE1N25RYy9CTVNMblJEK0V3K0hBcDVxbXpjek1nQlErZi83OCsrKy9YeTZYRVFZMVRmTjZ2YVZT
cWErdjcrREJnNElnb0dnbENNTE5temNGUVVBMUhpUWdTcFEybTIxblo0ZW02WGE3UFRBd2tNMW1r
OGxrTkJvTkJBS0lUTWVPSFd1MzIrRncrRXRmK2xLMVdrV3N0Z3FNb2lqYm0yKyt5VmlxQ0FRV0Vj
b1U0c3BtczQ4ZVBVSVJqakJBYnJjYlgvRDVmUGw4bmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2Ev
WENXak81L095TEkrT2pvNlBqNE9WTHhhTFRxZno0TUdEMFdnVWZvdW02VktwZE92V3JVUWlJWXBp
YjIrdnBtbnBkQnIxN0Znc05qSXk0dmY3T3pvNmhvYUdSa2RIQTRFQWJiTHlHQjZabCszTk45OGsy
SXBrZEVoRENmWURGYkt5c3JLN3UwdkVpRFFLeFN5S292QW1nTTc1OCtkUG5qeloxZFdGZkJvVmRU
akdiRGFMMmttOVhyOTM3OTdLeWdwTjArRndHUHJjYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdj
T25EeDVzbGdzenMzTkljREN4MGFqVVZtV0k1R0lKRW43bXNteVlOdWVza25LMG81RWNnVTRaYWdm
NkJtLzN4K1B4OWZXMWdqamhreks2WFFpTDZsVUtzQ3I3WFlibUFZUGlNVmlMNzMwVXIxZS8raWpq
eWlLaXNWaWtVaGtmWDI5djcvLytQSGpwMDZkYXJmYitYeGVFQVNvVExQWkJINUFTamsxTlZVb0ZI
cDdleWNuSjFWVnZYbnpacVZTUWUwTXZnRGtvQ3pMS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVL
MFFEWU0yRW5UTklJVndCcE4wNklvZ2xNQ2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVlkzaDRHRkFl
WWJDN3U3dFdxK1Z5dVdBd2VQejQ4VU9IRG9WQ0lhL1gyOS9mNzNRNlVRZ0Q5ZTV3T1BMNS9NREF3
T0RnSU1Nd0N3c0w2K3ZydXE2UGpvNCs5OXh6U0d0Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhG
b09ZUTRNREJ3OGVEQ1ZTb0diOG5xOWRydTlXcTIyV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZN
c0ZnRkUrdnY3OC9rOE9QVVRKMDVVcTlYZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOc0lNT2lLTXB1
dHlOYUJvTkJ1OTArTURBd01URngvLzU5dTkzZTFkWGw5L3ZCSHVUeitYQTQzR3ExYXJXYTErc2xa
VStTMzlqZWVPTU5vTEJuc2o0Z1FGSkxROUtFZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Y
dnh4UmY5Zm4rcFZGSVVCWm9NS09OeXVUWTJOdGJXMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRS
ZFhWMm90NU9zVFpibHpjM05lRHdPbnJKUUtPenM3SFIxZFgzdGExOGJHUmxCSStMMTY5ZEJLUm1H
NFhhNzBhNWhaZEJ0My96bU4wbVYyNXJhb1ZTTWdHR1lUWURGWWpFVUNyMzQ0b3VxcXE2dXJxSWF0
N3E2V2lnVVhuNzU1ZWVlZTI1aVlnSnJHUTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJj
M096Z0pZZ3pjQ2JBSzBBUE9QdWwyajBjaG1zeXNySzhGZzBPVnlHWVpSclZieitYeFBUOC8wOUxU
ZjcxZFY5ZU9QUC83YnYvMWJYZGRScDNDNVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaGtBQUt3eXds
U1VKM1p6Z2NwaWpxekprekxNc3VMQ3djUEhqd2hSZGVjRHFkTXpNejYrdnJHeHNiQnc0Y1FPQk9K
cFBvN3dFbGtVcWxlbnQ3ejU0OSs4WWJiK1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIz
Lzk2ME9IRG9HWWpVYWpmL2lIZndob0NreHkvLzc5VUNpRUVJQVY5SHE5eUorSTByS0FBU1NFVUNi
YlJjZ0l3K3hFWkZsV2txVGJ0MitMb2pnOFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3M3dnc3ZrQjVD
QUVCRlVicTZ1dGJYMXgwT1I2VlNnVlY3UEo1NFBJNTZFUVlFSWtMWGRheExQcDlmWFYyOWV2WHFq
UnMzUVBPVVNpV2Z6d2RmU3BrTXh1Ym1aakFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNkls
Z0JnZHV3OUwyd0xJdEYydG5aS1JhTGZyOC9Gb3NCSjBVaWtjSEJ3WGE3aldLQllSaGdnQVJCNk96
c3ZILy9QanErc0Zpam82TW9MWUlLSk05Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6Y0hCd2NyRmFy
ZHJ2ZDcvZTdYQzU4TXhBSW9CQStPRGg0NnRTcFE0Y093UzVJYkdNc3BEWmpKZEZvcytjWFJCQkpG
Q21UTVVDTDVQYjJkcVZTUVdLS0pNdmxjdjN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRy
R3hnVENJWEJuRVBHcVBXMXRiNVhLNVVxbklzdHh1dDNkMmRweE9aendlQjM1QWtvbThES3N2U2RM
WTJGZzRIRVlVOFhxOURNT2dNWVRFRDRxaVRPRHpmL1dBUUpJRUp4aG1jWHR6Y3hPdGNEelBSeUlS
WGRjLy9QRERUei85OVBqeDR4MGRIYUlvb3ViUmJyZXoyV3lwVk1JcTVQUDVuL3prSndBb3dJUHdN
ZERZY3JsY0xCYlgxdFlXRnhldlg3K3U2enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFW
d3VWelFhUldvT2VJQXB3RjFUWnBLODMxaGtQRjNjTTB3U0dxa25YaUNJalkyTi9leG5Qd05WSVFn
Q1dJbkxseStQajQrSFFxRmtNdG5WMVlYNkxGRlhRSlp3T1B6bmYvN25pVVRpci83cXIzdytIeXda
Mmw2cjFWQ2lLUlFLcTZ1clhxKzN1N3Y3OGVQSDQrUGpJeU1qWHEvM3lwVXJ6ei8vUEVnRFFQOUNv
YURyT2h3c1NpUE5ack5VS29GNXNsb2ZUZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1l
U2RPM2Z1M2J2WGJyY2JqY2JDd3NLREJ3OGcvRWFqZ1p3QU9TR2F1SHA2ZWo3ODhNTkVJaEdMeFFn
Y0E2eUQ2NTZibTJOWmRuQndNQnFOWmpLWjhmSHg4Zkh4Mjdkdi8vVmYvM1VvRkhJNm5kVnFkV05q
STUvUEk0RUczRUh1QmllSDFBOFJnY2lNTlo0bTdZbkdBdXpDczVOYUZjTXdrVWprOU9uVC8vVmYv
M1g1OG1Xd1ZaVkt4ZTEyKy8zKytmbDVpcUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQ
UE8rdnI2KysrL3Y3YTI5dFpiYjNWMmRsSVVKVWtTNkFLMGZBOE9Eb3FpbUVxbFhuLzlkV1RuOSs3
ZFV4VGx6LzdzejM3djkzNnZwNmNubjgrSFFxSFIwVkZKa2tDTFFyYWt2TTlZeUVkSWtvV2lBMG1S
WmdxYjJkd0RENFQrQTl5Q3B1blRwMDkvOE1FSFNDbjhmajlTcmNuSnlVYWpzYm01YWJQWnl1WHly
VnUza0ZYelBPOTBPdDk0NHcySHc4R3k3SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3
WUdCbDU2NlNWQkVJNGVQZXB3T0ZDUWhISW1rMG5RSmJGWXJORm8rSHkra1pFUlFSREErZ0d2d2pS
MHkyWUVlQ1lTQlZuQ2N6Tm1RdzlsTmtVVGVJVUxWcVFvU2pnY1BuTGt5T3pzTEpMYWNEZzhQajVP
R3ZuUUpZYTZpTmZyUFhMa3lBc3Z2SEQ2OUdrUUgwZU9ITkYxdlZxdC91ZC8vaWZETUYxZFhkLys5
cmYvNGkvK1lubDUrUi8vOFI5RG9SQ2NPVUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5M
OWhhU2FuTGRWQlluY1VSZG5lZXVzdEVqbklEQ0ZTQUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQz
ZFBUQXdzTE96ZzlaT1JWSFFQUEhsTDMvNS9QbnpKMDZjNk83dXBzMXFERkR4aXkrK3VMYTJkdWZP
bldQSGptVXltU2RQbmd3TkRRVUNBVGhlVVJUaGxuWjNkNzFlNzRrVEo4Ykh4enM2T3VCYUVlaEo1
ZVlabmhIenRNWUwyMi8rNW0rUzVJTVlxKzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQxZDF5
T1JDSDVDVVZRNEhENS8vdnpSbzBkQm1lTExDR0xqNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1
a1pDU2J6WVpDSVlaaDBQaU42bUFrRWtFUXdoeVF0YUk2U0t6dS81d2tlZk9wZlM0a0t0Sm1JeXZr
anE1dXFDNTJCUFQyOXA0NmRlcnUzYnMybTYxV3F5V1RTWFFVcUtwYUxCYkQ0VER3NU5iV1ZqNmZo
eHVzVnF0Z0pVRjJRRXJmL3ZhM0dZYjVmLy92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlCZ2gwU1Fo
UmxjMEp3VzZlZ1d6cTFXSUxkaUVMdkIxQ1diWnRiaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdo
aThmbDhQcDh2bFVvMW04MXNObHVwVkRSTnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaU1USXljdVRJ
RVVWUmhvZUgyKzEyUEI3MytYeDQzK2wwS29xU1NDUldWbFpBNGNEQllIcFFZOHJDK2xzbFpGamFY
Y2pGa21hTno1RWV3OER4R0dhWENIUURyeHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1L1A1dWJrNXQ5
dmQwOU1UaVVTUUtNYmpjVTNUc3RuczB0TFN2WHYzRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZM
WTJLU3E2dTd1N3BNblQvYjI5amlPNit6c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGT2VIODN3VE0r
Q3FHR0JGTVNadUNmVVBaSkpwTVVSU0dyNWpqdThlUEg5WHBkbHVYejU4K2ZPM2Z1M0xsenNWZ01a
VHdzLytycTZ2ejh2TmZyZmZYVlY3LzJ0YThCTGRScU5UU0JYcjE2bGVmNWwxOSsyVzYzNTNJNTlL
N3dQTi9iMjRzOG1EU29JUWFDNE5ITWJRR1VoZnUzVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdC
V0hvOG5GQW9waWlKSlVxUFI2T3JxNG5sK2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMm15MGVqMy95
eVNkMnUvM2RkOS85eWxlK3NyZTNwMmxhUHA5UHBWS2hVT2pLbFN0ZXJ6Y1lES2JUYVhCUXlXUlMw
N1JVS3RYVDAwT3FsN0I1VkkyYXpTWXFpK2ludGJvZkROWHFkV2lhWnJXbjkwaDgvb0dweGtScGNh
SERKaEFJN096c1JDS1JUQ2FqYVJyeWtsZ3NWcTFXczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5
TVRQem9SejhhSGg0dWw4dG9EMGtrRWx0YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4K2ZMaTV1WWtP
SG83alVxa1UzQS9nSWFBdnRpRWdybUpzdXRsYVpqemR5Y0phTVo3Vk1xM2l0aHE2Mys4dkZBb28x
b01jUWZvVGlVVFFvREEyTmxZcWxRcUZ3dlBQUHgrUHg3dTd1KzEyKzhURXhNaklTREtaZExsY3BW
THA1czJiVjY1Y0FmcHRObU9HMUZrQUFBOTRTVVJCVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwr
LzN0L2ZQejQrRHNOQkVnUEt0MXF0dWx3dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUWxtMms1Sy8x
SS93ZUUvdlhmLzNYZERwZHE5VjZlM3RCUm1DQkhRN0hLNis4MHRuWitlbW5uM1oyZHY3d2h6OUUv
ejhXWlgxOS9jR0RCLy83di84cml1TFMwaElBRFdBVGRLZFNxWHp5eVNlNDFjbVRKd2NHQnRDNDV2
ZjdaMmRuWlZrK2ZQZ3d4M0VvalNERHRKcmwvM25STk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldV
RmJaR2hVQWpMakoyd0w3MzAwc0dEQjJ1MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYmlMM3o4L09Q
SGowNmMrWU1BcjNkYm9jQ2N4eTN0cmEydTd1N3Q3Zm45WHEvL3ZXdno4ek1RSFE4ejJQTHhOTFNr
cy9uaTBRaWFESURIL2xGQmJUaTAzM25RakpqcS9sUlp0dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhk
L2EydXJzN0N3V2kvLzkzLzhkaVVRTXc5amEyanA0OE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RW
TTQrN2R1NGdaS0hXZ3lrQlJGUEttWURENDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaVREbVpyVldH
eElPeXBFZUpzbXgxb1o2T3R1UmY4QlJUVTFPLy9PVXZRVlZRRkZVdWwwT2hVTGxjM3QzZGpjZmpE
eDgrTEJhTG1xYXRyNi9Mc2x5cjFYcDZlZ0tCUUwxZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVY
SWRIUjNZYitad09Gd3VGellQWXdmZTl2YjJyMzcxSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNp
V0NUSXI2K3N2VGhLRUVNL3pwMDZkbXBpWWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSS0pacW1jN21j
eitkaldUYWRUa3VTUkx4dU1CakUvaVJzTGdFaDBHNjNVWElFTUo2ZW51N3A2Y0VjR0lZQjJlRndP
QVJCV0ZsWlFjU2FucDUydTkyQ0lEUWFqV2Y4alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndt
WnV2c1h6SEE0SE9zSkRvVkNwVkZwZlgwYzdQSnArZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVn
TlRoTGxHanh1Ykd6czlPblRnNE9Ec1ZnTVhRNFlkektadkhUcGtxSW9wVklwbFVvaEUzUTZuYkJu
aVBRWklYMHVTZmdZMHZwQmZBenBraU9LU2xFVUdvZlJubmY0OEdGWmxyZTN0NWVYbDJHOTROUVk4
NUFCQkhGaTJOYS9GRVhoU0FIRGJJbkF0QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtm
bjVyMzcxcXlkUG5vUnhBcW1qWFFOQm5reG5IOFZiSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2WHJ5
NHRMUzBzYkZCV2RKelRkTlFxMFRVUWNIUDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZFRzeWZNVTh0
Mk52YmcvMUxrcVFveXU3dUxseng0dUppZjMvL29VT0hlbnQ3MFk5ZXE5WHE5VHE0K1gyZ1prMnVp
V1lUa280a3pjQkRVRjNVNnByTlprZEh4K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZz
M2NjNjFibWtESkMraXFZUmhJdnVGMWdYTEF4S0xlU05NMHgzRWJHeHZ3a2JWYVRSQUU3RGk2ZnYz
NnZYdjM0dkg0ME5EUWdRTUhob2FHaG9hR3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QXBpVkJCWDRm
YmdEN0pVcWxrdHZ0OXZsOG9GdHROcHZENFNnV2k4MW1FNXZ2Q2F4bkxIMGw4T1NvQXNHWWNZWUMr
c0JuWm1aQ29aQmhkbWFRTFdlcnE2dHV0OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUx
UEhqaDNyNit1THhXSit2eCs5eUt4dTJhTm1qUzJVcGVuRmVKb3lNY3lxTmVRMlB6Ly9zNS85ckZ3
dWQzWjJUazlQUDNueUJPZ0U0ZUdMbWtLWlBlNk5SZ090ZG1oSG5KeWMvUDczdngrTHhZalYyR3cy
bENqVDZUUWFYRkVMYUxmYmFHVnh1VnhvQ0Vla1RhZlQrWHoreG8wYmdpQk1UMDhQRGc1T1RrNzI5
L2V6SktXeXpvR3lrQ0J3UDhTSURjTUEyd2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTBy
YkdYc29zWUlPYklidElBVjltWm1iZWZ2dnRreWRQZ2lJQ0x3RUwxSFY5Y1hFUmVSbCthTTJlc2Jr
R3ZBejhUYlBaYkRRYVAvLzV6OEdiUktOUnhzclQ0VUl0aEJBODFrOUpXUWFNYUtWU3VYVHAwa2Nm
ZlFRMkhYc0dvV3lVMlN4dlJiL2tXVFJOVjZ0Vnd6RGdkY2JHeHY3Z0QvN2czTGx6bTV1YjBDRGdV
bGhzcFZLNWZmczJNQ0NzQUNrQnFVd1QvMFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhT
Um1XbWtlNElHbHBhWExseTlmdm53WlViSFZhbzJQajZONGp2bytGb2owdllEN2c5SWliQVFDQVZt
VysvdjcvK2lQL3VqczJiUDFlaDBSSDRFbkVBaWdMVUdXNVd2WHJsRVVoWm9IR3E0Y0RnZGNJTmt2
WnVVcEFjdUFCMjAyMi81K0FXUVNtQ1FwcEpIT1NreVlZUmhGVWRDRHVyUzB0THE2K3VqUkkrempo
bHNIbUk1R295TWpJeXNySzZWU0tSd083KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enov
M29Sejk2NFlVWHF0V3FxcXArdjc5YXJUcWRUdUErVGRQOGZ2K0ZDeGZRUFloRlIrNWltSHNZU1Ja
Q20rME5jR3hvVjlobk13QmxJREY0Rkt3MzVveGdoWjJEMld3V2ZWa3JLeXRMUzB1NVhLN1JhTURG
NDZZb3Y0YkQ0Vzk4NHh1dFZ1dkNoUXQ3ZTN0dXR4dEZkVXdBQWFaY0xyLzExbHM4ejMvem05OUVP
UUF0c29xaUlDdENhY3poY0pUTDVZOCsrZ2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVK
RGtRemZQVGdMcG1FZ2s3dDI3dDdhMnRyQ3drTXZsVU1xRnJ5T2RQVEI5bG1XbnBxWUNnUUNvalpX
VkZVZ21uOCtqbEQ4Mk52YmJ2LzNiTXpNellFYlFqdWYzK3gwT3g5N2VYaUFRSUJzUGFacis0SU1Q
MEhacU05dm5OZk9nQkpRM3lRWVVFdHV0MFo0eVdRN1daaDZpWkUwK0VJNUxwVkkybTBXeSsvRGh3
NjJ0TFdBb3FEVFJjQ2loeldZREtLL1Zha2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhz
LzN2dmU5ZDk5OWQzSnlFbjRGM1RJNDFLUmVyNlBUQW5lbUtPckdqUnZ2di85K3FWUWk4SVVJZ0lB
SDJxVGFudEZiYS9CbkdjdlpHU3pMQW55aVhBRmN1cmk0dUxLeUF2cVkzQWdPVFRWM1k3SG1YaUFV
UW1BLzZMQTdlL2JzbTIrKytkNTc3eVVTaWU5ODV6dm56cDJ6Mld5bFVva3hTNlVNd3pnY0RrVlJ3
R3MwR2cydjE0dFRFbVpuWnpjM056RVpPR3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZk
Z1BIanhZWFYyZG01dkRsaWgwYVBJOGo0MERKS0lRZ0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lX
NkNGRHhocE1FK2tOWkdxdURaYUxNNmoyNkVBazhKQkdJc09NRXNSRDRTWElSeGtJZFA3VkpGT2RS
cE5QcFRDWnovZnIxOWZYMTlmVjFoSFVVMGtGa29YK05ZQ3NvakNBSVBUMDlEb2NERGdNZFpsNnZG
NTdHWnJPUllpYVlhR0I5ekFyUkM5cUJTZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJFN1JK
K2hrbEI3bHBpaUxNdnBkSHBoWVdGdWJtNWpZMk5qWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdy
SVFwdVZCVm1XRnhZVy91RWYvdUhSbzBjQXNVTkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUnljbkprWkdS
VUNqVTI5dUxkbEhOM0l6QTgvenQyN2ViemViaHc0Y3ZYTGlBT0lIVHh6Uk5RemFMamV2SUU2Qzlp
SndJajFBVDB2MElsV1pSazFwYld3UExSRTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZOTEMwdGRY
VjFaYlBaUC83alAzN3c0SUhmNzg5a01nNkhnM0R0V0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lI
cDZXbWc2a0FnY1BIaXhmZmVlMjkrZmo0V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIV1Ixc09BdVBN
Yll5R3VlR1ZwbWtXMjlrWEZ4ZnYzNysvc3JLU3pXWlY4eXc1a3Z0UkpqOUFVUlFjRE82T2xtU080
N3hlN3p2dnZETXhNYUZwMnZ6OC9OMjdkd0VrME5CRkZNeG03aHBCOVJ2dHZMZHUzZnFQLy9nUEZD
VDlmajg2V3lSSnltUXluWjJkdVZ3Ty9ra3pUMzBoV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEv
ZjJOaVluNS9mM054RUxzOVp6cFFnanBnZ1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbzZNaG1zNDhm
UHdiRGpVUUJaUXpPUE1rUGdSNTREVW9GR0l3VmNUcWRsVW9GRlo2ZG5SMTRYYlJody9NQkd5SkVR
OG54UGxZQm9xYk5zeDFKZEdRLy92ampYQzZYeVdUUVBzMllKNmdRMXVTWkZLUmVyOE9Yb0xrRFgv
dis5NzhmQ29Wa1dVYlRHSHdZRWs3QVdyVFlZNU1zRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1G
S3BSSllIeGdoYWlwRW9SQ3hPUE5JUTl3UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDa3BxbVptMGZ3
THlHVVNMeXExV3JvSU1aT1ZhQy85ZlgxMjdkdjB6UU5oMG1PbDhCdENRK0NnYUxYSEllandDQXpt
Y3pzN0N3a0dRZ0U0TWFCWmhtelBZeHdia0RrRUNsOEJDbWkwalNOSFZINzJKWG9Ia0ZEK0Rhd0NH
VnBYQ0xaT3BhVEZNK09IRGtDMFQxOCtQQ2YvdW1mUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpi
UDh6Z0xyZFZxNGFBdG5ES2w2em8yaWRJMFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSREdzTXdiREFZ
Uk5BakV0UE5VNnFJWDJVc2xXYVExb3Fpa0dUbjFLbFRFTWlQZi96amYvdTNmM081WERBR2RDdUNp
ZHNuV3N6VFZTdVZpcy9uMjl2YjgzZzhvaWdDOTN1OTNrS2g0UEY0a0lWaER3Yk1HQkFLRHQ5NG12
Nm16UTRKbTNud0ptYU9nMS8ySzZ1SUZvYUZMOVRONmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1
d0hKZkw1V1puWjNFU0VVVlIxV29WNUkwa1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMEJBS0JSQ0xS
MGRFQi9nYWhHSjEzdUJVZ0hrQ2wxK3ZGZVRwWVB0d2NyclZjTG1ORHJxcXErNVFrZ1VpVVNUUUJH
VkpmcU9FQkpXTUV1cTZqN1lSbFdWUUVFSFd4c2Nubjh5RmVvMnlLd0kzdGQzRDlMTXVpNU43VjFS
VUtoVERWZXIzZTM5Ky9zcklTQ29VUTBDdVZDbnd2eWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0
QmlyR2srNXl4OE9xR3BTQkxkSU8ybEkyUVNlUHdSSERrMkd4R0tFYWczTDI5dlVna2d2M3RpT01v
aElFUU9uSGl4Q3V2dkRJNU9ZbkpBRXMxbTgzbDVlWGYvLzNmUnhjLzlrWXo1bUdCMXVVMlRNcmJN
RHZLeUR0a0k4YyszTEVPM1FvQVNOMlMzQlRmTWN5eUQ4cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBG
cXRsc3RsTkp6QjE0Mk9qbjc5NjE4L2NlSUVXbFlvODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFn
WW9DeUhhbUtEcmFxcWRyc2RaNnVnU3dOTmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVVZaTDRDSUl3
TURBQWM0ZER5dVZ5T0w0WmcvQjRQSTFHNCt6WnMyKy8vZmJNekF6MjkxSm1md01rUThJQVlHcXRW
cnQyN1JwOEk4ZHhicmZiNFhEVWFqWEVRemhuMmp3WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpk
TFRBblJpalR5VXVXK0xzUDJnWkhwNmVoQ3lmdmpESDNxOTNnOCsrQUROU242L0gyNGdIbysvL2Zi
YnYvRWJ2NkZwR2pZaVl3OGJVU0pWVlFIMFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTkJIOUoyUWIy
UmxBWFkxYXJNRDNNZ3BSR1dLZ2ZaU25kV1hXWWVwcUp4UzVjR0Vrd0dBd0dnNFpoOER4Lyt2VHB2
cjQrcDlQNTcvLys3NkJrQkVIbzd1NCtkKzdjOGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtx
bnJlcVBSZVBqd1lUcWRSaWoyK1h6WUk0RjBqellKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6
dTUvOERKYytjVWNoZFREc0FBQUFBU1VWT1JLNUNZSUk9IgotICAgIDEgOiAiYmFzZTY0IgotfQot
UlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNlQ29udGVudEVkaXRlZAotY29udGVu
dCBmb3IgcmVzb3VyY2UgLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL2F1ZGl0cy1zdHlsZTEuY3Nz
IGVkaXRlZDogYm9keSB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9Ci1SVU5OSU5HIFRFU1Q6
IGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmljYXRpb24KLVJlc291cmNlIGZpbmlzaGVkOiAu
Li4vaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbAotQWxsIHRl
c3RzIGRvbmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25z
L2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy9leHRlbnNpb25zLXJlc291cmNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyZThjNzEyLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3Vy
Y2VzL2F1ZGl0cy1zdHlsZTEuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+Ci08c3R5bGU+Ci1AZm9udC1m
YWNlIHsKLSAgICBmb250LWZhbWlseTogJ3Rlc3QnOwotICAgIHNyYzogdXJsKHJlc291cmNlcy9B
aGVtLnR0Zik7Ci19Ci0KLXAgeyBmb250LWZhbWlseTogJ3Rlc3QnOyB9Ci08L3N0eWxlPgotCi08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0SEFS
KG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIGNvbXBhcmVFbnRyaWVzKGEsIGIpCi0gICAgewot
ICAgICAgICByZXR1cm4gYS5yZXF1ZXN0LnVybC50b0xvd2VyQ2FzZSgpLmxvY2FsZUNvbXBhcmUo
Yi5yZXF1ZXN0LnVybC50b0xvd2VyQ2FzZSgpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvbkhB
UihyZXN1bHQpCi0gICAgewotICAgICAgICByZXN1bHQuZW50cmllcy5zb3J0KGNvbXBhcmVFbnRy
aWVzKTsKLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5lbnRyaWVzLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgb3V0cHV0KCJyZXNvdXJjZTogIiArIHJlc3VsdC5lbnRyaWVz
W2ldLnJlcXVlc3QudXJsLnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEiKSk7Ci0g
ICAgfQotICAgIGV4dGVuc2lvbl9kb1hIUihmdW5jdGlvbigpIHsKLSAgICAgICAgd2ViSW5zcGVj
dG9yLnJlc291cmNlcy5nZXRIQVIoY2FsbGJhY2tBbmROZXh0VGVzdChvbkhBUiwgbmV4dFRlc3Qp
KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gZG9YSFIoKQotewotICAgIHZhciB4aHIgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwgIiIsIGZhbHNlKTsKLSAgICB4
aHIuc2VuZChudWxsKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX2RvWEhSKGNhbGxiYWNrKQot
ewotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxi
YWNrKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNhdGlvbihu
ZXh0VGVzdCkKLXsKLSAgICBmdW5jdGlvbiBvblJlc291cmNlRmluaXNoZWQocmVzb3VyY2UpCi0g
ICAgewotICAgICAgICBvdXRwdXQoIlJlc291cmNlIGZpbmlzaGVkOiAiICsgcmVzb3VyY2UucmVx
dWVzdC51cmwucmVwbGFjZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpKTsKLSAgICB9Ci0K
LSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9uRmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJh
Y2tBbmROZXh0VGVzdChvblJlc291cmNlRmluaXNoZWQsIG5leHRUZXN0KSk7Ci0gICAgZXh0ZW5z
aW9uX2RvWEhSKCk7Ci19Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl9vblJlc291cmNlQm9keShjb250
ZW50LCBlbmNvZGluZykKLXsKLSAgICBkdW1wT2JqZWN0KEFycmF5LnByb3RvdHlwZS5zbGljZS5j
YWxsKGFyZ3VtZW50cykpOwotfQotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEdldFJlc291cmNl
Q29udGVudChuZXh0VGVzdCkKLXsKLSAgICBleHRlbnNpb25fZ2V0UmVzb3VyY2VCeVVybChbL2F1
ZGl0cy1zdHlsZTEuY3NzJC9dLCBmdW5jdGlvbihyZXNvdXJjZSkgewotICAgICAgICByZXNvdXJj
ZS5nZXRDb250ZW50KGNhbGxiYWNrQW5kTmV4dFRlc3QoZXh0ZW5zaW9uX29uUmVzb3VyY2VCb2R5
LCBuZXh0VGVzdCkpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEdldFJl
c291cmNlQ29udGVudEVuY29kZWQobmV4dFRlc3QpCi17Ci0gICAgZXh0ZW5zaW9uX2dldFJlc291
cmNlQnlVcmwoWy9hYmUucG5nJC8gXSwgZnVuY3Rpb24ocmVzb3VyY2UpIHsKLSAgICAgICAgcmVz
b3VyY2UuZ2V0Q29udGVudChjYWxsYmFja0FuZE5leHRUZXN0KGV4dGVuc2lvbl9vblJlc291cmNl
Qm9keSwgbmV4dFRlc3QpKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RS
ZXNvdXJjZUNvbnRlbnRFZGl0ZWQobmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24gb25Db250ZW50
RWRpdGVkKHVybCwgY29udGVudCkKLSAgICB7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5yZXNvdXJj
ZXMub25Db250ZW50RWRpdGVkLnJlbW92ZUxpc3RlbmVyKG9uQ29udGVudEVkaXRlZCk7Ci0gICAg
ICAgIHZhciB1cmxUYWlsID0gdXJsLnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEi
KTsKLSAgICAgICAgb3V0cHV0KCJjb250ZW50IGZvciByZXNvdXJjZSAiICsgdXJsVGFpbCArICIg
ZWRpdGVkOiAiICsgY29udGVudCk7Ci0gICAgICAgIG5leHRUZXN0KCk7Ci0gICAgfSAgIAotICAg
IHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25Db250ZW50RWRpdGVkLmFkZExpc3RlbmVyKG9uQ29u
dGVudEVkaXRlZCk7Ci0KLSAgICBmdW5jdGlvbiBmaW5kQW5kRWRpdFJlc291cmNlKCkKLSAgICB7
Ci0gICAgICAgIHZhciByZXNvdXJjZXMgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXNvdXJj
ZXM7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2VzLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgICAgICBpZiAoL2F1ZGl0cy1zdHlsZTEuY3NzJC8udGVzdChyZXNvdXJjZXNbaV0u
dXJsKSkgewotICAgICAgICAgICAgICAgIHJlc291cmNlc1tpXS5zZXRDb250ZW50KCJib2R5IHsg
YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH0iLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICBldmFsdWF0ZU9uRnJvbnRl
bmQoIigiICsgZmluZEFuZEVkaXRSZXNvdXJjZSArICIpKCkiKTsKLX0KLQotdmFyIHRlc3QgPSBm
dW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKEluc3BlY3RvclRlc3Qu
cnVuRXh0ZW5zaW9uVGVzdHMpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJPC9wPgot
PGltZyBzcmM9InJlc291cmNlcy9hYmUucG5nIj4KLTxpbWcgc3JjPSJyZXNvdXJjZXMvbWlzc2lu
Zy1pbWFnZS5wbmciPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE4MjhjZWMuLjI4
NTA5OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMS0wOC0xOCAgQW5kcmV5IEtv
c3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtF
eHRlbnNpb25zIEFQSV0gcmVuYW1lIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMgdG8gd2ViSW5zcGVj
dG9yLm5ldHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2NDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdHM6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVj
dC5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLW5l
dHdvcmsuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEku
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNpb25BUEkuSW5zcGVjdG9y
RXh0ZW5zaW9uQVBJKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5pbmplY3RlZEV4dGVuc2lvbkFQ
SS5OZXR3b3JrLnJlcXVlc3REaXNwYXRjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0
ZWRFeHRlbnNpb25BUEkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5zaW9u
QVBJLk5ldHdvcmsucHJvdG90eXBlLmdldEhBUik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5q
ZWN0ZWRFeHRlbnNpb25BUEkuZGVmaW5lRGVwcmVjYXRlZFByb3BlcnR5LmdldHRlcik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNpb25BUEkuZGVmaW5lRGVwcmVjYXRlZFBy
b3BlcnR5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX2luc3BlY3RlZFVSTENoYW5nZWQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX25vdGlm
eVJlcXVlc3RGaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVy
LnByb3RvdHlwZS5fb25HZXRIQVIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNl
cnZlci5wcm90b3R5cGUuX29uR2V0UmVzb3VyY2VDb250ZW50KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9yZXF1ZXN0SWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX3JlcXVlc3RCeUlkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9vbkFkZEF1ZGl0Q2F0
ZWdvcnkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUu
X29uQWRkQXVkaXRSZXN1bHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZl
ci5wcm90b3R5cGUuX29uU3RvcEF1ZGl0Q2F0ZWdvcnlSdW4pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuaW5pdEV4dGVuc2lvbnMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX29ubWVzc2FnZSk6CisKIDIw
MTEtMDgtMTYgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkIENocm9taXVtIFdpbmRvd3MgYnVpbGQgZml4IGFmdGVyIHI5MzE0MC4gVGFr
ZSA0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRl
bnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
bkFQSS5qcwppbmRleCA5NDIwNzJkLi5jM2UyMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwpAQCAtOTAsNyArOTAsOCBAQCBm
dW5jdGlvbiBJbnNwZWN0b3JFeHRlbnNpb25BUEkoKQogICAgIHRoaXMuYXVkaXRzID0gbmV3IEF1
ZGl0cygpOwogICAgIHRoaXMuaW5zcGVjdGVkV2luZG93ID0gbmV3IEluc3BlY3RlZFdpbmRvdygp
OwogICAgIHRoaXMucGFuZWxzID0gbmV3IFBhbmVscygpOwotICAgIHRoaXMucmVzb3VyY2VzID0g
bmV3IFJlc291cmNlcygpOworICAgIHRoaXMubmV0d29yayA9IG5ldyBOZXR3b3JrKCk7CisgICAg
ZGVmaW5lRGVwcmVjYXRlZFByb3BlcnR5KHRoaXMsICJ3ZWJJbnNwZWN0b3IiLCAicmVzb3VyY2Vz
IiwgIm5ldHdvcmsiKTsKICAgICB0aGlzLnRpbWVsaW5lID0gbmV3IFRpbWVsaW5lKCk7CiAKICAg
ICB0aGlzLm9uUmVzZXQgPSBuZXcgRXZlbnRTaW5rKCJyZXNldCIpOwpAQCAtMTAzLDI3ICsxMDQs
MjggQEAgSW5zcGVjdG9yRXh0ZW5zaW9uQVBJLnByb3RvdHlwZSA9IHsKICAgICB9CiB9CiAKLWZ1
bmN0aW9uIFJlc291cmNlcygpCitmdW5jdGlvbiBOZXR3b3JrKCkKIHsKLSAgICBmdW5jdGlvbiBy
ZXNvdXJjZURpc3BhdGNoKHJlcXVlc3QpCisgICAgZnVuY3Rpb24gcmVxdWVzdERpc3BhdGNoKG1l
c3NhZ2UpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSByZXF1ZXN0LmFyZ3VtZW50c1sx
XTsKLSAgICAgICAgcmVzb3VyY2UuX19wcm90b19fID0gbmV3IFJlc291cmNlKHJlcXVlc3QuYXJn
dW1lbnRzWzBdKTsKLSAgICAgICAgdGhpcy5fZmlyZShyZXNvdXJjZSk7CisgICAgICAgIHZhciBy
ZXF1ZXN0ID0gbWVzc2FnZS5hcmd1bWVudHNbMV07CisgICAgICAgIHJlcXVlc3QuX19wcm90b19f
ID0gbmV3IFJlcXVlc3QobWVzc2FnZS5hcmd1bWVudHNbMF0pOworICAgICAgICB0aGlzLl9maXJl
KHJlcXVlc3QpOwogICAgIH0KLSAgICB0aGlzLm9uRmluaXNoZWQgPSBuZXcgRXZlbnRTaW5rKCJy
ZXNvdXJjZS1maW5pc2hlZCIsIHJlc291cmNlRGlzcGF0Y2gpOworICAgIHRoaXMub25SZXF1ZXN0
RmluaXNoZWQgPSBuZXcgRXZlbnRTaW5rKCJuZXR3b3JrLXJlcXVlc3QtZmluaXNoZWQiLCByZXF1
ZXN0RGlzcGF0Y2gpOworICAgIGRlZmluZURlcHJlY2F0ZWRQcm9wZXJ0eSh0aGlzLCAibmV0d29y
ayIsICJvbkZpbmlzaGVkIiwgIm9uUmVxdWVzdEZpbmlzaGVkIik7CiAgICAgdGhpcy5vbk5hdmln
YXRlZCA9IG5ldyBFdmVudFNpbmsoImluc3BlY3RlZFVSTENoYW5nZWQiKTsKICAgICB0aGlzLm9u
Q29udGVudEVkaXRlZCA9IG5ldyBFdmVudFNpbmsoInJlc291cmNlLWNvbnRlbnQtZWRpdGVkIik7
CiB9CiAKLVJlc291cmNlcy5wcm90b3R5cGUgPSB7CitOZXR3b3JrLnByb3RvdHlwZSA9IHsKICAg
ICBnZXRIQVI6IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgZnVuY3Rpb24gY2Fs
bGJhY2tXcmFwcGVyKHJlc3VsdCkKICAgICAgICAgewogICAgICAgICAgICAgdmFyIGVudHJpZXMg
PSAocmVzdWx0ICYmIHJlc3VsdC5lbnRyaWVzKSB8fCBbXTsKICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIGVudHJp
ZXNbaV0uX19wcm90b19fID0gbmV3IFJlc291cmNlKGVudHJpZXNbaV0uX3JlcXVlc3RJZCk7Cisg
ICAgICAgICAgICAgICAgZW50cmllc1tpXS5fX3Byb3RvX18gPSBuZXcgUmVxdWVzdChlbnRyaWVz
W2ldLl9yZXF1ZXN0SWQpOwogICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyaWVzW2ldLl9yZXF1
ZXN0SWQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpOwpAQCAt
MTM3LDEyICsxMzksMTIgQEAgUmVzb3VyY2VzLnByb3RvdHlwZSA9IHsKICAgICB9CiB9CiAKLWZ1
bmN0aW9uIFJlc291cmNlSW1wbChpZCkKK2Z1bmN0aW9uIFJlcXVlc3RJbXBsKGlkKQogewogICAg
IHRoaXMuX2lkID0gaWQ7CiB9CiAKLVJlc291cmNlSW1wbC5wcm90b3R5cGUgPSB7CitSZXF1ZXN0
SW1wbC5wcm90b3R5cGUgPSB7CiAgICAgZ2V0Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spCiAg
ICAgewogICAgICAgICBmdW5jdGlvbiBjYWxsYmFja1dyYXBwZXIocmVzcG9uc2UpCkBAIC00Njks
MTMgKzQ3MSwyNyBAQCBmdW5jdGlvbiBkZWNsYXJlSW50ZXJmYWNlQ2xhc3MoaW1wbENvbnN0cnVj
dG9yKQogICAgIH0KIH0KIAorZnVuY3Rpb24gZGVmaW5lRGVwcmVjYXRlZFByb3BlcnR5KG9iamVj
dCwgY2xhc3NOYW1lLCBvbGROYW1lLCBuZXdOYW1lKQoreworICAgIHZhciB3YXJuaW5nR2l2ZW4g
PSBmYWxzZTsKKyAgICBmdW5jdGlvbiBnZXR0ZXIoKQorICAgIHsKKyAgICAgICAgaWYgKCF3YXJu
aW5nR2l2ZW4pIHsKKyAgICAgICAgICAgIGNvbnNvbGUud2FybihjbGFzc05hbWUgKyAiLiIgKyBv
bGROYW1lICsgIiBpcyBkZXByZWNhdGVkLiBVc2UgIiArIGNsYXNzTmFtZSArICIuIiArIG5ld05h
bWUgKyAiIGluc3RlYWQiKTsKKyAgICAgICAgICAgIHdhcm5pbmdHaXZlbiA9IHRydWU7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIG9iamVjdFtuZXdOYW1lXTsKKyAgICB9CisgICAgb2JqZWN0
Ll9fZGVmaW5lR2V0dGVyX18ob2xkTmFtZSwgZ2V0dGVyKTsKK30KKwogdmFyIEF1ZGl0Q2F0ZWdv
cnkgPSBkZWNsYXJlSW50ZXJmYWNlQ2xhc3MoQXVkaXRDYXRlZ29yeUltcGwpOwogdmFyIEF1ZGl0
UmVzdWx0ID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKEF1ZGl0UmVzdWx0SW1wbCk7CiB2YXIgRXZl
bnRTaW5rID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKEV2ZW50U2lua0ltcGwpOwogdmFyIEV4dGVu
c2lvblNpZGViYXJQYW5lID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKEV4dGVuc2lvblNpZGViYXJQ
YW5lSW1wbCk7CiB2YXIgUGFuZWwgPSBkZWNsYXJlSW50ZXJmYWNlQ2xhc3MoUGFuZWxJbXBsKTsK
IHZhciBQYW5lbFdpdGhTaWRlYmFyID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKFBhbmVsV2l0aFNp
ZGViYXJJbXBsKTsKLXZhciBSZXNvdXJjZSA9IGRlY2xhcmVJbnRlcmZhY2VDbGFzcyhSZXNvdXJj
ZUltcGwpOwordmFyIFJlcXVlc3QgPSBkZWNsYXJlSW50ZXJmYWNlQ2xhc3MoUmVxdWVzdEltcGwp
OwogdmFyIFRpbWVsaW5lID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKFRpbWVsaW5lSW1wbCk7CiAK
IHZhciBleHRlbnNpb25TZXJ2ZXIgPSBuZXcgRXh0ZW5zaW9uU2VydmVyQ2xpZW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZl
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVy
LmpzCmluZGV4IDFlMmZlMTUuLmMyMzYxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC0zNiw3ICszNiw3IEBA
IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc3Vi
c2NyaXB0aW9uU3RhcnRIYW5kbGVycyA9IHt9OwogICAgIHRoaXMuX3N1YnNjcmlwdGlvblN0b3BI
YW5kbGVycyA9IHt9OwogICAgIHRoaXMuX2V4dHJhSGVhZGVycyA9IHt9OwotICAgIHRoaXMuX3Jl
c291cmNlcyA9IHt9OworICAgIHRoaXMuX3JlcXVlc3RzID0ge307CiAgICAgdGhpcy5fbGFzdFJl
cXVlc3RJZCA9IDA7CiAgICAgdGhpcy5fYWxsb3dlZE9yaWdpbnMgPSB7fTsKICAgICB0aGlzLl9z
dGF0dXMgPSBuZXcgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblN0YXR1cygpOwpAQCAtOTEsNyArOTEs
NyBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKIAogICAgIF9p
bnNwZWN0ZWRVUkxDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHRoaXMu
X3Jlc291cmNlcyA9IHt9OworICAgICAgICB0aGlzLl9yZXF1ZXN0cyA9IHt9OwogICAgICAgICB2
YXIgdXJsID0gZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fcG9zdE5vdGlmaWNhdGlvbigiaW5z
cGVjdGVkVVJMQ2hhbmdlZCIsIHVybCk7CiAgICAgfSwKQEAgLTEyMiwxMSArMTIyLDExIEBAIFdl
Ykluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9w
b3N0Tm90aWZpY2F0aW9uKCJyZXNvdXJjZS1jb250ZW50LWVkaXRlZCIsIHVybCwgY29udGVudCk7
CiAgICAgfSwKIAotICAgIF9ub3RpZnlSZXNvdXJjZUZpbmlzaGVkOiBmdW5jdGlvbihldmVudCkK
KyAgICBfbm90aWZ5UmVxdWVzdEZpbmlzaGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAg
ICAgIHZhciByZXNvdXJjZSA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmICh0aGlzLl9oYXNTdWJz
Y3JpYmVycygicmVzb3VyY2UtZmluaXNoZWQiKSkKLSAgICAgICAgICAgIHRoaXMuX3Bvc3ROb3Rp
ZmljYXRpb24oInJlc291cmNlLWZpbmlzaGVkIiwgdGhpcy5fcmVxdWVzdElkKHJlc291cmNlKSwg
KG5ldyBXZWJJbnNwZWN0b3IuSEFSRW50cnkocmVzb3VyY2UpKS5idWlsZCgpKTsKKyAgICAgICAg
dmFyIHJlcXVlc3QgPSBldmVudC5kYXRhOworICAgICAgICBpZiAodGhpcy5faGFzU3Vic2NyaWJl
cnMoIm5ldHdvcmstcmVxdWVzdC1maW5pc2hlZCIpKQorICAgICAgICAgICAgdGhpcy5fcG9zdE5v
dGlmaWNhdGlvbigibmV0d29yay1yZXF1ZXN0LWZpbmlzaGVkIiwgdGhpcy5fcmVxdWVzdElkKHJl
cXVlc3QpLCAobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeShyZXF1ZXN0KSkuYnVpbGQoKSk7CiAg
ICAgfSwKIAogICAgIF9oYXNTdWJzY3JpYmVyczogZnVuY3Rpb24odHlwZSkKQEAgLTI5NiwzOCAr
Mjk2LDE3IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAg
ICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoZXZhbEV4cHJlc3Npb24sICIiLCB0cnVlLCBjYWxs
YmFjay5iaW5kKHRoaXMpKTsKICAgICB9LAogCi0gICAgX29uUmV2ZWFsQW5kU2VsZWN0OiBmdW5j
dGlvbihtZXNzYWdlKQotICAgIHsKLSAgICAgICAgaWYgKG1lc3NhZ2UucGFuZWxJZCA9PT0gInJl
c291cmNlcyIgJiYgdHlwZSA9PT0gInJlc291cmNlIikKLSAgICAgICAgICAgIHJldHVybiB0aGlz
Ll9vblJldmVhbEFuZFNlbGVjdFJlc291cmNlKG1lc3NhZ2UpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzLkVfTk9UU1VQUE9SVEVEKG1lc3NhZ2UucGFuZWxJ
ZCwgbWVzc2FnZS50eXBlKTsKLSAgICB9LAotCi0gICAgX29uUmV2ZWFsQW5kU2VsZWN0UmVzb3Vy
Y2U6IGZ1bmN0aW9uKG1lc3NhZ2UpCi0gICAgewotICAgICAgICB2YXIgaWQgPSBtZXNzYWdlLmlk
OwotICAgICAgICB2YXIgcmVzb3VyY2UgPSBudWxsOwotCi0gICAgICAgIHJlc291cmNlID0gdGhp
cy5fcmVzb3VyY2VCeUlkKGlkKSB8fCBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoaWQpOwot
ICAgICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5F
X05PVEZPVU5EKHR5cGVvZiBpZCArICI6ICIgKyBpZCk7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9y
LnBhbmVscy5yZXNvdXJjZXMuc2hvd1Jlc291cmNlKHJlc291cmNlLCBtZXNzYWdlLmxpbmUpOwot
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLSAgICB9LAotCiAg
ICAgX2Rpc3BhdGNoQ2FsbGJhY2s6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgcG9ydCwgcmVzdWx0KQog
ICAgIHsKICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSh7IGNvbW1hbmQ6ICJjYWxsYmFjayIsIHJl
cXVlc3RJZDogcmVxdWVzdElkLCByZXN1bHQ6IHJlc3VsdCB9KTsKICAgICB9LAogCi0gICAgX29u
R2V0SEFSOiBmdW5jdGlvbihyZXF1ZXN0KQorICAgIF9vbkdldEhBUjogZnVuY3Rpb24oKQogICAg
IHsKLSAgICAgICAgdmFyIHJlc291cmNlcyA9IFdlYkluc3BlY3Rvci5uZXR3b3JrTG9nLnJlc291
cmNlczsKLSAgICAgICAgdmFyIGhhckxvZyA9IChuZXcgV2ViSW5zcGVjdG9yLkhBUkxvZyhyZXNv
dXJjZXMpKS5idWlsZCgpOworICAgICAgICB2YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0b3IubmV0
d29ya0xvZy5yZXNvdXJjZXM7CisgICAgICAgIHZhciBoYXJMb2cgPSAobmV3IFdlYkluc3BlY3Rv
ci5IQVJMb2cocmVxdWVzdHMpKS5idWlsZCgpOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGhhckxvZy5lbnRyaWVzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgaGFyTG9nLmVudHJpZXNb
aV0uX3JlcXVlc3RJZCA9IHRoaXMuX3JlcXVlc3RJZChyZXNvdXJjZXNbaV0pOworICAgICAgICAg
ICAgaGFyTG9nLmVudHJpZXNbaV0uX3JlcXVlc3RJZCA9IHRoaXMuX3JlcXVlc3RJZChyZXF1ZXN0
c1tpXSk7CiAgICAgICAgIHJldHVybiBoYXJMb2c7CiAgICAgfSwKIApAQCAtMzQxLDYwICszMjAs
NjAgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICB9OwogICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hDYWxsYmFjayhtZXNzYWdlLnJlcXVl
c3RJZCwgcG9ydCwgcmVzcG9uc2UpOwogICAgICAgICB9Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IHRoaXMuX3Jlc291cmNlQnlJZChtZXNzYWdlLmlkKTsKLSAgICAgICAgaWYgKCFyZXNvdXJjZSkK
KyAgICAgICAgdmFyIHJlcXVlc3QgPSB0aGlzLl9yZXF1ZXN0QnlJZChtZXNzYWdlLmlkKTsKKyAg
ICAgICAgaWYgKCFyZXF1ZXN0KQogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX05P
VEZPVU5EKG1lc3NhZ2UuaWQpOwotICAgICAgICByZXNvdXJjZS5yZXF1ZXN0Q29udGVudChvbkNv
bnRlbnRBdmFpbGFibGUuYmluZCh0aGlzKSk7CisgICAgICAgIHJlcXVlc3QucmVxdWVzdENvbnRl
bnQob25Db250ZW50QXZhaWxhYmxlLmJpbmQodGhpcykpOwogICAgIH0sCiAKLSAgICBfcmVxdWVz
dElkOiBmdW5jdGlvbihyZXNvdXJjZSkKKyAgICBfcmVxdWVzdElkOiBmdW5jdGlvbihyZXF1ZXN0
KQogICAgIHsKLSAgICAgICAgaWYgKCFyZXNvdXJjZS5fZXh0ZW5zaW9uUmVxdWVzdElkKSB7Ci0g
ICAgICAgICAgICByZXNvdXJjZS5fZXh0ZW5zaW9uUmVxdWVzdElkID0gKyt0aGlzLl9sYXN0UmVx
dWVzdElkOwotICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VzW3Jlc291cmNlLl9leHRlbnNpb25S
ZXF1ZXN0SWRdID0gcmVzb3VyY2U7CisgICAgICAgIGlmICghcmVxdWVzdC5fZXh0ZW5zaW9uUmVx
dWVzdElkKSB7CisgICAgICAgICAgICByZXF1ZXN0Ll9leHRlbnNpb25SZXF1ZXN0SWQgPSArK3Ro
aXMuX2xhc3RSZXF1ZXN0SWQ7CisgICAgICAgICAgICB0aGlzLl9yZXF1ZXN0c1tyZXF1ZXN0Ll9l
eHRlbnNpb25SZXF1ZXN0SWRdID0gcmVxdWVzdDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4g
cmVzb3VyY2UuX2V4dGVuc2lvblJlcXVlc3RJZDsKKyAgICAgICAgcmV0dXJuIHJlcXVlc3QuX2V4
dGVuc2lvblJlcXVlc3RJZDsKICAgICB9LAogCi0gICAgX3Jlc291cmNlQnlJZDogZnVuY3Rpb24o
aWQpCisgICAgX3JlcXVlc3RCeUlkOiBmdW5jdGlvbihpZCkKICAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9yZXNvdXJjZXNbaWRdOworICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdHNbaWRd
OwogICAgIH0sCiAKLSAgICBfb25BZGRBdWRpdENhdGVnb3J5OiBmdW5jdGlvbihyZXF1ZXN0KQor
ICAgIF9vbkFkZEF1ZGl0Q2F0ZWdvcnk6IGZ1bmN0aW9uKG1lc3NhZ2UpCiAgICAgewotICAgICAg
ICB2YXIgY2F0ZWdvcnkgPSBuZXcgV2ViSW5zcGVjdG9yLkV4dGVuc2lvbkF1ZGl0Q2F0ZWdvcnko
cmVxdWVzdC5pZCwgcmVxdWVzdC5kaXNwbGF5TmFtZSwgcmVxdWVzdC5yZXN1bHRDb3VudCk7Cisg
ICAgICAgIHZhciBjYXRlZ29yeSA9IG5ldyBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uQXVkaXRDYXRl
Z29yeShtZXNzYWdlLmlkLCBtZXNzYWdlLmRpc3BsYXlOYW1lLCBtZXNzYWdlLnJlc3VsdENvdW50
KTsKICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5wYW5lbHMuYXVkaXRzLmdldENhdGVnb3J5KGNh
dGVnb3J5LmlkKSkKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMuRV9FWElTVFMoY2F0
ZWdvcnkuaWQpOwotICAgICAgICB0aGlzLl9jbGllbnRPYmplY3RzW3JlcXVlc3QuaWRdID0gY2F0
ZWdvcnk7CisgICAgICAgIHRoaXMuX2NsaWVudE9iamVjdHNbbWVzc2FnZS5pZF0gPSBjYXRlZ29y
eTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5hdWRpdHMuYWRkQ2F0ZWdvcnkoY2F0ZWdv
cnkpOwogICAgIH0sCiAKLSAgICBfb25BZGRBdWRpdFJlc3VsdDogZnVuY3Rpb24ocmVxdWVzdCkK
KyAgICBfb25BZGRBdWRpdFJlc3VsdDogZnVuY3Rpb24obWVzc2FnZSkKICAgICB7Ci0gICAgICAg
IHZhciBhdWRpdFJlc3VsdCA9IHRoaXMuX2NsaWVudE9iamVjdHNbcmVxdWVzdC5yZXN1bHRJZF07
CisgICAgICAgIHZhciBhdWRpdFJlc3VsdCA9IHRoaXMuX2NsaWVudE9iamVjdHNbbWVzc2FnZS5y
ZXN1bHRJZF07CiAgICAgICAgIGlmICghYXVkaXRSZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4g
dGhpcy5fc3RhdHVzLkVfTk9URk9VTkQocmVxdWVzdC5yZXN1bHRJZCk7CisgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fc3RhdHVzLkVfTk9URk9VTkQobWVzc2FnZS5yZXN1bHRJZCk7CiAgICAgICAg
IHRyeSB7Ci0gICAgICAgICAgICBhdWRpdFJlc3VsdC5hZGRSZXN1bHQocmVxdWVzdC5kaXNwbGF5
TmFtZSwgcmVxdWVzdC5kZXNjcmlwdGlvbiwgcmVxdWVzdC5zZXZlcml0eSwgcmVxdWVzdC5kZXRh
aWxzKTsKKyAgICAgICAgICAgIGF1ZGl0UmVzdWx0LmFkZFJlc3VsdChtZXNzYWdlLmRpc3BsYXlO
YW1lLCBtZXNzYWdlLmRlc2NyaXB0aW9uLCBtZXNzYWdlLnNldmVyaXR5LCBtZXNzYWdlLmRldGFp
bHMpOwogICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICByZXR1cm4gZTsKICAgICAg
ICAgfQogICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzLk9LKCk7CiAgICAgfSwKIAotICAgIF9v
blN0b3BBdWRpdENhdGVnb3J5UnVuOiBmdW5jdGlvbihyZXF1ZXN0KQorICAgIF9vblN0b3BBdWRp
dENhdGVnb3J5UnVuOiBmdW5jdGlvbihtZXNzYWdlKQogICAgIHsKLSAgICAgICAgdmFyIGF1ZGl0
UnVuID0gdGhpcy5fY2xpZW50T2JqZWN0c1tyZXF1ZXN0LnJlc3VsdElkXTsKKyAgICAgICAgdmFy
IGF1ZGl0UnVuID0gdGhpcy5fY2xpZW50T2JqZWN0c1ttZXNzYWdlLnJlc3VsdElkXTsKICAgICAg
ICAgaWYgKCFhdWRpdFJ1bikKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMuRV9OT1RG
T1VORChyZXF1ZXN0LnJlc3VsdElkKTsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMu
RV9OT1RGT1VORChtZXNzYWdlLnJlc3VsdElkKTsKICAgICAgICAgYXVkaXRSdW4uY2FuY2VsKCk7
CiAgICAgfSwKIAogICAgIGluaXRFeHRlbnNpb25zOiBmdW5jdGlvbigpCiAgICAgewogICAgICAg
ICAvLyBUaGUgbmV0d29ya01hbmFnZXIgaXMgbm9ybWFsbHkgY3JlYXRlZCBhZnRlciB0aGUgRXh0
ZW5zaW9uU2VydmVyIGlzIGNvbnN0cnVjdGVkLCBidXQgYmVmb3JlIGluaXRFeHRlbnNpb25zKCkg
aXMgY2FsbGVkLgotICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZUZp
bmlzaGVkLCB0aGlzLl9ub3RpZnlSZXNvdXJjZUZpbmlzaGVkLCB0aGlzKTsKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5l
dHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VGaW5pc2hlZCwgdGhpcy5fbm90aWZ5UmVx
dWVzdEZpbmlzaGVkLCB0aGlzKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1v
ZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50
VHlwZXMuSW5zcGVjdGVkVVJMQ2hhbmdlZCwgdGhpcy5faW5zcGVjdGVkVVJMQ2hhbmdlZCwgdGhp
cyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJl
Y29yZGVkLCB0aGlzLl9hZGRSZWNvcmRUb1RpbWVsaW5lLCB0aGlzKTsKIApAQCAtNDY0LDE2ICs0
NDMsMTYgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAKICAg
ICBfb25tZXNzYWdlOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0
ID0gZXZlbnQuZGF0YTsKKyAgICAgICAgdmFyIG1lc3NhZ2UgPSBldmVudC5kYXRhOwogICAgICAg
ICB2YXIgcmVzdWx0OwogCi0gICAgICAgIGlmIChyZXF1ZXN0LmNvbW1hbmQgaW4gdGhpcy5faGFu
ZGxlcnMpCi0gICAgICAgICAgICByZXN1bHQgPSB0aGlzLl9oYW5kbGVyc1tyZXF1ZXN0LmNvbW1h
bmRdKHJlcXVlc3QsIGV2ZW50LnRhcmdldCk7CisgICAgICAgIGlmIChtZXNzYWdlLmNvbW1hbmQg
aW4gdGhpcy5faGFuZGxlcnMpCisgICAgICAgICAgICByZXN1bHQgPSB0aGlzLl9oYW5kbGVyc1tt
ZXNzYWdlLmNvbW1hbmRdKG1lc3NhZ2UsIGV2ZW50LnRhcmdldCk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX3N0YXR1cy5FX05PVFNVUFBPUlRFRChyZXF1ZXN0LmNv
bW1hbmQpOworICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5fc3RhdHVzLkVfTk9UU1VQUE9SVEVE
KG1lc3NhZ2UuY29tbWFuZCk7CiAKLSAgICAgICAgaWYgKHJlc3VsdCAmJiByZXF1ZXN0LnJlcXVl
c3RJZCkKLSAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoQ2FsbGJhY2socmVxdWVzdC5yZXF1ZXN0
SWQsIGV2ZW50LnRhcmdldCwgcmVzdWx0KTsKKyAgICAgICAgaWYgKHJlc3VsdCAmJiBtZXNzYWdl
LnJlcXVlc3RJZCkKKyAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoQ2FsbGJhY2sobWVzc2FnZS5y
ZXF1ZXN0SWQsIGV2ZW50LnRhcmdldCwgcmVzdWx0KTsKICAgICB9LAogCiAgICAgX3JlZ2lzdGVy
SGFuZGxlcjogZnVuY3Rpb24oY29tbWFuZCwgY2FsbGJhY2spCg==
</data>
<flag name="commit-queue"
          id="100117"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104339</attachid>
            <date>2011-08-18 07:30:14 -0700</date>
            <delta_ts>2011-08-18 07:46:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resources-rename.diff</filename>
            <type>text/plain</type>
            <size>76241</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2N2EwOTRjLi44ZGI2MDAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgt
MTggIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbRXh0ZW5zaW9ucyBBUEldIHJlbmFtZSB3ZWJJbnNwZWN0b3IucmVzb3VyY2Vz
IHRvIHdlYkluc3BlY3Rvci5uZXR3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NjQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3Jr
LXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVj
dC5odG1sLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29y
ay10ZXN0LmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1yZXNvdXJjZXMtdGVzdC5qcy4KKyAgICAgICAgKGV4dGVuc2lvbl9nZXRSZXF1
ZXN0QnlVcmwub25IQVIpOgorICAgICAgICAoZXh0ZW5zaW9uX2dldFJlcXVlc3RCeVVybCk6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLW5ldHdvcmstZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1y
ZXNvdXJjZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGluc3BlY3Rvci9leHRlbnNpb25zL2V4
dGVuc2lvbnMtbmV0d29yay5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbC4KKwogMjAxMS0wOC0xNiAgVG9u
eSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gZmFzdC9j
c3MvY3VzdG9tLWZvbnQteGhlaWdodC5odG1sIGlzIGFzc2VydGluZyBvbiBhbGwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1y
ZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjVjMTQ0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK1Rlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJ
IHJldHVybnMgdmFsaWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXMKKworUGFnZSByZWxv
YWRlZC4KK1N0YXJ0ZWQgZXh0ZW5zaW9uLgorUnVubmluZyB0ZXN0cy4uLgorUlVOTklORyBURVNU
OiBleHRlbnNpb25fdGVzdEdldFJlZGlyZWN0UmVxdWVzdENvbnRlbnQKK2NvbnRlbnQ6IG51bGws
IGVuY29kaW5nOiAKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVlc3RG
aW5pc2hlZAorRmluaXNoZWQgcmVxdWVzdDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCitGaW5pc2hl
ZCByZXF1ZXN0OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtbWV0aG9kcy1yZXN1bHQucGhwP3JlZGlyZWN0ZWQ9dHJ1ZQorUlVOTklORyBURVNUOiBleHRl
bnNpb25fdGVzdFJlZGlyZWN0UmVxdWVzdEluSEFSCitSZXF1ZXN0cyBpbiBIQVI6CitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1s
CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0
LmpzCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcwor
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcworaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0
LnBocD9yZWRpcmVjdGVkPXRydWUKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291
cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3RlZD10cnVlCitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQu
cGhwP3N0YXR1cz0zMDIKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9y
ZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMgorQWxsIHRlc3RzIGRvbmUuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZDRlZGNhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1sCkBAIC0wLDAg
KzEsMTAzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJleHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX2RvUmVxdWVz
dChmb3JjZSwgY2FsbGJhY2spCit7CisgICAgZnVuY3Rpb24gY2FsbGJhY2tXcmFwcGVyKHJlcXVl
c3QpCisgICAgeworICAgICAgICB2YXIgbGFzdENhbGxiYWNrID0gIXJlcXVlc3QgfHwgL1w/cmVk
aXJlY3RlZD10cnVlJC8udGVzdChyZXF1ZXN0LnJlcXVlc3QudXJsKTsKKyAgICAgICAgaWYgKGxh
c3RDYWxsYmFjaykKKyAgICAgICAgICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uUmVxdWVzdEZp
bmlzaGVkLnJlbW92ZUxpc3RlbmVyKGNhbGxiYWNrV3JhcHBlcik7CisgICAgICAgIGNhbGxiYWNr
KHJlcXVlc3QsIGxhc3RDYWxsYmFjayk7CisgICAgfQorICAgIHdlYkluc3BlY3Rvci5uZXR3b3Jr
Lm9uUmVxdWVzdEZpbmlzaGVkLmFkZExpc3RlbmVyKGNhbGxiYWNrV3JhcHBlcik7CisgICAgd2Vi
SW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJkb1JlcXVlc3QoIiArIGZvcmNlICsgIiki
LCBmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgICAgIGNh
bGxiYWNrV3JhcHBlcihudWxsKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rl
c3RHZXRSZWRpcmVjdFJlcXVlc3RDb250ZW50KG5leHRUZXN0KQoreworICAgIGZ1bmN0aW9uIG9u
UmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QsIGxhc3RDYWxsYmFjaykKKyAgICB7CisgICAgICAgIGlm
ICghbGFzdENhbGxiYWNrKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBleHRlbnNpb25f
Z2V0UmVxdWVzdEJ5VXJsKFsgL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocFw/c3RhdHVzPTMw
MiQvIF0sIGZ1bmN0aW9uKHJlcXVlc3QpIHsKKyAgICAgICAgICAgIHJlcXVlc3QuZ2V0Q29udGVu
dChvbkNvbnRlbnQpOworICAgICAgICB9KTsKKyAgICB9CisgICAgZnVuY3Rpb24gb25Db250ZW50
KGNvbnRlbnQsIGVuY29kaW5nKQorICAgIHsKKyAgICAgICAgb3V0cHV0KCJjb250ZW50OiAiICsg
Y29udGVudCArICIsIGVuY29kaW5nOiAiICsgZW5jb2RpbmcpOworICAgICAgICBuZXh0VGVzdCgp
OworICAgIH0KKyAgICBleHRlbnNpb25fZG9SZXF1ZXN0KGZhbHNlLCBvblJlcXVlc3RGaW5pc2hl
ZCk7Cit9CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVkaXJlY3RSZXF1ZXN0SW5IQVIobmV4
dFRlc3QpCit7CisgICAgZnVuY3Rpb24gb25SZXF1ZXN0RmluaXNoZWQocmVzb3VyY2UsIGxhc3RD
YWxsYmFjaykKKyAgICB7CisgICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCisgICAgICAgICAgICB3
ZWJJbnNwZWN0b3IubmV0d29yay5nZXRIQVIob25IQVIpOworICAgIH0KKyAgICBmdW5jdGlvbiBv
bkhBUihoYXIpCisgICAgeworICAgICAgICB2YXIgZW50cmllcyA9IGhhci5lbnRyaWVzOworICAg
ICAgICB2YXIgdXJscyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciB1cmwgPSBlbnRyaWVzW2ldLnJlcXVlc3Qu
dXJsOworICAgICAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgR1RLIERSVCB0aGF0IHJlcXVlc3Rz
IGZhdmljb24uaWNvIGFsb25nIHdpdGggdGhlIHBhZ2UuCisgICAgICAgICAgICBpZiAoIS9cL2Zh
dmljb25cLmljbyQvLnRlc3QodXJsKSkKKyAgICAgICAgICAgICAgICB1cmxzLnB1c2godXJsKTsK
KyAgICAgICAgfQorICAgICAgICB1cmxzLnNvcnQoKTsKKyAgICAgICAgb3V0cHV0KCJSZXF1ZXN0
cyBpbiBIQVI6XG4iICsgdXJscy5qb2luKCJcbiIpKTsKKyAgICAgICAgbmV4dFRlc3QoKTsKKyAg
ICB9CisgICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChmYWxzZSwgb25SZXF1ZXN0RmluaXNoZWQpOwor
fQorCitmdW5jdGlvbiBleHRlbnNpb25fdGVzdFJlZGlyZWN0UmVxdWVzdEZpbmlzaGVkKG5leHRU
ZXN0KQoreworICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QsIGxhc3RDYWxs
YmFjaykKKyAgICB7CisgICAgICAgIG91dHB1dCgiRmluaXNoZWQgcmVxdWVzdDogIiArIHJlcXVl
c3QucmVxdWVzdC51cmwpOworICAgICAgICBpZiAobGFzdENhbGxiYWNrKQorICAgICAgICAgICAg
bmV4dFRlc3QoKTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2RvUmVxdWVzdCh0cnVlLCBvblJlcXVl
c3RGaW5pc2hlZCk7Cit9CisKK3ZhciByZXF1ZXN0RG9uZSA9IGZhbHNlOworCitmdW5jdGlvbiBk
b1JlcXVlc3QoZm9yY2UpCit7CisgICAgLy8gT25seSBkbyByZXF1ZXN0IG9uY2UgcGVyIHRlc3Qg
c3VpdGUsIHRvIG1ha2UgdGVzdHMgaW5kZXBlbmRlbnQgb24gZWFjaCBvdGhlci4KKyAgICAvLyBS
ZXR1cm5zIHRydWUgaWZmIHJlcXVlc3QgaXMgYWxyZWR5IGRvbmUgKHNvIHRoZSBjYWxsZXIgc2hv
dWxkbid0IHdhaXQgZm9yIG9uRmluaXNoZWQpLgorICAgIGlmIChyZXF1ZXN0RG9uZSAmJiAhZm9y
Y2UpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJlcXVlc3REb25lID0gdHJ1ZTsKKyAgICAv
LyBXZSBjYW4ndCB1c2UgWEhSIGhlcmUgLS0gdGhlIGNvbnRlbnQgZm9yIFhIUnMgaXMgcHVzaGVk
IGZyb20gYmFjay1lbmQuCisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOworICAgIGlmcmFtZS5zcmMgPSAiL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0
LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2YXIgdGVzdCA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoSW5zcGVjdG9yVGVzdC5ydW5F
eHRlbnNpb25UZXN0cyk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorPHA+VGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkgcmV0dXJucyB2
YWxpZCBkYXRhIGZvciByZWRpcmVjdGVkIHJlc291cmNlczwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1uZXR3b3JrLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YTVkYzIzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9u
IGV4dGVuc2lvbl9nZXRSZXF1ZXN0QnlVcmwodXJscywgY2FsbGJhY2spCit7CisgICAgZnVuY3Rp
b24gb25IQVIocmVzcG9uc2UpCisgICAgeworICAgICAgICB2YXIgZW50cmllcyA9IHJlc3BvbnNl
LmVudHJpZXM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsr
aSkgeworICAgICAgICAgICAgZm9yICh2YXIgdXJsID0gMDsgdXJsIDwgdXJscy5sZW5ndGg7ICsr
dXJsKSB7CisgICAgICAgICAgICAgICAgaWYgKHVybHNbdXJsXS50ZXN0KGVudHJpZXNbaV0ucmVx
dWVzdC51cmwpKSB7CisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVudHJpZXNbaV0pOwor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLmdldEhBUihv
bkhBUik7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxZDNhMTEuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMt
cmVkaXJlY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVGVz
dHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKLQotUGFnZSByZWxvYWRlZC4KLVN0YXJ0ZWQg
ZXh0ZW5zaW9uLgotUnVubmluZyB0ZXN0cy4uLgotUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVz
dEdldFJlZGlyZWN0UmVzb3VyY2VDb250ZW50Ci1jb250ZW50OiBudWxsLCBlbmNvZGluZzogCi1S
VU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0UmVkaXJlY3RSZXNvdXJjZUZpbmlzaGVkCi1GaW5p
c2hlZCByZXNvdXJjZTogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3Jl
ZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCi1GaW5pc2hlZCByZXNvdXJjZTog
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMt
cmVzdWx0LnBocD9yZWRpcmVjdGVkPXRydWUKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RS
ZWRpcmVjdFJlc291cmNlc0luSEFSCi1SZXNvdXJjZXMgaW4gSEFSOgotaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC5odG1sCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXRlc3QuanMK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10ZXN0LmpzCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhw
P3JlZGlyZWN0ZWQ9dHJ1ZQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2Vz
L3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9yZWRpcmVjdGVkPXRydWUKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/
c3RhdHVzPTMwMgotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGly
ZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCi1BbGwgdGVzdHMgZG9uZS4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNv
dXJjZXMtcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDc3Y2NkZGIuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJlY3QuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEwMyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXJlc291cmNlcy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi1mdW5jdGlvbiBleHRlbnNpb25f
ZG9SZXF1ZXN0KGZvcmNlLCBjYWxsYmFjaywgbmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24gY2Fs
bGJhY2tXcmFwcGVyKHJlc291cmNlKQotICAgIHsKLSAgICAgICAgdmFyIGxhc3RDYWxsYmFjayA9
ICFyZXNvdXJjZSB8fCAvXD9yZWRpcmVjdGVkPXRydWUkLy50ZXN0KHJlc291cmNlLnJlcXVlc3Qu
dXJsKTsKLSAgICAgICAgaWYgKGxhc3RDYWxsYmFjaykKLSAgICAgICAgICAgIHdlYkluc3BlY3Rv
ci5yZXNvdXJjZXMub25GaW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihjYWxsYmFja1dyYXBwZXIpOwot
ICAgICAgICBjYWxsYmFjayhyZXNvdXJjZSwgbGFzdENhbGxiYWNrKTsKLSAgICB9Ci0gICAgd2Vi
SW5zcGVjdG9yLnJlc291cmNlcy5vbkZpbmlzaGVkLmFkZExpc3RlbmVyKGNhbGxiYWNrV3JhcHBl
cik7Ci0gICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJkb1JlcXVlc3QoIiAr
IGZvcmNlICsgIikiLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgaWYgKHJlc3VsdCkKLSAg
ICAgICAgICAgIGNhbGxiYWNrV3JhcHBlcihudWxsKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24g
ZXh0ZW5zaW9uX3Rlc3RHZXRSZWRpcmVjdFJlc291cmNlQ29udGVudChuZXh0VGVzdCkKLXsKLSAg
ICBmdW5jdGlvbiBvbkZpbmlzaGVkKHJlc291cmNlLCBsYXN0Q2FsbGJhY2spCi0gICAgewotICAg
ICAgICBpZiAoIWxhc3RDYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZXh0
ZW5zaW9uX2dldFJlc291cmNlQnlVcmwoWyAvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwXD9z
dGF0dXM9MzAyJC8gXSwgZnVuY3Rpb24ocmVzb3VyY2UpIHsKLSAgICAgICAgICAgIHJlc291cmNl
LmdldENvbnRlbnQob25Db250ZW50KQotICAgICAgICB9KTsKLSAgICB9Ci0gICAgZnVuY3Rpb24g
b25Db250ZW50KGNvbnRlbnQsIGVuY29kaW5nKQotICAgIHsKLSAgICAgICAgb3V0cHV0KCJjb250
ZW50OiAiICsgY29udGVudCArICIsIGVuY29kaW5nOiAiICsgZW5jb2RpbmcpOwotICAgICAgICBu
ZXh0VGVzdCgpOwotICAgIH0KLSAgICBleHRlbnNpb25fZG9SZXF1ZXN0KGZhbHNlLCBvbkZpbmlz
aGVkKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlc291cmNlc0luSEFS
KG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIG9uRmluaXNoZWQocmVzb3VyY2UsIGxhc3RDYWxs
YmFjaykKLSAgICB7Ci0gICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCi0gICAgICAgICAgICB3ZWJJ
bnNwZWN0b3IucmVzb3VyY2VzLmdldEhBUihvbkhBUik7Ci0gICAgfQotICAgIGZ1bmN0aW9uIG9u
SEFSKGhhcikKLSAgICB7Ci0gICAgICAgIHZhciBlbnRyaWVzID0gaGFyLmVudHJpZXM7Ci0gICAg
ICAgIHZhciB1cmxzID0gW107Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5s
ZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIHVybCA9IGVudHJpZXNbaV0ucmVxdWVzdC51
cmw7Ci0gICAgICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBHVEsgRFJUIHRoYXQgcmVxdWVzdHMg
ZmF2aWNvbi5pY28gYWxvbmcgd2l0aCB0aGUgcGFnZS4KLSAgICAgICAgICAgIGlmICghL1wvZmF2
aWNvblwuaWNvJC8udGVzdCh1cmwpKQotICAgICAgICAgICAgICAgIHVybHMucHVzaCh1cmwpOwot
ICAgICAgICB9Ci0gICAgICAgIHVybHMuc29ydCgpOwotICAgICAgICBvdXRwdXQoIlJlc291cmNl
cyBpbiBIQVI6XG4iICsgdXJscy5qb2luKCJcbiIpKTsKLSAgICAgICAgbmV4dFRlc3QoKTsKLSAg
ICB9Ci0gICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChmYWxzZSwgb25GaW5pc2hlZCk7Ci19Ci0KLWZ1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVkaXJlY3RSZXNvdXJjZUZpbmlzaGVkKG5leHRUZXN0KQot
ewotICAgIGZ1bmN0aW9uIG9uRmluaXNoZWQocmVzb3VyY2UsIGxhc3RDYWxsYmFjaykKLSAgICB7
Ci0gICAgICAgIG91dHB1dCgiRmluaXNoZWQgcmVzb3VyY2U6ICIgKyByZXNvdXJjZS5yZXF1ZXN0
LnVybCk7Ci0gICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCi0gICAgICAgICAgICBuZXh0VGVzdCgp
OwotICAgIH0KLSAgICBleHRlbnNpb25fZG9SZXF1ZXN0KHRydWUsIG9uRmluaXNoZWQpOwotfQot
Ci12YXIgcmVxdWVzdERvbmUgPSBmYWxzZTsKLQotZnVuY3Rpb24gZG9SZXF1ZXN0KGZvcmNlKQot
ewotICAgIC8vIE9ubHkgZG8gcmVxdWVzdCBvbmNlIHBlciB0ZXN0IHN1aXRlLCB0byBtYWtlIHRl
c3RzIGluZGVwZW5kZW50IG9uIGVhY2ggb3RoZXIuCi0gICAgLy8gUmV0dXJucyB0cnVlIGlmZiBy
ZXF1ZXN0IGlzIGFscmVkeSBkb25lIChzbyB0aGUgY2FsbGVyIHNob3VsZG4ndCB3YWl0IGZvciBv
bkZpbmlzaGVkKS4KLSAgICBpZiAocmVxdWVzdERvbmUgJiYgIWZvcmNlKQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICByZXF1ZXN0RG9uZSA9IHRydWU7Ci0gICAgLy8gV2UgY2FuJ3QgdXNlIFhI
UiBoZXJlIC0tIHRoZSBjb250ZW50IGZvciBYSFJzIGlzIHB1c2hlZCBmcm9tIGJhY2stZW5kLgot
ICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBp
ZnJhbWUuc3JjID0gIi9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5w
aHA/c3RhdHVzPTMwMiI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5z
cGVjdG9yVGVzdC5yZWxvYWRQYWdlKEluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOwot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRl
c3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNv
dXJjZXMtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtcmVzb3VyY2VzLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZGFk
NzQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1yZXNvdXJjZXMtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLWZ1
bmN0aW9uIGV4dGVuc2lvbl9nZXRSZXNvdXJjZUJ5VXJsKHVybHMsIGNhbGxiYWNrKQotewotICAg
IGZ1bmN0aW9uIG9uSEFSKHJlc3BvbnNlKQotICAgIHsKLSAgICAgICAgdmFyIGVudHJpZXMgPSBy
ZXNwb25zZS5lbnRyaWVzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVu
Z3RoOyArK2kpIHsKLSAgICAgICAgICAgIGZvciAodmFyIHVybCA9IDA7IHVybCA8IHVybHMubGVu
Z3RoOyArK3VybCkgewotICAgICAgICAgICAgICAgIGlmICh1cmxzW3VybF0udGVzdChlbnRyaWVz
W2ldLnJlcXVlc3QudXJsKSkgewotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhlbnRyaWVz
W2ldKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2Vz
LmdldEhBUihvbkhBUik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1leHBlY3RlZC50eHQKaW5k
ZXggMmZjYmEwMi4uNzU5MjhjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKLVRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCitUZXN0
cyBvdmVycmlkaW5nIHVzZXIgYWdlbnQgdmlhIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCiAK
IFN0YXJ0ZWQgZXh0ZW5zaW9uLgogUnVubmluZyB0ZXN0cy4uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwK
aW5kZXggNjQ4NjVhNC4uODkyODY3OSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sCkBAIC02LDIzICs2
LDIzIEBACiAKIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0VXNlckFnZW50KG5leHRUZXN0KQogewot
ICAgIGNvbnN0IHJlc291cmNlc1RvQ2hlY2sgPSBbCisgICAgY29uc3QgcmVxdWVzdHNUb0NoZWNr
ID0gWwogICAgICAgICAiZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbCIsCiAgICAgICAgICJ4aHIt
ZXhpc3RzLmh0bWwiCiAgICAgXTsKLSAgICB2YXIgcmVzb3VyY2VDb3VudCA9IDA7CisgICAgdmFy
IHJlcXVlc3RDb3VudCA9IDA7CiAgICAgdmFyIHF1ZXVlZE91dHB1dCA9IFtdOwogCi0gICAgZnVu
Y3Rpb24gb25SZXNvdXJjZShyZXNvdXJjZSkKKyAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hl
ZChyZXF1ZXN0KQogICAgIHsKLSAgICAgICAgdmFyIHVybCA9IHJlc291cmNlLnJlcXVlc3QudXJs
LnJlcGxhY2UoL14uKlsvXS8sICIiKTsKLSAgICAgICAgaWYgKHJlc291cmNlc1RvQ2hlY2suaW5k
ZXhPZih1cmwpIDwgMCkKKyAgICAgICAgdmFyIHVybCA9IHJlcXVlc3QucmVxdWVzdC51cmwucmVw
bGFjZSgvXi4qWy9dLywgIiIpOworICAgICAgICBpZiAocmVxdWVzdHNUb0NoZWNrLmluZGV4T2Yo
dXJsKSA8IDApCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgcXVldWVkT3V0cHV0LnB1
c2goInVzZXItYWdlbnQgaGVhZGVyIGZvciAiICsgdXJsICsgIjogIiArIGdldEhlYWRlcihyZXNv
dXJjZS5yZXF1ZXN0LmhlYWRlcnMsICJ1c2VyLWFnZW50IikpOwotICAgICAgICBpZiAoKytyZXNv
dXJjZUNvdW50IDwgcmVzb3VyY2VzVG9DaGVjay5sZW5ndGgpCisgICAgICAgIHF1ZXVlZE91dHB1
dC5wdXNoKCJ1c2VyLWFnZW50IGhlYWRlciBmb3IgIiArIHVybCArICI6ICIgKyBnZXRIZWFkZXIo
cmVxdWVzdC5yZXF1ZXN0LmhlYWRlcnMsICJ1c2VyLWFnZW50IikpOworICAgICAgICBpZiAoKyty
ZXF1ZXN0Q291bnQgPCByZXF1ZXN0c1RvQ2hlY2subGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9uRmluaXNoZWQucmVtb3ZlTGlzdGVu
ZXIob25SZXNvdXJjZSk7CisgICAgICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uUmVxdWVzdEZp
bmlzaGVkLnJlbW92ZUxpc3RlbmVyKG9uUmVxdWVzdEZpbmlzaGVkKTsKICAgICAgICAgd2ViSW5z
cGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJuYXZpZ2F0b3IudXNlckFnZW50Iiwgb25FdmFs
KTsKICAgICB9CiAgICAgZnVuY3Rpb24gZ2V0SGVhZGVyKGhlYWRlcnMsIG5hbWUpCkBAIC00OSw3
ICs0OSw3IEBAIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0VXNlckFnZW50KG5leHRUZXN0KQogICAg
ICAgICBuZXh0VGVzdCgpOwogICAgIH0KIAotICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25G
aW5pc2hlZC5hZGRMaXN0ZW5lcihvblJlc291cmNlKTsKKyAgICB3ZWJJbnNwZWN0b3IubmV0d29y
ay5vblJlcXVlc3RGaW5pc2hlZC5hZGRMaXN0ZW5lcihvblJlcXVlc3RGaW5pc2hlZCk7CiAgICAg
d2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5yZWxvYWQoIk1vemlsbGEvNC4wIChjb21wYXRp
YmxlOyBXZWJJbnNwZWN0b3IgRXh0ZW5zaW9uIFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0xMU0p
Iik7CiB9CiAKQEAgLTYzLDYgKzYzLDYgQEAgZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RVc2VyQWdl
bnQobmV4dFRlc3QpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPlRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJPC9wPgorPHA+VGVzdHMgb3Zl
cnJpZGluZyB1c2VyIGFnZW50IHZpYSBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSTwvcD4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dAppbmRleCA1MjQ0MGFiLi4zNWQ1
ZWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLWFwaS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0CkBAIC0yOSw3ICsyOSwzMSBAQCBSVU5OSU5H
IFRFU1Q6IGV4dGVuc2lvbl90ZXN0QVBJCiAgICAgICAgIH0KICAgICAgICAgY3JlYXRlIDogPGZ1
bmN0aW9uPgogICAgIH0KKyAgICBuZXR3b3JrIDogeworICAgICAgICBvblJlcXVlc3RGaW5pc2hl
ZCA6IHsKKyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICAgICAg
cmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KKyAgICAgICAgb25GaW5pc2hl
ZCA6IHsKKyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICAgICAg
cmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KKyAgICAgICAgb25OYXZpZ2F0
ZWQgOiB7CisgICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KKyAgICAgICAgICAg
IHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICB9CisgICAgICAgIG9uQ29udGVu
dEVkaXRlZCA6IHsKKyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAg
ICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KKyAgICAgICAgZ2V0
SEFSIDogPGZ1bmN0aW9uPgorICAgICAgICBhZGRSZXF1ZXN0SGVhZGVycyA6IDxmdW5jdGlvbj4K
KyAgICB9CiAgICAgcmVzb3VyY2VzIDogeworICAgICAgICBvblJlcXVlc3RGaW5pc2hlZCA6IHsK
KyAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgorICAgICAgICAgICAgcmVtb3Zl
TGlzdGVuZXIgOiA8ZnVuY3Rpb24+CisgICAgICAgIH0KICAgICAgICAgb25GaW5pc2hlZCA6IHsK
ICAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgogICAgICAgICAgICAgcmVtb3Zl
TGlzdGVuZXIgOiA8ZnVuY3Rpb24+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXgg
YzAyMDg0ZC4uZTVjZDQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNyw4
ICs3LDggQEAgUGFnZSByZWxvYWRlZC4KIFBhZ2UgcmVsb2FkZWQuCiBOYXZpZ2F0ZWQgdG86IGV4
dGVuc2lvbnMtZXZlbnRzLmh0bWw/bmF2aWdhdGVkCiBOYXZpZ2F0ZWQgdG86IGV4dGVuc2lvbnMt
ZXZlbnRzLmh0bWwKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RPblJlc291cmNlRmluaXNo
ZWQKLW9uRmluaXNoZWQgZmlyZWQKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RPblJlcXVl
c3RGaW5pc2hlZAorb25SZXF1ZXN0RmluaXNoZWQgZmlyZWQKIFJVTk5JTkcgVEVTVDogZXh0ZW5z
aW9uX3Rlc3RPblNlbGVjdGlvbkNoYW5nZWQKIG9uU2VsZWN0aW9uQ2hhbmdlZCBmaXJlZAogUlVO
TklORyBURVNUOiBleHRlbnNpb25fdGVzdFBhbmVsU2hvd0hpZGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWV2ZW50cy5odG1sCmluZGV4
IDNlN2E4YzguLjJkYzFmMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zL2V4dGVuc2lvbnMtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmVudHMuaHRtbApAQCAtMTYsMTUgKzE2LDE1IEBAIGZ1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0T25TZWxlY3Rpb25DaGFuZ2VkKG5leHRUZXN0KQogICAgIHdl
Ykluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiaW5zcGVjdChkb2N1bWVudC5ib2R5LmNo
aWxkcmVuWzBdKSIpOwogfQogCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdE9uUmVzb3VyY2VGaW5p
c2hlZChuZXh0VGVzdCkKK2Z1bmN0aW9uIGV4dGVuc2lvbl90ZXN0T25SZXF1ZXN0RmluaXNoZWQo
bmV4dFRlc3QpCiB7Ci0gICAgZnVuY3Rpb24gb25GaW5pc2hlZCgpCisgICAgZnVuY3Rpb24gb25S
ZXF1ZXN0RmluaXNoZWQoKQogICAgIHsKLSAgICAgICAgd2ViSW5zcGVjdG9yLnJlc291cmNlcy5v
bkZpbmlzaGVkLnJlbW92ZUxpc3RlbmVyKG9uRmluaXNoZWQpOwotICAgICAgICBvdXRwdXQoIm9u
RmluaXNoZWQgZmlyZWQiKTsKKyAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsub25SZXF1ZXN0
RmluaXNoZWQucmVtb3ZlTGlzdGVuZXIob25SZXF1ZXN0RmluaXNoZWQpOworICAgICAgICBvdXRw
dXQoIm9uUmVxdWVzdEZpbmlzaGVkIGZpcmVkIik7CiAgICAgICAgIG5leHRUZXN0KCk7CiAgICAg
fQotICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25GaW5pc2hlZC5hZGRMaXN0ZW5lcihvbkZp
bmlzaGVkKTsKKyAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5hZGRM
aXN0ZW5lcihvblJlcXVlc3RGaW5pc2hlZCk7CiAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdp
bmRvdy5ldmFsKCJ2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7IHhoci5vcGVuKCdHRVQn
LCAnIiArIGxvY2F0aW9uLmhyZWYgKyAiJywgZmFsc2UpOyB4aHIuc2VuZChudWxsKTsiKTsKIH0K
IApAQCAtNDcsNyArNDcsNyBAQCBmdW5jdGlvbiBleHRlbnNpb25fdGVzdE9uTmF2aWdhdGVkKG5l
eHRUZXN0KQogICAgICAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJs
b2NhdGlvbi5ocmVmID0gbG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWUiKTsKICAg
ICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHdlYkluc3BlY3Rvci5yZXNvdXJj
ZXMub25OYXZpZ2F0ZWQucmVtb3ZlTGlzdGVuZXIob25OYXZpZ2F0ZWQpOworICAgICAgICAgICAg
d2ViSW5zcGVjdG9yLm5ldHdvcmsub25OYXZpZ2F0ZWQucmVtb3ZlTGlzdGVuZXIob25OYXZpZ2F0
ZWQpOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1cmxzLmxlbmd0aDsgKytpKQog
ICAgICAgICAgICAgICAgIG91dHB1dCgiTmF2aWdhdGVkIHRvOiAiICsgdXJsc1tpXSk7CiAgICAg
ICAgICAgICBuZXh0VGVzdCgpOwpAQCAtNTgsNyArNTgsNyBAQCBmdW5jdGlvbiBleHRlbnNpb25f
dGVzdE9uTmF2aWdhdGVkKG5leHRUZXN0KQogICAgICAgICB1cmxzLnB1c2godXJsLnJlcGxhY2Uo
L14oLipcLykqLywgIiIpKTsKICAgICAgICAgcHJvY2Vzc0V2ZW50KCk7CiAgICAgfQotICAgIHdl
Ykluc3BlY3Rvci5yZXNvdXJjZXMub25OYXZpZ2F0ZWQuYWRkTGlzdGVuZXIob25OYXZpZ2F0ZWQp
OworICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uTmF2aWdhdGVkLmFkZExpc3RlbmVyKG9uTmF2
aWdhdGVkKTsKICAgICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QucnVuV2hlblBh
Z2VMb2FkcyhyZXBseSk7Iiwgb25Mb2FkKTsKICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2lu
ZG93LmV2YWwoImxvY2F0aW9uLmhyZWYgPSBsb2NhdGlvbi5ocmVmICsgJz9uYXZpZ2F0ZWQnIik7
CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLW5ldHdvcmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMvZXh0ZW5zaW9ucy1uZXR3b3JrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi42NWMxZjU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1uZXR3b3JrLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM0IEBACitUZXN0cyBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSQorCisgCitQYWdlIHJl
bG9hZGVkLgorU3RhcnRlZCBleHRlbnNpb24uCitSdW5uaW5nIHRlc3RzLi4uCitSVU5OSU5HIFRF
U1Q6IGV4dGVuc2lvbl90ZXN0R2V0SEFSCityZXNvdXJjZTogLi4uL3Rlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcworcmVzb3VyY2U6IC4uLi90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy10ZXN0LmpzCityZXNvdXJjZTogLi4uL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcworcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25z
LW5ldHdvcmsuaHRtbAorcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLW5ldHdvcmsuaHRtbAorcmVzb3VyY2U6IC4uLi9leHRlbnNpb25zL3Jlc291cmNlcy9hYmUu
cG5nCityZXNvdXJjZTogLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL0FoZW0udHRmCityZXNvdXJj
ZTogLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL2F1ZGl0cy1zdHlsZTEuY3NzCityZXNvdXJjZTog
Li4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL21pc3NpbmctaW1hZ2UucG5nCitSVU5OSU5HIFRFU1Q6
IGV4dGVuc2lvbl90ZXN0R2V0UmVxdWVzdENvbnRlbnQKK3sKKyAgICAwIDogIi5zb21lLXN0eWxl
IHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfSIKKyAgICAxIDogIiIKK30KK1JVTk5J
TkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnRFbmNvZGVkCit7CisgICAg
MCA6ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFBQUFDWEJJ
V1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFnQUVsRVFWUjRuRzE4YVd3YzUzbi96T3pNN016c2ZTOTNl
UitpZUlpa3BFaFJTTW1XTGNlS2JUbEhIY1d1RXp2Tmw3UW9naDZmaWdKRmdhSm8rNmtGQ2pSQWc3
Yi93a2xRRjAxaHVHa1ZxWElkeWJVczZxWWtrdUlsTHNWZGNzbmwzdmZzN0J6L0R6L082NUhjK1VB
czk1aDUzL2U1ZnMvdmVkNlh2bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RNUFFORTFS
RkUzVCtGZlROSTdqTkUxck5wc013emdjRGszVGFyV2FMTXMybTQybTZYYTczVzYzZFYybmFacW1h
VVZST0k0ekRFT1daVlZWYlRZYnd6QzZycXVxNm5RNk9ZNXJOcHVxcWdxQ0lJb2l3ekEybTgxbXMy
RWt1SW11NisxMnU5VnFzU3pMOHp6SGNiZ0podFJzTnZIQ1pya3dERjNYRGNQUWRaMWxXWlpoR0lx
aURNUFFOQTB6cENpSzR6aE1EeC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVEUk5veWpL
YnJjekRGT3YxOXZ0TnNNd2Ryc2Q3MHVTUkZHVXBtazBUYk1zMjJnMDJ1MjJvaWcybTgzbGNnbUNZ
QmlHb2lpR1lkQTBiYlBac0RUNGlhN3J1QzBtUUZFVW1UOUdSWnNYbVR4a2hubXllSmRNbXFJb1NN
eG1zK0gzK0lqSXM5MXUyMncyUVJBd2lIYTdMUWpDd01CQXRWcHROQnFxcWpJTVl4Z0dGcHZuZWNp
RXBtbXNXcXZWd3FkdXR4c3l4RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4Yzdobm50
VHhjTGc1dXlMQXVGd2IzSUpIRWp2OTlmcjljcGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhxTmVyMnVx
aXB1Z2w5QldhQ2xQTTlqbVhtZTUza2V6MVZWVlZFVXU5M3VjcmxxdFpyMXQwUnVXRHZLdk1nRWlP
aUl4aEt6SXBySWtnOHdkWElYVlZYSjdhd3FrYzFtWTdHWUpFazdPenVKUktMUmFEaWRUcmZibmNs
a2ZENmZJQWlRbTkxdTEzVzlWcXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9pajhGVVVS
aXdLUkV0VWxPZ1U1NHlOaStXUnU1SUtON0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQbWUrKzk5
ei8vOHorR1lZVERZWjduUjBaR1JrWkdob2FHNEU0d2RMdmREajlFVVJUeEdVUU9lQlpVbDZJb1da
WmJyWllrU1JBalJra0VpTCtZRmZHSUVCY1JJOTc4NHJCWnVBZWU1NjJXK293ZDR3Y1ltY2ZqK2NV
dmZ2SDNmLy8zZCsvZWRUZ2NzVmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNBSW9WQW9IQTdM
c3B6TDVRekRpRWFqRG9lalZDb1ZpMFZkMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwvTUJJcUFz
V0ZXK0JjclFnUklabWhWZUZhV1pXZ1grU1dtQkYyQ1loQzkxWFY5WjJkbmRuWjJhV25KNC9INC9m
Njl2VDFabGdPQkFNZHhlM3Q3cXFxdXI2L1hhclYydXowNE9IajQ4T0d0cmEzRnhVVlpsZzhjT09C
eXVWWlhWemMyTm5SZGowYWpvaWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhmTTdRS0JNcUZBZENX
QzZ0Zy9aZGNWbHVsUC9yb0l5eTgzVzZIT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1dnY2NG9T
cjFlOS9sOEhNZUZ3MkdmenlmTGNuZDM5K0Rnb01maktaZkxpVVFpa1VqazgvbmUzbDVZWUxGWXpH
YXo1WElaSGxXVzVYZzhQalUxTlR3OHpEQk1QcCtuYWRydjkvTThINC9IM1c2M0tJcnhlRHdhalhJ
Y3ArdTZMTXVWU3NYbGN1bTZYcTFXb2RYUUJTSU1DQloyUVF4NFA0UVFyME9jT0pRRVZ2R01pVzV2
YjFlclZWM1hGVVZwTkJwWWRWVlZoNGFHc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5WemMzTnZi
eStWU3VWeU9SaW5ydXU0ZWJsY3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQlpyUFY2L1ZtcytuMWVz
Zkd4czZjT2ZQODg4K0xvdWgydTNWZDV6ak83L2RqQW9xaVFQdXNVeUllRkZQYlJ3SzBKZkxBQVBB
OXErcHpISWZWeW1henhHc3BpZ0svVWk2WEh6MTZKRWtTeDNGNDArbDA5dmIyZG5aMlFyQzZycmRh
TGNSWXNvNkZRbUZoWVdGM2Q5ZG1zeFdMUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9QenM3T3oz
LzN1ZHc4ZVBOaHF0ZkRvU3FVaUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUmJyZGhxTVNoSWFCbHMx
bThDZDFHckcrMzJ3UWhZVjFLcGRMaTR1TGEydHJrNUdTOVhvY2NLcFVLNW1tMzJ5bUthalFhK1h5
K1VDZ2c1RElNSTRvaVFCekRNQTZIUXhURmJEYWJTQ1RxOWZxaFE0Y09IanlJUnp1ZFRrM1RYQzRY
NEFTeFE2dXpoTlpBY3ArREFTdXNzWVlnTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5nTVlBRG1n
SDhybFFyMEJUTEhHdU51VUEzNEdFZ0FrbFFVcFZLcDVQTjVqOGVER05ob05CS0pCT0F4VkJTQnFs
Z3M0bGxFT2EyS1NadTRsN1hhMnpPT2kzd2JyMlZaTGhhTEd4c2JCRHJqcWJpUkxNdE9wNVBnZFNB
WXQ5dGRLQlRJU2tQNFdCVGdac3dUWUpDb0djd1NDMGRSVkx2ZHJ0VnF4V0tSb3FpT2pvNTZ2ZDVx
dGVyMU9zSWVGSWMyTVRvSkIwQ2R1Q2RyeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJa1NaSlVx
OVhnZmdWQkNJZkQwQWlHWWR4dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUkFoWGNHOC96VVA1V3F3
VTVRK3dZcnRQcDNOblpXVmhZaUVRaWdpREFjQ2lLaWthamxVcUZ3RjNFUm93V2Q4UGtuNEoxVmdz
bVlzUWs4ZmhxdGJxMXRkVnV0OTF1dDl2dGhzcEpraVNLSW9UWmFyVmtXU2JRbWVmNWFyVktWQWpv
L0JtOEJ1TmhHQVpBRCtDV1lSZ0FRTnlOb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0vbkt4UUs5
WHFkUkF2YzhJdmhnQUoycFUxQWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcWxUaU84M2c4clZacmIy
OFBvYlhaYkJZS0JTSWlFb2cxVFZOVmxlTTR1RVJKa21DV0hvK251N3Y3MUtsVEhvL0hicmRuTXBt
SER4OHVMeTlEc1JHZm9iR3lMUE04NzNLNTRJYzJOalorL09NZmQzZDMvOG1mL01taFE0ZmNibmU5
WGlmNmlWbGdnYUNySkp5d0JCblFUK005aG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWswTncyZzBH
bzFHQTZPeG9tY1NEQW5DYWphYkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcFpGbTJYQzQvZWZMa3pw
MDdGeTlldkhuekptTW1hTFZhelRBTWg4T2g2M3FwVklLM3AyazZtVXgrOE1FSGtVaEVGRVdIdy9G
TS9tQU4rNStEQVpMRldNRUFIR0M5WHZkNFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZBUUJWb2VJ
MG1xMWNGdWd0bmE3N2ZmN2p4MDdkdWJNbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhCd2NIeDgv
RmUvK2xXdFZxTW95dXYxMXV2MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NDhPYWJiNGJEWWJneDZ5
Uy82RGdwaW1LeDJBUWxrSVVoNndHM3ViVzE5ZkhISHk4dExUbWRUaVM0UkU4UTkxcXRGdWFQcDly
dDltQXc2UGY3anh3NU1qbzZPalUxRlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RVMk5qWTFk
dkhqeDAwOC9iYlZheUU1VVZTMlZTZzZIUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRwSm1xWlo0
dDhKSk1CWFZWVVZSUkVxMTI2Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVDArUDFlajBlRDVUVDQv
SDA5ZlYxZFhXOTl0cHJaQVU1am1OWlZwYmxVcWtVQ0FRTXd5Q2NDSExscnE2dUgvemdCNGNQSDM3
Ly9mY3ZYYnBVTHBjRlFkQTByZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01yTlRpR28v
bjhSYkpJV0RFMmRaRmpSVXJWYTdmLy8rOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NFQXJGWUxCZ01S
aUlSbDh2Rjg3emI3ZTdvNkFpSHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPL3duRWNxQk9iemFacDJw
ZSs5Q1cvM3o4eU1uTDE2dFU3ZCs3SXN0elgxNWZQNXdPQmdLSW9GRVVwaXZMWlo1OUI4aVJCc2M2
VHNwQUpORTJ6UkltSkpQRTludWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3M2VlRHpl
MWRYRmNad2tTVTZuVTVJa1VCdmdwaHdPQjVZUHRxcHBHc2hCeE5KOTJNV3kwQm84dlZ3dWk2TDQy
bXV2alk2Ty92TS8vL09WSzFkS3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOVBUMCtuNDlNejdBd0cx
WWFnU1VFanpWamh1VlVLaFc4eUdhemhVTEI2WFNtMDJtZTUvMSsvOFRFeE1tVEo3dTd1eEVuZzhG
Z0tCUUNFb0pIWVZsVzEvVkdvMkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZrc1FCSWZE
Z2ZqcDgvbUN3U0J5RklaaElHMVpsaUdsaHc4ZlF1YTBtWEJhRGZLcGRBUnJqR2ZEcWJJc0MvMEJl
Yk83dTh0eFhDQVFxRlFxVHFlelhxOGZQbno0bFZkZU9YTGtpTWZqY2JsYzhYZ2NZaWZUdzYzaFFr
bmVvQ2dLd2RNa204UDZhcHFHM0FwZlEwQnl1OTFlcjNkd2NMQy92OTh3REkvSGswd21YMzMxVlFn
OG1VdytlZkprZm40K2s4azBHZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0ZkRTR1RC
NVJ3N2Rpd2FqYklzRzRsRUVBOWdWNFJsZ3hKaTdheFlpb0JKNjBPdGwyRVlQTThERzBFTFJrZEhE
eDgrM05IUkFRTmpHT2FkZDk1QllnbXhBOThERENQQWdvYUcvZU12UXlqelo5d3NJU0FFUVhDNzNX
QXJHSVpCK2k5SmtpekxkcnRkRkVYRHpNZVJDc0xrb0FVZWo0Y2dCK3NLR3BZMDF3cVNDY1dHck44
d2pMNit2aE1uVG95T2pyYmI3ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwayttRDJWdWky
UDhsbjFwV3NoOTF1eDdlRHdTQ1NQVW1TWUxTQTdCUkZRVmRiVDE4a255WVNmb1pOc3pvNXE2aUJi
NTFPcDkxdUIvL1UyZGs1T2pvYURBWnBtbDVlWHE3VmFpTWpJOFBEdzVGSVpHVmxKWi9QSTFBVG5w
SGdXSEx0SnpoazBzVEh3dldwcWdyNGV1REFnWEE0VERJTUVNR05Sa1BUTkVtU21zMG1TWE53UStn
cVlCRDlCYXovVEV3akY4Rk0wRnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdISGNxNisr
Mm1nMGxwZVhLNVVLWWcvS0xjQVAxbVZsaU1PMVhsZ01XWmFyMWFxbWFSNlBaM2g0T0JnTUlxeGhB
b2pnbFVxbDJXeFdLcFZHbzlGc05sdXRGb2FJREFPRkVIS1J4U1poMmpvOUtBaDBwMTZ2SS9kSGN1
eDJ1OCtlUFh2bzBLRlNxWFR4NHNWQ29iQzd1OXRzTm4wKzMvTHljaktaVkJRRklCRUIzSm82Njdy
KzFEK2s0SU1McmgvOHYyRVlLR09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhclljS0tvaUIy
azRzQUR5andNL01FQ0tITTBwQXN5NmdtSUl4RklwSGYrcTNmNnVqb2VQejRNVmI1OHVYTDI5dmJH
eHNiQ3dzTGUzdDdnaURBRkFsWC9qbDJ0VTZTc29CWUNNVGhjRGlkemthanNiMjluVTZua1grNVhD
NFFkdkY0SFA0TkdUTWNvSlg4aHo4a3NaZE1oakxSbFZXU21LU2lLRDZmejJhendlQVpzNExTYXJW
R1JrYjYrdnFheldheFdBd0dnNDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZhdDk0TVpZ
V0Vrays0cWl1TjN1YXJWcXM5bENvZERzN0N3a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJVUJTRWpn
cXVxNm5BNGtDc0hnMEdHWVNxVkNydzBTYVlocm1LeENKV0dTUVBXTmhvTlNFK1NwSFE2VFZFVUdN
Qnl1Znpnd1lOSGp4NXhISmRPcHdPQkFOaWRsWlVWbG1XZFRtZEhSd2ZvUWl3V0tCVmNMQlllYjFG
bW1BWTZKNWE1c3JKeS8vNzlUQ2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tpUWhGMnMy
bXh6SE9Sd09lQlNQeDRNblF1YUtvcWlxR2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdpejJVd21r
NlZTU2RkMVFCU1daWnZOWnIxZVgxcGFNZ3hqZkh6ODJMRmprVWhFbHVWQ29ZQlVjMStTRUIxaktS
REFRU0dqcDJtNlZxdmR2WHYzeG8wYm1Vekc2L1ZtczltQmdZR2hvU0dmejlmWjJRbEtHN1huVnF1
RmVGaXRWajBlRDh1eTBHcFM5QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVpYm04dG1zMGVQ
SGwxZVhwNmZud2RHNys3dWJyVmE0WEI0ZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkzS1hUMWxr
ekJXVEJ1Sk9jL3orWHgrWVdGaGMzTVRFYlhaYkNKOFlSQ1FQSDRpU1JJTVcxVlZmQmtFS1pUVDRY
RElzcHhLcFJZV0ZoNCtmRmdxbGFhbnAwZEdSa2pCcjFRcXdRdGd1V1ZaeGlPV2w1ZDNkbllrU1lK
L0xoYUxvaWllUFh0MmFHaW9VcW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9RajgyUytQWk1VRWFJ
VTFVMWxVcHRibTRDMzJtYXRyYTIxbXcyRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FRdjhISlE3
RXFsa3MxbXE5VnFzVmhjWEZ4OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxa1dVYU9CcitkeStWcXRa
cmI3UTZGUW9jUEh4NFlHTGgxNjlhZE8zZWdkKzEydTFRcUFYVVIwRThneCtlU05MNVFXcVlvcWw2
dmwwb2xWVlVCZEhSZHoyYXp4V0lSU1laaEdBQjlraVNCbTNLNzNXQmZPanM3bDVlWG56eDU0bks1
NXVibVZsWldjcmxjT3AwRzEreDBPamMyTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhnZEJTK1B4
d01HaEtLb2JEYXI2N3JYNnhWRjhkNjllN3U3dTlldVhkdmUzdlo2dlVoV1pGbHVOcHZvNTBCdS9i
bTZXcU16WXlsWmt5RG04WGg2ZW5vS2hVSXFsVUw2ZzRRRHRKcWlLS2prb0NqZ2REcTd1N3ZENGZD
Nzc3NHJ5L0tISDM2WXkrVlNxWlNpS0JnM3lwTFZhbFVVeGUzdGJZcWlvdEhvMXRaV1IwZEhNQmlF
NnlMcHBTQUlyVllybDh2SnNwekpaRnd1MTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1Y0FjOENX
Z3hCbThUaHo3MHJ3YXRXZVdxYUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVER1pyT0pva2hSRkR3RWJB
bVU3Tzd1YmpRYS9aM2YrWjJ1cnE1VUtvVWc1SFE2S1lxcTFXbzBUWVBJUklxenM3Tno0Y0tGWC8v
NjF5ZFBubnpublhlbXA2ZlJEMExUZExGWWJMVmFjTTdsY2htREdSb2FXbDVlaGd2OHhqZStBWko2
ZTN1NzJXenlQQjhLaGNCM2tSVDg4emhKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtEQkE1N25R
Yy9CTVNMblJEK0V3K0hBcDVxbXpjek1nQlErZi83OCsrKy9YeTZYRVFZMVRmTjZ2YVZTcWErdjcr
REJnNElnb0dnbENNTE5temNGUVVBMUhpUWdTcFEybTIxblo0ZW02WGE3UFRBd2tNMW1rOGxrTkJv
TkJBS0lUTWVPSFd1MzIrRncrRXRmK2xLMVdrV3N0Z3FNb2lqYm0yKyt5VmlxQ0FRV0Vjb1U0c3Bt
czQ4ZVBVSVJqakJBYnJjYlgvRDVmUGw4bmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2EvWENXak81
L095TEkrT2pvNlBqNE9WTHhhTFRxZno0TUdEMFdnVWZvdW02VktwZE92V3JVUWlJWXBpYjIrdnBt
bnBkQnIxN0Znc05qSXk0dmY3T3pvNmhvYUdSa2RIQTRFQWJiTHlHQjZabCszTk45OGsySXBrZEVo
RENmWURGYkt5c3JLN3UwdkVpRFFLeFN5S292QW1nTTc1OCtkUG5qeloxZFdGZkJvVmRUakdiRGFM
MmttOVhyOTM3OTdLeWdwTjArRndHUHJjYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdjT25EeDVz
bGdzenMzTkljREN4MGFqVVZtV0k1R0lKRW43bXNteVlOdWVza25LMG81RWNnVTRaYWdmNkJtLzN4
K1B4OWZXMWdqamhreks2WFFpTDZsVUtzQ3I3WFlibUFZUGlNVmlMNzMwVXIxZS8raWpqeWlLaXNW
aWtVaGtmWDI5djcvLytQSGpwMDZkYXJmYitYeGVFQVNvVExQWkJINUFTamsxTlZVb0ZIcDdleWNu
SjFWVnZYbnpacVZTUWUwTXZnRGtvQ3pMS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVLMFFEWU0y
RW5UTklJVndCcE4wNklvZ2xNQ2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVlkzaDRHRkFlWWJDN3U3
dFdxK1Z5dVdBd2VQejQ4VU9IRG9WQ0lhL1gyOS9mNzNRNlVRZ0Q5ZTV3T1BMNS9NREF3T0RnSU1N
d0N3c0w2K3ZydXE2UGpvNCs5OXh6U0d0Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhGb09ZUTRN
REJ3OGVEQ1ZTb0diOG5xOWRydTlXcTIyV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZNc0ZnRkUr
dnY3OC9rOE9QVVRKMDVVcTlYZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOc0lNT2lLTXB1dHlOYUJv
TkJ1OTArTURBd01URngvLzU5dTkzZTFkWGw5L3ZCSHVUeitYQTQzR3ExYXJXYTErc2xaVStTMzlq
ZWVPTU5vTEJuc2o0Z1FGSkxROUtFZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Ydnh4UmY5
Zm4rcFZGSVVCWm9NS09OeXVUWTJOdGJXMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRSZFhWMm90
NU9zVFpibHpjM05lRHdPbnJKUUtPenM3SFIxZFgzdGExOGJHUmxCSStMMTY5ZEJLUm1HNFhhNzBh
NWhaZEJ0My96bU4wbVYyNXJhb1ZTTWdHR1lUWURGWWpFVUNyMzQ0b3VxcXE2dXJxSWF0N3E2V2ln
VVhuNzU1ZWVlZTI1aVlnSnJHUTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJjM096Z0pZ
Z3pjQ2JBSzBBUE9QdWwyajBjaG1zeXNySzhGZzBPVnlHWVpSclZieitYeFBUOC8wOUxUZjcxZFY5
ZU9QUC83YnYvMWJYZGRScDNDNVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaGtBQUt3eXdsU1VKM1p6
Z2NwaWpxekprekxNc3VMQ3djUEhqd2hSZGVjRHFkTXpNejYrdnJHeHNiQnc0Y1FPQk9KcFBvN3dF
bGtVcWxlbnQ3ejU0OSs4WWJiK1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIzLzk2ME9I
RG9HWWpVYWpmL2lIZndob0NreHkvLzc5VUNpRUVJQVY5SHE5eUorSTByS0FBU1NFVUNiYlJjZ0l3
K3hFWkZsV2txVGJ0MitMb2pnOFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3M3dnc3ZrQjVDQUVCRlVi
cTZ1dGJYMXgwT1I2VlNnVlY3UEo1NFBJNTZFUVlFSWtMWGRheExQcDlmWFYyOWV2WHFqUnMzUVBP
VVNpV2Z6d2RmU3BrTXh1Ym1aakFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNklsZ0JnZHV3
OUwyd0xJdEYydG5aS1JhTGZyOC9Gb3NCSjBVaWtjSEJ3WGE3aldLQllSaGdnQVJCNk96c3ZILy9Q
anErc0Zpam82TW9MWUlLSk05Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6Y0hCd2NyRmFyZHJ2ZDcv
ZTdYQzU4TXhBSW9CQStPRGg0NnRTcFE0Y093UzVJYkdNc3BEWmpKZEZvcytjWFJCQkpGQ21UTVVD
TDVQYjJkcVZTUVdLS0pNdmxjdjN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRyR3hnVENJ
WEJuRVBHcVBXMXRiNVhLNVVxbklzdHh1dDNkMmRweE9aendlQjM1QWtvbThES3N2U2RMWTJGZzRI
RVlVOFhxOURNT2dNWVRFRDRxaVRPRHpmL1dBUUpJRUp4aG1jWHR6Y3hPdGNEelBSeUlSWGRjLy9Q
RERUei85OVBqeDR4MGRIYUlvb3ViUmJyZXoyV3lwVk1JcTVQUDVuL3prSndBb3dJUHdNZERZY3Js
Y0xCYlgxdFlXRnhldlg3K3U2enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFWd3VWelFh
UldvT2VJQXB3RjFUWnBLODMxaGtQRjNjTTB3U0dxa25YaUNJalkyTi9leG5Qd05WSVFnQ1dJbkxs
eStQajQrSFFxRmtNdG5WMVlYNkxGRlhRSlp3T1B6bmYvN25pVVRpci83cXIzdytIeXdaMmw2cjFW
Q2lLUlFLcTZ1clhxKzN1N3Y3OGVQSDQrUGpJeU1qWHEvM3lwVXJ6ei8vUEVnRFFQOUNvYURyT2h3
c1NpUE5ack5VS29GNXNsb2ZUZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1lU2RPM2Z1
M2J2WGJyY2JqY2JDd3NLREJ3OGcvRWFqZ1p3QU9TR2F1SHA2ZWo3ODhNTkVJaEdMeFFnY0E2eUQ2
NTZibTJOWmRuQndNQnFOWmpLWjhmSHg4Zkh4Mjdkdi8vVmYvM1VvRkhJNm5kVnFkV05qSTUvUEk0
RUczRUh1QmllSDFBOFJnY2lNTlo0bTdZbkdBdXpDczVOYUZjTXdrVWprOU9uVC8vVmYvM1g1OG1X
d1ZaVkt4ZTEyKy8zKytmbDVpcUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQUE8rdnI2
KysrL3Y3YTI5dFpiYjNWMmRsSVVKVWtTNkFLMGZBOE9Eb3FpbUVxbFhuLzlkV1RuOSs3ZFV4VGx6
LzdzejM3djkzNnZwNmNubjgrSFFxSFIwVkZKa2tDTFFyYWt2TTlZeUVkSWtvV2lBMG1SWmdxYjJk
d0RENFQrQTl5Q3B1blRwMDkvOE1FSFNDbjhmajlTcmNuSnlVYWpzYm01YWJQWnl1WHlyVnUza0ZY
elBPOTBPdDk0NHcySHc4R3k3SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3WUdCbDU2
NlNWQkVJNGVQZXB3T0ZDUWhISW1rMG5RSmJGWXJORm8rSHkra1pFUlFSREErZ0d2d2pSMHkyWUVl
Q1lTQlZuQ2N6Tm1RdzlsTmtVVGVJVUxWcVFvU2pnY1BuTGt5T3pzTEpMYWNEZzhQajVPR3ZuUUpZ
YTZpTmZyUFhMa3lBc3Z2SEQ2OUdrUUgwZU9ITkYxdlZxdC91ZC8vaWZETUYxZFhkLys5cmYvNGkv
K1lubDUrUi8vOFI5RG9SQ2NPVUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5MOWhhU2Fu
TGRWQlluY1VSZG5lZXVzdEVqbklEQ0ZTQUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQzZFBUQXdz
TE96ZzlaT1JWSFFQUEhsTDMvNS9QbnpKMDZjNk83dXBzMXFERkR4aXkrK3VMYTJkdWZPbldQSGpt
VXltU2RQbmd3TkRRVUNBVGhlVVJUaGxuWjNkNzFlNzRrVEo4Ykh4enM2T3VCYUVlaEo1ZVlabmhI
enRNWUwyMi8rNW0rUzVJTVlxKzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQxZDF5T1JDSDVD
VVZRNEhENS8vdnpSbzBkQm1lTExDR0xqNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1a1pDU2J6
WVpDSVlaaDBQaU42bUFrRWtFUXdoeVF0YUk2U0t6dS81d2tlZk9wZlM0a0t0Sm1JeXZranE1dXFD
NTJCUFQyOXA0NmRlcnUzYnMybTYxV3F5V1RTWFFVcUtwYUxCYkQ0VER3NU5iV1ZqNmZoeHVzVnF0
Z0pVRjJRRXJmL3ZhM0dZYjVmLy92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlCZ2gwU1FoUmxjMEp3
VzZlZ1d6cTFXSUxkaUVMdkIxQ1diWnRiaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdoaThmbDhQ
cDh2bFVvMW04MXNObHVwVkRSTnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaU1USXljdVRJRVVWUmhv
ZUgyKzEyUEI3MytYeDQzK2wwS29xU1NDUldWbFpBNGNEQllIcFFZOHJDK2xzbFpGamFYY2pGa21h
Tno1RWV3OER4R0dhWENIUURyeHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1L1A1dWJrNXQ5dmQwOU1U
aVVTUUtNYmpjVTNUc3RuczB0TFN2WHYzRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZMWTJLU3E2
dTd1N3BNblQvYjI5amlPNit6c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGT2VIODN3VE0rQ3FHR0JG
TVNadUNmVVBaSkpwTVVSU0dyNWpqdThlUEg5WHBkbHVYejU4K2ZPM2Z1M0xsenNWZ01aVHdzLyty
cTZ2ejh2TmZyZmZYVlY3LzJ0YThCTGRScU5UU0JYcjE2bGVmNWwxOSsyVzYzNTNJNTlLN3dQTi9i
MjRzOG1EU29JUWFDNE5ITWJRR1VoZnUzVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdCV0hvOG5G
QW9waWlKSlVxUFI2T3JxNG5sK2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMm15MGVqMy95eVNkMnUv
M2RkOS85eWxlK3NyZTNwMmxhUHA5UHBWS2hVT2pLbFN0ZXJ6Y1lES2JUYVhCUXlXUlMwN1JVS3RY
VDAwT3FsN0I1VkkyYXpTWXFpK2ludGJvZkROWHFkV2lhWnJXbjkwaDgvb0dweGtScGNhSERKaEFJ
N096c1JDS1JUQ2FqYVJyeWtsZ3NWcTFXczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5TVRQem9S
ejhhSGg0dWw4dG9EMGtrRWx0YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4K2ZMaTV1WWtPSG83alVx
a1UzQS9nSWFBdnRpRWdybUpzdXRsYVpqemR5Y0phTVo3Vk1xM2l0aHE2Mys4dkZBb28xb01jUWZv
VGlVVFFvREEyTmxZcWxRcUZ3dlBQUHgrUHg3dTd1KzEyKzhURXhNaklTREtaZExsY3BWTHA1czJi
VjY1Y0FmcHRObU9HMUZrQUFBOTRTVVJCVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwrLzN0L2ZQ
ejQrRHNOQkVnUEt0MXF0dWx3dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUWxtMms1Sy8xSS93ZUUv
dlhmLzNYZERwZHE5VjZlM3RCUm1DQkhRN0hLNis4MHRuWitlbW5uM1oyZHY3d2h6OUUvejhXWlgx
OS9jR0RCLy83di84cml1TFMwaElBRFdBVGRLZFNxWHp5eVNlNDFjbVRKd2NHQnRDNDV2ZjdaMmRu
WlZrK2ZQZ3d4M0VvalNERHRKcmwvM25STk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldVRmJaR2hV
QWpMakoyd0w3MzAwc0dEQjJ1MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYmlMM3o4L09QSGowNmMr
WU1BcjNkYm9jQ2N4eTN0cmEydTd1N3Q3Zm45WHEvL3ZXdno4ek1RSFE4ejJQTHhOTFNrcy9uaTBR
aWFESURIL2xGQmJUaTAzM25RakpqcS9sUlp0dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhkL2EydXJz
N0N3V2kvLzkzLzhkaVVRTXc5amEyanA0OE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RWTTQrN2R1
NGdaS0hXZ3lrQlJGUEttWURENDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaVREbVpyVldHeElPeXBF
ZUpzbXgxb1o2T3R1UmY4QlJUVTFPLy9PVXZRVlZRRkZVdWwwT2hVTGxjM3QzZGpjZmpEeDgrTEJh
TG1xYXRyNi9Mc2x5cjFYcDZlZ0tCUUwxZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVYSWRIUjNZ
Yitad09Gd3VGellQWXdmZTl2YjJyMzcxSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNpV0NUSXI2
K3N2VGhLRUVNL3pwMDZkbXBpWWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSS0pacW1jN21jeitkaldU
YWRUa3VTUkx4dU1CakUvaVJzTGdFaDBHNjNVWElFTUo2ZW51N3A2Y0VjR0lZQjJlRndPQVJCV0Zs
WlFjU2FucDUydTkyQ0lEUWFqV2Y4alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndtWnV2c1h6
SEE0SE9zSkRvVkNwVkZwZlgwYzdQSnArZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVnTlRoTGxH
anh1Ykd6czlPblRnNE9Ec1ZnTVhRNFlkektadkhUcGtxSW9wVklwbFVvaEUzUTZuYkJuaVBRWklY
MHVTZmdZMHZwQmZBenBraU9LU2xFVUdvZlJubmY0OEdGWmxyZTN0NWVYbDJHOTROUVk4NUFCQkhG
aTJOYS9GRVhoU0FIRGJJbkF0QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtmbjVyMzcx
cXlkUG5vUnhBcW1qWFFOQm5reG5IOFZiSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2WHJ5NHRMUzBz
YkZCV2RKelRkTlFxMFRVUWNIUDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZFRzeWZNVTh0Mk52Ymcv
MUxrcVFveXU3dUxseng0dUppZjMvL29VT0hlbnQ3MFk5ZXE5WHE5VHE0K1gyZ1prMnVpV1lUa280
a3pjQkRVRjNVNnByTlprZEh4K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZzM2NjNjFi
bWtESkMraXFZUmhJdnVGMWdYTEF4S0xlU05NMHgzRWJHeHZ3a2JWYVRSQUU3RGk2ZnYzNnZYdjM0
dkg0ME5EUWdRTUhob2FHaG9hR3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QXBpVkJCWDRmYmdEN0pV
cWxrdHZ0OXZsOG9GdHROcHZENFNnV2k4MW1FNXZ2Q2F4bkxIMGw4T1NvQXNHWWNZWUMrc0JuWm1a
Q29aQmhkbWFRTFdlcnE2dHV0OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUxUEhqaDNy
Nit1THhXSit2eCs5eUt4dTJhTm1qUzJVcGVuRmVKb3lNY3lxTmVRMlB6Ly9zNS85ckZ3dWQzWjJU
azlQUDNueUJPZ0U0ZUdMbWtLWlBlNk5SZ090ZG1oSG5KeWMvUDczdngrTHhZalYyR3cybENqVDZU
UWFYRkVMYUxmYmFHVnh1VnhvQ0Vla1RhZlQrWHoreG8wYmdpQk1UMDhQRGc1T1RrNzI5L2V6SktX
eXpvR3lrQ0J3UDhTSURjTUEyd2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTByYkdYc29z
WUlPYklidElBVjltWm1iZWZ2dnRreWRQZ2lJQ0x3RUwxSFY5Y1hFUmVSbCthTTJlc2JrR3ZBejhU
YlBaYkRRYVAvLzV6OEdiUktOUnhzclQ0VUl0aEJBODFrOUpXUWFNYUtWU3VYVHAwa2NmZlFRMkhY
c0dvV3lVMlN4dlJiL2tXVFJOVjZ0Vnd6RGdkY2JHeHY3Z0QvN2czTGx6bTV1YjBDRGdVbGhzcFZL
NWZmczJNQ0NzQUNrQnFVd1QvMFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhTUm1XbWtl
NElHbHBhWExseTlmdm53WlViSFZhbzJQajZONGp2bytGb2owdllEN2c5SWliQVFDQVZtVysvdjcv
K2lQL3VqczJiUDFlaDBSSDRFbkVBaWdMVUdXNVd2WHJsRVVoWm9IR3E0Y0RnZGNJTmt2WnVVcEFj
dUFCMjAyMi81K0FXUVNtQ1FwcEpIT1NreVlZUmhGVWRDRHVyUzB0THE2K3VqUkkrempobHNIbUk1
R295TWpJeXNySzZWU0tSd083KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enovM29Sejk2
NFlVWHF0V3FxcXArdjc5YXJUcWRUdUErVGRQOGZ2K0ZDeGZRUFloRlIrNWltSHNZU1JaQ20rME5j
R3hvVjlobk13QmxJREY0Rkt3MzVveGdoWjJEMld3V2ZWa3JLeXRMUzB1NVhLN1JhTURGNDZZb3Y0
YkQ0Vzk4NHh1dFZ1dkNoUXQ3ZTN0dXR4dEZkVXdBQWFaY0xyLzExbHM4ejMvem05OUVPUUF0c29x
aUlDdENhY3poY0pUTDVZOCsrZ2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVKRGtRemZQ
VGdMcG1FZ2s3dDI3dDdhMnRyQ3drTXZsVU1xRnJ5T2RQVEI5bG1XbnBxWUNnUUNvalpXVkZVZ21u
OCtqbEQ4Mk52YmJ2LzNiTXpNellFYlFqdWYzK3gwT3g5N2VYaUFRSUJzUGFacis0SU1QMEhacU05
dm5OZk9nQkpRM3lRWVVFdHV0MFo0eVdRN1daaDZpWkUwK0VJNUxwVkkybTBXeSsvRGh3NjJ0TFdB
b3FEVFJjQ2loeldZREtLL1Zha2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhzLzN2dmU5
ZDk5OWQzSnlFbjRGM1RJNDFLUmVyNlBUQW5lbUtPckdqUnZ2di85K3FWUWk4SVVJZ0lBSDJxVGFu
dEZiYS9CbkdjdlpHU3pMQW55aVhBRmN1cmk0dUxLeUF2cVkzQWdPVFRWM1k3SG1YaUFVUW1BLzZM
QTdlL2JzbTIrKytkNTc3eVVTaWU5ODV6dm56cDJ6Mld5bFVva3hTNlVNd3pnY0RrVlJ3R3MwR2cy
djE0dFRFbVpuWnpjM056RVpPR3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZkZ1BIanhZ
WFYyZG01dkRsaWgwYVBJOGo0MERKS0lRZ0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lXNkNGRHho
cE1FK2tOWkdxdURaYUxNNmoyNkVBazhKQkdJc09NRXNSRDRTWElSeGtJZFA3VkpGT2RScE5QcFRD
WnovZnIxOWZYMTlmVjFoSFVVMGtGa29YK05ZQ3NvakNBSVBUMDlEb2NERGdNZFpsNnZGNTdHWnJP
UllpYVlhR0I5ekFyUkM5cUJTZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJFN1JKK2hrbEI3
bHBpaUxNdnBkSHBoWVdGdWJtNWpZMk5qWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdySVFwdVZC
Vm1XRnhZVy91RWYvdUhSbzBjQXNVTkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUnljbkprWkdSVUNqVTI5
dUxkbEhOM0l6QTgvenQyN2ViemViaHc0Y3ZYTGlBT0lIVHh6Uk5RemFMamV2SUU2QzlpSndJajFB
VDB2MElsV1pSazFwYld3UExSRTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZOTEMwdGRYVjFaYlBa
UC83alAzN3c0SUhmNzg5a01nNkhnM0R0V0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lIcDZXbWc2
a0FnY1BIaXhmZmVlMjkrZmo0V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIV1Ixc09BdVBNYll5R3Vl
R1ZwbWtXMjlrWEZ4ZnYzNysvc3JLU3pXWlY4eXc1a3Z0UkpqOUFVUlFjRE82T2xtU080N3hlN3p2
dnZETXhNYUZwMnZ6OC9OMjdkd0VrME5CRkZNeG03aHBCOVJ2dHZMZHUzZnFQLy9nUEZDVDlmajg2
V3lSSnltUXluWjJkdVZ3Ty9ra3pUMzBoV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEvZjJOaVlu
NS9mM054RUxzOVp6cFFnanBnZ1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbzZNaG1zNDhmUHdiRGpV
UUJaUXpPUE1rUGdSNTREVW9GR0l3VmNUcWRsVW9GRlo2ZG5SMTRYYlJody9NQkd5SkVROG54UGxZ
Qm9xYk5zeDFKZEdRLy92ampYQzZYeVdUUVBzMllKNmdRMXVTWkZLUmVyOE9Yb0xrRFgvdis5Nzhm
Q29Wa1dVYlRHSHdZRWs3QVdyVFlZNU1zRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1GS3BSSllI
eGdoYWlwRW9SQ3hPUE5JUTl3UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDa3BxbVptMGZ3THlHVVNM
eXExV3JvSU1aT1ZhQy85ZlgxMjdkdjB6UU5oMG1PbDhCdENRK0NnYUxYSEllandDQXptY3pzN0N3
a0dRZ0U0TWFCWmhtelBZeHdia0RrRUNsOEJDbWkwalNOSFZINzJKWG9Ia0ZEK0Rhd0NHVnBYQ0xa
T3BhVEZNK09IRGtDMFQxOCtQQ2YvdW1mUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpiUDh6Z0xy
ZFZxNGFBdG5ES2w2em8yaWRJMFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSREdzTXdiREFZUk5BakV0
UE5VNnFJWDJVc2xXYVExb3Fpa0dUbjFLbFRFTWlQZi96amYvdTNmM081WERBR2RDdUNpZHNuV3N6
VFZTdVZpcy9uMjl2YjgzZzhvaWdDOTN1OTNrS2g0UEY0a0lWaER3Yk1HQkFLRHQ5NG12Nm16UTRK
bTNud0ptYU9nMS8ySzZ1SUZvYUZMOVRONmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1d0hKZkw1
V1puWjNFU0VVVlIxV29WNUkwa1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMEJBS0JSQ0xSMGRFQi9n
YWhHSjEzdUJVZ0hrQ2wxK3ZGZVRwWVB0d2NyclZjTG1ORHJxcXErNVFrZ1VpVVNUUUJHVkpmcU9F
QkpXTUV1cTZqN1lSbFdWUUVFSFd4c2Nubjh5RmVvMnlLd0kzdGQzRDlMTXVpNU43VjFSVUtoVERW
ZXIzZTM5Ky9zcklTQ29VUTBDdVZDbnd2eWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0QmlyR2sr
NXl4OE9xR3BTQkxkSU8ybEkyUVNlUHdSSERrMkd4R0tFYWczTDI5dlVna2d2M3RpT01vaElFUU9u
SGl4Q3V2dkRJNU9ZbkpBRXMxbTgzbDVlWGYvLzNmUnhjLzlrWXo1bUdCMXVVMlRNcmJNRHZLeUR0
a0k4YyszTEVPM1FvQVNOMlMzQlRmTWN5eUQ4cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBGcXRsc3Rs
Tkp6QjE0Mk9qbjc5NjE4L2NlSUVXbFlvODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFnWW9DeUhh
bUtEcmFxcWRyc2RaNnVnU3dOTmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVVZaTDRDSUl3TURBQWM0
ZER5dVZ5T0w0WmcvQjRQSTFHNCt6WnMyKy8vZmJNekF6MjkxSm1md01rUThJQVlHcXRWcnQyN1Jw
OEk4ZHhicmZiNFhEVWFqWEVRemhuMmp3WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpkTFRBblJp
alR5VXVXK0xzUDJnWkhwNmVoQ3lmdmpESDNxOTNnOCsrQUROU242L0gyNGdIbysvL2ZiYnYvRWJ2
NkZwR2pZaVl3OGJVU0pWVlFIMFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTkJIOUoyUWIyUmxBWFkx
YXJNRDNNZ3BSR1dLZ2ZaU25kV1hXWWVwcUp4UzVjR0Vrd0dBd0dnNFpoOER4Lyt2VHB2cjQrcDlQ
NTcvLys3NkJrQkVIbzd1NCtkKzdjOGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtxbnJlcVBS
ZVBqd1lUcWRSaWoyK1h6WUk0RjBqellKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6dTUvOERK
YytjVWNoZFREc0FBQUFBU1VWT1JLNUNZSUk9IgorICAgIDEgOiAiYmFzZTY0IgorfQorUlVOTklO
RyBURVNUOiBleHRlbnNpb25fdGVzdFJlcXVlc3ROb3RpZmljYXRpb24KK1JlcXVlc3QgZmluaXNo
ZWQ6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLW5ldHdvcmsuaHRtbAorUlVO
TklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNlQ29udGVudEVkaXRlZAorY29udGVudCBm
b3IgcmVzb3VyY2UgLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL2F1ZGl0cy1zdHlsZTEuY3NzIGVk
aXRlZDogYm9keSB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9CitBbGwgdGVzdHMgZG9uZS4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9u
cy1uZXR3b3JrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLW5ldHdvcmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmIx
M2YwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMv
ZXh0ZW5zaW9ucy1uZXR3b3JrLmh0bWwKQEAgLTAsMCArMSwxMTUgQEAKKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9hdWRpdHMtc3R5bGUxLmNz
cyIgdHlwZT0idGV4dC9jc3MiPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1p
bHk6ICd0ZXN0JzsKKyAgICBzcmM6IHVybChyZXNvdXJjZXMvQWhlbS50dGYpOworfQorCitwIHsg
Zm9udC1mYW1pbHk6ICd0ZXN0JzsgfQorPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
bmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRIQVIobmV4dFRlc3QpCit7CisgICAgZnVu
Y3Rpb24gY29tcGFyZUVudHJpZXMoYSwgYikKKyAgICB7CisgICAgICAgIHJldHVybiBhLnJlcXVl
c3QudXJsLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShiLnJlcXVlc3QudXJsLnRvTG93ZXJD
YXNlKCkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uSEFSKHJlc3VsdCkKKyAgICB7CisgICAg
ICAgIHJlc3VsdC5lbnRyaWVzLnNvcnQoY29tcGFyZUVudHJpZXMpOworCisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcmVzdWx0LmVudHJpZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBv
dXRwdXQoInJlc291cmNlOiAiICsgcmVzdWx0LmVudHJpZXNbaV0ucmVxdWVzdC51cmwucmVwbGFj
ZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpKTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2Rv
WEhSKGZ1bmN0aW9uKCkgeworICAgICAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5nZXRIQVIoY2Fs
bGJhY2tBbmROZXh0VGVzdChvbkhBUiwgbmV4dFRlc3QpKTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gZG9YSFIoKQoreworICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4
aHIub3BlbigiR0VUIiwgIiIsIGZhbHNlKTsKKyAgICB4aHIuc2VuZChudWxsKTsKK30KKworZnVu
Y3Rpb24gZXh0ZW5zaW9uX2RvWEhSKGNhbGxiYWNrKQoreworICAgIHdlYkluc3BlY3Rvci5pbnNw
ZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gZXh0
ZW5zaW9uX3Rlc3RSZXF1ZXN0Tm90aWZpY2F0aW9uKG5leHRUZXN0KQoreworICAgIGZ1bmN0aW9u
IG9uUmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QpCisgICAgeworICAgICAgICBvdXRwdXQoIlJlcXVl
c3QgZmluaXNoZWQ6ICIgKyByZXF1ZXN0LnJlcXVlc3QudXJsLnJlcGxhY2UoLy4qKChcL1teL10q
KXszfSQpLywiLi4uJDEiKSk7CisgICAgfQorCisgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsub25S
ZXF1ZXN0RmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJhY2tBbmROZXh0VGVzdChvblJlcXVlc3RG
aW5pc2hlZCwgbmV4dFRlc3QpKTsKKyAgICBleHRlbnNpb25fZG9YSFIoKTsKK30KKworZnVuY3Rp
b24gZXh0ZW5zaW9uX29uUmVxdWVzdEJvZHkoY29udGVudCwgZW5jb2RpbmcpCit7CisgICAgZHVt
cE9iamVjdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTsKK30KKworZnVu
Y3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRSZXF1ZXN0Q29udGVudChuZXh0VGVzdCkKK3sKKyAgICBl
eHRlbnNpb25fZ2V0UmVxdWVzdEJ5VXJsKFsvYXVkaXRzLXN0eWxlMS5jc3MkL10sIGZ1bmN0aW9u
KHJlcXVlc3QpIHsKKyAgICAgICAgcmVxdWVzdC5nZXRDb250ZW50KGNhbGxiYWNrQW5kTmV4dFRl
c3QoZXh0ZW5zaW9uX29uUmVxdWVzdEJvZHksIG5leHRUZXN0KSk7CisgICAgfSk7Cit9CisKK2Z1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0UmVzb3VyY2VDb250ZW50RW5jb2RlZChuZXh0VGVzdCkK
K3sKKyAgICBleHRlbnNpb25fZ2V0UmVxdWVzdEJ5VXJsKFsvYWJlLnBuZyQvIF0sIGZ1bmN0aW9u
KHJlcXVlc3QpIHsKKyAgICAgICAgcmVxdWVzdC5nZXRDb250ZW50KGNhbGxiYWNrQW5kTmV4dFRl
c3QoZXh0ZW5zaW9uX29uUmVxdWVzdEJvZHksIG5leHRUZXN0KSk7CisgICAgfSk7Cit9CisKK2Z1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VDb250ZW50RWRpdGVkKG5leHRUZXN0KQorewor
ICAgIGZ1bmN0aW9uIG9uQ29udGVudEVkaXRlZCh1cmwsIGNvbnRlbnQpCisgICAgeworICAgICAg
ICB3ZWJJbnNwZWN0b3IubmV0d29yay5vbkNvbnRlbnRFZGl0ZWQucmVtb3ZlTGlzdGVuZXIob25D
b250ZW50RWRpdGVkKTsKKyAgICAgICAgdmFyIHVybFRhaWwgPSB1cmwucmVwbGFjZSgvLiooKFwv
W14vXSopezN9JCkvLCIuLi4kMSIpOworICAgICAgICBvdXRwdXQoImNvbnRlbnQgZm9yIHJlc291
cmNlICIgKyB1cmxUYWlsICsgIiBlZGl0ZWQ6ICIgKyBjb250ZW50KTsKKyAgICAgICAgbmV4dFRl
c3QoKTsKKyAgICB9ICAgCisgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsub25Db250ZW50RWRpdGVk
LmFkZExpc3RlbmVyKG9uQ29udGVudEVkaXRlZCk7CisKKyAgICBmdW5jdGlvbiBmaW5kQW5kRWRp
dFJlc291cmNlKCkKKyAgICB7CisgICAgICAgIHZhciByZXNvdXJjZXMgPSBXZWJJbnNwZWN0b3Iu
bmV0d29ya0xvZy5yZXNvdXJjZXM7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3Vy
Y2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoL2F1ZGl0cy1zdHlsZTEuY3NzJC8u
dGVzdChyZXNvdXJjZXNbaV0udXJsKSkgeworICAgICAgICAgICAgICAgIHJlc291cmNlc1tpXS5z
ZXRDb250ZW50KCJib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH0iLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAg
ICBldmFsdWF0ZU9uRnJvbnRlbmQoIigiICsgZmluZEFuZEVkaXRSZXNvdXJjZSArICIpKCkiKTsK
K30KKwordmFyIHRlc3QgPSBmdW5jdGlvbigpCit7CisgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQ
YWdlKEluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIFdlYkluc3BlY3RvciBl
eHRlbnNpb24gQVBJPC9wPgorPGltZyBzcmM9InJlc291cmNlcy9hYmUucG5nIj4KKzxpbWcgc3Jj
PSJyZXNvdXJjZXMvbWlzc2luZy1pbWFnZS5wbmciPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1yZXNvdXJj
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5z
aW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMzA5OGZkLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25z
L2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM0
ICswLDAgQEAKLVRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCi0KLSAKLVBhZ2UgcmVs
b2FkZWQuCi1TdGFydGVkIGV4dGVuc2lvbi4KLVJ1bm5pbmcgdGVzdHMuLi4KLVJVTk5JTkcgVEVT
VDogZXh0ZW5zaW9uX3Rlc3RHZXRIQVIKLXJlc291cmNlOiAuLi4vdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtcmVzb3VyY2VzLXRlc3QuanMKLXJlc291cmNlOiAuLi4vdGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtdGVzdC5qcwotcmVzb3VyY2U6IC4uLi90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMKLXJlc291cmNlOiAuLi4vaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9u
cy1yZXNvdXJjZXMuaHRtbAotcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRl
bnNpb25zLXJlc291cmNlcy5odG1sCi1yZXNvdXJjZTogLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2Vz
L2FiZS5wbmcKLXJlc291cmNlOiAuLi4vZXh0ZW5zaW9ucy9yZXNvdXJjZXMvQWhlbS50dGYKLXJl
c291cmNlOiAuLi4vZXh0ZW5zaW9ucy9yZXNvdXJjZXMvYXVkaXRzLXN0eWxlMS5jc3MKLXJlc291
cmNlOiAuLi4vZXh0ZW5zaW9ucy9yZXNvdXJjZXMvbWlzc2luZy1pbWFnZS5wbmcKLVJVTk5JTkcg
VEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnQKLXsKLSAgICAwIDogIi5zb21l
LXN0eWxlIHsKLSAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwotfSIKLSAgICAxIDogIiIKLX0K
LVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnRFbmNvZGVkCi17
Ci0gICAgMCA6ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFB
QUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFnQUVsRVFWUjRuRzE4YVd3YzUzbi96T3pNN016
c2ZTOTNlUitpZUlpa3BFaFJTTW1XTGNlS2JUbEhIY1d1RXp2Tmw3UW9naDZmaWdKRmdhSm8rNmtG
Q2pSQWc3Yi93a2xRRjAxaHVHa1ZxWElkeWJVczZxWWtrdUlsTHNWZGNzbmwzdmZzN0J6L0R6L082
NUhjK1VBczk1aDUzL2U1ZnMvdmVkNlh2bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RN
UFFORTFSRkUzVCtGZlROSTdqTkUxck5wc013emdjRGszVGFyV2FMTXMybTQybTZYYTczVzYzZFYy
bmFacW1hVVZST0k0ekRFT1daVlZWYlRZYnd6QzZycXVxNm5RNk9ZNXJOcHVxcWdxQ0lJb2l3ekEy
bTgxbXMyRWt1SW11NisxMnU5VnFzU3pMOHp6SGNiZ0podFJzTnZIQ1pya3dERjNYRGNQUWRaMWxX
WlpoR0lxaURNUFFOQTB6cENpSzR6aE1EeC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVE
Uk5veWpLYnJjekRGT3YxOXZ0TnNNd2Ryc2Q3MHVTUkZHVXBtazBUYk1zMjJnMDJ1MjJvaWcybTgz
bGNnbUNZQmlHb2lpR1lkQTBiYlBac0RUNGlhN3J1QzBtUUZFVW1UOUdSWnNYbVR4a2hubXllSmRN
bXFJb1NNeG1zK0gzK0lqSXM5MXUyMncyUVJBd2lIYTdMUWpDd01CQXRWcHROQnFxcWpJTVl4Z0dG
cHZuZWNpRXBtbXNXcXZWd3FkdXR4c3l4RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4
Yzdobm50VHhjTGc1dXlMQXVGd2IzSUpIRWp2OTlmcjljcGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhx
TmVyMnVxaXB1Z2w5QldhQ2xQTTlqbVhtZTUza2V6MVZWVlZFVXU5M3VjcmxxdFpyMXQwUnVXRHZL
dk1nRWlPaUl4aEt6SXBySWtnOHdkWElYVlZYSjdhd3FrYzFtWTdHWUpFazdPenVKUktMUmFEaWRU
cmZibmNsa2ZENmZJQWlRbTkxdTEzVzlWcXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9p
ajhGVVVSaXdLUkV0VWxPZ1U1NHlOaStXUnU1SUtON0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQ
bWUrKzk5ei8vOHorR1lZVERZWjduUjBaR1JrWkdob2FHNEU0d2RMdmREajlFVVJUeEdVUU9lQlpV
bDZJb1daWmJyWllrU1JBalJra0VpTCtZRmZHSUVCY1JJOTc4NHJCWnVBZWU1NjJXK293ZDR3Y1lt
Y2ZqK2NVdmZ2SDNmLy8zZCsvZWRUZ2NzVmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNBSW9W
QW9IQTdMc3B6TDVRekRpRWFqRG9lalZDb1ZpMFZkMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwv
TUJJcUFzV0ZXK0JjclFnUklabWhWZUZhV1pXZ1grU1dtQkYyQ1loQzkxWFY5WjJkbmRuWjJhV25K
NC9INC9mNjl2VDFabGdPQkFNZHhlM3Q3cXFxdXI2L1hhclYydXowNE9IajQ4T0d0cmEzRnhVVlps
ZzhjT09CeXVWWlhWemMyTm5SZGowYWpvaWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhmTTdRS0JN
cUZBZENXQzZ0Zy9aZGNWbHVsUC9yb0l5eTgzVzZIT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1
dnY2NG9TcjFlOS9sOEhNZUZ3MkdmenlmTGNuZDM5K0Rnb01maktaZkxpVVFpa1VqazgvbmUzbDVZ
WUxGWXpHYXo1WElaSGxXVzVYZzhQalUxTlR3OHpEQk1QcCtuYWRydjkvTThINC9IM1c2M0tJcnhl
RHdhalhJY3ArdTZMTXVWU3NYbGN1bTZYcTFXb2RYUUJTSU1DQloyUVF4NFA0UVFyME9jT0pRRVZ2
R01pVzV2YjFlclZWM1hGVVZwTkJwWWRWVlZoNGFHc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5W
emMzTnZieStWU3VWeU9SaW5ydXU0ZWJsY3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQlpyUFY2L1Zt
cytuMWVzZkd4czZjT2ZQODg4K0xvdWgydTNWZDV6ak83L2RqQW9xaVFQdXNVeUllRkZQYlJ3SzBK
ZkxBQVBBOXErcHpISWZWeW1henhHc3BpZ0svVWk2WEh6MTZKRWtTeDNGNDArbDA5dmIyZG5aMlFy
QzZycmRhTGNSWXNvNkZRbUZoWVdGM2Q5ZG1zeFdMUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9Q
enM3T3ozLzN1ZHc4ZVBOaHF0ZkRvU3FVaUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUmJyZGhxTVNo
SWFCbHMxbThDZDFHckcrMzJ3UWhZVjFLcGRMaTR1TGEydHJrNUdTOVhvY2NLcFVLNW1tMzJ5bUth
alFhK1h5K1VDZ2c1RElNSTRvaVFCekRNQTZIUXhURmJEYWJTQ1RxOWZxaFE0Y09IanlJUnp1ZFRr
M1RYQzRYNEFTeFE2dXpoTlpBY3ArREFTdXNzWVlnTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5n
TVlBRG1nSDhybFFyMEJUTEhHdU51VUEzNEdFZ0FrbFFVcFZLcDVQTjVqOGVER05ob05CS0pCT0F4
VkJTQnFsZ3M0bGxFT2EyS1NadTRsN1hhMnpPT2kzd2JyMlZaTGhhTEd4c2JCRHJqcWJpUkxNdE9w
NVBnZFNBWXQ5dGRLQlRJU2tQNFdCVGdac3dUWUpDb0djd1NDMGRSVkx2ZHJ0VnF4V0tSb3FpT2pv
NTZ2ZDVxdGVyMU9zSWVGSWMyTVRvSkIwQ2R1Q2RyeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJ
a1NaSlVxOVhnZmdWQkNJZkQwQWlHWWR4dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUkFoWGNHOC96
VVA1V3F3VTVRK3dZcnRQcDNOblpXVmhZaUVRaWdpREFjQ2lLaWthamxVcUZ3RjNFUm93V2Q4UGtu
NEoxVmdzbVlzUWs4ZmhxdGJxMXRkVnV0OTF1dDl2dGhzcEpraVNLSW9UWmFyVmtXU2JRbWVmNWFy
VktWQWpvL0JtOEJ1TmhHQVpBRCtDV1lSZ0FRTnlOb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0v
bkt4UUs5WHFkUkF2YzhJdmhnQUoycFUxQWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcWxUaU84M2c4
clZacmIyOFBvYlhaYkJZS0JTSWlFb2cxVFZOVmxlTTR1RVJKa21DV0hvK251N3Y3MUtsVEhvL0hi
cmRuTXBtSER4OHVMeTlEc1JHZm9iR3lMUE04NzNLNTRJYzJOalorL09NZmQzZDMvOG1mL01taFE0
ZmNibmU5WGlmNmlWbGdnYUNySkp5d0JCblFUK005aG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWsw
TncyZzBHbzFHQTZPeG9tY1NEQW5DYWphYkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcFpGbTJYQzQv
ZWZMa3pwMDdGeTlldkhuekptTW1hTFZhelRBTWg4T2g2M3FwVklLM3AyazZtVXgrOE1FSGtVaEVG
RVdIdy9GTS9tQU4rNStEQVpMRldNRUFIR0M5WHZkNFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZB
UUJWb2VJMG1xMWNGdWd0bmE3N2ZmN2p4MDdkdWJNbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhC
d2NIeDgvRmUvK2xXdFZxTW95dXYxMXV2MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NDhPYWJiNGJE
WWJneDZ5Uy82RGdwaW1LeDJBUWxrSVVoNndHM3ViVzE5ZkhISHk4dExUbWRUaVM0UkU4UTkxcXRG
dWFQcDlydDltQXc2UGY3anh3NU1qbzZPalUxRlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RV
Mk5qWTFkdkhqeDAwOC9iYlZheUU1VVZTMlZTZzZIUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRw
Sm1xWlo0dDhKSk1CWFZWVVZSUkVxMTI2Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVDArUDFlajBl
RDVUVDQvSDA5ZlYxZFhXOTl0cHJaQVU1am1OWlZwYmxVcWtVQ0FRTXd5Q2NDSExscnE2dUgvemdC
NGNQSDM3Ly9mY3ZYYnBVTHBjRlFkQTByZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01y
TlRpR28vbjhSYkpJV0RFMmRaRmpSVXJWYTdmLy8rOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NFQXJG
WUxCZ01SaUlSbDh2Rjg3emI3ZTdvNkFpSHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPL3duRWNxQk9i
emFacDJwZSs5Q1cvM3o4eU1uTDE2dFU3ZCs3SXN0elgxNWZQNXdPQmdLSW9GRVVwaXZMWlo1OUI4
aVJCc2M2VHNwQUpORTJ6UkltSkpQRTludWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3
M2VlRHplMWRYRmNad2tTVTZuVTVJa1VCdmdwaHdPQjVZUHRxcHBHc2hCeE5KOTJNV3kwQm84dlZ3
dWk2TDQybXV2alk2Ty92TS8vL09WSzFkS3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOVBUMCtuNDlN
ejdBd0cxWWFnU1VFanpWamh1VlVLaFc4eUdhemhVTEI2WFNtMDJtZTUvMSsvOFRFeE1tVEo3dTd1
eEVuZzhGZ0tCUUNFb0pIWVZsVzEvVkdvMkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZr
c1FCSWZEZ2ZqcDgvbUN3U0J5RklaaElHMVpsaUdsaHc4ZlF1YTBtWEJhRGZLcGRBUnJqR2ZEcWJJ
c0MvMEJlYk83dTh0eFhDQVFxRlFxVHFlelhxOGZQbno0bFZkZU9YTGtpTWZqY2JsYzhYZ2NZaWZU
dzYzaFFrbmVvQ2dLd2RNa204UDZhcHFHM0FwZlEwQnl1OTFlcjNkd2NMQy92OTh3REkvSGswd21Y
MzMxVlFnOG1VdytlZkprZm40K2s4azBHZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0
ZkRTR1RCNVJ3N2Rpd2FqYklzRzRsRUVBOWdWNFJsZ3hKaTdheFlpb0JKNjBPdGwyRVlQTThERzBF
TFJrZEhEeDgrM05IUkFRTmpHT2FkZDk1QllnbXhBOThERENQQWdvYUcvZU12UXlqelo5d3NJU0FF
UVhDNzNXQXJHSVpCK2k5SmtpekxkcnRkRkVYRHpNZVJDc0xrb0FVZWo0Y2dCK3NLR3BZMDF3cVND
Y1dHck44d2pMNit2aE1uVG95T2pyYmI3ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwaytt
RDJWdWkyUDhsbjFwV3NoOTF1eDdlRHdTQ1NQVW1TWUxTQTdCUkZRVmRiVDE4a255WVNmb1pOc3pv
NXE2aUJiNTFPcDkxdUIvL1UyZGs1T2pvYURBWnBtbDVlWHE3VmFpTWpJOFBEdzVGSVpHVmxKWi9Q
STFBVG5wSGdXSEx0SnpoazBzVEh3dldwcWdyNGV1REFnWEE0VERJTUVNR05Sa1BUTkVtU21zMG1T
WE53UStncVlCRDlCYXovVEV3akY4Rk0wRnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdI
SGNxNisrMm1nMGxwZVhLNVVLWWcvS0xjQVAxbVZsaU1PMVhsZ01XWmFyMWFxbWFSNlBaM2g0T0Jn
TUlxeGhBb2pnbFVxbDJXeFdLcFZHbzlGc05sdXRGb2FJREFPRkVIS1J4U1poMmpvOUtBaDBwMTZ2
SS9kSGN1eDJ1OCtlUFh2bzBLRlNxWFR4NHNWQ29iQzd1OXRzTm4wKzMvTHljaktaVkJRRklCRUIz
Sm82NjdyKzFEK2s0SU1McmgvOHYyRVlLR09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhcllj
S0tvaUIyazRzQUR5andNL01FQ0tITTBwQXN5NmdtSUl4RklwSGYrcTNmNnVqb2VQejRNVmI1OHVY
TDI5dmJHeHNiQ3dzTGUzdDdnaURBRkFsWC9qbDJ0VTZTc29CWUNNVGhjRGlkemthanNiMjluVTZu
a1grNVhDNFFkdkY0SFA0TkdUTWNvSlg4aHo4a3NaZE1oakxSbFZXU21LU2lLRDZmejJhendlQVpz
NExTYXJWR1JrYjYrdnFheldheFdBd0dnNDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZh
dDk0TVpZV0Vrays0cWl1TjN1YXJWcXM5bENvZERzN0N3a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJ
VUJTRWpncXVxNm5BNGtDc0hnMEdHWVNxVkNydzBTYVlocm1LeENKV0dTUVBXTmhvTlNFK1NwSFE2
VFZFVUdNQnl1Znpnd1lOSGp4NXhISmRPcHdPQkFOaWRsWlVWbG1XZFRtZEhSd2ZvUWl3V0tCVmNM
QlllYjFGbW1BWTZKNWE1c3JKeS8vNzlUQ2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tp
UWhGMnMybXh6SE9Sd09lQlNQeDRNblF1YUtvcWlxR2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdp
ejJVd21rNlZTU2RkMVFCU1daWnZOWnIxZVgxcGFNZ3hqZkh6ODJMRmprVWhFbHVWQ29ZQlVjMStT
RUIxaktSREFRU0dqcDJtNlZxdmR2WHYzeG8wYm1Vekc2L1ZtczltQmdZR2hvU0dmejlmWjJRbEtH
N1huVnF1RmVGaXRWajBlRDh1eTBHcFM5QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVpYm04
dG1zMGVQSGwxZVhwNmZud2RHNys3dWJyVmE0WEI0ZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkz
S1hUMWxrekJXVEJ1Sk9jL3orWHgrWVdGaGMzTVRFYlhaYkNKOFlSQ1FQSDRpU1JJTVcxVlZmQmtF
S1pUVDRYRElzcHhLcFJZV0ZoNCtmRmdxbGFhbnAwZEdSa2pCcjFRcXdRdGd1V1ZaeGlPV2w1ZDNk
bllrU1lKL0xoYUxvaWllUFh0MmFHaW9VcW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9RajgyUytQ
Wk1VRWFJVTFVMWxVcHRibTRDMzJtYXRyYTIxbXcyRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FR
djhISlE3RXFsa3MxbXE5VnFzVmhjWEZ4OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxa1dVYU9Ccitk
eStWcXRacmI3UTZGUW9jUEh4NFlHTGgxNjlhZE8zZWdkKzEydTFRcUFYVVIwRThneCtlU05MNVFX
cVlvcWw2dmwwb2xWVlVCZEhSZHoyYXp4V0lSU1laaEdBQjlraVNCbTNLNzNXQmZPanM3bDVlWG56
eDU0bks1NXVibVZsWldjcmxjT3AwRzEreDBPamMyTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhn
ZEJTK1B4d01HaEtLb2JEYXI2N3JYNnhWRjhkNjllN3U3dTlldVhkdmUzdlo2dlVoV1pGbHVOcHZv
NTBCdS9ibTZXcU16WXlsWmt5RG04WGg2ZW5vS2hVSXFsVUw2ZzRRRHRKcWlLS2prb0NqZ2REcTd1
N3ZENGZDNzc3NHJ5L0tISDM2WXkrVlNxWlNpS0JnM3lwTFZhbFVVeGUzdGJZcWlvdEhvMXRaV1Iw
ZEhNQmlFNnlMcHBTQUlyVllybDh2SnNwekpaRnd1MTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1
Y0FjOENXZ3hCbThUaHo3MHJ3YXRXZVdxYUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVER1pyT0pva2hS
RkR3RWJBbVU3Tzd1YmpRYS9aM2YrWjJ1cnE1VUtvVWc1SFE2S1lxcTFXbzBUWVBJUklxenM3Tno0
Y0tGWC8vNjF5ZFBubnpublhlbXA2ZlJEMExUZExGWWJMVmFjTTdsY2htREdSb2FXbDVlaGd2OHhq
ZStBWko2ZTN1NzJXenlQQjhLaGNCM2tSVDg4emhKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtE
QkE1N25RYy9CTVNMblJEK0V3K0hBcDVxbXpjek1nQlErZi83OCsrKy9YeTZYRVFZMVRmTjZ2YVZT
cWErdjcrREJnNElnb0dnbENNTE5temNGUVVBMUhpUWdTcFEybTIxblo0ZW02WGE3UFRBd2tNMW1r
OGxrTkJvTkJBS0lUTWVPSFd1MzIrRncrRXRmK2xLMVdrV3N0Z3FNb2lqYm0yKyt5VmlxQ0FRV0Vj
b1U0c3BtczQ4ZVBVSVJqakJBYnJjYlgvRDVmUGw4bmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2Ev
WENXak81L095TEkrT2pvNlBqNE9WTHhhTFRxZno0TUdEMFdnVWZvdW02VktwZE92V3JVUWlJWXBp
YjIrdnBtbnBkQnIxN0Znc05qSXk0dmY3T3pvNmhvYUdSa2RIQTRFQWJiTHlHQjZabCszTk45OGsy
SXBrZEVoRENmWURGYkt5c3JLN3UwdkVpRFFLeFN5S292QW1nTTc1OCtkUG5qeloxZFdGZkJvVmRU
akdiRGFMMmttOVhyOTM3OTdLeWdwTjArRndHUHJjYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdj
T25EeDVzbGdzenMzTkljREN4MGFqVVZtV0k1R0lKRW43bXNteVlOdWVza25LMG81RWNnVTRaYWdm
NkJtLzN4K1B4OWZXMWdqamhreks2WFFpTDZsVUtzQ3I3WFlibUFZUGlNVmlMNzMwVXIxZS8raWpq
eWlLaXNWaWtVaGtmWDI5djcvLytQSGpwMDZkYXJmYitYeGVFQVNvVExQWkJINUFTamsxTlZVb0ZI
cDdleWNuSjFWVnZYbnpacVZTUWUwTXZnRGtvQ3pMS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVL
MFFEWU0yRW5UTklJVndCcE4wNklvZ2xNQ2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVlkzaDRHRkFl
WWJDN3U3dFdxK1Z5dVdBd2VQejQ4VU9IRG9WQ0lhL1gyOS9mNzNRNlVRZ0Q5ZTV3T1BMNS9NREF3
T0RnSU1Nd0N3c0w2K3ZydXE2UGpvNCs5OXh6U0d0Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhG
b09ZUTRNREJ3OGVEQ1ZTb0diOG5xOWRydTlXcTIyV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZN
c0ZnRkUrdnY3OC9rOE9QVVRKMDVVcTlYZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOc0lNT2lLTXB1
dHlOYUJvTkJ1OTArTURBd01URngvLzU5dTkzZTFkWGw5L3ZCSHVUeitYQTQzR3ExYXJXYTErc2xa
VStTMzlqZWVPTU5vTEJuc2o0Z1FGSkxROUtFZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Y
dnh4UmY5Zm4rcFZGSVVCWm9NS09OeXVUWTJOdGJXMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRS
ZFhWMm90NU9zVFpibHpjM05lRHdPbnJKUUtPenM3SFIxZFgzdGExOGJHUmxCSStMMTY5ZEJLUm1H
NFhhNzBhNWhaZEJ0My96bU4wbVYyNXJhb1ZTTWdHR1lUWURGWWpFVUNyMzQ0b3VxcXE2dXJxSWF0
N3E2V2lnVVhuNzU1ZWVlZTI1aVlnSnJHUTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJj
M096Z0pZZ3pjQ2JBSzBBUE9QdWwyajBjaG1zeXNySzhGZzBPVnlHWVpSclZieitYeFBUOC8wOUxU
ZjcxZFY5ZU9QUC83YnYvMWJYZGRScDNDNVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaGtBQUt3eXds
U1VKM1p6Z2NwaWpxekprekxNc3VMQ3djUEhqd2hSZGVjRHFkTXpNejYrdnJHeHNiQnc0Y1FPQk9K
cFBvN3dFbGtVcWxlbnQ3ejU0OSs4WWJiK1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIz
Lzk2ME9IRG9HWWpVYWpmL2lIZndob0NreHkvLzc5VUNpRUVJQVY5SHE5eUorSTByS0FBU1NFVUNi
YlJjZ0l3K3hFWkZsV2txVGJ0MitMb2pnOFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3M3dnc3ZrQjVD
QUVCRlVicTZ1dGJYMXgwT1I2VlNnVlY3UEo1NFBJNTZFUVlFSWtMWGRheExQcDlmWFYyOWV2WHFq
UnMzUVBPVVNpV2Z6d2RmU3BrTXh1Ym1aakFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNkls
Z0JnZHV3OUwyd0xJdEYydG5aS1JhTGZyOC9Gb3NCSjBVaWtjSEJ3WGE3aldLQllSaGdnQVJCNk96
c3ZILy9QanErc0Zpam82TW9MWUlLSk05Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6Y0hCd2NyRmFy
ZHJ2ZDcvZTdYQzU4TXhBSW9CQStPRGg0NnRTcFE0Y093UzVJYkdNc3BEWmpKZEZvcytjWFJCQkpG
Q21UTVVDTDVQYjJkcVZTUVdLS0pNdmxjdjN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRy
R3hnVENJWEJuRVBHcVBXMXRiNVhLNVVxbklzdHh1dDNkMmRweE9aendlQjM1QWtvbThES3N2U2RM
WTJGZzRIRVlVOFhxOURNT2dNWVRFRDRxaVRPRHpmL1dBUUpJRUp4aG1jWHR6Y3hPdGNEelBSeUlS
WGRjLy9QRERUei85OVBqeDR4MGRIYUlvb3ViUmJyZXoyV3lwVk1JcTVQUDVuL3prSndBb3dJUHdN
ZERZY3JsY0xCYlgxdFlXRnhldlg3K3U2enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFW
d3VWelFhUldvT2VJQXB3RjFUWnBLODMxaGtQRjNjTTB3U0dxa25YaUNJalkyTi9leG5Qd05WSVFn
Q1dJbkxseStQajQrSFFxRmtNdG5WMVlYNkxGRlhRSlp3T1B6bmYvN25pVVRpci83cXIzdytIeXda
Mmw2cjFWQ2lLUlFLcTZ1clhxKzN1N3Y3OGVQSDQrUGpJeU1qWHEvM3lwVXJ6ei8vUEVnRFFQOUNv
YURyT2h3c1NpUE5ack5VS29GNXNsb2ZUZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1l
U2RPM2Z1M2J2WGJyY2JqY2JDd3NLREJ3OGcvRWFqZ1p3QU9TR2F1SHA2ZWo3ODhNTkVJaEdMeFFn
Y0E2eUQ2NTZibTJOWmRuQndNQnFOWmpLWjhmSHg4Zkh4Mjdkdi8vVmYvM1VvRkhJNm5kVnFkV05q
STUvUEk0RUczRUh1QmllSDFBOFJnY2lNTlo0bTdZbkdBdXpDczVOYUZjTXdrVWprOU9uVC8vVmYv
M1g1OG1Xd1ZaVkt4ZTEyKy8zKytmbDVpcUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQ
UE8rdnI2KysrL3Y3YTI5dFpiYjNWMmRsSVVKVWtTNkFLMGZBOE9Eb3FpbUVxbFhuLzlkV1RuOSs3
ZFV4VGx6LzdzejM3djkzNnZwNmNubjgrSFFxSFIwVkZKa2tDTFFyYWt2TTlZeUVkSWtvV2lBMG1S
WmdxYjJkd0RENFQrQTl5Q3B1blRwMDkvOE1FSFNDbjhmajlTcmNuSnlVYWpzYm01YWJQWnl1WHly
VnUza0ZYelBPOTBPdDk0NHcySHc4R3k3SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3
WUdCbDU2NlNWQkVJNGVQZXB3T0ZDUWhISW1rMG5RSmJGWXJORm8rSHkra1pFUlFSREErZ0d2d2pS
MHkyWUVlQ1lTQlZuQ2N6Tm1RdzlsTmtVVGVJVUxWcVFvU2pnY1BuTGt5T3pzTEpMYWNEZzhQajVP
R3ZuUUpZYTZpTmZyUFhMa3lBc3Z2SEQ2OUdrUUgwZU9ITkYxdlZxdC91ZC8vaWZETUYxZFhkLys5
cmYvNGkvK1lubDUrUi8vOFI5RG9SQ2NPVUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5M
OWhhU2FuTGRWQlluY1VSZG5lZXVzdEVqbklEQ0ZTQUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQz
ZFBUQXdzTE96ZzlaT1JWSFFQUEhsTDMvNS9QbnpKMDZjNk83dXBzMXFERkR4aXkrK3VMYTJkdWZP
bldQSGptVXltU2RQbmd3TkRRVUNBVGhlVVJUaGxuWjNkNzFlNzRrVEo4Ykh4enM2T3VCYUVlaEo1
ZVlabmhIenRNWUwyMi8rNW0rUzVJTVlxKzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQxZDF5
T1JDSDVDVVZRNEhENS8vdnpSbzBkQm1lTExDR0xqNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1
a1pDU2J6WVpDSVlaaDBQaU42bUFrRWtFUXdoeVF0YUk2U0t6dS81d2tlZk9wZlM0a0t0Sm1JeXZr
anE1dXFDNTJCUFQyOXA0NmRlcnUzYnMybTYxV3F5V1RTWFFVcUtwYUxCYkQ0VER3NU5iV1ZqNmZo
eHVzVnF0Z0pVRjJRRXJmL3ZhM0dZYjVmLy92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlCZ2gwU1Fo
UmxjMEp3VzZlZ1d6cTFXSUxkaUVMdkIxQ1diWnRiaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdo
aThmbDhQcDh2bFVvMW04MXNObHVwVkRSTnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaU1USXljdVRJ
RVVWUmhvZUgyKzEyUEI3MytYeDQzK2wwS29xU1NDUldWbFpBNGNEQllIcFFZOHJDK2xzbFpGamFY
Y2pGa21hTno1RWV3OER4R0dhWENIUURyeHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1L1A1dWJrNXQ5
dmQwOU1UaVVTUUtNYmpjVTNUc3RuczB0TFN2WHYzRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZM
WTJLU3E2dTd1N3BNblQvYjI5amlPNit6c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGT2VIODN3VE0r
Q3FHR0JGTVNadUNmVVBaSkpwTVVSU0dyNWpqdThlUEg5WHBkbHVYejU4K2ZPM2Z1M0xsenNWZ01a
VHdzLytycTZ2ejh2TmZyZmZYVlY3LzJ0YThCTGRScU5UU0JYcjE2bGVmNWwxOSsyVzYzNTNJNTlL
N3dQTi9iMjRzOG1EU29JUWFDNE5ITWJRR1VoZnUzVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdC
V0hvOG5GQW9waWlKSlVxUFI2T3JxNG5sK2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMm15MGVqMy95
eVNkMnUvM2RkOS85eWxlK3NyZTNwMmxhUHA5UHBWS2hVT2pLbFN0ZXJ6Y1lES2JUYVhCUXlXUlMw
N1JVS3RYVDAwT3FsN0I1VkkyYXpTWXFpK2ludGJvZkROWHFkV2lhWnJXbjkwaDgvb0dweGtScGNh
SERKaEFJN096c1JDS1JUQ2FqYVJyeWtsZ3NWcTFXczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5
TVRQem9SejhhSGg0dWw4dG9EMGtrRWx0YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4K2ZMaTV1WWtP
SG83alVxa1UzQS9nSWFBdnRpRWdybUpzdXRsYVpqemR5Y0phTVo3Vk1xM2l0aHE2Mys4dkZBb28x
b01jUWZvVGlVVFFvREEyTmxZcWxRcUZ3dlBQUHgrUHg3dTd1KzEyKzhURXhNaklTREtaZExsY3BW
THA1czJiVjY1Y0FmcHRObU9HMUZrQUFBOTRTVVJCVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwr
LzN0L2ZQejQrRHNOQkVnUEt0MXF0dWx3dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUWxtMms1Sy8x
SS93ZUUvdlhmLzNYZERwZHE5VjZlM3RCUm1DQkhRN0hLNis4MHRuWitlbW5uM1oyZHY3d2h6OUUv
ejhXWlgxOS9jR0RCLy83di84cml1TFMwaElBRFdBVGRLZFNxWHp5eVNlNDFjbVRKd2NHQnRDNDV2
ZjdaMmRuWlZrK2ZQZ3d4M0VvalNERHRKcmwvM25STk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldV
RmJaR2hVQWpMakoyd0w3MzAwc0dEQjJ1MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYmlMM3o4L09Q
SGowNmMrWU1BcjNkYm9jQ2N4eTN0cmEydTd1N3Q3Zm45WHEvL3ZXdno4ek1RSFE4ejJQTHhOTFNr
cy9uaTBRaWFESURIL2xGQmJUaTAzM25RakpqcS9sUlp0dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhk
L2EydXJzN0N3V2kvLzkzLzhkaVVRTXc5amEyanA0OE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RW
TTQrN2R1NGdaS0hXZ3lrQlJGUEttWURENDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaVREbVpyVldH
eElPeXBFZUpzbXgxb1o2T3R1UmY4QlJUVTFPLy9PVXZRVlZRRkZVdWwwT2hVTGxjM3QzZGpjZmpE
eDgrTEJhTG1xYXRyNi9Mc2x5cjFYcDZlZ0tCUUwxZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVY
SWRIUjNZYitad09Gd3VGellQWXdmZTl2YjJyMzcxSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNp
V0NUSXI2K3N2VGhLRUVNL3pwMDZkbXBpWWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSS0pacW1jN21j
eitkaldUYWRUa3VTUkx4dU1CakUvaVJzTGdFaDBHNjNVWElFTUo2ZW51N3A2Y0VjR0lZQjJlRndP
QVJCV0ZsWlFjU2FucDUydTkyQ0lEUWFqV2Y4alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndt
WnV2c1h6SEE0SE9zSkRvVkNwVkZwZlgwYzdQSnArZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVn
TlRoTGxHanh1Ykd6czlPblRnNE9Ec1ZnTVhRNFlkektadkhUcGtxSW9wVklwbFVvaEUzUTZuYkJu
aVBRWklYMHVTZmdZMHZwQmZBenBraU9LU2xFVUdvZlJubmY0OEdGWmxyZTN0NWVYbDJHOTROUVk4
NUFCQkhGaTJOYS9GRVhoU0FIRGJJbkF0QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtm
bjVyMzcxcXlkUG5vUnhBcW1qWFFOQm5reG5IOFZiSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2WHJ5
NHRMUzBzYkZCV2RKelRkTlFxMFRVUWNIUDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZFRzeWZNVTh0
Mk52YmcvMUxrcVFveXU3dUxseng0dUppZjMvL29VT0hlbnQ3MFk5ZXE5WHE5VHE0K1gyZ1prMnVp
V1lUa280a3pjQkRVRjNVNnByTlprZEh4K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZz
M2NjNjFibWtESkMraXFZUmhJdnVGMWdYTEF4S0xlU05NMHgzRWJHeHZ3a2JWYVRSQUU3RGk2ZnYz
NnZYdjM0dkg0ME5EUWdRTUhob2FHaG9hR3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QXBpVkJCWDRm
YmdEN0pVcWxrdHZ0OXZsOG9GdHROcHZENFNnV2k4MW1FNXZ2Q2F4bkxIMGw4T1NvQXNHWWNZWUMr
c0JuWm1aQ29aQmhkbWFRTFdlcnE2dHV0OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUx
UEhqaDNyNit1THhXSit2eCs5eUt4dTJhTm1qUzJVcGVuRmVKb3lNY3lxTmVRMlB6Ly9zNS85ckZ3
dWQzWjJUazlQUDNueUJPZ0U0ZUdMbWtLWlBlNk5SZ090ZG1oSG5KeWMvUDczdngrTHhZalYyR3cy
bENqVDZUUWFYRkVMYUxmYmFHVnh1VnhvQ0Vla1RhZlQrWHoreG8wYmdpQk1UMDhQRGc1T1RrNzI5
L2V6SktXeXpvR3lrQ0J3UDhTSURjTUEyd2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTBy
YkdYc29zWUlPYklidElBVjltWm1iZWZ2dnRreWRQZ2lJQ0x3RUwxSFY5Y1hFUmVSbCthTTJlc2Jr
R3ZBejhUYlBaYkRRYVAvLzV6OEdiUktOUnhzclQ0VUl0aEJBODFrOUpXUWFNYUtWU3VYVHAwa2Nm
ZlFRMkhYc0dvV3lVMlN4dlJiL2tXVFJOVjZ0Vnd6RGdkY2JHeHY3Z0QvN2czTGx6bTV1YjBDRGdV
bGhzcFZLNWZmczJNQ0NzQUNrQnFVd1QvMFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhT
Um1XbWtlNElHbHBhWExseTlmdm53WlViSFZhbzJQajZONGp2bytGb2owdllEN2c5SWliQVFDQVZt
VysvdjcvK2lQL3VqczJiUDFlaDBSSDRFbkVBaWdMVUdXNVd2WHJsRVVoWm9IR3E0Y0RnZGNJTmt2
WnVVcEFjdUFCMjAyMi81K0FXUVNtQ1FwcEpIT1NreVlZUmhGVWRDRHVyUzB0THE2K3VqUkkrempo
bHNIbUk1R295TWpJeXNySzZWU0tSd083KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enov
M29Sejk2NFlVWHF0V3FxcXArdjc5YXJUcWRUdUErVGRQOGZ2K0ZDeGZRUFloRlIrNWltSHNZU1Ja
Q20rME5jR3hvVjlobk13QmxJREY0Rkt3MzVveGdoWjJEMld3V2ZWa3JLeXRMUzB1NVhLN1JhTURG
NDZZb3Y0YkQ0Vzk4NHh1dFZ1dkNoUXQ3ZTN0dXR4dEZkVXdBQWFaY0xyLzExbHM4ejMvem05OUVP
UUF0c29xaUlDdENhY3poY0pUTDVZOCsrZ2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVK
RGtRemZQVGdMcG1FZ2s3dDI3dDdhMnRyQ3drTXZsVU1xRnJ5T2RQVEI5bG1XbnBxWUNnUUNvalpX
VkZVZ21uOCtqbEQ4Mk52YmJ2LzNiTXpNellFYlFqdWYzK3gwT3g5N2VYaUFRSUJzUGFacis0SU1Q
MEhacU05dm5OZk9nQkpRM3lRWVVFdHV0MFo0eVdRN1daaDZpWkUwK0VJNUxwVkkybTBXeSsvRGh3
NjJ0TFdBb3FEVFJjQ2loeldZREtLL1Zha2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhz
LzN2dmU5ZDk5OWQzSnlFbjRGM1RJNDFLUmVyNlBUQW5lbUtPckdqUnZ2di85K3FWUWk4SVVJZ0lB
SDJxVGFudEZiYS9CbkdjdlpHU3pMQW55aVhBRmN1cmk0dUxLeUF2cVkzQWdPVFRWM1k3SG1YaUFV
UW1BLzZMQTdlL2JzbTIrKytkNTc3eVVTaWU5ODV6dm56cDJ6Mld5bFVva3hTNlVNd3pnY0RrVlJ3
R3MwR2cydjE0dFRFbVpuWnpjM056RVpPR3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZk
Z1BIanhZWFYyZG01dkRsaWgwYVBJOGo0MERKS0lRZ0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lX
NkNGRHhocE1FK2tOWkdxdURaYUxNNmoyNkVBazhKQkdJc09NRXNSRDRTWElSeGtJZFA3VkpGT2RS
cE5QcFRDWnovZnIxOWZYMTlmVjFoSFVVMGtGa29YK05ZQ3NvakNBSVBUMDlEb2NERGdNZFpsNnZG
NTdHWnJPUllpYVlhR0I5ekFyUkM5cUJTZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJFN1JK
K2hrbEI3bHBpaUxNdnBkSHBoWVdGdWJtNWpZMk5qWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdy
SVFwdVZCVm1XRnhZVy91RWYvdUhSbzBjQXNVTkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUnljbkprWkdS
VUNqVTI5dUxkbEhOM0l6QTgvenQyN2ViemViaHc0Y3ZYTGlBT0lIVHh6Uk5RemFMamV2SUU2Qzlp
SndJajFBVDB2MElsV1pSazFwYld3UExSRTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZOTEMwdGRY
VjFaYlBaUC83alAzN3c0SUhmNzg5a01nNkhnM0R0V0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lI
cDZXbWc2a0FnY1BIaXhmZmVlMjkrZmo0V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIV1Ixc09BdVBN
Yll5R3VlR1ZwbWtXMjlrWEZ4ZnYzNysvc3JLU3pXWlY4eXc1a3Z0UkpqOUFVUlFjRE82T2xtU080
N3hlN3p2dnZETXhNYUZwMnZ6OC9OMjdkd0VrME5CRkZNeG03aHBCOVJ2dHZMZHUzZnFQLy9nUEZD
VDlmajg2V3lSSnltUXluWjJkdVZ3Ty9ra3pUMzBoV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEv
ZjJOaVluNS9mM054RUxzOVp6cFFnanBnZ1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbzZNaG1zNDhm
UHdiRGpVUUJaUXpPUE1rUGdSNTREVW9GR0l3VmNUcWRsVW9GRlo2ZG5SMTRYYlJody9NQkd5SkVR
OG54UGxZQm9xYk5zeDFKZEdRLy92ampYQzZYeVdUUVBzMllKNmdRMXVTWkZLUmVyOE9Yb0xrRFgv
dis5NzhmQ29Wa1dVYlRHSHdZRWs3QVdyVFlZNU1zRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1G
S3BSSllIeGdoYWlwRW9SQ3hPUE5JUTl3UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDa3BxbVptMGZ3
THlHVVNMeXExV3JvSU1aT1ZhQy85ZlgxMjdkdjB6UU5oMG1PbDhCdENRK0NnYUxYSEllandDQXpt
Y3pzN0N3a0dRZ0U0TWFCWmhtelBZeHdia0RrRUNsOEJDbWkwalNOSFZINzJKWG9Ia0ZEK0Rhd0NH
VnBYQ0xaT3BhVEZNK09IRGtDMFQxOCtQQ2YvdW1mUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpi
UDh6Z0xyZFZxNGFBdG5ES2w2em8yaWRJMFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSREdzTXdiREFZ
Uk5BakV0UE5VNnFJWDJVc2xXYVExb3Fpa0dUbjFLbFRFTWlQZi96amYvdTNmM081WERBR2RDdUNp
ZHNuV3N6VFZTdVZpcy9uMjl2YjgzZzhvaWdDOTN1OTNrS2g0UEY0a0lWaER3Yk1HQkFLRHQ5NG12
Nm16UTRKbTNud0ptYU9nMS8ySzZ1SUZvYUZMOVRONmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1
d0hKZkw1V1puWjNFU0VVVlIxV29WNUkwa1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMEJBS0JSQ0xS
MGRFQi9nYWhHSjEzdUJVZ0hrQ2wxK3ZGZVRwWVB0d2NyclZjTG1ORHJxcXErNVFrZ1VpVVNUUUJH
VkpmcU9FQkpXTUV1cTZqN1lSbFdWUUVFSFd4c2Nubjh5RmVvMnlLd0kzdGQzRDlMTXVpNU43VjFS
VUtoVERWZXIzZTM5Ky9zcklTQ29VUTBDdVZDbnd2eWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0
QmlyR2srNXl4OE9xR3BTQkxkSU8ybEkyUVNlUHdSSERrMkd4R0tFYWczTDI5dlVna2d2M3RpT01v
aElFUU9uSGl4Q3V2dkRJNU9ZbkpBRXMxbTgzbDVlWGYvLzNmUnhjLzlrWXo1bUdCMXVVMlRNcmJN
RHZLeUR0a0k4YyszTEVPM1FvQVNOMlMzQlRmTWN5eUQ4cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBG
cXRsc3RsTkp6QjE0Mk9qbjc5NjE4L2NlSUVXbFlvODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFn
WW9DeUhhbUtEcmFxcWRyc2RaNnVnU3dOTmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVVZaTDRDSUl3
TURBQWM0ZER5dVZ5T0w0WmcvQjRQSTFHNCt6WnMyKy8vZmJNekF6MjkxSm1md01rUThJQVlHcXRW
cnQyN1JwOEk4ZHhicmZiNFhEVWFqWEVRemhuMmp3WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpk
TFRBblJpalR5VXVXK0xzUDJnWkhwNmVoQ3lmdmpESDNxOTNnOCsrQUROU242L0gyNGdIbysvL2Zi
YnYvRWJ2NkZwR2pZaVl3OGJVU0pWVlFIMFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTkJIOUoyUWIy
UmxBWFkxYXJNRDNNZ3BSR1dLZ2ZaU25kV1hXWWVwcUp4UzVjR0Vrd0dBd0dnNFpoOER4Lyt2VHB2
cjQrcDlQNTcvLys3NkJrQkVIbzd1NCtkKzdjOGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtx
bnJlcVBSZVBqd1lUcWRSaWoyK1h6WUk0RjBqellKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6
dTUvOERKYytjVWNoZFREc0FBQUFBU1VWT1JLNUNZSUk9IgotICAgIDEgOiAiYmFzZTY0IgotfQot
UlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNlQ29udGVudEVkaXRlZAotY29udGVu
dCBmb3IgcmVzb3VyY2UgLi4uL2V4dGVuc2lvbnMvcmVzb3VyY2VzL2F1ZGl0cy1zdHlsZTEuY3Nz
IGVkaXRlZDogYm9keSB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9Ci1SVU5OSU5HIFRFU1Q6
IGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmljYXRpb24KLVJlc291cmNlIGZpbmlzaGVkOiAu
Li4vaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbAotQWxsIHRl
c3RzIGRvbmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25z
L2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy9leHRlbnNpb25zLXJlc291cmNlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyZThjNzEyLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3Vy
Y2VzL2F1ZGl0cy1zdHlsZTEuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+Ci08c3R5bGU+Ci1AZm9udC1m
YWNlIHsKLSAgICBmb250LWZhbWlseTogJ3Rlc3QnOwotICAgIHNyYzogdXJsKHJlc291cmNlcy9B
aGVtLnR0Zik7Ci19Ci0KLXAgeyBmb250LWZhbWlseTogJ3Rlc3QnOyB9Ci08L3N0eWxlPgotCi08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0SEFS
KG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIGNvbXBhcmVFbnRyaWVzKGEsIGIpCi0gICAgewot
ICAgICAgICByZXR1cm4gYS5yZXF1ZXN0LnVybC50b0xvd2VyQ2FzZSgpLmxvY2FsZUNvbXBhcmUo
Yi5yZXF1ZXN0LnVybC50b0xvd2VyQ2FzZSgpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvbkhB
UihyZXN1bHQpCi0gICAgewotICAgICAgICByZXN1bHQuZW50cmllcy5zb3J0KGNvbXBhcmVFbnRy
aWVzKTsKLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5lbnRyaWVzLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgb3V0cHV0KCJyZXNvdXJjZTogIiArIHJlc3VsdC5lbnRyaWVz
W2ldLnJlcXVlc3QudXJsLnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEiKSk7Ci0g
ICAgfQotICAgIGV4dGVuc2lvbl9kb1hIUihmdW5jdGlvbigpIHsKLSAgICAgICAgd2ViSW5zcGVj
dG9yLnJlc291cmNlcy5nZXRIQVIoY2FsbGJhY2tBbmROZXh0VGVzdChvbkhBUiwgbmV4dFRlc3Qp
KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gZG9YSFIoKQotewotICAgIHZhciB4aHIgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwgIiIsIGZhbHNlKTsKLSAgICB4
aHIuc2VuZChudWxsKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX2RvWEhSKGNhbGxiYWNrKQot
ewotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxi
YWNrKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNhdGlvbihu
ZXh0VGVzdCkKLXsKLSAgICBmdW5jdGlvbiBvblJlc291cmNlRmluaXNoZWQocmVzb3VyY2UpCi0g
ICAgewotICAgICAgICBvdXRwdXQoIlJlc291cmNlIGZpbmlzaGVkOiAiICsgcmVzb3VyY2UucmVx
dWVzdC51cmwucmVwbGFjZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpKTsKLSAgICB9Ci0K
LSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9uRmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJh
Y2tBbmROZXh0VGVzdChvblJlc291cmNlRmluaXNoZWQsIG5leHRUZXN0KSk7Ci0gICAgZXh0ZW5z
aW9uX2RvWEhSKCk7Ci19Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl9vblJlc291cmNlQm9keShjb250
ZW50LCBlbmNvZGluZykKLXsKLSAgICBkdW1wT2JqZWN0KEFycmF5LnByb3RvdHlwZS5zbGljZS5j
YWxsKGFyZ3VtZW50cykpOwotfQotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEdldFJlc291cmNl
Q29udGVudChuZXh0VGVzdCkKLXsKLSAgICBleHRlbnNpb25fZ2V0UmVzb3VyY2VCeVVybChbL2F1
ZGl0cy1zdHlsZTEuY3NzJC9dLCBmdW5jdGlvbihyZXNvdXJjZSkgewotICAgICAgICByZXNvdXJj
ZS5nZXRDb250ZW50KGNhbGxiYWNrQW5kTmV4dFRlc3QoZXh0ZW5zaW9uX29uUmVzb3VyY2VCb2R5
LCBuZXh0VGVzdCkpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEdldFJl
c291cmNlQ29udGVudEVuY29kZWQobmV4dFRlc3QpCi17Ci0gICAgZXh0ZW5zaW9uX2dldFJlc291
cmNlQnlVcmwoWy9hYmUucG5nJC8gXSwgZnVuY3Rpb24ocmVzb3VyY2UpIHsKLSAgICAgICAgcmVz
b3VyY2UuZ2V0Q29udGVudChjYWxsYmFja0FuZE5leHRUZXN0KGV4dGVuc2lvbl9vblJlc291cmNl
Qm9keSwgbmV4dFRlc3QpKTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RS
ZXNvdXJjZUNvbnRlbnRFZGl0ZWQobmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24gb25Db250ZW50
RWRpdGVkKHVybCwgY29udGVudCkKLSAgICB7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5yZXNvdXJj
ZXMub25Db250ZW50RWRpdGVkLnJlbW92ZUxpc3RlbmVyKG9uQ29udGVudEVkaXRlZCk7Ci0gICAg
ICAgIHZhciB1cmxUYWlsID0gdXJsLnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEi
KTsKLSAgICAgICAgb3V0cHV0KCJjb250ZW50IGZvciByZXNvdXJjZSAiICsgdXJsVGFpbCArICIg
ZWRpdGVkOiAiICsgY29udGVudCk7Ci0gICAgICAgIG5leHRUZXN0KCk7Ci0gICAgfSAgIAotICAg
IHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25Db250ZW50RWRpdGVkLmFkZExpc3RlbmVyKG9uQ29u
dGVudEVkaXRlZCk7Ci0KLSAgICBmdW5jdGlvbiBmaW5kQW5kRWRpdFJlc291cmNlKCkKLSAgICB7
Ci0gICAgICAgIHZhciByZXNvdXJjZXMgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXNvdXJj
ZXM7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2VzLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgICAgICBpZiAoL2F1ZGl0cy1zdHlsZTEuY3NzJC8udGVzdChyZXNvdXJjZXNbaV0u
dXJsKSkgewotICAgICAgICAgICAgICAgIHJlc291cmNlc1tpXS5zZXRDb250ZW50KCJib2R5IHsg
YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH0iLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICBldmFsdWF0ZU9uRnJvbnRl
bmQoIigiICsgZmluZEFuZEVkaXRSZXNvdXJjZSArICIpKCkiKTsKLX0KLQotdmFyIHRlc3QgPSBm
dW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKEluc3BlY3RvclRlc3Qu
cnVuRXh0ZW5zaW9uVGVzdHMpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJPC9wPgot
PGltZyBzcmM9InJlc291cmNlcy9hYmUucG5nIj4KLTxpbWcgc3JjPSJyZXNvdXJjZXMvbWlzc2lu
Zy1pbWFnZS5wbmciPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGRmNjVmMDcuLmE2Yzc3
M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQKQEAgLTYxMSw3ICs2MTEsNyBAQCBCVUdXSzU4MDEzIFdJTiA6IGZhc3QvcmVw
YWludC9zY2FsZS1wYWdlLXNocmluay5odG1sID0gSU1BR0UrVEVYVAogLy8gVGhlcmUgaXMgbm8g
bWVzc2FnZSBwb3J0IGhhcm5lc3MgdG8gdGVzdCBleHRlbnNpb25zCiBXT05URklYIFNLSVAgOiBp
bnNwZWN0b3IvZXh0ZW5zaW9ucyA9IEZBSUwKIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMtaGVhZGVycy5odG1sID0gRkFJTAotV09OVEZJWCBTS0lQIDogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJlY3QuaHRtbCA9IEZB
SUwKK1dPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29y
ay1yZWRpcmVjdC5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbCA9IEZBSUwKIAogLy8gVGhlcmUgaXMgbm8gZW5v
dWdoIHBsdWdpbnMgc3VwcG9ydCBpbiBEUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhODI4Y2VjLi4yODUwOTll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDgtMTggIEFuZHJleSBLb3N5YWtv
diAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5z
aW9ucyBBUEldIHJlbmFtZSB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzIHRvIHdlYkluc3BlY3Rvci5u
ZXR3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NjQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3RzOiBodHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLW5ldHdvcmstcmVkaXJlY3QuaHRt
bAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1uZXR3b3Jr
Lmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5zaW9uQVBJLkluc3BlY3RvckV4dGVu
c2lvbkFQSSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNpb25BUEkuTmV0
d29yay5yZXF1ZXN0RGlzcGF0Y2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVkRXh0
ZW5zaW9uQVBJKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5pbmplY3RlZEV4dGVuc2lvbkFQSS5O
ZXR3b3JrLnByb3RvdHlwZS5nZXRIQVIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVk
RXh0ZW5zaW9uQVBJLmRlZmluZURlcHJlY2F0ZWRQcm9wZXJ0eS5nZXR0ZXIpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5zaW9uQVBJLmRlZmluZURlcHJlY2F0ZWRQcm9wZXJ0
eSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9pbnNwZWN0ZWRVUkxDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9ub3RpZnlSZXF1
ZXN0RmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90
b3R5cGUuX29uR2V0SEFSKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIu
cHJvdG90eXBlLl9vbkdldFJlc291cmNlQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fcmVxdWVzdElkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9yZXF1ZXN0QnlJZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fb25BZGRBdWRpdENhdGVnb3J5
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9vbkFk
ZEF1ZGl0UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJv
dG90eXBlLl9vblN0b3BBdWRpdENhdGVnb3J5UnVuKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5F
eHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLmluaXRFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9vbm1lc3NhZ2UpOgorCiAyMDExLTA4
LTE2ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBDaHJvbWl1bSBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRlciByOTMxNDAuIFRha2UgNC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9u
QVBJLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEku
anMKaW5kZXggOTQyMDcyZC4uYzNlMjBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKQEAgLTkwLDcgKzkwLDggQEAgZnVuY3Rp
b24gSW5zcGVjdG9yRXh0ZW5zaW9uQVBJKCkKICAgICB0aGlzLmF1ZGl0cyA9IG5ldyBBdWRpdHMo
KTsKICAgICB0aGlzLmluc3BlY3RlZFdpbmRvdyA9IG5ldyBJbnNwZWN0ZWRXaW5kb3coKTsKICAg
ICB0aGlzLnBhbmVscyA9IG5ldyBQYW5lbHMoKTsKLSAgICB0aGlzLnJlc291cmNlcyA9IG5ldyBS
ZXNvdXJjZXMoKTsKKyAgICB0aGlzLm5ldHdvcmsgPSBuZXcgTmV0d29yaygpOworICAgIGRlZmlu
ZURlcHJlY2F0ZWRQcm9wZXJ0eSh0aGlzLCAid2ViSW5zcGVjdG9yIiwgInJlc291cmNlcyIsICJu
ZXR3b3JrIik7CiAgICAgdGhpcy50aW1lbGluZSA9IG5ldyBUaW1lbGluZSgpOwogCiAgICAgdGhp
cy5vblJlc2V0ID0gbmV3IEV2ZW50U2luaygicmVzZXQiKTsKQEAgLTEwMywyNyArMTA0LDI4IEBA
IEluc3BlY3RvckV4dGVuc2lvbkFQSS5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCi1mdW5jdGlv
biBSZXNvdXJjZXMoKQorZnVuY3Rpb24gTmV0d29yaygpCiB7Ci0gICAgZnVuY3Rpb24gcmVzb3Vy
Y2VEaXNwYXRjaChyZXF1ZXN0KQorICAgIGZ1bmN0aW9uIHJlcXVlc3REaXNwYXRjaChtZXNzYWdl
KQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gcmVxdWVzdC5hcmd1bWVudHNbMV07Ci0g
ICAgICAgIHJlc291cmNlLl9fcHJvdG9fXyA9IG5ldyBSZXNvdXJjZShyZXF1ZXN0LmFyZ3VtZW50
c1swXSk7Ci0gICAgICAgIHRoaXMuX2ZpcmUocmVzb3VyY2UpOworICAgICAgICB2YXIgcmVxdWVz
dCA9IG1lc3NhZ2UuYXJndW1lbnRzWzFdOworICAgICAgICByZXF1ZXN0Ll9fcHJvdG9fXyA9IG5l
dyBSZXF1ZXN0KG1lc3NhZ2UuYXJndW1lbnRzWzBdKTsKKyAgICAgICAgdGhpcy5fZmlyZShyZXF1
ZXN0KTsKICAgICB9Ci0gICAgdGhpcy5vbkZpbmlzaGVkID0gbmV3IEV2ZW50U2luaygicmVzb3Vy
Y2UtZmluaXNoZWQiLCByZXNvdXJjZURpc3BhdGNoKTsKKyAgICB0aGlzLm9uUmVxdWVzdEZpbmlz
aGVkID0gbmV3IEV2ZW50U2luaygibmV0d29yay1yZXF1ZXN0LWZpbmlzaGVkIiwgcmVxdWVzdERp
c3BhdGNoKTsKKyAgICBkZWZpbmVEZXByZWNhdGVkUHJvcGVydHkodGhpcywgIm5ldHdvcmsiLCAi
b25GaW5pc2hlZCIsICJvblJlcXVlc3RGaW5pc2hlZCIpOwogICAgIHRoaXMub25OYXZpZ2F0ZWQg
PSBuZXcgRXZlbnRTaW5rKCJpbnNwZWN0ZWRVUkxDaGFuZ2VkIik7CiAgICAgdGhpcy5vbkNvbnRl
bnRFZGl0ZWQgPSBuZXcgRXZlbnRTaW5rKCJyZXNvdXJjZS1jb250ZW50LWVkaXRlZCIpOwogfQog
Ci1SZXNvdXJjZXMucHJvdG90eXBlID0geworTmV0d29yay5wcm90b3R5cGUgPSB7CiAgICAgZ2V0
SEFSOiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNr
V3JhcHBlcihyZXN1bHQpCiAgICAgICAgIHsKICAgICAgICAgICAgIHZhciBlbnRyaWVzID0gKHJl
c3VsdCAmJiByZXN1bHQuZW50cmllcykgfHwgW107CiAgICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBlbnRyaWVzW2ld
Ll9fcHJvdG9fXyA9IG5ldyBSZXNvdXJjZShlbnRyaWVzW2ldLl9yZXF1ZXN0SWQpOworICAgICAg
ICAgICAgICAgIGVudHJpZXNbaV0uX19wcm90b19fID0gbmV3IFJlcXVlc3QoZW50cmllc1tpXS5f
cmVxdWVzdElkKTsKICAgICAgICAgICAgICAgICBkZWxldGUgZW50cmllc1tpXS5fcmVxdWVzdElk
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0KTsKQEAgLTEzNywx
MiArMTM5LDEyIEBAIFJlc291cmNlcy5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCi1mdW5jdGlv
biBSZXNvdXJjZUltcGwoaWQpCitmdW5jdGlvbiBSZXF1ZXN0SW1wbChpZCkKIHsKICAgICB0aGlz
Ll9pZCA9IGlkOwogfQogCi1SZXNvdXJjZUltcGwucHJvdG90eXBlID0geworUmVxdWVzdEltcGwu
cHJvdG90eXBlID0gewogICAgIGdldENvbnRlbnQ6IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAgIHsK
ICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tXcmFwcGVyKHJlc3BvbnNlKQpAQCAtNDY5LDEzICs0
NzEsMjcgQEAgZnVuY3Rpb24gZGVjbGFyZUludGVyZmFjZUNsYXNzKGltcGxDb25zdHJ1Y3RvcikK
ICAgICB9CiB9CiAKK2Z1bmN0aW9uIGRlZmluZURlcHJlY2F0ZWRQcm9wZXJ0eShvYmplY3QsIGNs
YXNzTmFtZSwgb2xkTmFtZSwgbmV3TmFtZSkKK3sKKyAgICB2YXIgd2FybmluZ0dpdmVuID0gZmFs
c2U7CisgICAgZnVuY3Rpb24gZ2V0dGVyKCkKKyAgICB7CisgICAgICAgIGlmICghd2FybmluZ0dp
dmVuKSB7CisgICAgICAgICAgICBjb25zb2xlLndhcm4oY2xhc3NOYW1lICsgIi4iICsgb2xkTmFt
ZSArICIgaXMgZGVwcmVjYXRlZC4gVXNlICIgKyBjbGFzc05hbWUgKyAiLiIgKyBuZXdOYW1lICsg
IiBpbnN0ZWFkIik7CisgICAgICAgICAgICB3YXJuaW5nR2l2ZW4gPSB0cnVlOworICAgICAgICB9
CisgICAgICAgIHJldHVybiBvYmplY3RbbmV3TmFtZV07CisgICAgfQorICAgIG9iamVjdC5fX2Rl
ZmluZUdldHRlcl9fKG9sZE5hbWUsIGdldHRlcik7Cit9CisKIHZhciBBdWRpdENhdGVnb3J5ID0g
ZGVjbGFyZUludGVyZmFjZUNsYXNzKEF1ZGl0Q2F0ZWdvcnlJbXBsKTsKIHZhciBBdWRpdFJlc3Vs
dCA9IGRlY2xhcmVJbnRlcmZhY2VDbGFzcyhBdWRpdFJlc3VsdEltcGwpOwogdmFyIEV2ZW50U2lu
ayA9IGRlY2xhcmVJbnRlcmZhY2VDbGFzcyhFdmVudFNpbmtJbXBsKTsKIHZhciBFeHRlbnNpb25T
aWRlYmFyUGFuZSA9IGRlY2xhcmVJbnRlcmZhY2VDbGFzcyhFeHRlbnNpb25TaWRlYmFyUGFuZUlt
cGwpOwogdmFyIFBhbmVsID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKFBhbmVsSW1wbCk7CiB2YXIg
UGFuZWxXaXRoU2lkZWJhciA9IGRlY2xhcmVJbnRlcmZhY2VDbGFzcyhQYW5lbFdpdGhTaWRlYmFy
SW1wbCk7Ci12YXIgUmVzb3VyY2UgPSBkZWNsYXJlSW50ZXJmYWNlQ2xhc3MoUmVzb3VyY2VJbXBs
KTsKK3ZhciBSZXF1ZXN0ID0gZGVjbGFyZUludGVyZmFjZUNsYXNzKFJlcXVlc3RJbXBsKTsKIHZh
ciBUaW1lbGluZSA9IGRlY2xhcmVJbnRlcmZhY2VDbGFzcyhUaW1lbGluZUltcGwpOwogCiB2YXIg
ZXh0ZW5zaW9uU2VydmVyID0gbmV3IEV4dGVuc2lvblNlcnZlckNsaWVudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwpp
bmRleCAxZTJmZTE1Li5jMjM2MThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwpAQCAtMzYsNyArMzYsNyBAQCBXZWJJ
bnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3N1YnNjcmlw
dGlvblN0YXJ0SGFuZGxlcnMgPSB7fTsKICAgICB0aGlzLl9zdWJzY3JpcHRpb25TdG9wSGFuZGxl
cnMgPSB7fTsKICAgICB0aGlzLl9leHRyYUhlYWRlcnMgPSB7fTsKLSAgICB0aGlzLl9yZXNvdXJj
ZXMgPSB7fTsKKyAgICB0aGlzLl9yZXF1ZXN0cyA9IHt9OwogICAgIHRoaXMuX2xhc3RSZXF1ZXN0
SWQgPSAwOwogICAgIHRoaXMuX2FsbG93ZWRPcmlnaW5zID0ge307CiAgICAgdGhpcy5fc3RhdHVz
ID0gbmV3IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TdGF0dXMoKTsKQEAgLTkxLDcgKzkxLDcgQEAg
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAKICAgICBfaW5zcGVj
dGVkVVJMQ2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICB0aGlzLl9yZXNv
dXJjZXMgPSB7fTsKKyAgICAgICAgdGhpcy5fcmVxdWVzdHMgPSB7fTsKICAgICAgICAgdmFyIHVy
bCA9IGV2ZW50LmRhdGE7CiAgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmljYXRpb24oImluc3BlY3Rl
ZFVSTENoYW5nZWQiLCB1cmwpOwogICAgIH0sCkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBXZWJJbnNw
ZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcG9zdE5v
dGlmaWNhdGlvbigicmVzb3VyY2UtY29udGVudC1lZGl0ZWQiLCB1cmwsIGNvbnRlbnQpOwogICAg
IH0sCiAKLSAgICBfbm90aWZ5UmVzb3VyY2VGaW5pc2hlZDogZnVuY3Rpb24oZXZlbnQpCisgICAg
X25vdGlmeVJlcXVlc3RGaW5pc2hlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICB2
YXIgcmVzb3VyY2UgPSBldmVudC5kYXRhOwotICAgICAgICBpZiAodGhpcy5faGFzU3Vic2NyaWJl
cnMoInJlc291cmNlLWZpbmlzaGVkIikpCi0gICAgICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0
aW9uKCJyZXNvdXJjZS1maW5pc2hlZCIsIHRoaXMuX3JlcXVlc3RJZChyZXNvdXJjZSksIChuZXcg
V2ViSW5zcGVjdG9yLkhBUkVudHJ5KHJlc291cmNlKSkuYnVpbGQoKSk7CisgICAgICAgIHZhciBy
ZXF1ZXN0ID0gZXZlbnQuZGF0YTsKKyAgICAgICAgaWYgKHRoaXMuX2hhc1N1YnNjcmliZXJzKCJu
ZXR3b3JrLXJlcXVlc3QtZmluaXNoZWQiKSkKKyAgICAgICAgICAgIHRoaXMuX3Bvc3ROb3RpZmlj
YXRpb24oIm5ldHdvcmstcmVxdWVzdC1maW5pc2hlZCIsIHRoaXMuX3JlcXVlc3RJZChyZXF1ZXN0
KSwgKG5ldyBXZWJJbnNwZWN0b3IuSEFSRW50cnkocmVxdWVzdCkpLmJ1aWxkKCkpOwogICAgIH0s
CiAKICAgICBfaGFzU3Vic2NyaWJlcnM6IGZ1bmN0aW9uKHR5cGUpCkBAIC0yOTYsMzggKzI5Niwx
NyBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAg
UnVudGltZUFnZW50LmV2YWx1YXRlKGV2YWxFeHByZXNzaW9uLCAiIiwgdHJ1ZSwgY2FsbGJhY2su
YmluZCh0aGlzKSk7CiAgICAgfSwKIAotICAgIF9vblJldmVhbEFuZFNlbGVjdDogZnVuY3Rpb24o
bWVzc2FnZSkKLSAgICB7Ci0gICAgICAgIGlmIChtZXNzYWdlLnBhbmVsSWQgPT09ICJyZXNvdXJj
ZXMiICYmIHR5cGUgPT09ICJyZXNvdXJjZSIpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5fb25S
ZXZlYWxBbmRTZWxlY3RSZXNvdXJjZShtZXNzYWdlKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX05PVFNVUFBPUlRFRChtZXNzYWdlLnBhbmVsSWQsIG1l
c3NhZ2UudHlwZSk7Ci0gICAgfSwKLQotICAgIF9vblJldmVhbEFuZFNlbGVjdFJlc291cmNlOiBm
dW5jdGlvbihtZXNzYWdlKQotICAgIHsKLSAgICAgICAgdmFyIGlkID0gbWVzc2FnZS5pZDsKLSAg
ICAgICAgdmFyIHJlc291cmNlID0gbnVsbDsKLQotICAgICAgICByZXNvdXJjZSA9IHRoaXMuX3Jl
c291cmNlQnlJZChpZCkgfHwgV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKGlkKTsKLSAgICAg
ICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMuRV9OT1RG
T1VORCh0eXBlb2YgaWQgKyAiOiAiICsgaWQpOwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5l
bHMucmVzb3VyY2VzLnNob3dSZXNvdXJjZShyZXNvdXJjZSwgbWVzc2FnZS5saW5lKTsKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7Ci0gICAgfSwKLQogICAgIF9k
aXNwYXRjaENhbGxiYWNrOiBmdW5jdGlvbihyZXF1ZXN0SWQsIHBvcnQsIHJlc3VsdCkKICAgICB7
CiAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoeyBjb21tYW5kOiAiY2FsbGJhY2siLCByZXF1ZXN0
SWQ6IHJlcXVlc3RJZCwgcmVzdWx0OiByZXN1bHQgfSk7CiAgICAgfSwKIAotICAgIF9vbkdldEhB
UjogZnVuY3Rpb24ocmVxdWVzdCkKKyAgICBfb25HZXRIQVI6IGZ1bmN0aW9uKCkKICAgICB7Ci0g
ICAgICAgIHZhciByZXNvdXJjZXMgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXNvdXJjZXM7
Ci0gICAgICAgIHZhciBoYXJMb2cgPSAobmV3IFdlYkluc3BlY3Rvci5IQVJMb2cocmVzb3VyY2Vz
KSkuYnVpbGQoKTsKKyAgICAgICAgdmFyIHJlcXVlc3RzID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtM
b2cucmVzb3VyY2VzOworICAgICAgICB2YXIgaGFyTG9nID0gKG5ldyBXZWJJbnNwZWN0b3IuSEFS
TG9nKHJlcXVlc3RzKSkuYnVpbGQoKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoYXJM
b2cuZW50cmllcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIGhhckxvZy5lbnRyaWVzW2ldLl9y
ZXF1ZXN0SWQgPSB0aGlzLl9yZXF1ZXN0SWQocmVzb3VyY2VzW2ldKTsKKyAgICAgICAgICAgIGhh
ckxvZy5lbnRyaWVzW2ldLl9yZXF1ZXN0SWQgPSB0aGlzLl9yZXF1ZXN0SWQocmVxdWVzdHNbaV0p
OwogICAgICAgICByZXR1cm4gaGFyTG9nOwogICAgIH0sCiAKQEAgLTM0MSw2MCArMzIwLDYwIEBA
IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAg
fTsKICAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoQ2FsbGJhY2sobWVzc2FnZS5yZXF1ZXN0SWQs
IHBvcnQsIHJlc3BvbnNlKTsKICAgICAgICAgfQotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlz
Ll9yZXNvdXJjZUJ5SWQobWVzc2FnZS5pZCk7Ci0gICAgICAgIGlmICghcmVzb3VyY2UpCisgICAg
ICAgIHZhciByZXF1ZXN0ID0gdGhpcy5fcmVxdWVzdEJ5SWQobWVzc2FnZS5pZCk7CisgICAgICAg
IGlmICghcmVxdWVzdCkKICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGF0dXMuRV9OT1RGT1VO
RChtZXNzYWdlLmlkKTsKLSAgICAgICAgcmVzb3VyY2UucmVxdWVzdENvbnRlbnQob25Db250ZW50
QXZhaWxhYmxlLmJpbmQodGhpcykpOworICAgICAgICByZXF1ZXN0LnJlcXVlc3RDb250ZW50KG9u
Q29udGVudEF2YWlsYWJsZS5iaW5kKHRoaXMpKTsKICAgICB9LAogCi0gICAgX3JlcXVlc3RJZDog
ZnVuY3Rpb24ocmVzb3VyY2UpCisgICAgX3JlcXVlc3RJZDogZnVuY3Rpb24ocmVxdWVzdCkKICAg
ICB7Ci0gICAgICAgIGlmICghcmVzb3VyY2UuX2V4dGVuc2lvblJlcXVlc3RJZCkgewotICAgICAg
ICAgICAgcmVzb3VyY2UuX2V4dGVuc2lvblJlcXVlc3RJZCA9ICsrdGhpcy5fbGFzdFJlcXVlc3RJ
ZDsKLSAgICAgICAgICAgIHRoaXMuX3Jlc291cmNlc1tyZXNvdXJjZS5fZXh0ZW5zaW9uUmVxdWVz
dElkXSA9IHJlc291cmNlOworICAgICAgICBpZiAoIXJlcXVlc3QuX2V4dGVuc2lvblJlcXVlc3RJ
ZCkgeworICAgICAgICAgICAgcmVxdWVzdC5fZXh0ZW5zaW9uUmVxdWVzdElkID0gKyt0aGlzLl9s
YXN0UmVxdWVzdElkOworICAgICAgICAgICAgdGhpcy5fcmVxdWVzdHNbcmVxdWVzdC5fZXh0ZW5z
aW9uUmVxdWVzdElkXSA9IHJlcXVlc3Q7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHJlc291
cmNlLl9leHRlbnNpb25SZXF1ZXN0SWQ7CisgICAgICAgIHJldHVybiByZXF1ZXN0Ll9leHRlbnNp
b25SZXF1ZXN0SWQ7CiAgICAgfSwKIAotICAgIF9yZXNvdXJjZUJ5SWQ6IGZ1bmN0aW9uKGlkKQor
ICAgIF9yZXF1ZXN0QnlJZDogZnVuY3Rpb24oaWQpCiAgICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fcmVzb3VyY2VzW2lkXTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3RzW2lkXTsKICAg
ICB9LAogCi0gICAgX29uQWRkQXVkaXRDYXRlZ29yeTogZnVuY3Rpb24ocmVxdWVzdCkKKyAgICBf
b25BZGRBdWRpdENhdGVnb3J5OiBmdW5jdGlvbihtZXNzYWdlKQogICAgIHsKLSAgICAgICAgdmFy
IGNhdGVnb3J5ID0gbmV3IFdlYkluc3BlY3Rvci5FeHRlbnNpb25BdWRpdENhdGVnb3J5KHJlcXVl
c3QuaWQsIHJlcXVlc3QuZGlzcGxheU5hbWUsIHJlcXVlc3QucmVzdWx0Q291bnQpOworICAgICAg
ICB2YXIgY2F0ZWdvcnkgPSBuZXcgV2ViSW5zcGVjdG9yLkV4dGVuc2lvbkF1ZGl0Q2F0ZWdvcnko
bWVzc2FnZS5pZCwgbWVzc2FnZS5kaXNwbGF5TmFtZSwgbWVzc2FnZS5yZXN1bHRDb3VudCk7CiAg
ICAgICAgIGlmIChXZWJJbnNwZWN0b3IucGFuZWxzLmF1ZGl0cy5nZXRDYXRlZ29yeShjYXRlZ29y
eS5pZCkpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzLkVfRVhJU1RTKGNhdGVnb3J5
LmlkKTsKLSAgICAgICAgdGhpcy5fY2xpZW50T2JqZWN0c1tyZXF1ZXN0LmlkXSA9IGNhdGVnb3J5
OworICAgICAgICB0aGlzLl9jbGllbnRPYmplY3RzW21lc3NhZ2UuaWRdID0gY2F0ZWdvcnk7CiAg
ICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuYXVkaXRzLmFkZENhdGVnb3J5KGNhdGVnb3J5KTsK
ICAgICB9LAogCi0gICAgX29uQWRkQXVkaXRSZXN1bHQ6IGZ1bmN0aW9uKHJlcXVlc3QpCisgICAg
X29uQWRkQXVkaXRSZXN1bHQ6IGZ1bmN0aW9uKG1lc3NhZ2UpCiAgICAgewotICAgICAgICB2YXIg
YXVkaXRSZXN1bHQgPSB0aGlzLl9jbGllbnRPYmplY3RzW3JlcXVlc3QucmVzdWx0SWRdOworICAg
ICAgICB2YXIgYXVkaXRSZXN1bHQgPSB0aGlzLl9jbGllbnRPYmplY3RzW21lc3NhZ2UucmVzdWx0
SWRdOwogICAgICAgICBpZiAoIWF1ZGl0UmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuIHRoaXMu
X3N0YXR1cy5FX05PVEZPVU5EKHJlcXVlc3QucmVzdWx0SWQpOworICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3N0YXR1cy5FX05PVEZPVU5EKG1lc3NhZ2UucmVzdWx0SWQpOwogICAgICAgICB0cnkg
ewotICAgICAgICAgICAgYXVkaXRSZXN1bHQuYWRkUmVzdWx0KHJlcXVlc3QuZGlzcGxheU5hbWUs
IHJlcXVlc3QuZGVzY3JpcHRpb24sIHJlcXVlc3Quc2V2ZXJpdHksIHJlcXVlc3QuZGV0YWlscyk7
CisgICAgICAgICAgICBhdWRpdFJlc3VsdC5hZGRSZXN1bHQobWVzc2FnZS5kaXNwbGF5TmFtZSwg
bWVzc2FnZS5kZXNjcmlwdGlvbiwgbWVzc2FnZS5zZXZlcml0eSwgbWVzc2FnZS5kZXRhaWxzKTsK
ICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgcmV0dXJuIGU7CiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5PSygpOwogICAgIH0sCiAKLSAgICBfb25TdG9w
QXVkaXRDYXRlZ29yeVJ1bjogZnVuY3Rpb24ocmVxdWVzdCkKKyAgICBfb25TdG9wQXVkaXRDYXRl
Z29yeVJ1bjogZnVuY3Rpb24obWVzc2FnZSkKICAgICB7Ci0gICAgICAgIHZhciBhdWRpdFJ1biA9
IHRoaXMuX2NsaWVudE9iamVjdHNbcmVxdWVzdC5yZXN1bHRJZF07CisgICAgICAgIHZhciBhdWRp
dFJ1biA9IHRoaXMuX2NsaWVudE9iamVjdHNbbWVzc2FnZS5yZXN1bHRJZF07CiAgICAgICAgIGlm
ICghYXVkaXRSdW4pCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzLkVfTk9URk9VTkQo
cmVxdWVzdC5yZXN1bHRJZCk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzLkVfTk9U
Rk9VTkQobWVzc2FnZS5yZXN1bHRJZCk7CiAgICAgICAgIGF1ZGl0UnVuLmNhbmNlbCgpOwogICAg
IH0sCiAKICAgICBpbml0RXh0ZW5zaW9uczogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgLy8g
VGhlIG5ldHdvcmtNYW5hZ2VyIGlzIG5vcm1hbGx5IGNyZWF0ZWQgYWZ0ZXIgdGhlIEV4dGVuc2lv
blNlcnZlciBpcyBjb25zdHJ1Y3RlZCwgYnV0IGJlZm9yZSBpbml0RXh0ZW5zaW9ucygpIGlzIGNh
bGxlZC4KLSAgICAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VGaW5pc2hl
ZCwgdGhpcy5fbm90aWZ5UmVzb3VyY2VGaW5pc2hlZCwgdGhpcyk7CisgICAgICAgIFdlYkluc3Bl
Y3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlRmluaXNoZWQsIHRoaXMuX25vdGlmeVJlcXVlc3RG
aW5pc2hlZCwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVz
Lkluc3BlY3RlZFVSTENoYW5nZWQsIHRoaXMuX2luc3BlY3RlZFVSTENoYW5nZWQsIHRoaXMpOwog
ICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRSZWNvcmRl
ZCwgdGhpcy5fYWRkUmVjb3JkVG9UaW1lbGluZSwgdGhpcyk7CiAKQEAgLTQ2NCwxNiArNDQzLDE2
IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogCiAgICAgX29u
bWVzc2FnZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IGV2
ZW50LmRhdGE7CisgICAgICAgIHZhciBtZXNzYWdlID0gZXZlbnQuZGF0YTsKICAgICAgICAgdmFy
IHJlc3VsdDsKIAotICAgICAgICBpZiAocmVxdWVzdC5jb21tYW5kIGluIHRoaXMuX2hhbmRsZXJz
KQotICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5faGFuZGxlcnNbcmVxdWVzdC5jb21tYW5kXShy
ZXF1ZXN0LCBldmVudC50YXJnZXQpOworICAgICAgICBpZiAobWVzc2FnZS5jb21tYW5kIGluIHRo
aXMuX2hhbmRsZXJzKQorICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5faGFuZGxlcnNbbWVzc2Fn
ZS5jb21tYW5kXShtZXNzYWdlLCBldmVudC50YXJnZXQpOwogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICByZXN1bHQgPSB0aGlzLl9zdGF0dXMuRV9OT1RTVVBQT1JURUQocmVxdWVzdC5jb21tYW5k
KTsKKyAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX3N0YXR1cy5FX05PVFNVUFBPUlRFRChtZXNz
YWdlLmNvbW1hbmQpOwogCi0gICAgICAgIGlmIChyZXN1bHQgJiYgcmVxdWVzdC5yZXF1ZXN0SWQp
Ci0gICAgICAgICAgICB0aGlzLl9kaXNwYXRjaENhbGxiYWNrKHJlcXVlc3QucmVxdWVzdElkLCBl
dmVudC50YXJnZXQsIHJlc3VsdCk7CisgICAgICAgIGlmIChyZXN1bHQgJiYgbWVzc2FnZS5yZXF1
ZXN0SWQpCisgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaENhbGxiYWNrKG1lc3NhZ2UucmVxdWVz
dElkLCBldmVudC50YXJnZXQsIHJlc3VsdCk7CiAgICAgfSwKIAogICAgIF9yZWdpc3RlckhhbmRs
ZXI6IGZ1bmN0aW9uKGNvbW1hbmQsIGNhbGxiYWNrKQo=
</data>
<flag name="review"
          id="100128"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>