<?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>139743</bug_id>
          
          <creation_ts>2014-12-17 12:52:35 -0800</creation_ts>
          <short_desc>Web Inspector: delete unused tests in LayoutTests/inspector-obsolete</short_desc>
          <delta_ts>2014-12-27 09:34:51 -0800</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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Brian Burg">burg</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1056512</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-12-17 12:52:35 -0800</bug_when>
    <thetext>We haven&apos;t really done anything with these since they were set aside a year ago. Maybe we should just delete them from TOT. I don&apos;t think the old tests will be useful in making multi-process inspector model tests less flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056513</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-12-17 12:52:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/19282837&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056519</commentid>
    <comment_count>2</comment_count>
      <attachid>243455</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-12-17 13:07:26 -0800</bug_when>
    <thetext>Created attachment 243455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057967</commentid>
    <comment_count>3</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-12-27 09:34:51 -0800</bug_when>
    <thetext>Committed r177758: &lt;http://trac.webkit.org/changeset/177758&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243455</attachid>
            <date>2014-12-17 13:07:26 -0800</date>
            <delta_ts>2014-12-17 13:30:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139743-20141217130802.patch</filename>
            <type>text/plain</type>
            <size>1527639</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NDU2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTkzMDNmZTdiN2U3YzgwMDE1MmJi
MjcxYTU3NGQzODAxMmNlYTZmZS4uMzEyNGJhMmRlZDAwMzYyY2JjMDJmNzJjOTY2MDUzOWExYTc0
MzkxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5OSBAQAorMjAxNC0xMi0xNyAgQnJpYW4gSi4gQnVyZyAg
PGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZGVsZXRl
IHVudXNlZCB0ZXN0cyBpbiBMYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTc0MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBvbGQgSW5zcGVj
dG9yIHRlc3RzIHNpbmNlIHRoZXkgYXJlbid0IHVzZWQuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2FsZXJ0LXRvU3Ry
aW5nLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvYWxlcnQtdG9TdHJpbmctZXhjZXB0aW9uLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY2xpZW50cy1pZ25vcmVkLWlu
LXByaXZhdGVicm93c2luZy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2NvbnNvbGUvY2xpZW50cy1pZ25vcmVkLWluLXByaXZhdGVicm93c2luZy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbW1h
bmQtbGluZS1hcGktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5l
LWFwaS1pbnNwZWN0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtT2JqZWN0LW92ZXJ3cml0dGVuLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLU9iamVjdC1vdmVyd3JpdHRlbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
YXBpLW9uLWNhbGwtZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLWFzc2VydC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1hc3NlcnQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWJpbmQt
ZmFrZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1iaW5kLWZha2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LWNsZWFyLWZ1bmN0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1jb21tYW5kLWNsZWFyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNvbW1hbmQtY2xl
YXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWNzcy13YXJuaW5ncy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jc3Mtd2FybmluZ3MuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWRpci1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1kaXItZ2xvYmFsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWRpci1nbG9iYWwuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWRpci5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZh
bC1ibG9ja2VkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtYmxvY2tlZC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1jb21tZW50LWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWV2YWwtY29tbWVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWZha2UtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtZXZhbC1mYWtlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtZXZhbC1zY29wZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1zY29wZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc3ludGF4LWVy
cm9yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWV2YWwtc3ludGF4LWVycm9yLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5l
ZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5lZC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3Zl
cnJpZGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRlZmluZWQtb3ZlcnJpZGUuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV4
Y2VwdGlvbi1zdGFjay10cmFjZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtZXh0ZXJuYWwtYXJyYXktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxhc3QtcmVz
dWx0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWxhc3QtcmVzdWx0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVu
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1w
cm90by1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8uaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1uYXRpdmUtZnVuY3Mt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtbG9nLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctc3ludGF4LWVycm9y
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3Qu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWxvbmctZXZhbC1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb25nLWV2YWwtY3Jhc2guaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW1lc3Nh
Z2UtZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UtZm9ybWF0Lmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlcy1zdGFjay10
cmFjZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3RhY2stdHJhY2VzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1uYXRpdmUtZnVuY3Rp
b24tdG8tc3RyaW5nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmcuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW5l
c3RlZC1ncm91cC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1jb25zdHJ1Y3Rv
ci1uYW1lLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1jb25zdHJ1Y3Rvci1uYW1lLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vYmplY3QtcHJl
dmlldy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb3JpZ2luYXRpbmctY29tbWFuZC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1vcmlnaW5hdGluZy1jb21tYW5kLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2ctZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtcHJlc2VydmUtbG9nLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1yZXBlYXQtY291bnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtcmVwZWF0LWNvdW50
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1zdHJpbmctZm9ybWF0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN0cmluZy1mb3JtYXQuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1
dGVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10ZXN0cy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10ZXN0cy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtdHJhY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtdHJhY2UtaW4tZXZhbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10cmFjZS1pbi1l
dmFsLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS10cmFjZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0
LWV4Y2VwdGlvbi1pbi1ldmFsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFs
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS11bmNhdWdodC1leGNlcHRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVybC1saW5lLWNvbHVtbi1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11
cmwtbGluZS1jb2x1bW4uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLXhtbC1kb2N1bWVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14bWwtZG9jdW1lbnQu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLXhwYXRoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLXhwYXRoLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvaW5zcGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9p
bnNwZWN0LWh0bWwtYWxsLWNvbGxlY3Rpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9yZXNvdXJjZXMvbG9nLXNvdXJjZS5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9yZXNvdXJjZXMvc3ludGF4LWVy
cm9yLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL3Jl
c291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvYnJlYWtwb2lu
dC1tYW5hZ2VyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2Rl
YnVnZ2VyL2NvcHktc3RhY2stdHJhY2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9jb3B5LXN0YWNrLXRyYWNlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2
YXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRp
b24tY3Jhc2gyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDIuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRp
bnVlLW9uLXN5bnRheC1lcnJvci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWF1dG9jb250aW51ZS1vbi1zeW50YXgt
ZXJyb3IuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1vbi1yZWxvYWQtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1
Z2dlci1icmVha3BvaW50cy1ub3QtYWN0aXZhdGVkLW9uLXJlbG9hZC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21waWxlLWFu
ZC1ydW4tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21waWxlLWFuZC1ydW4uaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGxldGlvbnMtb24t
Y2FsbC1mcmFtZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBsZXRpb25zLW9uLWNhbGwtZnJhbWUuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
Y3ljbGljLXJlZi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItZXZhbC1vbi1jYWxsLWZy
YW1lLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItZXZhbC1vbi1jYWxsLWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1
c2VkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItZXZhbC13aGlsZS1wYXVzZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItbm8tbmVzdGVkLXBhdXNl
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZGVidWdnZXItbm8tbmVzdGVkLXBhdXNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2UtaW4tZXZhbC1zY3JpcHQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2UtaW4taW50ZXJu
YWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2Vk
LWV2ZW50LWhhbmRsZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRs
ZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
cGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQt
c2NyaXB0LXVybC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dl
ci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1
Z2dlci1zdGF0ZW1lbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1
c2Utb24tZXhjZXB0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWZhaWxlZC1hc3NlcnRpb24tZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1
Z2dlci1wYXVzZS1vbi1mYWlsZWQtYXNzZXJ0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXJlbG9hZC1vbi1wYXVzZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2Ny
aXB0cy1yZWxvYWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLXJlbG9hZC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVn
Z2VyLXNldC1icmVha3BvaW50LXJlZ2V4LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2V0LWJyZWFrcG9pbnQtcmVn
ZXguaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItc3RlcC1pbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtaW4uaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdXQtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dl
ci9kZWJ1Z2dlci1zdGVwLW91dC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW92ZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLW92
ZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItc3VzcGVuZC1hY3RpdmUtZG9tLW9iamVjdHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdXNwZW5k
LWFjdGl2ZS1kb20tb2JqZWN0cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNl
LWJsb2NrZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZnVuY3Rpb24tZGV0YWlscy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Z1bmN0aW9uLWRldGFpbHMuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvb3Blbi1jbG9zZS1vcGVu
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvb3Blbi1jbG9zZS1vcGVuLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9wYXVzZS1pbi1p
bmxpbmUtc2NyaXB0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlwdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFs
LXNjcmlwdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1lLWJyZWFrcG9pbnRzLmpz
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJj
ZXMvZWRpdC1tZS1zeW50YXgtZXJyb3IuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1lLXdoZW4tcGF1c2VkLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRp
dC1tZS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
cmVzb3VyY2VzL29iZnVzY2F0ZWQuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLWJ5LWNzcC5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3Bh
dXNlLW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0
LWluamVjdGlvbi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDEu
anM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291
cmNlcy9zY3JpcHQyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9yZXNvdXJjZXMvc2NyaXB0My5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVy
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvc2NyaXB0LWZvcm1hdHRlci1zZWFyY2gtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJj
aC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9z
Y3JpcHQtZm9ybWF0dGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL3NvdXJjZS11cmwtY29tbWVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3NvdXJjZS11cmwtY29tbWVudC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9kb20t
YWdlbnQtcXVlcnktc2VsZWN0b3ItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2VsZWN0b3IuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZG9tLXNlYXJj
aC1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWRpdC1zdHlsZS1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lZGl0
LXN0eWxlLWF0dHJpYnV0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1yZWxvYWQtYXNzZXJ0LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMt
cGFuZWwtcmVsb2FkLWFzc2VydC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1zZWFyY2gtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5l
bC1zZWFyY2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1ub2RlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtcmVnaW9ucy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2Rl
LXJlZ2lvbnMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1ub2RlLXNjcm9sbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjcm9sbC5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdo
bGlnaHQtcmVnaW9ucy1mbG93LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy1ob3Jpei1idC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctaG9yaXotYnQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10
cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS1ob3Jpei1idC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWhvcml6LWJ0Lmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdp
b25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRy
YW5zZm9ybS12ZXJ0LWxyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtcmwtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS12ZXJ0LXJsLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25z
LWZsb3ctdHJhbnNmb3JtLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1sci1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdo
dC1yZWdpb25zLWZsb3ctdmVydC1sci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQtcmwtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9o
aWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQtcmwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQt
c3ZnLXJvb3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVkLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXN2
Zy1yb290LXpvb21lZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvbXV0YXRlLXVua25vd24tbm9kZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL211dGF0
ZS11bmtub3duLW5vZGUuaHRtbC1kaXNhYmxlZDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvZWxlbWVudHMvcGVyZm9ybS11bmRvLXVuZG8tZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9wZXJmb3JtLXVuZG8t
dW5kby5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9yZXNvbHZlLWFsaWVuLW5vZGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvbHZlLWFsaWVuLW5vZGUuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb2x2ZS1ub2RlLWJs
b2NrZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9yZXNvbHZlLW5vZGUtYmxvY2tlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZG9tLXNlYXJjaC1jcmFzaC1p
ZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVu
dHMvcmVzb3VyY2VzL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUtaHJlZi1pZnJhbWUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL2Vs
ZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9oaWRlLXNob3J0Y3V0LWlmcmFtZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvaGln
aGxpZ2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0LWh0bWwtdmlhLXJlc291cmNlLWlm
cmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9yZXNvdXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LWF0dHJpYnV0ZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Nl
dC1hdHRyaWJ1dGUtbm9uLWh0bWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtYXR0cmlidXRlLW5vbi1odG1sLnN2ZzogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LWF0dHJpYnV0
ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9z
ZXQtb3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtMi5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5LWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVu
dHMvc2V0LW91dGVyLWh0bWwtYm9keS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWZv
ci14aHRtbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWZvci14aHRtbC54aHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtdGVzdC5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91
dGVyLWh0bWwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8t
c2V0LW91dGVyLWh0bWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy91bmRvLXNldC1vdXRlci1odG1sLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUt
aWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0
cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNo
ZS9hcHBjYWNoZS1zd2FwLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1zd2FwLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBw
Y2FjaGUtdGVzdC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL3Jlc291cmNlcy9wYWdl
LXdpdGgtbWFuaWZlc3QucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hl
L3Jlc291cmNlcy93aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHA6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3Jlc291cmNlcy9hYmUucG5n
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2F1ZGl0
cy9zZXQtY29va2llLWhlYWRlci1hdWRpdC1uby1mYWxzZS1wb3NpdGl2ZS1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRz
L3NldC1jb29raWUtaGVhZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY2hhbmdlLWlmcmFtZS1z
cmMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2NoYW5nZS1pZnJhbWUtc3JjLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc2NyaXB0LW1hcHBpbmctZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWctZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRlYnVnLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jZC1jb21wbGV0aW9ucy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvY29uc29sZS1jZC1jb21wbGV0aW9ucy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2QtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2Qu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9j
b25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xl
LWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jbGVhci1hcmd1bWVu
dHMtb24tZnJhbWUtcmVtb3ZlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFt
ZS1yZW1vdmUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9jb25zb2xlLWNyb3NzLW9yaWdpbi1pZnJhbWUtbG9nZ2luZy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2
aWdhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvY29uc29sZS1sb2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xl
LXJlc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXRl
c3QuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
Y29uc29sZS13ZWJzb2NrZXQtZXJyb3IuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXhoci1sb2dnaW5nLWFzeW5jLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9j
b25zb2xlLXhoci1sb2dnaW5nLWFzeW5jLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS14aHItbG9nZ2luZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2RhdGFiYXNlLW9wZW4tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RhdGFiYXNlLW9wZW4uaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kZWJ1Z2dlci10
ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2RlZGljYXRlZC13b3JrZXJzLWxpc3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RlZGljYXRlZC13b3JrZXJzLWxpc3QuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kb2N1
bWVudC13cml0ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvZG9jdW1lbnQtd3JpdGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kb20tc3RvcmFnZS1vcGVuLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9k
b20tc3RvcmFnZS1vcGVuLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvZHluYW1pYy1zY3JpcHRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9keW5hbWljLXNjcmlwdHMuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9lbGVt
ZW50cy10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL2V4dGVuc2lvbnMtaGVhZGVycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1oZWFkZXJzLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5z
aW9ucy1pZnJhbWUtZXZhbC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZnJhbWUtZXZhbC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMt
aWdub3JlLWNhY2hlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLWlnbm9yZS1jYWNoZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtbmV0
d29yay1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9u
cy1uZXR3b3JrLXRlc3QuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRhLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9p
bmRleGVkZGIvZGF0YWJhc2UtZGF0YS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1uYW1lcy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5k
ZXhlZGRiL2RhdGFiYXNlLW5hbWVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
aW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9pbmRleGVkZGItdGVzdC5qczog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVk
ZGIvcmVzb3VyY2VzLXBhbmVsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvcmVzb3VyY2VzLXBhbmVsLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhl
ZGRiL3Jlc291cmNlcy93aXRob3V0LWluZGV4ZWQtZGIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvaW5qZWN0ZWQtc2NyaXB0LWRpc2NhcmQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3Bl
Y3QtZWxlbWVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2luc3BlY3QtaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5z
cGVjdC1pZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5zcGVjdG9yLXRlc3QuanM6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaXNvbGF0ZWQtZmls
ZXN5c3RlbS10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2xpdmUtZWRpdC10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL21vZGlmeS1jcm9zcy1kb21haW4tcnVsZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbW9k
aWZ5LWNyb3NzLWRvbWFpbi1ydWxlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay1wcmVmbGlnaHQtb3B0aW9ucy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmstdGVzdC5qczogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1p
bWUtdHlwZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9hc3luYy14aHItanNvbi1taW1lLXR5cGUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2Nh
Y2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFnZS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9j
YWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1y
ZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVk
LXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY3NzLXNvdXJjZS1t
YXBwaW5nLXVybC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jc3Mtc291cmNlLW1hcHBpbmctdXJsLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9k
b3dubG9hZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9kb3dubG9hZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaGFyLWNvbnRlbnQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvaGFyLWNvbnRlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2ltYWdlLWFzLXRleHQtbG9hZGluZy1kYXRhLXVy
bC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9pbWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstY2FjaGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdv
cmstY2FjaGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNh
Y2hlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUuaHRtbC1kaXNhYmxlZDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstY2xlYXItY29va2llcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMu
aHRtbC1kaXNhYmxlZDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVudC1lbWJlZC1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmst
Y29udGVudC1yZXBsYWNlbWVudC14aHItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJl
cGxhY2VtZW50LXhoci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jeXJpbGxpYy14aHItZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
bmV0d29yay1jeXJpbGxpYy14aHIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1jYWNoZS1tZW1vcnkt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1kaXNhYmxlLWNhY2hlLXhocnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hl
LXhocnMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1lbW9yeS1sZWFrLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1lbW9yeS1sZWFrLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLWVtYmVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1iZWQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmst
ZW1wdHkteGhyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1wdHkteGhyLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3Jr
LWlmcmFtZS1sb2FkLWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pZnJhbWUtbG9h
ZC1hbmQtZGVsZXRlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3
b3JrLWltYWdlLTQwNC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0
d29yay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW5pdGlh
dG9yLWZyb20tY29uc29sZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3IuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmst
cHJldmlldy1qc29uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXJlcXVlc3QtcmV2aXNpb24tY29udGVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXJl
cXVlc3QtcmV2aXNpb24tY29udGVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaGFyZWQtd29ya2VyLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaWRlYmFyLXdp
ZHRoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2lkZWJhci13aWR0aC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1z
aXplLWNodW5rZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaXplLWNodW5rZWQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstc2l6ZS1leHBlY3RlZC1jaHVua2VkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLXNpemUtc3luYy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUtc3luYy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1zaXplLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXRpbWluZy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXRpbWluZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay13b3JrZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay13b3JrZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWRvdWJsZS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXhoci1hc3luYy1kb3VibGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1yZXBsYXktZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay14aHItcmVwbGF5Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVybC1h
cy1tYWluLXJlc291cmNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXNhbWUtdXJsLWFzLW1h
aW4tcmVzb3VyY2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay14aHItc3luYy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvcGluZy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9waW5nLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXF1ZXN0
LW5hbWUtcGF0aC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXF1ZXN0LW5hbWUtcGF0aC5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVxdWVz
dC1wYXJhbWV0ZXJzLWRlY29kaW5nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtcGFyYW1ldGVycy1k
ZWNvZGluZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzLzQwNC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvY3AxMjUxLnhtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L3Jlc291cmNlcy9jeXJpbGxpYy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL2Rvd25sb2FkLnp6ejogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291
cmNlcy9lY2hvLXBheWxvYWQucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL2VtcHR5Lmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMv
aW5pdGlhdG9yLmNzczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9qc29uLnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0
YS5waHA6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHA6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLXNj
cmlwdC5waHA6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3NjcmlwdC1hcy10
ZXh0LXdpdGgtYS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12
ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktbG9uZy11cmwucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3NjcmlwdC1h
cy10ZXh0LnBocDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5w
aHA6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zaWxlbnRfc2NyaXB0
LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvcmVzb3VyY2VzL3NvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3M6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc291
cmNlLW1hcC10ZXN0LXN0eWxlLmNzcy5tYXA6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc291cmNlLW1hcC10ZXN0LXN0
eWxlLnNjc3M6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3V0ZjgueG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVz
b3VyY2VzL3dvcmtlci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy94LWZyYW1lLW9wdGlvbnMtZGVueS5jZ2k6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9z
Y3JpcHQtYXMtdGV4dC1sb2FkaW5nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRp
bmctbG9uZy11cmwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy1sb25nLXVy
bC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy13aXRoLWNhcmV0LWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctd2l0aC1jYXJldC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRleHQt
bG9hZGluZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnktZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsveC1mcmFt
ZS1vcHRpb25zLWRlbnkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9wcm90b2NvbC10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZS1oYXItY29udmVyc2lvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZS1oYXItaGVhZGVycy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1wYWdlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLXBhZ2Vz
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtbWFpbi1jb29raWVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1tYWluLWNvb2tpZXMucGhwOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNl
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXBhcmFtZXRlcnMuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXJlcXVlc3QtY29udGVudC1hZnRlci1sb2FkaW5nLWFuZC1jbGVhcmluZy1jYWNoZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1h
bmQtY2xlYXJpbmctY2FjaGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJlcXVlc3QtY29udGVudC13
aGlsZS1sb2FkaW5nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJlcXVlc3QtY29udGVu
dC13aGlsZS1sb2FkaW5nLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtZXJyb3JzLXJlbG9hZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ldmVudHMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ldmVudHMuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtZnJhbWUtYWRkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUt
ZnJhbWUtYWRkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1lLXR5cGUtY3NzLWNvbnRlbnQtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3MtY29udGVudC5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLW1pbWV0eXBlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vLXhocnMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1uby14aHJzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRy
ZWUtbm9uLXVuaXF1ZS11cmwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtcmVsb2FkLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLXRlc3QuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZW1wdHkucG5n
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLWlmcmFtZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVy
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJh
bWUtYmVmb3JlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1ub24tdW5pcXVl
LXVybC1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLXJlbG9hZC1p
ZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtaW5pdGlhbC5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zY3JpcHQtbmF2aWdhdGVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0
aWFsLTIuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzczogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtbm9u
LXVuaXF1ZS11cmwuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtdGV4dC1wbGFpbi5w
aHA6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2VzLXRlc3QuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2VzL2NvbXBpbGVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNkLWNvbXBsZXRpb25z
LWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNkLWlmcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNsZWFy
LWFyZ3VtZW50cy1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtdGVzdC5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZXMvY29uc29sZS1sb2ctZnJhbWUtYWZ0ZXItbmF2aWdhdGlvbi5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xl
LWxvZy1mcmFtZS1iZWZvcmUtbmF2aWdhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLXJlc291cmNlLWVy
cm9ycy1pZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZy
YW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2VzL2RlZGljYXRlZC13b3JrZXIuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNl
cy9lY2hvLWhlYWRlcnMucGhwOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9lbXB0eS56aXA6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGUuY3NzLm1hcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
ZXhhbXBsZS5zY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZXMvZXh0ZW5zaW9uLXBhbmVsLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4dGVuc2lvbi1zaWRlYmFyLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Vz
L2V4dGVuc2lvbnMtZnJhbWUtZXZhbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9oYXItcGFnZXMtaWZyYW1lLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Vz
L2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9pZnJhbWUtZnJvbS1kaWZmZXJl
bnQtZG9tYWluLWRhdGEuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvaW5zcGVjdC1lbGVtZW50LWlmcmFtZS5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9w
b3N0LXRhcmdldC5jZ2k6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2VzL3Jlc291cmNlLWZvcm0tZGF0YS1yZWNlaXZlci1pZnJhbWUuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZXMvc291cmNlLW1hcC5qc29uOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9zb3VyY2UxLmpzOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9zb3VyY2UyLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy90
ZXN0LXNjYW5uZXIuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMtc2VhcmNoLW1h
dGNoLWluZGV4LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJj
aC9yZXNvdXJjZXMvc2VhcmNoLWNvbmNhdGVuYXRlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNz
czogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFy
Y2gvcmVzb3VyY2VzL3NlYXJjaC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zY3JpcHRzLXNl
YXJjaC1zY29wZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJj
aC1pbi1jb25jYXRlbmF0ZWQtc2NyaXB0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVu
YXRlZC1zY3JpcHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLW5vbi1leGlzdGluZy1yZXNvdXJjZS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
c2VhcmNoL3NlYXJjaC1pbi1ub24tZXhpc3RpbmctcmVzb3VyY2UuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJl
c291cmNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1y
ZXNvdXJjZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2VzLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1p
bi1zY3JpcHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0Lmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1z
dGF0aWMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc3RhdGljLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC10ZXN0Lmpz
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNr
dHJhY2VzL2NzcC1pbmplY3RlZC1jb250ZW50LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRlbnQtd2FybmluZy1jb250YWlucy1z
dGFja3RyYWNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJh
Y2UtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1pbmxpbmUtd2FybmluZy1jb250YWlucy1zdGFja3Ry
YWNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFj
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNldEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3Rh
Y2t0cmFjZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1lb3V0LXdhcm5pbmctY29udGFpbnMtc3RhY2t0
cmFjZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNldFRpbWVvdXQtd2FybmluZy1jb250YWlucy1z
dGFja3RyYWNlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc3RhY2t0cmFjZXMvcmVzb3VyY2VzL2NzcC1pbmxpbmUtdGVzdC5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9y
ZXNvdXJjZXMvc3RhY2t0cmFjZS10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuY3Nz
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxl
cy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmNzczogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1y
ZWRpcmVjdGVkLWNzcy5waHA6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNlcy94c2wtdHJhbnNmb3JtZWQueHNsOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9zdHlsZXMt
cmVkaXJlY3RlZC1jc3MtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMv
eHNsLXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMveHNsLXRyYW5zZm9ybWVkLnhtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXNoZWV0LXNv
dXJjZS1tYXBwaW5nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXNoZWV0LXNvdXJjZS1tYXBwaW5nLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvdGltZWxpbmUtdGVz
dC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93
ZWItc29ja2V0LWZyYW1lLWVycm9yLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWItc29ja2V0LWZyYW1lLWVycm9yLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2Vic29j
a2V0L3RpbWVsaW5lLXdlYnNvY2tldC1ldmVudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2Vic29ja2V0L3RpbWVsaW5lLXdl
YnNvY2tldC1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3dlYnNvY2tldC93ZWItc29ja2V0LWZyYW1lLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQv
d2ViLXNvY2tldC1mcmFtZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3dvcmtzcGFjZS10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9pbnNwZWN0ZWQtb2JqZWN0cy1ub3Qtb3ZlcnJpZGVuLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvaW5zcGVjdGVkLW9i
amVjdHMtbm90LW92ZXJyaWRlbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9sb2FkLXJlc291cmNlLXN5bmNocm9ub3VzbHktdXRmOC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL2xvYWQtcmVzb3VyY2Utc3luY2hy
b25vdXNseS11dGY4Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L3Byb2ZpbGVyL2NwdS1wcm9maWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9m
aWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsZS1yZW1vdmFsLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIv
Y3B1LXByb2ZpbGVyLXByb2ZpbGUtcmVtb3ZhbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1
LXByb2ZpbGVyLXByb2ZpbGluZy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9wcm9maWxlci9wcm9maWxlci10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9yZW1vdGUtb2JqZWN0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvcmVtb3RlLW9iamVjdC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9yZXBvcnQtQVBJLWVycm9ycy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1BUEktZXJy
b3JzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1w
cm90b2NvbC1lcnJvcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9yZXBvcnQtcHJvdG9jb2wtZXJyb3JzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1jYWxsRnVuY3Rpb25Pbi1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUv
cnVudGltZS1jYWxsRnVuY3Rpb25Pbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1nZXRQ
cm9wZXJ0aWVzLWlzT3duUHJvcGVydHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1pc093blBy
b3BlcnR5Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRp
bWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVydGllcy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRp
bWUvcnVudGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVydGllcy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtc2V0UHJvcGVydHlWYWx1
ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3J1
bnRpbWUvcnVudGltZS1zZXRQcm9wZXJ0eVZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNh
dGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdl
LWVtcHR5LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0eS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5l
bC1kb20tc3RvcmFnZS11cGRhdGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLXVwZGF0ZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1z
dG9yYWdlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9hZGQtbmV3LXJ1bGUtaW5saW5lLXN0eWxlLWNzcC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9hZGQtbmV3LXJ1bGUtaW5saW5lLXN0
eWxlLWNzcC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvYWRkLW5ldy1ydWxlLWludmFsaWQtc2VsZWN0b3ItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWludmFsaWQt
c2VsZWN0b3IuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL2FkZC1uZXctcnVsZS13aXRoLXN0eWxlLWFmdGVyLWJvZHktZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLXdp
dGgtc3R5bGUtYWZ0ZXItYm9keS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvZ2V0LXNldC1zdHlsZXNoZWV0LXRleHQtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvZ2V0LXNldC1zdHlsZXNo
ZWV0LXRleHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2luamVj
dC1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL2luamVjdC1zdHlsZXNoZWV0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9wYXJzZS1zdHlsZXNoZWV0LWVycm9ycy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9w
YXJzZS1zdHlsZXNoZWV0LWVycm9ycy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRmOC1ib20tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRmOC1ib20uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3JlZ2lvbi1zdHls
ZS1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9yZWdpb24tc3R5bGUtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3JlbW92ZWQtcnVsZS1jcmFzaC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZW1vdmVkLXJ1
bGUtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3Jlc291cmNlcy9mcm9tY3NzLnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5jc3M6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvaWZy
YW1lZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9y
ZXNvdXJjZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLWVtcHR5LmNzczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9pbXBvcnQtcHNldWRv
Y2xhc3MtY3Jhc2guY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcmVzb3VyY2VzL2luamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEt
cXVlcmllcy0xLmNzczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3Jlc291cmNlcy9tZWRpYS1xdWVyaWVzLmNzczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9wYXJzZS11dGY4LWJvbS1tYWluLmNzczog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9w
YXJzZS11dGY4LWJvbS1yZXNldC5jc3M6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3M6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5j
c3MubWFwOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVz
b3VyY2VzL3NlbGVjdG9yLWxpbmUuc2NzczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtaGlzdG9yeS5jc3M6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLWlmcmFt
ZS1kYXRhLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9yZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEktMS5jc3M6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEktMi5jc3M6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5
bGVzLW5ldy1BUEkuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLWlmcmFtZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0
eWxlcy1zb3VyY2Utb2Zmc2V0cy5jc3M6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXVybC1saW5raWZ5LWlmcmFtZS5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0
eWxlcy11cmwtbGlua2lmeS5jc3M6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9zZWxlY3Rvci1saXN0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3NlbGVjdG9yLWxpc3QuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3NldC1wcm9wZXJ0eS1ib3VuZGFy
aWVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3NldC1wcm9wZXJ0eS1ib3VuZGFyaWVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5LWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0
eWxlcy1hZGQtYmxhbmstcHJvcGVydHkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtaW52YWxpZC1wcm9wZXJ0eS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMt
YWRkLWludmFsaWQtcHJvcGVydHkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1jb21wdXRlZC10cmFjZS1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtY29tcHV0ZWQt
dHJhY2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1kaXNhYmxlLWluaGVyaXRlZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS1pbmhlcml0ZWQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1k
aXNhYmxlLXRoZW4tY2hhbmdlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tY2hhbmdlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJs
ZS10aGVuLWRlbGV0ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWRlbGV0ZS5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhl
bi1lbmFibGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUtb3ZlcnJpZGVuLXVhLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0
eWxlcy1kaXNhYmxlLXRoZW4tZW5hYmxlLW92ZXJyaWRlbi11YS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFi
bGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0
eWxlcy1mb3JtYXR0aW5nLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1mb3JtYXR0aW5nLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaGlzdG9yeS1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMt
aGlzdG9yeS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvc3R5bGVzLWlmcmFtZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaW5jbHVkZS1ob3N0LXJ1bGVzLWNy
YXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhvc3QtcnVsZXMtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pbnZhbGlkLWNvbG9yLXZh
bHVlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9zdHlsZXMtaW52YWxpZC1jb2xvci12YWx1ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1uZXctQVBJLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1u
ZXctQVBJLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9zdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLW92ZXJyaWRlbi1wcm9wZXJ0
aWVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9z
dHlsZXMtc291cmNlLWxpbmVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1zb3VyY2UtbGluZXMtaW5saW5lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLW9mZnNldHMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
c3R5bGVzLXNvdXJjZS1vZmZzZXRzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1h
ZGQtcHJvcGVydHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1h
ZGQtcnVsZS1jcmFzaC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHkuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tcHJv
cGVydHktdG9nZ2xlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3VuZG8tcHJvcGVydHktdG9nZ2xlLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLXNldC1zZWxlY3Rvci10ZXh0LWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3VuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL2FuSW1hZ2UucG5nOiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvYW5vdGhlckltYWdl
LnBuZzogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVz
b3VyY2VzL2JpZy5wbmc6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3Rp
bWVsaW5lL3Jlc291cmNlcy90ZXN0LmJtcDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
b2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuZ2lmOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5pY286IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0Lmpw
ZzogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3Vy
Y2VzL3Rlc3QucG5nOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS9yZXNvdXJjZXMvdGVzdC53ZWJwOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtaWZyYW1lLWRhdGEuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rp
bWVsaW5lLWlmcmFtZS1wYWludC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1hbmltYXRpb24tZnJhbWUtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1h
bmltYXRpb24tZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtZGVjb2RlLXJlc2l6ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRlY29kZS1y
ZXNpemUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxp
bmUvdGltZWxpbmUtZG9tLWNvbnRlbnQtbG9hZGVkLWV2ZW50LWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtZG9tLWNv
bnRlbnQtbG9hZGVkLWV2ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtZXZl
bnQtZGlzcGF0Y2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtZnJhbWVzLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWluamVj
dGVkLXNjcmlwdC1ldmFsLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtaW5qZWN0ZWQtc2NyaXB0LWV2YWwuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
bGF5b3V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0LXJlYXNvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1y
ZWFzb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxp
bmUvdGltZWxpbmUtbGF5b3V0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV2
ZW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLWxvYWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVjZWl2ZWQt
ZGF0YS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVjZWl2ZWQtZGF0YS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJl
c291cmNlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291
cmNlLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNlLWh0bWwtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1wYXJzZS1odG1sLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5l
LXJlY2FsY3VsYXRlLXN0eWxlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50LWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGlt
ZWxpbmUtcmVjZWl2ZS1yZXNwb25zZS1ldmVudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1l
bGluZS1zY3JpcHQtdGFnLTEuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0yLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0
LXRhZy0yLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVs
aW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXN0
YXJ0LXRpbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtdGltZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUtc3RhbXAtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS10aW1lLXN0YW1wLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lci1m
aXJlZC1mcm9tLWV2YWwtY2FsbC1zaXRlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZXItZmlyZWQtZnJvbS1l
dmFsLWNhbGwtc2l0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS10aW1lci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10cml2aWFsLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdHJp
dmlhbC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS91dGlsaXRp
ZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci1vYnNvbGV0ZS91
dGlsaXRpZXMuaHRtbDogUmVtb3ZlZC4KKwogMjAxNC0xMi0xNiAgU2hpdmFrdW1hciBKTSAgPHNo
aXZhLmptQHNhbXN1bmcuY29tPgogCiAgICAgICAgIHRleHQgbm9kZSBzaG91bGQgbm90IGJlIGNy
ZWF0ZWQsIE9uIHNldHRpbmcgZG9jdW1lbnQudGl0bGUgdG8gdGhlIGVtcHR5IHN0cmluZy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IGMzZTZlMTBjMTQ1MTE1MjliMGI3NGU2NzE2MTgxYTdiMGM3NGE0
NmQuLmU0MzkzM2U1Y2I0MmZlZTJlODQyYzBjOGNmZDYyODllN2Q4ZGMyNWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjAsOSArMjAsNiBAQCB3ZWJraXQub3JnL2IvMTE5MDk0IGZhc3QvZm9ybXMv
Y29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbCBbIENyYXNoIFBhcwogIyBUaGlz
IHRlc3Qgd2lsbCBydW4gc2xvd2x5IGluIGRlYnVnIG1vZGUsIGJ1dCBpcyBwbGVudHkgZmFzdCBp
biByZWxlYXNlLgogWyBEZWJ1ZyBdIGpzL3Nsb3ctc3RyZXNzL2Vtc2NyaXB0ZW4tbWVtb3BzLmh0
bWwgWyBTa2lwIF0KIAotIyBTa2lwIHRlc3RzIGZvciB0aGUgb2xkIGluc3BlY3RvciBVSSB0aGF0
IHdpbGwgYmUgcG9ydGVkIG9yIHJlbW92ZWQgc29vbi4KLWluc3BlY3Rvci1vYnNvbGV0ZSBbIFNr
aXAgXQotCiB3ZWJraXQub3JnL2IvMTEyNTIxIFsgUmVsZWFzZSBdIHdlYmF1ZGlvL2phdmFzY3Jp
cHRhdWRpb25vZGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTEyNTIxIFsg
RGVidWcgXSB3ZWJhdWRpby9qYXZhc2NyaXB0YXVkaW9ub2RlLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi8xMTI1MjEgWyBSZWxlYXNlIF0gd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS11
cG1peDItOGNoYW5uZWwtaW5wdXQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNl
cHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvYWxlcnQtdG9TdHJpbmctZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTIyNmEzNGZjYTQ4ODA5NjI2ZTMyYmYwYjIzOWE0NGJiM2I4YzgxNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNlcHRpb24tZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgNjogRXhjZXB0aW9uIGluIHRvU3RyaW5nKCkuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
NjogRXhjZXB0aW9uIGluIHRvU3RyaW5nKCkuCi1UZXN0IHRoYXQgYnJvd3NlciB3b24ndCBjcmFz
aCBpZiBpbnNwZWN0b3IgaXMgb3BlbmVkIGZvciBhIHBhZ2UgdGhhdCBmYWlscyB0byBjb252ZXJ0
IGFsZXJ0KCkgYXJndW1lbnQgdG8gc3RyaW5nLiBUaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24n
dCBjcmFzaC4gQnVnIDYwNTQxCi0KLVBhZ2UgcmVsb2FkZWQuCi1FeGNlcHRpb24gaW4gdG9TdHJp
bmcoKS4gYWxlcnQtdG9TdHJpbmctZXhjZXB0aW9uLmh0bWw6NgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9hbGVydC10b1N0cmluZy1leGNlcHRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2FsZXJ0LXRv
U3RyaW5nLWV4Y2VwdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWEw
NTUyNTdiZGEwZGU4NmNhYWI4MjRhYzljNzA2Y2Y3YjFiOTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2FsZXJ0LXRvU3RyaW5nLWV4Y2VwdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci1hbGVydCh7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyAiRXhjZXB0aW9uIGlu
IHRvU3RyaW5nKCkuIjsgfX0pOwotPC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0aW9uKCkgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0IHRoYXQgYnJvd3NlciB3b24ndCBjcmFzaCBp
ZiBpbnNwZWN0b3IgaXMgb3BlbmVkIGZvciBhIHBhZ2UgdGhhdCBmYWlscyB0byBjb252ZXJ0Ci1h
bGVydCgpIGFyZ3VtZW50IHRvIHN0cmluZy4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3Qg
Y3Jhc2guCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjA1NDEiPkJ1ZyA2MDU0MTwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NsaWVudHMtaWdub3JlZC1p
bi1wcml2YXRlYnJvd3NpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY2xpZW50cy1pZ25vcmVkLWluLXByaXZhdGVicm93c2luZy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZTI0MWViNzliZWMyZTczZGQ1
ODZkZDAzYzVmYmNmMTEwMDE0ZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY2xpZW50
cy1pZ25vcmVkLWluLXByaXZhdGVicm93c2luZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLUluIFByaXZhdGVCcm93c2luZyBtb2RlLCBjb25zb2xlIG1lc3NhZ2Vz
IGFyZSB2aXNpYmxlIGluIHRoZSBDb25zb2xlLCBidXQgYXJlbid0IHNlbnQgdG8gQ2hyb21lQ2xp
ZW50cyAob3IgcHJpbnRmJ2QpIGluIG9yZGVyIHRvIGVuc3VyZSB0aGV5IG5ldmVyIGVuZCB1cCBp
biBsb2dzLiBCZXR0ZXIgc2FmZSB0aGFuIHNvcnJ5LgotCi1sb2c6IFRoaXMgc2hvdWxkIHNob3cg
dXAgb25jZSBjb25zb2xlIG1lc3NhZ2VzIGFyZSBkdW1wZWQsIGJ1dCBzaG91bGQgX25vdF8gc2hv
dyB1cCBhcyBhICJDT05TT0xFIE1FU1NBR0U6IiBhdCB0aGUgdG9wIG9mIHRoZSBvdXRwdXQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NsaWVu
dHMtaWdub3JlZC1pbi1wcml2YXRlYnJvd3NpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NsaWVudHMtaWdub3JlZC1pbi1wcml2YXRlYnJvd3NpbmcuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM3ODQyNzA0OWM3YWVlN2Y1NmRjZmY1
YjEzOWYyMGEzMDAwMjQ3Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jbGllbnRzLWln
bm9yZWQtaW4tcHJpdmF0ZWJyb3dzaW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KLSAgICBjb25zb2xl
LmxvZygnVGhpcyBzaG91bGQgc2hvdyB1cCBvbmNlIGNvbnNvbGUgbWVzc2FnZXMgYXJlIGR1bXBl
ZCwgYnV0IHNob3VsZCBfbm90XyBzaG93IHVwIGFzIGEgIkNPTlNPTEUgTUVTU0FHRToiIGF0IHRo
ZSB0b3Agb2YgdGhlIG91dHB1dC4nKTsKLQotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVN
ZXNzYWdlcygpOwotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwotICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD5JbiBQcml2YXRlQnJvd3NpbmcgbW9kZSwgY29uc29sZSBtZXNzYWdl
cyBhcmUgdmlzaWJsZSBpbiB0aGUgQ29uc29sZSwgYnV0Ci1hcmVuJ3Qgc2VudCB0byBDaHJvbWVD
bGllbnRzIChvciBwcmludGYnZCkgaW4gb3JkZXIgdG8gZW5zdXJlIHRoZXkgbmV2ZXIgZW5kCi11
cCBpbiBsb2dzLiBCZXR0ZXIgc2FmZSB0aGFuIHNvcnJ5LjwvcD4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29t
bWFuZC1saW5lLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMmIyZmUzMTFkNjcxYjhiNzlhYjAwZjhkOGJkYjdiOTRkNTA0NGQzMy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MjIzOiBUaGUgY29uc29sZSBmdW5jdGlvbiAkKCkgaGFzIGNoYW5nZWQgZnJvbSAkPWdldEVsZW1l
bnRCeUlkKGlkKSB0byAkPXF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpLiBZb3UgbWlnaHQgdHJ5ICQo
IiMlcyIpCi1UZXN0cyB0aGF0IGNvbW1hbmQgbGluZSBhcGkgd29ya3MuCi0KLQotCi1TdHJpbmco
JDApCi0iW29iamVjdCBIVE1MUGFyYWdyYXBoRWxlbWVudF0iCi0KLQotJDMKLXVuZGVmaW5lZAot
Ci0KLVN0cmluZyhrZXlzKFszLDRdKSkKLSIwLDEiCi0KLQotU3RyaW5nKHZhbHVlcyhbMyw0XSkp
Ci0iMyw0IgotCi0KLVN0cmluZygkKCcjZm9vJykpCi0iW29iamVjdCBIVE1MUGFyYWdyYXBoRWxl
bWVudF0iCi0KLQotU3RyaW5nKCQoJyNmb28nLCBkb2N1bWVudC5ib2R5KSkKLSJbb2JqZWN0IEhU
TUxQYXJhZ3JhcGhFbGVtZW50XSIKLQotCi1TdHJpbmcoJCgnI2ZvbycsICdub24tbm9kZScpKQot
IltvYmplY3QgSFRNTFBhcmFncmFwaEVsZW1lbnRdIgotCi0KLVN0cmluZygkKCcjZm9vJywgJCgn
I2JhcicpKSkKLSJudWxsIgotCi0KLVN0cmluZygkJCgncCNmb28nKSkKLSJbb2JqZWN0IE5vZGVM
aXN0XSIKLQotCi1TdHJpbmcoJCQoJ3AjZm9vJywgZG9jdW1lbnQuYm9keSkpCi0iW29iamVjdCBO
b2RlTGlzdF0iCi0KLQotU3RyaW5nKCQoJ2ZvbycpKQotVGhlIGNvbnNvbGUgZnVuY3Rpb24gJCgp
IGhhcyBjaGFuZ2VkIGZyb20gJD1nZXRFbGVtZW50QnlJZChpZCkgdG8gJD1xdWVyeVNlbGVjdG9y
KHNlbGVjdG9yKS4gWW91IG1pZ2h0IHRyeSAkKCIjZm9vIikKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bW1hbmQtbGluZS1hcGktaW5zcGVjdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDcyNjcxNmFlZjRhYTI0ZDczZjJjNzVkMmJkMjRmMWFhYTcxNjUxNGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1pbnNwZWN0LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLVRlc3RzIHRoYXQgaW5zcGVjdCgp
IGNvbW1hbmQgbGluZSBhcGkgd29ya3MuCi0KLQotUnVubmluZzogdGVzdFJldmVhbEVsZW1lbnQK
LQotCi1XZWJJbnNwZWN0b3IuaW5zcGVjdCBjYWxsZWQgd2l0aDogcCNwMQotV2ViSW5zcGVjdG9y
Lmluc3BlY3QncyBoaW50cyBhcmU6IFtdCi1pbnNwZWN0KCQoJyNwMScpKSA9IAotU2VsZWN0ZWQg
bm9kZSBpZDogJ3AxJy4KLQotUnVubmluZzogdGVzdFJldmVhbERhdGFiYXNlCi0KLQotV2ViSW5z
cGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IERhdGFiYXNlCi1XZWJJbnNwZWN0b3IuaW5zcGVj
dCdzIGhpbnRzIGFyZTogWyJkYXRhYmFzZUlkIl0KLWluc3BlY3QoZGIpID0gRGF0YWJhc2Uge3Zl
cnNpb246ICIxLjAiLCB0cmFuc2FjdGlvbjogZnVuY3Rpb24sIHJlYWRUcmFuc2FjdGlvbjogZnVu
Y3Rpb24sIGNoYW5nZVZlcnNpb246IGZ1bmN0aW9ufQotCi1SdW5uaW5nOiB0ZXN0UmV2ZWFsRGF0
YWJhc2UyCi0KLQotV2ViSW5zcGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6IERhdGFiYXNlCi1X
ZWJJbnNwZWN0b3IuaW5zcGVjdCdzIGhpbnRzIGFyZTogWyJkYXRhYmFzZUlkIl0KLWluc3BlY3Qo
ZGIyKSA9IERhdGFiYXNlIHt2ZXJzaW9uOiAiMS4wIiwgdHJhbnNhY3Rpb246IGZ1bmN0aW9uLCBy
ZWFkVHJhbnNhY3Rpb246IGZ1bmN0aW9uLCBjaGFuZ2VWZXJzaW9uOiBmdW5jdGlvbn0KLQotUnVu
bmluZzogdGVzdFJldmVhbExvY2FsU3RvcmFnZQotCi0KLVdlYkluc3BlY3Rvci5pbnNwZWN0IGNh
bGxlZCB3aXRoOiBTdG9yYWdlCi1XZWJJbnNwZWN0b3IuaW5zcGVjdCdzIGhpbnRzIGFyZTogWyJk
b21TdG9yYWdlSWQiXQotaW5zcGVjdChsb2NhbFN0b3JhZ2UpID0gU3RvcmFnZSB7fQotCi1SdW5u
aW5nOiB0ZXN0UmV2ZWFsU2Vzc2lvblN0b3JhZ2UKLQotCi1XZWJJbnNwZWN0b3IuaW5zcGVjdCBj
YWxsZWQgd2l0aDogU3RvcmFnZQotV2ViSW5zcGVjdG9yLmluc3BlY3QncyBoaW50cyBhcmU6IFsi
ZG9tU3RvcmFnZUlkIl0KLWluc3BlY3Qoc2Vzc2lvblN0b3JhZ2UpID0gU3RvcmFnZSB7fQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb21tYW5k
LWxpbmUtYXBpLWluc3BlY3QuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiYTAzMDQ2ODBlYTJlNGI3MGFjMjU4NWQwMzdiMGJlMjdlODQ0MmI4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktaW5zcGVjdC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgd2luZG93
LmRiID0gb3BlbkRhdGFiYXNlKCJJbnNwZWN0b3JEYXRhYmFzZVRlc3QiLCAiMS4wIiwgIlRlc3Qg
b2YgZGF0YWJhc2UgcmV2ZWFsIGluIGluc3BlY3RvciIsIDEpOwotICAgIHdpbmRvdy5kYjIgPSBv
cGVuRGF0YWJhc2UoIkluc3BlY3RvckRhdGFiYXNlVGVzdDIiLCAiMS4wIiwgIlRlc3Qgb2YgZGF0
YWJhc2UgcmV2ZWFsIGluIGluc3BlY3RvciIsIDEpOwotICAgIGxvY2FsU3RvcmFnZVsiaW5zcGVj
dG9yIl0gPSAiVGVzdCBvZiBsb2NhbCBzdG9yYWdlIHJldmVhbCBpbiBpbnNwZWN0b3IiOwotICAg
IHNlc3Npb25TdG9yYWdlWyJpbnNwZWN0b3IiXSA9ICJUZXN0IG9mIHNlc3Npb24gc3RvcmFnZSBy
ZXZlYWwgaW4gaW5zcGVjdG9yIjsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IsICJpbnNwZWN0
Iiwgc25pZmZJbnNwZWN0LCB0cnVlKTsKLQotICAgIGZ1bmN0aW9uIHNuaWZmSW5zcGVjdChvYmpl
Y3RJZCwgaGludHMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2Vi
SW5zcGVjdG9yLmluc3BlY3QgY2FsbGVkIHdpdGg6ICIgKyBvYmplY3RJZC5kZXNjcmlwdGlvbik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJXZWJJbnNwZWN0b3IuaW5zcGVjdCdz
IGhpbnRzIGFyZTogIiArIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKGhpbnRzKSkpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGV2YWxBbmREdW1wKGV4cHJlc3Npb24sIG5leHQpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiXG4iKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluQ29uc29sZUFuZER1bXAoZXhwcmVzc2lvbiwgbmV4dCk7Ci0gICAgfQot
Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0
UmV2ZWFsRWxlbWVudChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLCAiX3VwZGF0ZUZvY3VzZWROb2RlIiwgc3RlcDIpOwot
ICAgICAgICAgICAgZXZhbEFuZER1bXAoImluc3BlY3QoJCgnI3AxJykpIik7Ci0KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2VsZWN0ZWQgbm9kZSBpZDogJyIgKyBXZWJJbnNwZWN0b3Iu
cGFuZWxzLmVsZW1lbnRzLnNlbGVjdGVkRE9NTm9kZSgpLmdldEF0dHJpYnV0ZSgiaWQiKSArICIn
LiIpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwK
LQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmV2ZWFsRGF0YWJhc2UobmV4dCkKLSAgICAgICAgewot
ICAgICAgICAgICAgZXZhbEFuZER1bXAoImluc3BlY3QoZGIpIiwgbmV4dCk7Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJldmVhbERhdGFiYXNlMihuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBldmFsQW5kRHVtcCgiaW5zcGVjdChkYjIpIiwgbmV4dCk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJldmVhbExvY2FsU3RvcmFnZShuZXh0KQotICAg
ICAgICB7Ci0gICAgICAgICAgICBldmFsQW5kRHVtcCgiaW5zcGVjdChsb2NhbFN0b3JhZ2UpIiwg
bmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJldmVhbFNlc3Npb25T
dG9yYWdlKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGV2YWxBbmREdW1wKCJpbnNwZWN0
KHNlc3Npb25TdG9yYWdlKSIsIG5leHQpOwotICAgICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwIGlkPSJwMSI+Ci1U
ZXN0cyB0aGF0IGluc3BlY3QoKSBjb21tYW5kIGxpbmUgYXBpIHdvcmtzLgotPC9wPgotCi08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb21tYW5kLWxpbmUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb21tYW5kLWxpbmUtYXBpLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAxZjZjYjQ5ZWFkOWZmZjMyZTQ5NTczODgyOThhOTJhOTk0YjdlODIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNDkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAg
IHZhciBleHByZXNzaW9ucyA9IFsKLSAgICAgICAgIlN0cmluZygkMCkiLAotICAgICAgICAiJDMi
LAotICAgICAgICAiU3RyaW5nKGtleXMoWzMsNF0pKSIsCi0gICAgICAgICJTdHJpbmcodmFsdWVz
KFszLDRdKSkiLAotICAgICAgICAiU3RyaW5nKCQoJyNmb28nKSkiLAotICAgICAgICAiU3RyaW5n
KCQoJyNmb28nLCBkb2N1bWVudC5ib2R5KSkiLAotICAgICAgICAiU3RyaW5nKCQoJyNmb28nLCAn
bm9uLW5vZGUnKSkiLAotICAgICAgICAiU3RyaW5nKCQoJyNmb28nLCAkKCcjYmFyJykpKSIsCi0g
ICAgICAgICJTdHJpbmcoJCQoJ3AjZm9vJykpIiwKLSAgICAgICAgIlN0cmluZygkJCgncCNmb28n
LCBkb2N1bWVudC5ib2R5KSkiLAotICAgICAgICAiU3RyaW5nKCQoJ2ZvbycpKSIKLSAgICBdOwot
Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJmb28iLCBzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMShub2RlKQotICAgIHsKLSAgICAgICAgaWYgKCFleHByZXNzaW9ucy5s
ZW5ndGgpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotICAgICAgICB2YXIgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25z
WzBdOwotICAgICAgICBleHByZXNzaW9ucy5zcGxpY2UoMCwgMSk7Ci0gICAgICAgIFdlYkluc3Bl
Y3Rvci5sb2coIlxuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUo
ZXhwcmVzc2lvbiwgc3RlcDEpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwIGlkPSJmb28iPgotVGVzdHMgdGhhdCBjb21tYW5k
IGxpbmUgYXBpIHdvcmtzLgotPC9wPjxwIGlkPSJiYXIiPjwvcD4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1PYmplY3Qtb3ZlcndyaXR0ZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1PYmplY3Qtb3ZlcndyaXR0ZW4tZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjg2YzNkMDlmM2M4YWQ3NmNhNmVl
M2E1M2JjZmU5NGE0NmFiMmJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
T2JqZWN0LW92ZXJ3cml0dGVuLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAs
MCBAQAotVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yJ3MgY29uc29sZSBpcyBub3QgYnJva2VuIGlm
IE9iamVjdCBpcyBvdmVyd3JpdHRlbiBpbiB0aGUgaW5zcGVjdGVkIHBhZ2UuIFRlc3QgcGFzc2Vz
IGlmIHRoZSBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBpbiB0aGUgY29uc29sZSBhbmQgbm8gZXJy
b3JzIHByaW50ZWQuIEJ1ZyAxMDEzMjAuCi0KLXZhciBmb28gPSB7YmFyOjIwMTJ9OyBmb28KLU9i
amVjdCB7YmFyOiAyMDEyfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLU9iamVjdC1vdmVyd3JpdHRlbi5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1PYmplY3Qtb3ZlcndyaXR0ZW4u
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk2Y2VmNzFkMjE1NDdiNDE2ZDU2
OTU1NTJiOGY4MzJhNTAyYjhiNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LU9iamVjdC1vdmVyd3JpdHRlbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLU9iamVj
dCA9IGZ1bmN0aW9uKCkge307Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJbkNvbnNvbGUoInZhciBmb28gPSB7YmFyOjIwMTJ9OyBmb28iLCBzdGVwMSk7
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1UZXN0cyB0aGF0IFdlYiBJbnNwZWN0b3IncyBjb25zb2xlIGlzIG5vdCBicm9r
ZW4gaWYgT2JqZWN0IGlzIG92ZXJ3cml0dGVuIGluIHRoZSBpbnNwZWN0ZWQgcGFnZS4KLVRlc3Qg
cGFzc2VzIGlmIHRoZSBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBpbiB0aGUgY29uc29sZSBhbmQg
bm8gZXJyb3JzIHByaW50ZWQuCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAxMzIwIj5CdWcgMTAxMzIwLjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1hcGktb24tY2FsbC1mcmFtZS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmMTE0YzgxNDEyYTg5NzM4ODEzYTVl
M2MxNjRjNGEzNzNlZmI1NjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1h
cGktb24tY2FsbC1mcmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCww
IEBACi1UZXN0IHRoYXQgY29tbWFuZCBsaW5lIGFwaSBkb2VzIG5vdCBtYXNrIHZhbHVlcyBvZiBz
Y29wZSB2YXJpYWJsZXMgd2hpbGUgZXZhbHVhdGluZyBvbiBhIGNhbGwgZnJhbWUuCi0KLURlYnVn
Z2VyIHdhcyBlbmFibGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgotU2NyaXB0IGV4
ZWN1dGlvbiBwYXVzZWQuCi1FdmFsdWF0ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNv
bnRleHQ6IGRpciArIGNsZWFyICsgaW5zcGVjdCA9ICJkaXJjbGVhcmluc3BlY3QiCi1FdmFsdWF0
ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6IHR5cGVvZiAkJCA9ICJmdW5j
dGlvbiIKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29u
c29sZS1hcGktb24tY2FsbC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1hcGktb24tY2FsbC1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5Nzk0ZGNmODJkNDQzNThhNGY3NjhjNDg1ODRjNzc1NGRiMmI4NmVk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXBpLW9uLWNhbGwtZnJhbWUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotd2luZG93Lmluc3BlY3QgPSAiaW5zcGVj
dCI7Ci12YXIgY2xlYXIgPSAiY2xlYXIiOwotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewot
ICAgIHZhciBkaXIgPSAiZGlyIjsKLSAgICBkZWJ1Z2dlcjsKLX0KLQotdmFyIHRlc3QgPSBmdW5j
dGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRl
c3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29s
ZSgiZGlyICsgY2xlYXIgKyBpbnNwZWN0Iiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAzKHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJF
dmFsdWF0ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6IGRpciArIGNsZWFy
ICsgaW5zcGVjdCA9ICIgKyByZXN1bHQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5Db25zb2xlKCJ0eXBlb2YgJCQiLCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDQocmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV2YWx1
YXRlZCBpbiBjb25zb2xlIGluIHRoZSB0b3AgZnJhbWUgY29udGV4dDogdHlwZW9mICQkID0gIiAr
IHJlc3VsdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsK
LSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3QgdGhhdCBjb21tYW5kIGxpbmUgYXBpIGRvZXMgbm90IG1hc2sgdmFsdWVz
IG9mIHNjb3BlIHZhcmlhYmxlcyB3aGlsZSBldmFsdWF0aW5nCi1vbiBhIGNhbGwgZnJhbWUuCi08
L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXNzZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXNzZXJ0LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmMyM2FiMDE5NWQ3NGVmODk2ODQ3YjE2
NjNlYTE5ODg5Y2EwMWY3OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWFz
c2VydC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSA5OiAxCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IGEKLVRlc3RzIHRo
YXQgY29uc29sZS5hc3NlcnQoKSB3aWxsIGR1bXAgYSBtZXNzYWdlIGFuZCBzdGFjayB0cmFjZSB3
aXRoIHNvdXJjZSBVUkxzIGFuZCBsaW5lIG51bWJlcnMuCi0KLUFzc2VydGlvbiBmYWlsZWQ6IDEg
Y29uc29sZS1hc3NlcnQuaHRtbDo5YiBjb25zb2xlLWFzc2VydC5odG1sOjlhIGNvbnNvbGUtYXNz
ZXJ0Lmh0bWw6MTUKLUFzc2VydGlvbiBmYWlsZWQ6IGEgYiBjb25zb2xlLWFzc2VydC5odG1sOjEw
YiBjb25zb2xlLWFzc2VydC5odG1sOjEwYSBjb25zb2xlLWFzc2VydC5odG1sOjE1Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYXNz
ZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LWFzc2VydC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzFmNmRhNWE1ODM0
NWNlNDFiODVhNGU3MzI2MDczMzIzMDIxMTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtYXNzZXJ0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
YigpCi17Ci0gICAgY29uc29sZS5hc3NlcnQoZmFsc2UsIDEpOwotICAgIGNvbnNvbGUuYXNzZXJ0
KGZhbHNlLCAiYSIsICJiIik7Ci19Ci0KLWZ1bmN0aW9uIGEoKQotewotICAgIGIoKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGNhbGxDb3VudCA9IDA7Ci0gICAgZnVuY3Rpb24g
Y2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgaWYgKCsrY2FsbENvdW50ID09PSAyKSB7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoYSwgMCkiKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmFkZENvbnNvbGVTbmlmZmVyKGNhbGxiYWNrLCB0cnVlKTsKLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb25z
b2xlLmFzc2VydCgpIHdpbGwgZHVtcCBhIG1lc3NhZ2UgYW5kIHN0YWNrIHRyYWNlIHdpdGggc291
cmNlIFVSTHMgYW5kIGxpbmUgbnVtYmVycy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1i
aW5kLWZha2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1iaW5kLWZha2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0YjI5Y2ZjNDk5YjdkNmQzMjIyZDk0YjI2MzA1YmQ3OGM0OGIyMjM0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYmluZC1mYWtlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBvdmVycmlkaW5nIEZ1bmN0
aW9uLnByb3RvdHlwZS5iaW5kIGRvZXMgbm90IGJyZWFrIGluc3BlY3Rvci4KLQotZm9vCi0iZm9v
VmFsdWUiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtYmluZC1mYWtlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLWJpbmQtZmFrZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjYjNhMDA0NjYyNzdkOWVlMjU1NGQxYjhiMmRkNDQwYzhlNzAxNTVmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtYmluZC1mYWtlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXZhciBmb28gPSAnZm9vVmFsdWUnOwotCi1GdW5jdGlvbi5wcm90b3R5cGUu
YmluZCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIjpQIjsgfTsKLQotZnVuY3Rpb24gdGVzdCgpCi17
Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiZm9vIiwgc3RlcDEpOwotCi0g
ICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29u
c29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0g
ICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPgotVGVzdHMgdGhhdCBvdmVycmlkaW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGRvZXMg
bm90IGJyZWFrIGluc3BlY3Rvci4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jbGVhci1m
dW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2Y1MzMxNmUyZjI4MzZmYjNkMDdiNTU0MDYwNTU2NzQxM2M3ZjE1YS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNsZWFyLWZ1bmN0aW9uLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogb25lCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IHR3bwotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEyOiB0aHJlZQotVGVzdHMgdGhhdCBjb25zb2xlIGlzIGNsZWFyZWQgdmlhIGNv
bnNvbGUuY2xlYXIoKSBtZXRob2QKLQotQnVnIDEwMTAyMQotPT09IEJlZm9yZSBjbGVhciA9PT0K
LW9uZSBjb25zb2xlLWNsZWFyLWZ1bmN0aW9uLmh0bWw6MTAKLXR3byBjb25zb2xlLWNsZWFyLWZ1
bmN0aW9uLmh0bWw6MTEKLXRocmVlIGNvbnNvbGUtY2xlYXItZnVuY3Rpb24uaHRtbDoxMgotPT09
IEFmdGVyIGNsZWFyID09PQotQ29uc29sZSB3YXMgY2xlYXJlZCBjb25zb2xlLWNsZWFyLWZ1bmN0
aW9uLmh0bWw6MTkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1jbGVhci1mdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jbGVhci1mdW5jdGlvbi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMGJmNDIzMjZhZWFmN2FjODliMGZiYWFkMWEzMjJkYjQ0
MjlmMTA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtY2xlYXItZnVuY3Rp
b24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2coKQotewotICAg
IC8vIEZpbGwgY29uc29sZS4KLSAgICBjb25zb2xlLmxvZygib25lIik7Ci0gICAgY29uc29sZS5s
b2coInR3byIpOwotICAgIGNvbnNvbGUubG9nKCJ0aHJlZSIpOwotfQotCi1sb2coKTsKLQotZnVu
Y3Rpb24gZm9vKCkKLXsKLSAgICBjb25zb2xlLmNsZWFyKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQmVmb3JlIGNsZWFyID09PSIp
OwotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotCi0gICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKCJmb28oKTsiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVyIGNsZWFy
ID09PSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9OwotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0
IGNvbnNvbGUgaXMgY2xlYXJlZCB2aWEgY29uc29sZS5jbGVhcigpIG1ldGhvZAotPC9wPgotPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTAyMSI+QnVn
IDEwMTAyMSA8L2E+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtY29tbWFuZC1jbGVhci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNv
bW1hbmQtY2xlYXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
YzVlZGUwZDRhZWQyY2Q0ZjBkOTlkZTk4NTM0OGZkOGMwODhiZjUzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtY29tbWFuZC1jbGVhci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogb25lCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTA6IHR3bwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiB0aHJl
ZQotVGVzdHMgdGhhdCBjb25zb2xlIGlzIGNsZWFyZWQgdXBvbiBjbGVhcigpIGV2YWwgaW4gY29u
c29sZS4KLQotPT09IEJlZm9yZSBjbGVhciA9PT0KLW9uZSBjb25zb2xlLWNvbW1hbmQtY2xlYXIu
aHRtbDo5Ci10d28gY29uc29sZS1jb21tYW5kLWNsZWFyLmh0bWw6MTAKLXRocmVlIGNvbnNvbGUt
Y29tbWFuZC1jbGVhci5odG1sOjExCi09PT0gQWZ0ZXIgY2xlYXIgPT09Ci11bmRlZmluZWQKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1jb21tYW5kLWNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWNvbW1hbmQtY2xlYXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWQ3OWRhYTJlZWM5ZmNlNGU0NmZjZjA4MDAzYmZjNmIzYTQ5MjhhMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWNvbW1hbmQtY2xlYXIuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDQwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2coKSB7Ci0gICAgLy8gRmlsbCBjb25zb2xlLgot
ICAgIGNvbnNvbGUubG9nKCJvbmUiKTsKLSAgICBjb25zb2xlLmxvZygidHdvIik7Ci0gICAgY29u
c29sZS5sb2coInRocmVlIik7Ci19Ci0KLWxvZygpOwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLQot
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQmVmb3JlIGNsZWFyID09PSIpOyAKLSAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLQotICAgIGZ1bmN0aW9uIGNh
bGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWZ0
ZXIgY2xlYXIgPT09Iik7IAotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2Fn
ZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0gICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiY2xlYXIoKSIsIGNhbGxiYWNrKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
ICAgIFRlc3RzIHRoYXQgY29uc29sZSBpcyBjbGVhcmVkIHVwb24gY2xlYXIoKSBldmFsIGluIGNv
bnNvbGUuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtY3NzLXdhcm5pbmdzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtY3Nz
LXdhcm5pbmdzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTVi
Mjc4YmZkZDdhNDFkZDk4NjhkMjk4ZmJhMmQ2ODZjZmJjMjU0NC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLWNzcy13YXJuaW5ncy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxNCArMCwwIEBACi1UZXN0cyBDU1Mgd2FybmluZ3MgYXJlIHByb3Blcmx5IGV4cG9z
ZWQuCi0KLUludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAjIGNvbnNvbGUtY3Nz
LXdhcm5pbmdzLmh0bWw6MTAKLUludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiB7
IGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6MTUKLUludmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xh
cmF0aW9uIGF0OiAjIGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6MTgKLUludmFsaWQgQ1NTIHBy
b3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAjIGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6MjIKLUlu
dmFsaWQgQ1NTIHByb3BlcnR5IGRlY2xhcmF0aW9uIGF0OiAjIGNvbnNvbGUtY3NzLXdhcm5pbmdz
Lmh0bWw6MzIKLVVuZXhwZWN0ZWQgQ1NTIHRva2VuOiBAIGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0
bWw6MzMKLVVuZXhwZWN0ZWQgQ1NTIHRva2VuOiB7IGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6
MzcKLVVuZXhwZWN0ZWQgQ1NTIHRva2VuOiB7IGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6MzgK
LVVuZXhwZWN0ZWQgQ1NTIHRva2VuOiB7IGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6MzkKLVVu
ZXhwZWN0ZWQgQ1NTIHRva2VuOiB7IGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6NDAKLVVuZXhw
ZWN0ZWQgQ1NTIHRva2VuOiBAIGNvbnNvbGUtY3NzLXdhcm5pbmdzLmh0bWw6NDQKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1jc3Mt
d2FybmluZ3MuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtY3NzLXdhcm5pbmdzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZh
MGI3MzQ1YjdiYTRiMzgxYzI5ZjFkYjJiMmJhYjY3MzE5NjI0YTguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1jc3Mtd2FybmluZ3MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDY5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxz
dHlsZT4KLXgge30KLQoteCB7Ci0gICAgIwotfQotCi14IHsKLSAgICBjb2xvcjogcmVkOwotICAg
IHt9fQotCi14IHsKLSAgICAjIyMge319Ci0KLXggewotICAgY29sb3I6IHJlZDsKLSAgICMjIyMj
IyMjIwotfQotCi14IHsKLSAgIGNvbG9yOiByZWQge307Ci0gICBjb2xvcjogIzsKLX0KLQoteCB7
Ci0gICBjb2xvcjogcmVkOwotICAgIyMjOwotICAgY29sb3I6IEA7Ci19Ci0KLXggewotICAgIGNv
bG9ye307Ci0gICAgY29sb3J7I307Ci0gICAgY29sb3J7IyMjfTsKLSAgICBjb2xvcnt7e319fTsK
LX0KLQoteCB7Ci0gICAgY29sb3I6IEA7ICAvKiBUZXN0IHNpbXBsZSBlcnJvciB0byBlbnN1cmUg
cGFyc2luZyByZWNvdmVyZWQuICovCi19Ci0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIC8vIEVuc3VyZSBzY3JpcHQgZ2VuZXJhdGVkIGVycm9ycyBkb24n
dCBnbyB0byB0aGUgY29uc29sZS4KLSAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdzdHlsZScpOwotICAgIHN0eWxlLnRleHRDb250ZW50ID0gInh7eToqfSI7Ci0gICAgZG9j
dW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV4cGFu
ZENvbnNvbGVNZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdl
cygpOwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cCBpZD0icCI+VGVzdHMgQ1NT
IHdhcm5pbmdzIGFyZSBwcm9wZXJseSBleHBvc2VkLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
ZGlyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtZGlyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGE1ZWJkMjU3OTE4NzlmMjA0YmMxZDliN2ZkNTRmNzI5Njc3MzcwYi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLWRpci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwzMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogdGVzdDEsdGVzdDIKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDogW29iamVjdCBOb2RlTGlzdF0KLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTogW29iamVjdCBYUGF0aFJlc3VsdF0KLVRlc3RzIHRoYXQgY29uc29sZSBsb2dnaW5n
IGR1bXBzIHByb3BlciBtZXNzYWdlcy4KLQotCi0KLUFycmF5WzJdCi0gICAgMDogInRlc3QxIgot
ICAgIDE6ICJ0ZXN0MiIKLSAgICBsZW5ndGg6IDIKLSAgICBfX3Byb3RvX186IEFycmF5WzBdIGNv
bnNvbGUtZGlyLmh0bWw6OQotCi1Ob2RlTGlzdFsxXQotICAgIDA6IGh0bWwKLSAgICBjb25zdHJ1
Y3RvcjogTm9kZUxpc3RDb25zdHJ1Y3RvcgotICAgIGxlbmd0aDogMQotICAgIF9fcHJvdG9fXzog
Tm9kZUxpc3RQcm90b3R5cGUgY29uc29sZS1kaXIuaHRtbDoxMAotCi1YUGF0aFJlc3VsdAotICAg
IGJvb2xlYW5WYWx1ZTogW0V4Y2VwdGlvbjogWFBhdGhFeGNlcHRpb25dCi0gICAgY29uc3RydWN0
b3I6IFhQYXRoUmVzdWx0Q29uc3RydWN0b3IKLSAgICBpbnZhbGlkSXRlcmF0b3JTdGF0ZTogZmFs
c2UKLSAgICBudW1iZXJWYWx1ZTogW0V4Y2VwdGlvbjogWFBhdGhFeGNlcHRpb25dCi0gICAgcmVz
dWx0VHlwZTogNAotICAgIHNpbmdsZU5vZGVWYWx1ZTogW0V4Y2VwdGlvbjogWFBhdGhFeGNlcHRp
b25dCi0gICAgc25hcHNob3RMZW5ndGg6IFtFeGNlcHRpb246IFhQYXRoRXhjZXB0aW9uXQotICAg
IHN0cmluZ1ZhbHVlOiBbRXhjZXB0aW9uOiBYUGF0aEV4Y2VwdGlvbl0KLSAgICBfX3Byb3RvX186
IFhQYXRoUmVzdWx0UHJvdG90eXBlIGNvbnNvbGUtZGlyLmh0bWw6MTEKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1kaXItZ2xvYmFs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtZGlyLWdsb2JhbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDVhY2UyYmRlMDYyNmEyNWNiMTQwNjg5NmRlZTBlYWI0M2U0ZmI4ZWIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1kaXItZ2xvYmFsLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBbb2JqZWN0
IFdpbmRvd10KLVRlc3RzIHRoYXQgY29uc29sZSBkdW1wcyBnbG9iYWwgb2JqZWN0IHdpdGggcHJv
cGVydGllcy4KLQotewotICAgIEFycmF5IDogMQotICAgIGNvbnNvbGUgOiAxCi0gICAgY29uc3Ry
dWN0b3IgOiAxCi0gICAgZG9jdW1lbnQgOiAxCi0gICAgZG9pdCA6IDEKLSAgICBldmFsIDogMQot
ICAgIGZyYW1lcyA6IDEKLSAgICB3aW5kb3cgOiAxCi19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZGlyLWdsb2JhbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1kaXItZ2xvYmFs
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmMDY4NTEzNTM0MDBkMTc3M2Ri
ZDdiYWU4ZTBkMTZlOTJkODE2ZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1kaXItZ2xvYmFsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gZG9p
dCgpCi17Ci0gICAgY29uc29sZS5kaXIod2luZG93KTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgid2luZG93IiwgImNv
bnNvbGUiLCBmYWxzZSwgZXZhbENhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIGV2YWxDYWxsYmFj
ayhlcnJvciwgcmVzdWx0KQotICAgIHsKLSAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAg
ICB0ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCJFeGNlcHRpb246IiArIGVycm9yKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBpZiAocmVzdWx0LnR5cGUgPT09ICJl
cnJvciIpCi0gICAgICAgICAgICB0ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCJFeGNlcHRpb246
IiArIHJlc3VsdCk7Ci0gICAgICAgIHZhciBvYmplY3RQcm94eSA9IFdlYkluc3BlY3Rvci5SZW1v
dGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KTsKLSAgICAgICAgb2JqZWN0UHJveHkuZ2V0T3du
UHJvcGVydGllcyhnZXRQcm9wZXJ0aWVzQ2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IGdldFByb3BlcnRpZXNDYWxsYmFjayhwcm9wZXJ0aWVzKQotICAgIHsKLSAgICAgICAgcHJvcGVy
dGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21wYXJlUHJv
cGVydGllcyk7Ci0gICAgICAgIHZhciBnb2xkZW4gPSB7ICJ3aW5kb3ciOiAxLCAiZG9jdW1lbnQi
OiAxLCAiZXZhbCI6IDEsICJjb25zb2xlIjogMSwgImZyYW1lcyI6IDEsICJBcnJheSI6IDEsICJk
b2l0IjogMSB9OyAKLSAgICAgICAgdmFyIHJlc3VsdCA9IHt9OwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBuYW1l
ID0gcHJvcGVydGllc1tpXS5uYW1lOwotICAgICAgICAgICAgaWYgKGdvbGRlbltuYW1lXSkKLSAg
ICAgICAgICAgICAgICByZXN1bHRbbmFtZV0gPSAxOwotICAgICAgICB9Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkT2JqZWN0KHJlc3VsdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJkb2l0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGNvbnNvbGUgZHVtcHMgZ2xvYmFsIG9iamVjdCB3
aXRoIHByb3BlcnRpZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZGlyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWRpci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWMxYWZlMDFlYTE0Y2E2NDcwYjc5MWRjZDM5
N2QwNGI5MDAyMjNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZGlyLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBj
b25zb2xlLmRpcihbInRlc3QxIiwgInRlc3QyIl0pOwotICAgIGNvbnNvbGUuZGlyKGRvY3VtZW50
LmNoaWxkTm9kZXMpOwotICAgIGNvbnNvbGUuZGlyKGRvY3VtZW50LmV2YWx1YXRlKCIvL2hlYWQi
LCBkb2N1bWVudCwgbnVsbCwgWFBhdGhSZXN1bHQuQU5ZX1RZUEUsIG51bGwpKTsKLSAgICBydW5U
ZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBtZXNzYWdlcyA9IFdlYklu
c3BlY3Rvci5jb25zb2xlLm1lc3NhZ2VzOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2Fn
ZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBtZXNzYWdlc1tpXS50b01l
c3NhZ2VFbGVtZW50KCk7Ci0gICAgICAgIHZhciBub2RlID0gZWxlbWVudC50cmF2ZXJzZU5leHRO
b2RlKGVsZW1lbnQpOwotICAgICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICAgICAgaWYgKG5v
ZGUuX3NlY3Rpb24pIHsKLSAgICAgICAgICAgICAgICBtZXNzYWdlc1tpXS5zZWN0aW9uID0gbm9k
ZS5fc2VjdGlvbjsKLSAgICAgICAgICAgICAgICBub2RlLl9zZWN0aW9uLmV4cGFuZGVkID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG5v
ZGUgPSBub2RlLnRyYXZlcnNlTmV4dE5vZGUoZWxlbWVudCk7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoZHVtcENvbnNvbGVN
ZXNzYWdlcyk7Ci0KLSAgICBmdW5jdGlvbiBkdW1wQ29uc29sZU1lc3NhZ2VzKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KEluc3BlY3RvclRlc3QudGV4dENvbnRlbnRX
aXRoTGluZUJyZWFrcyhXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcubWVzc2FnZXNFbGVtZW50KSk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci08cD4KLVRlc3RzIHRo
YXQgY29uc29sZSBsb2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4KLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmI5Mjc2ZjAzYzFkZTBlMmM2YTBjYWI2
MTJlOTkyYmEwNjBhZjU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZh
bC1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVz
dHMgdGhhdCBldmFsdWF0aW9uIGluIGNvbnNvbGUgc3RpbGwgd29ya3MgZXZlbiBpZiBzY3JpcHQg
ZXZhbHMgYXJlIHByb2hpYml0ZWQgYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuIEJ1ZyA2MDgw
MC4KLQotMSsyCi0zCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtYmxvY2tlZC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkZjk4OGJmNDVkNzJlZjBiNTU1OGY5NTQ4ODk5YWYzZmM1OTUx
MDk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1ibG9ja2VkLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRl
c3QuanMiPjwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCIxKzIi
LCBzdGVwMSk7Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZXZhbHVhdGlvbiBpbiBjb25zb2xlIHN0aWxsIHdv
cmtzIGV2ZW4gaWYgc2NyaXB0IGV2YWxzIGFyZSBwcm9oaWJpdGVkIGJ5IENvbnRlbnQtU2VjdXJp
dHktUG9saWN5LgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYwODAwIj5CdWcgNjA4MDAuPC9hPgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFs
LWNvbW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS1ldmFsLWNvbW1lbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NmEwYzlkMmUxMTNjYWQwYmZhNjdjM2IyNDE5MTMzODZmMjJhMGI3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1jb21tZW50LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBldmFsdWF0aW5n
IGFuIGV4cHJlc3Npb24gY29udGFpbmluZyBhIHNpbmdsZSBsaW5lIGNvbW1lbnQgZG9lcyBub3Qg
Y2F1c2UgYW4gZXJyb25lb3VzIGVycm9yLiBCdWcgMTE2MjkyLgotCi0vLyB0ZXN0Ci11bmRlZmlu
ZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1ldmFsLWNvbW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1jb21tZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUzYTVhNWExNTA4OWM1MGFhYzQ5OTA4NDZjNmZjNWI0NTM3NzRkN2EuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWNvbW1lbnQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluQ29uc29sZSgiLy8gdGVzdCIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGV2
YWx1YXRpbmcgYW4gZXhwcmVzc2lvbiBjb250YWluaW5nIGEgc2luZ2xlIGxpbmUgY29tbWVudCBk
b2VzIG5vdCBjYXVzZSBhbiBlcnJvbmVvdXMgZXJyb3IuCi08YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MjkyIj5CdWcgMTE2MjkyLjwvYT4KLTwvcD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3M2E1MDQyMDBmNzgwNTdhZTNlMTcwOTkxNGRhNjQ1ZGI2
ODY2MzQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgc2ltcGxlIGV2
YWx1YXRpb25zIG1heSBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUuCi0KLTErMgotMwotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LWV2YWwtZmFrZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWV2YWwtZmFrZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDgwNzM3ZDE3NGE0ZDE3ZDVkMDA1MWQ2NTAxZTE1NDA2YmI5YTk1MjUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWZha2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGF0IG92ZXJyaWRpbmcgd2lu
ZG93LmV2YWwgZG9lcyBub3QgYnJlYWsgaW5zcGVjdG9yLgotCi1mb28KLSJmb29WYWx1ZSIKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1ldmFsLWZha2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtZXZhbC1mYWtlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4
MzhhOTMxMTBhZDFmYzIxNGQxZWE5OTRmODVmMGFmZWI5YWFjNDUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWZha2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotdmFyIGZvbyA9ICdmb29WYWx1ZSc7Ci0KLXdpbmRvdy5ldmFsID0gIk5vbi1mdW5jdGlvbiI7
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNv
bGUoImZvbyIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgb3ZlcnJpZGluZyB3aW5kb3cu
ZXZhbCBkb2VzIG5vdCBicmVhayBpbnNwZWN0b3IuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtZXZhbC1nbG9iYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDk2ODM5Y2ZjZTg4ODEzN2YxMDg4MjQ3YWI2NjFkMTU5YjkzNWU4
ZjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHRoYXQgc2ltcGxl
IGV2YWx1YXRpb25zIG1heSBiZSBwZXJmb3JtZWQgaW4gdGhlIGNvbnNvbGUgb24gZ2xvYmFsIG9i
amVjdC4KLQotZm9vCi0iZm9vVmFsdWUiCi1iYXIKLU9iamVjdCB7YTogImIifQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwt
Z2xvYmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWV2YWwtZ2xvYmFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZmUy
ZGVlZDkyOGM2NGE0ZmI4MDJkNzU3ZjljYWI3NzMwODc0OGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1ldmFsLWdsb2JhbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzcg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLXZhciBmb28gPSAnZm9vVmFsdWUnOwotdmFyIGJhciA9IHsKLSAgICBhOiAnYicKLX07Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUo
ImZvbyIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImJhciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25z
b2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD4KLVRlc3RzIHRoYXQgc2ltcGxlIGV2YWx1YXRpb25zIG1heSBiZSBwZXJmb3JtZWQgaW4g
dGhlIGNvbnNvbGUgb24gZ2xvYmFsIG9iamVjdC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1ldmFsLXNjb3BlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLWV2YWwtc2NvcGVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTk1ZjlmMzliNDgzMTRkOGM0NDM1OTQ0MzEzODA1ZjlhN2VhYTFm
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc2NvcGVkLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ6IHdpdGg6IE9iamVjdCBwcm9wZXJ0eSB2YWx1ZQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IGV2YWwgaW4gd2l0aDogT2JqZWN0IHByb3BlcnR5IHZhbHVlCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTogZXZhbCBpbiBmdW5jdGlvbjogRnVuY3Rpb24gcGFyYW1ldGVyCi1UZXN0cyB0aGF0
IGV2YWx1YXRpbmcgJ2NvbnNvbGUubG9nKCknIGluIHRoZSBjb25zb2xlIHdpbGwgaGF2ZSBhY2Nl
c3MgdG8gaXRzIG91dGVyIHNjb3BlIHZhcmlhYmxlcy4gQnVnIDYwNTQ3LgotCi13aXRoOiBPYmpl
Y3QgcHJvcGVydHkgdmFsdWUKLWV2YWwgaW4gd2l0aDogT2JqZWN0IHByb3BlcnR5IHZhbHVlCi1l
dmFsIGluIGZ1bmN0aW9uOiBGdW5jdGlvbiBwYXJhbWV0ZXIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXNjb3BlZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXNj
b3BlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjdjY2FhMjJhNWEzYmMy
OGE4MzRkZTRhMzljY2M4M2ZhZGJmNDA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtZXZhbC1zY29wZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gc25pcHBldDEoKSB7Ci0gICAgICAgIChmdW5jdGlvbiAo
b2JqKSB7Ci0gICAgICAgICAgIHdpdGggKG9iaikgewotICAgICAgICAgICAgICBjb25zb2xlLmxv
Zygnd2l0aDogJyArIGEpOwotICAgICAgICAgICAgICBldmFsKCJjb25zb2xlLmxvZygnZXZhbCBp
biB3aXRoOiAnICsgYSkiKTsKLSAgICAgICAgICAgfQotICAgICAgICB9KSh7IGE6ICJPYmplY3Qg
cHJvcGVydHkgdmFsdWUiIH0pCi0gICAgfQotCi0gICAgZnVuY3Rpb24gc25pcHBldDIoKSB7Ci0g
ICAgICAgIChmdW5jdGlvbiAoYSkgeyBldmFsKCJjb25zb2xlLmxvZygnZXZhbCBpbiBmdW5jdGlv
bjogJyArIGEpIik7IH0pKCJGdW5jdGlvbiBwYXJhbWV0ZXIiKQotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGJvZHlUZXh0KGYpIHsKLSAgICAgICAgdmFyIHRleHQgPSBmLnRvU3RyaW5nKCk7Ci0gICAg
ICAgIHZhciBiZWdpbiA9IHRleHQuaW5kZXhPZigieyIpOwotICAgICAgICByZXR1cm4gdGV4dC5z
dWJzdHJpbmcoYmVnaW4pOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoYm9keVRleHQoc25pcHBldDEpLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3Rl
cDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYm9keVRleHQoc25pcHBldDIpLCBzdGVwMyk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgZXZhbHVhdGluZyAnY29uc29sZS5sb2coKScgaW4gdGhlIGNv
bnNvbGUgd2lsbCBoYXZlIGFjY2VzcyB0byBpdHMgb3V0ZXIgc2NvcGUgdmFyaWFibGVzLgotPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTQ3Ij5CdWcg
NjA1NDcuPC9hPgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXN5bnRheC1lcnJvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWV2YWwtc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNTc3MzA3YzAzNmM5YjBjNmRjYzc1NDRiODQ2NjliNGUxNjMwMzcwYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc3ludGF4LWVycm9yLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBldmFsdWF0aW5n
IGFuIGV4cHJlc3Npb24gd2l0aCBhIHN5bnRheCBlcnJvciBpbiB0aGUgY29uc29sZSB3b24ndCBj
cmFzaCB0aGUgYnJvd3Nlci4gQnVnIDYxMTk0LgotCi1mb28oKS4KLVN5bnRheEVycm9yOiBFeHBl
Y3RlZCBhbiBpZGVudGlmaWVyIGJ1dCBmb3VuZCAnfScgaW5zdGVhZAotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtc3ludGF4
LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWV2YWwtc3ludGF4LWVycm9yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRmN2NmNzgzNGIxMTRlOTlmYzBlZjZlNzFiN2MzMGRlZTg1MGM2NGUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXN5bnRheC1lcnJvci5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5Db25zb2xlKCJmb28oKS4iLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGV2YWx1
YXRpbmcgYW4gZXhwcmVzc2lvbiB3aXRoIGEgc3ludGF4IGVycm9yIGluIHRoZSBjb25zb2xlIHdv
bid0IGNyYXNoIHRoZSBicm93c2VyLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYxMTk0Ij5CdWcgNjExOTQuPC9hPgotPC9wPgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1ldmFsLXRocm93LXVuZGVmaW5lZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtdGhyb3ctdW5kZWZpbmVkLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWIwZGJhZDM4MzkzNjlm
Y2E2N2Y4ZmUzNThjYTkwZmNlNTNmYjljZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWV2YWwtdGhyb3ctdW5kZWZpbmVkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBldmFsdWF0aW5nICd0aHJvdyB1bmRlZmluZWQnIGlu
IHRoZSBjb25zb2xlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyLiBCdWcgNTk2MTEuCi0KLXRocm93
IHVuZGVmaW5lZAotdW5kZWZpbmVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC10aHJvdy11bmRlZmluZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC10aHJvdy11
bmRlZmluZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTM2MGUzYjMxNWQ1
M2UxZjMyYThhNjliMWUwOTdlMDc0YTlhMTk4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLWV2YWwtdGhyb3ctdW5kZWZpbmVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNv
bGUoInRocm93IHVuZGVmaW5lZCIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZXZhbHVh
dGluZyAndGhyb3cgdW5kZWZpbmVkJyBpbiB0aGUgY29uc29sZSB3b24ndCBjcmFzaCB0aGUgYnJv
d3Nlci4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
OTYxMSI+QnVnIDU5NjExLjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZhbC11bmRl
ZmluZWQtb3ZlcnJpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1ldmFsLXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNDViMTRmZDVkMzdlN2M1MWJlMWUwZmMx
YmFjOThmZjAyZjBmMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1ldmFs
LXVuZGVmaW5lZC1vdmVycmlkZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICsw
LDAgQEAKLVRlc3RzIHRoYXQgZXZhbHVhdGluZyBzb21ldGhpbmcgaW4gY29uc29sZSB3b24ndCBj
cmFzaCB0aGUgYnJvd3NlciBpZiB1bmRlZmluZWQgdmFsdWUgaXMgb3ZlcnJpZGVuLiBUaGUgdGVz
dCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4gQnVnIDY0MTU1LgotCi12YXIgeCA9IHthOjF9
OyB4LnNlbGYgPSB4OyB1bmRlZmluZWQgPSB4OwotT2JqZWN0IHthOiAxLCBzZWxmOiBPYmplY3R9
Ci11bmtub3duVmFyCi1SZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogdW5rbm93
blZhcgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwtdW5kZWZpbmVkLW92ZXJyaWRlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2ZWRmYWU0N2NiOWZhNjc5Yzg4ODdm
ZTUyNzBjZWZmMDdiZjZiMzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1l
dmFsLXVuZGVmaW5lZC1vdmVycmlkZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJ2YXIg
eCA9IHthOjF9OyB4LnNlbGYgPSB4OyB1bmRlZmluZWQgPSB4OyIsIHN0ZXAxKTsKLQotICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNv
bnNvbGUoInVua25vd25WYXIiLCBzdGVwMik7Ci0gICAgfQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZXZh
bHVhdGluZyBzb21ldGhpbmcgaW4gY29uc29sZSB3b24ndCBjcmFzaCB0aGUgYnJvd3NlciBpZiB1
bmRlZmluZWQgdmFsdWUKLWlzIG92ZXJyaWRlbi4gVGhlIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNu
J3QgY3Jhc2guCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjQxNTUiPkJ1ZyA2NDE1NS48L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV2YWwu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXZh
bC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGEwZWRiZjA5MmUxZTQ2NTkw
NDBmNGY2Mzk1ZDdiY2VjYTJmYzhhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtZXZhbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIjErMiIsIHN0ZXAyKTsKLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENv
bnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwot
ICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPgotVGVzdHMgdGhhdCBzaW1wbGUgZXZhbHVhdGlvbnMgbWF5IGJlIHBlcmZvcm1lZCBp
biB0aGUgY29uc29sZS4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1leGNlcHRpb24tc3Rh
Y2stdHJhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5OGJlNDZjYjYyMGNjY2FmZjdkYTNmM2I0NjAwMWIx
ZTUzMzRmYmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1leGNlcHRpb24t
c3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogVVJJRXJyb3I6IFVSSSBlcnJvcgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDIxOiBUeXBlRXJyb3I6IDEgaXMgbm90IGEgZnVuY3Rpb24gKGV2YWx1YXRp
bmcgJzEoKScpCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IFJhbmdlRXJyb3I6IEFycmF5IHNp
emUgaXMgbm90IGEgc21hbGwgZW5vdWdoIHBvc2l0aXZlIGludGVnZXIuCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzE6IFN5bnRheEVycm9yOiBFeHBlY3RlZCB0b2tlbiAnfScKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAzNjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGRvZXNO
b3RFeGlzdAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ2OiBFcnJvcjogQ3VzdG9tIEVycm9yCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU2OiBlcnJvciBzdHJpbmcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBET05FCi1U
ZXN0cyB0aGF0IEphdmFTY3JpcHQgZXhjZXB0aW9uJ3MgY29udGFpbiBzdGFjayB0cmFjZXMgYW5k
IHRoYXQgdGhlIGZ1bmN0aW9ucyBtYXRjaCBjb25zb2xlLnRyYWNlKCkgc3RhY2sgdHJhY2VzLgot
Ci1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtZXhjZXB0aW9uLXN0YWNrLXRyYWNlcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1leGNlcHRpb24tc3RhY2stdHJhY2Vz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlYTA2MzMxMTJlZjViMGI0ZWIz
Njg3ZDY0ZGUzYjhhZDU0ZmI0Y2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1leGNlcHRpb24tc3RhY2stdHJhY2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMzQgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gd3Jh
cHBlcihmKSB7IHdyYXBwZXIyKGYpOyB9Ci1mdW5jdGlvbiB3cmFwcGVyMihmKSB7IHdyYXBwZXIz
KGYpOyB9Ci1mdW5jdGlvbiB3cmFwcGVyMyhmKSB7IHdyYXBwZXI0KGYpOyB9Ci1mdW5jdGlvbiB3
cmFwcGVyNChmKSB7IGZpbmFsV3JhcHBlcihmKTsgfQotZnVuY3Rpb24gZmluYWxXcmFwcGVyKGYp
IHsgcHJvZHVjZUVycm9yKGYpOyB9Ci1mdW5jdGlvbiBwcm9kdWNlRXJyb3IoZikgewotICAgIGYo
KTsKLX0KLQotZnVuY3Rpb24gdXJpRXJyb3IoKSB7Ci0gICAgY29uc29sZS50cmFjZSgpOwotICAg
IGRlY29kZVVSSSgiJSIpOwotfQotCi1mdW5jdGlvbiB0eXBlRXJyb3IoKSB7Ci0gICAgY29uc29s
ZS50cmFjZSgpOwotICAgIDEoKTsKLX0KLQotZnVuY3Rpb24gcmFuZ2VFcnJvcigpIHsKLSAgICBj
b25zb2xlLnRyYWNlKCk7Ci0gICAgQXJyYXkoLTEpLmxlbmd0aDsKLX0KLQotZnVuY3Rpb24gc3lu
dGF4RXJyb3IoKSB7Ci0gICAgY29uc29sZS50cmFjZSgpOwotICAgIGV2YWwoInsiKTsKLX0KLQot
ZnVuY3Rpb24gcmVmZXJlbmNlRXJyb3IoKSB7Ci0gICAgY29uc29sZS50cmFjZSgpOwotICAgIGRv
ZXNOb3RFeGlzdDsKLX0KLQotZnVuY3Rpb24gZG9tRXhjZXB0aW9uKCkgewotICAgIGNvbnNvbGUu
dHJhY2UoKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCJzaG91bGQgbm90IGJlIGEg
c3RyaW5nIik7Ci19Ci0KLWZ1bmN0aW9uIHRocm93RXJyb3JPYmplY3QoKSB7Ci0gICAgY29uc29s
ZS50cmFjZSgpOwotICAgIHRocm93IG5ldyBFcnJvcigiQ3VzdG9tIEVycm9yIik7Ci19Ci0KLWZ1
bmN0aW9uIHRocm93T2JqZWN0KCkgewotICAgIGNvbnNvbGUudHJhY2UoKTsKLSAgICB0aHJvdyB7
bmFtZTogIkN1c3RvbUVycm9yT2JqZWN0TmFtZSIsIG1lc3NhZ2U6ICJDdXN0b21FcnJvck9iamVj
dE1lc3NhZ2UifTsKLX0KLQotZnVuY3Rpb24gdGhyb3dTdHJpbmcoKSB7Ci0gICAgY29uc29sZS50
cmFjZSgpOwotICAgIHRocm93ICJlcnJvciBzdHJpbmciOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVEaXNw
YXRjaGVyLnByb3RvdHlwZSwgIm1lc3NhZ2VBZGRlZCIsIG1lc3NhZ2VBZGRlZCwgdHJ1ZSk7Ci0K
LSAgICB2YXIgaGFkRXJyb3IgPSBmYWxzZTsKLSAgICB2YXIgdHJhY2VTdGFja1RyYWNlID0gbnVs
bDsKLSAgICB2YXIgZXJyb3JTdGFja1RyYWNlID0gbnVsbDsKLQotICAgIGZ1bmN0aW9uIG1lc3Nh
Z2VBZGRlZChwYXlsb2FkKQotICAgIHsKLSAgICAgICAgaWYgKHBheWxvYWQudGV4dCA9PT0gIkRP
TkUiKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChoYWRFcnJvciA/ICJG
QUlMVVJFIiA6ICJTVUNDRVNTIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCF0
cmFjZVN0YWNrVHJhY2UpIHsKLSAgICAgICAgICAgIGlmIChwYXlsb2FkLnNvdXJjZSA9PT0gImNv
bnNvbGUtYXBpIiAmJiBwYXlsb2FkLnR5cGUgPT09ICJ0cmFjZSIgJiYgcGF5bG9hZC5zdGFja1Ry
YWNlKQotICAgICAgICAgICAgICAgIHRyYWNlU3RhY2tUcmFjZSA9IHBheWxvYWQuc3RhY2tUcmFj
ZTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJFeHBlY3RlZCBjb25zb2xlLnRyYWNlKCkgbWVzc2FnZSB3aXRoIGEgc3RhY2tUcmFj
ZSwgYnV0IGdvdDogIiArIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTsKLSAgICAgICAgICAgICAg
ICB0cmFjZVN0YWNrVHJhY2UgPSBlcnJvclN0YWNrVHJhY2UgPSBudWxsOwotICAgICAgICAgICAg
ICAgIGhhZEVycm9yID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzZSBpZiAoIWVycm9yU3RhY2tUcmFjZSkgewotICAgICAgICAgICAg
aWYgKHBheWxvYWQuc291cmNlID09PSAiamF2YXNjcmlwdCIgJiYgcGF5bG9hZC5sZXZlbCA9PT0g
ImVycm9yIiAmJiBwYXlsb2FkLnN0YWNrVHJhY2UpCi0gICAgICAgICAgICAgICAgZXJyb3JTdGFj
a1RyYWNlID0gcGF5bG9hZC5zdGFja1RyYWNlOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV4cGVjdGVkIEphdmFTY3JpcHQgRXJy
b3IgbWVzc2FnZSB3aXRoIHN0YWNrVHJhY2UgYnV0IGdvdDogIiArIEpTT04uc3RyaW5naWZ5KHBh
eWxvYWQpKTsKLSAgICAgICAgICAgICAgICB0cmFjZVN0YWNrVHJhY2UgPSBlcnJvclN0YWNrVHJh
Y2UgPSBudWxsOwotICAgICAgICAgICAgICAgIGhhZEVycm9yID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodHJh
Y2VTdGFja1RyYWNlICYmIGVycm9yU3RhY2tUcmFjZSkgewotICAgICAgICAgICAgdmFyIGhhZFN0
YWNrVHJhY2VEaWZmZXJlbmNlID0gZmFsc2U7Ci0gICAgICAgICAgICAgaWYgKHRyYWNlU3RhY2tU
cmFjZS5sZW5ndGggIT0gZXJyb3JTdGFja1RyYWNlLmxlbmd0aCkgewotICAgICAgICAgICAgICAg
IGlmIChlcnJvclN0YWNrVHJhY2UubGVuZ3RoIC0gdHJhY2VTdGFja1RyYWNlLmxlbmd0aCAhPSAx
IHx8IChlcnJvclN0YWNrVHJhY2VbMF0uZnVuY3Rpb25OYW1lICE9ICJkZWNvZGVVUkkiICYmIGVy
cm9yU3RhY2tUcmFjZVswXS5mdW5jdGlvbk5hbWUgIT0gImV2YWwiKSkKLSAgICAgICAgICAgICAg
ICAgICAgaGFkU3RhY2tUcmFjZURpZmZlcmVuY2UgPSB0cnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmFj
ZVN0YWNrVHJhY2UubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRyYWNl
U3RhY2tUcmFjZVtpXS5mdW5jdGlvbk5hbWUgIT09IGVycm9yU3RhY2tUcmFjZVtpXS5mdW5jdGlv
bk5hbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICBoYWRTdGFja1RyYWNlRGlmZmVyZW5jZSA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBp
ZiAoaGFkU3RhY2tUcmFjZURpZmZlcmVuY2UpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiVW5leHBlY3RlZCBzdGFjayB0cmFjZSBmb3IgSmF2YVNjcmlwdCBFcnJv
cjogIiArIHBheWxvYWQudGV4dCk7Ci0gICAgICAgICAgICAgICAgaGFkRXJyb3IgPSB0cnVlOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0cmFjZVN0YWNrVHJhY2UgPSBlcnJvclN0YWNr
VHJhY2UgPSBudWxsOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHVyaUVycm9yKSIpOwotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgid3JhcHBlcih0eXBlRXJyb3IpIik7Ci0g
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3cmFwcGVyKHJhbmdl
RXJyb3IpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJ3
cmFwcGVyKHN5bnRheEVycm9yKSIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VX
aXRoVGltZW91dCgid3JhcHBlcihyZWZlcmVuY2VFcnJvcikiKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoIndyYXBwZXIodGhyb3dFcnJvck9iamVjdCkiKTsK
LSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoIndyYXBwZXIodGhy
b3dPYmplY3QpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0
KCJ3cmFwcGVyKHRocm93U3RyaW5nKSIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2VXaXRoVGltZW91dCgiY29uc29sZS5sb2coJ0RPTkUnKSIpOwotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgSmF2YVNjcmlw
dCBleGNlcHRpb24ncyBjb250YWluIHN0YWNrIHRyYWNlcyBhbmQgdGhhdCB0aGUgZnVuY3Rpb25z
IG1hdGNoIGNvbnNvbGUudHJhY2UoKSBzdGFjayB0cmFjZXMuPC9wPgotCi08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWV4dGVybmFsLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXh0ZXJuYWwtYXJyYXktZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4N2E5ZGQzYzI1YzUyMWEzY2JlMzY5YWM5ZTcx
NTc1ODQ0NzlhN2Y1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtZXh0ZXJu
YWwtYXJyYXktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDk6IFtvYmplY3QgSW50OEFycmF5XQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBbb2JqZWN0IEludDE2QXJyYXldCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6
IFtvYmplY3QgSW50MzJBcnJheV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogW29iamVjdCBV
aW50OEFycmF5XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBbb2JqZWN0IFVpbnQxNkFycmF5
XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBbb2JqZWN0IFVpbnQzMkFycmF5XQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE1OiBbb2JqZWN0IEZsb2F0MzJBcnJheV0KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNjogW29iamVjdCBGbG9hdDY0QXJyYXldCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTg6IFtvYmplY3QgSW50OEFycmF5XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiBbb2JqZWN0
IEludDE2QXJyYXldCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFtvYmplY3QgSW50MzJBcnJh
eV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogW29iamVjdCBVaW50OEFycmF5XQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDIyOiBbb2JqZWN0IFVpbnQxNkFycmF5XQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIzOiBbb2JqZWN0IFVpbnQzMkFycmF5XQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI0
OiBbb2JqZWN0IEZsb2F0MzJBcnJheV0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNTogW29iamVj
dCBGbG9hdDY0QXJyYXldCi1UZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyBkZXRlY3RzIGV4dGVy
bmFsIGFycmF5cyBhcyBhcnJheXMuCi0KLUludDhBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1h
cnJheS5odG1sOjkKLUludDE2QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDox
MAotSW50MzJBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjExCi1VaW50OEFy
cmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTIKLVVpbnQxNkFycmF5WzEwXSBj
b25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTMKLVVpbnQzMkFycmF5WzEwXSBjb25zb2xlLWV4
dGVybmFsLWFycmF5Lmh0bWw6MTQKLUZsb2F0MzJBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1h
cnJheS5odG1sOjE1Ci1GbG9hdDY0QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRt
bDoxNgotSW50OEFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6MTgKLUludDE2
QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoxOQotSW50MzJBcnJheVsxMF0g
Y29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjIwCi1VaW50OEFycmF5WzEwXSBjb25zb2xlLWV4
dGVybmFsLWFycmF5Lmh0bWw6MjEKLVVpbnQxNkFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFy
cmF5Lmh0bWw6MjIKLVVpbnQzMkFycmF5WzEwXSBjb25zb2xlLWV4dGVybmFsLWFycmF5Lmh0bWw6
MjMKLUZsb2F0MzJBcnJheVsxMF0gY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sOjI0Ci1GbG9h
dDY0QXJyYXlbMTBdIGNvbnNvbGUtZXh0ZXJuYWwtYXJyYXkuaHRtbDoyNQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWV4dGVybmFs
LWFycmF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWV4dGVybmFsLWFycmF5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3
NTcxZDgwZjI3MjcwYzBkMzZiMWI2Njc1OGY5NGEzMGNmYjY4ZWYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1leHRlcm5hbC1hcnJheS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgY29uc29sZS5sb2cobmV3IEludDhB
cnJheSgxMCkpOwotICAgIGNvbnNvbGUubG9nKG5ldyBJbnQxNkFycmF5KDEwKSk7Ci0gICAgY29u
c29sZS5sb2cobmV3IEludDMyQXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmxvZyhuZXcgVWludDhB
cnJheSgxMCkpOwotICAgIGNvbnNvbGUubG9nKG5ldyBVaW50MTZBcnJheSgxMCkpOwotICAgIGNv
bnNvbGUubG9nKG5ldyBVaW50MzJBcnJheSgxMCkpOwotICAgIGNvbnNvbGUubG9nKG5ldyBGbG9h
dDMyQXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmxvZyhuZXcgRmxvYXQ2NEFycmF5KDEwKSk7Ci0K
LSAgICBjb25zb2xlLmRpcihuZXcgSW50OEFycmF5KDEwKSk7Ci0gICAgY29uc29sZS5kaXIobmV3
IEludDE2QXJyYXkoMTApKTsKLSAgICBjb25zb2xlLmRpcihuZXcgSW50MzJBcnJheSgxMCkpOwot
ICAgIGNvbnNvbGUuZGlyKG5ldyBVaW50OEFycmF5KDEwKSk7Ci0gICAgY29uc29sZS5kaXIobmV3
IFVpbnQxNkFycmF5KDEwKSk7Ci0gICAgY29uc29sZS5kaXIobmV3IFVpbnQzMkFycmF5KDEwKSk7
Ci0gICAgY29uc29sZS5kaXIobmV3IEZsb2F0MzJBcnJheSgxMCkpOwotICAgIGNvbnNvbGUuZGly
KG5ldyBGbG9hdDY0QXJyYXkoMTApKTsKLQotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+Ci1UZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2lu
ZyBkZXRlY3RzIGV4dGVybmFsIGFycmF5cyBhcyBhcnJheXMuCi08L3A+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtbGFzdC1yZXN1bHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sYXN0LXJlc3VsdC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMGRjZTZjMDRhZTY5ZmY2Yzc1NjEwOGFjODU2ZWE5
ZTA3ZTVhMDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sYXN0LXJlc3Vs
dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHRoYXQg
Y29uc29sZSBleHBvc2VzIGxhc3QgZXZhbHVhdGlvbiByZXN1bHQgYXMgJF8uCi0KLTErMQotMgot
JF8KLTIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1sYXN0LXJlc3VsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1sYXN0LXJlc3VsdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3NDY0NTg3YmEzYTcxMmE2ODlhMjk0YmRjNDdkNDU2MTlhZDhmNzAyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbGFzdC1yZXN1bHQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDMyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5Db25zb2xlKCIxKzEiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCIkXyIsIGNh
bGxiYWNrKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLSAgICBUZXN0cyB0aGF0IGNvbnNvbGUgZXhw
b3NlcyBsYXN0IGV2YWx1YXRpb24gcmVzdWx0IGFzICRfLgotPC9wPgotCi08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rv
ci1vcGVuLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRjYjZl
ZWI0MWZlODMyZjZjMjI4YzA4ZDMzNjZhNjkyM2Q5MDc3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4tZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IGxv
ZwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IGRlYnVnCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
OTogaW5mbwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiB3YXJuCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTE6IGVycm9yCi1UZXN0cyB0aGF0IFdlYiBJbnNwZWN0b3Igd29uJ3QgY3Jhc2ggaWYg
c29tZSBjb25zb2xlIGhhdmUgYmVlbiBsb2dnZWQgYnkgdGhlIHRpbWUgaXQncyBvcGVuaW5nLgot
Ci1sb2cgY29uc29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWw6NwotZGVidWcgY29u
c29sZS1sb2ctYmVmb3JlLWluc3BlY3Rvci1vcGVuLmh0bWw6OAotaW5mbyBjb25zb2xlLWxvZy1i
ZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbDo5Ci13YXJuIGNvbnNvbGUtbG9nLWJlZm9yZS1pbnNw
ZWN0b3Itb3Blbi5odG1sOjEwCi1lcnJvciBjb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9w
ZW4uaHRtbDoxMQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLWxvZy1iZWZvcmUtaW5zcGVjdG9yLW9wZW4uaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0
b3Itb3Blbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTAwNDJhZTlkOWQw
NjgyYTc5Mjc5NjRkMTY5M2VhMDI4YmQzZWQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0b3Itb3Blbi5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWNvbnNvbGUubG9nKCdsb2cnKTsKLWNvbnNvbGUuZGVidWcoJ2RlYnVnJyk7Ci1j
b25zb2xlLmluZm8oJ2luZm8nKTsKLWNvbnNvbGUud2Fybignd2FybicpOwotY29uc29sZS5lcnJv
cignZXJyb3InKTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1w
Q29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIHdvbid0IGNyYXNoIGlmIHNvbWUgY29uc29sZSBoYXZl
IGJlZW4gbG9nZ2VkIGJ5IHRoZSB0aW1lIGl0J3Mgb3BlbmluZy4KLTwvcD4KLQotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctZG9jdW1lbnQtcHJvdG8tZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjA4MWMzZjk5YzFlNDgw
MWIzNzU1ZDhlZmZiYjhiMmRhYzdhOTJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2Nv
bnNvbGUtbG9nLWRvY3VtZW50LXByb3RvLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFtvYmplY3QgSFRNTERvY3VtZW50
UHJvdG90eXBlXQotVGVzdCB0aGF0IGNvbnNvbGUuZGlyKGRvY3VtZW50Ll9fcHJvdG9fXykgd29u
J3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBtZXNzYWdlIGlzIGZvcm1hdHRlZCBp
biB0aGUgaW5zcGVjdG9yLkJ1ZyAyNzE2OS4KLQotSFRNTERvY3VtZW50UHJvdG90eXBlIGNvbnNv
bGUtbG9nLWRvY3VtZW50LXByb3RvLmh0bWw6NgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctZG9j
dW1lbnQtcHJvdG8uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjYzOWM0N2Nh
OWVjMTFjYTY0MjkwMDUwNTZhZGJmM2FkYWEyZDhiZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWxvZy1kb2N1bWVudC1wcm90by5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1jb25zb2xlLmRpcihkb2N1bWVudC5fX3Byb3RvX18pOwotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3QgdGhhdCBjb25zb2xlLmRpcihkb2N1bWVudC5fX3By
b3RvX18pIHdvbid0IHJlc3VsdCBpbiBhbiBleGNlcHRpb24gd2hlbiB0aGUgbWVzc2FnZQotaXMg
Zm9ybWF0dGVkIGluIHRoZSBpbnNwZWN0b3IuPGEgYnVnPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjcxNjkiPkJ1ZyAgMjcxNjkuPC9hPgotPC9wPgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1sb2ctbmF0aXZlLWZ1bmNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9nLW5hdGl2ZS1mdW5jcy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhNzkyMWU3NzZlYzg3ZjZjOWM5
OWI4NzQ1Njk3YmIwZjQyZmEwYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1sb2ctbmF0aXZlLWZ1bmNzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0
b3JdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQoKSB7
Ci0gICAgW25hdGl2ZSBjb2RlXQotfQotVGVzdHMgdGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMg
cHJvcGVyIG1lc3NhZ2VzLgotCi1jb25zb2xlLWxvZy1uYXRpdmUtZnVuY3MuaHRtbDo5RG9jdW1l
bnRDb25zdHJ1Y3RvciBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1qcy1zb3VyY2UgY29uc29sZS1s
b2ctbGV2ZWwKLWNvbnNvbGUtbG9nLW5hdGl2ZS1mdW5jcy5odG1sOjEwZnVuY3Rpb24gY3JlYXRl
RWxlbWVudCgpIHsKLSAgICBbbmF0aXZlIGNvZGVdCi19IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xl
LWpzLXNvdXJjZSBjb25zb2xlLWxvZy1sZXZlbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1zeW50YXgtZXJyb3ItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1s
b2ctc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYmJmOTY5MTFkNjUxZWJhYzcyNDA5Nzc1ZDQzOThiOWMyZjM4YjNmMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy1zeW50YXgtZXJyb3ItZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyknCi1UZXN0cyB0aGF0IHN5bnRheCBlcnJvcnMg
YXJlIGxvZ2dlZCBpbnRvIGNvbnNvbGUgYW5kIGRvZXNuJ3QgY2F1c2UgYnJvd3NlciBjcmFzaC4K
LQotU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJyknIHN5bnRheC1lcnJvci5qczoxCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtbG9nLXN5bnRheC1lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1sb2ctc3ludGF4LWVycm9yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk2N2Q3YTRjNzQ4NzU0NzEyMzYzNjJlOTViNGE4MDUzMzc2ZTFlNTcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctc3ludGF4LWVycm9yLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zeW50YXgtZXJyb3IuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Qu
ZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhhdCBzeW50YXggZXJyb3JzIGFyZSBsb2dnZWQgaW50byBjb25zb2xlIGFuZCBkb2Vz
bid0IGNhdXNlIGJyb3dzZXIgY3Jhc2guCi08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy10
b1N0cmluZy1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2NvbnNvbGUvY29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0LWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUyMjdlY2ZjMGYzODY3YTJmZjVmNTJiYmY3OTI5
ZTBhZjUwYzEwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy10b1N0
cmluZy1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNzogCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNzogCi1UZXN0
cyB0aGF0IHBhc3NpbmcgYW4gb2JqZWN0IHdoaWNoIHRocm93cyBvbiBzdHJpbmcgY29udmVyc2lv
biBpbnRvIGNvbnNvbGUubG9nIHdvbid0IGNyYXNoIGluc3BlY3RlZCBQYWdlLiBUaGUgdGVzdCBw
YXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4gQnVnIDU3NTU3Ci0KLVBhZ2UgcmVsb2FkZWQuCi1P
YmplY3Qge3RvU3RyaW5nOiBPYmplY3R9IGNvbnNvbGUtbG9nLXRvU3RyaW5nLW9iamVjdC5odG1s
OjcKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1sb2ctdG9TdHJpbmctb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy10b1N0cmluZy1vYmplY3QuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTk4Njg5NGM3YmQxMDNlODhmZGJiNWQxNDY0NGY5OTlj
MjNjYTk4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvZy10b1N0cmlu
Zy1vYmplY3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1jb25zb2xlLmxvZyh7dG9T
dHJpbmc6e319KTsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5yZWxv
YWRQYWdlKGZ1bmN0aW9uKCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVz
c2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9KTsK
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1U
ZXN0cyB0aGF0IHBhc3NpbmcgYW4gb2JqZWN0IHdoaWNoIHRocm93cyBvbiBzdHJpbmcgY29udmVy
c2lvbiBpbnRvIGNvbnNvbGUubG9nIHdvbid0IGNyYXNoCi1pbnNwZWN0ZWQgUGFnZS4gVGhlIHRl
c3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTciPkJ1ZyA1NzU1NzwvYT4KLTwvcD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtbG9uZy1ldmFsLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbG9uZy1ldmFsLWNyYXNoLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY3NzdlZDE3YmE1MDE1NjVi
NDA0Mjk3OTYxNWEzZmE2ZjgwZjc4MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLWxvbmctZXZhbC1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLVRlc3QgdGhhdCBhbnkgbG9uZyBhcGkgY2FsbCBmcm9tIHRoZSBmcm9udGVuZCB3aWxs
IG5vdCBjcmFzaCB0aGUgaW5zcGVjdGVkIHBhZ2UncyByZW5kZXJlciBpZiB0aGUgcGFnZSBpcyBy
ZWxvYWRlZCBvciBmcm9udGVuZCBpcyBjbG9zZWQgaW4gdGhlIG1pZGRsZS4KLQotaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjE2CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLWxvbmctZXZhbC1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1sb25n
LWV2YWwtY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdiNGZhYzNh
NmI5MDExNTAyNTlkOGRjMDg4YTlkNTY4YzM1ODIzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLWxvbmctZXZhbC1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLXRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLQotZnVuY3Rpb24gZG9EaWFsb2co
KQotewotICAgIHRlc3RSdW5uZXIuY2xvc2VXZWJJbnNwZWN0b3IoKTsKLSAgICBzaG93TW9kYWxE
aWFsb2coJ2RhdGE6dGV4dC9odG1sLDxzY3JpcHQ+c2V0VGltZW91dChjbG9zZSwgMCk7JTNjL3Nj
cmlwdD4nKTsKLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7fSwgMCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFJ1bnRpbWVBZ2VudC5ldmFs
dWF0ZSgiZG9EaWFsb2coKSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0IHRoYXQgYW55IGxvbmcgYXBpIGNhbGwgZnJvbSB0
aGUgZnJvbnRlbmQgd2lsbCBub3QgY3Jhc2ggdGhlIGluc3BlY3RlZCBwYWdlJ3MgcmVuZGVyZXIg
aWYgdGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgZnJvbnRlbmQgaXMgY2xvc2VkIGluIHRoZSBtaWRk
bGUuCi08L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjA2MTYiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYxNjwv
YT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlLWZvcm1hdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UtZm9y
bWF0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBlYWVjZjQz
OWRlZDI0MzA0MDYzZTM0NzI5OTY5ODZkYmExZjQ1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLW1lc3NhZ2UtZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBNZXNzYWdlIGZvcm1hdCBu
dW1iZXIgJWksICVkIGFuZCAlZgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBNZXNzYWdlICVz
IGZvciAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBPYmplY3QgJW8KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxMjogRmxvYXRpbmcgYXMgaW50ZWdlcnM6ICVkICVpCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTM6IEZsb2F0aW5nIGFzIGlzOiAlZgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
OiBOb24tbnVtYmVycyBhcyBudW1iZXJzOiAlZCAlaSAlZgotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE1OiBTdHJpbmcgYXMgaXM6ICVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IE9iamVjdCBh
cyBzdHJpbmc6ICVzCi1UZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyB1c2VzIHByb3BlciBtZXNz
YWdlIGZvcm1hdHRpbmcuCi0KLU1lc3NhZ2UgZm9ybWF0IG51bWJlciAxLCAyIGFuZCAzLjUgY29u
c29sZS1tZXNzYWdlLWZvcm1hdC5odG1sOjkKLU1lc3NhZ2UgZm9ybWF0IGZvciBzdHJpbmcgY29u
c29sZS1tZXNzYWdlLWZvcm1hdC5odG1sOjEwCi1PYmplY3QgT2JqZWN0IGNvbnNvbGUtbWVzc2Fn
ZS1mb3JtYXQuaHRtbDoxMQotRmxvYXRpbmcgYXMgaW50ZWdlcnM6IDQyIDQyIGNvbnNvbGUtbWVz
c2FnZS1mb3JtYXQuaHRtbDoxMgotRmxvYXRpbmcgYXMgaXM6IDQyLjUgY29uc29sZS1tZXNzYWdl
LWZvcm1hdC5odG1sOjEzCi1Ob24tbnVtYmVycyBhcyBudW1iZXJzOiBOYU4gTmFOIE5hTiBjb25z
b2xlLW1lc3NhZ2UtZm9ybWF0Lmh0bWw6MTQKLVN0cmluZyBhcyBpczogc3RyaW5nIGNvbnNvbGUt
bWVzc2FnZS1mb3JtYXQuaHRtbDoxNQotT2JqZWN0IGFzIHN0cmluZzogI2RvY3VtZW50IGNvbnNv
bGUtbWVzc2FnZS1mb3JtYXQuaHRtbDoxNgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UtZm9ybWF0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW1lc3NhZ2UtZm9ybWF0
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4ZTRhMzk0ZmVmOWUxOTljY2Q1
YjRmM2Q3NDUyNGQ2MTE2MTExNzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1tZXNzYWdlLWZvcm1hdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9u
IG9ubG9hZCgpCi17Ci0gICAgY29uc29sZS5sb2coJ01lc3NhZ2UgZm9ybWF0IG51bWJlciAlaSwg
JWQgYW5kICVmJywgMSwgMiwgMy41KTsKLSAgICBjb25zb2xlLmxvZygnTWVzc2FnZSAlcyBmb3Ig
JXMnLCAnZm9ybWF0JywgJ3N0cmluZycpOwotICAgIGNvbnNvbGUubG9nKCdPYmplY3QgJW8nLCB7
J2ZvbycgOiAnYmFyJyB9KTsKLSAgICBjb25zb2xlLmxvZygiRmxvYXRpbmcgYXMgaW50ZWdlcnM6
ICVkICVpIiwgNDIuNSwgNDIuNSk7Ci0gICAgY29uc29sZS5sb2coIkZsb2F0aW5nIGFzIGlzOiAl
ZiIsIDQyLjUpOwotICAgIGNvbnNvbGUubG9nKCJOb24tbnVtYmVycyBhcyBudW1iZXJzOiAlZCAl
aSAlZiIsIGRvY3VtZW50LCBudWxsLCAiZG9jdW1lbnQiKTsKLSAgICBjb25zb2xlLmxvZygiU3Ry
aW5nIGFzIGlzOiAlcyIsICJzdHJpbmciKTsKLSAgICBjb25zb2xlLmxvZygiT2JqZWN0IGFzIHN0
cmluZzogJXMiLCBkb2N1bWVudCk7Ci0KLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAg
SW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9u
bG9hZCgpIj4KLTxwIGlkPSJwIj5UZXN0cyB0aGF0IGNvbnNvbGUgbG9nZ2luZyB1c2VzIHByb3Bl
ciBtZXNzYWdlIGZvcm1hdHRpbmcuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlcy1z
dGFjay10cmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1tZXNzYWdlcy1zdGFjay10cmFjZXMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmE3MWJlY2EzYWVlODg3Y2FjYjgyZDYzODQxZGE5
YzZkNjBlOWY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMt
c3RhY2stdHJhY2VzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogbG9nCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6
IGluZm8KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxODogd2FybgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE5OiBkZWJ1ZwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBlcnJvcgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDIxOiBhc3NlcnQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMjogdHJhY2UK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogMSwyLDMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAy
NDogW29iamVjdCBIVE1MQm9keUVsZW1lbnRdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzA6IE1B
UktFUjogRVhQRUNUIE5PIFNUQUNLIFRSQUNFUwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM0OiBN
QVJLRVI6IERPTkUKLVRlc3RzIHRoYXQgY29uc29sZS1hcGkgbWVzc2FnZXMgY29udGFpbiBzdGFj
ayB0cmFjZXMuCi0KLVNVQ0NFU1MKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1tZXNzYWdlcy1zdGFjay10cmFjZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbWVzc2FnZXMtc3Rh
Y2stdHJhY2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViYzZmODdiN2Qw
ZmIwZmIwZmY0OTE5NjI1Yzg5MzkzNzQ5MDM0ZTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1tZXNzYWdlcy1zdGFjay10cmFjZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDgxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQ29uc29sZU1lc3NhZ2VzKCkgewotICAgIC8vIE5vIGNv
bnNvbGUgbWVzc2FnZS4KLSAgICBjb25zb2xlLnRpbWVTdGFtcCgpOwotCi0gICAgLy8gRXhwZWN0
ZWQgdG8gaGF2ZSBzdGFjayB0cmFjZXMuCi0gICAgY29uc29sZS50aW1lKCJ0aW1lIik7IC8vIE5v
dGhpbmcgdW50aWwgdGltZUVuZC4KLSAgICBjb25zb2xlLmNsZWFyKCk7Ci0gICAgY29uc29sZS5n
cm91cCgiZ3JvdXAiKTsKLSAgICBjb25zb2xlLnByb2ZpbGUoInByb2ZpbGUiKTsKLSAgICBjb25z
b2xlLmxvZygibG9nIik7Ci0gICAgY29uc29sZS5pbmZvKCJpbmZvIik7Ci0gICAgY29uc29sZS53
YXJuKCJ3YXJuIik7Ci0gICAgY29uc29sZS5lcnJvcigiZGVidWciKTsKLSAgICBjb25zb2xlLmVy
cm9yKCJlcnJvciIpOwotICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAiYXNzZXJ0Iik7Ci0gICAg
Y29uc29sZS50cmFjZSgidHJhY2UiKTsKLSAgICBjb25zb2xlLmRpcihbMSwyLDNdKTsKLSAgICBj
b25zb2xlLmRpcnhtbChkb2N1bWVudC5ib2R5KTsKLSAgICBjb25zb2xlLmNvdW50KCJjb3VudCIp
OwotICAgIGNvbnNvbGUucHJvZmlsZUVuZCgicHJvZmlsZSIpOwotICAgIGNvbnNvbGUudGltZUVu
ZCgidGltZSIpOwotCi0gICAgLy8gTm90IGV4cGVjdGVkIHRvIGhhdmUgc3RhY2sgdHJhY2VzLgot
ICAgIGNvbnNvbGUubG9nKCJNQVJLRVI6IEVYUEVDVCBOTyBTVEFDSyBUUkFDRVMiKTsKLSAgICBj
b25zb2xlLmdyb3VwRW5kKCJncm91cCIpOwotCi0gICAgLy8gRW5kIHRoZSB0ZXN0Ci0gICAgY29u
c29sZS5sb2coIk1BUktFUjogRE9ORSIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNvbnNvbGVEaXNwYXRjaGVyLnBy
b3RvdHlwZSwgIm1lc3NhZ2VBZGRlZCIsIG1lc3NhZ2VBZGRlZCwgdHJ1ZSk7Ci0KLSAgICB2YXIg
aGFkSXNzdWUgPSBmYWxzZTsKLSAgICB2YXIgZXhwZWN0U3RhY2tUcmFjZXMgPSB0cnVlOwotCi0g
ICAgZnVuY3Rpb24gbWVzc2FnZUFkZGVkKHBheWxvYWQpCi0gICAgewotICAgICAgICBpZiAocGF5
bG9hZC5sZXZlbCA9PT0gImxvZyIpIHsKLSAgICAgICAgICAgIGlmIChwYXlsb2FkLnRleHQgPT09
ICJNQVJLRVI6IERPTkUiKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoaGFkSXNzdWUgPyAiRkFJTFVSRSIgOiAiU1VDQ0VTUyIpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHBheWxvYWQudGV4dCA9PT0gIk1BUktFUjogRVhQ
RUNUIE5PIFNUQUNLIFRSQUNFUyIpIHsKLSAgICAgICAgICAgICAgICBleHBlY3RTdGFja1RyYWNl
cyA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotCi0gICAgICAgIHZhciB1cmwgPSBwYXlsb2FkLnVybDsKLSAgICAgICAgdmFyIGxhc3RT
bGFzaEluZGV4ID0gdXJsLmxhc3RJbmRleE9mKCIvIik7Ci0gICAgICAgIHVybCA9IHVybC5zdWJz
dHJpbmcobGFzdFNsYXNoSW5kZXggKyAxKTsKLQotICAgICAgICBpZiAoInN0YWNrVHJhY2UiIGlu
IHBheWxvYWQgJiYgIWV4cGVjdFN0YWNrVHJhY2VzKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiVW5leHBlY3RlZCBzdGFjayB0cmFjZSBmb3I6ICIgKyBKU09OLnN0cmlu
Z2lmeShwYXlsb2FkKSk7Ci0gICAgICAgICAgICBoYWRJc3N1ZSA9IHRydWU7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoISgic3RhY2tUcmFjZSIgaW4gcGF5bG9hZCkgJiYgZXhwZWN0U3RhY2tUcmFjZXMp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFeHBlY3RlZCBzdGFjayB0
cmFjZSBmb3I6ICIgKyBKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7Ci0gICAgICAgICAgICBoYWRJ
c3N1ZSA9IHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJwZXJmb3JtQ29uc29sZU1lc3NhZ2VzKCkiKTsKLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgY29uc29s
ZS1hcGkgbWVzc2FnZXMgY29udGFpbiBzdGFjayB0cmFjZXMuPC9wPgotCi08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1uYXRpdmUtZnVuY3Rpb24tdG8t
c3RyaW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNiMDM3
ODFiYTg3MzIxNDJkNTg3Y2NkYWFlYjYwNzAzNzM1NGQzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLW5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmctZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotVGVzdHMgdGhhdCBjb21tYW5kLWxpbmUgQVBJ
IG1ldGhvZHMgYmVoYXZlIHNpbWlsYXJseSB0byBuYXRpdmUgY29kZSBieSByZXR1cm5pbmcgJ1tX
ZWJJbnNwZWN0b3IgY29uc29sZSBmdW5jdGlvbl0nIHZpYSB0b1N0cmluZygpLgotCi0KLQotJAot
ZnVuY3Rpb24gJCgpIHsgW0NvbW1hbmQgTGluZSBBUEldIH0KLQotCi0kJAotZnVuY3Rpb24gJCQo
KSB7IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KLQotJHgKLWZ1bmN0aW9uICR4KCkgeyBbQ29tbWFu
ZCBMaW5lIEFQSV0gfQotCi0KLWRpcgotZnVuY3Rpb24gZGlyKCkgeyBbQ29tbWFuZCBMaW5lIEFQ
SV0gfQotCi0KLWRpcnhtbAotZnVuY3Rpb24gZGlyeG1sKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0g
fQotCi0KLWtleXMKLWZ1bmN0aW9uIGtleXMoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KLQot
dmFsdWVzCi1mdW5jdGlvbiB2YWx1ZXMoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KLQotcHJv
ZmlsZQotZnVuY3Rpb24gcHJvZmlsZSgpIHsgW0NvbW1hbmQgTGluZSBBUEldIH0KLQotCi1wcm9m
aWxlRW5kCi1mdW5jdGlvbiBwcm9maWxlRW5kKCkgeyBbQ29tbWFuZCBMaW5lIEFQSV0gfQotCi0K
LW1vbml0b3JFdmVudHMKLWZ1bmN0aW9uIG1vbml0b3JFdmVudHMoKSB7IFtDb21tYW5kIExpbmUg
QVBJXSB9Ci0KLQotdW5tb25pdG9yRXZlbnRzCi1mdW5jdGlvbiB1bm1vbml0b3JFdmVudHMoKSB7
IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KLQotaW5zcGVjdAotZnVuY3Rpb24gaW5zcGVjdCgpIHsg
W0NvbW1hbmQgTGluZSBBUEldIH0KLQotCi1jb3B5Ci1mdW5jdGlvbiBjb3B5KCkgeyBbQ29tbWFu
ZCBMaW5lIEFQSV0gfQotCi0KLWNsZWFyCi1mdW5jdGlvbiBjbGVhcigpIHsgW0NvbW1hbmQgTGlu
ZSBBUEldIH0KLQotCi1nZXRFdmVudExpc3RlbmVycwotZnVuY3Rpb24gZ2V0RXZlbnRMaXN0ZW5l
cnMoKSB7IFtDb21tYW5kIExpbmUgQVBJXSB9Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmlu
Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1u
YXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDMyMWNiMTNlOGJhYzlkM2Y3Y2I4NWJkNjEzNmFmYjczMTNlOTE1NjYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1uYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAg
ICAgIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZXhw
cmVzc2lvbnMgPSBbCi0gICAgICAgICAgICAgICAgIiQiLCAiJCQiLCAiJHgiLCAiZGlyIiwgImRp
cnhtbCIsICJrZXlzIiwgInZhbHVlcyIsICJwcm9maWxlIiwgInByb2ZpbGVFbmQiLAotICAgICAg
ICAgICAgICAgICJtb25pdG9yRXZlbnRzIiwgInVubW9uaXRvckV2ZW50cyIsICJpbnNwZWN0Iiwg
ImNvcHkiLCAiY2xlYXIiLCAiZ2V0RXZlbnRMaXN0ZW5lcnMiCi0gICAgICAgICAgICBdOwotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBleGVjdXRlRXhwcmVzc2lvbigpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFleHByZXNzaW9ucy5sZW5ndGgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgdmFyIGV4cHJlc3Np
b24gPSBleHByZXNzaW9uc1swXTsKLSAgICAgICAgICAgICAgICBleHByZXNzaW9ucy5zcGxpY2Uo
MCwgMSk7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZygiXG4iKTsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKGV4cHJlc3Npb24sIGV4ZWN1
dGVFeHByZXNzaW9uKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZXhlY3V0ZUV4cHJl
c3Npb24oKTsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIHRoYXQgY29tbWFuZC1saW5lIEFQSSBtZXRob2Rz
IGJlaGF2ZSBzaW1pbGFybHkgdG8gbmF0aXZlIGNvZGUgYnkgcmV0dXJuaW5nICdbV2ViSW5zcGVj
dG9yIGNvbnNvbGUgZnVuY3Rpb25dJyB2aWEgdG9TdHJpbmcoKS48L3A+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9j
b25zb2xlLW5lc3RlZC1ncm91cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW5lc3RlZC1ncm91cC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmMTM5NTgwMDg4MmYxYmM5Njk5OGQxODg1N2NkNzYy
YWJiZTJjMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1uZXN0ZWQtZ3Jv
dXAtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDExOiBNZXNzYWdlIGluc2lkZSBpbm5lciBncm91cAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0OiBNZXNzYWdlIHRoYXQgbXVzdCBub3QgYmUgaW4gYW55IGdyb3VwCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjE6IE1lc3NhZ2UgaW5zaWRlIHRoaXJkIGdyb3VwCi1UZXN0cyB0
aGF0IGNvbnNvbGUuZ3JvdXAvZ3JvdXBFbmQgbWVzc2FnZXMgd29uJ3QgYmUgY29hbGVzY2VkLiBC
dWcgNTYxMTQuIEJ1ZyA2MzUyMS4KLQotb3V0ZXIgZ3JvdXAgY29uc29sZS1uZXN0ZWQtZ3JvdXAu
aHRtbDo5IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdyb3VwLXRp
dGxlCi1pbm5lciBncm91cCBjb25zb2xlLW5lc3RlZC1ncm91cC5odG1sOjEwIGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdyb3VwLXRpdGxlCi1NZXNzYWdlIGluc2lk
ZSBpbm5lciBncm91cCBjb25zb2xlLW5lc3RlZC1ncm91cC5odG1sOjExIGNvbnNvbGUtbWVzc2Fn
ZSBjb25zb2xlLWxvZy1sZXZlbAotIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAot
IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbAotTWVzc2FnZSB0aGF0IG11c3Qgbm90
IGJlIGluIGFueSBncm91cCBjb25zb2xlLW5lc3RlZC1ncm91cC5odG1sOjE0IGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLWxvZy1sZXZlbAotT25lIG9mIHNldmVyYWwgZ3JvdXBzIHdoaWNoIHNob3Vs
ZG4ndCBiZSBjb2FsZXNjZWQuIGNvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWw6MTkgY29uc29sZS1t
ZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsIGNvbnNvbGUtZ3JvdXAtdGl0bGUKLU9uZSBvZiBzZXZl
cmFsIGdyb3VwcyB3aGljaCBzaG91bGRuJ3QgYmUgY29hbGVzY2VkLiBjb25zb2xlLW5lc3RlZC1n
cm91cC5odG1sOjE5IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdy
b3VwLXRpdGxlCi1PbmUgb2Ygc2V2ZXJhbCBncm91cHMgd2hpY2ggc2hvdWxkbid0IGJlIGNvYWxl
c2NlZC4gY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDoxOSBjb25zb2xlLW1lc3NhZ2UgY29uc29s
ZS1sb2ctbGV2ZWwgY29uc29sZS1ncm91cC10aXRsZQotTWVzc2FnZSBpbnNpZGUgdGhpcmQgZ3Jv
dXAgY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbDoyMSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1s
b2ctbGV2ZWwKLSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLSBjb25zb2xlLW1l
c3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2
ZWwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtbmVzdGVkLWdyb3VwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDE2NWYyYTkzYTcwYjcwODFiY2Y3YjZjMGRhMDgyZWEzMDlkM2VjOTEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1uZXN0ZWQtZ3JvdXAuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAgIGNvbnNvbGUuZ3Jv
dXAoIm91dGVyIGdyb3VwIik7Ci0gICAgY29uc29sZS5ncm91cCgiaW5uZXIgZ3JvdXAiKTsKLSAg
ICBjb25zb2xlLmxvZygiTWVzc2FnZSBpbnNpZGUgaW5uZXIgZ3JvdXAiKTsKLSAgICBjb25zb2xl
Lmdyb3VwRW5kKCk7Ci0gICAgY29uc29sZS5ncm91cEVuZCgpOwotICAgIGNvbnNvbGUubG9nKCJN
ZXNzYWdlIHRoYXQgbXVzdCBub3QgYmUgaW4gYW55IGdyb3VwIik7Ci0KLQotICAgIHZhciBncm91
cENvdW50ID0gMzsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGdyb3VwQ291bnQ7IGkrKykgewot
ICAgICAgICBjb25zb2xlLmdyb3VwKCJPbmUgb2Ygc2V2ZXJhbCBncm91cHMgd2hpY2ggc2hvdWxk
bid0IGJlIGNvYWxlc2NlZC4iKTsKLSAgICB9Ci0gICAgY29uc29sZS5sb2coIk1lc3NhZ2UgaW5z
aWRlIHRoaXJkIGdyb3VwIik7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncm91cENvdW50OyBp
KyspIHsKLSAgICAgICAgY29uc29sZS5ncm91cEVuZCgpOwotICAgIH0KLQotICAgIHJ1blRlc3Qo
KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29s
ZU1lc3NhZ2VzV2l0aENsYXNzZXMoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+
Ci1UZXN0cyB0aGF0IGNvbnNvbGUuZ3JvdXAvZ3JvdXBFbmQgbWVzc2FnZXMgd29uJ3QgYmUgY29h
bGVzY2VkLiA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTYxMTQiPkJ1ZyA1NjExNC48L2E+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjM1MjEiPkJ1ZyA2MzUyMS48L2E+Ci0KLTwvcD4KLQotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1jb25zdHJ1Y3Rv
ci1uYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzNhOWI4
NDA4YjVjNzgwMGViNjNlMmU2NzM2YTg3MmZhYmVjMjQxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLW9iamVjdC1jb25zdHJ1Y3Rvci1uYW1lLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBbb2Jq
ZWN0IE9iamVjdF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogW29iamVjdCBPYmplY3RdCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFtvYmplY3QgT2JqZWN0XQotVGVzdHMgdGhhdCB0aGUg
bmFtZSBvZiB0aGUgZnVuY3Rpb24gaW52b2tlZCBhcyBvYmplY3QgY29uc3RydWN0b3Igd2lsbCBi
ZSBkaXNwbGF5ZWQgYXMgaXRzIHR5cGUgaW4gdGhlIGZyb250LWVuZC4gQnVnIDUwMDYzLgotCi1Q
YXJlbnQgY29uc29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS5odG1sOjExCi1QYXJlbnQgY29u
c29sZS1vYmplY3QtY29uc3RydWN0b3ItbmFtZS5odG1sOjEyCi1PYmplY3QgY29uc29sZS1vYmpl
Y3QtY29uc3RydWN0b3ItbmFtZS5odG1sOjEzCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LWNvbnN0cnVjdG9yLW5hbWUu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2Jq
ZWN0LWNvbnN0cnVjdG9yLW5hbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjkzNGZmZWQxZWU4NzdmZmMwZjU1NjgwYTBiZmYzZWQ2MmZhNmU4Mi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1jb25zdHJ1Y3Rvci1uYW1lLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gUGFyZW50KCkgeyB9Ci1mdW5jdGlvbiBDaGls
ZCgpIHsgfQotQ2hpbGQucHJvdG90eXBlID0gbmV3IFBhcmVudCgpOwotdmFyIG91dGVyID0geyBp
bm5lcjogZnVuY3Rpb24oKSB7IH0gfTsKLWNvbnNvbGUubG9nKG5ldyBQYXJlbnQoKSk7Ci1jb25z
b2xlLmxvZyhuZXcgQ2hpbGQoKSk7Ci1jb25zb2xlLmxvZyhuZXcgb3V0ZXIuaW5uZXIoKSk7Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3Nh
Z2VzKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCB0aGUgbmFtZSBvZiB0aGUg
ZnVuY3Rpb24gaW52b2tlZCBhcyBvYmplY3QgY29uc3RydWN0b3Igd2lsbCBiZSBkaXNwbGF5ZWQg
YXMgaXRzIHR5cGUgaW4gdGhlIGZyb250LWVuZC4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDA2MyI+QnVnIDUwMDYzLjwvYT4KLTwvcD4KLQotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1vYmplY3QtcHJldmlldy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVjdC1wcmV2aWV3LWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1ODU2NDRlMzMyOTUwYWFl
MGIwNzZmMDQ4NTVmYjlmNTM1ZjgxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25z
b2xlLW9iamVjdC1wcmV2aWV3LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBNdXRhdGluZyBvYmplY3QgaW4gYSBsb29w
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEzOiBbb2JqZWN0IE9iamVjdF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzog
W29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IE11dGF0aW5nIGFycmF5
IGluIGEgbG9vcAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiAwLDAsMAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIwOiAwLDAsMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiAwLDAsMgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDIzOiBPYmplY3Qgd2l0aCBtYW55IHByb3BlcnRpZXMKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyODogW29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMzA6IEFycmF5IHdpdGggbWFueSBwcm9wZXJ0aWVzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MzU6IDAsMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBPYmplY3Qgd2l0aCBwcm90bwotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDQwOiBbb2JqZWN0IE9iamVjdF0KLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA0MjogU3BhcnNlIGFycmF5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDU6ICwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsNTAsLCwsLCwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0Nzog
RGVuc2UgYXJyYXkgd2l0aCBpbmRleGVzIGFuZCBwcm9wZXRpZXMKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA1MzogMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwx
OSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywz
OCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1
Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3
Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5
NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEw
LDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQs
MTI1LDEyNiwxMjcsMTI4LDEyOSwxMzAsMTMxLDEzMiwxMzMsMTM0LDEzNSwxMzYsMTM3LDEzOCwx
MzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUsMTQ2LDE0NywxNDgsMTQ5Ci1UZXN0cyB0aGF0IGNv
bnNvbGUgcHJvZHVjZXMgaW5zdGFudCBwcmV2aWV3cyBmb3IgYXJyYXlzIGFuZCBvYmplY3RzLgot
Ci1NdXRhdGluZyBvYmplY3QgaW4gYSBsb29wIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDo5
IGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1tZXNzYWdlLXVybCB3
ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1PYmplY3Qge2E6IDAsIGI6IDAsIGM6IDB9IGNvbnNv
bGUtb2JqZWN0LXByZXZpZXcuaHRtbDoxMyBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29k
ZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtb2JqZWN0
LXByZXZpZXcgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNv
bGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsKLU9iamVjdCB7YTog
MCwgYjogMCwgYzogMX0gY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjEzIGNvbnNvbGUtbWVz
c2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1mb3JtYXR0ZWQtb2JqZWN0IHNvdXJjZS1j
b2RlID4gY29uc29sZS1vYmplY3QtcHJldmlldyA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUt
Zm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3Vy
Y2UtbGluawotT2JqZWN0IHthOiAwLCBiOiAwLCBjOiAyfSBjb25zb2xlLW9iamVjdC1wcmV2aWV3
Lmh0bWw6MTMgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNlLWNvZGUgPiBjb25zb2xlLWZvcm1h
dHRlZC1vYmplY3Qgc291cmNlLWNvZGUgPiBjb25zb2xlLW9iamVjdC1wcmV2aWV3ID4gbmFtZSA+
IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1tZXNzYWdlLXVy
bCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1NdXRhdGluZyBhcnJheSBpbiBhIGxvb3AgY29u
c29sZS1vYmplY3QtcHJldmlldy5odG1sOjE2IGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1j
b2RlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1bMCwg
MCwgMF0gY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjIwIGNvbnNvbGUtbWVzc2FnZS10ZXh0
IHNvdXJjZS1jb2RlID4gY29uc29sZS1mb3JtYXR0ZWQtYXJyYXkgc291cmNlLWNvZGUgPiBjb25z
b2xlLW9iamVjdC1wcmV2aWV3ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1m
b3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1tZXNz
YWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1bMCwgMCwgMV0gY29uc29sZS1vYmpl
Y3QtcHJldmlldy5odG1sOjIwIGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29u
c29sZS1mb3JtYXR0ZWQtYXJyYXkgc291cmNlLWNvZGUgPiBjb25zb2xlLW9iamVjdC1wcmV2aWV3
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRt
bC1yZXNvdXJjZS1saW5rCi1bMCwgMCwgMl0gY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjIw
IGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1mb3JtYXR0ZWQtYXJy
YXkgc291cmNlLWNvZGUgPiBjb25zb2xlLW9iamVjdC1wcmV2aWV3ID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1mb3JtYXR0ZWQt
bnVtYmVyID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1P
YmplY3Qgd2l0aCBtYW55IHByb3BlcnRpZXMgY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjIz
IGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1tZXNzYWdlLXVybCB3
ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1PYmplY3Qge3Byb3BlcnR5XzA6IDAsIHByb3BlcnR5
XzE6IDEsIHByb3BlcnR5XzI6IDIsIHByb3BlcnR5XzM6IDMsIHByb3BlcnR5XzQ6IDTigKZ9IGNv
bnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoyOCBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2Ut
Y29kZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW9iamVjdCBzb3VyY2UtY29kZSA+IHNlY3Rpb24gPiBo
ZWFkZXIgbW9ub3NwYWNlID4gc3VidGl0bGUgPiB0aXRsZSA+IGNvbnNvbGUtb2JqZWN0LXByZXZp
ZXcgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9y
bWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJl
ciA+IG9iamVjdC1pbmZvLXN0YXRlLW5vdGUgPiBwcm9wZXJ0aWVzIHByb3BlcnRpZXMtdHJlZSBt
b25vc3BhY2UgPiBjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsK
LUFycmF5IHdpdGggbWFueSBwcm9wZXJ0aWVzIGNvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDoz
MCBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtbWVzc2FnZS11cmwg
d2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotWzAsIDEsIHByb3BlcnR5XzA6IDAsIHByb3BlcnR5
XzE6IDEsIHByb3BlcnR5XzI6IDIsIHByb3BlcnR5XzM6IDMsIHByb3BlcnR5XzQ6IDTigKZdIGNv
bnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbDozNSBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2Ut
Y29kZSA+IGNvbnNvbGUtZm9ybWF0dGVkLWFycmF5IHNvdXJjZS1jb2RlID4gc2VjdGlvbiA+IGhl
YWRlciBtb25vc3BhY2UgPiBzdWJ0aXRsZSA+IHRpdGxlID4gY29uc29sZS1vYmplY3QtcHJldmll
dyA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+
IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0
ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9ybWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4g
b2JqZWN0LWluZm8tc3RhdGUtbm90ZSA+IHByb3BlcnRpZXMgcHJvcGVydGllcy10cmVlIG1vbm9z
cGFjZSA+IGNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluawotT2Jq
ZWN0IHdpdGggcHJvdG8gY29uc29sZS1vYmplY3QtcHJldmlldy5odG1sOjM3IGNvbnNvbGUtbWVz
c2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRtbC1y
ZXNvdXJjZS1saW5rCi1PYmplY3Qge2Q6IDEsIGE6IDAsIGI6IDAsIGM6IDJ9IGNvbnNvbGUtb2Jq
ZWN0LXByZXZpZXcuaHRtbDo0MCBjb25zb2xlLW1lc3NhZ2UtdGV4dCBzb3VyY2UtY29kZSA+IGNv
bnNvbGUtZm9ybWF0dGVkLW9iamVjdCBzb3VyY2UtY29kZSA+IGNvbnNvbGUtb2JqZWN0LXByZXZp
ZXcgPiBuYW1lID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gbmFtZSA+IGNvbnNvbGUtZm9y
bWF0dGVkLW51bWJlciA+IG5hbWUgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBuYW1lID4g
Y29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQtaHRt
bC1yZXNvdXJjZS1saW5rCi1TcGFyc2UgYXJyYXkgY29uc29sZS1vYmplY3QtcHJldmlldy5odG1s
OjQyIGNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlID4gY29uc29sZS1tZXNzYWdlLXVy
bCB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rCi1bNTA6IDUwXSBjb25zb2xlLW9iamVjdC1wcmV2
aWV3Lmh0bWw6NDUgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNlLWNvZGUgPiBjb25zb2xlLWZv
cm1hdHRlZC1hcnJheSBzb3VyY2UtY29kZSA+IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcgPiBuYW1l
ID4gY29uc29sZS1mb3JtYXR0ZWQtbnVtYmVyID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQt
aHRtbC1yZXNvdXJjZS1saW5rCi1EZW5zZSBhcnJheSB3aXRoIGluZGV4ZXMgYW5kIHByb3BldGll
cyBjb25zb2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6NDcgY29uc29sZS1tZXNzYWdlLXRleHQgc291
cmNlLWNvZGUgPiBjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsK
LVswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAx
NiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMw
LCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQs
IDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA1OCwg
NTksIDYwLCA2MSwgNjIsIDYzLCA2NCwgNjUsIDY2LCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCA3
MywgNzQsIDc1LCA3NiwgNzcsIDc4LCA3OSwgODAsIDgxLCA4MiwgODMsIDg0LCA4NSwgODYsIDg3
LCA4OCwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk54oCmXSBjb25z
b2xlLW9iamVjdC1wcmV2aWV3Lmh0bWw6NTMgY29uc29sZS1tZXNzYWdlLXRleHQgc291cmNlLWNv
ZGUgPiBjb25zb2xlLWZvcm1hdHRlZC1hcnJheSBzb3VyY2UtY29kZSA+IHNlY3Rpb24gPiBoZWFk
ZXIgbW9ub3NwYWNlID4gc3VidGl0bGUgPiB0aXRsZSA+IGNvbnNvbGUtb2JqZWN0LXByZXZpZXcg
PiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZv
cm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1h
dHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRl
ZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIg
PiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZv
cm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1h
dHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRl
ZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIg
PiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZv
cm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1h
dHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRl
ZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIg
PiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZv
cm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1h
dHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRl
ZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIg
PiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xl
LWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZv
cm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1h
dHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRl
ZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1u
dW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1i
ZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIg
PiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBj
b25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25zb2xlLWZvcm1hdHRlZC1udW1iZXIgPiBjb25z
b2xlLWZvcm1hdHRlZC1udW1iZXIgPiBvYmplY3QtaW5mby1zdGF0ZS1ub3RlID4gcHJvcGVydGll
cyBwcm9wZXJ0aWVzLXRyZWUgbW9ub3NwYWNlID4gY29uc29sZS1tZXNzYWdlLXVybCB3ZWJraXQt
aHRtbC1yZXNvdXJjZS1saW5rCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb2JqZWN0LXByZXZpZXcuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdhMmZjNWI0NDUyZjJhMzNkNDBiOGIwNTQx
ZDhkNDVkOTllNjhjNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9iamVj
dC1wcmV2aWV3Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gbG9nVG9D
b25zb2xlKCkKLXsKLSAgICBjb25zb2xlLmxvZygiTXV0YXRpbmcgb2JqZWN0IGluIGEgbG9vcCIp
OwotICAgIHZhciBvYmplY3QgPSB7IGE6IDAsIGI6IDAgfTsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDM7ICsraSkgewotICAgICAgICBvYmplY3QuYyA9IGk7Ci0gICAgICAgIGNvbnNvbGUubG9n
KG9iamVjdCk7Ci0gICAgfQotCi0gICAgY29uc29sZS5sb2coIk11dGF0aW5nIGFycmF5IGluIGEg
bG9vcCIpOwotICAgIHZhciBhcnJheSA9IFswLCAwLCAwXTsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDM7ICsraSkgewotICAgICAgICBhcnJheVsyXSA9IGk7Ci0gICAgICAgIGNvbnNvbGUubG9n
KGFycmF5KTsKLSAgICB9Ci0KLSAgICBjb25zb2xlLmxvZygiT2JqZWN0IHdpdGggbWFueSBwcm9w
ZXJ0aWVzIik7Ci0gICAgdmFyIG9iamVjdFdpdGhNYW55UHJvcGVydGllcyA9IHt9OwotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTA7ICsraSkgewotICAgICAgICBvYmplY3RXaXRoTWFueVByb3Bl
cnRpZXNbInByb3BlcnR5XyIgKyBpXSA9IGk7Ci0gICAgfQotICAgIGNvbnNvbGUubG9nKG9iamVj
dFdpdGhNYW55UHJvcGVydGllcyk7Ci0KLSAgICBjb25zb2xlLmxvZygiQXJyYXkgd2l0aCBtYW55
IHByb3BlcnRpZXMiKTsKLSAgICB2YXIgYXJyYXlXaXRoTWFueVByb3BlcnRpZXMgPSBbMCwgMV07
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgKytpKSB7Ci0gICAgICAgIGFycmF5V2l0aE1h
bnlQcm9wZXJ0aWVzWyJwcm9wZXJ0eV8iICsgaV0gPSBpOwotICAgIH0KLSAgICBjb25zb2xlLmxv
ZyhhcnJheVdpdGhNYW55UHJvcGVydGllcyk7Ci0KLSAgICBjb25zb2xlLmxvZygiT2JqZWN0IHdp
dGggcHJvdG8iKTsKLSAgICB2YXIgb2JqZWN0V2l0aFByb3RvID0geyBkOiAxIH07Ci0gICAgb2Jq
ZWN0V2l0aFByb3RvLl9fcHJvdG9fXyA9IG9iamVjdDsKLSAgICBjb25zb2xlLmxvZyhvYmplY3RX
aXRoUHJvdG8pOwotCi0gICAgY29uc29sZS5sb2coIlNwYXJzZSBhcnJheSIpOwotICAgIHZhciBz
cGFyc2VBcnJheSA9IG5ldyBBcnJheSgxNTApOwotICAgIHNwYXJzZUFycmF5WzUwXSA9IDUwOwot
ICAgIGNvbnNvbGUubG9nKHNwYXJzZUFycmF5KTsKLQotICAgIGNvbnNvbGUubG9nKCJEZW5zZSBh
cnJheSB3aXRoIGluZGV4ZXMgYW5kIHByb3BldGllcyIpOwotICAgIHZhciBkZW5zZUFycmF5ID0g
bmV3IEFycmF5KDE1MCk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNTA7ICsraSkgewotICAg
ICAgICBkZW5zZUFycmF5W2ldID0gaTsKLSAgICAgICAgZGVuc2VBcnJheVsicHJvcGVydHlfIiAr
IGldID0gaTsKLSAgICB9Ci0gICAgY29uc29sZS5sb2coZGVuc2VBcnJheSk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvZ1RvQ29u
c29sZSgpIiwgY2FsbGJhY2spOwotCi0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKGZhbHNlLCB0cnVlKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGNv
bnNvbGUgcHJvZHVjZXMgaW5zdGFudCBwcmV2aWV3cyBmb3IgYXJyYXlzIGFuZCBvYmplY3RzLgot
PC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9yaWdpbmF0aW5nLWNvbW1hbmQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vcmln
aW5hdGluZy1jb21tYW5kLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZTgzOGE4NjA3NTk0YzljNTRiNDUyZTU5ZDAyNjNmZDU4MjY1ODY0Yy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLW9yaWdpbmF0aW5nLWNvbW1hbmQtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1UZXN0cyB0aGF0IGNvbnNvbGUgcmVzdWx0
IGhhcyBvcmlnaW5hdGluZyBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCBpdC4KLQotMSArIDEKLTIK
LU9yaWdpbmF0aW5nIGZyb206IDEgKyAxCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtb3JpZ2luYXRpbmctY29tbWFuZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1vcmlnaW5hdGlu
Zy1jb21tYW5kLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0Zjg3N2ZhODc3
OGI2YTlmZjk0ZjExODdmOGM1MGFmODNmZGRjNjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS1vcmlnaW5hdGluZy1jb21tYW5kLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29u
c29sZSgiMSArIDEiLCBzdGVwMSk7Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKHRydWUpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotICAgIFRlc3RzIHRoYXQgY29uc29s
ZSByZXN1bHQgaGFzIG9yaWdpbmF0aW5nIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGl0LgotPC9w
PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXByZXNlcnZlLWxvZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXByZXNlcnZlLWxvZy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2MWQ2ODUyNTUwMTFj
MTc4YWE5YmMwMWJmMDMyNDc5ODBhYTZkOTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS1wcmVzZXJ2ZS1sb2ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi1UZXN0cyB0aGF0IHRoZSBjb25zb2xlIGNhbiBwcmVzZXJ2ZSBsb2cgbWVzc2FnZXMg
YWNyb3NzIG5hdmlnYXRpb25zLiBCdWcgNTMzNTkKLQotUGFnZSByZWxvYWRlZC4KLVBBU1MKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS1wcmVzZXJ2ZS1sb2cuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDRlZjlhMzNjODA4MmU4NmM4ODZmMTcxODM1NDI5OWE2ZGUyNzI4MmMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUu
YWRkTWVzc2FnZShXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKFdlYkluc3BlY3Rv
ci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLk90aGVyLCBXZWJJbnNwZWN0b3IuQ29uc29s
ZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkxvZywgIlBBU1MiKSk7Ci0gICAgV2ViSW5zcGVjdG9yLnNl
dHRpbmdzLnByZXNlcnZlQ29uc29sZUxvZy5zZXQodHJ1ZSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5y
ZWxvYWRQYWdlKGZ1bmN0aW9uKCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xl
TWVzc2FnZXMoKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnByZXNlcnZlQ29uc29s
ZUxvZy5zZXQoZmFsc2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwot
ICAgIH0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD4KLVRlc3RzIHRoYXQgdGhlIGNvbnNvbGUgY2FuIHByZXNlcnZlIGxvZyBtZXNzYWdlcyBh
Y3Jvc3MgbmF2aWdhdGlvbnMuCi08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTMzNTkiPkJ1ZyA1MzM1OTwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtcmVwZWF0LWNvdW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtcmVwZWF0LWNvdW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGNjYTA2Yjk4NDEzYzA2ZDcxNzBmYWQ3MGIyMDRkMDdhYTc4
ZTY4NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXJlcGVhdC1jb3VudC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBTYW1l
IG1lc3NhZ2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBTYW1lIG1lc3NhZ2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNzYWdlCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwOiBTYW1lIG1lc3NhZ2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogU2FtZSBtZXNz
YWdlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFNhbWUgbWVzc2FnZQotVGVzdHMgdGhhdCBy
ZXBlYXQgY291bnQgaXMgcHJvcGVybHkgdXBkYXRlZC4KLQotNVNhbWUgbWVzc2FnZSBjb25zb2xl
LXJlcGVhdC1jb3VudC5odG1sOjEwCi0iRGlmZmVyZW50IG1lc3NhZ2UiCi0iRGlmZmVyZW50IG1l
c3NhZ2UiCi01U2FtZSBtZXNzYWdlIGNvbnNvbGUtcmVwZWF0LWNvdW50Lmh0bWw6MTAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1y
ZXBlYXQtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtcmVwZWF0LWNvdW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDU3MDJlMThlOTdkM2M2NjdiODYyZDQ3N2VlODhiNjc1YTg2MDUxOWYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1yZXBlYXQtY291bnQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDQwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotCi1mdW5jdGlvbiBkdW1wTWVzc2FnZXMoKQotewotICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgNTsgKytpKQotICAgICAgICBjb25zb2xlLmxvZygiU2FtZSBtZXNzYWdlIik7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1
bXBNZXNzYWdlcygpIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiXCJEaWZmZXJlbnQgbWVzc2Fn
ZVwiIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBNZXNzYWdlcygpIiwgc3RlcDMp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHJlcGVhdCBjb3VudCBpcyBwcm9wZXJseSB1cGRh
dGVkLgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1zdHJpbmctZm9ybWF0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtc3RyaW5n
LWZvcm1hdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZDUw
ZTY2MzllMTU2OGQ2ZmRiMTRlZmQxYjM0MDE2MTkyMmRiOWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvY29uc29sZS1zdHJpbmctZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDExICswLDAgQEAKLVRlc3RzIHRoYXQgZm9ybWF0dGluZyBwcm9jZXNzZXMgJyUnIHBy
b3Blcmx5IGluIGNhc2Ugb2YgbWlzc2luZyBmb3JtYXR0ZXJzLgotCi1TdHJpbmcuc3ByaW50Zigl
VCwgMSkgPSAiJVQiCi1TdHJpbmcuc3ByaW50ZigxMCUgeCAyMCUsIG9mIHRoZSBvcmlnaW5hbCkg
PSAiMTAlIHggMjAlIgotU3RyaW5nLnNwcmludGYoJSUsICkgPSAiJSUiCi1TdHJpbmcuc3ByaW50
ZiglLCApID0gIiUiCi1TdHJpbmcuc3ByaW50ZiglICVkLCAxKSA9ICIlIDEiCi1TdHJpbmcuc3By
aW50ZiglZCAlICVzLCAxLCBmb28pID0gIjEgJSBmb28iCi1TdHJpbmcuc3ByaW50ZiglLjJmLCAw
LjEyMzQ1KSA9ICIwLjEyIgotU3RyaW5nLnNwcmludGYoZm9vJTU1NSBiYXIsICkgPSAiZm9vJTU1
NSBiYXIiCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25z
b2xlL2NvbnNvbGUtc3RyaW5nLWZvcm1hdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS1zdHJpbmctZm9ybWF0Lmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQ4OWQ3YmI2ZDMyMDYyOTYzNjFmOWNjMTRiMmY4MzA2MjA0M2NhZDQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1zdHJpbmctZm9ybWF0Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBwYXJh
bXMgPSBbCi0gICAgICAgIFsiJVQiLCAxXSwKLSAgICAgICAgWyIxMCUgeCAyMCUiLCAib2YgdGhl
IG9yaWdpbmFsIl0sCi0gICAgICAgIFsiJSUiLCAiIl0sCi0gICAgICAgIFsiJSIsICIiXSwKLSAg
ICAgICAgWyIlICVkIiwgMV0sCi0gICAgICAgIFsiJWQgJSAlcyIsIDEsICJmb28iXSwKLSAgICAg
ICAgWyIlLjJmIiwgMC4xMjM0NV0sCi0gICAgICAgIFsiZm9vJTU1NSBiYXIiLCAiIl0sCi0gICAg
XTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7ICsraSkKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0cmluZy5zcHJpbnRmKCIgKyBwYXJhbXNbaV0uam9p
bigiLCAiKSArICIpID0gXCIiICsgU3RyaW5nLnNwcmludGYuYXBwbHkoU3RyaW5nLCBwYXJhbXNb
aV0pICsgIlwiIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRo
YXQgZm9ybWF0dGluZyBwcm9jZXNzZXMgJyUnIHByb3Blcmx5IGluIGNhc2Ugb2YgbWlzc2luZyBm
b3JtYXR0ZXJzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUt
c3Vic3RpdHV0ZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
YTU0MDkyZGY5YjMwMTk0Yjg1NWEzZTI0MTk2MzIwMWYyYjMxOWUwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9jb25zb2xlL2NvbnNvbGUtc3Vic3RpdHV0ZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0cyB0aGF0IGV2YWx1YXRlIGluIGNvbnNvbGUgd29ya3Mg
ZXZlbiBpZiB3aW5kb3cuY29uc29sZSBpcyBzdWJzdGl0dXRlZCBvciBkZWxldGVkLiBCdWcgNTMw
NzIKLQotMQotMgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXN1YnN0aXR1dGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDFmMDkyYzllNzJhMWNlNzcxMmUxY2Y2ZWZhNDg0MTRhZmVhMzBkZjMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS1zdWJzdGl0dXRlZC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBkZWxldGVDb25zb2xlKCkKLXsKLSAgICB3aW5kb3cuY29u
c29sZSA9IHVuZGVmaW5lZDsKLX0KLQotZnVuY3Rpb24gc3Vic3RpdHV0ZUNvbnNvbGUoKQotewot
ICAgIHdpbmRvdy5jb25zb2xlID0gewotICAgICAgICBnZXQgX2NvbW1hbmRMaW5lQVBJKCkgeyBy
ZXR1cm4gdW5kZWZpbmVkOyB9LAotICAgICAgICBzZXQgX2NvbW1hbmRMaW5lQVBJKCkge30KLSAg
ICB9OwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5Db25zb2xlKCJkZWxldGVDb25zb2xlKCkiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlv
biBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xl
KCIxIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKHJlc3VsdCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInN1YnN0aXR1dGVDb25zb2xlKCkiLCBzdGVwMyk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMocmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiMiIsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwNChyZXN1bHQpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChyZXN1bHQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
IH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPgotVGVzdHMgdGhhdCBldmFsdWF0ZSBpbiBjb25zb2xlIHdvcmtzIGV2ZW4gaWYgd2luZG93
LmNvbnNvbGUgaXMgc3Vic3RpdHV0ZWQgb3IgZGVsZXRlZC4KLTxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzA3MiI+QnVnIDUzMDcyPC9hPgotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9jb25zb2xlLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzUxMWI2YTk4MjQzNmQyMDk0YWQ4ZjNlOTM4ZGRj
MjMzMjA3NDU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDk6IGxvZwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBkZWJ1ZwotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDExOiBpbmZvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHdhcm4KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMzogZXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTog
cmVwZWF0ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogcmVwZWF0ZWQKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNTogcmVwZWF0ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogcmVwZWF0
ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogcmVwZWF0ZWQKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAyMDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBbb2JqZWN0IE9iamVjdF0KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAyMzogNDIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNDogdHJ1
ZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI1OiBudWxsCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjY6IHVuZGVmaW5lZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBbb2JqZWN0IEhUTUxEb2N1
bWVudF0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyODogZnVuY3Rpb24gKCkgeyB9Ci1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMjk6IGZ1bmN0aW9uIGYoKSB7IH0KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzMDogMSwyLDMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogL3JlZ2V4cC4qLwotVGVzdHMg
dGhhdCBjb25zb2xlIGxvZ2dpbmcgZHVtcHMgcHJvcGVyIG1lc3NhZ2VzLgotCi1sb2cgY29uc29s
ZS10ZXN0cy5odG1sOjkgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi1kZWJ1ZyBj
b25zb2xlLXRlc3RzLmh0bWw6MTAgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtZGVidWctbGV2ZWwK
LWluZm8gY29uc29sZS10ZXN0cy5odG1sOjExIGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1s
ZXZlbAotd2FybiBjb25zb2xlLXRlc3RzLmh0bWw6MTIgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUt
d2FybmluZy1sZXZlbAotZXJyb3IgY29uc29sZS10ZXN0cy5odG1sOjEzIGNvbnNvbGUtbWVzc2Fn
ZSBjb25zb2xlLWVycm9yLWxldmVsCi01cmVwZWF0ZWQgY29uc29sZS10ZXN0cy5odG1sOjE1IGNv
bnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZlbCByZXBlYXRlZC1tZXNzYWdlCi1jb3VudDog
MSBjb25zb2xlLXRlc3RzLmh0bWw6MTcgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtZGVidWctbGV2
ZWwKLWNvdW50OiAyIGNvbnNvbGUtdGVzdHMuaHRtbDoxNyBjb25zb2xlLW1lc3NhZ2UgY29uc29s
ZS1kZWJ1Zy1sZXZlbAotZ3JvdXAgY29uc29sZS10ZXN0cy5odG1sOjE4IGNvbnNvbGUtbWVzc2Fn
ZSBjb25zb2xlLWxvZy1sZXZlbCBjb25zb2xlLWdyb3VwLXRpdGxlCi0gY29uc29sZS1tZXNzYWdl
IGNvbnNvbGUtbG9nLWxldmVsCi0xIDIgMyBjb25zb2xlLXRlc3RzLmh0bWw6MjAgY29uc29sZS1t
ZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi1ncm91cENvbGxhcHNlZCBjb25zb2xlLXRlc3RzLmh0
bWw6MjEgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsIGNvbnNvbGUtZ3JvdXAtdGl0
bGUKLU9iamVjdCBjb25zb2xlLXRlc3RzLmh0bWw6MjIgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUt
bG9nLWxldmVsCi00MiBjb25zb2xlLXRlc3RzLmh0bWw6MjMgY29uc29sZS1tZXNzYWdlIGNvbnNv
bGUtbG9nLWxldmVsCi10cnVlIGNvbnNvbGUtdGVzdHMuaHRtbDoyNCBjb25zb2xlLW1lc3NhZ2Ug
Y29uc29sZS1sb2ctbGV2ZWwKLW51bGwgY29uc29sZS10ZXN0cy5odG1sOjI1IGNvbnNvbGUtbWVz
c2FnZSBjb25zb2xlLWxvZy1sZXZlbAotdW5kZWZpbmVkIGNvbnNvbGUtdGVzdHMuaHRtbDoyNiBj
b25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLSNkb2N1bWVudCBjb25zb2xlLXRlc3Rz
Lmh0bWw6MjcgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi1mdW5jdGlvbiAoKSB7
IH0gY29uc29sZS10ZXN0cy5odG1sOjI4IGNvbnNvbGUtbWVzc2FnZSBjb25zb2xlLWxvZy1sZXZl
bAotZnVuY3Rpb24gZigpIHsgfSBjb25zb2xlLXRlc3RzLmh0bWw6MjkgY29uc29sZS1tZXNzYWdl
IGNvbnNvbGUtbG9nLWxldmVsCi1BcnJheVszXSBjb25zb2xlLXRlc3RzLmh0bWw6MzAgY29uc29s
ZS1tZXNzYWdlIGNvbnNvbGUtbG9nLWxldmVsCi0vcmVnZXhwLiovIGNvbnNvbGUtdGVzdHMuaHRt
bDozMSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1sb2ctbGV2ZWwKLSBjb25zb2xlLW1lc3NhZ2Ug
Y29uc29sZS1sb2ctbGV2ZWwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10ZXN0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiMzkxMDJiMDAzYTYwYWE0NDNhYTc1OThlZjM4YTk3ODY2ODQ3MWQyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdGVzdHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDUxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAgIGNvbnNvbGUubG9nKCdsb2cn
KTsKLSAgICBjb25zb2xlLmRlYnVnKCdkZWJ1ZycpOwotICAgIGNvbnNvbGUuaW5mbygnaW5mbycp
OwotICAgIGNvbnNvbGUud2Fybignd2FybicpOwotICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yJyk7
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCA1OyArK2kpCi0gICAgICAgIGNvbnNvbGUubG9nKCdy
ZXBlYXRlZCcpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjsgKytpKQotICAgICAgICBjb25z
b2xlLmNvdW50KCdjb3VudCcpOwotICAgIGNvbnNvbGUuZ3JvdXAoJ2dyb3VwJyk7Ci0gICAgY29u
c29sZS5ncm91cEVuZCgpOwotICAgIGNvbnNvbGUubG9nKCcxJywgJzInLCAnMycpOwotICAgIGNv
bnNvbGUuZ3JvdXBDb2xsYXBzZWQoJ2dyb3VwQ29sbGFwc2VkJyk7Ci0gICAgY29uc29sZS5sb2co
eyBwcm9wZXJ0eTogInZhbHVlIiB9KTsKLSAgICBjb25zb2xlLmxvZyg0Mik7Ci0gICAgY29uc29s
ZS5sb2codHJ1ZSk7Ci0gICAgY29uc29sZS5sb2cobnVsbCk7Ci0gICAgY29uc29sZS5sb2codW5k
ZWZpbmVkKTsKLSAgICBjb25zb2xlLmxvZyhkb2N1bWVudCk7Ci0gICAgY29uc29sZS5sb2coZnVu
Y3Rpb24oKSB7IH0pOwotICAgIGNvbnNvbGUubG9nKGZ1bmN0aW9uIGYoKSB7IH0pOwotICAgIGNv
bnNvbGUubG9nKFsxLCAyLCAzXSk7Ci0gICAgY29uc29sZS5sb2coL3JlZ2V4cC4qLyk7Ci0gICAg
Y29uc29sZS5ncm91cEVuZCgpOwotCi0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoQ2xhc3Nlcygp
OwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci08cD4KLVRlc3RzIHRoYXQgY29uc29sZSBs
b2dnaW5nIGR1bXBzIHByb3BlciBtZXNzYWdlcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS10cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29u
c29sZS9jb25zb2xlLXRyYWNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTE5MGY2Mzc1MDY0MzY0ZjNmZDFiMzM5ZDI2MzI5YWMwYjdlYmVhNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXRyYWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotVGVzdHMgdGhhdCBjb25zb2xlLnRyYWNlIGR1bXBzIHN0YWNr
IHRyYWNlIHdpdGggc291cmNlIFVSTHMgYW5kIGxpbmUgbnVtYmVycy4KLQotY29uc29sZS50cmFj
ZSgpIGNvbnNvbGUtdHJhY2UuaHRtbDo5YiBjb25zb2xlLXRyYWNlLmh0bWw6OWEgY29uc29sZS10
cmFjZS5odG1sOjE0Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtdHJhY2UtaW4tZXZhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXRyYWNlLWluLWV2YWwtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZWU2NWUyYzZmZGQ1OTI4NWU3
NWVjM2Q5M2MzOTQxYjI0Y2I2YmFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNv
bGUtdHJhY2UtaW4tZXZhbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLVRlc3RzIHRoYXQgd2hlbiBjb25zb2xlLnRyYWNlIGlzIGNhbGxlZCBpbiBldmFsJ2VkIHNj
cmlwdCBlbmRpbmcgd2l0aCAvL0Agc291cmNlVVJMPXVybCBpdCB3aWxsIGR1bXAgYSBzdGFjayB0
cmFjZSB0aGF0IHdpbGwgaGF2ZSB0aGUgdXJsIGFzIHRoZSBzY3JpcHQgc291cmNlLiBCdWcgNDcy
NTIuCi0KLWNvbnNvbGUudHJhY2UoKWJhZXZhbFNvdXJjZQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXRyYWNlLWluLWV2YWwuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdHJhY2Ut
aW4tZXZhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGNlOWUxOTI4ZDk2
NDNiZDU5NzA4NmQyZDUxY2ExYTA1NTZjMWYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtdHJhY2UtaW4tZXZhbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLQot
ZnVuY3Rpb24gZXZhbFNvdXJjZSgpCi17Ci0gICAgZnVuY3Rpb24gYigpCi0gICAgewotICAgICAg
ICBjb25zb2xlLnRyYWNlKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYSgpCi0gICAgewotICAg
ICAgICBiKCk7Ci0gICAgfQotCi0gICAgYSgpOwotfQotCi1mdW5jdGlvbiBkb0V2YWxTb3VyY2Uo
KQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV2YWwoIigiICsgZXZh
bFNvdXJjZSArICIpKCkvL0Agc291cmNlVVJMPWV2YWxVUkwuanMiKTsKLSAgICB9LCAwKTsKLX0K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImRvRXZhbFNvdXJjZSgpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xl
U25pZmZlcihjYWxsYmFjayk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgd2hlbiBjb25zb2xlLnRyYWNlIGlzIGNh
bGxlZCBpbiBldmFsJ2VkIHNjcmlwdCBlbmRpbmcKLXdpdGggLy9AIHNvdXJjZVVSTD11cmwgaXQg
d2lsbCBkdW1wIGEgc3RhY2sgdHJhY2UgdGhhdCB3aWxsIGhhdmUKLXRoZSB1cmwgYXMgdGhlIHNj
cmlwdCBzb3VyY2UuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NzI1MiI+QnVnIDQ3MjUyLjwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS10
cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29s
ZS10cmFjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWJmMjUzZDBiMDJj
ZDYzYTVhNWVhNmQ1NGZiYTUwY2M0MzM3ZTlkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L2NvbnNvbGUtdHJhY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBi
KCkKLXsKLSAgICBjb25zb2xlLnRyYWNlKCk7Ci19Ci0KLWZ1bmN0aW9uIGEoKQotewotICAgIGIo
KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQoYSwgMCkiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFk
ZENvbnNvbGVTbmlmZmVyKGNhbGxiYWNrKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb25zb2xlLnRyYWNlIGR1
bXBzIHN0YWNrIHRyYWNlIHdpdGggc291cmNlIFVSTHMgYW5kIGxpbmUgbnVtYmVycy4KLTwvcD4K
LQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTJj
ZmU2ZGVkYTMxNzM1MWYwNjY2ZDRlYzZmOGM5NWI3ODVmOTUwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9jb25zb2xlL2NvbnNvbGUtdW5jYXVnaHQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDEwICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxODogRXJyb3I6
IEV4Y2VwdGlvbiBpbiBpbmxpbmUgc2NyaXB0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBF
cnJvcjogRXhjZXB0aW9uIGluICdsb2FkJyBldmVudCBsaXN0ZW5lci4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA2OiBFcnJvcjogRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suCi1UZXN0
cyB0aGF0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgYXJlIGxvZ2dlZCBpbnRvIGNvbnNvbGUuQnVnIDQ3
MjUwLgotCi0KLUVycm9yOiBFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4gcmVzb3VyY2VzL3Vu
Y2F1Z2h0LWluLWlmcmFtZS5odG1sOjE4YSByZXNvdXJjZXMvdW5jYXVnaHQtaW4taWZyYW1lLmh0
bWw6MThiIHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbDoyMwotRXJyb3I6IEV4Y2Vw
dGlvbiBpbiAnbG9hZCcgZXZlbnQgbGlzdGVuZXIuIHJlc291cmNlcy91bmNhdWdodC1pbi1pZnJh
bWUuaHRtbDoxMWYgcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjExKGFub255bW91
cyBmdW5jdGlvbikgcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sOjEzCi1FcnJvcjog
RXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suIHVuY2F1Z2h0LWluLWlmcmFtZS5odG1s
OjZiYXIgdW5jYXVnaHQtaW4taWZyYW1lLmh0bWw6Nihhbm9ueW1vdXMgZnVuY3Rpb24pIHVuY2F1
Z2h0LWluLWlmcmFtZS5odG1sOjgKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24taW4tZXZhbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzM4ZTYzZWJjNGVjMmY4YmZkN2M2MjRjODM4NmIwYjk0NThlYzQxZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1p
bi1ldmFsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDQ6IEVycm9yOiBFeGNlcHRpb24gaW4gZXZhbC4KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSA0OiBFcnJvcjogRXhjZXB0aW9uIGluIGV2YWwuCi1UZXN0cyB0aGF0IHdoZW4g
dW5jYXVnaHQgZXhjZXB0aW9uIGluIGV2YWwnZWQgc2NyaXB0IGVuZGluZyB3aXRoIC8vQCBzb3Vy
Y2VVUkw9dXJsIGlzIGxvZ2dlZCBpbnRvIGNvbnNvbGUsIGl0cyBzdGFjayB0cmFjZSB3aWxsIGhh
dmUgdGhlIHVybCBhcyB0aGUgc2NyaXB0IHNvdXJjZS4gQnVnIDQ3MjUyLgotCi1QYWdlIHJlbG9h
ZGVkLgotRXJyb3I6IEV4Y2VwdGlvbiBpbiBldmFsLiB1bmRlZmluZWQ6NGIgdW5kZWZpbmVkOjRh
ZXZhbFNvdXJjZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi1ldmFsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlv
bi1pbi1ldmFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYzAwYmJhZjA2
MTY4NDcyOTE5ZDI5M2VmNjIxYmIzMDcxYjZlYjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNv
bGUvY29uc29sZS11bmNhdWdodC1leGNlcHRpb24taW4tZXZhbC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucmVsb2Fk
UGFnZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVz
c2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0
aW9uIGV2YWxTb3VyY2UoKQotewotICAgIGZ1bmN0aW9uIGIoKQotICAgIHsKLSAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gZXZhbC4iKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBhKCkKLSAgICB7Ci0gICAgICAgIGIoKTsKLSAgICB9Ci0KLSAgICBhKCk7Ci19Ci0KLWV2YWwo
IigiICsgZXZhbFNvdXJjZSArICIpKCkvL0Agc291cmNlVVJMPWV2YWxVUkwuanMiKTsKLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhhdCB3aGVuIHVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBldmFsJ2VkIHNjcmlwdCBlbmRpbmcKLXdp
dGggLy9AIHNvdXJjZVVSTD11cmwgaXMgbG9nZ2VkIGludG8gY29uc29sZSwgaXRzIHN0YWNrIHRy
YWNlCi13aWxsIGhhdmUgdGhlIHVybCBhcyB0aGUgc2NyaXB0IHNvdXJjZS4gPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MjUyIj5CdWcgNDcyNTIuPC9h
PgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11bmNhdWdodC1l
eGNlcHRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBlYjk4MjQ2NWI2
NmNkYTMzZWQzZDdlZDI4NWM2NmMxOWU3ZjE5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29s
ZS9jb25zb2xlLXVuY2F1Z2h0LWV4Y2VwdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzcg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZm
ZXIoYWRkTWVzc2FnZSwgdHJ1ZSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
bG9hZElmcmFtZSgpIik7Ci0gICAgZnVuY3Rpb24gYWRkTWVzc2FnZShtZXNzYWdlKQotICAgIHsK
LSAgICAgICAgaWYgKG1lc3NhZ2UudG9TdHJpbmcoKS5pbmRleE9mKCJzZXRUaW1lb3V0IikgIT09
IC0xKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQot
fQotCi1mdW5jdGlvbiBsb2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvdW5j
YXVnaHQtaW4taWZyYW1lLmh0bWwiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZy
YW1lKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPgotVGVzdHMgdGhhdCB1bmNhdWdodCBleGNlcHRpb25zIGFyZSBsb2dnZWQgaW50byBj
b25zb2xlLjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzI1MCI+QnVnIDQ3MjUwLjwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS11cmwtbGlu
ZS1jb2x1bW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvY29uc29sZS11cmwtbGluZS1jb2x1bW4tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3MTMzYjI1M2I4MGJmZTc0M2YwOTRmOWJlNzNiNDc3YTBkNGM4Njc1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdXJsLWxpbmUtY29sdW1uLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA5OiBvbmUKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogdHdvCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTE6IHRocmVlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IGVycm9yCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IGxvZwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBp
bmZvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IHdhcm4KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNjogYXNzZXJ0Ci1UZXN0cyB0aGF0IHVybCwgbGluZSwgYW5kIGNvbHVtbiBwcm9wZXJ0aWVz
IGFyZSBkZWZpbmVkIGZvciBjb25zb2xlIGZ1bmN0aW9ucy4KLQotTWVzc2FnZSBhdCBsb2NhdGlv
bjogY29uc29sZS11cmwtbGluZS1jb2x1bW4uaHRtbDo5OjE2Ci1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjEwOjE2Ci1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjExOjE2Ci1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjE0OjE4Ci1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjE0OjQwCi1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjE1OjE3Ci1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjE1OjM5Ci1NZXNzYWdlIGF0IGxvY2F0aW9u
OiBjb25zb2xlLXVybC1saW5lLWNvbHVtbi5odG1sOjE2OjE5Ci0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUtdXJsLWxpbmUtY29sdW1u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXVy
bC1saW5lLWNvbHVtbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MGNjZjY0
Njg4MzcxODUxNmRhN2E2M2MxNzI1MDNiMTc2MTY1N2JkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUtdXJsLWxpbmUtY29sdW1uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gbG9nKCkgewotICAgIC8vIEZpbGwgY29uc29sZS4KLSAgICBjb25zb2xl
LmxvZygib25lIik7Ci0gICAgY29uc29sZS5sb2coInR3byIpOwotICAgIGNvbnNvbGUubG9nKCJ0
aHJlZSIpOwotCi0gICAgLy8gRGlmZmVyZW50IHR5cGVzIGFuZCBkaWZmZXJlbnQgY29sdW1ucy4K
LSAgICBjb25zb2xlLmVycm9yKCJlcnJvciIpOyBjb25zb2xlLmxvZygibG9nIik7Ci0gICAgY29u
c29sZS5pbmZvKCJpbmZvIik7IGNvbnNvbGUud2Fybigid2FybiIpOwotICAgIGNvbnNvbGUuYXNz
ZXJ0KGZhbHNlLCAiYXNzZXJ0Iik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuQ29uc29sZURpc3BhdGNoZXIucHJvdG90
eXBlLCAibWVzc2FnZUFkZGVkIiwgbWVzc2FnZUFkZGVkLCB0cnVlKTsKLQotICAgIGZ1bmN0aW9u
IG1lc3NhZ2VBZGRlZChwYXlsb2FkKQotICAgIHsKLSAgICAgICAgdmFyIHVybCA9IHBheWxvYWQu
dXJsOwotICAgICAgICB2YXIgbGFzdFNsYXNoSW5kZXggPSB1cmwubGFzdEluZGV4T2YoIi8iKTsK
LSAgICAgICAgdXJsID0gdXJsLnN1YnN0cmluZyhsYXN0U2xhc2hJbmRleCArIDEpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWVzc2FnZSBhdCBsb2NhdGlvbjogIiArIHVybCAr
ICI6IiArIHBheWxvYWQubGluZSArICI6IiArIHBheWxvYWQuY29sdW1uKTsKLSAgICAgICAgaWYg
KHBheWxvYWQubGluZSA9PT0gMTYpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvZygp
Iik7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Ci08cD4KLVRlc3RzIHRoYXQgdXJsLCBsaW5lLCBhbmQgY29sdW1uIHByb3BlcnRpZXMgYXJlIGRl
ZmluZWQgZm9yIGNvbnNvbGUgZnVuY3Rpb25zLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LXhtbC1kb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvY29uc29sZS9jb25zb2xlLXhtbC1kb2N1bWVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDlkN2EyZjViNzU3ZWJlYjcyMjVmOWEyMjZjYTNkYzMzNTA0ZTVh
YmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14bWwtZG9jdW1lbnQtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgOTogW29iamVjdCBEb2N1bWVudF0KLVRlc3RzIHRoYXQgWE1MIGRvY3VtZW50IGNvbnRl
bnRzIGFyZSBsb2dnZWQgdXNpbmcgdGhlIGNvcnJlY3QgY2FzZSBpbiB0aGUgY29uc29sZS4KLQot
I2RvY3VtZW50PE1peGVkQ2FzZT4gVGVzdCA8L01peGVkQ2FzZT4gY29uc29sZS14bWwtZG9jdW1l
bnQuaHRtbDo5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUteG1sLWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXhtbC1kb2N1bWVudC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzMTVmYWM5NjY5NTI3ODViOGM1ZmY3OTFhOTUxMmUzZDZiMDg4YTU5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2NvbnNvbGUteG1sLWRvY3VtZW50Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBjb25z
b2xlLmRpcnhtbCgobmV3IERPTVBhcnNlcigpKS5wYXJzZUZyb21TdHJpbmcoIjxNaXhlZENhc2U+
IFRlc3QgPC9NaXhlZENhc2U+IiwgInRleHQveG1sIikpOwotICAgIHJ1blRlc3QoKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVzc2Fn
ZXMoKTsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoY2FsbGJh
Y2spOwotCi0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0i
b25sb2FkKCkiPgotPHA+Ci1UZXN0cyB0aGF0IFhNTCBkb2N1bWVudCBjb250ZW50cyBhcmUgbG9n
Z2VkIHVzaW5nIHRoZSBjb3JyZWN0IGNhc2UgaW4gdGhlIGNvbnNvbGUuCi08L3A+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9j
b25zb2xlL2NvbnNvbGUteHBhdGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14cGF0aC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDk3NmU3OTEwMjczMjgzOWVmZGI3YjcxM2VmZmVjMjNjNzgwZDQ4
M2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvY29uc29sZS14cGF0aC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTogY29tcGxldGUKLVRlc3RzICR4IGZvciBpdGVyYXRvciBhbmQgbm9uLWl0ZXJhdG9yIHR5cGVz
LgotCi0keCgnNDInKQotJHgoJ25hbWUoL2h0bWwpJykKLSR4KCdub3QoNDIpJykKLSR4KCcvaHRt
bC9ib2R5L3AnKS5sZW5ndGgKLTQyCi0iaHRtbCIKLWZhbHNlCi0xCi1jb21wbGV0ZQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xlLXhw
YXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9jb25zb2xl
LXhwYXRoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxNzg4ZWUwYzhiZmYz
NjU0Y2Y0ODdiZWY3NGYwMzBlYzc0NjUzNzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUv
Y29uc29sZS14cGF0aC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoYWRkTWVzc2FnZVNu
aWZmZXIsIHRydWUpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiJHgo
JzQyJykiKTsgLy8gbnVtYmVyCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgi
JHgoJ25hbWUoL2h0bWwpJykiKTsgLy8gc3RyaW5nCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgiJHgoJ25vdCg0MiknKSIpOyAvLyBib29sZWFuCi0gICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluQ29uc29sZSgiJHgoJy9odG1sL2JvZHkvcCcpLmxlbmd0aCIpOyAvLyBub2Rl
IGl0ZXJhdG9yCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY29uc29sZS5sb2co
J2NvbXBsZXRlJykiKTsgLy8gbm9kZSBpdGVyYXRvcgotCi0gICAgZnVuY3Rpb24gYWRkTWVzc2Fn
ZVNuaWZmZXIobWVzc2FnZSkKLSAgICB7Ci0gICAgICAgIGlmIChtZXNzYWdlLnRvU3RyaW5nKCku
aW5kZXhPZigiY29tcGxldGUiKSAhPT0gLTEpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgJHggZm9yIGl0ZXJhdG9yIGFuZCBu
b24taXRlcmF0b3IgdHlwZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2luc3BlY3QtaHRtbC1hbGwt
Y29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
Y29uc29sZS9pbnNwZWN0LWh0bWwtYWxsLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTg3MjdkYzYwYTkyZTA4ZTk2ZTQxYTU1YmY3NTdhYmNh
MmFhODBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2luc3BlY3QtaHRtbC1hbGwtY29s
bGVjdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRlc3Rz
IHRoYXQgSFRNTEFsbENvbGxlY3Rpb24gcHJvcGVydGllcyBjYW4gYmUgaW5zcGVjdGVkLgotCi1Q
QVNTRUQ6IHJldHJpZXZlZCBsZW5ndGggb2YgZG9jdW1lbnQuYWxsCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xlL2luc3BlY3QtaHRtbC1hbGwtY29s
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvaW5z
cGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDY5ZTRhNGVjYzhjOTAwNDVjZGFlNjE0YWY5Y2ExOGQ5MTQwMDg3MjkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvaW5zcGVjdC1odG1sLWFsbC1jb2xsZWN0aW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgi
ZG9jdW1lbnQuYWxsIiwgImNvbnNvbGUiLCBmYWxzZSwgZGlkR2V0SFRNTEFsbENvbGxlY3Rpb24u
YmluZCh0aGlzKSk7Ci0gICAgZnVuY3Rpb24gZGlkR2V0SFRNTEFsbENvbGxlY3Rpb24oZXJyb3Is
IHJlc3VsdCwgd2FzVGhyb3duKQotICAgIHsKLSAgICAgICAgaWYgKGVycm9yIHx8IHdhc1Rocm93
bikgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogIiArIGVy
cm9yKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgdmFyIGh0bWxBbGxDb2xsZWN0aW9uID0g
V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpOwotICAgICAgICBo
dG1sQWxsQ29sbGVjdGlvbi5jYWxsRnVuY3Rpb25KU09OKCJmdW5jdGlvbihjb2xsZWN0aW9uKSB7
IHJldHVybiB0aGlzLmxlbmd0aCArIGNvbGxlY3Rpb24ubGVuZ3RoOyB9IiwgW3tvYmplY3RJZDog
aHRtbEFsbENvbGxlY3Rpb24ub2JqZWN0SWR9XSwgZGlkR2V0TGVuZ3RoLmJpbmQodGhpcykpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGRpZEdldExlbmd0aChsZW4pCi0gICAgewotICAgICAgICBp
ZiAoIWxlbiB8fCB0eXBlb2YgbGVuICE9PSAibnVtYmVyIikKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJGQUlMRUQ6IHVuZXhwZWN0ZWQgZG9jdW1lbnQuYWxsLmxlbmd0aDog
IiArIGxlbik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJQQVNTRUQ6IHJldHJpZXZlZCBsZW5ndGggb2YgZG9jdW1lbnQuYWxsIik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwv
aGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IEhUTUxB
bGxDb2xsZWN0aW9uIHByb3BlcnRpZXMgY2FuIGJlIGluc3BlY3RlZC4KLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Nv
bnNvbGUvcmVzb3VyY2VzL2xvZy1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvY29uc29sZS9yZXNvdXJjZXMvbG9nLXNvdXJjZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmRhYjE3NzNiOGFhYjk0ZjlkYjM4NGIzMGM4MmI4NDVkZjg5YzJmNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9yZXNvdXJjZXMvbG9nLXNvdXJjZS5qcworKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotZnVuY3Rpb24gbG9nMigpCi17Ci0gICAgY29uc29sZS5s
b2cuYXBwbHkoY29uc29sZSwgYXJndW1lbnRzKTsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvY29uc29sZS9y
ZXNvdXJjZXMvc3ludGF4LWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2NvbnNvbGUvcmVzb3VyY2VzL3N5bnRheC1lcnJvci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYmVhOGNkMTc3YWZmOWQxZWMyYjlkMWIyMWFjZTljNDVlMjNhZTdkZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvY29uc29sZS9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmpzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2NvbnNvbGUvcmVzb3VyY2VzL3VuY2F1Z2h0LWluLWlmcmFtZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2NvbnNvbGUvcmVzb3VyY2VzL3VuY2F1Z2h0LWlu
LWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDgzNmMxYjU4MjUx
MmExYzE0MDE3ZmY0MzE1N2JmZjc3MTZlMTMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9jb25zb2xl
L3Jlc291cmNlcy91bmNhdWdodC1pbi1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI3
ICswLDAgQEAKLTxzY3JpcHQ+Ci13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0
aW9uKGUpIHsKLSAgICBmdW5jdGlvbiBmKCkgewotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgZnVuY3Rpb24gYmFyKCkgewotICAgICAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiRXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJhY2suIik7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBiYXIoKTsKLSAgICAgICAgfSwgMCk7Ci0KLSAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJFeGNlcHRpb24gaW4gJ2xvYWQnIGV2ZW50IGxpc3RlbmVyLiIpCi0gICAg
fQotICAgIGYoKTsKLX0sIGZhbHNlKTsKLQotZnVuY3Rpb24gYSgpCi17Ci0gICAgdGhyb3cgbmV3
IEVycm9yKCJFeGNlcHRpb24gaW4gaW5saW5lIHNjcmlwdC4iKQotfQotCi1mdW5jdGlvbiBiKCkK
LXsKLSAgICBhKCk7Ci19Ci0KLWIoKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvYnJlYWtwb2lu
dC1tYW5hZ2VyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDk2
Zjg0NjAzMzBmNzQyZDI0ZjJiNzFlZmRmZTQ2ODRmY2IyZWJlMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvYnJlYWtwb2ludC1tYW5hZ2VyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDI4NiArMCwwIEBACi1UZXN0cyBCcmVha3BvaW50TWFuYWdlciBjbGFzcy4KLQotCi1S
dW5uaW5nOiB0ZXN0U2V0QnJlYWtwb2ludAotICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIK
LSAgRHVtcGluZyBTdG9yYWdlCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKLSAgU2V0dGlu
ZyBicmVha3BvaW50IGF0IGEuanM6MzAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgICBkZWJ1
Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczozMDopCi0gICAgYnJlYWtwb2ludEFkZGVkKGEu
anMsIDMwLCAsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczozMAotICBEdW1waW5n
IFN0b3JhZ2UKLSAgICBhLmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIFJlc2V0dGlu
ZyBicmVha3BvaW50IG1hbmFnZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAzMCkKLSAg
ICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczozMAotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJl
YWtwb2ludChhLmpzOjMwKQotCi1SdW5uaW5nOiB0ZXN0U2V0RGlzYWJsZWRCcmVha3BvaW50Ci0g
IENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgotICBEdW1waW5nIFN0b3JhZ2UKLSAgQWRkaW5n
IFVJU291cmNlQ29kZTogYS5qcwotICBTZXR0aW5nIGJyZWFrcG9pbnQgYXQgYS5qczozMCBlbmFi
bGVkOmZhbHNlIGNvbmRpdGlvbjoKLSAgICBicmVha3BvaW50QWRkZWQoYS5qcywgMzAsICwgZmFs
c2UpCi0gIER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MzAgZW5hYmxlZDpmYWxzZSBjb25kaXRp
b246Ci0gIEVuYWJsaW5nIGJyZWFrcG9pbnQKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9p
bnQoYS5qczozMDopCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMzApCi0gICAgYnJlYWtw
b2ludEFkZGVkKGEuanMsIDMwLCAsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczoz
MAotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246
Ci0gIFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFnZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChh
LmpzLCAzMCkKLSAgICBMb2NhdGlvbiBkaXNwb3NlZDogYS5qczozMAotICAgIGRlYnVnZ2VyTW9k
ZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjMwKQotCi1SdW5uaW5nOiB0ZXN0U2V0Q29uZGl0aW9u
YWxCcmVha3BvaW50Ci0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgotICBEdW1waW5nIFN0
b3JhZ2UKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwotICBTZXR0aW5nIGJyZWFrcG9pbnQg
YXQgYS5qczozMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmNvbmRpdGlvbgotICAgIGRlYnVnZ2Vy
TW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjMwOmNvbmRpdGlvbikKLSAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMzAsIGNvbmRpdGlvbiwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpz
OjMwCi0gIER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MzAgZW5hYmxlZDp0cnVlIGNvbmRpdGlv
bjpjb25kaXRpb24KLSAgVXBkYXRpbmcgY29uZGl0aW9uCi0gICAgZGVidWdnZXJNb2RlbC5yZW1v
dmVCcmVha3BvaW50KGEuanM6MzApCi0gICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEu
anM6MzA6KQotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDMwKQotICAgIExvY2F0aW9uIGRp
c3Bvc2VkOiBhLmpzOjMwCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDMwLCAsIHRydWUpCi0g
ICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczozMAotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpz
OjMwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFn
ZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAzMCkKLSAgICBMb2NhdGlvbiBkaXNwb3Nl
ZDogYS5qczozMAotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjMwKQot
Ci1SdW5uaW5nOiB0ZXN0UmVzdG9yZUJyZWFrcG9pbnRzCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMg
bWFuYWdlcgotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25k
aXRpb246Zm9vID09IGJhcgotICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246Ci0g
ICAgYi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6
IGEuanMKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFy
KQotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCBmYWxzZSkKLSAgICBicmVha3BvaW50
QWRkZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDog
YS5qczoxMAotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25k
aXRpb246Zm9vID09IGJhcgotICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246Ci0g
ICAgYi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIFJlc2V0dGluZyBicmVha3BvaW50
IG1hbmFnZXIKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMCkKLSAgICBMb2NhdGlvbiBk
aXNwb3NlZDogYS5qczoxMAotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpz
OjEwKQotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDIwKQotCi1SdW5uaW5nOiB0ZXN0UmVz
dG9yZUJyZWFrcG9pbnRzVHdpY2UKLSAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5hZ2VyCi0gIER1
bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MTAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjpmb28gPT0g
YmFyCi0gICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRpdGlvbjoKLSAgICBiLmpzOjMgZW5h
YmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwotICAgIGRl
YnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjEwOmZvbyA9PSBiYXIpCi0gICAgYnJlYWtw
b2ludEFkZGVkKGEuanMsIDIwLCAsIGZhbHNlKQotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpz
Ci0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDEwLCBmb28gPT0gYmFyLCB0cnVlKQotICAgIExv
Y2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAKLSAgRHVtcGluZyBTdG9yYWdlCi0gICAgYS5qczoxMCBl
bmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKLSAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFs
c2UgY29uZGl0aW9uOgotICAgIGIuanM6MyBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBSZXNl
dHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTAp
Ci0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MTAKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92
ZUJyZWFrcG9pbnQoYS5qczoxMCkKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAyMCkKLQot
UnVubmluZzogdGVzdFJlbW92ZUJyZWFrcG9pbnRzCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFu
YWdlcgotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRp
b246Zm9vID09IGJhcgotICAgIGEuanM6MjAgZW5hYmxlZDpmYWxzZSBjb25kaXRpb246Ci0gICAg
Yi5qczozIGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEu
anMKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQot
ICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCBmYWxzZSkKLSAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5q
czoxMAotICBTZXR0aW5nIGJyZWFrcG9pbnQgYXQgYS5qczozMCBlbmFibGVkOnRydWUgY29uZGl0
aW9uOgotICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjMwOikKLSAgICBicmVh
a3BvaW50QWRkZWQoYS5qcywgMzAsICwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpz
OjMwCi0gIFJlbW92aW5nIGJyZWFrcG9pbnQgYXQgYS5qczozMAotICAgIGJyZWFrcG9pbnRSZW1v
dmVkKGEuanMsIDMwKQotICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjMwCi0gICAgZGVidWdn
ZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEuanM6MzApCi0gIFJlbW92aW5nIGJyZWFrcG9pbnQg
YXQgYS5qczoxMAotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDEwKQotICAgIExvY2F0aW9u
IGRpc3Bvc2VkOiBhLmpzOjEwCi0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3BvaW50KGEu
anM6MTApCi0gIFJlbW92aW5nIGJyZWFrcG9pbnQgYXQgYS5qczoyMAotICAgIGJyZWFrcG9pbnRS
ZW1vdmVkKGEuanMsIDIwKQotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBiLmpzOjMgZW5hYmxlZDp0
cnVlIGNvbmRpdGlvbjoKLSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgotCi1SdW5uaW5n
OiB0ZXN0U2V0QnJlYWtwb2ludFRoYXRTaGlmdHMKLSAgQ3JlYXRlZCBicmVha3BvaW50cyBtYW5h
Z2VyCi0gIER1bXBpbmcgU3RvcmFnZQotICBBZGRpbmcgVUlTb3VyY2VDb2RlOiBhLmpzCi0gIFNl
dHRpbmcgYnJlYWtwb2ludCBhdCBhLmpzOjEwMTUgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAg
ICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDE1OikKLSAgICBicmVha3BvaW50
QWRkZWQoYS5qcywgMTAyNSwgLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTAy
NQotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwMTUgZW5hYmxlZDp0cnVlIGNvbmRpdGlv
bjoKLSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgotICAgIGJyZWFrcG9pbnRSZW1vdmVk
KGEuanMsIDEwMjUpCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MTAyNQotICAgIGRlYnVn
Z2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjEwMTUpCi0KLVJ1bm5pbmc6IHRlc3RTZXRC
cmVha3BvaW50VGhhdFNoaWZ0c1R3aWNlCi0gIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlcgot
ICBEdW1waW5nIFN0b3JhZ2UKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYS5qcwotICBTZXR0aW5n
IGJyZWFrcG9pbnQgYXQgYS5qczoxMDE1IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gICAgZGVi
dWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTAxNTopCi0gICAgYnJlYWtwb2ludEFkZGVk
KGEuanMsIDEwMjUsICwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBjcmVhdGVkOiBhLmpzOjEwMjUKLSAg
U2V0dGluZyBicmVha3BvaW50IGF0IGEuanM6MTAxNSBlbmFibGVkOnRydWUgY29uZGl0aW9uOgot
ICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwMTUgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoK
LSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEu
anMsIDEwMjUpCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MTAyNQotICAgIGRlYnVnZ2Vy
TW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjEwMTUpCi0KLVJ1bm5pbmc6IHRlc3RTZXRCcmVh
a3BvaW50T3V0c2lkZVNjcmlwdAotICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKLSAgRHVt
cGluZyBTdG9yYWdlCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKLSAgICBkZWJ1Z2dlck1v
ZGVsLnNldEJyZWFrcG9pbnQoYS5qczoyNTAwOikKLSAgICBicmVha3BvaW50QWRkZWQoYS5qcywg
MjUwMCwgLCB0cnVlKQotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjI1MDAgZW5hYmxlZDp0
cnVlIGNvbmRpdGlvbjoKLSAgUmVzZXR0aW5nIGJyZWFrcG9pbnQgbWFuYWdlcgotICAgIGJyZWFr
cG9pbnRSZW1vdmVkKGEuanMsIDI1MDApCi0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3Bv
aW50KGEuanM6MjUwMCkKLQotUnVubmluZzogdGVzdE5hdmlnYXRpb24KLSAgQ3JlYXRlZCBicmVh
a3BvaW50cyBtYW5hZ2VyCi0gIER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MTAgZW5hYmxlZDp0
cnVlIGNvbmRpdGlvbjpmb28gPT0gYmFyCi0gICAgYS5qczoyMCBlbmFibGVkOmZhbHNlIGNvbmRp
dGlvbjoKLSAgICBiLmpzOjMgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjoKLSAgQWRkaW5nIFVJU291
cmNlQ29kZTogYS5qcwotICAgIGRlYnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjEwOmZv
byA9PSBiYXIpCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDIwLCAsIGZhbHNlKQotICAgIGJy
ZWFrcG9pbnRBZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKLSAgICBMb2NhdGlvbiBj
cmVhdGVkOiBhLmpzOjEwCi0KLSAgTmF2aWdhdGluZyB0byBCLgotICBSZXNldHRpbmcgZGVidWdn
ZXIuCi0gIFJlc2V0dGluZyB3b3Jrc3BhY2UuCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywg
MTApCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MTAKLSAgICBicmVha3BvaW50UmVtb3Zl
ZChhLmpzLCAyMCkKLSAgQWRkaW5nIFVJU291cmNlQ29kZTogYi5qcwotICAgIGRlYnVnZ2VyTW9k
ZWwuc2V0QnJlYWtwb2ludChiLmpzOjM6KQotICAgIGJyZWFrcG9pbnRBZGRlZChiLmpzLCAzLCAs
IHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYi5qczozCi0KLSAgTmF2aWdhdGluZyBiYWNr
IHRvIEEuCi0gIFJlc2V0dGluZyBkZWJ1Z2dlci4KLSAgUmVzZXR0aW5nIHdvcmtzcGFjZS4KLSAg
ICBicmVha3BvaW50UmVtb3ZlZChiLmpzLCAzKQotICAgIExvY2F0aW9uIGRpc3Bvc2VkOiBiLmpz
OjMKLSAgUmVzb2x2aW5nIHByb3Zpc2lvbmFsIGJyZWFrcG9pbnQuCi0gIEFkZGluZyB0ZW1wb3Jh
cnkgVUlTb3VyY2VDb2RlOiBhLmpzCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDExLCBmb28g
PT0gYmFyLCB0cnVlKQotICAgIExvY2F0aW9uIGNyZWF0ZWQ6IGEuanM6MTEKLSAgQWRkaW5nIFVJ
U291cmNlQ29kZTogYS5qcwotICAgIGJyZWFrcG9pbnRSZW1vdmVkKGEuanMsIDExKQotICAgIExv
Y2F0aW9uIGRpc3Bvc2VkOiBhLmpzOjExCi0gICAgZGVidWdnZXJNb2RlbC5yZW1vdmVCcmVha3Bv
aW50KGEuanM6MTApCi0gICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KGEuanM6MTA6Zm9v
ID09IGJhcikKLSAgICBicmVha3BvaW50QWRkZWQoYS5qcywgMjAsICwgZmFsc2UpCi0gICAgYnJl
YWtwb2ludEFkZGVkKGEuanMsIDEwLCBmb28gPT0gYmFyLCB0cnVlKQotICAgIExvY2F0aW9uIGNy
ZWF0ZWQ6IGEuanM6MTAKLSAgRHVtcGluZyBTdG9yYWdlCi0gICAgYS5qczoxMCBlbmFibGVkOnRy
dWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKLSAgICBhLmpzOjIwIGVuYWJsZWQ6ZmFsc2UgY29uZGl0
aW9uOgotICAgIGIuanM6MyBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBSZXNldHRpbmcgYnJl
YWtwb2ludCBtYW5hZ2VyCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTApCi0gICAgTG9j
YXRpb24gZGlzcG9zZWQ6IGEuanM6MTAKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9p
bnQoYS5qczoxMCkKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAyMCkKLSAgICBkZWJ1Z2dl
ck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYi5qczozKQotCi1SdW5uaW5nOiB0ZXN0U291cmNlTWFw
cGluZwotICBDcmVhdGVkIGJyZWFrcG9pbnRzIG1hbmFnZXIKLSAgRHVtcGluZyBTdG9yYWdlCi0g
ICAgYS5qczoxMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOmZvbyA9PSBiYXIKLSAgICBhLmpzOjIw
IGVuYWJsZWQ6dHJ1ZSBjb25kaXRpb246Ci0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEuanMKLSAg
ICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQotICAgIGRl
YnVnZ2VyTW9kZWwuc2V0QnJlYWtwb2ludChhLmpzOjIwOikKLSAgICBicmVha3BvaW50QWRkZWQo
YS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5qczox
MAotICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAyMCwgLCB0cnVlKQotICAgIExvY2F0aW9uIGNy
ZWF0ZWQ6IGEuanM6MjAKLQotICBUb2dnbGluZyBzb3VyY2UgbWFwcGluZy4KLSAgICBicmVha3Bv
aW50UmVtb3ZlZChhLmpzLCAxMCkKLSAgICBicmVha3BvaW50QWRkZWQoYS5qcywgMjAsIGZvbyA9
PSBiYXIsIHRydWUpCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMjApCi0gICAgYnJlYWtw
b2ludEFkZGVkKGEuanMsIDMwLCAsIHRydWUpCi0KLSAgVG9nZ2xpbmcgc291cmNlIG1hcHBpbmcg
YmFjay4KLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAyMCkKLSAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMTAsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5q
cywgMzApCi0gICAgYnJlYWtwb2ludEFkZGVkKGEuanMsIDIwLCAsIHRydWUpCi0gIER1bXBpbmcg
U3RvcmFnZQotICAgIGEuanM6MTAgZW5hYmxlZDp0cnVlIGNvbmRpdGlvbjpmb28gPT0gYmFyCi0g
ICAgYS5qczoyMCBlbmFibGVkOnRydWUgY29uZGl0aW9uOgotICBSZXNldHRpbmcgYnJlYWtwb2lu
dCBtYW5hZ2VyCi0gICAgYnJlYWtwb2ludFJlbW92ZWQoYS5qcywgMTApCi0gICAgTG9jYXRpb24g
ZGlzcG9zZWQ6IGEuanM6MTAKLSAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5q
czoxMCkKLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAyMCkKLSAgICBMb2NhdGlvbiBkaXNw
b3NlZDogYS5qczoyMAotICAgIGRlYnVnZ2VyTW9kZWwucmVtb3ZlQnJlYWtwb2ludChhLmpzOjIw
KQotCi1SdW5uaW5nOiB0ZXN0UHJvdmlzaW9uYWxCcmVha3BvaW50c1Jlc29sdmUKLSAgQ3JlYXRl
ZCBicmVha3BvaW50cyBtYW5hZ2VyCi0gIER1bXBpbmcgU3RvcmFnZQotICAgIGEuanM6MTAgZW5h
YmxlZDp0cnVlIGNvbmRpdGlvbjpmb28gPT0gYmFyCi0gIEFkZGluZyBVSVNvdXJjZUNvZGU6IGEu
anMKLSAgICBkZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9pbnQoYS5qczoxMDpmb28gPT0gYmFyKQot
ICAgIGJyZWFrcG9pbnRBZGRlZChhLmpzLCAxMCwgZm9vID09IGJhciwgdHJ1ZSkKLSAgICBMb2Nh
dGlvbiBjcmVhdGVkOiBhLmpzOjEwCi0gIFJlc2V0dGluZyBkZWJ1Z2dlci4KLSAgUmVzZXR0aW5n
IHdvcmtzcGFjZS4KLSAgICBicmVha3BvaW50UmVtb3ZlZChhLmpzLCAxMCkKLSAgICBMb2NhdGlv
biBkaXNwb3NlZDogYS5qczoxMAotICBSZXNvbHZpbmcgcHJvdmlzaW9uYWwgYnJlYWtwb2ludC4K
LSAgQWRkaW5nIHRlbXBvcmFyeSBVSVNvdXJjZUNvZGU6IGEuanMKLSAgICBicmVha3BvaW50QWRk
ZWQoYS5qcywgMTEsIGZvbyA9PSBiYXIsIHRydWUpCi0gICAgTG9jYXRpb24gY3JlYXRlZDogYS5q
czoxMQotICBEdW1waW5nIFN0b3JhZ2UKLSAgICBhLmpzOjEwIGVuYWJsZWQ6dHJ1ZSBjb25kaXRp
b246Zm9vID09IGJhcgotICBSZXNldHRpbmcgYnJlYWtwb2ludCBtYW5hZ2VyCi0gICAgYnJlYWtw
b2ludFJlbW92ZWQoYS5qcywgMTEpCi0gICAgTG9jYXRpb24gZGlzcG9zZWQ6IGEuanM6MTEKLSAg
ICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoYS5qczoxMCkKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2JyZWFrcG9pbnQtbWFuYWdl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2JyZWFrcG9p
bnQtbWFuYWdlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTIzM2IwNWE5
ZjhhOWIyMTYwNGMzYWRlNzRmNWZkZjE5ZDliYmFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9icmVha3BvaW50LW1hbmFnZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyNyArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgdmFyIHVpU291cmNlQ29kZXMgPSB7fTsKLQotICAgIHZhciBkZWZhdWx0
TWFwcGluZyA9IHsKLSAgICAgICAgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246IGZ1bmN0aW9uKHJh
d0xvY2F0aW9uKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rv
ci5VSUxvY2F0aW9uKHVpU291cmNlQ29kZXNbcmF3TG9jYXRpb24uc2NyaXB0SWRdLCByYXdMb2Nh
dGlvbi5saW5lTnVtYmVyLCAwKTsKLSAgICAgICAgfSwKLQotICAgICAgICB1aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbjogZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyKQotICAgICAgICB7
Ci0gICAgICAgICAgICBpZiAoIXVpU291cmNlQ29kZXNbdWlTb3VyY2VDb2RlLnVybF0pCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3Bl
Y3Rvci5EZWJ1Z2dlck1vZGVsLkxvY2F0aW9uKHVpU291cmNlQ29kZS51cmwsIGxpbmVOdW1iZXIs
IDApOwotICAgICAgICB9LAotCi0gICAgICAgIGlzSWRlbnRpdHk6IGZ1bmN0aW9uKCkKLSAgICAg
ICAgewotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAg
dmFyIHNoaWZ0aW5nTWFwcGluZyA9IHsKLSAgICAgICAgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb246
IGZ1bmN0aW9uKHJhd0xvY2F0aW9uKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAodGhpcy5f
ZGlzYWJsZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgICAgICByZXR1
cm4gbmV3IFdlYkluc3BlY3Rvci5VSUxvY2F0aW9uKHVpU291cmNlQ29kZXNbcmF3TG9jYXRpb24u
c2NyaXB0SWRdLCByYXdMb2NhdGlvbi5saW5lTnVtYmVyICsgMTAsIDApOwotICAgICAgICB9LAot
Ci0gICAgICAgIHVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUs
IGxpbmVOdW1iZXIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24odWlTb3VyY2VDb2RlLnVybCwgbGluZU51bWJlciAt
IDEwLCAwKTsKLSAgICAgICAgfSwKLQotICAgICAgICBpc0lkZW50aXR5OiBmdW5jdGlvbigpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH07Ci0K
LSAgICBmdW5jdGlvbiBEZWJ1Z2dlck1vZGVsTW9jayhzb3VyY2VNYXBwaW5nKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fc2NyaXB0cyA9IHt9OwotICAgICAgICB0aGlzLl9zb3VyY2VNYXBwaW5nID0g
c291cmNlTWFwcGluZzsKLSAgICAgICAgdGhpcy5fYnJlYWtwb2ludHMgPSB7fTsKLSAgICB9Ci0K
LSAgICBEZWJ1Z2dlck1vZGVsTW9jay5wcm90b3R5cGUgPSB7Ci0gICAgICAgIF9hZGRTY3JpcHQ6
IGZ1bmN0aW9uKHNjcmlwdElkLCB1cmwpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRoaXMuX3Nj
cmlwdHNbc2NyaXB0SWRdID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHQoc2NyaXB0SWQsIHVybCk7
Ci0gICAgICAgICAgICB0aGlzLl9zY3JpcHRzW3NjcmlwdElkXS5wdXNoU291cmNlTWFwcGluZyh0
aGlzLl9zb3VyY2VNYXBwaW5nKTsKLSAgICAgICAgfSwKLQotICAgICAgICBfc2NyaXB0Rm9yVVJM
OiBmdW5jdGlvbih1cmwpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvciAodmFyIHNjcmlwdElk
IGluIHRoaXMuX3NjcmlwdHMpIHsKLSAgICAgICAgICAgICAgICB2YXIgc2NyaXB0ID0gdGhpcy5f
c2NyaXB0c1tzY3JpcHRJZF07Ci0gICAgICAgICAgICAgICAgaWYgKHNjcmlwdC5zb3VyY2VVUkwg
PT09IHVybCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjcmlwdDsKLSAgICAgICAgICAg
IH0KLSAgICAgICB9LAotCi0gICAgICAgIF9zY2hlZHVsZVNldEJlYWtwb2ludENhbGxiYWNrOiBm
dW5jdGlvbihjYWxsYmFjaywgYnJlYWtwb2ludElkLCBsb2NhdGlvbnMpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHNldFRpbWVvdXQoaW5uZXJDYWxsYmFjay5iaW5kKHRoaXMpLCAwKTsKLQotICAg
ICAgICAgICAgZnVuY3Rpb24gaW5uZXJDYWxsYmFjaygpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhicmVh
a3BvaW50SWQsIGxvY2F0aW9ucyk7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5zZXRCcmVh
a3BvaW50Q2FsbGJhY2spIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHNhdmVkQ2FsbGJhY2sg
PSB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrOwotICAgICAgICAgICAgICAgICAgICBkZWxl
dGUgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjazsKLSAgICAgICAgICAgICAgICAgICAgc2F2
ZWRDYWxsYmFjaygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSwKLQotICAgICAgICBzZXRCcmVha3BvaW50QnlVUkw6IGZ1bmN0aW9uKHVybCwgbGluZU51bWJl
ciwgY29sdW1uTnVtYmVyLCBjb25kaXRpb24sIGNhbGxiYWNrKQotICAgICAgICB7Ci0gICAgICAg
ICAgICB2YXIgYnJlYWtwb2ludElkID0gdXJsICsgIjoiICsgbGluZU51bWJlcjsKLSAgICAgICAg
ICAgIGlmICh0aGlzLl9icmVha3BvaW50c1ticmVha3BvaW50SWRdKSB7Ci0gICAgICAgICAgICAg
ICAgdGhpcy5fc2NoZWR1bGVTZXRCZWFrcG9pbnRDYWxsYmFjayhjYWxsYmFjaywgbnVsbCk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0aGlz
Ll9icmVha3BvaW50c1ticmVha3BvaW50SWRdID0gdHJ1ZTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIgICAgZGVidWdnZXJNb2RlbC5zZXRCcmVha3BvaW50KCIgKyBbdXJs
LCBsaW5lTnVtYmVyLCBjb25kaXRpb25dLmpvaW4oIjoiKSArICIpIik7Ci0KLSAgICAgICAgICAg
IHZhciBsb2NhdGlvbnMgPSBbXTsKLSAgICAgICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLl9zY3Jp
cHRGb3JVUkwodXJsKTsKLSAgICAgICAgICAgIGlmIChzY3JpcHQpIHsKLSAgICAgICAgICAgICAg
ICB2YXIgbG9jYXRpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuTG9jYXRpb24o
c2NyaXB0LnNjcmlwdElkLCBsaW5lTnVtYmVyLCAwKTsKLSAgICAgICAgICAgICAgICBsb2NhdGlv
bnMucHVzaChsb2NhdGlvbik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHRoaXMuX3Nj
aGVkdWxlU2V0QmVha3BvaW50Q2FsbGJhY2soY2FsbGJhY2ssIGJyZWFrcG9pbnRJZCwgbG9jYXRp
b25zKTsKLSAgICAgICAgfSwKLQotICAgICAgICBzZXRCcmVha3BvaW50QnlTY3JpcHRMb2NhdGlv
bjogZnVuY3Rpb24obG9jYXRpb24sIGNvbmRpdGlvbiwgY2FsbGJhY2spCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHZhciBicmVha3BvaW50SWQgPSBsb2NhdGlvbi5zY3JpcHRJZCArICI6IiArIGxv
Y2F0aW9uLmxpbmVOdW1iZXI7Ci0gICAgICAgICAgICBpZiAodGhpcy5fYnJlYWtwb2ludHNbYnJl
YWtwb2ludElkXSkgewotICAgICAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlU2V0QmVha3BvaW50
Q2FsbGJhY2soY2FsbGJhY2ssIG51bGwpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2ludElkXSA9
IHRydWU7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGRlYnVnZ2Vy
TW9kZWwuc2V0QnJlYWtwb2ludCgiICsgW2xvY2F0aW9uLnNjcmlwdElkLCBsb2NhdGlvbi5saW5l
TnVtYmVyLCBjb25kaXRpb25dLmpvaW4oIjoiKSArICIpIik7Ci0KLSAgICAgICAgICAgIGlmIChs
b2NhdGlvbi5saW5lTnVtYmVyID49IDIwMDApIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9zY2hl
ZHVsZVNldEJlYWtwb2ludENhbGxiYWNrKGNhbGxiYWNrLCBicmVha3BvaW50SWQsIFtdKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobG9j
YXRpb24ubGluZU51bWJlciA+PSAxMDAwKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHNoaWZ0ZWRM
b2NhdGlvbiA9IHtzY3JpcHRJZDogbG9jYXRpb24uc2NyaXB0SWQsIGxpbmVOdW1iZXI6IGxvY2F0
aW9uLmxpbmVOdW1iZXIgKyAxMCwgY29sdW1uTnVtYmVyOiBsb2NhdGlvbi5jb2x1bW5OdW1iZXIg
fTsKLSAgICAgICAgICAgICAgICB0aGlzLl9zY2hlZHVsZVNldEJlYWtwb2ludENhbGxiYWNrKGNh
bGxiYWNrLCBicmVha3BvaW50SWQsIFtzaGlmdGVkTG9jYXRpb25dKTsKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHRoaXMuX3NjaGVkdWxlU2V0
QmVha3BvaW50Q2FsbGJhY2soY2FsbGJhY2ssIGJyZWFrcG9pbnRJZCwgW2xvY2F0aW9uXSk7Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgcmVtb3ZlQnJlYWtwb2ludDogZnVuY3Rpb24oYnJlYWtwb2lu
dElkLCBjYWxsYmFjaykKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAgICBkZWJ1Z2dlck1vZGVsLnJlbW92ZUJyZWFrcG9pbnQoIiArIGJyZWFrcG9pbnRJ
ZCArICIpIik7Ci0gICAgICAgICAgICBkZWxldGUgdGhpcy5fYnJlYWtwb2ludHNbYnJlYWtwb2lu
dElkXTsKLSAgICAgICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAgICAgICAgICAgICBjYWxsYmFj
aygpOwotICAgICAgICB9LAotCi0gICAgICAgIHNldEJyZWFrcG9pbnRzQWN0aXZlOiBmdW5jdGlv
bigpIHsgfSwKLQotICAgICAgICBjcmVhdGVMaXZlTG9jYXRpb246IGZ1bmN0aW9uKHJhd0xvY2F0
aW9uLCB1cGRhdGVEZWxlZ2F0ZSkKLSAgICAgICAgewotICAgICAgICAgICAgIHJldHVybiB0aGlz
Ll9zY3JpcHRzW3Jhd0xvY2F0aW9uLnNjcmlwdElkXS5jcmVhdGVMaXZlTG9jYXRpb24ocmF3TG9j
YXRpb24sIHVwZGF0ZURlbGVnYXRlKTsKLSAgICAgICAgfSwKLQotICAgICAgICBzY3JpcHRGb3JJ
ZDogZnVuY3Rpb24oc2NyaXB0SWQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlz
Ll9zY3JpcHRzW3NjcmlwdElkXTsKLSAgICAgICAgfSwKLQotICAgICAgICByZXNldDogZnVuY3Rp
b24oKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBS
ZXNldHRpbmcgZGVidWdnZXIuIik7Ci0gICAgICAgICAgICB0aGlzLl9zY3JpcHRzID0ge307Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgcHVzaFNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKHNvdXJjZU1h
cHBpbmcpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvciAodmFyIHNjcmlwdElkIGluIHRoaXMu
X3NjcmlwdHMpCi0gICAgICAgICAgICAgICAgdGhpcy5fc2NyaXB0c1tzY3JpcHRJZF0ucHVzaFNv
dXJjZU1hcHBpbmcoc291cmNlTWFwcGluZyk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZGlzYWJs
ZVNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKHNvdXJjZU1hcHBpbmcpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHNvdXJjZU1hcHBpbmcuX2Rpc2FibGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGZvciAo
dmFyIHNjcmlwdElkIGluIHRoaXMuX3NjcmlwdHMpCi0gICAgICAgICAgICAgICAgdGhpcy5fc2Ny
aXB0c1tzY3JpcHRJZF0udXBkYXRlTG9jYXRpb25zKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
RGVidWdnZXJNb2RlbE1vY2sucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmpl
Y3QucHJvdG90eXBlOwotCi0gICAgdmFyIGR1bW15U2V0dGluZyA9IHsKLSAgICAgICAgZ2V0OiBm
dW5jdGlvbigpIHsgcmV0dXJuIFtdOyB9LAotICAgICAgICBzZXQ6IGZ1bmN0aW9uKGJyZWFrcG9p
bnRzKSB7IH0KLSAgICB9OwotCi0gICAgZnVuY3Rpb24gcmVzZXRXb3Jrc3BhY2UoYnJlYWtwb2lu
dE1hbmFnZXIpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBSZXNl
dHRpbmcgd29ya3NwYWNlLiIpOwotICAgICAgICBicmVha3BvaW50TWFuYWdlci5fbmV0d29ya1dv
cmtzcGFjZVByb3ZpZGVyLnJlc2V0KCk7Ci0gICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1
Z2dlcldvcmtzcGFjZVByb3ZpZGVyLnJlc2V0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYnJl
YWtwb2ludEFkZGVkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBldmVu
dC5kYXRhLmJyZWFrcG9pbnQ7Ci0gICAgICAgIHZhciB1aUxvY2F0aW9uID0gZXZlbnQuZGF0YS51
aUxvY2F0aW9uOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGJyZWFrcG9p
bnRBZGRlZCgiICsgW3VpTG9jYXRpb24udWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpLCB1aUxvY2F0
aW9uLmxpbmVOdW1iZXIsIGJyZWFrcG9pbnQuY29uZGl0aW9uKCksIGJyZWFrcG9pbnQuZW5hYmxl
ZCgpXS5qb2luKCIsICIpICsgIikiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBicmVha3BvaW50
UmVtb3ZlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHZhciB1aUxvY2F0aW9uID0gZXZlbnQuZGF0
YS51aUxvY2F0aW9uOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGJyZWFr
cG9pbnRSZW1vdmVkKCIgKyBbdWlMb2NhdGlvbi51aVNvdXJjZUNvZGUub3JpZ2luVVJMKCksIHVp
TG9jYXRpb24ubGluZU51bWJlcl0uam9pbigiLCAiKSArICIpIik7Ci0gICAgfQotCi0gICAgSW5z
cGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TY3JpcHQucHJvdG90eXBlLCAiY3Jl
YXRlTGl2ZUxvY2F0aW9uIiwgZnVuY3Rpb24ocmF3TG9jYXRpb24pCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIExvY2F0aW9uIGNyZWF0ZWQ6ICIgKyByYXdMb2Nh
dGlvbi5zY3JpcHRJZCArICI6IiArIHJhd0xvY2F0aW9uLmxpbmVOdW1iZXIpOwotICAgIH0sIHRy
dWUpOwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU2NyaXB0Lkxv
Y2F0aW9uLnByb3RvdHlwZSwgImRpc3Bvc2UiLCBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIExvY2F0aW9uIGRpc3Bvc2VkOiAiICsgdGhpcy5f
cmF3TG9jYXRpb24uc2NyaXB0SWQgKyAiOiIgKyB0aGlzLl9yYXdMb2NhdGlvbi5saW5lTnVtYmVy
KTsKLSAgICB9LCB0cnVlKTsKLQotICAgIGZ1bmN0aW9uIGFkZFVJU291cmNlQ29kZShicmVha3Bv
aW50TWFuYWdlciwgdXJsKQotICAgIHsKLSAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVn
Z2VyTW9kZWwuX2FkZFNjcmlwdCh1cmwsIHVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgIEFkZGluZyBVSVNvdXJjZUNvZGU6ICIgKyB1cmwpOwotICAgICAgICB2YXIgY29u
dGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIoV2Vi
SW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0LCAiIiwgInRleHQvamF2YXNjcmlwdCIpOwot
ICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gYnJlYWtwb2ludE1hbmFnZXIuX25ldHdvcmtXb3Jr
c3BhY2VQcm92aWRlci5hZGRGaWxlRm9yVVJMKHVybCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsK
LSAgICAgICAgdWlTb3VyY2VDb2Rlc1t1cmxdID0gdWlTb3VyY2VDb2RlOwotICAgICAgICB1aVNv
dXJjZUNvZGUuc2V0U291cmNlTWFwcGluZyhkZWZhdWx0TWFwcGluZyk7Ci0gICAgICAgIHJldHVy
biB1aVNvdXJjZUNvZGU7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkVGVtcG9yYXJ5VUlTb3Vy
Y2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCB1cmwpCi0gICAgewotCi0gICAgICAgIGJyZWFrcG9p
bnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLl9hZGRTY3JpcHQodXJsLCB1cmwpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBBZGRpbmcgdGVtcG9yYXJ5IFVJU291cmNlQ29kZTog
IiArIHVybCk7Ci0gICAgICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9y
LlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQs
ICIiLCAidGV4dC9qYXZhc2NyaXB0Iik7Ci0gICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBicmVh
a3BvaW50TWFuYWdlci5fZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlci5hZGRVbmlxdWVGaWxlRm9y
VVJMKHVybCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKLSAgICAgICAgdWlTb3VyY2VDb2RlLnNl
dFNvdXJjZU1hcHBpbmcoZGVmYXVsdE1hcHBpbmcpOwotICAgICAgICB1aVNvdXJjZUNvZGVzW3Vy
bF0gPSB1aVNvdXJjZUNvZGU7Ci0gICAgICAgIHJldHVybiB1aVNvdXJjZUNvZGU7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gY3JlYXRlQnJlYWtwb2ludCh1aVNvdXJjZUNvZGVJZCwgbGluZU51bWJl
ciwgY29uZGl0aW9uLCBlbmFibGVkKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHsgc291cmNlRmls
ZUlkOiB1aVNvdXJjZUNvZGVJZCwgbGluZU51bWJlcjogbGluZU51bWJlciwgY29uZGl0aW9uOiBj
b25kaXRpb24sIGVuYWJsZWQ6IGVuYWJsZWQgfTsKLSAgICB9Ci0KLSAgICB2YXIgc2VyaWFsaXpl
ZEJyZWFrcG9pbnRzID0gW107Ci0gICAgc2VyaWFsaXplZEJyZWFrcG9pbnRzLnB1c2goY3JlYXRl
QnJlYWtwb2ludCgiYS5qcyIsIDEwLCAiZm9vID09IGJhciIsIHRydWUpKTsKLSAgICBzZXJpYWxp
emVkQnJlYWtwb2ludHMucHVzaChjcmVhdGVCcmVha3BvaW50KCJhLmpzIiwgMjAsICIiLCBmYWxz
ZSkpOwotICAgIHNlcmlhbGl6ZWRCcmVha3BvaW50cy5wdXNoKGNyZWF0ZUJyZWFrcG9pbnQoImIu
anMiLCAzLCAiIiwgdHJ1ZSkpOwotCi0gICAgZnVuY3Rpb24gY3JlYXRlQnJlYWtwb2ludE1hbmFn
ZXIocGVyc2lzdGVudEJyZWFrcG9pbnRzLCBzb3VyY2VNYXBwaW5nKQotICAgIHsKLSAgICAgICAg
cGVyc2lzdGVudEJyZWFrcG9pbnRzID0gcGVyc2lzdGVudEJyZWFrcG9pbnRzIHx8IFtdOwotICAg
ICAgICB2YXIgc2V0dGluZyA9IHsKLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVy
biBwZXJzaXN0ZW50QnJlYWtwb2ludHM7IH0sCi0gICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGJy
ZWFrcG9pbnRzKSB7IHBlcnNpc3RlbnRCcmVha3BvaW50cyA9IGJyZWFrcG9pbnRzOyB9Ci0gICAg
ICAgIH07Ci0KLSAgICAgICAgdmFyIHNvdXJjZU1hcHBpbmcgPSBzb3VyY2VNYXBwaW5nIHx8IGRl
ZmF1bHRNYXBwaW5nOwotICAgICAgICB2YXIgZGVidWdnZXJNb2RlbCA9IG5ldyBEZWJ1Z2dlck1v
ZGVsTW9jayhzb3VyY2VNYXBwaW5nKTsKLSAgICAgICAgdmFyIHdvcmtzcGFjZSA9IG5ldyBXZWJJ
bnNwZWN0b3IuV29ya3NwYWNlKCk7Ci0gICAgICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IG5l
dyBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIoc2V0dGluZywgZGVidWdnZXJNb2RlbCwg
d29ya3NwYWNlKTsKLSAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX25ldHdvcmtXb3Jrc3BhY2VQ
cm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIod29ya3Nw
YWNlLCBXZWJJbnNwZWN0b3IucHJvamVjdFR5cGVzLk5ldHdvcmspOwotICAgICAgICBicmVha3Bv
aW50TWFuYWdlci5fZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
U2ltcGxlV29ya3NwYWNlUHJvdmlkZXIod29ya3NwYWNlLCBXZWJJbnNwZWN0b3IucHJvamVjdFR5
cGVzLkRlYnVnZ2VyKTsKLSAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRBZGRlZCwg
YnJlYWtwb2ludEFkZGVkKTsKLSAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIuRXZlbnRzLkJyZWFrcG9pbnRSZW1v
dmVkLCBicmVha3BvaW50UmVtb3ZlZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIgIENyZWF0ZWQgYnJlYWtwb2ludHMgbWFuYWdlciIpOwotICAgICAgICBkdW1wQnJlYWtwb2lu
dFN0b3JhZ2UoYnJlYWtwb2ludE1hbmFnZXIpOwotICAgICAgICByZXR1cm4gYnJlYWtwb2ludE1h
bmFnZXI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2V0QnJlYWtwb2ludChicmVha3BvaW50TWFu
YWdlciwgdWlTb3VyY2VDb2RlLCBsaW5lTnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBTZXR0aW5nIGJyZWFrcG9pbnQg
YXQgIiArIHVpU291cmNlQ29kZS5vcmlnaW5VUkwoKSArICI6IiArIGxpbmVOdW1iZXIgKyAiIGVu
YWJsZWQ6IiArIGVuYWJsZWQgKyAiIGNvbmRpdGlvbjoiICsgY29uZGl0aW9uKTsKLSAgICAgICAg
cmV0dXJuIGJyZWFrcG9pbnRNYW5hZ2VyLnNldEJyZWFrcG9pbnQodWlTb3VyY2VDb2RlLCBsaW5l
TnVtYmVyLCBjb25kaXRpb24sIGVuYWJsZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlbW92
ZUJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgbGluZU51bWJlcikK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIFJlbW92aW5nIGJyZWFr
cG9pbnQgYXQgIiArIHVpU291cmNlQ29kZS5vcmlnaW5VUkwoKSArICI6IiArIGxpbmVOdW1iZXIp
OwotICAgICAgICBicmVha3BvaW50TWFuYWdlci5maW5kQnJlYWtwb2ludCh1aVNvdXJjZUNvZGUs
IGxpbmVOdW1iZXIpLnJlbW92ZSgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBCcmVha3Bv
aW50U3RvcmFnZShicmVha3BvaW50TWFuYWdlcikKLSAgICB7Ci0gICAgICAgIHZhciBicmVha3Bv
aW50cyA9IGJyZWFrcG9pbnRNYW5hZ2VyLl9zdG9yYWdlLl9zZXR0aW5nLmdldCgpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBEdW1waW5nIFN0b3JhZ2UiKTsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBicmVha3BvaW50cy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgIiArIGJyZWFrcG9pbnRzW2ldLnNvdXJjZUZp
bGVJZCArICI6IiArIGJyZWFrcG9pbnRzW2ldLmxpbmVOdW1iZXIgICsgIiBlbmFibGVkOiIgKyBi
cmVha3BvaW50c1tpXS5lbmFibGVkICsgIiBjb25kaXRpb246IiArIGJyZWFrcG9pbnRzW2ldLmNv
bmRpdGlvbik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVzZXRCcmVha3BvaW50TWFuYWdlcihi
cmVha3BvaW50TWFuYWdlciwgbmV4dCkKLSAgICB7Ci0gICAgICAgIGR1bXBCcmVha3BvaW50U3Rv
cmFnZShicmVha3BvaW50TWFuYWdlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIgIFJlc2V0dGluZyBicmVha3BvaW50IG1hbmFnZXIiKTsKLSAgICAgICAgYnJlYWtwb2ludE1h
bmFnZXIucmVzZXQoKTsKLSAgICAgICAgdWlTb3VyY2VDb2RlcyA9IHt9OwotICAgICAgICBuZXh0
KCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBm
dW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2ludChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2
YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcigpOwotICAgICAg
ICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGFkZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdl
ciwgImEuanMiKTsKLSAgICAgICAgICAgIHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIs
IHVpU291cmNlQ29kZSwgMzAsICIiLCB0cnVlKTsKLSAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVh
a3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5kKHRoaXMpOwotCi0gICAgICAgICAgICBmdW5jdGlv
biBzdGVwMigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmVzZXRCcmVha3BvaW50
TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldERpc2FibGVkQnJlYWtwb2ludChuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVh
a3BvaW50TWFuYWdlcigpOwotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGFkZFVJU291
cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKLSAgICAgICAgICAgIHZhciBicmVh
a3BvaW50ID0gc2V0QnJlYWtwb2ludChicmVha3BvaW50TWFuYWdlciwgdWlTb3VyY2VDb2RlLCAz
MCwgIiIsIGZhbHNlKTsKLSAgICAgICAgICAgIGR1bXBCcmVha3BvaW50U3RvcmFnZShicmVha3Bv
aW50TWFuYWdlcik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBFbmFi
bGluZyBicmVha3BvaW50Iik7Ci0gICAgICAgICAgICBicmVha3BvaW50LnNldEVuYWJsZWQodHJ1
ZSk7Ci0gICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmlu
ZCh0aGlzKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIs
IG5leHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RTZXRDb25kaXRpb25hbEJyZWFrcG9pbnQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAg
dmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2ludE1hbmFnZXIoKTsKLSAgICAg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFn
ZXIsICJhLmpzIik7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludCA9IHNldEJyZWFrcG9pbnQo
YnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMzAsICJjb25kaXRpb24iLCB0cnVlKTsK
LSAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5kKHRo
aXMpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgZHVtcEJyZWFrcG9pbnRTdG9yYWdlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBVcGRhdGluZyBjb25kaXRp
b24iKTsKLSAgICAgICAgICAgICAgICBicmVha3BvaW50LnNldENvbmRpdGlvbigiIik7Ci0gICAg
ICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAzLmJpbmQodGhp
cyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9p
bnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0UmVzdG9yZUJyZWFrcG9pbnRzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHZhciBicmVha3BvaW50TWFuYWdlciA9IGNyZWF0ZUJyZWFrcG9pbnRNYW5hZ2VyKHNlcmlh
bGl6ZWRCcmVha3BvaW50cyk7Ci0gICAgICAgICAgICBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2lu
dE1hbmFnZXIsICJhLmpzIik7Ci0gICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxi
YWNrID0gc3RlcDIuYmluZCh0aGlzKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJl
YWtwb2ludE1hbmFnZXIsIG5leHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RSZXN0b3JlQnJlYWtwb2ludHNUd2ljZShuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFu
YWdlcihzZXJpYWxpemVkQnJlYWtwb2ludHMpOwotICAgICAgICAgICAgYWRkVUlTb3VyY2VDb2Rl
KGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwotICAgICAgICAgICAgYWRkVUlTb3VyY2VDb2Rl
KGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwotICAgICAgICAgICAgd2luZG93LnNldEJyZWFr
cG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXNldEJyZWFrcG9pbnRN
YW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlQnJlYWtwb2ludHMobmV4dCkKLSAgICAg
ICAgewotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2lu
dE1hbmFnZXIoc2VyaWFsaXplZEJyZWFrcG9pbnRzKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJj
ZUNvZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7Ci0gICAg
ICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsK
LQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMzAs
ICIiLCB0cnVlKTsKLSAgICAgICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNr
ID0gc3RlcDMuYmluZCh0aGlzKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rp
b24gc3RlcDMoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJlbW92ZUJyZWFrcG9p
bnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMzApOwotICAgICAgICAgICAgICAg
IHJlbW92ZUJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMTApOwot
ICAgICAgICAgICAgICAgIHJlbW92ZUJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291
cmNlQ29kZSwgMjApOwotICAgICAgICAgICAgICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJl
YWtwb2ludE1hbmFnZXIsIG5leHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RTZXRCcmVha3BvaW50VGhhdFNoaWZ0cyhuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFu
YWdlcigpOwotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IGFkZFVJU291cmNlQ29kZShi
cmVha3BvaW50TWFuYWdlciwgImEuanMiKTsKLSAgICAgICAgICAgIHNldEJyZWFrcG9pbnQoYnJl
YWtwb2ludE1hbmFnZXIsIHVpU291cmNlQ29kZSwgMTAxNSwgIiIsIHRydWUpOwotICAgICAgICAg
ICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7Ci0KLSAg
ICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2lu
dFRoYXRTaGlmdHNUd2ljZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtw
b2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcigpOwotICAgICAgICAgICAgdmFy
IHVpU291cmNlQ29kZSA9IGFkZFVJU291cmNlQ29kZShicmVha3BvaW50TWFuYWdlciwgImEuanMi
KTsKLSAgICAgICAgICAgIHNldEJyZWFrcG9pbnQoYnJlYWtwb2ludE1hbmFnZXIsIHVpU291cmNl
Q29kZSwgMTAxNSwgIiIsIHRydWUpOwotICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRD
YWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzZXRCcmVha3BvaW50KGJyZWFrcG9p
bnRNYW5hZ2VyLCB1aVNvdXJjZUNvZGUsIDEwMTUsICIiLCB0cnVlKTsKLSAgICAgICAgICAgICAg
ICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDMuYmluZCh0aGlzKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIHJlc2V0QnJlYWtwb2ludE1hbmFnZXIoYnJlYWtwb2ludE1hbmFnZXIs
IG5leHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RTZXRCcmVha3BvaW50T3V0c2lkZVNjcmlwdChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50TWFuYWdlcihbXSk7Ci0g
ICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRN
YW5hZ2VyLCAiYS5qcyIpOwotICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuc2V0QnJlYWtw
b2ludCh1aVNvdXJjZUNvZGUsIDI1MDAsICIiLCB0cnVlKTsKLSAgICAgICAgICAgIHdpbmRvdy5z
ZXRCcmVha3BvaW50Q2FsbGJhY2sgPSBzdGVwMi5iaW5kKHRoaXMpOwotCi0gICAgICAgICAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmVzZXRCcmVh
a3BvaW50TWFuYWdlcihicmVha3BvaW50TWFuYWdlciwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0TmF2aWdhdGlvbihuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICB2YXIgYnJlYWtwb2ludE1hbmFnZXIgPSBjcmVhdGVCcmVha3BvaW50
TWFuYWdlcihzZXJpYWxpemVkQnJlYWtwb2ludHMpOwotICAgICAgICAgICAgdmFyIHVpU291cmNl
Q29kZUEgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7Ci0gICAg
ICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlzKTsK
LQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJcbiAgTmF2aWdhdGluZyB0byBCLiIpOwot
ICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLnJlc2V0KCk7
Ci0gICAgICAgICAgICAgICAgcmVzZXRXb3Jrc3BhY2UoYnJlYWtwb2ludE1hbmFnZXIpOwotICAg
ICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVCID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9p
bnRNYW5hZ2VyLCAiYi5qcyIpOwotICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRCcmVha3BvaW50
Q2FsbGJhY2sgPSBzdGVwMy5iaW5kKHRoaXMpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBmdW5jdGlvbiBzdGVwMygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlxuICBOYXZpZ2F0aW5nIGJhY2sgdG8gQS4iKTsKLSAgICAgICAg
ICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5yZXNldCgpOwotICAgICAg
ICAgICAgICAgIHJlc2V0V29ya3NwYWNlKGJyZWFrcG9pbnRNYW5hZ2VyKTsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBSZXNvbHZpbmcgcHJvdmlzaW9uYWwgYnJl
YWtwb2ludC4iKTsKLSAgICAgICAgICAgICAgICBhZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUoYnJl
YWtwb2ludE1hbmFnZXIsICJhLmpzIikgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB2YXIg
ZXZlbnREYXRhID0geyBicmVha3BvaW50SWQ6ICJhLmpzOjEwIiwgbG9jYXRpb246IHsgc2NyaXB0
SWQ6ICJhLmpzIiwgbGluZU51bWJlcjogMTEsIGNvbHVtbk51bWJlcjogNSB9fTsKLSAgICAgICAg
ICAgICAgICBicmVha3BvaW50TWFuYWdlci5fZGVidWdnZXJNb2RlbC5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkJyZWFrcG9pbnRSZXNv
bHZlZCwgZXZlbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZGRVSVNvdXJjZUNvZGUoYnJlYWtw
b2ludE1hbmFnZXIsICJhLmpzIik7Ci0gICAgICAgICAgICAgICAgd2luZG93LnNldEJyZWFrcG9p
bnRDYWxsYmFjayA9IHN0ZXA0LmJpbmQodGhpcyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXNl
dEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlTWFwcGluZyhuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICAvLyBTb3VyY2UgbWFwcGluZyB3aWxsIHNoaWZ0IGV2
ZXJ0aGluZyAxMCBsaW5lcyBhaGVhZCBzbyB0aGF0IGJyZWFrcG9pbnQgMSBjbGFzaGVkIHdpdGgg
YnJlYWtwb2ludCAyLgotICAgICAgICAgICAgdmFyIHNlcmlhbGl6ZWRCcmVha3BvaW50cyA9IFtd
OwotICAgICAgICAgICAgc2VyaWFsaXplZEJyZWFrcG9pbnRzLnB1c2goY3JlYXRlQnJlYWtwb2lu
dCgiYS5qcyIsIDEwLCAiZm9vID09IGJhciIsIHRydWUpKTsKLSAgICAgICAgICAgIHNlcmlhbGl6
ZWRCcmVha3BvaW50cy5wdXNoKGNyZWF0ZUJyZWFrcG9pbnQoImEuanMiLCAyMCwgIiIsIHRydWUp
KTsKLQotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtwb2lu
dE1hbmFnZXIoc2VyaWFsaXplZEJyZWFrcG9pbnRzKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJj
ZUNvZGVBID0gYWRkVUlTb3VyY2VDb2RlKGJyZWFrcG9pbnRNYW5hZ2VyLCAiYS5qcyIpOwotICAg
ICAgICAgICAgd2luZG93LnNldEJyZWFrcG9pbnRDYWxsYmFjayA9IHN0ZXAyLmJpbmQodGhpcyk7
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDMuYmluZCh0aGlzKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJcbiAgVG9nZ2xp
bmcgc291cmNlIG1hcHBpbmcuIik7Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIu
X2RlYnVnZ2VyTW9kZWwucHVzaFNvdXJjZU1hcHBpbmcoc2hpZnRpbmdNYXBwaW5nKTsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiXG4gIFRvZ2dsaW5nIHNvdXJjZSBt
YXBwaW5nIGJhY2suIik7Ci0gICAgICAgICAgICAgICAgYnJlYWtwb2ludE1hbmFnZXIuX2RlYnVn
Z2VyTW9kZWwuZGlzYWJsZVNvdXJjZU1hcHBpbmcoc2hpZnRpbmdNYXBwaW5nKTsKLSAgICAgICAg
ICAgICAgICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UHJvdmlz
aW9uYWxCcmVha3BvaW50c1Jlc29sdmUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFy
IHNlcmlhbGl6ZWRCcmVha3BvaW50cyA9IFtdOwotICAgICAgICAgICAgc2VyaWFsaXplZEJyZWFr
cG9pbnRzLnB1c2goY3JlYXRlQnJlYWtwb2ludCgiYS5qcyIsIDEwLCAiZm9vID09IGJhciIsIHRy
dWUpKTsKLQotICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnRNYW5hZ2VyID0gY3JlYXRlQnJlYWtw
b2ludE1hbmFnZXIoc2VyaWFsaXplZEJyZWFrcG9pbnRzKTsKLSAgICAgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUgPSBhZGRVSVNvdXJjZUNvZGUoYnJlYWtwb2ludE1hbmFnZXIsICJhLmpzIik7Ci0g
ICAgICAgICAgICB3aW5kb3cuc2V0QnJlYWtwb2ludENhbGxiYWNrID0gc3RlcDIuYmluZCh0aGlz
KTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLnJlc2V0KCk7Ci0gICAg
ICAgICAgICAgICAgcmVzZXRXb3Jrc3BhY2UoYnJlYWtwb2ludE1hbmFnZXIpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgIFJlc29sdmluZyBwcm92aXNpb25hbCBi
cmVha3BvaW50LiIpOwotICAgICAgICAgICAgICAgIGFkZFRlbXBvcmFyeVVJU291cmNlQ29kZShi
cmVha3BvaW50TWFuYWdlciwgImEuanMiKSAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHZh
ciBldmVudERhdGEgPSB7IGJyZWFrcG9pbnRJZDogImEuanM6MTAiLCBsb2NhdGlvbjogeyBzY3Jp
cHRJZDogImEuanMiLCBsaW5lTnVtYmVyOiAxMSwgY29sdW1uTnVtYmVyOiA1IH19OwotICAgICAg
ICAgICAgICAgIGJyZWFrcG9pbnRNYW5hZ2VyLl9kZWJ1Z2dlck1vZGVsLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuQnJlYWtwb2ludFJl
c29sdmVkLCBldmVudERhdGEpOwotICAgICAgICAgICAgICAgIHZhciBicmVha3BvaW50cyA9IGJy
ZWFrcG9pbnRNYW5hZ2VyLl9icmVha3BvaW50cy5rZXlzKCk7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoYnJlYWtwb2ludHMubGVuZ3RoLCAxLCAiRXhhY3RseSBv
bmUgYnJlYWtwb2ludCBzaG91bGQgYmUgcmVnaXN0ZXJlZCBpbiBicmVha3BvaW50IG1hbmFnZXIu
Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFicmVha3BvaW50
c1swXS5fcHJpbWFyeVVJTG9jYXRpb24sICJfcHJpbWFyeVVJTG9jYXRpb24gZmllbGQgc2hvdWxk
IGJlIGNsZWFyZWQgZm9yIHByb3Zpc2lvbmFsIGJyZWFwb2ludC4iKTsKLSAgICAgICAgICAgICAg
ICByZXNldEJyZWFrcG9pbnRNYW5hZ2VyKGJyZWFrcG9pbnRNYW5hZ2VyLCBuZXh0KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIF0pOwotfTsKLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4K
LQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgQnJlYWtwb2ludE1hbmFnZXIg
Y2xhc3MuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvY29weS1zdGFjay10cmFjZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvY29weS1zdGFjay10cmFj
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhMDNmZmU2ZjZh
ZmI0M2E3MDhkNmMzNjcwZGQ1NmU0NzAwODA3MjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2NvcHktc3RhY2stdHJhY2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIg
KzAsMCBAQAotVGVzdHMgdGhhdCBkZWJ1Z2dlciB3aWxsIGNvcHkgdmFsaWQgc3RhY2sgdHJhY2Ug
dXBvbiBjb250ZXh0IG1lbnUgYWN0aW9uLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0
aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotZnVuY3Rp
b25CYXogKGNvcHktc3RhY2stdHJhY2UuaHRtbDoxOSkKLWZ1bmN0aW9uQmFyIChjb3B5LXN0YWNr
LXRyYWNlLmh0bWw6MTQpCi10ZXN0RnVuY3Rpb24gKGNvcHktc3RhY2stdHJhY2UuaHRtbDo5KQot
Ci1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9jb3B5LXN0
YWNrLXRyYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
Y29weS1zdGFjay10cmFjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTky
ZjE2NDFhNDk1MmY4YzRlYWRiZWNkODJlZjRjZDU1ZWMwMmNjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9jb3B5LXN0YWNrLXRyYWNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rpb25CYXIoKTsKLX0KLQot
ZnVuY3Rpb24gZnVuY3Rpb25CYXIoKQotewotICAgIGZ1bmN0aW9uQmF6KCk7Ci19Ci0KLWZ1bmN0
aW9uIGZ1bmN0aW9uQmF6KCkKLXsKLSAgICBkZWJ1Z2dlcjsKLX0KLQotdmFyIHRlc3QgPSBmdW5j
dGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRl
c3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNvcHlUZXh0
ID0gSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQuYmluZChJbnNwZWN0b3JUZXN0KTsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2suX2NvcHlT
dGFja1RyYWNlKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3Qo
KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZGVidWdnZXIgd2lsbCBjb3B5IHZhbGlkIHN0YWNrIHRy
YWNlIHVwb24gY29udGV4dCBtZW51IGFjdGlvbi4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVn
Z2VyLWFjdGl2YXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzAxZWY1NGE4MzE1NTI5MTc0NWYxNzhh
NDA4YmEwOTQ2Nzg5MDZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1h
Y3RpdmF0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBA
QAotVGVzdHMgZm9yIGEgY3Jhc2ggY2F1c2VkIGJ5IGluYWNjdXJhdGUgQWN0aXZhdGlvbiByZWNv
cmRzLiA8cmRhcjovL3Byb2JsZW0vODUyNTkwNz4gQ3Jhc2ggaW4gZGVidWdnZXIgYmVuZWF0aCBN
YXJrU3RhY2s6OmRyYWluIEAgbWUuY29tLCBpYm0uY29tCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVk
LgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWFjdGl2YXRp
b24tY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQwNTc3MGNhOTYx
MzllMDk5MzdiY2ZkNGE1ZjkyY2FiZjkxZGNlYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDIg
KzAsMCBAQAotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLXZhciBjbG9zdXJl
cyA9IFtdOwotZnVuY3Rpb24gbWFrZUNsb3N1cmUoKSB7Ci0gICAgdmFyIHYxLCB2MiwgdjMsIHY0
LCB2NSwgdjYsIHY3LCB2OCwgdjksIHYxMDsgLy8gTWFrZSBhIGxvdCBvZiBwb3RlbnRpYWxseSBj
YXB0dXJlZCB2YXJpYWJsZXMuCi0gICAgcmV0dXJuIGZ1bmN0aW9uICgpeyByZXR1cm4gdjE7IH07
IC8vIEJ1dCBvbmx5IGNhcHR1cmUgb25lIGluIG9wdGltaXppbmcgY29tcGlsZXMuCi19Ci0KLWZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKLSAgICBjbG9zdXJlcy5wdXNoKG1ha2VDbG9z
dXJlKCkpOwotfQotCi1mdW5jdGlvbiB0cnlDcmFzaCgpIHsKLSAgICBtYWtlQ2xvc3VyZSgpOyAv
LyBGb3JjZSByZWNvbXBpbGF0aW9uLgotICAgIAotICAgIC8vIEF0IHRoaXMgcG9pbnQsIHdlIHNo
b3VsZCBoYXZlIDEwMCBhY3RpdmF0aW9ucyB0aGF0IGNhcHR1cmVkIDEgdmFyaWFibGUKLSAgICAv
LyBidXQgdGhpbmsgdGhleSBjYXB0dXJlZCAxMC4gSWYgc28sIEdDIHNob3VsZCBtYWtlIHRoZW0g
Y3Jhc2guCi0gICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCi0gICAgICAgIEdDQ29udHJvbGxl
ci5jb2xsZWN0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDA7ICsraSkKLSAgICAgICAgICAgIG5ldyBPYmplY3Q7Ci0gICAgfQotfQotCi1mdW5jdGlvbiB0
ZXN0KCkgewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3QoZnVuY3Rpb24gKCkg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0cnlDcmFzaCgpIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAgICB9KTsKLX0K
LQotd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7Ci08L3NjcmlwdD4KLQotPHA+Ci1UZXN0cyBmb3Ig
YSBjcmFzaCBjYXVzZWQgYnkgaW5hY2N1cmF0ZSBBY3RpdmF0aW9uIHJlY29yZHMuCi0mbHQ7cmRh
cjovL3Byb2JsZW0vODUyNTkwNyZndDsgQ3Jhc2ggaW4gZGVidWdnZXIgYmVuZWF0aCBNYXJrU3Rh
Y2s6OmRyYWluIEAgbWUuY29tLCBpYm0uY29tCi08L3A+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNo
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjZTUzMTY1ZTgwOGUxZGE3MTAyODc5NTg3ZWEwMzY4ODRmYWYxNjZiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoMi1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyBmb3IgYSBj
cmFzaCB3aGVuIHBhdXNlZCBhdCBhIGJyZWFrcG9pbnQgY2F1c2VkIGJ5IGluYWNjdXJhdGUgQWN0
aXZhdGlvbiByZWNvcmRzLiBCdWcgNTcxMjAKLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TY3Jp
cHQgc291cmNlIHdhcyBzaG93bi4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlw
dCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSAgKGRlYnVnZ2VyLWFjdGl2
YXRpb24tY3Jhc2gyLmh0bWwpCi0gICAgMSkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1hY3RpdmF0
aW9uLWNyYXNoMi5odG1sKQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2Fz
IGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItYWN0aXZhdGlvbi1jcmFzaDIuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hY3RpdmF0aW9uLWNyYXNoMi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMWE3MThhYjE1OTNjOWI0MjA4MzA5YTIx
MGEzMTBlOWJiYzJjM2JhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1h
Y3RpdmF0aW9uLWNyYXNoMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLXZhciBjbG9zdXJlcyA9IFtdOwotZnVu
Y3Rpb24gbWFrZUNsb3N1cmUoKSB7Ci0gICAgdmFyIHYxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3
LCB2OCwgdjksIHYxMDsgLy8gTWFrZSBhIGxvdCBvZiBwb3RlbnRpYWxseSBjYXB0dXJlZCB2YXJp
YWJsZXMuCi0gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgCi0gICAgICAgIHZhciB4ID0gdjE7IC8v
IEJ1dCBvbmx5IGNhcHR1cmUgb25lIGluIG9wdGltaXppbmcgY29tcGlsZXMuCi0gICAgICAgIHJl
dHVybiB4OwotICAgIH07Ci19Ci0KLWZvciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKLSAg
ICBjbG9zdXJlcy5wdXNoKG1ha2VDbG9zdXJlKCkpOwotfQotCi1jbG9zdXJlc1swXSgpOyAvLyBG
b3JjZSBjb21waWxhdGlvbi4KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpIHsKLSAgICBjbG9zdXJl
c1swXSgpOyAvLyBGb3JjZSByZWNvbXBpbGF0aW9uLgotICAgIAotICAgIC8vIEF0IHRoaXMgcG9p
bnQsIGNsb3N1cmVzWzBdIGNhcHR1cmVkIDEgdmFyaWFibGUgYnV0IHRoaW5rcyBpdCBjYXB0dXJl
ZCAxMC4KLSAgICAvLyBJZiBzbywgc3RvcHBpbmcgYXQgYSBicmVha3BvaW50IHNob3VsZCBtYWtl
IGl0IGNyYXNoLgotfQotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIEluc3BlY3RvclRlc3Quc3Rh
cnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJkZWJ1Z2dlci1hY3RpdmF0aW9u
LWNyYXNoMi5odG1sIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKHNvdXJj
ZUZyYW1lKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBz
b3VyY2Ugd2FzIHNob3duLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNldEJyZWFrcG9pbnQo
c291cmNlRnJhbWUsIDgsICIiLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0
RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAzKGNhbGxGcmFtZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVT
dGFja1RyYWNlKGNhbGxGcmFtZXMsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi13aW5kb3cub25sb2FkID0gcnVuVGVzdDsK
LTwvc2NyaXB0PgotCi08cD4KLVRlc3RzIGZvciBhIGNyYXNoIHdoZW4gcGF1c2VkIGF0IGEgYnJl
YWtwb2ludCBjYXVzZWQgYnkgaW5hY2N1cmF0ZSBBY3RpdmF0aW9uIHJlY29yZHMuCi08YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcxMjAiPkJ1ZyA1NzEy
MDwvYT4KLTwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRv
Y29udGludWUtb24tc3ludGF4LWVycm9yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWVkZjk1OWJkMTZhZDE1NjQ1ZmYxYjBjNGRjNDZlYzc0NDhiYTJmZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVlLW9uLXN5bnRh
eC1lcnJvci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA0OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKScKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA4OiBJZnJhbWUgbG9hZGVkCi1UZXN0cyB0aGF0IGRlYnVnZ2Vy
IHdvbid0IHN0b3Agb24gc3ludGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBvbiB1bmNhdWdodCBl
eGNlcHRpb25zIiBpcyBvbi4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1EZWJ1Z2dlciB3YXMg
ZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYXV0b2NvbnRpbnVl
LW9uLXN5bnRheC1lcnJvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDgx
OTZiMGVkYzAwYzk5ZTcxNWE2MjVlYjcyZjY0NDFlMjRmNGE3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1hdXRvY29udGludWUtb24tc3ludGF4LWVycm9yLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvYWRJZnJhbWUoKQotewotICAgIHZh
ciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUu
c3JjID0gInJlc291cmNlcy9zeW50YXgtZXJyb3IuaHRtbCI7Ci0gICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNw
ZWN0b3Iuc2hvd1BhbmVsKCJzY3JpcHRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVn
Z2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBE
ZWJ1Z2dlckFnZW50LnNldFBhdXNlT25FeGNlcHRpb25zKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1v
ZGVsLlBhdXNlT25FeGNlcHRpb25zU3RhdGUuUGF1c2VPblVuY2F1Z2h0RXhjZXB0aW9ucyk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSWZyYW1lKCkiKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
RGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGRlYnVnZ2VyIHdvbid0IHN0b3Ag
b24gc3ludGF4IGVycm9ycyBldmVuIGlmICJwYXVzZSBvbiB1bmNhdWdodCBleGNlcHRpb25zIiBp
cyBvbi4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5vdC1hY3Rp
dmF0ZWQtb24tcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1icmVha3BvaW50cy1ub3QtYWN0aXZhdGVkLW9uLXJlbG9h
ZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViYjA2ZTQyZWZj
Y2JkZjkzY2I0NjlmZTcxOGZlYTdkYmI5YWRjMmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5vdC1hY3RpdmF0ZWQtb24tcmVsb2FkLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotVGVzdHMgdGhhdCBicmVha3BvaW50
cyBhcmUgbm90IGFjdGl2YXRlZCBvbiBwYWdlIHJlbG9hZC5CdWcgNDE0NjEKLQotRGVidWdnZXIg
d2FzIGVuYWJsZWQuCi1NYWluIHJlc291cmNlIHdhcyBzaG93bi4KLVBhZ2UgcmVsb2FkZWQuCi1N
YWluIHJlc291cmNlIHdhcyBzaG93bi4KLUJyZWFrcG9pbnRzIGFyZSBkZWFjdGl2YXRlZC4KLURl
YnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWJyZWFrcG9pbnRzLW5vdC1hY3RpdmF0ZWQtb24t
cmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVi
dWdnZXItYnJlYWtwb2ludHMtbm90LWFjdGl2YXRlZC1vbi1yZWxvYWQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYmFlYTU3YWJhMTc0OGE4YzFiMjZhOGIwNjFlMzAxNmRhOTdl
ODA1ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItYnJlYWtwb2ludHMt
bm90LWFjdGl2YXRlZC1vbi1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotdmFyIHRlc3Qg
PSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHRlc3ROYW1lID0gV2ViSW5zcGVjdG9yLmluc3BlY3Rl
ZFBhZ2VVUkw7Ci0gICAgdGVzdE5hbWUgPSB0ZXN0TmFtZS5zdWJzdHJpbmcodGVzdE5hbWUubGFz
dEluZGV4T2YoJy8nKSArIDEpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVz
dChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UodGVzdE5hbWUsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMihzb3VyY2VGcmFtZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJNYWluIHJlc291cmNlIHdhcyBzaG93bi4iKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5zZXRCcmVha3BvaW50KHNvdXJjZUZyYW1lLCA4LCAiIiwgdHJ1ZSk7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fdG9nZ2xlQnJlYWtwb2ludHNCdXR0b24uZWxlbWVu
dC5jbGljaygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDMpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJNYWluIHJlc291cmNlIHdhcyBzaG93bi4iKTsKLSAgICAgICAgaWYgKCFXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5icmVha3BvaW50c0FjdGl2ZSgpKQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJyZWFrcG9pbnRzIGFyZSBkZWFjdGl2YXRlZC4iKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVycm9y
OiBicmVha3BvaW50cyBhcmUgYWN0aXZhdGVkLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfTsKLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBicmVha3BvaW50cyBh
cmUgbm90IGFjdGl2YXRlZCBvbiBwYWdlIHJlbG9hZC48YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0NjEiPkJ1ZyA0MTQ2MTwvYT4KLTwvcD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9kZWJ1Z2dlci1jb21waWxlLWFuZC1ydW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjMTliNWNjM2U1NWM0
ZmE5OTA4NjdiNWFlN2FjN2MxNjI0YmY2ZmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyMCArMCwwIEBACi1UZXN0cyBzZXBhcmF0ZSBjb21waWxhdGlvbiBhbmQgcnVuLgotCi1CdWcg
ODk2NDYuCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLQotUnVubmluZzogdGVzdFN1Y2Nlc3NmdWxD
b21waWxlQW5kUnVuCi1Db21waWxpbmcgc2NyaXB0Ci1SdW5uaW5nIHNjcmlwdAotU2NyaXB0IHJl
c3VsdDogMwotCi1SdW5uaW5nOiB0ZXN0UnVuRXJyb3IKLUNvbXBpbGluZyBzY3JpcHQKLVJ1bm5p
bmcgc2NyaXB0Ci1TY3JpcHQgcnVuIGVycm9yOiBVbmNhdWdodCBSZWZlcmVuY2VFcnJvcjogYyBp
cyBub3QgZGVmaW5lZAotCi1SdW5uaW5nOiB0ZXN0Q29tcGlsZUVycm9yCi1Db21waWxpbmcgc2Ny
aXB0Ci1TY3JpcHQgY29tcGlsZSBlcnJvcjogVW5jYXVnaHQgU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgdG9rZW4gfQotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGlsZS1hbmQtcnVu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
Y29tcGlsZS1hbmQtcnVuLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3MmY3
ZGI5NzRmNTVkNjZjMjZkN2JiOGFjODk1OTk5YzA1NTc2ZTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBpbGUtYW5kLXJ1bi5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsODEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5E
ZWJ1Z2dlclRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTdWNjZXNzZnVsQ29tcGls
ZUFuZFJ1bihuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZXhwcmVzc2lvbiA9ICJ2
YXIgYSA9IDE7IHZhciBiID0gMjsgYSArIGI7ICI7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiQ29tcGlsaW5nIHNjcmlwdCIpOwotICAgICAgICAgICAgRGVidWdnZXJBZ2Vu
dC5jb21waWxlU2NyaXB0KGV4cHJlc3Npb24sICJ0ZXN0LmpzIiwgY29tcGlsZUNhbGxiYWNrLmJp
bmQodGhpcykpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBjb21waWxlQ2FsbGJhY2soZXJyb3Is
IHNjcmlwdElkLCBzeW50YXhFcnJvck1lc3NhZ2UpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFlcnJvcik7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFzeW50YXhFcnJvck1lc3NhZ2UpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghIXNjcmlwdElkKTsKLSAgICAgICAgICAg
ICAgICB2YXIgY29udGV4dElkID0gdW5kZWZpbmVkOwotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSdW5uaW5nIHNjcmlwdCIpOwotICAgICAgICAgICAgICAgIERlYnVn
Z2VyQWdlbnQucnVuU2NyaXB0KHNjcmlwdElkLCBjb250ZXh0SWQsICJjb25zb2xlIiwgZmFsc2Us
IHJ1bkNhbGxiYWNrLmJpbmQodGhpcykpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBm
dW5jdGlvbiBydW5DYWxsYmFjayhlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFlcnJvcik7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCF3YXNUaHJvd24pOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgcmVzdWx0OiAiICsg
cmVzdWx0LnZhbHVlKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJ1bkVycm9yKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHZhciBleHByZXNzaW9uID0gInZhciBhID0gMTsgYSArIGM7ICI7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ29tcGlsaW5nIHNjcmlwdCIpOwot
ICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5jb21waWxlU2NyaXB0KGV4cHJlc3Npb24sICJ0ZXN0
LmpzIiwgY29tcGlsZUNhbGxiYWNrLmJpbmQodGhpcykpOwotCi0gICAgICAgICAgICBmdW5jdGlv
biBjb21waWxlQ2FsbGJhY2soZXJyb3IsIHNjcmlwdElkLCBzeW50YXhFcnJvck1lc3NhZ2UpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFl
cnJvcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFzeW50YXhF
cnJvck1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSgh
IXNjcmlwdElkKTsKLSAgICAgICAgICAgICAgICB2YXIgY29udGV4dElkID0gdW5kZWZpbmVkOwot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSdW5uaW5nIHNjcmlwdCIp
OwotICAgICAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQucnVuU2NyaXB0KHNjcmlwdElkLCBjb250
ZXh0SWQsICJjb25zb2xlIiwgZmFsc2UsIHJ1bkNhbGxiYWNrLmJpbmQodGhpcykpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBydW5DYWxsYmFjayhlcnJvciwgcmVzdWx0
LCB3YXNUaHJvd24pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKCFlcnJvcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRUcnVlKHdhc1Rocm93bik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlNjcmlwdCBydW4gZXJyb3I6ICIgKyByZXN1bHQuZGVzY3JpcHRpb24pOwotICAgICAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5j
dGlvbiB0ZXN0Q29tcGlsZUVycm9yKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBl
eHByZXNzaW9uID0gIn0iOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNv
bXBpbGluZyBzY3JpcHQiKTsKLSAgICAgICAgICAgIERlYnVnZ2VyQWdlbnQuY29tcGlsZVNjcmlw
dChleHByZXNzaW9uLCAidGVzdC5qcyIsIGNvbXBpbGVDYWxsYmFjay5iaW5kKHRoaXMpKTsKLQot
ICAgICAgICAgICAgZnVuY3Rpb24gY29tcGlsZUNhbGxiYWNrKGVycm9yLCBzY3JpcHRJZCwgc3lu
dGF4RXJyb3JNZXNzYWdlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0VHJ1ZSghZXJyb3IpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YXNzZXJ0VHJ1ZSghc2NyaXB0SWQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJTY3JpcHQgY29tcGlsZSBlcnJvcjogIiArIHN5bnRheEVycm9yTWVzc2FnZSk7Ci0g
ICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRl
c3RzIHNlcGFyYXRlIGNvbXBpbGF0aW9uIGFuZCBydW4uPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NjQ2Ij5CdWcgODk2NDYuPC9hPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBsZXRpb25zLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBs
ZXRpb25zLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkM2NjZDBiNmVmNjQ4M2IyYjZkNGQxOWZkODJkY2I1ODJmNDA1NGNiLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1jb21wbGV0aW9ucy1vbi1jYWxsLWZyYW1l
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRlc3QgdGhhdCBj
b21wbGV0aW9ucyBpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FsbCBmcmFtZSB3aWxsIHJlc3VsdCBp
biBuYW1lcyBvZiBpdHMgc2NvcGUgdmFyaWFibGVzLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4K
LVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgot
dmFyMQotdmFyMgotZGlyCi1kaXJ4bWwKLXdpbmRvdwotdGhpcwotdG9FeHBvbmVudGlhbAotU2Ny
aXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29t
cGxldGlvbnMtb24tY2FsbC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWNvbXBsZXRpb25zLW9uLWNhbGwtZnJhbWUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWY3Mjg2NjQyODJkNDczODRhNzNiNmJiNTZhZDY5
MzRlZWZlYWQ1OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY29tcGxl
dGlvbnMtb24tY2FsbC1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIg
YSA9IDE7Ci1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIHZhciB2YXIxID0gMjsKLSAg
ICB2YXIgdmFyMiA9IDM7Ci0gICAgZGVidWdnZXI7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24o
KQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAg
ZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVu
Y3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuX2NvbXBsZXRp
b25zRm9yRXhwcmVzc2lvbigiIiwgInZhciIsIGZhbHNlLCBjaGVja0FnYWluc3RHb2xkZW4uYmlu
ZCh0aGlzLCBbICJ2YXIxIiwgInZhcjIiIF0sIFtdLCBzdGVwMykpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwu
X2NvbXBsZXRpb25zRm9yRXhwcmVzc2lvbigiIiwgImRpIiwgZmFsc2UsIGNoZWNrQWdhaW5zdEdv
bGRlbi5iaW5kKHRoaXMsIFsgImRpciIsICJkaXJ4bWwiIF0sIFtdLCBzdGVwNCkpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5ydW50
aW1lTW9kZWwuX2NvbXBsZXRpb25zRm9yRXhwcmVzc2lvbigiIiwgIndpbiIsIGZhbHNlLCBjaGVj
a0FnYWluc3RHb2xkZW4uYmluZCh0aGlzLCBbICJ3aW5kb3ciIF0sIFtdLCBzdGVwNSkpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5y
dW50aW1lTW9kZWwuX2NvbXBsZXRpb25zRm9yRXhwcmVzc2lvbigiIiwgInQiLCBmYWxzZSwgY2hl
Y2tBZ2FpbnN0R29sZGVuLmJpbmQodGhpcywgWyAidGhpcyIgXSwgW10sIHN0ZXA2KSk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3RlcDYoKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnJ1
bnRpbWVNb2RlbC5fY29tcGxldGlvbnNGb3JFeHByZXNzaW9uKCJ2YXIxIiwgInRvRXhwIiwgZmFs
c2UsIGNoZWNrQWdhaW5zdEdvbGRlbi5iaW5kKHRoaXMsIFsgInRvRXhwb25lbnRpYWwiIF0sIFtd
LCBzdGVwNykpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3KCkKLSAgICB7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5ydW50aW1lTW9kZWwuX2NvbXBsZXRpb25zRm9yRXhwcmVzc2lvbigiMTIz
IiwgInRvRXhwIiwgZmFsc2UsIGNoZWNrQWdhaW5zdEdvbGRlbi5iaW5kKHRoaXMsIFtdLCBbICJ0
b0V4cG9uZW50aWFsIiBdLCBzdGVwOCkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA4KCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBjaGVja0FnYWluc3RHb2xkZW4oZ29sZGVuLCBhbnRpR29sZGVu
LCBjb250aW51YXRpb24sIGNvbXBsZXRpb25zKQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBnb2xkZW4ubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChjb21wbGV0aW9u
cy5pbmRleE9mKGdvbGRlbltpXSkgIT09IC0xKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KGdvbGRlbltpXSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5PVCBGT1VORDogIiArIGdvbGRlbltpXSk7Ci0g
ICAgICAgIH0KLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFudGlHb2xkZW4ubGVuZ3Ro
OyArK2kpIHsKLSAgICAgICAgICAgIGlmIChjb21wbGV0aW9ucy5pbmRleE9mKGFudGlHb2xkZW5b
aV0pICE9PSAtMSkKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRk9V
TkQ6ICIgKyBhbnRpR29sZGVuW2ldKTsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnRpbnVhdGlv
bigpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPgotVGVzdCB0aGF0IGNvbXBsZXRpb25zIGluIHRoZSBjb250ZXh0IG9mIHRo
ZSBjYWxsIGZyYW1lIHdpbGwgcmVzdWx0IGluIG5hbWVzCi1vZiBpdHMgc2NvcGUgdmFyaWFibGVz
LgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY3ljbGljLXJlZi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY3ljbGlj
LXJlZi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNTRlMWFj
NGQ4YzcwYzg5ZDcyYTdkMDhiOGI5ZDE1NTg1M2M1NzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Rl
YnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsOCArMCwwIEBACi1UZXN0cyB0aGF0IGRlYnVnZ2luZyBhIHBhZ2Ugd2hlcmUgT2JqZWN0IHBy
b3RvdHlwZSBoYXMgYSBjeWNsaWMgcmVmZXJlbmNlIHdvbid0IGNyYXNoIHRoZSBicm93c2VyLkJ1
ZyA0MzU1OAotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5j
dGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVk
LgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItY3ljbGljLXJlZi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWN5Y2xpYy1yZWYuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRjNmQzODQxMjFlZDJmOTcxOTM0ODhi
YzczNWFjNDZjODJjMDZmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
Y3ljbGljLXJlZi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1PYmplY3QucHJvdG90
eXBlLmN5Y2xpY1JlZiA9IE9iamVjdC5wcm90b3R5cGU7Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlv
bigpCi17Ci0gICAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7Ci0gICAgZGVidWdnZXI7Ci19Ci0KLXZh
ciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRl
c3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZGVidWdnaW5nIGEgcGFn
ZSB3aGVyZSBPYmplY3QgcHJvdG90eXBlIGhhcyBhIGN5Y2xpYyByZWZlcmVuY2Ugd29uJ3QKLWNy
YXNoIHRoZSBicm93c2VyLjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MzU1OCI+QnVnIDQzNTU4PC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdn
ZXItZXZhbC1vbi1jYWxsLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTEzODhjZmE5ZDdiYTQ3MDhjNWI1
ZGMyYTg0ZmJmMjYwYTJhMmU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dl
ci1ldmFsLW9uLWNhbGwtZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSAr
MCwwIEBACi1UZXN0IHRoYXQgZXZhbHVhdGlvbiBpbiB0aGUgY29udGV4dCBvZiB0b3AgZnJhbWUg
d2lsbCBzZWUgdmFsdWVzIG9mIGl0cyBsb2NhbCB2YXJpYWJsZXMsIGV2ZW4gaWYgdGhlcmUgYXJl
IGdsb2JhbCB2YXJpYWJsZXMgd2l0aCBzYW1lIG5hbWVzLiBPbiBzdWNjZXNzIHRoZSB0ZXN0IHdp
bGwgcHJpbnQgYSA9IDIodmFsdWUgb2YgdGhlIGxvY2FsIHZhcmlhYmxlIGEpLiBCdWcgNDczNTgu
Ci0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgot
U2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1FdmFsdWF0ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9w
IGZyYW1lIGNvbnRleHQ6IGEgPSAyCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dl
ciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLW9uLWNhbGwtZnJhbWUuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLW9uLWNhbGwtZnJh
bWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTkyODhkZWQwMGU0NGI2YjQw
NjUzYjE2YzRkNjFhZDhhYWVmYzBkMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVi
dWdnZXItZXZhbC1vbi1jYWxsLWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LXZhciBhID0gMTsKLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0gICAgdmFyIGEgPSAyOwot
ICAgIGRlYnVnZ2VyOwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0
b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGls
UGF1c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJhIiwgc3RlcDMpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAzKHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJFdmFsdWF0ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRl
eHQ6IGEgPSAiICsgcmVzdWx0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVn
Z2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdCB0aGF0IGV2YWx1YXRpb24gaW4gdGhlIGNvbnRleHQg
b2YgdG9wIGZyYW1lIHdpbGwgc2VlIHZhbHVlcwotb2YgaXRzIGxvY2FsIHZhcmlhYmxlcywgZXZl
biBpZiB0aGVyZSBhcmUgZ2xvYmFsIHZhcmlhYmxlcyB3aXRoCi1zYW1lIG5hbWVzLiBPbiBzdWNj
ZXNzIHRoZSB0ZXN0IHdpbGwgcHJpbnQgYSA9IDIodmFsdWUgb2YgdGhlCi1sb2NhbCB2YXJpYWJs
ZSBhKS4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
MzU4Ij5CdWcgNDczNTguPC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItZXZhbC13
aGlsZS1wYXVzZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1c2VkLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY0ZGQzMGZjMmRkYWU0MjY2NDZhZTFiMjZiMjVlZTI5
OTQ4ZTkwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItZXZhbC13aGls
ZS1wYXVzZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVz
dHMgdGhhdCBldmFsdWF0aW9uIGluIGNvbnNvbGUgd29ya3MgZmluZSB3aGVuIHNjcmlwdCBpcyBw
YXVzZWQuIEl0IGFsc28gY2hlY2tzIHRoYXQgc3RhY2sgYW5kIGdsb2JhbCB2YXJpYWJsZXMgYXJl
IGFjY2Vzc2libGUgZnJvbSB0aGUgY29uc29sZS4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1T
ZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUV2
YWx1YXRlZCBzY3JpcHQgb24gdGhlIHRvcCBmcmFtZTogNDAyMQotRXZhbHVhdGVkIHNjcmlwdCBv
biB0aGUgY2FsbGluZyBmcmFtZTogMzAxCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1
Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1ldmFsLXdoaWxlLXBhdXNlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLWV2YWwtd2hpbGUtcGF1
c2VkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwNjAyYzgwYmIxYzI1YmI0
MmI2ZTA1OTVkMjgzNjE0NTliMmZjZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Rl
YnVnZ2VyLWV2YWwtd2hpbGUtcGF1c2VkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LXZhciBnbG9iYWxWYXIgPSB7IGI6IDEgfTsKLQotZnVuY3Rpb24gc2xhdmUoeCkKLXsKLSAgICB2
YXIgeSA9IDIwOwotICAgIGRlYnVnZ2VyOwotfQotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQot
ewotICAgIHZhciBsb2NhbE9iamVjdCA9IHsgYTogMzAwIH07Ci0gICAgc2xhdmUoNDAwMCk7Ci19
Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1
Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKGNhbGxGcmFtZXMpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJ4ICsgeSArIGdsb2JhbFZhci5iIiwgc3Rl
cDMuYmluZChudWxsLCBjYWxsRnJhbWVzKSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
Y2FsbEZyYW1lcywgcmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkV2YWx1YXRlZCBzY3JpcHQgb24gdGhlIHRvcCBmcmFtZTogIiArIHJlc3VsdCk7Ci0gICAg
ICAgIHZhciBwYW5lID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnNpZGViYXJQYW5lcy5j
YWxsc3RhY2s7Ci0gICAgICAgIHBhbmUuX3BsYWNhcmRTZWxlY3RlZChwYW5lLnBsYWNhcmRzWzFd
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXA0
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJsb2NhbE9iamVjdC5hICsgZ2xvYmFsVmFyLmIiLCBz
dGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUocmVzdWx0KQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV2YWx1YXRlZCBzY3JpcHQgb24gdGhlIGNhbGxp
bmcgZnJhbWU6ICIgKyByZXN1bHQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVi
dWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGV2YWx1YXRpb24gaW4gY29uc29sZSB3
b3JrcyBmaW5lIHdoZW4gc2NyaXB0IGlzIHBhdXNlZC4gSXQgYWxzbyBjaGVja3MgdGhhdAotc3Rh
Y2sgYW5kIGdsb2JhbCB2YXJpYWJsZXMgYXJlIGFjY2Vzc2libGUgZnJvbSB0aGUgY29uc29sZS4K
LTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLW5vLW5lc3RlZC1wYXVzZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItbm8t
bmVzdGVkLXBhdXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MjNiNDhmN2Y0YzFjZDFhNDkyODk4NDRlZGJkYmQ2MDUyMjdhYzFkZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvZGVidWdnZXItbm8tbmVzdGVkLXBhdXNlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgZGVidWdnZXIgd2lsbCBza2lw
IGJyZWFrcG9pbnQgaGl0IHdoZW4gc2NyaXB0IGV4ZWN1dGlvbiBpcyBhbHJlYWR5IHBhdXNlZC4g
U2VlIGJ1ZwotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5j
dGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0
aW9uLgotdGVzdEZ1bmN0aW9uLmludm9jYXRpb25Db3VudCA9IDIKLVNjcmlwdCBleGVjdXRpb24g
cmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLW5vLW5lc3RlZC1wYXVzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLW5v
LW5lc3RlZC1wYXVzZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNWVjZTI0
Njk5ZDQyN2E3OGIyMjM2Zjc4NTNhOTQ2YmUyMjA3OThmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9kZWJ1Z2dlci1uby1uZXN0ZWQtcGF1c2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDQ2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICB0ZXN0RnVuY3Rpb24uaW52
b2NhdGlvbkNvdW50Kys7Ci0gICAgZGVidWdnZXI7Ci19Ci0KLXRlc3RGdW5jdGlvbi5pbnZvY2F0
aW9uQ291bnQgPSAwOwotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1
c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJ0ZXN0RnVuY3Rpb24oKTsgdGVzdEZ1
bmN0aW9uLmludm9jYXRpb25Db3VudCIsIHN0ZXAzKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4iKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMyhyZXN1bHQpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgidGVzdEZ1bmN0aW9uLmludm9jYXRpb25Db3VudCA9ICIgKyByZXN1bHQpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0
aGF0IGRlYnVnZ2VyIHdpbGwgc2tpcCBicmVha3BvaW50IGhpdCB3aGVuIHNjcmlwdCBleGVjdXRp
b24gaXMgYWxyZWFkeSBwYXVzZWQuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MTc2OCI+U2VlIGJ1ZzwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Rl
YnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNmE1YThmMWI0YzU5
NjY2YzE0OWIzMmNhMmU2YjczZTQ4YTU0MmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDEwICswLDAgQEAKLVRlc3RzIHRoYXQgZGVidWdnZXIgd2lsbCBzdG9wIG9uICJkZWJ1
Z2dlciIgc3RhdGVtZW50IGluIGEgZnVuY3Rpb24gdGhhdCB3YXMgYWRkZWQgdG8gdGhlIGluc3Bl
Y3RlZCBwYWdlIHZpYSBldmFsdWF0aW9uIGluIFdlYiBJbnNwZWN0b3IgY29uc29sZS5CdWcgNDEw
NTgKLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1FdmFsdWF0ZWQgc2NyaXB0IGluIGNvbnNvbGUu
Ci1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgdGVzdEZ1bmN0
aW9uICg6MikKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxl
ZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXBhdXNlLWluLWV2YWwtc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2UtaW4tZXZhbC1zY3JpcHQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDViZGZjYmNmZjc3OTNlODRkZGFhYjlmYTcz
MTVmMmFiODJkYTlhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1
c2UtaW4tZXZhbC1zY3JpcHQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotCi12YXIg
dGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgc2NyaXB0VG9FdmFsdWF0ZSA9ICJmdW5jdGlv
biB0ZXN0RnVuY3Rpb24oKSB7XG4iICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAg
ZGVidWdnZXI7XG4iICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iICsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzZXRUaW1lb3V0KHRlc3RGdW5jdGlvbiwgMCk7XG4iOwot
Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKHNjcmlwdFRvRXZhbHVhdGUsIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0LmJpbmQoSW5zcGVj
dG9yVGVzdCwgIkV2YWx1YXRlZCBzY3JpcHQgaW4gY29uc29sZS4iKSk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMihjYWxsRnJhbWVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3Rh
Y2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVn
Z2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBkZWJ1Z2dlciB3aWxsIHN0b3Agb24gImRl
YnVnZ2VyIiBzdGF0ZW1lbnQgaW4gYSBmdW5jdGlvbiB0aGF0IHdhcyBhZGRlZAotdG8gdGhlIGlu
c3BlY3RlZCBwYWdlIHZpYSBldmFsdWF0aW9uIGluIFdlYiBJbnNwZWN0b3IgY29uc29sZS48YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDEwNTgiPkJ1ZyA0
MTA1ODwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWludGVybmFs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9k
ZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJiNGFiOTA1N2JkMmFkYWYyYmYyNWYxODIzYTc3YWNmYjViNjI4YjUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLWluLWludGVybmFsLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAyOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKScKLVRlc3RzIHRoYXQg
cGF1c2Ugb24gZXhjZXB0aW9uIGluIGludGVybmFsIHNjcmlwdCBkb2VzIG5vdCBjcmFzaC4KLQot
RGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TY3JpcHQgc291cmNlIHdhcyBzaG93bi4KLVNjcmlwdCBl
eGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSB0aHJvd0V4Y2VwdGlvbiAoZGVi
dWdnZXItcGF1c2UtaW4taW50ZXJuYWwuaHRtbDo5KQotICAgIDEpIGhhbmRsZUNsaWNrIChkZWJ1
Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC5odG1sOjE0KQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVk
LgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2UtaW4taW50ZXJuYWwuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1p
bi1pbnRlcm5hbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTQxN2RiNzU2
YjVjNzc4NTMyMWVhNDlkNmFhNjAzOTFlZDU2NjMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1wYXVzZS1pbi1pbnRlcm5hbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiB0aHJvd0V4Y2VwdGlvbigpCi17Ci0gICAgbmV3IEZ1bmN0aW9uKCJy
ZXR1cm4gKCkiKTsKLX0KLQotZnVuY3Rpb24gaGFuZGxlQ2xpY2soKQotewotICAgIHRocm93RXhj
ZXB0aW9uKCk7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRl
c3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRQYXVzZU9uRXhjZXB0aW9ucyhXZWJJbnNwZWN0
b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhjZXB0aW9uc1N0YXRlLlBhdXNlT25VbmNhdWdodEV4
Y2VwdGlvbnMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoImRlYnVn
Z2VyLXBhdXNlLWluLWludGVybmFsLmh0bWwiLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKSAgCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2Ny
aXB0IHNvdXJjZSB3YXMgc2hvd24uIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoInNldFRpbWVvdXQoaGFuZGxlQ2xpY2ssIDApIik7Ci0gICAgICAgIEluc3BlY3RvclRl
c3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhj
YWxsRnJhbWVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFj
ZShjYWxsRnJhbWVzKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVz
dCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24gaW4gaW50ZXJuYWwg
c2NyaXB0IGRvZXMgbm90IGNyYXNoLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1
c2Utb24tYmxvY2tlZC1ldmVudC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLWV2ZW50
LWhhbmRsZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOWI2
NGIwZGYzNmU0NWNlNTMyNWY4MTA0MTViYTY3MGFiMjljMTAzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRsZXItZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEzOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIGV2ZW50IGhhbmRsZXIgYmVjYXVzZSBp
dCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2
ZTogInNjcmlwdC1zcmMgJ3NlbGYnIi4KLQotVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24g
d29ya3MgZm9yIGlubGluZSBldmVudCBoYW5kbGVycyBibG9ja2VkIGJ5IENTUC4KLQotQnV0dG9u
Ci1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBz
dGFjazoKLSAgICAwKSB0ZXN0QWN0aW9uIChwYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRsZXIu
anM6NCkKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Rl
YnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtZXZlbnQtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtZXZl
bnQtaGFuZGxlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTIxM2U0OTk3
ZWFlNmNjMDViNDM5ZWY4YmFiYmEyMmVjZGY1ZTdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRsZXIuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDE1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBodHRwLWVxdWl2
PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAnc2VsZic7Ij4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhdXNlLW9u
LWJsb2NrZWQtZXZlbnQtaGFuZGxlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3BhdXNlLW9uLWJsb2NrZWQtYnktY3NwLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHA+Ci1UZXN0cyB0aGF0IHBhdXNlIG9uIGV4Y2VwdGlvbiB3b3JrcyBmb3IgaW5saW5lIGV2
ZW50IGhhbmRsZXJzIGJsb2NrZWQgYnkgQ1NQLgotPC9wPgotPGJ1dHRvbiBpZD0idGVzdCIgb25j
bGljaz0iYWxlcnQoJ0ZBSUwhJyk7Ij5CdXR0b248L2J1dHRvbj4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1
Z2dlci1wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJs
b2NrZWQtc2NyaXB0LWluamVjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDU5ZWYzODE4N2NkYzgxM2Y0NGI2NTQ0MTRmMWFiZmNiMDg4Y2E5NjIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWJsb2NrZWQtc2NyaXB0
LWluamVjdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2Ug
aXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3Rp
dmU6ICJzY3JpcHQtc3JjICdzZWxmJyIuCi0KLVRlc3RzIHRoYXQgcGF1c2Ugb24gZXhjZXB0aW9u
IHdvcmtzIGZvciBpbmxpbmUgc2NyaXB0cyBibG9ja2VkIGJ5IENTUC4KLQotRGVidWdnZXIgd2Fz
IGVuYWJsZWQuCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkg
dGVzdEFjdGlvbiAocGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLmpzOjUpCi1TY3Jp
cHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVz
ZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmplY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC1pbmpl
Y3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRmNzRjYWI4ZTlkYzZi
OWFmNmU2ZTgwMjNlZjRhZGFmYzBmZTEzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtaW5qZWN0aW9uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3NlbGYnOyI+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9wYXVzZS1vbi1i
bG9ja2VkLWJ5LWNzcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BhdXNl
LW9uLWJsb2NrZWQtc2NyaXB0LWluamVjdGlvbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxwPgotVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24gd29ya3MgZm9yIGlubGluZSBz
Y3JpcHRzIGJsb2NrZWQgYnkgQ1NQLgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNl
LW9uLWJsb2NrZWQtc2NyaXB0LXVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJs
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTllNjllNWVmYTk1
NjkzYTlhMzA0MTA2YmQzZTJjZjdhYmUxYTNjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBSZWZ1
c2VkIHRvIGV4ZWN1dGUgSmF2YVNjcmlwdCBVUkwgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9s
bG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Nl
bGYnIi4KLQotVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24gd29ya3MgZm9yIGlubGluZSBz
Y3JpcHQgVVJMcyBibG9ja2VkIGJ5IENTUC4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TY3Jp
cHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgdGVzdEFjdGlvbiAocGF1
c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLmpzOjYpCi1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQu
Ci1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC11
cmwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dl
ci1wYXVzZS1vbi1ibG9ja2VkLXNjcmlwdC11cmwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjczOTFlZDUzMzk0ZWY3NjU0ZWY5Zjk0MjlkZmRjY2E3ODVmZGIxMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQt
dXJsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNjcmlw
dC1zcmMgJ3NlbGYnOyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLWJ5LWNzcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxwPgotVGVzdHMgdGhhdCBwYXVzZSBvbiBleGNlcHRpb24gd29ya3Mg
Zm9yIGlubGluZSBzY3JpcHQgVVJMcyBibG9ja2VkIGJ5IENTUC4KLTwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dl
ci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWRl
YnVnZ2VyLXN0YXRlbWVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGQ3OGVlN2I0ZTQyMGNmY2I5ODM3YmRlNTA0YjYxMjRmNzIzN2YyZmUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRlbWVudC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRlc3RzIHRoYXQgZGVi
dWdnZXIgd2lsbCBzdG9wIG9uICJkZWJ1Z2dlciIgc3RhdGVtZW50LgotCi1EZWJ1Z2dlciB3YXMg
ZW5hYmxlZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlwdCBleGVjdXRpb24g
cGF1c2VkLgotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVk
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2Utb24tZGVidWdnZXItc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZGVidWdnZXItc3Rh
dGVtZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNmFlNjc0NTMxZjE4
ODhjZDU3YWU1YWZhNzQzMmE1MjkyMWQ5MDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXBhdXNlLW9uLWRlYnVnZ2VyLXN0YXRlbWVudC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIGRlYnVnZ2VyOwot
fQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVi
dWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGRlYnVnZ2Vy
IHdpbGwgc3RvcCBvbiAiZGVidWdnZXIiIHN0YXRlbWVudC4KLTwvcD4KLQotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2Vy
L2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1c2Utb24tZXhjZXB0aW9uLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdkYWE5ZjVmZjUwOGMz
YzViOTFlM2RhNmFkNjUzYmUzZjJkZGJkYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2Utb24tZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDEyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogdW5rbm93bl92YXIKLVRlc3RzIHRoYXQgcGF1c2Ugb24gZXhj
ZXB0aW9uIHdvcmtzLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVNjcmlwdCBzb3VyY2Ugd2Fz
IHNob3duLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIHRo
cm93QW5FeGNlcHRpb24gKGRlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1sOjkpCi0gICAg
MSkgaGFuZGxlQ2xpY2sgKGRlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1sOjE0KQotU2Ny
aXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcGF1
c2Utb24tZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvZGVidWdnZXItcGF1c2Utb24tZXhjZXB0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDYzMDE3Y2JhNTI4N2MxMWY0MDdlZTA1MjgxMmJmYTc1MjgzOThkZDIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0aHJvd0FuRXhjZXB0aW9u
KCkKLXsKLSAgICByZXR1cm4gdW5rbm93bl92YXI7Ci19Ci0KLWZ1bmN0aW9uIGhhbmRsZUNsaWNr
KCkKLXsKLSAgICB0aHJvd0FuRXhjZXB0aW9uKCk7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24o
KQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAg
ZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRQYXVzZU9u
RXhjZXB0aW9ucyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5QYXVzZU9uRXhjZXB0aW9uc1N0
YXRlLlBhdXNlT25VbmNhdWdodEV4Y2VwdGlvbnMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNo
b3dTY3JpcHRTb3VyY2UoImRlYnVnZ2VyLXBhdXNlLW9uLWV4Y2VwdGlvbi5odG1sIiwgc3RlcDIp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgc291cmNlIHdhcyBzaG93bi4iKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChoYW5kbGVDbGljaywgMCkiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDMpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4K
LQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHBhdXNlIG9uIGV4
Y2VwdGlvbiB3b3Jrcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWZh
aWxlZC1hc3NlcnRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXBhdXNlLW9uLWZhaWxlZC1hc3NlcnRpb24tZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTY4MjEwMGIwZDFkMmU3MGY4ODBh
NDUzMzNlMGVhM2NhMjM1ZTJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dl
ci1wYXVzZS1vbi1mYWlsZWQtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDExICswLDAgQEAKLVRlc3RzIHRoYXQgZGVidWdnZXIgYnJlYWtzIG9uIGZhaWxlZCBhc3Nl
cnRpb24gd2hlbiBwYXVzZSBvbiBleGNlcHRpb24gbW9kZSBpcyBlbmFibGVkLgotCi1EZWJ1Z2dl
ciB3YXMgZW5hYmxlZC4KLVNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLgotU2NyaXB0IGV4ZWN1dGlv
biBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIGZhaWxBc3NlcnRpb24gKGRlYnVnZ2VyLXBh
dXNlLW9uLWZhaWxlZC1hc3NlcnRpb24uaHRtbDo5KQotICAgIDEpIGhhbmRsZUNsaWNrIChkZWJ1
Z2dlci1wYXVzZS1vbi1mYWlsZWQtYXNzZXJ0aW9uLmh0bWw6MTQpCi1TY3JpcHQgZXhlY3V0aW9u
IHJlc3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1mYWlsZWQt
YXNzZXJ0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
ZGVidWdnZXItcGF1c2Utb24tZmFpbGVkLWFzc2VydGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0NTM5ZjM5YzdkNGIxOGU4NmFiNjhiMTgzMGVmNmY2NWI5NjE1MzgzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1wYXVzZS1vbi1mYWlsZWQtYXNz
ZXJ0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGZhaWxBc3Nl
cnRpb24oKQotewotICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTsKLX0KLQotZnVuY3Rpb24gaGFu
ZGxlQ2xpY2soKQotewotICAgIGZhaWxBc3NlcnRpb24oKTsKLX0KLQotdmFyIHRlc3QgPSBmdW5j
dGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBEZWJ1Z2dlckFnZW50LnNldFBh
dXNlT25FeGNlcHRpb25zKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLlBhdXNlT25FeGNlcHRp
b25zU3RhdGUuUGF1c2VPblVuY2F1Z2h0RXhjZXB0aW9ucyk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3Quc2hvd1NjcmlwdFNvdXJjZSgiZGVidWdnZXItcGF1c2Utb24tZmFpbGVkLWFzc2VydGlvbi5o
dG1sIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTY3JpcHQgc291cmNlIHdhcyBzaG93bi4iKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChoYW5kbGVD
bGljaywgMCkiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDMp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0
IGRlYnVnZ2VyIGJyZWFrcyBvbiBmYWlsZWQgYXNzZXJ0aW9uIHdoZW4gcGF1c2Ugb24gZXhjZXB0
aW9uIG1vZGUgaXMgZW5hYmxlZC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXJlbG9h
ZC1vbi1wYXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItcmVsb2FkLW9uLXBhdXNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODc4MTBjOWExOGRjZDFmMzg3NzAxYTUxMjc2ZDU1MDNlZmNi
NzY2MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItcmVsb2FkLW9uLXBh
dXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotVGVzdHMgInJl
bG9hZCIgZnJvbSB3aXRoaW4gaW5zcGVjdG9yIHdpbmRvdyB3aGlsZSBvbiBwYXVzZS4KLQotRGVi
dWdnZXIgd2FzIGVuYWJsZWQuCi1TZXQgdGltZXIgZm9yIHRlc3QgZnVuY3Rpb24uCi1TY3JpcHQg
ZXhlY3V0aW9uIHBhdXNlZC4KLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLVBhZ2UgcmVsb2Fk
ZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1yZWxvYWQtb24tcGF1c2UuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1yZWxvYWQt
b24tcGF1c2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU2MWI5Yzg0OWQx
MGZhNTVhYTY0ODQ5NDFjMTdmNGIyYzM1NzIyYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvZGVidWdnZXItcmVsb2FkLW9uLXBhdXNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0gICAgZGVidWdnZXI7Ci19Ci0KLXZhciB0
ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qo
c3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVsb2Fk
UGFnZShzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
InJlbG9hZCIgZnJvbSB3aXRoaW4gaW5zcGVjdG9yIHdpbmRvdyB3aGlsZSBvbiBwYXVzZS4KLTwv
cD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzUwOGE2OGIxNjcxYTBiMGM4
NWY1YWViMzQ0ZDU1MTdlNjg2ZDk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1
Z2dlci1zY3JpcHRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAK
LVRlc3RzIHRoYXQgdmFsaWQgcGFyc2VkIHNjcmlwdCBub3RpZmljYXRpb25zIGFyZSByZWNlaXZl
ZCBieSBmcm9udC1lbmQuIEJ1ZyA1MjcyMQotCi1EZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLXNjcmlw
dCAxOgotICAgIHN0YXJ0OiA1OjgKLSAgICBlbmQ6IDM4OjAKLXNjcmlwdCAyOgotICAgIHN0YXJ0
OiAzODoyMQotICAgIGVuZDogNDI6MAotc2NyaXB0IDM6Ci0gICAgc3RhcnQ6IDQzOjExCi0gICAg
ZW5kOiA0MzozMgotc2NyaXB0IDQ6Ci0gICAgc3RhcnQ6IDQ0OjExCi0gICAgZW5kOiA0NTowCi1z
Y3JpcHQgNToKLSAgICBzdGFydDogNDY6MTEKLSAgICBlbmQ6IDQ4OjAKLXNjcmlwdCA2OgotICAg
IHN0YXJ0OiA1MTo1NgotICAgIGVuZDogNTI6MgotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdn
ZXItc2NyaXB0cy1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2FkLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZmMTJmM2NlYmQ4YjZkMzQxOGQ3MDdjNDhiYmIx
OTk0NWJkN2QyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc2NyaXB0
cy1yZWxvYWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1UZXN0
cyB0aGF0IHNjcmlwdHMgbGlzdCBpcyBjbGVhcmVkIHVwb24gcGFnZSByZWxvYWQuCi0KLURlYnVn
Z2VyIHdhcyBlbmFibGVkLgotRHVtbXkgc2NyaXB0IGZvdW5kOiBkdW1teVNjcmlwdC5qcwotUGFn
ZSByZWxvYWRlZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMtcmVsb2Fk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
c2NyaXB0cy1yZWxvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDc3YjRk
MDAzNmEzZGFhY2IyMzhjMDdmZTdlN2ZkZmE1NTM2ZjUwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItc2NyaXB0cy1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDUxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotCi08
c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJmdW5jdGlvbiBmb28oKSB7fSAvL0Agc291cmNlVVJMPWR1bW15U2NyaXB0LmpzIiwg
c3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5xdWVyeVNjcmlwdHMoZnVuY3Rpb24o
c2NyaXB0KSB7IHN0ZXAzKHsgZGF0YTogc2NyaXB0IH0pIH0pOwotICAgICAgICBXZWJJbnNwZWN0
b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1v
ZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMyhldmVudCkKLSAgICB7Ci0gICAgICAgIHZhciBzY3JpcHQgPSBldmVudC5kYXRh
OwotICAgICAgICBpZiAoc2NyaXB0LnNvdXJjZVVSTC5pbmRleE9mKCJkdW1teVNjcmlwdC5qcyIp
ICE9PSAtMSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bW15IHNj
cmlwdCBmb3VuZDogIiArIHNjcmlwdC5zb3VyY2VVUkwpOwotICAgICAgICAgICAgLy8gTGV0IHNj
cmlwdHMgZGlzcGF0Y2ggYW5kIHJlbG9hZC4KLSAgICAgICAgICAgIHNldFRpbWVvdXQoSW5zcGVj
dG9yVGVzdC5yZWxvYWRQYWdlLmJpbmQoSW5zcGVjdG9yVGVzdCwgYWZ0ZXJSZWxvYWQpLCAwKTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGFmdGVyUmVsb2FkKCkKLSAgICB7Ci0g
ICAgICAgIHZhciBzY3JpcHRzID0gSW5zcGVjdG9yVGVzdC5xdWVyeVNjcmlwdHMoKTsKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICBpZiAoc2NyaXB0c1tpXS5zb3VyY2VVUkwuaW5kZXhPZigiZHVtbXlTY3JpcHQuanMiKSAhPT0g
LTEpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogZHVt
bXkgc2NyaXB0IGZvdW5kIGFmdGVyIG5hdmlnYXRpb24iKTsKLSAgICAgICAgfQotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotCi19Ci08L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBz
Y3JpcHRzIGxpc3QgaXMgY2xlYXJlZCB1cG9uIHBhZ2UgcmVsb2FkLgotPC9wPgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2RlYnVnZ2VyLXNjcmlwdHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zY3JpcHRzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDVjZGI5MzBhN2U5MDZlNDg1YTk2OWZlY2M5NzQ2MjU4YzRlOWI2NGIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNjcmlwdHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0
PgotCi08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIHNjcmlwdHMgPSBbXTsK
LSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0
aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucXVlcnlTY3JpcHRzKGZ1
bmN0aW9uKHNjcmlwdCkgeyBzdGVwMih7IGRhdGE6IHNjcmlwdCB9KSB9KTsKLSAgICAgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5FdmVudHMuUGFyc2VkU2NyaXB0U291cmNlLCBzdGVwMik7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3RlcDIoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgc2NyaXB0ID0gZXZl
bnQuZGF0YTsKLSAgICAgICAgaWYgKHNjcmlwdC5zb3VyY2VVUkwgIT09IFdlYkluc3BlY3Rvci5p
bnNwZWN0ZWRQYWdlVVJMKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBzY3JpcHRzLnB1
c2goc2NyaXB0KTsKLSAgICAgICAgaWYgKHNjcmlwdHMubGVuZ3RoID09PSA2KQotICAgICAgICAg
ICAgc3RlcDMoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAg
ICBzY3JpcHRzLnNvcnQoZnVuY3Rpb24oeCwgeSkgeyByZXR1cm4geC5saW5lT2Zmc2V0IC0geS5s
aW5lT2Zmc2V0IH0pOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjcmlwdHMubGVuZ3Ro
OyArK2kpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJzY3JpcHQgIiAr
IChpICsgMSkgKyAiOiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAg
ICBzdGFydDogIiArIHNjcmlwdHNbaV0ubGluZU9mZnNldCArICI6IiArIHNjcmlwdHNbaV0uY29s
dW1uT2Zmc2V0KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgZW5k
OiAiICsgc2NyaXB0c1tpXS5lbmRMaW5lICsgIjoiICsgc2NyaXB0c1tpXS5lbmRDb2x1bW4pOwot
ICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsK
LSAgICB9Ci19Ci08L3NjcmlwdD4gICAgPHNjcmlwdD4KLWZ1bmN0aW9uIGYxKCkKLXsKLX0KLTwv
c2NyaXB0PgotICAgPHNjcmlwdD4gZnVuY3Rpb24gZjIoKSB7fSAgICA8L3NjcmlwdD4KLSAgIDxz
Y3JpcHQ+ZnVuY3Rpb24gZjMoKSB7fQotPC9zY3JpcHQ+Ci0gICA8c2NyaXB0PgotICAgZnVuY3Rp
b24gZjQoKSB7fQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0id2luZG93LmR1
bW15ID0gZnVuY3Rpb24oKSB7IH07IHJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgdmFsaWQg
cGFyc2VkIHNjcmlwdCBub3RpZmljYXRpb25zIGFyZSByZWNlaXZlZCBieSBmcm9udC1lbmQuCi08
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI3MjEiPkJ1
ZyA1MjcyMTwvYT4KLTwvcD4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNldC1icmVha3BvaW50
LXJlZ2V4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9kZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1yZWdleC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNjUxMDRmZjJkYjQwYmE1NzczNDMzYzY4YTBkOGZkNjZi
ZjU3MTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNldC1icmVha3Bv
aW50LXJlZ2V4LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRl
c3RzIERlYnVnZ2VyLnNldEJyZWFrcG9pbnRCeVVybCB3aXRoIGlzUmVnZXggc2V0IHRvIHRydWUu
Ci0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotCi1SdW5uaW5nOiB0ZXN0U2V0Tm9uZU9mVVJMQW5k
UmVnZXgKLUVpdGhlciB1cmwgb3IgdXJsUmVnZXggbXVzdCBiZSBzcGVjaWZpZWQuCi0KLVJ1bm5p
bmc6IHRlc3RTZXRCb3RoVVJMQW5kUmVnZXgKLUVpdGhlciB1cmwgb3IgdXJsUmVnZXggbXVzdCBi
ZSBzcGVjaWZpZWQuCi0KLVJ1bm5pbmc6IHRlc3RTZXRCeVJlZ2V4Ci1TZXQgdGltZXIgZm9yIHRl
c3QgZnVuY3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAg
MCkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC1yZWdleC5odG1sOjkpCi1T
Y3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1z
ZXQtYnJlYWtwb2ludC1yZWdleC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLXNldC1icmVha3BvaW50LXJlZ2V4Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFmYWQyN2MwZmJhN2QyNThlZmQyYjlmMTBmODJiZGExM2YwZGIy
MDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXNldC1icmVha3BvaW50
LXJlZ2V4Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3RGdW5j
dGlvbigpCi17Ci0gICAgZm9vKCk7Ci19Ci0KLWZ1bmN0aW9uIGZvbygpCi17Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0U3VpdGUoWwot
ICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0Tm9uZU9mVVJMQW5kUmVnZXgobmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRCcmVha3BvaW50QnlVcmwuaW52b2tlKHts
aW5lTnVtYmVyOiAxfSwgc3RlcDIpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMihlcnJv
cikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChlcnJvcik7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRCb3RoVVJMQW5kUmVnZXgobmV4dCkKLSAg
ICAgICAgewotICAgICAgICAgICAgdmFyIHVybCA9ICJkZWJ1Z2dlci1zZXQtYnJlYWtwb2ludC5q
cyI7Ci0gICAgICAgICAgICB2YXIgdXJsUmVnZXggPSAiZGVidWdnZXItc2V0LWJyZWFrcG9pbnQu
KiI7Ci0gICAgICAgICAgICBEZWJ1Z2dlckFnZW50LnNldEJyZWFrcG9pbnRCeVVybCgxLCB1cmws
IHVybFJlZ2V4LCBzdGVwMik7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKGVycm9yKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVy
cm9yKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldEJ5UmVnZXgobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgRGVidWdnZXJBZ2VudC5zZXRCcmVha3BvaW50QnlVcmwuaW52b2tlKHt1cmxSZWdl
eDogImRlYnVnZ2VyLXNldC1icmVha3BvaW50LioiLCBsaW5lTnVtYmVyOjh9LCBzdGVwMik7Ci0K
LSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKHJlc3VsdCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNl
ZChzdGVwMyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICAgICAgZnVuY3Rpb24g
c3RlcDMoY2FsbEZyYW1lcykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOwotICAgICAgICAgICAgICAgIG5l
eHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIF0pOwotfQotCi08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBEZWJ1Z2dl
ci5zZXRCcmVha3BvaW50QnlVcmwgd2l0aCBpc1JlZ2V4IHNldCB0byB0cnVlLgotPC9wPgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtaW4tZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzllMjA4NTU0ODUyZjBiMDViNzY3NDE0NWVj
MTM2ZWYyMWNkNmZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVw
LWluLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVRlc3RzICJz
dGVwIGluIiBmdW5jdGlvbmFsaXR5IGluIGRlYnVnZ2VyLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxl
ZC4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2Vk
LgotQ2FsbCBzdGFjazoKLSAgICAwKSB0ZXN0RnVuY3Rpb24gKGRlYnVnZ2VyLXN0ZXAtaW4uaHRt
bDoxNCkKLVN0ZXBwaW5nIGludG8uLi4KLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLVNjcmlw
dCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSB0ZXN0RnVuY3Rpb24gKGRl
YnVnZ2VyLXN0ZXAtaW4uaHRtbDoxNSkKLVN0ZXBwaW5nIGludG8uLi4KLVNjcmlwdCBleGVjdXRp
b24gcmVzdW1lZC4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAw
KSBkIChkZWJ1Z2dlci1zdGVwLWluLmh0bWw6OCkKLSAgICAxKSB0ZXN0RnVuY3Rpb24gKGRlYnVn
Z2VyLXN0ZXAtaW4uaHRtbDoxNSkKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2Vy
IHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtaW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1Z2dlci1zdGVwLWluLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDhiNWI5MDkxZTIxYjU4N2ZlMTMzMzc4M2FmMjRlMWYzZDdhZTk3MTYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtaW4uaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gZCgpCi17Ci0gICAgdmFyIGkgPSAxMDsK
LX0KLQotZnVuY3Rpb24gdGVzdEZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1Z2dlcjsKLSAgICBkKCk7
Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnRE
ZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0RnVuY3Rpb25BbmRXYWl0VW50aWxQYXVzZWQoc3RlcDIp
OwotICAgIH0KLQotICAgIHZhciBzdGVwQ291bnQgPSAwOwotICAgIGZ1bmN0aW9uIHN0ZXAyKGNh
bGxGcmFtZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNl
KGNhbGxGcmFtZXMpOwotICAgICAgICBpZiAoc3RlcENvdW50IDwgMikgewotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0ZXBwaW5nIGludG8uLi4iKTsKLSAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JpcHRzLXN0ZXAtaW50byIpLmNsaWNrKCk7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFJlc3VtZWQoSW5zcGVjdG9yVGVzdC53
YWl0VW50aWxQYXVzZWQuYmluZChJbnNwZWN0b3JUZXN0LCBzdGVwMikpOwotICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAg
ICAgICAgc3RlcENvdW50Kys7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyAic3RlcCBpbiIgZnVuY3Rpb25hbGl0
eSBpbiBkZWJ1Z2dlci4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3V0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9kZWJ1
Z2dlci1zdGVwLW91dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRhMmQwYzRkYWUzNTQ5ZGE1ZGQ5YjRjMjJlMTcxOTFkYmU5MjA2ZmEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3V0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE2ICswLDAgQEAKLVRlc3RzICJzdGVwIG91dCIgZnVuY3Rpb25hbGl0eSBpbiBk
ZWJ1Z2dlci4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi1TZXQgdGltZXIgZm9yIHRlc3QgZnVu
Y3Rpb24uCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgZCAo
ZGVidWdnZXItc3RlcC1vdXQuaHRtbDo5KQotICAgIDEpIHRlc3RGdW5jdGlvbiAoZGVidWdnZXIt
c3RlcC1vdXQuaHRtbDoxNCkKLVN0ZXBwaW5nIG91dC4uLgotU2NyaXB0IGV4ZWN1dGlvbiByZXN1
bWVkLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIHRlc3RG
dW5jdGlvbiAoZGVidWdnZXItc3RlcC1vdXQuaHRtbDoxNSkKLVNjcmlwdCBleGVjdXRpb24gcmVz
dW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3V0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdXQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTNkZWQwYzA2MTA5ZTQwMTFkNjhmYjlm
ZTczMmZjNDhjYjY3ODlkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
c3RlcC1vdXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gZCgpCi17
Ci0gICAgZGVidWdnZXI7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0gICAgZCgp
OwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0
RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAy
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihjYWxsRnJhbWVzKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlN0ZXBwaW5nIG91dC4uLiIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LndhaXRVbnRpbFJlc3VtZWQoSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQu
YmluZChJbnNwZWN0b3JUZXN0LCBzdGVwMykpOwotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic2NyaXB0cy1zdGVwLW91dCIpLmNsaWNrKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDMoY2FsbEZyYW1lcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0
YWNrVHJhY2UoY2FsbEZyYW1lcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1
Z2dlclRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzICJzdGVwIG91dCIgZnVuY3Rpb25hbGl0eSBpbiBk
ZWJ1Z2dlci4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3Zlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXIt
c3RlcC1vdmVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY5
NDNhOWJmOTMyNzMxNTJiZTc4ZTAwODU1YjFkZTFlZjhjYTMxOC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdmVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDIzICswLDAgQEAKLVRlc3RzICJzdGVwIG92ZXIiIGZ1bmN0aW9uYWxpdHkgaW4gZGVi
dWdnZXIuCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0
aW9uLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1DYWxsIHN0YWNrOgotICAgIDApIGQgKGRl
YnVnZ2VyLXN0ZXAtb3Zlci5odG1sOjE0KQotICAgIDEpIHRlc3RGdW5jdGlvbiAoZGVidWdnZXIt
c3RlcC1vdmVyLmh0bWw6MjApCi1TdGVwcGluZyBvdmVyLi4uCi1TY3JpcHQgZXhlY3V0aW9uIHJl
c3VtZWQuCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLUNhbGwgc3RhY2s6Ci0gICAgMCkgZCAo
ZGVidWdnZXItc3RlcC1vdmVyLmh0bWw6MTUpCi0gICAgMSkgdGVzdEZ1bmN0aW9uIChkZWJ1Z2dl
ci1zdGVwLW92ZXIuaHRtbDoyMCkKLVN0ZXBwaW5nIG92ZXIuLi4KLVNjcmlwdCBleGVjdXRpb24g
cmVzdW1lZC4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSBk
IChkZWJ1Z2dlci1zdGVwLW92ZXIuaHRtbDoxNikKLSAgICAxKSB0ZXN0RnVuY3Rpb24gKGRlYnVn
Z2VyLXN0ZXAtb3Zlci5odG1sOjIwKQotU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgotRGVidWdn
ZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3RlcC1vdmVyLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlMTQ4YTNiNDRhYTczN2RiNjIzYTAwYWY1Y2RjZmY0YWZi
MWNmMWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN0ZXAtb3Zlci5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBmKCkKLXsKLSAgICB2YXIg
aSA9IDEwOwotfQotCi1mdW5jdGlvbiBkKCkKLXsKLSAgICBkZWJ1Z2dlcjsKLSAgICBmKCk7Ci19
Ci0KLWZ1bmN0aW9uIHRlc3RGdW5jdGlvbigpCi17Ci0gICAgZCgpOwotfQotCi12YXIgdGVzdCA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHN0ZXAx
KTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
cnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICB2
YXIgc3RlcENvdW50ID0gMDsKLSAgICBmdW5jdGlvbiBzdGVwMihjYWxsRnJhbWVzKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAg
ICAgICAgaWYgKHN0ZXBDb3VudCA8IDIpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJTdGVwcGluZyBvdmVyLi4uIik7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2NyaXB0cy1zdGVwLW92ZXIiKS5jbGljaygpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC53YWl0VW50aWxSZXN1bWVkKEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkLmJp
bmQoSW5zcGVjdG9yVGVzdCwgc3RlcDIpKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgICAgIHN0ZXBDb3VudCsr
OwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPgotVGVzdHMgInN0ZXAgb3ZlciIgZnVuY3Rpb25hbGl0eSBpbiBkZWJ1Z2dlci4K
LTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN1c3BlbmQtYWN0aXZlLWRvbS1vYmplY3Rz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9k
ZWJ1Z2dlci1zdXNwZW5kLWFjdGl2ZS1kb20tb2JqZWN0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyYmRhN2MyN2UzNDU1OGUyOGUxNGMzOTg3YjIyOTQ4ZWE5
NjA0NDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN1c3BlbmQtYWN0
aXZlLWRvbS1vYmplY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAg
QEAKLUFMRVJUOiAxCi1UZXN0cyB0aGF0IGJyb3dzZXIgd29uJ3QgY3Jhc2ggaWYgdXNlciBldmFs
dWF0ZXMgc29tZXRoaW5nIGluIHRoZSBjb25zb2xlIHRoYXQgd291bGQgc3VzcGVuZCBhY3RpdmUg
ZG9tIG9iamVjdHMgKGUuZy4gaWYgdXNlciBhdHRlbXB0cyB0byBzaG93IGFuIGFsZXJ0KSB3aGVu
IHNjcmlwdCBleGVjdXRpb24gaXMgcGF1c2VkIG9uIGEgYnJlYWtwb2ludCBhbmQgYWxsIGFjdGl2
ZSBkb20gb2JqZWN0cyBhcmUgYWxyZWFkeSBzdXNwZW5kZWQuCi0KLURlYnVnZ2VyIHdhcyBlbmFi
bGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVz
ZWQuCi1TaG93biBhbGVydCB3aGlsZSBzdGF5aW5nIG9uIGEgYnJlYWtwb2ludC4KLVNjcmlwdCBl
eGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2RlYnVnZ2VyLXN1c3BlbmQt
YWN0aXZlLWRvbS1vYmplY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZGVidWdnZXIvZGVidWdnZXItc3VzcGVuZC1hY3RpdmUtZG9tLW9iamVjdHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJiMzNkNjE2MjVmOTZmNTkzOWUwMGNmNjFlNGFhZDk5
NDE1YmMzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvZGVidWdnZXItc3VzcGVuZC1h
Y3RpdmUtZG9tLW9iamVjdHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rp
b24gdGVzdEZ1bmN0aW9uKCkgewotICAgIHNldFRpbWVvdXQoInZvaWQgMCIsIDApOyAvLyBDcmVh
dGUgYSB0aW1lciB0aGF0IHdpbGwgYmUgc3VzcGVuZGVkIG9uIGEgYnJlYWtwb2ludC4KLSAgICBk
ZWJ1Z2dlcjsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQ
YW5lbCgic2NyaXB0cyIpOwotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3Rh
cnREZWJ1Z2dlclRlc3RDYWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiBzdGFydERlYnVnZ2VyVGVz
dENhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNv
bGUoInNldFRpbWVvdXQodGVzdEZ1bmN0aW9uLCAwKSIsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCB0aW1lciBmb3IgdGVzdCBmdW5j
dGlvbi4iKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQ
YXVzZWQoZnVuY3Rpb24oY2FsbEZyYW1lcykgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluQ29uc29sZSgiYWxlcnQoMSkiLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2hvd24gYWxlcnQgd2hpbGUgc3RheWlu
ZyBvbiBhIGJyZWFrcG9pbnQuIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0K
LQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PHA+Ci1UZXN0cyB0aGF0IGJyb3dzZXIgd29uJ3QgY3Jhc2ggaWYgdXNlciBldmFsdWF0ZXMgc29t
ZXRoaW5nIGluIHRoZSBjb25zb2xlCi10aGF0IHdvdWxkIHN1c3BlbmQgYWN0aXZlIGRvbSBvYmpl
Y3RzIChlLmcuIGlmIHVzZXIgYXR0ZW1wdHMgdG8gc2hvdyBhbiBhbGVydCkKLXdoZW4gc2NyaXB0
IGV4ZWN1dGlvbiBpcyBwYXVzZWQgb24gYSBicmVha3BvaW50IGFuZCBhbGwgYWN0aXZlIGRvbSBv
YmplY3RzCi1hcmUgYWxyZWFkeSBzdXNwZW5kZWQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9ldmFs
LW9uLXBhdXNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2V2YWwtb24tcGF1c2UtYmxvY2tlZC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MmViZjdhZjBhMWI2YmRlOTcyYjkyMzkzZmMzNzIz
NzI0MTQxMWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2V2YWwtb24tcGF1c2UtYmxv
Y2tlZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3QgdGhh
dCBldmFsdWF0aW9uIGluIHRoZSBjb250ZXh0IG9mIHRvcCBmcmFtZSB3aWxsIG5vdCBiZSBibG9j
a2VkIGJ5IENvbnRlbnQtU2VjdXJpdHktUG9saWN5LiBCdWcgNzcyMDMuCi0KLURlYnVnZ2VyIHdh
cyBlbmFibGVkLgotU2V0IHRpbWVyIGZvciB0ZXN0IGZ1bmN0aW9uLgotU2NyaXB0IGV4ZWN1dGlv
biBwYXVzZWQuCi1FdmFsdWF0ZWQgaW4gY29uc29sZSBpbiB0aGUgdG9wIGZyYW1lIGNvbnRleHQ6
IGZvbyA9IDIwMTIKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNh
YmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL2V2YWwtb24tcGF1c2UtYmxvY2tlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2RlYnVnZ2VyL2V2YWwtb24tcGF1c2UtYmxvY2tlZC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmNzBlMTE1NThhYzU0YjRmYTZjMTcwNWJjMmU2ZWEwZTcxNjI0NmMw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9ldmFsLW9uLXBhdXNlLWJsb2NrZWQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRl
c3QuanMiPjwvc2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIHZhciBmb28gPSAyMDEyOwotICAgIGRlYnVnZ2Vy
OwotfQotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0
RGVidWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucnVuVGVzdEZ1bmN0aW9uQW5kV2FpdFVudGlsUGF1c2VkKHN0ZXAy
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJmb28iLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDMocmVzdWx0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkV2YWx1YXRlZCBpbiBjb25zb2xlIGluIHRoZSB0b3AgZnJhbWUgY29udGV4dDogZm9vID0g
IiArIHJlc3VsdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3Qo
KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1UZXN0IHRoYXQgZXZhbHVhdGlvbiBpbiB0aGUgY29udGV4dCBvZiB0b3AgZnJh
bWUgd2lsbCBub3QgYmUgYmxvY2tlZCBieSBDb250ZW50LVNlY3VyaXR5LVBvbGljeS4KLTxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIwMyI+QnVnIDc3
MjAzLjwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Z1bmN0aW9uLWRldGFpbHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Z1bmN0aW9uLWRl
dGFpbHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDJjMTQ3
ZjRjYWFiYzY2MGY5M2E1ZTMyNTc0NWIzZmM4ZDBhNDkwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9mdW5jdGlvbi1kZXRhaWxzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDcxICswLDAgQEAKLVRlc3RzIHRoYXQgRGVidWdnZXIuZ2V0RnVuY3Rpb25EZXRhaWxzIGNvbW1h
bmQgcmV0dXJucyBjb3JyZWN0IGxvY2F0aW9uLiBCdWcgNzE4MDgKLQotRGVidWdnZXIgd2FzIGVu
YWJsZWQuCi0KLVJ1bm5pbmc6IHRlc3RHZXRGaXJzdExpbmVGdW5jdGlvbkRldGFpbHMKLWZpcnN0
TGluZUZ1bmN0aW9uIHR5cGUgPSBmdW5jdGlvbgotRnVuY3Rpb24gZGV0YWlsczogCi1saW5lTnVt
YmVyOiA3Ci1jb2x1bW5OdW1iZXI6IHVuZGVmaW5lZAotc2NyaXB0SWQgaXMgdmFsaWQ6IHRydWUK
LW5hbWU6IGZpcnN0TGluZUZ1bmN0aW9uCi1kaXNwbGF5TmFtZTogdW5kZWZpbmVkCi1pbmZlcnJl
ZE5hbWU6IHVuZGVmaW5lZAotc2NvcGVDaGFpbjogbi9hCi0KLVJ1bm5pbmc6IHRlc3RHZXROb25G
aXJzdExpbmVGdW5jdGlvbkRldGFpbHMKLW5vdEZpcnN0TGluZUZ1bmN0aW9uIHR5cGUgPSBmdW5j
dGlvbgotRnVuY3Rpb24gZGV0YWlsczogCi1saW5lTnVtYmVyOiAxMgotY29sdW1uTnVtYmVyOiB1
bmRlZmluZWQKLXNjcmlwdElkIGlzIHZhbGlkOiB0cnVlCi1uYW1lOiBub3RGaXJzdExpbmVGdW5j
dGlvbgotZGlzcGxheU5hbWU6IHVuZGVmaW5lZAotaW5mZXJyZWROYW1lOiB1bmRlZmluZWQKLXNj
b3BlQ2hhaW46IG4vYQotCi1SdW5uaW5nOiB0ZXN0R2V0RGV0YWlsc09mRnVuY3Rpb25XaXRoSW5m
ZXJyZWROYW1lCi1vYmoubSB0eXBlID0gZnVuY3Rpb24KLUZ1bmN0aW9uIGRldGFpbHM6IAotbGlu
ZU51bWJlcjogMTYKLWNvbHVtbk51bWJlcjogdW5kZWZpbmVkCi1zY3JpcHRJZCBpcyB2YWxpZDog
dHJ1ZQotbmFtZTogdW5kZWZpbmVkCi1kaXNwbGF5TmFtZTogdW5kZWZpbmVkCi1pbmZlcnJlZE5h
bWU6IHVuZGVmaW5lZAotc2NvcGVDaGFpbjogbi9hCi0KLVJ1bm5pbmc6IHRlc3RHZXREZXRhaWxz
T2ZGdW5jdGlvbldpdGhEaXNwbGF5TmFtZQotZnVuY3Rpb25XaXRoRGlzcGxheU5hbWUgdHlwZSA9
IGZ1bmN0aW9uCi1GdW5jdGlvbiBkZXRhaWxzOiAKLWxpbmVOdW1iZXI6IDE5Ci1jb2x1bW5OdW1i
ZXI6IHVuZGVmaW5lZAotc2NyaXB0SWQgaXMgdmFsaWQ6IHRydWUKLW5hbWU6IGZ1bmN0aW9uV2l0
aERpc3BsYXlOYW1lCi1kaXNwbGF5TmFtZTogdXNlci1mcmllbmRseSBuYW1lCi1pbmZlcnJlZE5h
bWU6IHVuZGVmaW5lZAotc2NvcGVDaGFpbjogbi9hCi0KLVJ1bm5pbmc6IHRlc3RTbWFsbENsb3N1
cmUKLXNtYWxsQ2xvc3VyZSB0eXBlID0gZnVuY3Rpb24KLUZ1bmN0aW9uIGRldGFpbHM6IAotbGlu
ZU51bWJlcjogMjIKLWNvbHVtbk51bWJlcjogdW5kZWZpbmVkCi1zY3JpcHRJZCBpcyB2YWxpZDog
dHJ1ZQotbmFtZTogdW5kZWZpbmVkCi1kaXNwbGF5TmFtZTogdW5kZWZpbmVkCi1pbmZlcnJlZE5h
bWU6IHVuZGVmaW5lZAotc2NvcGVDaGFpbjogbi9hCi0KLVJ1bm5pbmc6IHRlc3RCaWdDbG9zdXJl
Ci1iaWdDbG9zdXJlIHR5cGUgPSBmdW5jdGlvbgotRnVuY3Rpb24gZGV0YWlsczogCi1saW5lTnVt
YmVyOiAzNQotY29sdW1uTnVtYmVyOiB1bmRlZmluZWQKLXNjcmlwdElkIGlzIHZhbGlkOiB0cnVl
Ci1uYW1lOiB1bmRlZmluZWQKLWRpc3BsYXlOYW1lOiB1bmRlZmluZWQKLWluZmVycmVkTmFtZTog
dW5kZWZpbmVkCi1zY29wZUNoYWluOiBuL2EKLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL2Z1bmN0aW9u
LWRldGFpbHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9m
dW5jdGlvbi1kZXRhaWxzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5N2Yx
MzE2ZDA3YThlOWUyZTllYTBlZDUzNWU5YjE0ODc5NDc1ZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL2Z1bmN0aW9uLWRldGFpbHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE2NCAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlw
dD4gIGZ1bmN0aW9uIGZpcnN0TGluZUZ1bmN0aW9uKCkKLQotewotfQotCi0gICBmdW5jdGlvbiBu
b3RGaXJzdExpbmVGdW5jdGlvbigpCi0KLXsKLX0KLQotdmFyIG9iaiA9IHsKLSAgICBtOiBmdW5j
dGlvbigpIHt9Ci19Ci0KLWZ1bmN0aW9uIGZ1bmN0aW9uV2l0aERpc3BsYXlOYW1lKCkge30KLWZ1
bmN0aW9uV2l0aERpc3BsYXlOYW1lLmRpc3BsYXlOYW1lID0gInVzZXItZnJpZW5kbHkgbmFtZSI7
Ci0KLXZhciBzbWFsbENsb3N1cmUgPSAoZnVuY3Rpb24ocCkgeyByZXR1cm4gZnVuY3Rpb24oKSB7
IHJldHVybiBwOyB9OyB9KSgiQ2FweWJhcmEiKTsKLQotdmFyIGJpZ0Nsb3N1cmUgPSAoZnVuY3Rp
b24ocCkgewotICAgIHZhciBvID0gewotICAgICAgIGU6IDcsCi0gICAgICAgZjogNSwKLSAgICAg
ICBnZXQgdSgpIHsgcmV0dXJuIDM7IH0sCi0gICAgICAgc2V0IHYodmFsdWUpIHsgfQotICAgIH07
Ci0gICAgd2l0aCAobykgewotICAgICAgICB0cnkgewotICAgICAgICAgICAgdGhyb3cgRXJyb3Io
IlRlc3QiKTsKLSAgICAgICAgfSBjYXRjaCAoZXgpIHsKLSAgICAgICAgICAgIHJldHVybiBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHApICsgU3RyaW5nKGV4KSAr
IHUgKyBlOwotICAgICAgICAgICAgfTsKLSAgICAgICAgfQotICAgIH0KLX0pKHt9KTsKLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gZHVtcEZ1bmN0aW9uRGV0YWlscyhkZXRhaWxz
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZ1bmN0aW9uIGRldGFp
bHM6ICIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibGluZU51bWJlcjogIiAr
IGRldGFpbHMubG9jYXRpb24ubGluZU51bWJlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJjb2x1bW5OdW1iZXI6ICIgKyBkZXRhaWxzLmxvY2F0aW9uLmNvbHVtbk51bWJlcik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJzY3JpcHRJZCBpcyB2YWxpZDogIiAr
ICEhZGV0YWlscy5sb2NhdGlvbi5zY3JpcHRJZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJuYW1lOiAiICsgZGV0YWlscy5uYW1lKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoImRpc3BsYXlOYW1lOiAiICsgZGV0YWlscy5kaXNwbGF5TmFtZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJpbmZlcnJlZE5hbWU6ICIgKyBkZXRhaWxzLmluZmVy
cmVkTmFtZSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZHVtcEZ1bmN0aW9uTm9TY29wZXMoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInNjb3BlQ2hhaW46IG4vYSIp
OwotICAgIH0KLQotCi0gICAgZnVuY3Rpb24gZHVtcEZ1bmN0aW9uU2NvcGUocG9zLCB0eXBlLCBw
cm9wZXJ0eURlc2NyaXB0b3JzKQotICAgIHsKLSAgICAgICAgdmFyIHZhcmlhYmxlczsKLSAgICAg
ICAgaWYgKHR5cGUgPT0gImdsb2JhbCIpIHsKLSAgICAgICAgICAgIHZhcmlhYmxlcyA9ICI8Z2xv
YmFsIG9iamVjdCBwcm9wZXJ0aWVzIG9taXR0ZWQ+IjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIHZhciB2YXJBcnJheSA9IFtdOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBwcm9wZXJ0eURlc2NyaXB0b3JzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgdmFy
IGQgPSBwcm9wZXJ0eURlc2NyaXB0b3JzW2ldOwotICAgICAgICAgICAgICAgIHZhciB2YWx1ZVN0
cjsKLSAgICAgICAgICAgICAgICBpZiAoZC52YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoZC52YWx1ZS52YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlU3RyID0gSlNP
Ti5zdHJpbmdpZnkoZC52YWx1ZS52YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHZhbHVlU3RyID0gIjxubyBzdHJpbmcgcmVwcmVzZW50YXRp
b24+IjsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICB2YWx1
ZVN0ciA9ICI8bm8gdmFsdWU+IjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
dmFyQXJyYXkucHVzaChkLm5hbWUgKyAiOiAiICsgdmFsdWVTdHIpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgdmFyQXJyYXkuc29ydCgpOwotICAgICAgICAgICAgdmFyaWFibGVzID0gdmFy
QXJyYXkuam9pbigpOwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJzY29wZUNoYWluICMiICsgcG9zICsgIjogIiArIHR5cGUgKyAiOyAiICsgdmFyaWFibGVzKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBsb2FkQW5kRHVtcFNjb3BlT2JqZWN0cyhzY29wZUNoYWlu
LCBlbmQpIHsKLSAgICAgICAgZnVuY3Rpb24gbG9hZFNjb3BlT2JqZWN0KHBvcywgbmV4dCkgewot
ICAgICAgICAgICAgaWYgKHBvcyA+PSBzY29wZUNoYWluLmxlbmd0aCkgewotICAgICAgICAgICAg
ICAgIG5leHQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB2YXIgc2NvcGVKc29uID0gc2NvcGVDaGFpbltwb3NdOwotICAgICAgICAgICAgUnVu
dGltZUFnZW50LmdldFByb3BlcnRpZXMoc2NvcGVKc29uLm9iamVjdC5vYmplY3RJZCwgdHJ1ZSwg
ZGlkR2V0UHJvcGVydGllcyk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZEdldFByb3BlcnRp
ZXMoZXJyb3IsIHByb3BlcnR5RGVzY3JpcHRvcnMpIHsKLSAgICAgICAgICAgICAgICBkdW1wRnVu
Y3Rpb25TY29wZShwb3MsIHNjb3BlSnNvbi50eXBlLCBwcm9wZXJ0eURlc2NyaXB0b3JzKTsKLSAg
ICAgICAgICAgICAgICBsb2FkU2NvcGVPYmplY3QocG9zICsgMSwgbmV4dCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoc2NvcGVDaGFpbikgewotICAgICAgICAgICAg
bG9hZFNjb3BlT2JqZWN0KDAsIGVuZCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBk
dW1wRnVuY3Rpb25Ob1Njb3BlcygpOwotICAgICAgICAgICAgZW5kKCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBwZXJmb3JtU3RhbmRhcmRUZXN0Q2FzZShwYWdlRXhwcmVzc2lv
biwgbmV4dCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKHBhZ2VFeHBy
ZXNzaW9uLCBkaWRFdmFsdWF0ZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZGlkRXZhbHVhdGUocmVt
b3RlKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwYWdl
RXhwcmVzc2lvbiArICIgdHlwZSA9ICIgKyByZW1vdGUudHlwZSk7Ci0gICAgICAgICAgICBEZWJ1
Z2dlckFnZW50LmdldEZ1bmN0aW9uRGV0YWlscyhyZW1vdGUub2JqZWN0SWQsIGRpZEdldERldGFp
bHMpOwotICAgICAgICB9Ci0gICAgICAgIGZ1bmN0aW9uIGRpZEdldERldGFpbHMoZXJyb3IsIHJl
c3BvbnNlKQotICAgICAgICB7Ci0gICAgICAgICAgICBkdW1wRnVuY3Rpb25EZXRhaWxzKHJlc3Bv
bnNlKTsKLSAgICAgICAgICAgIGxvYWRBbmREdW1wU2NvcGVPYmplY3RzKHJlc3BvbnNlLnNjb3Bl
Q2hhaW4sIG5leHQpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5E
ZWJ1Z2dlclRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RHZXRGaXJzdExpbmVGdW5j
dGlvbkRldGFpbHMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgcGVyZm9ybVN0YW5kYXJk
VGVzdENhc2UoImZpcnN0TGluZUZ1bmN0aW9uIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0gICAgICAg
IGZ1bmN0aW9uIHRlc3RHZXROb25GaXJzdExpbmVGdW5jdGlvbkRldGFpbHMobmV4dCkKLSAgICAg
ICAgewotICAgICAgICAgICAgcGVyZm9ybVN0YW5kYXJkVGVzdENhc2UoIm5vdEZpcnN0TGluZUZ1
bmN0aW9uIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RHZXREZXRh
aWxzT2ZGdW5jdGlvbldpdGhJbmZlcnJlZE5hbWUobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgcGVyZm9ybVN0YW5kYXJkVGVzdENhc2UoIm9iai5tIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RHZXREZXRhaWxzT2ZGdW5jdGlvbldpdGhEaXNwbGF5TmFtZShu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBwZXJmb3JtU3RhbmRhcmRUZXN0Q2FzZSgiZnVu
Y3Rpb25XaXRoRGlzcGxheU5hbWUiLCBuZXh0KTsKLSAgICAgICAgfSwKLSAgICAgICAgZnVuY3Rp
b24gdGVzdFNtYWxsQ2xvc3VyZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBwZXJmb3Jt
U3RhbmRhcmRUZXN0Q2FzZSgic21hbGxDbG9zdXJlIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RCaWdDbG9zdXJlKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHBlcmZvcm1TdGFuZGFyZFRlc3RDYXNlKCJiaWdDbG9zdXJlIiwgbmV4dCk7Ci0gICAgICAgIH0K
LSAgICBdKTsKLX07Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgRGVidWdnZXIuZ2V0RnVuY3Rpb25EZXRhaWxzIGNvbW1h
bmQgcmV0dXJucyBjb3JyZWN0IGxvY2F0aW9uLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODA4Ij5CdWcgNzE4MDg8L2E+Ci08L3A+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9k
ZWJ1Z2dlci9vcGVuLWNsb3NlLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxMjFhNGU2YTA2ZWM1OWE5NGQxZWRmZDFlMWI0MDIx
ZTIxZTk5N2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1UZXN0cyB0aGF0IHNj
cmlwdHMgcGFuZWwgZGlzcGxheXMgcmVzb3VyY2UgY29udGVudCBjb3JyZWN0bHkgYWZ0ZXIgdGhl
IG9wZW4gLSBjbG9zZSAtIG9wZW4gc2VxdWVuY2UuIEJ1ZyA1Njc0NwotCi1EZWJ1Z2dlciB3YXMg
ZW5hYmxlZC4KLQotUnVubmluZzogdGVzdFNvdXJjZUZyYW1lQ29udGVudAotPT1Tb3VyY2UgZnJh
bWUgY29udGVudHMgc3RhcnQ9PQotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJmcm9udGVuZFJlb3BlbmluZ0NvdW50IiwgZnVuY3Rpb24ocmVzdWx0KSB7
Ci0gICAgICAgIGlmIChyZXN1bHQuX2Rlc2NyaXB0aW9uID09PSAiMCIpCi0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJyZW9wZW5Gcm9udGVuZCgpIikKLSAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsK
LSAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlRnJhbWVDb250ZW50KG5leHQpCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dT
Y3JpcHRTb3VyY2UoIm9wZW4tY2xvc2Utb3Blbi5odG1sIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7
Ci0KLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShzb3Vy
Y2VGcmFtZSkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wU291cmNlRnJhbWVDb250ZW50cyhzb3VyY2VGcmFtZSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBdKTsKLSAgICAgICAgfQotICAgIH0pOwotfQotCi08
L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRl
c3RzIHRoYXQgc2NyaXB0cyBwYW5lbCBkaXNwbGF5cyByZXNvdXJjZSBjb250ZW50IGNvcnJlY3Rs
eSBhZnRlciB0aGUgb3BlbiAtIGNsb3NlIC0gb3BlbiBzZXF1ZW5jZS4KLTxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Njc0NyI+QnVnIDU2NzQ3PC9hPgot
PC9wPgotPC9ib2R5PgotPC9odG1sPgotCi09PVNvdXJjZSBmcmFtZSBjb250ZW50cyBlbmQ9PQot
RGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvb3Blbi1jbG9zZS1vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvb3Blbi1jbG9zZS1vcGVuLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmZWJlY2E2NWFhMGI5OWQxMDE3YmNiZmRlMWFmZmE4YjYy
NzBjMWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJmcm9udGVuZFJlb3BlbmluZ0NvdW50IiwgZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgICAgIGlmIChyZXN1bHQuX2Rlc2NyaXB0aW9uID09PSAiMCIpCi0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJyZW9wZW5Gcm9udGVuZCgp
IikKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkRlYnVnZ2Vy
VGVzdFN1aXRlKFsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlRnJhbWVDb250
ZW50KG5leHQpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoIm9wZW4tY2xvc2Utb3Blbi5odG1sIiwgZGlkU2hvd1Nj
cmlwdFNvdXJjZSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZGlkU2hvd1Njcmlw
dFNvdXJjZShzb3VyY2VGcmFtZSkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU291cmNlRnJhbWVDb250ZW50cyhzb3VyY2VG
cmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdKTsKLSAgICAgICAgfQotICAg
IH0pOwotfQotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgc2NyaXB0cyBwYW5lbCBkaXNwbGF5cyByZXNvdXJjZSBjb250
ZW50IGNvcnJlY3RseSBhZnRlciB0aGUgb3BlbiAtIGNsb3NlIC0gb3BlbiBzZXF1ZW5jZS4KLTxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Njc0NyI+QnVn
IDU2NzQ3PC9hPgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3JpcHQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNl
LWluLWlubGluZS1zY3JpcHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4Mjg2OWJlNzc3NTZiYjIzNjNhN2M5ZjFjOGU0YjAzYWUzNzdlZDI4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0LWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRlc3RzIHRoYXQgbWFpbiByZXNvdXJjZSBz
Y3JpcHQgdGV4dCBpcyBjb3JyZWN0IHdoZW4gcGF1c2VkIGluIGlubGluZSBzY3JpcHQgb24gcmVs
b2FkLiBCdWcgNzc1NDguCi0KLURlYnVnZ2VyIHdhcyBlbmFibGVkLgotRGlkIGxvYWQgZnJvbnQt
ZW5kCi1QYXVzZWQ6IGZhbHNlCi1kaWRQYXVzZUFmdGVyUmVsb2FkCi1Tb3VyY2Ugc3RyaW5ncyBj
b3JyZXNwb25kaW5nIHRvIHRoZSBjYWxsIHN0YWNrOgotU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQu
Ci1GcmFtZSAwKSBsaW5lIDYsIGNvbnRlbnQ6ICAgICAgICAgIDxzY3JpcHQ+ZnVuY3Rpb24gZjEo
KSB7IGRlYnVnZ2VyOyB9PC9zY3JpcHQ+IChtdXN0IGJlIHBhcnQgb2YgZnVuY3Rpb24gJ2YxJykK
LUZyYW1lIDEpIGxpbmUgOCwgY29udGVudDogZnVuY3Rpb24gZjIoKSB7IHJldHVybiBmMSgpOyB9
IChtdXN0IGJlIHBhcnQgb2YgZnVuY3Rpb24gJ2YyJykKLUZyYW1lIDIpIGxpbmUgMTQsIGNvbnRl
bnQ6ICAgICByZXR1cm4gZjIoKTsgKG11c3QgYmUgcGFydCBvZiBmdW5jdGlvbiAnZjMnKQotRnJh
bWUgMykgbGluZSAxNiwgY29udGVudDogZjMoKTsgKG11c3QgYmUgcGFydCBvZiBmdW5jdGlvbiAn
JykKLVNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KLWRpZFJlc3VtZQotUGFnZSByZWxvYWRlZC4K
LWRpZFJlbG9hZAotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWlu
bGluZS1zY3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFhZjUzODBm
N2Q5OGUxNzA3YjU3MzJkNDY5NjZlNzRmNjk0MTBmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAy
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PmZ1bmN0aW9uIGZvbygpIHsgfTsKLTwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGJhcigpIHsgfTsKLTwvc2NyaXB0PjxzY3JpcHQ+
ZnVuY3Rpb24gZjEoKSB7IGRlYnVnZ2VyOyB9PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24g
ZjIoKSB7IHJldHVybiBmMSgpOyB9Ci08L3NjcmlwdD4KLQotPHNjcmlwdD4KLWZ1bmN0aW9uIGYz
KCkKLXsKLSAgICByZXR1cm4gZjIoKTsKLX0KLWYzKCk7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0
LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0g
ICAgdmFyIHRlc3ROYW1lID0gV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VVUkw7Ci0gICAgdGVz
dE5hbWUgPSB0ZXN0TmFtZS5zdWJzdHJpbmcodGVzdE5hbWUubGFzdEluZGV4T2YoJy8nKSArIDEp
OwotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
RGlkIGxvYWQgZnJvbnQtZW5kIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQ
YXVzZWQ6ICIgKyAhIVdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmRlYnVnZ2VyUGF1c2VkRGV0
YWlscygpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGRpZFJlbG9hZC5iaW5k
KHRoaXMpKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuRGVidWdnZXJQYXVzZWQsIGRp
ZFBhdXNlQWZ0ZXJSZWxvYWQsIHRoaXMpOyAKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkaWRSZWxv
YWQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImRpZFJlbG9hZCIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gZGlkUGF1c2VBZnRlclJlbG9hZChkZXRhaWxzKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImRpZFBhdXNlQWZ0ZXJSZWxvYWQiKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNvdXJjZSBzdHJpbmdzIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGNhbGwgc3RhY2s6Iik7Ci0gICAgICAgIGR1bXBOZXh0Q2FsbEZyYW1lKGRpZER1bXAp
OwotICAgIH0KLQotICAgIHZhciBjYWxsRnJhbWVJbmRleCA9IDA7Ci0gICAgZnVuY3Rpb24gZHVt
cE5leHRDYWxsRnJhbWUobmV4dCkKLSAgICB7Ci0gICAgICAgIHZhciBjYWxsRnJhbWVzID0gV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuY2FsbEZyYW1lczsKLSAgICAgICAgaWYgKGNhbGxGcmFt
ZUluZGV4ID09PSBjYWxsRnJhbWVzLmxlbmd0aCkgewotICAgICAgICAgICAgbmV4dCgpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIHZhciBmcmFtZSA9IGNhbGxGcmFt
ZXNbY2FsbEZyYW1lSW5kZXhdOwotICAgICAgICB2YXIgdWlMb2NhdGlvbiA9IFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGZyYW1lLmxvY2F0aW9uKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93VUlTb3VyY2VDb2RlKHVpTG9jYXRpb24udWlTb3Vy
Y2VDb2RlLCBkdW1wQ2FsbEZyYW1lTGluZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZHVtcENhbGxG
cmFtZUxpbmUoc291cmNlRnJhbWUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXNvdXJj
ZVRleHQgPSBzb3VyY2VGcmFtZS5fdGV4dEVkaXRvci50ZXh0KCk7Ci0gICAgICAgICAgICB2YXIg
bGluZXMgPSByZXNvdXJjZVRleHQuc3BsaXQoIlxuIik7Ci0gICAgICAgICAgICB2YXIgbGluZU51
bWJlciA9IHVpTG9jYXRpb24ubGluZU51bWJlcjsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJGcmFtZSAiICsgY2FsbEZyYW1lSW5kZXggKyAiKSBsaW5lICIgKyBsaW5lTnVt
YmVyICsgIiwgY29udGVudDogIiArIGxpbmVzW2xpbmVOdW1iZXJdICsgIiAobXVzdCBiZSBwYXJ0
IG9mIGZ1bmN0aW9uICciICsgZnJhbWUuZnVuY3Rpb25OYW1lICsgIicpIik7Ci0gICAgICAgICAg
ICBjYWxsRnJhbWVJbmRleCsrCi0gICAgICAgICAgICBkdW1wTmV4dENhbGxGcmFtZShuZXh0KTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHVpU291cmNlQ29kZUFkZGVkKHVpU291
cmNlQ29kZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJ1aVNvdXJj
ZUNvZGVBZGRlZCIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRpZER1bXAoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24oZGlkUmVzdW1lKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBkaWRSZXN1bWUoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoImRpZFJlc3VtZSIpOwotICAgIH0KLX07Ci08L3NjcmlwdD4KLQotPC9oZWFkPgot
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgbWFpbiByZXNvdXJj
ZSBzY3JpcHQgdGV4dCBpcyBjb3JyZWN0IHdoZW4gcGF1c2VkIGluIGlubGluZSBzY3JpcHQgb24g
cmVsb2FkLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3NTQ4Ij5CdWcgNzc1NDguPC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcGF1c2UtaW4taW50
ZXJuYWwtc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9wYXVzZS1pbi1pbnRlcm5hbC1zY3JpcHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjgwZjAxNmI4NjUyOGI3YTc3NzkxNzkyZjFlNjYyYWNj
YzU4ZTc3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9wYXVzZS1pbi1pbnRlcm5hbC1z
Y3JpcHQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotVGVzdHMg
dGhhdCBpbnRlcm5hbCBzY3JpcHRzIHVua25vd24gdG8gZnJvbnQtZW5kIGFyZSBwcm9jZXNzZWQg
Y29ycmVjdGx5IHdoZW4gYXBwZWFyIGluIGRlYnVnZ2VyIGNhbGwgZnJhbWVzLiBCdWcgNjQ5OTUK
LQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi0KLVJ1bm5pbmc6IHRlc3RTZXRCcmVha3BvaW50Ci1T
Y3JpcHQgc291cmNlIHdhcyBzaG93bi4KLVNldCB0aW1lciBmb3IgdGVzdCBmdW5jdGlvbi4KLVNj
cmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBzdGFjazoKLSAgICAwKSAgKHBhdXNlLWluLWlu
dGVybmFsLXNjcmlwdC5odG1sOjE0KQotICAgIDEpIGZvckVhY2ggKChpbnRlcm5hbCBzY3JpcHQp
KQotICAgIDIpIHRlc3RGdW5jdGlvbiAocGF1c2UtaW4taW50ZXJuYWwtc2NyaXB0Lmh0bWw6MTIp
Ci1TY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCi1TY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLURl
YnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlwdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3BhdXNlLWluLWludGVybmFsLXNjcmlw
dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmZiNTA3ZTAxMDU2MDIxYTg4
OTVhMGNiYWM2NjViYWJlMzA2ZDZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9wYXVz
ZS1pbi1pbnRlcm5hbC1zY3JpcHQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1m
dW5jdGlvbiB0ZXN0RnVuY3Rpb24oKQotewotICAgIHZhciBhcnJheSA9IFsyLCA1LCA3XTsKLSAg
ICB2YXIgc3VtID0gMDsKLSAgICBhcnJheS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkKLSAgICB7Ci0g
ICAgICAgIHN1bSArPSBhcnJheVtrZXldOwotICAgIH0pOwotICAgIHJldHVybiBzdW07Ci19Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0U3Vp
dGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2ludChuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoInBhdXNlLWluLWlu
dGVybmFsLXNjcmlwdC5odG1sIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7Ci0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBzb3VyY2Ug
d2FzIHNob3duLiIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0QnJlYWtwb2lu
dChzb3VyY2VGcmFtZSwgMTMsICIiLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnJ1blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZChkaWRQYXVzZSk7Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFBhdXNlKGNhbGxGcmFtZXMpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFj
ZShjYWxsRnJhbWVzKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICBdKTsKLX07Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgaW50ZXJuYWwgc2NyaXB0cyB1bmtub3du
IHRvIGZyb250LWVuZCBhcmUgcHJvY2Vzc2VkIGNvcnJlY3RseSB3aGVuIGFwcGVhciBpbiBkZWJ1
Z2dlciBjYWxsIGZyYW1lcy4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDk5NSI+QnVnIDY0OTk1PC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVz
b3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL3Jlc291cmNlcy9keW5hbWljLXNjcmlwdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmI5ZmI4MTk1YTAxYjVjMTBlOGZlMzRmZmFlYTkxMzM4NmJlMTA4Ny4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1mdW5jdGlvbiBmb29EeW5hbWljU2NyaXB0KCkK
LXsKLX0KLQotc2NyaXB0TG9hZGVkKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUtYnJlYWtwb2ludHMuanMgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUt
YnJlYWtwb2ludHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZWQzZjg0Mjhi
NTdkYzliMDU4NWMwODc4M2RlOWQ5MDNjMjBmMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL3Jlc291cmNlcy9lZGl0LW1lLWJyZWFrcG9pbnRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi1mdW5jdGlvbiBmKCkKLXsKLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1t
ZS1zeW50YXgtZXJyb3IuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdn
ZXIvcmVzb3VyY2VzL2VkaXQtbWUtc3ludGF4LWVycm9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3ZjdjOGJkOTllZjcwYjFiMzhhYmZhOTBjZDY4MDZmZjZmMzEzYjNjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1tZS1zeW50YXgtZXJyb3Iu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWZ1bmN0aW9uIHN5bnRheEVycm9yKCkK
LXsKLSAgICByZXR1cm4gLCJJJ20gZ29vZCI7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUtd2hlbi1wYXVzZWQu
anMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2Vk
aXQtbWUtd2hlbi1wYXVzZWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4Yjlj
OGUzYzI5N2ZmMGU1OGUzOWE4MjA2MWQ0YTExODcwZTlmZWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2RlYnVnZ2VyL3Jlc291cmNlcy9lZGl0LW1lLXdoZW4tcGF1c2VkLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMTEgKzAsMCBAQAotZnVuY3Rpb24gZjIoKQotewotICAgIHJldHVybiAxOwotfQotCi1m
dW5jdGlvbiBmMSgpCi17Ci0gICAgdmFyIHggPSAxOwotICAgIGRlYnVnZ2VyOwotICAgIHJldHVy
biB4ICsgZjIoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1tZS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvZWRpdC1tZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzZlZDNmODQyOGI1N2RjOWIwNTg1YzA4NzgzZGU5ZDkwM2MyMGYyZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL2VkaXQtbWUuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLWZ1bmN0aW9uIGYoKQotewotICAgIHJldHVybiAwOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291
cmNlcy9vYmZ1c2NhdGVkLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL3Jlc291cmNlcy9vYmZ1c2NhdGVkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmMzQwM2Q1NGY5Njc4N2Q2NWE3NmY4MTUyYzUzMDc4ODUyMWVjZGQ3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvb2JmdXNjYXRlZC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDIwICswLDAgQEAKLWZ1bmN0aW9uIGZvcm1hdHRlZDEoKQotewotICAgIHZhciB2YXJpYWJs
ZTEgPSAwOwotfQotCi1mdW5jdGlvbiB3aXRoQ29tbWVudHMoKQotewotLy8gY29tbWVudAotICAg
IHJldHVybiAiZnVuY3Rpb25XaXRoQ29tbWVudHMiOwotfQotCi10cnl7b25tZXNzYWdlPWZ1bmN0
aW9uKGV2ZW50KXt2YXIgc291cmNlPWV2ZW50LmRhdGE7dmFyIGZvcm1hdHRlZFNvdXJjZT1iZWF1
dGlmeShzb3VyY2UpO3ZhciBtYXBwaW5nPWJ1aWxkTWFwcGluZyhzb3VyY2UsZm9ybWF0dGVkU291
cmNlKTtwb3N0TWVzc2FnZSh7Zm9ybWF0dGVkU291cmNlOmZvcm1hdHRlZFNvdXJjZSxtYXBwaW5n
Om1hcHBpbmd9KX07ZnVuY3Rpb24gYmVhdXRpZnkoc291cmNlKXt2YXIgYXN0PXBhcnNlLnBhcnNl
KHNvdXJjZSk7dmFyIGJlYXV0aWZ5T3B0aW9ucz0KLXtpbmRlbnRfbGV2ZWw6NCxpbmRlbnRfc3Rh
cnQ6MCxxdW90ZV9rZXlzOmZhbHNlLHNwYWNlX2NvbG9uOmZhbHNlfTtyZXR1cm4gcHJvY2Vzcy5n
ZW5fY29kZShhc3QsYmVhdXRpZnlPcHRpb25zKX1mdW5jdGlvbiBidWlsZE1hcHBpbmcoc291cmNl
LGZvcm1hdHRlZFNvdXJjZSl7dmFyIG1hcHBpbmc9e29yaWdpbmFsOltdLGZvcm1hdHRlZDpbXX07
dmFyIGxhc3RQb3NpdGlvbj0wO3ZhciByZWdleHA9LyhefFteXFxdKVxiKCg/PVxEKVtcJFwuXHdd
KylcYi9nO3doaWxlKHRydWUpCi17dmFyIG1hdGNoPXJlZ2V4cC5leGVjKGZvcm1hdHRlZFNvdXJj
ZSk7aWYoIW1hdGNoKWJyZWFrO3ZhciBwb3NpdGlvbj1zb3VyY2UuaW5kZXhPZihtYXRjaFsyXSxs
YXN0UG9zaXRpb24pO2lmKHBvc2l0aW9uPT09LTEpdGhyb3ciTm8gbWF0Y2ggZm91bmQgaW4gb3Jp
Z2luYWwgc291cmNlIGZvciAiK21hdGNoWzJdO21hcHBpbmcub3JpZ2luYWwucHVzaChwb3NpdGlv
bik7bWFwcGluZy5mb3JtYXR0ZWQucHVzaChtYXRjaC5pbmRleCttYXRjaFsxXS5sZW5ndGgpOwot
bGFzdFBvc2l0aW9uPXBvc2l0aW9uK21hdGNoWzJdLmxlbmd0aH1yZXR1cm4gbWFwcGluZ31mdW5j
dGlvbiByZXF1aXJlKCl7cmV0dXJuIHBhcnNlfXZhciBleHBvcnRzPXt9O2ltcG9ydFNjcmlwdHMo
IlVnbGlmeUpTL3BhcnNlLWpzLmpzIik7dmFyIHBhcnNlPWV4cG9ydHM7dmFyIGV4cG9ydHM9e307
aW1wb3J0U2NyaXB0cygiVWdsaWZ5SlMvcHJvY2Vzcy5qcyIpO3ZhciBwcm9jZXNzPWV4cG9ydHM7
fWNhdGNoKGUpe30KLQotZnVuY3Rpb24gZm9ybWF0dGVkMigpCi17Ci0gICAgdmFyIHZhcmlhYmxl
MiA9IDA7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVi
dWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtYnktY3NwLmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLWJ5
LWNzcC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNlMzgwODU4YzRhMjJiNjQ5
N2M5MGM0MmRiZGMxZjBlZTYyOGU0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVz
b3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtYnktY3NwLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzAg
KzAsMCBAQAotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgi
c2NyaXB0cyIpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5D
YWxsU3RhY2tTaWRlYmFyUGFuZS5wcm90b3R5cGUsICJzZXRTdGF0dXMiLCBzZXRTdGF0dXMsIGZh
bHNlKTsKLQotICAgIGZ1bmN0aW9uIHNldFN0YXR1cyhzdGF0dXMpCi0gICAgewotICAgICAgICAv
LyBGSVhNRTogRm9yIHdoYXRldmVyIHJlYXNvbiwgdGhpcyBpc24ndCBnZXR0aW5nIGNhbGxlZCBj
b25zaXN0ZW50bHkuCi0gICAgICAgIC8vIENvbW1lbnRpbmcgaXQgb3V0IHRvIGF2b2lkIGZsYWtl
eW5lc3MuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Njg2NwotICAg
ICAgICAvLyBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ2FsbHN0YWNrIHN0YXR1cyBzZXQgdG86
ICciICsgc3RhdHVzICsgIicuIik7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERl
YnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICBEZWJ1Z2dlckFnZW50LnNldFBhdXNlT25FeGNlcHRpb25zKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1vZGVsLlBhdXNlT25FeGNlcHRpb25zU3RhdGUuUGF1c2VPblVuY2F1Z2h0RXhjZXB0aW9ucyk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRpbWVvdXQodGVzdEFj
dGlvbiwgMCk7Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAy
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihjYWxsRnJhbWVzKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tUcmFjZShjYWxsRnJhbWVzKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwotICAgIH0KLX0KLQotd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBydW5UZXN0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tl
ZC1ldmVudC1oYW5kbGVyLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVn
Z2VyL3Jlc291cmNlcy9wYXVzZS1vbi1ibG9ja2VkLWV2ZW50LWhhbmRsZXIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhNmQ1MWQ2ZjYyMmNiOGFmYmM4NDFmMjI2NWMyYTcxYzky
YjY0MTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1i
bG9ja2VkLWV2ZW50LWhhbmRsZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLWZ1
bmN0aW9uIHRlc3RBY3Rpb24oKQotewotICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdCcpOwotICAgIGJ1dHRvbi5jbGljaygpOwotfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9wYXVzZS1vbi1i
bG9ja2VkLXNjcmlwdC1pbmplY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvcmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LWluamVjdGlvbi5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY5YWI5OTEzMzk0NGRjNDM3YTlkNGE5
NmQ2YTBmMWUwMDM1NjZkZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2Vz
L3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LWluamVjdGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0x
LDYgKzAsMCBAQAotZnVuY3Rpb24gdGVzdEFjdGlvbigpCi17Ci0gICAgdmFyIHNjcmlwdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwotICAgIHNjcmlwdC5pbm5lclRleHQgPSAi
YWxlcnQoJ0ZBSUwhJyk7IjsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7
Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIv
cmVzb3VyY2VzL3BhdXNlLW9uLWJsb2NrZWQtc2NyaXB0LXVybC5qcyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1zY3Jp
cHQtdXJsLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjBjNjA0NGI0ZDE0ZmM3
MzVhNzI4NWE5OTM2YjM2OWVjOTYyN2JjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9y
ZXNvdXJjZXMvcGF1c2Utb24tYmxvY2tlZC1zY3JpcHQtdXJsLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNyArMCwwIEBACi1mdW5jdGlvbiB0ZXN0QWN0aW9uKCkKLXsKLSAgICB2YXIgYSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKLSAgICBhLnNldEF0dHJpYnV0ZSgnaHJlZicsICdqYXZh
c2NyaXB0OmFsZXJ0KCJGQUlMISIpOycpOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
YSk7Ci0gICAgYS5jbGljaygpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQxLmpzIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQxLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhNmZlNGMzYTljNGI2ZTE3ZTVhNmE4NjczNWI4MWU4NzRlODA4
YzcwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvc2NyaXB0MS5qcwor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWZ1bmN0aW9uIGYxKCkge30KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDIuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDIuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDg2NjVhMGYyNjk3ZmIwNTU5NjE1YjI2NzBlMTAwOWM3YzM2NzU1NTYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zY3JpcHQyLmpzCisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotZnVuY3Rpb24gZjIoKSB7fQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1
Z2dlci9yZXNvdXJjZXMvc2NyaXB0My5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvc2NyaXB0My5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTNmYjM0MzY2MTdkYmQzZTc3N2I3YzQ4N2Q2YTUzYTM1MThkZDJjNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvcmVzb3VyY2VzL3NjcmlwdDMuanMKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi1mdW5jdGlvbiBmMygpIHt9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jl
c291cmNlcy9zeW50YXgtZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9kZWJ1Z2dlci9yZXNvdXJjZXMvc3ludGF4LWVycm9yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDVhZWUyMTQ1NGYzYTExM2U2MzlhMDgxMjk4YzAzNWMwNTg2MjY4MmUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3Jlc291cmNlcy9zeW50YXgtZXJyb3IuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0Pgot
KQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0iY29uc29sZS5sb2coJ0lmcmFt
ZSBsb2FkZWQnKTsiPgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9z
Y3JpcHQtZm9ybWF0dGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNmEwMWYwM2E5Y2UyZmRlN2M3ZjJhZDM1MjZlZTI4MTIyMjE5MjA5
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1UZXN0cyB0aGUgc2NyaXB0IGZv
cm1hdHRpbmcgZnVuY3Rpb25hbGl0eS4KLQotRGVidWdnZXIgd2FzIGVuYWJsZWQuCi0KLVJ1bm5p
bmc6IHRlc3RTY3JpcHRGb3JtYXR0ZXJXb3JrZXIKLQotUnVubmluZzogdGVzdFNvdXJjZU1hcHBp
bmcKLQotUnVubmluZzogdGVzdEZvcm1hdElubGluZWRTY3JpcHRzCi08aHRtbD48Ym9keT48c2Ny
aXB0PgotZnVuY3Rpb24gZigpIHsKLX0KLTwvc2NyaXB0PjxzY3JpcHQ+Ci1mdW5jdGlvbiBnKCkg
ewotKip2YXIgYTsKLSoqaWYgKGEpCi0qKioqcmV0dXJuOwotfQotPC9zY3JpcHQ+PC9ib2R5Pjwv
aHRtbD4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQt
Zm9ybWF0dGVyLXNlYXJjaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDc3NDBhNDQ0ZGZiZWRmZWU5MDA4YTMzMzNiZDZmNTIzMjkyOTdlODEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRlc3RzIHRoYXQgc2VhcmNoIGFjcm9zcyBm
aWxlcyB3b3JrcyB3aXRoIGZvcm1hdHRlZCBzY3JpcHRzLgotCi1EZWJ1Z2dlciB3YXMgZW5hYmxl
ZC4KLVByZS1mb3JtYXQgc2VhcmNoIHJlc3VsdHM6Ci1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVt
YmVyOiAyNCwgbGluZTogJyAgICAgICAgc2NyaXB0U291cmNlLnNlYXJjaEluQ29udGVudCgibWFn
aWMtc3RyaW5nIiwgdHJ1ZSwgZmFsc2UsIGR1bXAxKTsnCi1saW5lTnVtYmVyOiAzOSwgbGluZTog
JyAgICAgICAgc2NyaXB0U291cmNlLnNlYXJjaEluQ29udGVudCgibWFnaWMtc3RyaW5nIiwgdHJ1
ZSwgZmFsc2UsIGR1bXAyKTsnCi0KLU9yaWdpbmFsIGNvbnRlbnQgd2FzIHJlcXVlc3RlZC4KLVBv
c3QtZm9ybWF0IHNlYXJjaCByZXN1bHRzOgotU2VhcmNoIG1hdGNoZXM6IAotbGluZU51bWJlcjog
MjgsIGxpbmU6ICcgICAgICAgIHNjcmlwdFNvdXJjZS5zZWFyY2hJbkNvbnRlbnQoIm1hZ2ljLXN0
cmluZyIsIHRydWUsIGZhbHNlLCBkdW1wMSk7JwotbGluZU51bWJlcjogNDMsIGxpbmU6ICcgICAg
ICAgIHNjcmlwdFNvdXJjZS5zZWFyY2hJbkNvbnRlbnQoIm1hZ2ljLXN0cmluZyIsIHRydWUsIGZh
bHNlLCBkdW1wMik7JwotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLXNlYXJjaC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItc2VhcmNoLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFiZDE2Y2Q0MTgxMWE5Zjk0OWRmZDM5YmJh
N2FjZWE4MTI0NmY2MDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3NjcmlwdC1mb3Jt
YXR0ZXItc2VhcmNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvc2VhcmNoLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2Ny
aXB0PgotCi12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgc2NyaXB0U291cmNlOwot
ICAgIHZhciBzaG91bGRSZXF1ZXN0Q29udGVudCA9IGZhbHNlOwotCi0gICAgSW5zcGVjdG9yVGVz
dC5zdGFydERlYnVnZ2VyVGVzdChzdGFydGVkKTsKLQotICAgIGZ1bmN0aW9uIHN0YXJ0ZWQoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJzY3JpcHQtZm9y
bWF0dGVyLXNlYXJjaC5odG1sIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShmcmFtZSkKLSAgICB7Ci0gICAgICAgIHNjcmlw
dFNvdXJjZSA9IGZyYW1lLl91aVNvdXJjZUNvZGU7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
U25pZmZlcihzY3JpcHRTb3VyY2UuX3Byb2plY3QsICJyZXF1ZXN0RmlsZUNvbnRlbnQiLCByZXF1
ZXN0Q29udGVudFNuaWZmZXIpOwotICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5Db250ZW50
KCJtYWdpYy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDEpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGR1bXAxKG1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiUHJlLWZvcm1hdCBzZWFyY2ggcmVzdWx0czoiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VhcmNoTWF0Y2hlcyhtYXRjaGVzKTsKLSAgICAgICAgc2hvdWxkUmVxdWVzdENvbnRlbnQg
PSB0cnVlOwotICAgICAgICBzY3JpcHRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Gb3JtYXR0ZWRDaGFuZ2VkLCBkaWRGb3JtYXQsIHRoaXMp
OwotICAgICAgICBzY3JpcHRTb3VyY2Uuc2V0Rm9ybWF0dGVkKHRydWUpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGRpZEZvcm1hdCgpCi0gICAgewotICAgICAgICBzY3JpcHRTb3VyY2UucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2ZW50cy5Gb3JtYXR0ZWRD
aGFuZ2VkLCBkaWRGb3JtYXQsIHRoaXMpOwotICAgICAgICBzY3JpcHRTb3VyY2Uuc2VhcmNoSW5D
b250ZW50KCJtYWdpYy1zdHJpbmciLCB0cnVlLCBmYWxzZSwgZHVtcDIpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIGR1bXAyKG1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiUG9zdC1mb3JtYXQgc2VhcmNoIHJlc3VsdHM6Iik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlYXJjaE1hdGNoZXMobWF0Y2hlcyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVxdWVzdENvbnRlbnRTbmlm
ZmVyKCkKLSAgICB7Ci0gICAgICAgIGlmIChzaG91bGRSZXF1ZXN0Q29udGVudCkKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJPcmlnaW5hbCBjb250ZW50IHdhcyByZXF1ZXN0
ZWQuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJGYWlsdXJlOiBvcmlnaW5hbCBjb250ZW50IHNob3VsZCBub3QgYmUgcmVxdWVzdGVkLiIpOwot
ICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+VGVzdHMgdGhhdCBzZWFyY2ggYWNyb3NzIGZpbGVzIHdvcmtzIHdpdGggZm9ybWF0
dGVkIHNjcmlwdHMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRl
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMWFkNDZkNDNlNTQyMTcxMjY2
N2ZmMDkwY2Y3ZTdmNjc2NjYzY2U0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zY3Jp
cHQtZm9ybWF0dGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L29iZnVzY2F0ZWQuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi12YXIgdGVzdCA9IGZ1bmN0
aW9uKCkKLXsKLSAgICB2YXIgcGFuZWwgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHM7Ci0g
ICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoIlNjcmlwdEZvcm1hdHRlcldvcmtlci5qcyIpOwot
Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RTY3JpcHRGb3JtYXR0ZXJXb3JrZXIobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgd29ya2VyLm9ubWVzc2FnZSA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoZnVuY3Rpb24oZXZl
bnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRF
cXVhbHMoInZhciB4ID0gMFxuIiwgZXZlbnQuZGF0YS5jb250ZW50KTsKLSAgICAgICAgICAgICAg
ICBuZXh0KCk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgd29ya2VyLm9uZXJyb3Ig
PSBmdW5jdGlvbihldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiRXJyb3IgaW4gd29ya2VyOiAiICsgZXZlbnQuZGF0YSk7Ci0gICAg
ICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfTsKLQotICAgICAgICAgICAgd29ya2Vy
LnBvc3RNZXNzYWdlKHsgbWV0aG9kOiAiZm9ybWF0IiwgcGFyYW1zOiB7IG1pbWVUeXBlOiAidGV4
dC9qYXZhc2NyaXB0IiwgY29udGVudDogInZhciB4PTAiIH0gfSk7Ci0gICAgICAgIH0sCi0KLSAg
ICAgICAgZnVuY3Rpb24gdGVzdFNvdXJjZU1hcHBpbmcobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgdmFyIGZvcm1hdHRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0Rm9ybWF0dGVyKCk7
Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgib2JmdXNjYXRl
ZC5qcyIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOwotICAgICAgICAgICAgZnVuY3Rpb24gZGlkU2hv
d1NjcmlwdFNvdXJjZShzb3VyY2VGcmFtZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBmb3JtYXR0ZXIuZm9ybWF0Q29udGVudCgidGV4dC9qYXZhc2NyaXB0Iiwgc291cmNlRnJhbWUu
X3RleHRFZGl0b3IudGV4dCgpLCBkaWRGb3JtYXRDb250ZW50KTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgZnVuY3Rpb24gZGlkRm9ybWF0Q29udGVudChjb250ZW50LCBtYXBwaW5nKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBzb3VyY2UgPSBXZWJJbnNwZWN0b3Iu
cGFuZWxzLnNjcmlwdHMudmlzaWJsZVZpZXcuX3RleHRFZGl0b3IudGV4dCgpOwotICAgICAgICAg
ICAgICAgIHZhciBmb3JtYXR0ZWRTb3VyY2UgPSBjb250ZW50OwotCi0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24gdGVzdE1hcHBpbmcoc3RyaW5nKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgdmFyIG9yaWdpbmFsUG9zaXRpb24gPSBzb3VyY2UuaW5kZXhPZihzdHJpbmcp
OwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUob3JpZ2luYWxQ
b3NpdGlvbiAhPT0gLTEpOwotICAgICAgICAgICAgICAgICAgICB2YXIgb3JpZ2luYWxMb2NhdGlv
biA9IFdlYkluc3BlY3Rvci5Gb3JtYXR0ZXIucG9zaXRpb25Ub0xvY2F0aW9uKHNvdXJjZS5saW5l
RW5kaW5ncygpLCBvcmlnaW5hbFBvc2l0aW9uKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGZv
cm1hdHRlZExvY2F0aW9uID0gbWFwcGluZy5vcmlnaW5hbFRvRm9ybWF0dGVkKG9yaWdpbmFsTG9j
YXRpb25bMF0sIG9yaWdpbmFsTG9jYXRpb25bMV0pOwotICAgICAgICAgICAgICAgICAgICB2YXIg
Zm9ybWF0dGVkUG9zaXRpb24gPSBXZWJJbnNwZWN0b3IuRm9ybWF0dGVyLmxvY2F0aW9uVG9Qb3Np
dGlvbihmb3JtYXR0ZWRTb3VyY2UubGluZUVuZGluZ3MoKSwgZm9ybWF0dGVkTG9jYXRpb25bMF0s
IGZvcm1hdHRlZExvY2F0aW9uWzFdKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVk
Rm9ybWF0dGVkUG9zaXRpb24gPSBmb3JtYXR0ZWRTb3VyY2UuaW5kZXhPZihzdHJpbmcpOwotICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhleHBlY3RlZEZvcm1h
dHRlZFBvc2l0aW9uLCBmb3JtYXR0ZWRQb3NpdGlvbiwgIndyb25nIG1hcHBpbmcgZm9yIDwiICsg
c3RyaW5nICsgIj4iKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB0ZXN0
TWFwcGluZygiZnVuY3Rpb24iKTsKLSAgICAgICAgICAgICAgICB0ZXN0TWFwcGluZygiZm9ybWF0
dGVkMSIpOwotICAgICAgICAgICAgICAgIHRlc3RNYXBwaW5nKCJ2YXJpYWJsZTEiKTsKLQotICAg
ICAgICAgICAgICAgIHRlc3RNYXBwaW5nKCIgICAgcmV0dXJuIFwiZnVuY3Rpb25XaXRoQ29tbWVu
dHNcIiIpOwotCi0gICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoIm9ubWVzc2FnZSIpOwotICAg
ICAgICAgICAgICAgIHRlc3RNYXBwaW5nKCJpbmRlbnRfc3RhcnQiKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0TWFwcGluZygiZnVuY3Rpb24gcmVxdWlyZSIpOwotICAgICAgICAgICAgICAgIHRlc3RN
YXBwaW5nKCJ2YXIgcmVnZXhwIik7Ci0gICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoImltcG9y
dFNjcmlwdHMiKTsKLQotICAgICAgICAgICAgICAgIHRlc3RNYXBwaW5nKCJmb3JtYXR0ZWQyIik7
Ci0gICAgICAgICAgICAgICAgdGVzdE1hcHBpbmcoInZhcmlhYmxlMiIpOwotCi0gICAgICAgICAg
ICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RGb3JtYXRJbmxpbmVkU2NyaXB0cyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICB3b3JrZXIub25tZXNzYWdlID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChmdW5jdGlvbihldmVu
dCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChldmVudC5kYXRhLmNvbnRlbnQpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAg
ICAgIH0pOwotCi0gICAgICAgICAgICB3b3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJF
cnJvciBpbiB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgICAgICB9OwotCi0gICAgICAgICAgICB2YXIgY29udGVudCA9ICI8aHRtbD48Ym9k
eT48c2NyaXB0PmZ1bmN0aW9uIGYoKXt9PCIgKyAiL3NjcmlwdD48c2NyaXB0PmZ1bmN0aW9uIGco
KXt2YXIgYTtpZiAoYSkgcmV0dXJuO308IiArICIvc2NyaXB0PjwvYm9keT48L2h0bWw+IjsKLSAg
ICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IG1ldGhvZDogImZvcm1hdCIsIHBhcmFtczog
eyBtaW1lVHlwZTogInRleHQvaHRtbCIsIGNvbnRlbnQ6IGNvbnRlbnQsIGluZGVudFN0cmluZzog
IioqIiB9IH0pOwotICAgICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoZSBzY3JpcHQgZm9ybWF0
dGluZyBmdW5jdGlvbmFsaXR5LgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZGVidWdnZXIvc291cmNlLXVybC1jb21t
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9kZWJ1Z2dl
ci9zb3VyY2UtdXJsLWNvbW1lbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyMTA3NDY1NjZiM2FjNmE3MjU4ZmJjMWJiZTQ3OGM1Nzk0YzI1ZThhLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9kZWJ1Z2dlci9zb3VyY2UtdXJsLWNvbW1lbnQtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotVGVzdHMgdGhhdCBldmFscyB3aXRoIHNvdXJj
ZVVSTCBjb21tZW50IGFyZSBzaG93biBpbiBzY3JpcHRzIHBhbmVsLgotCi1EZWJ1Z2dlciB3YXMg
ZW5hYmxlZC4KLQotUnVubmluZzogdGVzdFNvdXJjZVVSTENvbW1lbnRJbklubGluZVNjcmlwdAot
Ci1SdW5uaW5nOiB0ZXN0U291cmNlVVJMQ29tbWVudAotZnVuY3Rpb24ga2VlcEFsaXZlKCkge30K
LS8vQCBzb3VyY2VVUkw9ZXZhbFVSTC5qcwotCi1SdW5uaW5nOiB0ZXN0U291cmNlVVJMQ29tbWVu
dEluRHluYW1pY1NjcmlwdAotZnVuY3Rpb24ga2VlcEFsaXZlSW5EeW5hbWljU2NyaXB0KCkge30K
LS8vQCBzb3VyY2VVUkw9ZHluYW1pY1NjcmlwdFVSTC5qcwotCi1SdW5uaW5nOiB0ZXN0Tm9uUmVs
YXRpdmVVUkwKLWZ1bmN0aW9uIHJlbGF0aXZlVVJMU2NyaXB0KCkge30KLS8vQCBzb3VyY2VVUkw9
L2pzL25vblJlbGF0aXZlVVJMLmpzCi0KLVJ1bm5pbmc6IHRlc3RIYXNoU3ludGF4Ci1mdW5jdGlv
biBoYXNoU3ludGF4KCkge30KLS8vIyBzb3VyY2VVUkw9aGFzaFN5bnRheC5qcwotRGVidWdnZXIg
d2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZGVidWdnZXIvc291cmNlLXVybC1jb21tZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZGVidWdnZXIvc291cmNlLXVybC1jb21tZW50Lmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDUxZGZjMDY0NmNlNWZjYTMwNzY0ZWJmMWMwNGJlZDIxNzI2ZmZl
MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2RlYnVnZ2VyL3NvdXJjZS11cmwtY29tbWVudC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTQ3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGtlZXBBbGl2ZUluSW5saW5lU2Ny
aXB0KCkgeyB9Ci0KLS8vQCBzb3VyY2VVUkw9aW5saW5lU2NyaXB0VVJMLmpzCi08L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiBkb0V2YWwoKQotewotICAgIGV2YWwoImZ1bmN0aW9uIGtlZXBB
bGl2ZSgpIHt9XG4vL0Agc291cmNlVVJMPWV2YWxVUkwuanMiKTsKLX0KLQotZnVuY3Rpb24gZG9F
dmFsV2l0aE5vblJlbGF0aXZlVVJMKCkKLXsKLSAgICBldmFsKCJmdW5jdGlvbiByZWxhdGl2ZVVS
TFNjcmlwdCgpIHt9XG4vL0Agc291cmNlVVJMPS9qcy9ub25SZWxhdGl2ZVVSTC5qcyIpOwotfQot
Ci1mdW5jdGlvbiBkb0V2YWxXaXRoSGFzaFN5bnRheCgpCi17Ci0gICAgZXZhbCgiZnVuY3Rpb24g
aGFzaFN5bnRheCgpIHt9XG4vLyMgc291cmNlVVJMPWhhc2hTeW50YXguanMiKTsKLX0KLQotZnVu
Y3Rpb24gZG9EeW5hbWljU2NyaXB0KCkKLXsKLSAgICB2YXIgc2NyaXB0RWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNjcmlwdEVsZW1lbnQudGV4dENvbnRl
bnQgPSAiZnVuY3Rpb24ga2VlcEFsaXZlSW5EeW5hbWljU2NyaXB0KCkge31cbi8vQCBzb3VyY2VV
Ukw9ZHluYW1pY1NjcmlwdFVSTC5qcyI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChz
Y3JpcHRFbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi0KLXsKLSAgICBmdW5jdGlvbiBm
b3JFYWNoU2NyaXB0TWF0Y2hpbmdVUkwodXJsLCBoYW5kbGVyKQotICAgIHsKLSAgICAgICAgdmFy
IHNjcmlwdHMgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRzOwotICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHNjcmlwdHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlm
IChzY3JpcHRzW2ldLnNvdXJjZVVSTC5pbmRleE9mKHVybCkgIT09IC0xKQotICAgICAgICAgICAg
ICAgIGhhbmRsZXIoc2NyaXB0c1tpXSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0
b3JUZXN0LnJ1bkRlYnVnZ2VyVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNvdXJj
ZVVSTENvbW1lbnRJbklubGluZVNjcmlwdChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoInNvdXJjZS11cmwtY29tbWVudC5odG1sIiwg
ZGlkU2hvd1NjcmlwdFNvdXJjZSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3Jp
cHRTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZnVu
Y3Rpb24gY2hlY2tTY3JpcHREb2VzTm90SGF2ZVNvdXJjZVVSTChzY3JpcHQpCi0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXNj
cmlwdC5oYXNTb3VyY2VVUkwsICJoYXNTb3VyY2VVUkwgZmxhZyBpcyBzZXQgZm9yIGlubGluZSBz
Y3JpcHQiKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB2YXIgcGFuZWwg
PSBXZWJJbnNwZWN0b3IucGFuZWwoInNjcmlwdHMiKTsKLSAgICAgICAgICAgICAgICB2YXIgdWlT
b3VyY2VDb2RlcyA9IHBhbmVsLl93b3Jrc3BhY2UudWlTb3VyY2VDb2RlcygpOwotICAgICAgICAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdWlTb3VyY2VDb2Rlcy5sZW5ndGg7ICsraSkKLSAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHVpU291cmNlQ29kZXNb
aV0ub3JpZ2luVVJMKCkuaW5kZXhPZigiaW5saW5lU2NyaXB0VVJMLmpzIikgPT09IC0xLCAic291
cmNlVVJMIGNvbW1lbnQgaW4gaW5saW5lIHNjcmlwdCB3YXMgdXNlZCBhcyBhIHNjcmlwdCBuYW1l
Iik7Ci0gICAgICAgICAgICAgICAgZm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJzb3VyY2UtdXJs
LWNvbW1lbnQuaHRtbCIsIGNoZWNrU2NyaXB0RG9lc05vdEhhdmVTb3VyY2VVUkwpCi0gICAgICAg
ICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3RTb3VyY2VVUkxDb21tZW50KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgiZXZhbFVSTC5qcyIsIGRpZFNob3dTY3Jp
cHRTb3VyY2UpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0
VGltZW91dChkb0V2YWwsIDApIik7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3Jp
cHRTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZnVu
Y3Rpb24gY2hlY2tTY3JpcHRIYXNTb3VyY2VVUkwoc2NyaXB0KQotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHNjcmlwdC5oYXNT
b3VyY2VVUkwsICJoYXNTb3VyY2VVUkwgZmxhZyBpcyBub3Qgc2V0IGZvciBldmFsIHdpdGggc291
cmNlVVJMIGNvbW1lbnQiKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChzb3VyY2VGcmFtZS50ZXh0RWRpdG9yLnRleHQoKSk7Ci0g
ICAgICAgICAgICAgICAgZm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJldmFsVVJMLmpzIiwgY2hl
Y2tTY3JpcHRIYXNTb3VyY2VVUkwpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U291cmNlVVJMQ29tbWVu
dEluRHluYW1pY1NjcmlwdChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnNob3dTY3JpcHRTb3VyY2UoImR5bmFtaWNTY3JpcHRVUkwuanMiLCBkaWRTaG93U2NyaXB0
U291cmNlKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldFRp
bWVvdXQoZG9EeW5hbWljU2NyaXB0LCAwKSIpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRT
aG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uIGNoZWNrU2NyaXB0SGFzU291cmNlVVJMKHNjcmlwdCkKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShzY3Jp
cHQuaGFzU291cmNlVVJMLCAiaGFzU291cmNlVVJMIGZsYWcgaXMgbm90IHNldCBmb3IgZHluYW1p
YyBzY3JpcHQgd2l0aCBzb3VyY2VVUkwgY29tbWVudCIpOwotICAgICAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHNvdXJjZUZyYW1lLnRleHRF
ZGl0b3IudGV4dCgpKTsKLSAgICAgICAgICAgICAgICBmb3JFYWNoU2NyaXB0TWF0Y2hpbmdVUkwo
ImR5bmFtaWNTY3JpcHRVUkwuanMiLCBjaGVja1NjcmlwdEhhc1NvdXJjZVVSTCk7Ci0gICAgICAg
ICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3ROb25SZWxhdGl2ZVVSTChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNob3dTY3JpcHRTb3VyY2UoIi9qcy9ub25SZWxhdGl2ZVVSTC5qcyIsIGRp
ZFNob3dTY3JpcHRTb3VyY2UpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgic2V0VGltZW91dChkb0V2YWxXaXRoTm9uUmVsYXRpdmVVUkwsIDApIik7Ci0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIGRpZFNob3dTY3JpcHRTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tTY3JpcHRIYXNTb3VyY2VVUkwo
c2NyaXB0KQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnRUcnVlKHNjcmlwdC5oYXNTb3VyY2VVUkwsICJoYXNTb3VyY2VVUkwgZmxhZyBp
cyBub3Qgc2V0IGZvciBldmFsIHdpdGggYSBub24tcmVsYXRpdmUgVVJMIGluIGEgc291cmNlVVJM
IGNvbW1lbnQiKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdChzb3VyY2VGcmFtZS50ZXh0RWRpdG9yLnRleHQoKSk7Ci0gICAgICAg
ICAgICAgICAgZm9yRWFjaFNjcmlwdE1hdGNoaW5nVVJMKCJub25SZWxhdGl2ZVVSTC5qcyIsIGNo
ZWNrU2NyaXB0SGFzU291cmNlVVJMKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEhhc2hTeW50YXgobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNl
KCJoYXNoU3ludGF4LmpzIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KGRvRXZhbFdpdGhIYXNoU3ludGF4
LCAwKSIpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291cmNlKHNvdXJj
ZUZyYW1lKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrU2Ny
aXB0SGFzU291cmNlVVJMKHNjcmlwdCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShzY3JpcHQuaGFzU291cmNlVVJMLCAiaGFz
U291cmNlVVJMIGZsYWcgaXMgbm90IHNldCBmb3IgZXZhbCB3aXRoIGEgbm9uLXJlbGF0aXZlIFVS
TCBpbiBhIHNvdXJjZVVSTCBjb21tZW50Iik7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlRnJhbWUudGV4dEVkaXRvci50
ZXh0KCkpOwotICAgICAgICAgICAgICAgIGZvckVhY2hTY3JpcHRNYXRjaGluZ1VSTCgiaGFzaFN5
bnRheC5qcyIsIGNoZWNrU2NyaXB0SGFzU291cmNlVVJMKTsKLSAgICAgICAgICAgICAgICBuZXh0
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdKTsKLX07Ci0KLTwvc2NyaXB0Pgot
Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgZXZh
bHMgd2l0aCBzb3VyY2VVUkwgY29tbWVudCBhcmUgc2hvd24gaW4gc2NyaXB0cyBwYW5lbC48L3A+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2Vs
ZWN0b3ItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjQwYjA2
MjJlZGMzYTczNjQ3MGU2NDJlMGYxZjUwOTI2MGFlYzQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2VsZWN0b3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjMgKzAsMCBAQAotVGVzdHMgRE9NQWdlbnQucXVlcnlTZWxlY3RvciBhbmQgRE9N
QWdlbnQucXVlcnlTZWxlY3RvckFsbC4KLQotCi1SdW5uaW5nOiB0ZXN0RG9jdW1lbnRRdWVyeVNl
bGVjdG9yCi1ub2RlIGlkOiBpZDEKLQotUnVubmluZzogdGVzdERvY3VtZW50UXVlcnlTZWxlY3Rv
ckFsbAotbm9kZSBpZDogaWQxCi1ub2RlIGlkOiBpZDIKLW5vZGUgaWQ6IGlkMwotbm9kZSBpZDog
aWQ0Ci1ub2RlIGlkOiBpZDUKLW5vZGUgaWQ6IGlkNgotCi1SdW5uaW5nOiB0ZXN0UXVlcnlTZWxl
Y3Rvcgotbm9kZSBpZDogaWQzCi0KLVJ1bm5pbmc6IHRlc3RRdWVyeVNlbGVjdG9yQWxsCi1ub2Rl
IGlkOiBpZDMKLW5vZGUgaWQ6IGlkNAotbm9kZSBpZDogaWQ1Ci1ub2RlIGlkOiBpZDYKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2RvbS1hZ2Vu
dC1xdWVyeS1zZWxlY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2RvbS1hZ2VudC1xdWVyeS1zZWxlY3Rvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkNGIyNmMwZGI4ZWE1ODY2NDhkYzZlYmUzZDUwZDk4MTBjYzhkODRiLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9kb20tYWdlbnQtcXVlcnktc2VsZWN0b3IuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNw
ZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImNvbnRhaW5lciIsIHN0ZXAxKTsKLQotICAgIGZ1
bmN0aW9uIHN0ZXAxKG5vZGUpCi0gICAgewotICAgICAgICB2YXIgY29udGFpbmVySWQgPSBub2Rl
LmlkOwotICAgICAgICB2YXIgZG9jdW1lbnRJZCA9IG5vZGUub3duZXJEb2N1bWVudC5pZDsKLQot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgICAgICBmdW5jdGlv
biB0ZXN0RG9jdW1lbnRRdWVyeVNlbGVjdG9yKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgRE9NQWdlbnQucXVlcnlTZWxlY3Rvcihkb2N1bWVudElkLCAiZGl2LmZvbyIsIGR1
bXBOb2Rlcy5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgICAgIH0sCi0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIHRlc3REb2N1bWVudFF1ZXJ5U2VsZWN0b3JBbGwobmV4dCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yQWxsKGRvY3VtZW50SWQs
ICJkaXYuZm9vIiwgZHVtcE5vZGVzLmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICAgICAgfSwK
LQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFF1ZXJ5U2VsZWN0b3IobmV4dCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yKGNvbnRhaW5lcklk
LCAiZGl2LmZvbyIsIGR1bXBOb2Rlcy5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgICAgIH0s
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RRdWVyeVNlbGVjdG9yQWxsKG5leHQpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRE9NQWdlbnQucXVlcnlTZWxlY3RvckFsbChjb250
YWluZXJJZCwgImRpdi5mb28iLCBkdW1wTm9kZXMuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBOb2RlcyhuZXh0
LCBlcnJvciwgbm9kZUlkcykKLSAgICB7Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXJyb3IpOwotICAgICAgICAgICAgbmV4dCgpOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCEobm9kZUlkcyBp
bnN0YW5jZW9mIEFycmF5KSkKLSAgICAgICAgICAgIG5vZGVJZHMgPSBbbm9kZUlkc107Ci0KLSAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlSWRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAg
ICAgICBpZiAoIW5vZGVJZHNbaV0pCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIm5vIHJlc3VsdHMiKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAg
IHZhciBub2RlID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Lm5vZGVGb3JJZChub2RlSWRzW2ldKTsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibm9kZSBpZDogIiArIG5v
ZGUuZ2V0QXR0cmlidXRlKCJpZCIpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAg
ICBuZXh0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgRE9NQWdlbnQucXVlcnlTZWxlY3RvciBhbmQgRE9NQWdl
bnQucXVlcnlTZWxlY3RvckFsbC4KLTwvcD4KLQotPGRpdiBpZD0iaWQxIiBjbGFzcz0iZm9vIj48
L2Rpdj4KLTxkaXYgaWQ9ImlkMiIgY2xhc3M9ImZvbyI+PC9kaXY+Ci0KLTxkaXYgaWQ9ImNvbnRh
aW5lciI+Ci0gICAgPGRpdiBpZD0iaWQzIiBjbGFzcz0iZm9vIj48L2Rpdj4KLSAgICA8ZGl2IGlk
PSJpZDQiIGNsYXNzPSJmb28iPjwvZGl2PgotICAgIDxkaXYgaWQ9ImlkNSIgY2xhc3M9ImZvbyI+
PC9kaXY+Ci0gICAgPGRpdiBpZD0iaWQ2IiBjbGFzcz0iZm9vIj48L2Rpdj4KLTwvZGl2PgotCi08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvZWxlbWVudHMvZG9tLXNlYXJjaC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZG9tLXNlYXJjaC1jcmFzaC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkODk5OGEyYTUzNDQzMTQ3ZTc0NjIwNmMz
OTMxMGY0NDMxNmZlN2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2RvbS1zZWFyY2gt
Y3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1UZXN0cyB0
aGF0IGVsZW1lbnRzIHBhbmVsIHNlYXJjaCBpcyBub3QgY3Jhc2hpbmcgb24gZG9jdW1lbnRFbGVt
ZW50LWxlc3MgY2FzZXMuCi0KLQotCi1SdW5uaW5nOiB0ZXN0U2V0VXAKLQotUnVubmluZzogdGVz
dE5vQ3Jhc2gKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9kb20tc2VhcmNoLWNyYXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDA2ODQxYmE1MjljYWMwNmUwMjYzNTMyZjRlNWQyYTY0NzM3ZjdjNTEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2RvbS1zZWFyY2gtY3Jhc2guaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsK
LSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuZG9tQWdlbnQucmVxdWVzdERvY3VtZW50KG5leHQpOwotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3ROb0NyYXNoKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCJGb29CYXIiLCBuZXh0KTsKLSAgICAg
ICAgfQotICAgIF0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPHA+Ci1UZXN0
cyB0aGF0IGVsZW1lbnRzIHBhbmVsIHNlYXJjaCBpcyBub3QgY3Jhc2hpbmcgb24gZG9jdW1lbnRF
bGVtZW50LWxlc3MgY2FzZXMuCi08L3A+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL2RvbS1zZWFy
Y2gtY3Jhc2gtaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9lZGl0LXN0eWxlLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWRpdC1zdHlsZS1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjUyMzg0YzI3NTU3ZTc4OTRkMzQ0
ZDI1M2Y1ZGQwODVhZTVmMDc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lZGl0LXN0
eWxlLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBA
Ci1UZXN0cyB0aGF0IHN0eWxlIG1vZGlmaWNhdGlvbiBnZW5lcmF0ZXMgYXR0cmlidXRlIHVwZGF0
ZWQgZXZlbnQgb25seSB3aGVuIGF0dHJpYnV0ZSBpcyBhY3R1YWxseSBjaGFuZ2VkLgotCi0KLVJ1
bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0U2V0TmV3VmFsdWUKLVdlYkluc3BlY3Rv
ci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkIHNob3VsZCBiZSBpc3N1ZWQKLQotUnVubmlu
ZzogdGVzdFNldFNhbWVWYWx1ZQotV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlLl9zZXRB
dHRyaWJ1dGVzUGF5bG9hZCBzaG91bGQgYmUgY2FsbGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lZGl0LXN0eWxlLWF0dHJpYnV0ZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VkaXQtc3R5bGUtYXR0
cmlidXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3ZjdjYTM0N2M2NTMw
OGU2MDlkZDdmZTE4MmU4M2FlOTUxZDViMWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L2VkaXQtc3R5bGUtYXR0cmlidXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIHRlc3RTZXROZXdWYWx1ZSgpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Im5vZGUtc2V0LW5ldy12YWx1ZSIpLnN0eWxlLnNldFByb3BlcnR5KCJjb2xvciIsICJibHVlIik7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3RTZXRTYW1lVmFsdWUoKQotewotICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJub2RlLXNldC1zYW1lLXZhbHVlIikuc3R5bGUuc2V0UHJvcGVydHkoImNvbG9y
IiwgInJlZCIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBTYXZlIHRpbWUgb24g
c3R5bGUgdXBkYXRlcy4KLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwot
ICAgIFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlID0gZnVu
Y3Rpb24oKSB7fTsKLSAgICBXZWJJbnNwZWN0b3IuTWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlw
ZS51cGRhdGUgPSBmdW5jdGlvbigpIHt9OwotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3Vp
dGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRFbGVtZW50c1RyZWUobmV4dCk7Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldE5ld1ZhbHVlKG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInRlc3RTZXROZXdWYWx1ZSgp
Iik7Ci0KLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBsaXN0ZW5lcik7Ci0g
ICAgICAgICAgICBmdW5jdGlvbiBsaXN0ZW5lcihldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiV2ViSW5zcGVjdG9yLkRPTUFnZW50
LkV2ZW50cy5BdHRyTW9kaWZpZWQgc2hvdWxkIGJlIGlzc3VlZCIpOwotICAgICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBsaXN0ZW5lcik7Ci0gICAgICAgICAgICAgICAg
bmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RTZXRTYW1lVmFsdWUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgidGVzdFNldFNhbWVWYWx1ZSgpIik7Ci0KLSAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5FdmVudHMuQXR0ck1vZGlmaWVkLCBsaXN0ZW5lcik7Ci0gICAgICAgICAgICBmdW5jdGlvbiBs
aXN0ZW5lcihldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQg
c2hvdWxkIG5vdCBiZSBpc3N1ZWQiKTsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0
dHJNb2RpZmllZCwgbGlzdGVuZXIpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlLCAiX3Nl
dEF0dHJpYnV0ZXNQYXlsb2FkIiwgY2FsbGJhY2spOwotICAgICAgICAgICAgZnVuY3Rpb24gY2Fs
bGJhY2soKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUuX3NldEF0dHJpYnV0ZXNQYXls
b2FkIHNob3VsZCBiZSBjYWxsZWQiKTsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0
dHJNb2RpZmllZCwgbGlzdGVuZXIpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIF0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHN0eWxlIG1vZGlmaWNhdGlv
biBnZW5lcmF0ZXMgYXR0cmlidXRlIHVwZGF0ZWQgZXZlbnQgb25seSB3aGVuIGF0dHJpYnV0ZSBp
cyBhY3R1YWxseSBjaGFuZ2VkLgotPC9wPgotCi08ZGl2IGlkPSJjb250YWluZXIiPgotICAgIDxk
aXYgaWQ9Im5vZGUtc2V0LW5ldy12YWx1ZSIgc3R5bGU9ImNvbG9yOnJlZCI+PC9kaXY+Ci0gICAg
PGRpdiBpZD0ibm9kZS1zZXQtc2FtZS12YWx1ZSIgc3R5bGU9ImNvbG9yOnJlZCI+PC9kaXY+Ci08
L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1yZWxvYWQtYXNzZXJ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1w
YW5lbC1yZWxvYWQtYXNzZXJ0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTQzMDYwNDViMjc1NWNjM2Y0YWI0YjMwZmQ0NzkxODkyZGIwMGQzZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtcmVsb2FkLWFzc2VydC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQgdGhlIGluc3Bl
Y3RlZCBwYWdlIGRvZXMgbm90IGNyYXNoIGluIGEgZGVidWcgYnVpbGQgd2hlbiByZWxvYWRpbmcg
YSBwYWdlIGNvbnRhaW5pbmcgc2hhZG93IERPTSB3aXRoIG9wZW4gaW5zcGVjdG9yLiBCdWcgODQx
NTQuCi0KLQotUGFnZSByZWxvYWRlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXJlbG9hZC1hc3NlcnQuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1y
ZWxvYWQtYXNzZXJ0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NzRmMGU5
MmQxZDJiNTQ1ZjQyOGM4YTA2MTMzNDBkODU5YThkMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXJlbG9hZC1hc3NlcnQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDM0ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0
LjAxIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5k
dGQiPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1lbnRzVHJl
ZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1U
ZXN0cyB0aGF0IHRoZSBpbnNwZWN0ZWQgcGFnZSBkb2VzIG5vdCBjcmFzaCBpbiBhIGRlYnVnIGJ1
aWxkIHdoZW4gcmVsb2FkaW5nIGEgcGFnZSBjb250YWluaW5nIHNoYWRvdyBET00gd2l0aCBvcGVu
IGluc3BlY3Rvci4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg0MTU0Ij5CdWcgODQxNTQ8L2E+LgotPC9wPgotCi08aW5wdXQgdHlwZT0icmFkaW8iPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc2VhcmNoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1zZWFyY2gt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTQ5YjE3MmYxYmJk
OTE3NTVmZGIwZWE2NzY1NzFmNmQxZjQxMzExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9lbGVtZW50cy1wYW5lbC1zZWFyY2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NTAgKzAsMCBAQAotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBzZWFyY2ggaXMgcmV0dXJuaW5n
IHByb3BlciByZXN1bHRzLgotCi1Gb29CYXIKLQotRm91bmQgYnkgc2VsZWN0b3IKLQotUnVubmlu
ZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRlc3RQbGFpblRleHQKLUYgbyBvIEIgYSByCi0KLVJ1
bm5pbmc6IHRlc3RQYXJ0aWFsVGV4dAotRiBvIG8gQiBhIHIKLQotUnVubmluZzogdGVzdFN0YXJ0
VGFnCi08IGkgbiBwIHUgdCAgIHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0IFYgYSBsICIgPgotCi1S
dW5uaW5nOiB0ZXN0RW5kVGFnCi08IGkgbiBwIHUgdCAgIHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0
IFYgYSBsICIgPgotCi1SdW5uaW5nOiB0ZXN0UGFydGlhbFRhZwotPCBpIG4gcCB1IHQgICB2IGEg
bCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEgbCAiID4KLQotUnVubmluZzogdGVzdFBhcnRpYWxBYnNl
bnRUYWdTdGFydAotTm90aGluZyBmb3VuZAotCi1SdW5uaW5nOiB0ZXN0UGFydGlhbEFic2VudFRh
Z0VuZAotTm90aGluZyBmb3VuZAotCi1SdW5uaW5nOiB0ZXN0RnVsbFRhZwotPCBpIG4gcCB1IHQg
ICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEgbCAiID4KLQotUnVubmluZzogdGVzdEV4YWN0
QXR0cmlidXRlTmFtZQotPCBpIG4gcCB1IHQgICB2IGEgbCB1IGUgPSAiIEkgbiBwIHUgdCBWIGEg
bCAiID4KLQotUnVubmluZzogdGVzdEV4YWN0QXR0cmlidXRlVmFsX3VlCi08IGkgbiBwIHUgdCAg
IHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0IFYgYSBsICIgPgotCi1SdW5uaW5nOiB0ZXN0RXhhY3RB
dHRyaWJ1dGVWYWxfdWVXaXRoUXVvdGVzCi08IGQgaSB2ICAgYSB0IHQgciA9ICIgZiBvIG8gIiA+
IDwgLyBkIGkgdiA+Ci0KLVJ1bm5pbmc6IHRlc3RQYXJ0aWFsQXR0cmlidXRlVmFsX3VlCi08IGkg
biBwIHUgdCAgIHYgYSBsIHUgZSA9ICIgSSBuIHAgdSB0IFYgYSBsICIgPgotCi1SdW5uaW5nOiB0
ZXN0WFBhdGhBdHRyaWJ1dGUKLTwgZCBpIHYgICBhIHQgdCByID0gIiBmIG8gbyAiID4gPCAvIGQg
aSB2ID4KLQotUnVubmluZzogdGVzdFNlbGVjdG9yCi08IHMgcCBhIG4gPiBGIG8gdSBuIGQgICBi
IHkgICBzIGUgbCBlIGMgdCBvIHIgPCAvIHMgcCBhIG4gPgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc2VhcmNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFu
ZWwtc2VhcmNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlOGY3OTVmNTBi
MDI4NzEwN2IxNTI2YTAwYWUwYmM2ZDBlMDcwZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2VsZW1lbnRzLXBhbmVsLXNlYXJjaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMwICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5z
aXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0g
ICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLQotICAgIGZ1bmN0aW9uIHNl
YXJjaENhbGxiYWNrKG5leHQsIHJlc3VsdENvdW50KQotICAgIHsKLSAgICAgICAgaWYgKHJlc3Vs
dENvdW50ID09IDApIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOb3Ro
aW5nIGZvdW5kIik7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuY2FuY2VsU2Vh
cmNoKCk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHJlc3VsdENvdW50OyArK2kpCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZG9tQWdlbnQuc2VhcmNoUmVzdWx0KGksIHNlYXJjaFJlc3VsdENhbGxiYWNrLmJpbmQodGhpcywg
aSArIDEgPT09IHJlc3VsdENvdW50KSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gc2VhcmNoUmVzdWx0
Q2FsbGJhY2soaXNMYXN0SXRlbSwgbm9kZSkKLSAgICAgICAgewotICAgICAgICAgICAgbm9kZS5n
ZXRPdXRlckhUTUwoYWRkU2VhcmNoUmVzdWx0LmJpbmQodGhpcywgaXNMYXN0SXRlbSkpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWRkU2VhcmNoUmVzdWx0KGlzTGFzdEl0ZW0sIGVy
cm9yLCBtYXJrdXBWYV9sdWUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KG1hcmt1cFZhX2x1ZS5zcGxpdCgiIikuam9pbigiICIpKTsKLSAgICAgICAgICAg
IGlmIChpc0xhc3RJdGVtKSB7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LmNhbmNlbFNlYXJjaCgpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAg
ICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0RG9jdW1lbnQobmV4dCk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdFBsYWluVGV4dChuZXh0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgiRm8iICsgIm8iICsgIkJh
ciIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RQYXJ0aWFsVGV4dChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgib28iICsgIkJhIiwgc2VhcmNo
Q2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rp
b24gdGVzdFN0YXJ0VGFnKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5kb21BZ2VudC5wZXJmb3JtU2VhcmNoKCI8aW5wdSIgKyAidCIsIHNlYXJjaENhbGxiYWNrLmJp
bmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RFbmRU
YWcobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBl
cmZvcm1TZWFyY2goIm5wdSIgKyAidD4iLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQp
KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UGFydGlhbFRhZyhuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJj
aCgibnB1IiArICJ0Iiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFBhcnRpYWxBYnNlbnRUYWdTdGFydChuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJj
aCgiPG5wdSIgKyAidCIsIHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RQYXJ0aWFsQWJzZW50VGFnRW5kKG5leHQpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJmb3JtU2VhcmNo
KCJucHUiICsgIj4iLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMsIG5leHQpKTsKLSAgICAgICAg
fSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0RnVsbFRhZyhuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgiPGlucHUiICsgInQ+
Iiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAg
ICAgZnVuY3Rpb24gdGVzdEV4YWN0QXR0cmlidXRlTmFtZShuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgidmFsdSIgKyAiZSIs
IHNlYXJjaENhbGxiYWNrLmJpbmQodGhpcywgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAg
IGZ1bmN0aW9uIHRlc3RFeGFjdEF0dHJpYnV0ZVZhbF91ZShuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNlYXJjaCgiSW4iICsgInB1dFZh
IiArICJsIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdEV4YWN0QXR0cmlidXRlVmFsX3VlV2l0aFF1b3RlcyhuZXh0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucGVyZm9ybVNl
YXJjaCgiXCJmbyIgKyAib1wiIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBuZXh0KSk7Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFBhcnRpYWxBdHRyaWJ1dGVWYWxfdWUo
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZv
cm1TZWFyY2goIm4iICsgInB1dFZhIiArICJsIiwgc2VhcmNoQ2FsbGJhY2suYmluZCh0aGlzLCBu
ZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFhQYXRoQXR0cmlidXRl
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5wZXJm
b3JtU2VhcmNoKCIvL2h0bWwiICsgIi8vQGF0dHIiLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMs
IG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2VsZWN0b3IobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnBlcmZvcm1T
ZWFyY2goImQiICsgIml2LmRpdmNsYXNzIHNwYW4iLCBzZWFyY2hDYWxsYmFjay5iaW5kKHRoaXMs
IG5leHQpKTsKLSAgICAgICAgfQotICAgIF0pOwotCi19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGVsZW1lbnRzIHBhbmVs
IHNlYXJjaCBpcyByZXR1cm5pbmcgcHJvcGVyIHJlc3VsdHMuCi08L3A+Ci0KLTxkaXY+Rm9vQmFy
PC9kaXY+Ci08aW5wdXQgdmFsdWU9IklucHV0VmFsIj4KLTxkaXYgYXR0cj0iZm9vIj48L2Rpdj4K
LTxkaXYgaWQ9InRlcm1pbmF0b3IiPjwvZGl2PgotPGRpdiBjbGFzcz0iZGl2Y2xhc3MiPjxzcGFu
PkZvdW5kIGJ5IHNlbGVjdG9yPC9zcGFuPjwvZGl2PgotPHNwYW4gY2xhc3M9ImZvbyBrb28iPjwv
c3Bhbj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVsLXN0eWxlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvZWxlbWVudHMtcGFuZWwt
c3R5bGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmIyNmUz
ZWM5MDE0ZmQ0ZDY5NGJmNmFmZTlkZTc2Zjg3YjMxNTJmYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
ZWxlbWVudHMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE0NCArMCwwIEBACi1UZXN0cyB0aGF0IGVsZW1lbnRzIHBhbmVsIHNob3dzIHByb3Bl
ciBzdHlsZXMgaW4gdGhlIHNpZGViYXIgcGFuZWwuCi0KLUZvbwotW2V4cGFuZGVkXSAKLS13ZWJr
aXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOwotICAgIGVsZW1lbnQuc3R5
bGUgLSBzdWJwaXhlbC1hbnRpYWxpYXNlZCAKLWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVw
eDsKLSAgICAuZm9vIC0gNXB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLWJvcmRlci1i
b3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7Ci0gICAgLmZvbyAtIDVweCBlbGVtZW50cy1wYW5lbC1z
dHlsZXMuY3NzOjE2Ci1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7Ci0gICAgLmZvbyAtIDVw
eCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2Ci1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czog
NXB4OwotICAgIC5mb28gLSA1cHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgotY29sb3I6
IHJnYigwLCAwLCAyNTUpOwotICAgIC5mb28sIC5mb286OmJlZm9yZSAtIGJsdWUgZWxlbWVudHMt
cGFuZWwtc3R5bGVzLmNzczoyOAotICAgIC8tLSBvdmVybG9hZGVkIC0tLyAuZm9vIC0gYmxhY2sg
ZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgotICAgIC8tLSBvdmVybG9hZGVkIC0tLyAjY29u
dGFpbmVyIC0gcmVkIGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6NQotZGlzcGxheTogYmxvY2s7
Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGVsZW1lbnQuc3R5bGUgLSBub25lIAotICAgIC5mb28s
IC5mb286OmJlZm9yZSAtIGJsb2NrICFpbXBvcnRhbnQgZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNz
czoyOAotICAgIC8tLSBvdmVybG9hZGVkIC0tLyBkaXYgLSBibG9jayB1c2VyIGFnZW50IHN0eWxl
c2hlZXQKLWZvbnQtZmFtaWx5OiBzZXJpZjsKLSAgICAjY29udGFpbmVyIC0gc2VyaWYgZWxlbWVu
dHMtcGFuZWwtc3R5bGVzLmNzczo1Ci1mb250LXNpemU6IDE0cHg7Ci0gICAgI2NvbnRhaW5lciAt
IDE0cHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczo1Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0v
IGJvZHkgLSAxMnB4IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MQotZm9udC1zdHlsZTogaXRh
bGljOwotICAgICNjb250YWluZXIgLmZvbyAtIGl0YWxpYyAhaW1wb3J0YW50IGVsZW1lbnRzLXBh
bmVsLXN0eWxlcy5jc3M6MTIKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gLmZvbyAtIG5vcm1hbCAh
aW1wb3J0YW50IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLWZvbnQtd2VpZ2h0OiBub3Jt
YWw7Ci0gICAgLmZvbyAtIG5vcm1hbCAhaW1wb3J0YW50IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5j
c3M6MTYKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gLmZvbyAtIGJvbGQgZWxlbWVudHMtcGFuZWwt
c3R5bGVzLmNzczoxNgotbWFyZ2luLWJvdHRvbTogMnB4OwotICAgIC5mb28gLSAycHggZWxlbWVu
dHMtcGFuZWwtc3R5bGVzLmNzczoxNgotbWFyZ2luLWxlZnQ6IDBweDsKLSAgICAuZm9vIC0gMXB4
IGVsZW1lbnRzLXBhbmVsLXN0eWxlcy5jc3M6MTYKLW1hcmdpbi1yaWdodDogMHB4OwotICAgIC5m
b28gLSAwcHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgotbWFyZ2luLXRvcDogMTBweDsK
LSAgICAuZm9vIC0gMTBweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjE2Ci1wYWRkaW5nLWJv
dHRvbTogNHB4OwotICAgIC5mb28gLSA0cHggZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczoxNgot
cGFkZGluZy1sZWZ0OiA0cHg7Ci0gICAgLmZvbyAtIDRweCBlbGVtZW50cy1wYW5lbC1zdHlsZXMu
Y3NzOjE2Ci1wYWRkaW5nLXJpZ2h0OiAxcHg7Ci0gICAgLmZvbyAtIDFweCBlbGVtZW50cy1wYW5l
bC1zdHlsZXMuY3NzOjE2Ci1wYWRkaW5nLXRvcDogNHB4OwotICAgIC5mb28gLSA0cHggZWxlbWVu
dHMtcGFuZWwtc3R5bGVzLmNzczoxNgotdGV4dC1hbGlnbjogLXdlYmtpdC1sZWZ0OwotICAgIGRp
dltBdHRyaWJ1dGVzIFN0eWxlXSAtIC13ZWJraXQtbGVmdCAKLQotW2V4cGFuZGVkXSAKLWVsZW1l
bnQuc3R5bGUgIHsgKCkKLS8tLSBvdmVybG9hZGVkIC0tLyBkaXNwbGF5OiBub25lOwotLXdlYmtp
dC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7Ci0KLT09PT09PT09IE1hdGNo
ZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotI2NvbnRhaW5lciAuZm9vICB7IChl
bGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjEyKQotZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRh
bnQ7Ci0KLVtleHBhbmRlZF0gCi0uZm9vICB7IChlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjQ3
KQotCi1bZXhwYW5kZWRdIAotLmZvbywgLmZvbzo6YmVmb3JlICB7IChlbGVtZW50cy1wYW5lbC1z
dHlsZXMuY3NzOjI4KQotY29udGVudDogIltiZWZvcmUgRm9vXSI7Ci1jb2xvcjogYmx1ZTsKLWRp
c3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Ci0KLVtleHBhbmRlZF0gCi0uZm9vICB7IChlbGVtZW50
cy1wYW5lbC1zdHlsZXMuY3NzOjE2KQotLy0tIG92ZXJsb2FkZWQgLS0vIGNvbG9yOiBibGFjazsK
LW1hcmdpbi1sZWZ0OiAxcHg7Ci1tYXJnaW46IDEwcHggMCAycHg7Ci0gICAgbWFyZ2luLXRvcDog
MTBweDsKLSAgICBtYXJnaW4tcmlnaHQ6IDBweDsKLSAgICBtYXJnaW4tYm90dG9tOiAycHg7Ci0g
ICAgbWFyZ2luLWxlZnQ6IDFweDsKLWJvcmRlci1yYWRpdXM6IDVweDsKLSAgICBib3JkZXItdG9w
LWxlZnQtcmFkaXVzOiA1cHg7Ci0gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDsKLSAg
ICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OwotICAgIGJvcmRlci1ib3R0b20tbGVm
dC1yYWRpdXM6IDVweDsKLS8tLSBvdmVybG9hZGVkIC0tLyBmb250LXN0eWxlOiBub3JtYWwgIWlt
cG9ydGFudDsKLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsKLS8tLSBvdmVybG9hZGVk
IC0tLyBmb250LXdlaWdodDogYm9sZDsKLXBhZGRpbmc6IDRweDsKLSAgICBwYWRkaW5nLXRvcDog
NHB4OwotICAgIHBhZGRpbmctcmlnaHQ6IDFweDsKLSAgICBwYWRkaW5nLWJvdHRvbTogNHB4Owot
ICAgIHBhZGRpbmctbGVmdDogNHB4OwotcGFkZGluZy1yaWdodDogMXB4OwotCi1bZXhwYW5kZWRd
IAotZGl2W0F0dHJpYnV0ZXMgU3R5bGVdICB7ICgpCi10ZXh0LWFsaWduOiAtd2Via2l0LWxlZnQ7
Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLS8tLSBvdmVy
bG9hZGVkIC0tLyBkaXNwbGF5OiBibG9jazsKLQotPT09PT09PT0gSW5oZXJpdGVkIGZyb20gZGl2
I2NvbnRhaW5lciA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNjb250YWluZXIgIHsgKGVsZW1lbnRz
LXBhbmVsLXN0eWxlcy5jc3M6NSkKLWZvbnQtZmFtaWx5OiBzZXJpZjsKLWZvbnQtc2l6ZTogMTRw
eDsKLS8tLSBvdmVybG9hZGVkIC0tLyBjb2xvcjogcmVkOwotCi09PT09PT09PSBJbmhlcml0ZWQg
ZnJvbSBib2R5ID09PT09PT09Ci1bZXhwYW5kZWRdIAotYm9keSAgeyAoZWxlbWVudHMtcGFuZWwt
c3R5bGVzLmNzczoxKQotLy0tIG92ZXJsb2FkZWQgLS0vIGZvbnQtc2l6ZTogMTJweDsKLQotCi09
PT09PT09PSBQc2V1ZG8gOjpiZWZvcmUgZWxlbWVudCA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5m
b286OmJlZm9yZSAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczo1MSkKLQotW2V4cGFuZGVk
XSAKLS5mb286OmJlZm9yZSAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczozNCkKLWNvbG9y
OiByZWQ7Ci0KLVtleHBhbmRlZF0gCi0uZm9vLCAuZm9vOjpiZWZvcmUgIHsgKGVsZW1lbnRzLXBh
bmVsLXN0eWxlcy5jc3M6MjgpCi1jb250ZW50OiAiW2JlZm9yZSBGb29dIjsKLS8tLSBvdmVybG9h
ZGVkIC0tLyBjb2xvcjogYmx1ZTsKLWRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Ci0KLQotPT09
PT09PT0gUHNldWRvIDo6YWZ0ZXIgZWxlbWVudCA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5mb286
OmFmdGVyICB7IChlbGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzOjQyKQotZm9udC1mYW1pbHk6IGNv
dXJpZXI7Ci1jb250ZW50OiAiW2FmdGVyIEZvbyAyXSI7Ci0KLVtleHBhbmRlZF0gCi0uZm9vOjph
ZnRlciAgeyAoZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzczozOCkKLS8tLSBvdmVybG9hZGVkIC0t
LyBjb250ZW50OiAiW2FmdGVyIEZvb10iOwotY29sb3I6IGdyZWVuOwotCi0KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2VsZW1lbnRzLXBhbmVs
LXN0eWxlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2Vs
ZW1lbnRzLXBhbmVsLXN0eWxlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz
OTM1ODA2MjZmMzdhYjdhMTNmZjc0MjhhMGI2NDA1YjE0MWJhNTRmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9lbGVtZW50cy1wYW5lbC1zdHlsZXMuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDMzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzcyI+
Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzV2l0aENvbXB1
dGVkKCJmb28iLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXMoZmFsc2UsIGZhbHNlKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRo
YXQgZWxlbWVudHMgcGFuZWwgc2hvd3MgcHJvcGVyIHN0eWxlcyBpbiB0aGUgc2lkZWJhciBwYW5l
bC4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIj4KLSAgICA8ZGl2IGlkPSJmb28iIGNsYXNz
PSJmb28iIHN0eWxlPSJkaXNwbGF5Om5vbmU7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBp
eGVsLWFudGlhbGlhc2VkOyIgYWxpZ249ImxlZnQiPkZvbzwvZGl2PgotPC9kaXY+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9oaWdobGlnaHQtbm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMWM0ZjAwNmE2YzNhZjY2ODVhNzM2MmU4ZWQ1NjgzNjc5
YzMxNmQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRoaXMgdGVzdCB2ZXJpZmll
cyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodCByZWN0YW5nbGVzIG92ZXJs
YXllZCBvbiBhbiBpbnNwZWN0ZWQgZGl2LgotCi1tYXJnaW4gcmVjdCBpcyAyNjAgeCAyNjAgYXQg
KDAsIDApCi1ib3JkZXIgcmVjdCBpcyAyNTAgeCAyNTAgYXQgKDUsIDUpCi1wYWRkaW5nIHJlY3Qg
aXMgMjMwIHggMjMwIGF0ICgxNSwgMTUpCi1jb250ZW50IHJlY3QgaXMgMjAwIHggMjAwIGF0ICgz
MCwgMzApCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9oaWdobGlnaHQtbm9kZS1yZWdpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1yZWdpb25zLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzlmYTk5NTcyNjJmYTJlZjYyOGMw
MTg5YjViMmM2OTQ4YjAwMTIzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxp
Z2h0LW5vZGUtcmVnaW9ucy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyODkgKzAs
MCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGln
aGxpZ2h0ZWQgQ1NTIFJlZ2lvbnMgcXVhZHMgb3ZlcmxheWVkIG9uIHRoZSBpbnNwZWN0ZWQgZGl2
LgotCi17Ci0gICAgIm5hbWUiOiAiZmxvdyIsCi0gICAgInJlZ2lvbnMiOiBbCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJib3JkZXJRdWFkIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgIngiOiA1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAy
NTUsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDI1NSwKLSAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNTUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgIngiOiA1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI1
NQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAiaW5jb21p
bmdRdWFkIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAw
LAotICAgICAgICAgICAgICAgICAgICAieSI6IDE1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMTAsCi0gICAgICAgICAgICAg
ICAgICAgICJ5IjogMTUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgIngiOiAxMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNQot
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAieCI6IDAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjUKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgIm91dGdvaW5nUXVhZCI6IFsKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjUwLAotICAgICAgICAgICAgICAg
ICAgICAieSI6IDIzNQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAieCI6IDI2MCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyMzUK
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgIngiOiAyNjAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjQ1Ci0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjUwLAot
ICAgICAgICAgICAgICAgICAgICAieSI6IDI0NQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgImJvcmRlclF1YWQiOiBb
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDI2NSwKLSAgICAg
ICAgICAgICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNTE1LAotICAgICAgICAgICAgICAgICAgICAi
eSI6IDUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgIngiOiA1MTUsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjU1Ci0gICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4Ijog
MjY1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI1NQotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAiaW5jb21pbmdRdWFkIjogWwotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0gICAgICAgICAgICAgICAgICAg
ICJ5IjogMTUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgIngiOiAyNzAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMTUKLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngi
OiAyNzAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjUKLSAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyNjAsCi0gICAgICAg
ICAgICAgICAgICAgICJ5IjogMjUKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAot
ICAgICAgICAgICAgIm91dGdvaW5nUXVhZCI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ4IjogNTEwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDIzNQotICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAi
eCI6IDUyMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyMzUKLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCi0gICAg
ICAgICAgICAgICAgICAgICJ5IjogMjQ1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNTEwLAotICAgICAgICAgICAgICAgICAg
ICAieSI6IDI0NQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAiaXNIaWdobGlnaHRlZCI6IHRydWUKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgImJvcmRlclF1YWQiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAieCI6IDUyNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNzc1LAotICAg
ICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA3NzUsCi0gICAgICAgICAgICAgICAgICAg
ICJ5IjogMjU1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICJ4IjogNTI1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI1NQotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAiaW5jb21pbmdRdWFk
IjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCi0g
ICAgICAgICAgICAgICAgICAgICJ5IjogMTUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiA1MzAsCi0gICAgICAgICAgICAgICAg
ICAgICJ5IjogMTUKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgIngiOiA1MzAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjUKLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
IngiOiA1MjAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjUKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgIm91dGdvaW5nUXVhZCI6IFsKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAotICAgICAgICAgICAgICAg
ICAgICAieSI6IDIzNQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAieCI6IDc4MCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyMzUK
LSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgIngiOiA3ODAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjQ1Ci0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAot
ICAgICAgICAgICAgICAgICAgICAieSI6IDI0NQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgImJvcmRlclF1YWQiOiBb
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDUsCi0gICAgICAg
ICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjA1LAotICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2NQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAieCI6IDIwNSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngi
OiA1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAiaW5jb21pbmdRdWFkIjogWwotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAwLAotICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2MAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAieCI6IDEwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDI2MAotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6
IDEwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDAsCi0gICAgICAgICAg
ICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICJvdXRnb2luZ1F1YWQiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAieCI6IDIwMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngi
OiAyMTAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjYwCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjEwLAotICAgICAg
ICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIwMCwKLSAgICAgICAgICAgICAgICAgICAg
InkiOiAyNzAKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0g
ICAgICAgIHsKLSAgICAgICAgICAgICJib3JkZXJRdWFkIjogWwotICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgIngiOiAyMTUsCi0gICAgICAgICAgICAgICAgICAgICJ5Ijog
MjY1Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICJ4IjogMjE1LAotICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIx
NSwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyMTUsCi0gICAgICAgICAg
ICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICJpbmNvbWluZ1F1YWQiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAieCI6IDIxMCwKLSAgICAgICAgICAgICAgICAgICAgInkiOiAyNjAKLSAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngi
OiAyMjAsCi0gICAgICAgICAgICAgICAgICAgICJ5IjogMjYwCi0gICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJ4IjogMjIwLAotICAgICAg
ICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIxMCwKLSAgICAgICAgICAgICAgICAgICAg
InkiOiAyNzAKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAg
Im91dGdvaW5nUXVhZCI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICJ4IjogMjEwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDI2MAotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAieCI6IDIyMCwKLSAg
ICAgICAgICAgICAgICAgICAgInkiOiAyNjAKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIngiOiAyMjAsCi0gICAgICAgICAgICAgICAg
ICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICJ4IjogMjEwLAotICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAgfQotICAgIF0KLX0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1ub2RlLXJlZ2lvbnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9oaWdobGlnaHQtbm9kZS1yZWdpb25zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBjNWRkYmMyYzZkMzQyMGM5MDU5ODM2N2Y5MWRhMzY0OWYwY2ExYTQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXJlZ2lvbnMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQot
Ym9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zsb3cgewotICAgIC13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQwMHB4OwotICAgIGhlaWdodDog
NDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0KLS5yZWdpb24gewotICAgIG1h
cmdpbjogNXB4OwotICAgIGJvcmRlcjogc29saWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1
cHg7Ci0gICAgd2lkdGg6IDIwMHB4OwotICAgIGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3Vu
ZC1jb2xvcjogYmx1ZTsKLSAgICBmbG9hdDogbGVmdDsKLSAgICAtd2Via2l0LWZsb3ctZnJvbTog
ZmxvdzsKLX0KLS56ZXJvLWhlaWdodCB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIGhlaWdodDog
MHB4OwotICAgIHBhZGRpbmc6IDA7Ci19Ci0uemVyby1zaXplIHsKLSAgICBib3JkZXI6IG5vbmU7
Ci0gICAgd2lkdGg6IDBweDsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRkaW5nOiAwOwotfQot
LmhpZGRlbiB7Ci0gICAgZGlzcGxheTogbm9uZTsKLX0KLSNkZXNjcmlwdGlvbiB7Ci0gICAgY2xl
YXI6IGJvdGg7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9k
ZSkKLSAgICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3Rvckhp
Z2hsaWdodGVkUmVnaW9ucygpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOwotICAgIH0K
LQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiaW5zcGVjdGVkRWxlbWVudCIs
IG5vZGVTZWxlY3RlZCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci0KLTxkaXYgaWQ9ImZsb3ciPjwvZGl2PgotCi08ZGl2IGNsYXNzPSJyZWdp
b24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIiBpZD0iaW5zcGVjdGVkRWxlbWVudCI+PC9k
aXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHplcm8t
aGVpZ2h0Ij48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLXNpemUiPjwvZGl2PgotPGRp
diBjbGFzcz0icmVnaW9uIGhpZGRlbiI+PC9kaXY+Ci08cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMg
dGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIENT
UyBSZWdpb25zIHF1YWRzIG92ZXJsYXllZCBvbiB0aGUgaW5zcGVjdGVkIGRpdi48L3A+Ci0KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY2FsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjYWxlZC1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YWU0ZTc0YmI1ZGUzMThl
NWM3YzVmZDk2N2RiZjExM2I0YjY4NjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hp
Z2hsaWdodC1ub2RlLXNjYWxlZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICsw
LDAgQEAKLQotbWFyZ2luIHJlY3QgaXMgMTY2IHggMTg4IGF0ICgxOTIsIDE1NCkKLWJvcmRlciBy
ZWN0IGlzIDEzOCB4IDE2MCBhdCAoMjA2LCAxNjgpCi1wYWRkaW5nIHJlY3QgaXMgMTE4IHggMTQw
IGF0ICgyMTYsIDE3OCkKLWNvbnRlbnQgcmVjdCBpcyA2NiB4IDg4IGF0ICgyNDIsIDIwNCkKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1ub2RlLXNjYWxlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjYWxlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkYjQxOTJkYWM2ZjFiMTU0NGZiNTBlNDBkZWY4MzI4MGRhYTM5ODFlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS1zY2FsZWQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDUxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9k
eSB7Ci0gICAgbWFyZ2luOiAwOwotfQotCi1pZnJhbWUgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKLSAgICBsZWZ0OiA4M3B4OwotICAgIHRvcDogNTNweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0g
ICAgaGVpZ2h0OiAyMDBweDsKLX0KLQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDIsIDAs
IDApOwotICAgIHJ1blRlc3QoKTsKLX0KLSAgICAKLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdl
Ykluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgV2ViSW5zcGVjdG9yLnBhbmVs
cy5lbGVtZW50cy50cmVlT3V0bGluZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5FbGVt
ZW50c1RyZWVPdXRsaW5lLkV2ZW50cy5TZWxlY3RlZE5vZGVDaGFuZ2VkLCBzZWxlY3RlZE5vZGVD
aGFuZ2VkLCB0aGlzKTsKLQotICAgIGZ1bmN0aW9uIHNlbGVjdGVkTm9kZUNoYW5nZWQoZXZlbnQp
Ci0gICAgewotICAgICAgICB2YXIgbm9kZSA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmIChub2Rl
LmdldEF0dHJpYnV0ZSgiaWQiKSA9PSAiZGl2IikKLSAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5l
dmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkiLCBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUo
Imluc3BlY3QoaWZyYW1lRGl2RWxlbWVudCkiKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9oaWdobGln
aHQtbm9kZS1zY2FsZWQtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1ub2RlLXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2Nyb2xsLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDMxZjZkMzIwODUyNmE3MDNmODZhZjM1ZTdkZmVhN2Rk
MThjZjEzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUtc2Ny
b2xsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRoaXMgdGVz
dCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodCByZWN0YW5n
bGVzIG92ZXJsYXllZCBvbiBhbiBpbnNwZWN0ZWQgZGl2IGluIHRoZSBzY3JvbGxlZCB2aWV3Lgot
Ci1tYXJnaW4gcmVjdCBpcyAyNjAgeCAyNjAgYXQgKDgsIDgpCi1ib3JkZXIgcmVjdCBpcyAyNTAg
eCAyNTAgYXQgKDEzLCAxMykKLXBhZGRpbmcgcmVjdCBpcyAyMzAgeCAyMzAgYXQgKDIzLCAyMykK
LWNvbnRlbnQgcmVjdCBpcyAyMDAgeCAyMDAgYXQgKDM4LCAzOCkKLW1hcmdpbiByZWN0IGlzIDI2
MCB4IDI2MCBhdCAoLTUyLCAyMTgpCi1ib3JkZXIgcmVjdCBpcyAyNTAgeCAyNTAgYXQgKC00Nywg
MjIzKQotcGFkZGluZyByZWN0IGlzIDIzMCB4IDIzMCBhdCAoLTM3LCAyMzMpCi1jb250ZW50IHJl
Y3QgaXMgMjAwIHggMjAwIGF0ICgtMjIsIDI0OCkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNjcm9sbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1ub2RlLXNj
cm9sbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTI2ZWY2NDc0NjdmZWQ4
ZGZjYTNlN2Y2MDEzOTEwNDJjYTkzNDJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9o
aWdobGlnaHQtbm9kZS1zY3JvbGwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7Ci0gICAgd2lkdGg6IDIwMDBweDsK
LSAgICBoZWlnaHQ6IDIwMDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OwotfQotLmlu
c3BlY3RlZCB7Ci0gICAgbWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7
Ci0gICAgcGFkZGluZzogMTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAyMDBw
eDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotfQotI3Nj
cm9sbGluZ0NvbnRhaW5lciB7Ci0gICAgY2xlYXI6IGJvdGg7Ci0gICAgd2lkdGg6IDEwMHB4Owot
ICAgIGhlaWdodDogMTAwcHg7Ci0gICAgb3ZlcmZsb3c6IGF1dG87Ci19Ci0jZGVzY3JpcHRpb24g
ewotICAgIGNsZWFyOiBib3RoOwotfQotCi08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICB3aW5kb3cuc2Nyb2xs
QnkoNTAsIDEwMCk7Ci0gICAgc2Nyb2xsaW5nQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInNjcm9sbGluZ0NvbnRhaW5lciIpOwotICAgIHNjcm9sbGluZ0NvbnRhaW5lci5zY3Jv
bGxUb3AgPSA1MDsKLSAgICBzY3JvbGxpbmdDb250YWluZXIuc2Nyb2xsTGVmdCA9IDYwOwotICAg
IHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNl
bGVjdGVkMihub2RlKQotICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1w
SW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0Tm9kZTIoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50MiIsIG5vZGVTZWxlY3Rl
ZDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3RlZDEobm9kZSkKLSAgICB7Ci0g
ICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodFJlY3Rz
KCkiLCB0ZXN0Tm9kZTIpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdp
dGhJZCgiaW5zcGVjdGVkRWxlbWVudDEiLCBub2RlU2VsZWN0ZWQxKTsKLX0KLQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotCi08ZGl2IGlkPSJpbnNwZWN0
ZWRFbGVtZW50MSIgY2xhc3M9Imluc3BlY3RlZCI+PC9kaXY+Ci0KLTxkaXYgaWQ9InNjcm9sbGlu
Z0NvbnRhaW5lciI+Ci0gICAgPGRpdiBpZD0iaW5zcGVjdGVkRWxlbWVudDIiIGNsYXNzPSJpbnNw
ZWN0ZWQiPjwvZGl2PgotPC9kaXY+Ci0KLTxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZl
cmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMg
b3ZlcmxheWVkIG9uIGFuIGluc3BlY3RlZCBkaXYgaW4gdGhlIHNjcm9sbGVkIHZpZXcuPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0Yjc1ZTVjMzFkMTRiZDJhNjVhMjUyY2MyYjhjZmE5ZmUyMjU5ZWMyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtbm9kZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPHN0eWxlPgotCi1ib2R5
IHsKLSAgICBtYXJnaW46IDA7Ci19Ci0jY29udGFpbmVyIHsKLSAgICB3aWR0aDogNDAwcHg7Ci0g
ICAgaGVpZ2h0OiA0MDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OwotfQotI2luc3Bl
Y3RlZEVsZW1lbnQgewotICAgIG1hcmdpbjogNXB4OwotICAgIGJvcmRlcjogc29saWQgMTBweCBh
cXVhOwotICAgIHBhZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6IDIwMHB4OwotICAgIGhlaWdodDog
MjAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKLSAgICBmbG9hdDogbGVmdDsKLX0K
LSNkZXNjcmlwdGlvbiB7Ci0gICAgY2xlYXI6IGJvdGg7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBm
dW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKLSAgICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5l
dmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkiLCBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElk
KCJpbnNwZWN0ZWRFbGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLQotPGRpdiBpZD0iaW5zcGVjdGVkRWxl
bWVudCI+PC9kaXY+Ci08cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUg
cG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodCByZWN0YW5nbGVzIG92ZXJsYXllZCBv
biBhbiBpbnNwZWN0ZWQgZGl2LjwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25z
LWZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5ZTFlM2M2Nzk5ZWYwOTcxZWRkZTg3M2FkNDhhYThmMWExNTllYTJkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQyOCArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBD
U1MgUmVnaW9ucy4KLQotewotICAgICJzY3JvbGwiOiB7Ci0gICAgICAgICJ4IjogMCwKLSAgICAg
ICAgInkiOiAwCi0gICAgfSwKLSAgICAiZnJhZ21lbnRzIjogWwotICAgICAgICB7Ci0gICAgICAg
ICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDEwMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMTAzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAz
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAx
MDMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMzAKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMzAKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAzMAotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93UnVs
ZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgs
IDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxpbmVD
b2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAi
cmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAgICJi
b3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAot
ICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1
Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAgICJx
dWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwK
LSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAz
OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODMwCi0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDgzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogODMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDgzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogODMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IC0xNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDgzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogODMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0g
ICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAg
ICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2
NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwg
MCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAu
NTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1
LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29s
b3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAg
ICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ5MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0OTAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAg
ICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDYwNQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
Mzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA2MDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDYwNQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk1Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYw
NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk1Ci0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjog
InJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAi
Y29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJw
YWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwK
LSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgs
IDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAg
ICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAg
ICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYz
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogLTM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNl
LAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdi
YSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAx
OTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3Ii
OiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwNQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdLAotICAg
ICJlbGVtZW50SW5mbyI6IHsKLSAgICAgICAgInRhZ05hbWUiOiAiZGl2IiwKLSAgICAgICAgImlk
VmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCi0gICAgICAgICJub2RlV2lkdGgiOiAiMjAwIiwK
LSAgICAgICAgIm5vZGVIZWlnaHQiOiAiMTAwMCIsCi0gICAgICAgICJjb250ZW50Rmxvd0luZm8i
OiB7Ci0gICAgICAgICAgICAibmFtZSI6ICJmbG93IgotICAgICAgICB9Ci0gICAgfQotfQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxp
Z2h0LXJlZ2lvbnMtZmxvdy1ob3Jpei1idC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy1ob3Jpei1idC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZjFlN2MyZGM4YWFi
NTJhYzE5OWQ0MDkzOGQzM2M5NTBkOTdmMDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctaG9yaXotYnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNDI4ICswLDAgQEAKLVRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5k
IHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIG5vZGUgaW5zaWRlIENTUyBSZWdpb25zLgotCi17Ci0g
ICAgInNjcm9sbCI6IHsKLSAgICAgICAgIngiOiAwLAotICAgICAgICAieSI6IDAKLSAgICB9LAot
ICAgICJmcmFnbWVudHMiOiBbCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzAKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzAKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzMwCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNzMwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogLTczMAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTczMAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC03MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IC03MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNl
LAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdi
YSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAx
OTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3Ii
OiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0Nyki
LAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsK
LSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAtNTMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAtNTMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0NzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ3MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAtNTMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtNTMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA0NzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDQ3MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
NTMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtNTMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA0NzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQ3MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNTMwCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtNTMwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3
MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVu
dENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAg
ICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAg
ICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0
MzEzNzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEo
MjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9u
IjogewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0OTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDkwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQot
ICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMi
OiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMw
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
LTMwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNjk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA2OTUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDQyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQyNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYyNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYy
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hv
d1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwg
MTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRs
aW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9y
IjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAg
ICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcp
IiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4
ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAg
ICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAg
ICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYz
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA2OTUKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogLTMwNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNjk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiA2OTUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAot
ICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgw
LCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYs
IDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAi
cmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJt
YXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAot
ICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4OTUKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDg5NQotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSwKLSAg
ICAiZWxlbWVudEluZm8iOiB7Ci0gICAgICAgICJ0YWdOYW1lIjogImRpdiIsCi0gICAgICAgICJp
ZFZhbHVlIjogImluc3BlY3RlZEVsZW1lbnQiLAotICAgICAgICAibm9kZVdpZHRoIjogIjIwMCIs
Ci0gICAgICAgICJub2RlSGVpZ2h0IjogIjEwMDAiLAotICAgICAgICAiY29udGVudEZsb3dJbmZv
IjogewotICAgICAgICAgICAgIm5hbWUiOiAiZmxvdyIKLSAgICAgICAgfQotICAgIH0KLX0KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1yZWdpb25zLWZsb3ctaG9yaXotYnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LWhvcml6LWJ0Lmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2ODUzOWU2MzhlOGUzYjkzZWQxN2UwZTBiOWQx
NmM5MzI4OGY5YzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdp
b25zLWZsb3ctaG9yaXotYnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLTwh
ZG9jdHlwZSBodG1sPgotPGh0bWwgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiBob3Jpem9u
dGFsLWJ0OyI+Ci08aGVhZD4KLQotPHN0eWxlPgotCi1ib2R5IHsKLSAgICBtYXJnaW46IDA7Ci19
Ci0jZmxvdyB7Ci0gICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci19Ci0jY29udGFpbmVyIHsK
LSAgICB3aWR0aDogNDAwcHg7Ci0gICAgaGVpZ2h0OiA0MDBweDsKLSAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmV5OwotfQotI2luc3BlY3RlZEVsZW1lbnQgewotICAgIHdpZHRoOiAxMDAlOwotICAg
IGhlaWdodDogMTAwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQotLnJlZ2lv
biB7Ci0gICAgbWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7Ci0gICAg
cGFkZGluZzogMTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAyMDBweDsKLSAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotICAgIC13ZWJraXQt
Zmxvdy1mcm9tOiBmbG93OwotfQotLnNtYWxsIHsKLSAgICB3aWR0aDogMTAwcHg7Ci19Ci0uemVy
by1oZWlnaHQgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRk
aW5nOiAwOwotfQotLnplcm8tc2l6ZSB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIHdpZHRoOiAw
cHg7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS5oaWRkZW4gewotICAg
IGRpc3BsYXk6IG5vbmU7Ci19Ci0jZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBib3RoOwotfQot
Ci08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAg
ICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZE5vZGUo
KSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JU
ZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOwot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotCi08
ZGl2IGlkPSJmbG93Ij4KLSAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rpdj4KLTwv
ZGl2PgotCi08ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHNt
YWxsIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Ci08ZGl2
IGNsYXNzPSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBoaWRk
ZW4iPjwvZGl2PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBv
c2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9u
cy48L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5ZTI1ZTkzOWU5ZjAwODM4NmFiZjIxZDRiOTM0MzQ3Zjk5NDgzMGIy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRy
YW5zZm9ybS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MjggKzAsMCBAQAotVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQg
bm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuCi0KLXsKLSAgICAic2Nyb2xsIjogewotICAgICAgICAi
eCI6IDAsCi0gICAgICAgICJ5IjogMAotICAgIH0sCi0gICAgImZyYWdtZW50cyI6IFsKLSAgICAg
ICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA5NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAxMDM0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogOTY2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI2Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiA5NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAxMDM0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogOTY2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMDcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA5
NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDUzLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAx
MDM0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogOTY2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAyMDcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA5NAotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDUzLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDM0Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTEzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogOTY2Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAg
ICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3Ii
OiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAg
InBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3Myki
LAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3
OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0g
ICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMw
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAg
ICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAg
ICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDQ2NywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDU2MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0MAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDIxOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODAwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMTI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDQ2NywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDU2MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0MAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDIxOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODAwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMTI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE3NAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDU2MSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTE0MAotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIx
OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogODAwCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MTI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogLTE3NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDU2MSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogLTE0MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIxOSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogODAwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTI1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA3NjYKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6
IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3Ii
OiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEo
MTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVy
Q29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAg
ICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDEx
NzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAy
OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDQ5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAg
ICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0zOTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMzEKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYwOQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTQxCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IC0zOTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IC0zMzEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDYwOQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNTQxCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IC0zOTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IC0zMzEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDYwOQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNTQxCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA2MDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0z
OTkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IC0zMzEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDYwOQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogNTQxCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAg
ICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAg
ICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcp
IiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCki
LAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5
MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAy
MjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3Ii
OiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjI1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFk
cyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAt
Mzk5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMzk5Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA1NDEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDU0MQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0
MQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogODEyLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0MQotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODEy
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMzk5Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
NDcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1NDEKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDU0MQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJz
aG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTEx
LCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91
dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29s
b3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAg
ICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0
NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42
NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAg
ICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDgzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDgzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjA1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNjM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA2MDUKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgIF0sCi0gICAgImVsZW1lbnRJbmZvIjogewotICAgICAgICAidGFnTmFtZSI6ICJk
aXYiLAotICAgICAgICAiaWRWYWx1ZSI6ICJpbnNwZWN0ZWRFbGVtZW50IiwKLSAgICAgICAgIm5v
ZGVXaWR0aCI6ICIyMDAiLAotICAgICAgICAibm9kZUhlaWdodCI6ICIxMDAwIiwKLSAgICAgICAg
ImNvbnRlbnRGbG93SW5mbyI6IHsKLSAgICAgICAgICAgICJuYW1lIjogImZsb3ciCi0gICAgICAg
IH0KLSAgICB9Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS1ob3Jpei1idC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxp
Z2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0taG9yaXotYnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDUzODY5M2RmNGUyYjcyNThjZDQ5N2VkZjkyOGJmYzVk
MGUzNzFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1m
bG93LXRyYW5zZm9ybS1ob3Jpei1idC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0
MjggKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0
aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuCi0KLXsKLSAgICAic2Nyb2xs
IjogewotICAgICAgICAieCI6IDAsCi0gICAgICAgICJ5IjogMAotICAgIH0sCi0gICAgImZyYWdt
ZW50cyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAyMDcsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzQKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAzOTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC02NjYKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA1MywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc0Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTEzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA2Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC03MzQKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC02NjYKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1
MywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc0Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
LTEzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA2Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IC03MzQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC02NjYKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMjc0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyMDcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IC03MzQKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzOTUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC02NjYKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjc0Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTEzNSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjA2Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwK
LSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgy
MzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEo
MCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2
LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjog
InJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAi
bWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwK
LSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjMwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA3MAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3MAotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogLTUzNAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDU2MSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogLTUwMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIxOSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogNDQwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTI1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0MDYKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ2NywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogLTUzNAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDU2MSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogLTUwMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDIxOSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNDQwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTI1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA0MDYKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDQ2NywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTUz
NAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDU2MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
LTUwMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDIxOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNDQwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTI1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA0MDYKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDQ2NywKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTUzNAotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDU2MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTUwMAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDIxOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDQwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMTI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0MDYK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRD
b2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAg
ICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAg
ICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMx
MzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAw
LjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0
NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6
IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA3MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ5MCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjcwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjog
WwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA2MDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA3OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0y
NDEKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA0NDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDY5OQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDI2MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNjMxCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAg
ICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA2MDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA3OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0yNDEKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0NDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5OQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDI2MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCi0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAg
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2
MDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA3OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0yNDEKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA0NDgsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5OQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDI2MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MDIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3OTAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0yNDEKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NDgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDY5OQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dS
dWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2
OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGlu
ZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6
ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAg
ImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIs
Ci0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgy
MzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAg
InF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA2MjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDYyNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjk1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNDI1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAg
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4
MTIsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA4MTIsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA0NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQ3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCi0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MTIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MTIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCi0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MTIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MTIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3MCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNjMxCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MTIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MTIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IC0zMDkKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA0NzAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDYzMQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQ3MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNjMxCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUy
OTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwg
MCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAx
MjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJn
YmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFy
Z2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAg
ICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgzNSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogODk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjM1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA4OTUKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIF0sCi0gICAg
ImVsZW1lbnRJbmZvIjogewotICAgICAgICAidGFnTmFtZSI6ICJkaXYiLAotICAgICAgICAiaWRW
YWx1ZSI6ICJpbnNwZWN0ZWRFbGVtZW50IiwKLSAgICAgICAgIm5vZGVXaWR0aCI6ICIyMDAiLAot
ICAgICAgICAibm9kZUhlaWdodCI6ICIxMDAwIiwKLSAgICAgICAgImNvbnRlbnRGbG93SW5mbyI6
IHsKLSAgICAgICAgICAgICJuYW1lIjogImZsb3ciCi0gICAgICAgIH0KLSAgICB9Ci19Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGln
aHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS1ob3Jpei1idC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3Jt
LWhvcml6LWJ0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5YjNjYTA4YTdl
MmM4NDgxMzljOTdjNDkyMDU1MmZhODRiYTY4NWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLWhvcml6LWJ0Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sIHN0eWxlPSIt
d2Via2l0LXdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC1idDsiPgotPGhlYWQ+Ci0KLTxzdHlsZT4K
LQotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zsb3cgewotICAgIC13ZWJraXQtZmxvdy1p
bnRvOiBmbG93OwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQwMHB4OwotICAgIGhlaWdo
dDogNDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0KLSNpbnNwZWN0ZWRFbGVt
ZW50IHsKLSAgICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMDBweDsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsKLSAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsK
LSAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7Ci19Ci0ucmVnaW9uIHsKLSAgICBtYXJnaW46
IDVweDsKLSAgICBib3JkZXI6IHNvbGlkIDEwcHggYXF1YTsKLSAgICBwYWRkaW5nOiAxNXB4Owot
ICAgIHdpZHRoOiAyMDBweDsKLSAgICBoZWlnaHQ6IDIwMHB4OwotICAgIGJhY2tncm91bmQtY29s
b3I6IGJsdWU7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7
Ci19Ci0uc21hbGwgewotICAgIHdpZHRoOiAxMDBweDsKLX0KLS56ZXJvLWhlaWdodCB7Ci0gICAg
Ym9yZGVyOiBub25lOwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRpbmc6IDA7Ci19Ci0uemVy
by1zaXplIHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgd2lkdGg6IDBweDsKLSAgICBoZWlnaHQ6
IDBweDsKLSAgICBwYWRkaW5nOiAwOwotfQotLmhpZGRlbiB7Ci0gICAgZGlzcGxheTogbm9uZTsK
LX0KLSNkZXNjcmlwdGlvbiB7Ci0gICAgY2xlYXI6IGJvdGg7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKLSAgICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2Vu
dC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodGVkTm9kZSgpIiwgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QpOwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdp
dGhJZCgiaW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxlY3RlZCk7Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTxkaXYgaWQ9ImZsb3ciPgot
ICAgIDxkaXYgaWQ9Imluc3BlY3RlZEVsZW1lbnQiPjwvZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xh
c3M9InJlZ2lvbiI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gc21hbGwiPjwvZGl2PgotPGRp
diBjbGFzcz0icmVnaW9uIHplcm8taGVpZ2h0Ij48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6
ZXJvLXNpemUiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIGhpZGRlbiI+PC9kaXY+Ci08cCBp
ZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUg
b2YgdGhlIGhpZ2hsaWdodGVkIG5vZGUgaW5zaWRlIENTUyBSZWdpb25zLjwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2Vs
ZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1y
ZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyYzEzYTk0YjRlNmYxNmE3ZmNkMjcxYjkyYTQxNGZmYjEzOTBkZmE0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRy
YW5zZm9ybS12ZXJ0LWxyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQyOCArMCww
IEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdo
bGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KLQotewotICAgICJzY3JvbGwiOiB7Ci0g
ICAgICAgICJ4IjogMCwKLSAgICAgICAgInkiOiAwCi0gICAgfSwKLSAgICAiZnJhZ21lbnRzIjog
WwotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
NTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDY5MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTI0OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0xODEsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IC0xMzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDIwNwotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDY5MSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI0OSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNTMKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0K
LSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAg
ICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDEx
NzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAw
LCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwg
MC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgy
NTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5D
b2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAg
ICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1NTUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzU1LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc1NSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTU1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiAtMjQxLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAtMTM1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjk5LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMDcKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2MzEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDM5NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0zMDksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAtMjQxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNjk5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA2MzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IC0zMDksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDUzCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAtMjQxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAtMTM1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNjk5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMDcKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA2MzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDM5NQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0zMDksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDUzCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICBdLAotICAg
ICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAgICAgICAgICJjb250ZW50Q29sb3Ii
OiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAg
ICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwgMCwgMCkiLAotICAgICAgICAgICAg
InBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUsIDAuNTQ5MDE5NjA3ODQzMTM3Myki
LAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEoMjU1LCAyMjksIDE1MywgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2luQ29sb3IiOiAicmdiYSgyNDYsIDE3
OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJyZWdpb24iOiB7Ci0g
ICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDQ5NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA0OTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDM5NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAg
ICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTExNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogODI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0Mgot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEw
MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTExNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogODI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA4MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IC0xMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4
MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0xMTYsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODI0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0NDIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xMTYsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDEwMAotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93UnVsZXJz
IjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIy
MCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xv
ciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdi
YSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAgICJib3Jk
ZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAg
ICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0
MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAgICJxdWFk
IjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDMyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogNTIwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA1MjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ2NQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDMyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDY1Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0s
Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEw
MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1MgotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDg0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAxMTAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDI0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiA0NTIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDI0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA0NTIKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4NCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4NCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMTEwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNDUyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogNDUyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDExMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ1
MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDQ1MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAxMTAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNv
bnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAot
ICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0g
ICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2
MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwg
MTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJy
Z2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJl
Z2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjAsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDQ3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUyMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNDc1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdLAotICAgICJlbGVtZW50SW5m
byI6IHsKLSAgICAgICAgInRhZ05hbWUiOiAiZGl2IiwKLSAgICAgICAgImlkVmFsdWUiOiAiaW5z
cGVjdGVkRWxlbWVudCIsCi0gICAgICAgICJub2RlV2lkdGgiOiAiMTAwMCIsCi0gICAgICAgICJu
b2RlSGVpZ2h0IjogIjIwMCIsCi0gICAgICAgICJjb250ZW50Rmxvd0luZm8iOiB7Ci0gICAgICAg
ICAgICAibmFtZSI6ICJmbG93IgotICAgICAgICB9Ci0gICAgfQotfQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMt
Zmxvdy10cmFuc2Zvcm0tdmVydC1sci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtbHIuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTI4NDAyMGU4ZWQxM2RkMWNlNDE3ZTRi
MTc4YjdiNzM3NTQ1ODg2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0
LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1sci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
ODkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbCBzdHlsZT0iLXdlYmtpdC13cml0aW5n
LW1vZGU6IHZlcnRpY2FsLXJsOyI+Ci08aGVhZD4KLQotPHN0eWxlPgotCi1ib2R5IHsKLSAgICBt
YXJnaW46IDA7Ci19Ci0jZmxvdyB7Ci0gICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci19Ci0j
Y29udGFpbmVyIHsKLSAgICB3aWR0aDogNDAwcHg7Ci0gICAgaGVpZ2h0OiA0MDBweDsKLSAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmV5OwotfQotI2luc3BlY3RlZEVsZW1lbnQgewotICAgIGhlaWdo
dDogMTAwJTsKLSAgICB3aWR0aDogMTAwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OwotICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwotICAgIHRyYW5zZm9ybTog
cm90YXRlKDIwZGVnKTsKLX0KLS5yZWdpb24gewotICAgIG1hcmdpbjogNXB4OwotICAgIGJvcmRl
cjogc29saWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6IDIwMHB4
OwotICAgIGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKLSAgICBm
bG9hdDogbGVmdDsKLSAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKLX0KLS5zbWFsbCB7Ci0g
ICAgd2lkdGg6IDEwMHB4OwotfQotLnplcm8taGVpZ2h0IHsKLSAgICBib3JkZXI6IG5vbmU7Ci0g
ICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS56ZXJvLXNpemUgewotICAgIGJv
cmRlcjogbm9uZTsKLSAgICB3aWR0aDogMHB4OwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRp
bmc6IDA7Ci19Ci0uaGlkZGVuIHsKLSAgICBkaXNwbGF5OiBub25lOwotfQotI2Rlc2NyaXB0aW9u
IHsKLSAgICBjbGVhcjogYm90aDsKLX0KLQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIG5vZGVT
ZWxlY3RlZChub2RlKQotICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1w
SW5zcGVjdG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7
Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRF
bGVtZW50Iiwgbm9kZVNlbGVjdGVkKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLQotPGRpdiBpZD0iZmxvdyI+Ci0gICAgPGRpdiBpZD0iaW5z
cGVjdGVkRWxlbWVudCI+PC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rp
dj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24g
emVyby1oZWlnaHQiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+PC9kaXY+
Ci08ZGl2IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0
ZWQgbm9kZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0
LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1ybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFu
c2Zvcm0tdmVydC1ybC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDJjMTNhOTRiNGU2ZjE2YTdmY2QyNzFiOTJhNDE0ZmZiMTM5MGRmYTQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLXZlcnQtcmwt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDI4ICswLDAgQEAKLVRoaXMgdGVzdCB2
ZXJpZmllcyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIG5vZGUgaW5z
aWRlIENTUyBSZWdpb25zLgotCi17Ci0gICAgInNjcm9sbCI6IHsKLSAgICAgICAgIngiOiAwLAot
ICAgICAgICAieSI6IDAKLSAgICB9LAotICAgICJmcmFnbWVudHMiOiBbCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTE4MSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogLTEzNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc1OSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjA3Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjkxLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAzOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQ5LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiA1MwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTE4MSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogLTEzNQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc1OSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjA3Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNjkxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAzOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQ5LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiA1MwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTE4MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTEz
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDc1OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MjA3Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNjkxLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAzOTUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjQ5LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiA1MwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTE4MSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogLTEzNQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDc1OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjA3Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNjkxLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzOTUKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAtMjQ5LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA1Mwot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENv
bG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAg
ICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEz
NzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2
LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjog
ewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDU1NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA3NTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzU1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1NTUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAg
ICAgICAgICAgfQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBb
Ci0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0yNDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA2OTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIw
NwotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDYzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
Mzk1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogLTMwOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogNTMKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0yNDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA2OTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDYzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogLTMwOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAg
WwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0y
NDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA2OTksCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDYzMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogLTMwOSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yNDEsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IC0xMzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA2OTksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIwNwotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDYzMSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzk1Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTMw
OSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNTMKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1
bGVycyI6IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4
LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5l
Q29sb3IiOiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjog
InJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAi
Ym9yZGVyQ29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwK
LSAgICAgICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAi
cXVhZCI6IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiAzOTUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNDk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDQ5NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMzk1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4
MjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDgyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTExNiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAtMTE2LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAxMDAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MjQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQ0MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDgyNCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNDQyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTExNiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMTAwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBd
Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAgICAg
ICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUyOTQx
MTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwgMCwg
MCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAxMjUs
IDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJnYmEo
MjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFyZ2lu
Q29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAg
ICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzIwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MjAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUyMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogNDY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzIwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiA0NjUKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAg
ICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4NCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMTEwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogNDUyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAyNCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogNDUyCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDExMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDExMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDQ1MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMjQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQ1MgotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAxMTAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDg0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAxMTAKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAxMDI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiAxMDI0LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiA0NTIK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA4NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEw
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiA4NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMTEwCi0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMTAyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDUyCi0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogMTAyNCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDUyCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogODQsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDExMAotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJn
YmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29u
dGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRk
aW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAg
ICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5
NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEw
NywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAg
ICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDUyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMTAyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogMTAyMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
NDc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogNTIwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiA0NzUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIF0sCi0gICAgImVsZW1lbnRJbmZvIjogewotICAgICAgICAi
dGFnTmFtZSI6ICJkaXYiLAotICAgICAgICAiaWRWYWx1ZSI6ICJpbnNwZWN0ZWRFbGVtZW50IiwK
LSAgICAgICAgIm5vZGVXaWR0aCI6ICIxMDAwIiwKLSAgICAgICAgIm5vZGVIZWlnaHQiOiAiMjAw
IiwKLSAgICAgICAgImNvbnRlbnRGbG93SW5mbyI6IHsKLSAgICAgICAgICAgICJuYW1lIjogImZs
b3ciCi0gICAgICAgIH0KLSAgICB9Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRyYW5zZm9ybS12
ZXJ0LXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LXJlZ2lvbnMtZmxvdy10cmFuc2Zvcm0tdmVydC1ybC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlMjg0MDIwZThlZDEzZGQxY2U0MTdlNGIxNzhiN2I3Mzc1NDU4ODYw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRy
YW5zZm9ybS12ZXJ0LXJsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi08IWRv
Y3R5cGUgaHRtbD4KLTxodG1sIHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwt
cmw7Ij4KLTxoZWFkPgotCi08c3R5bGU+Ci0KLWJvZHkgewotICAgIG1hcmdpbjogMDsKLX0KLSNm
bG93IHsKLSAgICAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsKLX0KLSNjb250YWluZXIgewotICAg
IHdpZHRoOiA0MDBweDsKLSAgICBoZWlnaHQ6IDQwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6
IGdyZXk7Ci19Ci0jaW5zcGVjdGVkRWxlbWVudCB7Ci0gICAgaGVpZ2h0OiAxMDAlOwotICAgIHdp
ZHRoOiAxMDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci0gICAgLXdlYmtpdC10
cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7Ci0gICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwot
fQotLnJlZ2lvbiB7Ci0gICAgbWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFx
dWE7Ci0gICAgcGFkZGluZzogMTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAy
MDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotICAg
IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OwotfQotLnNtYWxsIHsKLSAgICB3aWR0aDogMTAwcHg7
Ci19Ci0uemVyby1oZWlnaHQgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICBoZWlnaHQ6IDBweDsK
LSAgICBwYWRkaW5nOiAwOwotfQotLnplcm8tc2l6ZSB7Ci0gICAgYm9yZGVyOiBub25lOwotICAg
IHdpZHRoOiAwcHg7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS5oaWRk
ZW4gewotICAgIGRpc3BsYXk6IG5vbmU7Ci19Ci0jZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBi
b3RoOwotfQotCi08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0g
ICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGln
aHRlZE5vZGUoKSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2Vs
ZWN0ZWQpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotCi08ZGl2IGlkPSJmbG93Ij4KLSAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48
L2Rpdj4KLTwvZGl2PgotCi08ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0i
cmVnaW9uIHNtYWxsIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9k
aXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJl
Z2lvbiBoaWRkZW4iPjwvZGl2PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZp
ZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBD
U1MgUmVnaW9ucy48L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXRy
YW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hp
Z2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3JtLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGViOTAwNWFmZWQ5NzZjNTQzNjVkNjVmMjQ0MDkzNTM0OGNlMzI5NDcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdHJhbnNmb3Jt
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zs
b3cgewotICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OwotfQotI2NvbnRhaW5lciB7Ci0gICAg
d2lkdGg6IDQwMHB4OwotICAgIGhlaWdodDogNDAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JleTsKLX0KLSNpbnNwZWN0ZWRFbGVtZW50IHsKLSAgICB3aWR0aDogMTAwJTsKLSAgICBoZWln
aHQ6IDEwMDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKLSAgICAtd2Via2l0LXRy
YW5zZm9ybTogcm90YXRlKDIwZGVnKTsKLSAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7Ci19
Ci0ucmVnaW9uIHsKLSAgICBtYXJnaW46IDVweDsKLSAgICBib3JkZXI6IHNvbGlkIDEwcHggYXF1
YTsKLSAgICBwYWRkaW5nOiAxNXB4OwotICAgIHdpZHRoOiAyMDBweDsKLSAgICBoZWlnaHQ6IDIw
MHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAg
LXdlYmtpdC1mbG93LWZyb206IGZsb3c7Ci19Ci0uc21hbGwgewotICAgIHdpZHRoOiAxMDBweDsK
LX0KLS56ZXJvLWhlaWdodCB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIGhlaWdodDogMHB4Owot
ICAgIHBhZGRpbmc6IDA7Ci19Ci0uemVyby1zaXplIHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAg
d2lkdGg6IDBweDsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRkaW5nOiAwOwotfQotLmhpZGRl
biB7Ci0gICAgZGlzcGxheTogbm9uZTsKLX0KLSNkZXNjcmlwdGlvbiB7Ci0gICAgY2xlYXI6IGJv
dGg7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKLSAg
ICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdo
dGVkTm9kZSgpIiwgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOwotICAgIH0KLQotICAgIElu
c3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiaW5zcGVjdGVkRWxlbWVudCIsIG5vZGVTZWxl
Y3RlZCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci0KLTxkaXYgaWQ9ImZsb3ciPgotICAgIDxkaXYgaWQ9Imluc3BlY3RlZEVsZW1lbnQiPjwv
ZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJy
ZWdpb24gc21hbGwiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHplcm8taGVpZ2h0Ij48L2Rp
dj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLXNpemUiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVn
aW9uIGhpZGRlbiI+PC9kaXY+Ci08cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGhpZ2hsaWdodGVkIG5vZGUgaW5zaWRlIENT
UyBSZWdpb25zLjwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVy
dC1sci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVu
dHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LWxyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMWYyNDZjMTBhOGJjYTJhZDZlY2U0OGExZDMzZWQ4MmVlZGMy
ZTVkMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxv
dy12ZXJ0LWxyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQyOCArMCwwIEBACi1U
aGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRl
ZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy4KLQotewotICAgICJzY3JvbGwiOiB7Ci0gICAgICAg
ICJ4IjogMCwKLSAgICAgICAgInkiOiAwCi0gICAgfSwKLSAgICAiZnJhZ21lbnRzIjogWwotICAg
ICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAgICAgICAgICAgWwotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAzMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDMwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAxMDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAz
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEwMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDEwMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogMTAzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjog
InJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAi
Y29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJw
YWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwK
LSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIz
NTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgs
IDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAg
ICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiAyMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIz
MAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
MzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgInF1YWRzIjogWwotICAgICAg
ICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAxMDkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDEwOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IDkwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDkwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwOTAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTA5
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
OTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTA5MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDkwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA5MCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiAxMDkwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwOTAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDkwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0KLSAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6IGZhbHNlLAotICAgICAgICAg
ICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAsIDAuNjU4ODIzNTI5NDExNzY0
NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3IiOiAicmdiYSgwLCAwLCAwLCAw
KSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEoMTQ3LCAxOTYsIDEyNSwgMC41
NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVyQ29sb3IiOiAicmdiYSgyNTUs
IDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJtYXJnaW5Db2xv
ciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAg
ICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAyOTAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzkwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM5MCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMjkwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIF0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAg
ICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDk2NSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogOTY1LAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA5NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDk2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijog
MjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogLTM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0zNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogOTY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiA5NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0zNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMzUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDk2
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
OTY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJz
aG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTEx
LCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91
dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29s
b3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAg
ICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0
NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42
NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAg
ICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDI2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogNDY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA0NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ2NQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDI2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDY1Ci0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAg
ICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogLTIzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ4IjogNzY1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiA3NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IC0yMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIzNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
NjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0yMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIzNSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NjUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTIzNSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NjUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2Us
Ci0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4
MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2Jh
KDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5
NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6
ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAg
Im1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIs
Ci0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2NSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzY1LAot
ICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NjUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3NQotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDI2
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDc1Ci0gICAgICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdLAot
ICAgICJlbGVtZW50SW5mbyI6IHsKLSAgICAgICAgInRhZ05hbWUiOiAiZGl2IiwKLSAgICAgICAg
ImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCi0gICAgICAgICJub2RlV2lkdGgiOiAiMTAw
MCIsCi0gICAgICAgICJub2RlSGVpZ2h0IjogIjIwMCIsCi0gICAgICAgICJjb250ZW50Rmxvd0lu
Zm8iOiB7Ci0gICAgICAgICAgICAibmFtZSI6ICJmbG93IgotICAgICAgICB9Ci0gICAgfQotfQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LWxyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LWxyLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1MjRjZDA2MTFhNDgxMTQ3M2IzYmU5MGQ4NTRj
OTEwZDUxODEzOTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdp
b25zLWZsb3ctdmVydC1sci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotPCFk
b2N0eXBlIGh0bWw+Ci08aHRtbCBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2Fs
LWxyOyI+Ci08aGVhZD4KLQotPHN0eWxlPgotCi1ib2R5IHsKLSAgICBtYXJnaW46IDA7Ci19Ci0j
ZmxvdyB7Ci0gICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci19Ci0jY29udGFpbmVyIHsKLSAg
ICB3aWR0aDogNDAwcHg7Ci0gICAgaGVpZ2h0OiA0MDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBncmV5OwotfQotI2luc3BlY3RlZEVsZW1lbnQgewotICAgIGhlaWdodDogMTAwJTsKLSAgICB3
aWR0aDogMTAwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQotLnJlZ2lvbiB7
Ci0gICAgbWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7Ci0gICAgcGFk
ZGluZzogMTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAyMDBweDsKLSAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotICAgIC13ZWJraXQtZmxv
dy1mcm9tOiBmbG93OwotfQotLnNtYWxsIHsKLSAgICB3aWR0aDogMTAwcHg7Ci19Ci0uemVyby1o
ZWlnaHQgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICBoZWlnaHQ6IDBweDsKLSAgICBwYWRkaW5n
OiAwOwotfQotLnplcm8tc2l6ZSB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIHdpZHRoOiAwcHg7
Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS5oaWRkZW4gewotICAgIGRp
c3BsYXk6IG5vbmU7Ci19Ci0jZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBib3RoOwotfQotCi08
L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAgewotICAgICAg
ICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRlZE5vZGUoKSIs
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0
LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0ZWQpOwotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotCi08ZGl2
IGlkPSJmbG93Ij4KLSAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rpdj4KLTwvZGl2
PgotCi08ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHNtYWxs
Ij48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+Ci08ZGl2IGNs
YXNzPSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiBoaWRkZW4i
PjwvZGl2PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0
aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1MgUmVnaW9ucy48
L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93LXZlcnQtcmwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdo
dC1yZWdpb25zLWZsb3ctdmVydC1ybC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDcwZTNmYzE1YWE0N2JhMGEwM2FlOTFlYjAzZjI3ZDQ4ZWU2MjQxNTYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1yZWdpb25zLWZsb3ctdmVydC1ybC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MjggKzAsMCBAQAotVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9kZSBpbnNp
ZGUgQ1NTIFJlZ2lvbnMuCi0KLXsKLSAgICAic2Nyb2xsIjogewotICAgICAgICAieCI6IDAsCi0g
ICAgICAgICJ5IjogMAotICAgIH0sCi0gICAgImZyYWdtZW50cyI6IFsKLSAgICAgICAgewotICAg
ICAgICAgICAgInF1YWRzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAgICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjMwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDc3MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yMzAsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ4IjogLTIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICAgICAgICAgIngiOiA3NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzcwLAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjMwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAieCI6IC0yMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAg
ICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ4IjogNzcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDc3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTIzMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMw
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgIFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngi
OiAtMjMwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDc3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
IngiOiA3NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0yMzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENvbG9yIjogInJn
YmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAiY29u
dGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAgICAgICJwYWRk
aW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEzNzMpIiwKLSAg
ICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAuNjU4ODIzNTI5
NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2LCAxNzgsIDEw
NywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjogewotICAgICAg
ICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IDU3MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgIngiOiA3NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0g
ICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogNzcwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAK
LSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICAgICAgIngiOiA1NzAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIz
MAotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAg
fQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAicXVhZHMiOiBbCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IC0yOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogNzEwLAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAieCI6IDcxMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogLTI5MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjkw
LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDcx
MCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3
MTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IC0yOTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI5MCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA3MTAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzEwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAtMjkwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAyMzAKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0yOTAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNzEwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDcxMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTI5MCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBdCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgInNob3dSdWxlcnMiOiBmYWxzZSwKLSAg
ICAgICAgICAgICJjb250ZW50Q29sb3IiOiAicmdiYSgxMTEsIDE2OCwgMjIwLCAwLjY1ODgyMzUy
OTQxMTc2NDcpIiwKLSAgICAgICAgICAgICJjb250ZW50T3V0bGluZUNvbG9yIjogInJnYmEoMCwg
MCwgMCwgMCkiLAotICAgICAgICAgICAgInBhZGRpbmdDb2xvciI6ICJyZ2JhKDE0NywgMTk2LCAx
MjUsIDAuNTQ5MDE5NjA3ODQzMTM3MykiLAotICAgICAgICAgICAgImJvcmRlckNvbG9yIjogInJn
YmEoMjU1LCAyMjksIDE1MywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAibWFy
Z2luQ29sb3IiOiAicmdiYSgyNDYsIDE3OCwgMTA3LCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAg
ICAgICAgICAgICJyZWdpb24iOiB7Ci0gICAgICAgICAgICAgICAgInF1YWQiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogNDEwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgInkiOiAzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDUxMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICJ5IjogMzAKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MTAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDIzMAotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDQxMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjMwCi0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAg
ICAgICAgICAgICJxdWFkcyI6IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTE2NSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAg
ICAgICAgICAgICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xNjUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogLTE2NSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJ5IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAgICAg
ICAgInkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IC0xNjUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAieSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogLTE2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1
Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAy
NjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDI2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IC0xNjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAi
eSI6IDI2NQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ4IjogLTE2NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjY1Ci0gICAgICAg
ICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICJ4IjogODM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNjUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiA4MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQotICAg
ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAieCI6IC0xNjUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI2NQot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICJzaG93UnVsZXJzIjogZmFsc2UsCi0gICAgICAgICAgICAiY29udGVudENv
bG9yIjogInJnYmEoMTExLCAxNjgsIDIyMCwgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAg
ICAgICAiY29udGVudE91dGxpbmVDb2xvciI6ICJyZ2JhKDAsIDAsIDAsIDApIiwKLSAgICAgICAg
ICAgICJwYWRkaW5nQ29sb3IiOiAicmdiYSgxNDcsIDE5NiwgMTI1LCAwLjU0OTAxOTYwNzg0MzEz
NzMpIiwKLSAgICAgICAgICAgICJib3JkZXJDb2xvciI6ICJyZ2JhKDI1NSwgMjI5LCAxNTMsIDAu
NjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgIm1hcmdpbkNvbG9yIjogInJnYmEoMjQ2
LCAxNzgsIDEwNywgMC42NTg4MjM1Mjk0MTE3NjQ3KSIsCi0gICAgICAgICAgICAicmVnaW9uIjog
ewotICAgICAgICAgICAgICAgICJxdWFkIjogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDMzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5
IjogMjY1Ci0gICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICJ4IjogNTM1LAotICAgICAgICAgICAgICAgICAgICAgICAg
InkiOiAyNjUKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1MzUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAieSI6IDQ2NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDMzNSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJ5IjogNDY1Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJxdWFkcyI6
IFsKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJ4IjogMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQot
ICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAieCI6IDEwMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3
NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAieCI6IDEwMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6
IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAieCI6IDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInki
OiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAg
ICAgIngiOiAxMDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgIngiOiAxMDM1LAotICAgICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAg
ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICAgICAgIngiOiAzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIFsK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiAzNSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMTAz
NSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4Ijog
MTAzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogMjc1Ci0gICAgICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4
IjogMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBbCi0gICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJ4IjogMzUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDEwMzUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAgICB9LAotICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6IDM1LAotICAg
ICAgICAgICAgICAgICAgICAgICAgInkiOiAyNzUKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAic2hvd1J1bGVycyI6
IGZhbHNlLAotICAgICAgICAgICAgImNvbnRlbnRDb2xvciI6ICJyZ2JhKDExMSwgMTY4LCAyMjAs
IDAuNjU4ODIzNTI5NDExNzY0NykiLAotICAgICAgICAgICAgImNvbnRlbnRPdXRsaW5lQ29sb3Ii
OiAicmdiYSgwLCAwLCAwLCAwKSIsCi0gICAgICAgICAgICAicGFkZGluZ0NvbG9yIjogInJnYmEo
MTQ3LCAxOTYsIDEyNSwgMC41NDkwMTk2MDc4NDMxMzczKSIsCi0gICAgICAgICAgICAiYm9yZGVy
Q29sb3IiOiAicmdiYSgyNTUsIDIyOSwgMTUzLCAwLjY1ODgyMzUyOTQxMTc2NDcpIiwKLSAgICAg
ICAgICAgICJtYXJnaW5Db2xvciI6ICJyZ2JhKDI0NiwgMTc4LCAxMDcsIDAuNjU4ODIzNTI5NDEx
NzY0NykiLAotICAgICAgICAgICAgInJlZ2lvbiI6IHsKLSAgICAgICAgICAgICAgICAicXVhZCI6
IFsKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgIngiOiA1
MzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAgICAg
ICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAieCI6
IDEwMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDI3NQotICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAi
eCI6IDEwMzUsCi0gICAgICAgICAgICAgICAgICAgICAgICAieSI6IDQ3NQotICAgICAgICAgICAg
ICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAieCI6IDUzNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ5IjogNDc1Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICBdLAotICAgICJlbGVtZW50SW5mbyI6IHsKLSAgICAgICAgInRhZ05hbWUiOiAiZGl2IiwK
LSAgICAgICAgImlkVmFsdWUiOiAiaW5zcGVjdGVkRWxlbWVudCIsCi0gICAgICAgICJub2RlV2lk
dGgiOiAiMTAwMCIsCi0gICAgICAgICJub2RlSGVpZ2h0IjogIjIwMCIsCi0gICAgICAgICJjb250
ZW50Rmxvd0luZm8iOiB7Ci0gICAgICAgICAgICAibmFtZSI6ICJmbG93IgotICAgICAgICB9Ci0g
ICAgfQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lvbnMtZmxvdy12ZXJ0LXJs
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkZTAwOTgxZDA0NTRmNzUwMjU3
NGRlNzZhODY2ZjYwYmM4OGJkNTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hs
aWdodC1yZWdpb25zLWZsb3ctdmVydC1ybC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAs
MCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbCBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6
IHZlcnRpY2FsLXJsOyI+Ci08aGVhZD4KLQotPHN0eWxlPgotCi1ib2R5IHsKLSAgICBtYXJnaW46
IDA7Ci19Ci0jZmxvdyB7Ci0gICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci19Ci0jY29udGFp
bmVyIHsKLSAgICB3aWR0aDogNDAwcHg7Ci0gICAgaGVpZ2h0OiA0MDBweDsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmV5OwotfQotI2luc3BlY3RlZEVsZW1lbnQgewotICAgIGhlaWdodDogMTAw
JTsKLSAgICB3aWR0aDogMTAwMHB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQot
LnJlZ2lvbiB7Ci0gICAgbWFyZ2luOiA1cHg7Ci0gICAgYm9yZGVyOiBzb2xpZCAxMHB4IGFxdWE7
Ci0gICAgcGFkZGluZzogMTVweDsKLSAgICB3aWR0aDogMjAwcHg7Ci0gICAgaGVpZ2h0OiAyMDBw
eDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwotICAgIGZsb2F0OiBsZWZ0OwotICAgIC13
ZWJraXQtZmxvdy1mcm9tOiBmbG93OwotfQotLnNtYWxsIHsKLSAgICB3aWR0aDogMTAwcHg7Ci19
Ci0uemVyby1oZWlnaHQgewotICAgIGJvcmRlcjogbm9uZTsKLSAgICBoZWlnaHQ6IDBweDsKLSAg
ICBwYWRkaW5nOiAwOwotfQotLnplcm8tc2l6ZSB7Ci0gICAgYm9yZGVyOiBub25lOwotICAgIHdp
ZHRoOiAwcHg7Ci0gICAgaGVpZ2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS5oaWRkZW4g
ewotICAgIGRpc3BsYXk6IG5vbmU7Ci19Ci0jZGVzY3JpcHRpb24gewotICAgIGNsZWFyOiBib3Ro
OwotfQotCi08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gbm9kZVNlbGVjdGVkKG5vZGUpCi0gICAg
ewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImR1bXBJbnNwZWN0b3JIaWdobGlnaHRl
ZE5vZGUoKSIsIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KTsKLSAgICB9Ci0KLSAgICBJbnNw
ZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZEVsZW1lbnQiLCBub2RlU2VsZWN0
ZWQpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotCi08ZGl2IGlkPSJmbG93Ij4KLSAgICA8ZGl2IGlkPSJpbnNwZWN0ZWRFbGVtZW50Ij48L2Rp
dj4KLTwvZGl2PgotCi08ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2PgotPGRpdiBjbGFzcz0icmVn
aW9uIHNtYWxsIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lvbiB6ZXJvLWhlaWdodCI+PC9kaXY+
Ci08ZGl2IGNsYXNzPSJyZWdpb24gemVyby1zaXplIj48L2Rpdj4KLTxkaXYgY2xhc3M9InJlZ2lv
biBoaWRkZW4iPjwvZGl2PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMg
dGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHRlZCBub2RlIGluc2lkZSBDU1Mg
UmVnaW9ucy48L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXJlZ2lv
bnMtZmxvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWRkOGNiMWE0NzAz
ZDU1MDY1NjgzMmIxYzFlNmU0OTEwZDNlNzU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9oaWdobGlnaHQtcmVnaW9ucy1mbG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCww
IEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7
Ci0gICAgbWFyZ2luOiAwOwotfQotI2Zsb3cgewotICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93
OwotfQotI2NvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDQwMHB4OwotICAgIGhlaWdodDogNDAwcHg7
Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKLX0KLSNpbnNwZWN0ZWRFbGVtZW50IHsKLSAg
ICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMDBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsKLX0KLS5yZWdpb24gewotICAgIG1hcmdpbjogNXB4OwotICAgIGJvcmRlcjogc29s
aWQgMTBweCBhcXVhOwotICAgIHBhZGRpbmc6IDE1cHg7Ci0gICAgd2lkdGg6IDIwMHB4OwotICAg
IGhlaWdodDogMjAwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKLSAgICBmbG9hdDog
bGVmdDsKLSAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKLX0KLS5zbWFsbCB7Ci0gICAgd2lk
dGg6IDEwMHB4OwotfQotLnplcm8taGVpZ2h0IHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgaGVp
Z2h0OiAwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLS56ZXJvLXNpemUgewotICAgIGJvcmRlcjog
bm9uZTsKLSAgICB3aWR0aDogMHB4OwotICAgIGhlaWdodDogMHB4OwotICAgIHBhZGRpbmc6IDA7
Ci19Ci0uaGlkZGVuIHsKLSAgICBkaXNwbGF5OiBub25lOwotfQotI2Rlc2NyaXB0aW9uIHsKLSAg
ICBjbGVhcjogYm90aDsKLX0KLQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIG5vZGVTZWxlY3Rl
ZChub2RlKQotICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJkdW1wSW5zcGVj
dG9ySGlnaGxpZ2h0ZWROb2RlKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAg
fQotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJpbnNwZWN0ZWRFbGVtZW50
Iiwgbm9kZVNlbGVjdGVkKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLQotPGRpdiBpZD0iZmxvdyI+Ci0gICAgPGRpdiBpZD0iaW5zcGVjdGVk
RWxlbWVudCI+PC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBjbGFzcz0icmVnaW9uIj48L2Rpdj4KLTxk
aXYgY2xhc3M9InJlZ2lvbiBzbWFsbCI+PC9kaXY+Ci08ZGl2IGNsYXNzPSJyZWdpb24gemVyby1o
ZWlnaHQiPjwvZGl2PgotPGRpdiBjbGFzcz0icmVnaW9uIHplcm8tc2l6ZSI+PC9kaXY+Ci08ZGl2
IGNsYXNzPSJyZWdpb24gaGlkZGVuIj48L2Rpdj4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0
ZXN0IHZlcmlmaWVzIHRoZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0ZWQgbm9k
ZSBpbnNpZGUgQ1NTIFJlZ2lvbnMuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1y
b290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9oaWdobGlnaHQtc3ZnLXJvb3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyZjcwNmYzOGQwNjVjNDQ3YzVjZmRjNjg5MjU3OWE3YzFlMTE3ODRlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3QtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0
aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24gYW4g
U1ZHIHJvb3QgZWxlbWVudC4KLQotbWFyZ2luIHJlY3QgaXMgMTYwIHggMTYwIGF0ICgwLCAwKQot
Ym9yZGVyIHJlY3QgaXMgMTUwIHggMTUwIGF0ICg1LCA1KQotcGFkZGluZyByZWN0IGlzIDEzMCB4
IDEzMCBhdCAoMTUsIDE1KQotY29udGVudCByZWN0IGlzIDEwMCB4IDEwMCBhdCAoMzAsIDMwKQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LXN2Zy1yb290LXpvb21lZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZWxlbWVudHMvaGlnaGxpZ2h0LXN2Zy1yb290LXpvb21lZC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhNDhmNjc4ZDA1MmI0OWU3NzNmMDgw
NGRjYmU0M2E1MGFkYjVlNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdo
dC1zdmctcm9vdC16b29tZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCww
IEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdo
bGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24gYW4gU1ZHIHJvb3QgZWxlbWVudCB3aGVuIHRo
ZSBwYWdlIGlzIHpvb21lZC4KLQotbWFyZ2luIHJlY3QgaXMgNDA4IHggNTI4IGF0ICgxMiwgMjQp
Ci1ib3JkZXIgcmVjdCBpcyAzMzYgeCA0NTYgYXQgKDQ4LCA2MCkKLXBhZGRpbmcgcmVjdCBpcyAy
NDAgeCAzNjAgYXQgKDk2LCAxMDgpCi1jb250ZW50IHJlY3QgaXMgMTIwIHggMjQwIGF0ICgxNTYs
IDE2OCkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL2hpZ2hsaWdodC1zdmctcm9vdC16b29tZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3Qtem9vbWVkLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1ZTNlODc3NWQ2OWRlYjJjZDZlN2U0YmMyNTIyMDZi
Y2FkMjY5YmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL2hpZ2hsaWdodC1zdmctcm9v
dC16b29tZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLQotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwot
fQotI3N2Zy1yb290IHsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgbGVmdDogMTBweDsK
LSAgICB0b3A6IDIwcHg7Ci0gICAgbWFyZ2luOiAzMHB4OwotICAgIGJvcmRlcjogc29saWQgNDBw
eCBhcXVhOwotICAgIHBhZGRpbmc6IDUwcHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
LX0KLQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5j
dGlvbiBzdGFydFRlc3QoKQotewotICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAg
IHdpbmRvdy5ldmVudFNlbmRlci56b29tUGFnZUluKCk7Ci0gICAgcnVuVGVzdCgpOwotfQotCi1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkKLSAgICB7
Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hsaWdodFJl
Y3RzKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAgSW5zcGVj
dG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJzdmctcm9vdCIsIG5vZGVTZWxlY3RlZCk7Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+Ci08c3ZnIGlk
PSJzdmctcm9vdCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMDAiIHZpZXdib3g9IjAgMCA1MCAxMDAi
Pjwvc3ZnPgotPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHBvc2l0
aW9uIGFuZCBzaXplIG9mIHRoZSBoaWdobGlnaHQgcmVjdGFuZ2xlcyBvdmVybGF5ZWQgb24gYW4g
U1ZHIHJvb3QgZWxlbWVudCB3aGVuIHRoZSBwYWdlIGlzIHpvb21lZC48L3A+Ci08IS0tCi0KLUV4
cGVjdGVkIHZhbHVlIGNhbGN1bGF0aW9ucyBmb3IgI3N2Zy1yb290J3MgaGlnaGxpZ2h0IHJlY3Rh
bmdsZXMgYXQgMTIwJSB6b29tOgotCi1tYXJnaW4gcmVjdDoKLSAgICBsZWZ0OiAgICgxMCkgKiAx
LjIgPT0gMTIKLSAgICB0b3A6ICAgICgyMCkgKiAxLjIgPT0gMjQKLSAgICB3aWR0aDogICgxMDAg
KyAyICogKDMwICsgNDAgKyA1MCkpICogMS4yID09IDM0MCAqIDEuMiA9PSA0MDgKLSAgICBoZWln
aHQ6ICgyMDAgKyAyICogKDMwICsgNDAgKyA1MCkpICogMS4yID09IDQ0MCAqIDEuMiA9PSA1MjgK
LQotYm9yZGVyIHJlY3Q6Ci0gICAgbGVmdDogICAoMTAgKyAzMCkgKiAxLjIgPT0gNDAgKiAxLjIg
PT0gNDgKLSAgICB0b3A6ICAgICgyMCArIDMwKSAqIDEuMiA9PSA1MCAqIDEuMiA9PSA2MAotICAg
IHdpZHRoOiAgKDEwMCArIDIgKiAoNDAgKyA1MCkpICogMS4yID09IDI4MCAqIDEuMiA9PSAzMzYK
LSAgICBoZWlnaHQ6ICgyMDAgKyAyICogKDQwICsgNTApKSAqIDEuMiA9PSAzODAgKiAxLjIgPT0g
NDU2Ci0KLXBhZGRpbmcgcmVjdDoKLSAgICBsZWZ0OiAgICgxMCArIDMwICsgNDApICogMS4yID09
IDgwICogMS4yID09IDk2Ci0gICAgdG9wOiAgICAoMjAgKyAzMCArIDQwKSAqIDEuMiA9PSA5MCAq
IDEuMiA9PSAxMDgKLSAgICB3aWR0aDogICgxMDAgKyAyICogKDUwKSkgKiAxLjIgPT0gMjAwICog
MS4yID09IDI0MAotICAgIGhlaWdodDogKDIwMCArIDIgKiAoNTApKSAqIDEuMiA9PSAzMDAgKiAx
LjIgPT0gMzYwCi0KLWNvbnRlbnQgcmVjdDoKLSAgICBsZWZ0OiAgICgxMCArIDMwICsgNDAgKyA1
MCkgKiAxLjIgPT0gMTMwICogMS4yID09IDE1NgotICAgIHRvcDogICAgKDIwICsgMzAgKyA0MCAr
IDUwKSAqIDEuMiA9PSAxNDAgKiAxLjIgPT0gMTY4Ci0gICAgd2lkdGg6ICAoMTAwKSAqIDEuMiA9
PSAxMjAKLSAgICBoZWlnaHQ6ICgyMDApICogMS4yID09IDI0MAotICAgIAotLS0+Ci08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJvb3QuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9oaWdobGlnaHQtc3ZnLXJv
b3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGYxYWU0ODY1YjU0ZWZmNGFl
OGMzOTg5OGI4YzlmOTg2N2FmYTU4YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvaGln
aGxpZ2h0LXN2Zy1yb290Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0KLTxzdHlsZT4KLQotYm9keSB7Ci0gICAgbWFy
Z2luOiAwOwotfQotI3N2Zy1yb290IHsKLSAgICBtYXJnaW46IDVweDsKLSAgICBib3JkZXI6IHNv
bGlkIDEwcHggYXF1YTsKLSAgICBwYWRkaW5nOiAxNXB4OwotICAgIGJhY2tncm91bmQtY29sb3I6
IGJsdWU7Ci19Ci0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBub2RlU2VsZWN0ZWQobm9kZSkK
LSAgICB7Ci0gICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZHVtcEluc3BlY3RvckhpZ2hs
aWdodFJlY3RzKCkiLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAgfQotCi0gICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJzdmctcm9vdCIsIG5vZGVTZWxlY3RlZCk7
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0K
LTxzdmcgaWQ9InN2Zy1yb290IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld2JveD0iMCAw
IDUwIDUwIj48L3N2Zz4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IHZlcmlmaWVzIHRo
ZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiB0aGUgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgb3ZlcmxheWVk
IG9uIGFuIFNWRyByb290IGVsZW1lbnQuPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvbXV0YXRlLXVua25v
d24tbm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvbXV0YXRlLXVua25vd24tbm9kZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDI0ZWNjYjUxNDVmZmIzM2EyNDc2NzQ4NDBhZjMwMTQwMTdlM2Q4YWYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotVGVzdHMgdGhhdCBlbGVtZW50cyBw
YW5lbCBkb2VzIG5vdCByZWNlaXZlIGV2ZW50cyB1cG9uIGNoYW5nZXMgdG8gdGhlIHVuZGlzY292
ZXJlZCBub2Rlcy4KLQotQXBwZW5kZWQKLURPTUFnZW50IGV2ZW50IGZpcmVkLiBTaG91bGQgb25s
eSBoYXBwZW4gb25jZSBmb3Igb3V0cHV0IG5vZGU6IERPTU5vZGVJbnNlcnRlZCBESVYjdW5kZWZp
bmVkCi1SZW1vdmVkCi1BdHRyaWJ1dGUgbW9kaWZpZWQKLT09PT09PT09PSBSZXN1bHQgRE9NQWdl
bnQgdHJlZSA9PT09PT09PQotI2RvY3VtZW50WzFdCi0gICAgSFRNTFsyXQotICAgICAgICBIRUFE
WzNdCi0gICAgICAgIEJPRFlbNF0KLSAgICAgICAgICAgIFBbNV0KLSAgICAgICAgICAgICAgICBb
Nl0KLSAgICAgICAgICAgIERJVls3XQotICAgICAgICAgICAgRElWWzhdCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9tdXRhdGUtdW5rbm93bi1u
b2RlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVu
dHMvbXV0YXRlLXVua25vd24tbm9kZS5odG1sLWRpc2FibGVkCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0ZmFmMWU2NTE4MTJlNWZlMWNhZTg4ZjcwN2ZhMDM5NDhlZDdlMTNhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9tdXRhdGUtdW5rbm93bi1ub2RlLmh0bWwtZGlzYWJs
ZWQKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGFwcGVuZENoaWxkKCkKLXsK
LSAgICB2YXIgaGlkZGVuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpZGRlbiIpOwotICAg
IHZhciBjaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGNoaWxkLnNl
dEF0dHJpYnV0ZSgiaWQiLCAiYXBwZW5kZWQiKTsKLSAgICBoaWRkZW4uYXBwZW5kQ2hpbGQoY2hp
bGQpOwotfQotCi1mdW5jdGlvbiByZW1vdmVDaGlsZCgpCi17Ci0gICAgdmFyIGNoaWxkID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcGVuZGVkIik7Ci0gICAgY2hpbGQucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZChjaGlsZCk7Ci19Ci0KLWZ1bmN0aW9uIG1vZGlmeUF0dHJpYnV0ZSgpCi17Ci0g
ICAgdmFyIGhpZGRlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaWRkZW4iKTsKLSAgICBo
aWRkZW4uc2V0QXR0cmlidXRlKCJmb28iLCAiYmFyIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIGZ1bmN0aW9uIGxpc3RlbmVyKHR5cGUsIGV2ZW50KQotICAgIHsKLSAgICAgICAgbm9k
ZSA9IGV2ZW50LmRhdGEubm9kZSB8fCBldmVudC5kYXRhOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiRE9NQWdlbnQgZXZlbnQgZmlyZWQuIFNob3VsZCBvbmx5IGhhcHBlbiBvbmNl
IGZvciBvdXRwdXQgbm9kZTogIiArIHR5cGUgKyAiICIgKyBldmVudC5kYXRhLm5vZGVOYW1lKCkg
KyAiIyIgKyBldmVudC5kYXRhLmdldEF0dHJpYnV0ZSgiaWQiKSk7Ci0gICAgfQotCi0gICAgV2Vi
SW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50
LkV2ZW50cy5BdHRyTW9kaWZpZWQsIGxpc3RlbmVyLmJpbmQodGhpcywgIkRPTUF0dHJNb2RpZmll
ZCIpKTsKLSAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkNoYXJhY3RlckRhdGFNb2RpZmllZCwgbGlzdGVuZXIuYmlu
ZCh0aGlzLCAiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIikpOwotICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuTm9k
ZUluc2VydGVkLCBsaXN0ZW5lci5iaW5kKHRoaXMsICJET01Ob2RlSW5zZXJ0ZWQiKSk7Ci0gICAg
V2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFn
ZW50LkV2ZW50cy5Ob2RlUmVtb3ZlZCwgbGlzdGVuZXIuYmluZCh0aGlzLCAiRE9NTm9kZVJlbW92
ZWQiKSk7Ci0KLSAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVxdWVzdERvY3VtZW50KHN0ZXAw
LmJpbmQodGhpcykpOwotCi0gICAgZnVuY3Rpb24gc3RlcDAoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiYXBwZW5kQ2hpbGQoKSIsIHN0ZXAxKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiQXBwZW5kZWQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgicmVtb3ZlQ2hpbGQoKSIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVtb3ZlZCIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtb2RpZnlBdHRyaWJ1dGUoKSIsIHN0
ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXR0cmlidXRlIG1vZGlmaWVkIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInRydWUiLCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PT09PT09PSBSZXN1bHQgRE9NQWdlbnQgdHJlZSA9PT09PT09PSIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBET01BZ2VudFRyZWUoKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCBkb2VzIG5vdCBy
ZWNlaXZlIGV2ZW50cyB1cG9uIGNoYW5nZXMgdG8gdGhlIHVuZGlzY292ZXJlZCBub2Rlcy4KLTwv
cD4KLQotPGRpdj4KLTxkaXYgaWQ9ImhpZGRlbiI+Ci08L2Rpdj4KLTwvZGl2PgotCi08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxl
bWVudHMvcGVyZm9ybS11bmRvLXVuZG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL3BlcmZvcm0tdW5kby11bmRvLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjJjMDE0YTZjODJjN2VkNWUwN2QyNzU4NGY2ZjQ3
MDAwMTM3OTRkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcGVyZm9ybS11bmRvLXVu
ZG8tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdHMgdGhh
dCBjbGllbnQgY2FuIGNhbGwgdW5kbyBtdWx0aXBsZSB0aW1lcyB3aXRoIG5vbi1lbXB0eSBoaXN0
b3J5LgotCi09PT09PT09PT0gT3JpZ2luYWwgPT09PT09PT0KLSAgPGRpdiBzdHlsZT0iZGlzcGxh
eTpub25lIiBpZD0iY29udGFpbmVyIj5cbjwvZGl2PgotPT09PT0gTW9kaWZpZWQgZWxlbWVudCA9
PT09PQotICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUiIGlkPSJjb250YWluZXIiIGZvbz0iYmFy
Ij5cbjwvZGl2PgotPT09PT0gVW5kbyAxID09PT09Ci0gIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9u
ZSIgaWQ9ImNvbnRhaW5lciI+XG48L2Rpdj4KLT09PT09IFVuZG8gMiA9PT09PQotICA8ZGl2IHN0
eWxlPSJkaXNwbGF5Om5vbmUiIGlkPSJjb250YWluZXIiPlxuPC9kaXY+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9wZXJmb3JtLXVuZG8tdW5k
by5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3BlcmZvcm0t
dW5kby11bmRvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiNzAxYjJmM2Y0
ZWQzMWNhMGYxM2NkOWQ5ZGJhMTg0Njk4MzFiMDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL3BlcmZvcm0tdW5kby11bmRvLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBjb250YWluZXJOb2RlOwotICAgIEluc3BlY3RvclRl
c3QuZXhwYW5kRWxlbWVudHNUcmVlKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKG5vZGUp
Ci0gICAgewotICAgICAgICBjb250YWluZXJOb2RlID0gSW5zcGVjdG9yVGVzdC5leHBhbmRlZE5v
ZGVXaXRoSWQoImNvbnRhaW5lciIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09PT09PT09IE9yaWdpbmFsID09PT09PT09Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEVsZW1lbnRzVHJlZShjb250YWluZXJOb2RlKTsKLSAgICAgICAgc3RlcDIoKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PSBN
b2RpZmllZCBlbGVtZW50ID09PT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBF
bGVtZW50c1RyZWUoY29udGFpbmVyTm9kZSk7Ci0gICAgICAgICAgICBzdGVwMygpOwotICAgICAg
ICB9Ci0gICAgICAgIGNvbnRhaW5lck5vZGUuc2V0QXR0cmlidXRlKCIiLCAiZm9vPVwiYmFyXCIi
LCBjYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAg
ICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiPT09PT0gVW5kbyAxID09PT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoY29udGFpbmVyTm9kZSk7Ci0gICAgICAgICAgICBzdGVw
NCgpOwotICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKGNhbGxi
YWNrKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBmdW5j
dGlvbiBjYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCI9PT09PSBVbmRvIDIgPT09PT0iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcEVsZW1lbnRzVHJlZShjb250YWluZXJOb2RlKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFn
ZW50LnVuZG8oY2FsbGJhY2spOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjbGllbnQgY2FuIGNhbGwg
dW5kbyBtdWx0aXBsZSB0aW1lcyB3aXRoIG5vbi1lbXB0eSBoaXN0b3J5LgotPC9wPgotCi08ZGl2
IHN0eWxlPSJkaXNwbGF5Om5vbmUiIGlkPSJjb250YWluZXIiPgotPC9kaXY+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9yZXNvbHZlLWFsaWVuLW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtYWxpZW4tbm9kZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxMWRlMjgyYjhiNjI2OTMxNzMxMjBkOTIwODEy
ZmJhMzBmNGRmZDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtYWxpZW4t
bm9kZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRlc3RzIHRo
YXQgcmVzb2x2ZU5vZGUgZnJvbSBhbGllbiBkb2N1bWVudCBkb2VzIG5vdCBjcmFzaC4gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODA2LgotCi1BbGllbiBub2RlIHNo
b3VsZCByZXNvbHZlIHRvIG51bGw6IG51bGwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtYWxpZW4tbm9kZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtYWxpZW4tbm9kZS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjM5NjQxOGFhYmYwZjlhMWNhYTQ1M2Ri
ZjE0OWQ3ZmFkMTU0YTcwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvbHZlLWFs
aWVuLW5vZGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgUnVu
dGltZUFnZW50LmV2YWx1YXRlKCJ2YXIgZG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3Jl
YXRlSFRNTERvY3VtZW50KCcnKTsgZG9jLmxhc3RDaGlsZC5pbm5lckhUTUwgPSAnPHNwYW4+PC9z
cGFuPic7IGRvYy5sYXN0Q2hpbGQiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMShlcnJv
ciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgewotICAgICAgICB2YXIgc3BhbldyYXBwZXIgPSBX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7Ci0gICAgICAgIHNw
YW5XcmFwcGVyLnB1c2hOb2RlVG9Gcm9udGVuZChzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIobm9kZUlkKQotICAgIHsKLSAgICAgICAgdmFyIG5vZGUgPSBXZWJJbnNwZWN0b3Iu
ZG9tQWdlbnQubm9kZUZvcklkKG5vZGVJZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
VHJ1ZShub2RlLCAiTm9kZSBvYmplY3Qgc2hvdWxkIGJlIHJlc292bGVkIik7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUobm9kZSwgdW5kZWZpbmVkLCBzdGVw
Myk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMocmVtb3RlT2JqZWN0KQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFsaWVuIG5vZGUgc2hvdWxkIHJlc29sdmUg
dG8gbnVsbDogIiArIHJlbW90ZU9iamVjdCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHJlc29sdmVOb2RlIGZyb20gYWxpZW4gZG9j
dW1lbnQgZG9lcyBub3QgY3Jhc2guIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTgwNi4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtbm9kZS1ibG9ja2VkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNv
bHZlLW5vZGUtYmxvY2tlZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDUxYWNkNDc5NmVmZmRkNTAzOThhOTk4Njk3NTE3NjdmYWNlNzYxYzUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2VsZW1lbnRzL3Jlc29sdmUtbm9kZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBKUyBvYmplY3QgdG8gbm9kZSBy
ZXNvbHV0aW9uIHN0aWxsIHdvcmtzIGV2ZW4gaWYgc2NyaXB0IGV2YWxzIGFyZSBwcm9oaWJpdGVk
IGJ5IENvbnRlbnQtU2VjdXJpdHktUG9saWN5LiBUaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24n
dCBjcmFzaC4gQnVnIDc4NzA1LgotCi1kaWRSZWNlaXZlRG9jdW1lbnRPYmplY3QKLWRpZFJlcXVl
c3ROb2RlIGVycm9yID0gbnVsbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvcmVzb2x2ZS1ub2RlLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvbHZlLW5vZGUtYmxvY2tlZC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDA1NDRlOTU2MTU1NjhiNmFmNDcyZTMwZDFk
OTc3OTczNjlmMWMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvbHZlLW5vZGUt
YmxvY2tlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNl
Y3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciPgotPHNj
cmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImRvY3VtZW50IiwgZGlkUmVjZWl2ZURvY3VtZW50T2JqZWN0KTsKLSAgICBmdW5jdGlvbiBk
aWRSZWNlaXZlRG9jdW1lbnRPYmplY3QocmVtb3RlT2JqZWN0LCB3YXNUaHJvd24pCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZGlkUmVjZWl2ZURvY3VtZW50T2JqZWN0
Iik7Ci0gICAgICAgIERPTUFnZW50LnJlcXVlc3ROb2RlKHJlbW90ZU9iamVjdC5vYmplY3RJZCwg
ZGlkUmVxdWVzdE5vZGUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3ROb2RlKGVy
cm9yLCBub2RlSWQpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZGlk
UmVxdWVzdE5vZGUgZXJyb3IgPSAiICsgZXJyb3IpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IEpTIG9iamVjdCB0byBub2RlIHJlc29sdXRp
b24gc3RpbGwgd29ya3MgZXZlbiBpZiBzY3JpcHQgZXZhbHMgYXJlIHByb2hpYml0ZWQgYnkgQ29u
dGVudC1TZWN1cml0eS1Qb2xpY3kuCi1UaGUgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFz
aC4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODcw
NSI+QnVnIDc4NzA1LjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZG9tLXNlYXJj
aC1jcmFzaC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9yZXNvdXJjZXMvZG9tLXNlYXJjaC1jcmFzaC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMzNmNzFkZTFlM2YxNGU4MjFkNmY0ZWRkOTAxMDk1MWNhYWVjZTQ1
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL2RvbS1zZWFyY2gtY3Jh
c2gtaWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLTxzY3JpcHQ+Ci1k
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL2VsZW1lbnRzLXBhbmVsLXJld3JpdGUt
aHJlZi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9yZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtcmV3cml0ZS1ocmVmLWlmcmFtZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOWJiNTNmMmRhNDc1YzYzMzBkYjM5OWM3MmZhMWNj
MjA3OTEwZDA4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZWxlbWVu
dHMtcGFuZWwtcmV3cml0ZS1ocmVmLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxiYXNlIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjEiPgot
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBzcmM9InN0eWxlc2hlZXQuY3NzIj4KLTxzY3JpcHQgc3Jj
PSJzY3JpcHQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08YSBocmVmPSJ0YXJnZXQu
aHRtbCI+PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9lbGVtZW50cy1wYW5lbC1zdHlsZXMu
Y3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9l
bGVtZW50cy1wYW5lbC1zdHlsZXMuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
ZTAyNjg5NTg3OTMwNmM5ZjUzOWEzYmE0MzdiNTg4MzRkNmZmNDYwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvZWxlbWVudHMtcGFuZWwtc3R5bGVzLmNzcworKysgL2Rl
di9udWxsCkBAIC0xLDUzICswLDAgQEAKLWJvZHkgewotICAgIGZvbnQtc2l6ZTogMTJweDsKLX0K
LQotI2NvbnRhaW5lciB7Ci0gICAgZm9udC1mYW1pbHk6IHNlcmlmOwotICAgIGZvbnQtc2l6ZTog
MTRweDsKLSAgICBjb2xvcjogcmVkOwotICAgIHBhZGRpbmc6IDJweCAhaW1wb3J0YW50OwotfQot
Ci0jY29udGFpbmVyIC5mb28gewotICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50Owot
fQotCi0uZm9vIHsKLSAgICBjb2xvcjogYmxhY2s7Ci0gICAgbWFyZ2luLWxlZnQ6IDFweDsKLSAg
ICBtYXJnaW46IDEwcHggMCAycHg7Ci0gICAgYm9yZGVyLXJhZGl1czogNXB4OwotICAgIGZvbnQt
c3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OwotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9y
dGFudDsKLSAgICBmb250LXdlaWdodDogYm9sZDsKLSAgICBwYWRkaW5nOiA0cHg7Ci0gICAgcGFk
ZGluZy1yaWdodDogMXB4OwotfQotCi0uZm9vLCAuZm9vOjpiZWZvcmUgewotICAgIGNvbnRlbnQ6
ICJbYmVmb3JlIEZvb10iOwotICAgIGNvbG9yOiBibHVlOwotICAgIGRpc3BsYXk6IGJsb2NrICFp
bXBvcnRhbnQ7Ci19Ci0KLS5mb286OmJlZm9yZSB7Ci0gICAgY29sb3I6IHJlZDsKLX0KLQotLmZv
bzo6YWZ0ZXIgewotICAgIGNvbnRlbnQ6ICJbYWZ0ZXIgRm9vXSI7Ci0gICAgY29sb3I6IGdyZWVu
OwotfQotLmZvbzo6YWZ0ZXIgewotICAgIGZvbnQtZmFtaWx5OiBjb3VyaWVyOwotICAgIGNvbnRl
bnQ6ICJbYWZ0ZXIgRm9vIDJdIjsKLX0KLQotLmZvbyB7Ci0gICAgLyogRW1wdHkgcnVsZSB0aGF0
IHNob3VsZCBiZSByZXBvcnRlZCBpbiB0aGUgU3R5bGVzIHBhbmUgKi8KLX0KLQotLmZvbzo6YmVm
b3JlIHsKLSAgICAvKiBFbXB0eSBydWxlIHRoYXQgc2hvdWxkIGJlIHJlcG9ydGVkIGluIHRoZSBT
dHlsZXMgcGFuZSAqLwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9oaWRlLXNob3J0Y3V0LWlmcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9oaWRlLXNob3J0Y3V0
LWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzMwOTBkOTgzOGE5
NWE2ZDc0Nzk5N2VjNzZkNzU1OGQ3NzU3NGJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9yZXNvdXJjZXMvaGlkZS1zaG9ydGN1dC1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0iZnJh
bWUtbm9kZSI+aWZyYW1lPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL2hpZ2hsaWdodC1u
b2RlLXNjYWxlZC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9l
bGVtZW50cy9yZXNvdXJjZXMvaGlnaGxpZ2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYWVkODcxMjc5NzA1OGNiZWJhMjU5YTI0ODdhNWUz
YTYxNjA3YTc0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvaGlnaGxp
Z2h0LW5vZGUtc2NhbGVkLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgbWFyZ2luOiA3cHg7Ci0gICAg
cGFkZGluZzogMTNweDsKLSAgICBib3JkZXI6IDVweCBzb2xpZCBibGFjazsKLSAgICBwb3NpdGlv
bjogYWJzb2x1dGU7Ci0gICAgbGVmdDogMTFweDsKLSAgICB0b3A6IDIycHg7Ci0gICAgd2lkdGg6
IDMzcHg7Ci0gICAgaGVpZ2h0OiA0NHB4OyAgICAKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
Ci19Ci08L3N0eWxlPgotPC9oZWFkPgotCi08Ym9keT4KLTxkaXYgaWQ9ImRpdiI+PC9kaXY+Ci08
c2NyaXB0PgotdG9wLmlmcmFtZURpdkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZGl2Iik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Jlc291cmNlcy9zZXQtaHRtbC12aWEtcmVzb3VyY2Ut
aWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVz
b3VyY2VzL3NldC1odG1sLXZpYS1yZXNvdXJjZS1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzYzZjcyNTJiYWE5Nzk3MDQ0NzAzNGM3ZjhmZmIzNDU4MGQzMTg0Yy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL3NldC1odG1sLXZpYS1yZXNv
dXJjZS1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQ+Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRpdj5Gb288L2Rp
dj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9yZXNvdXJjZXMvc2V0
LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDkwZTBjNmQ0YmFjYzIwODViYTI2ODFlNmZmZjE5N2EyMGZmNjMzYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvcmVzb3VyY2VzL3NldC1vdXRlci1odG1sLWJvZHktaWZyYW1lLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTxodG1sIGlkPSJodG1sIj4KLTxoZWFk
IGlkPSJoZWFkIj4KLTxzY3JpcHQ+Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5
Ij4KLTxkaXY+Rm9vPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LWF0dHJpYnV0
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MjFhZDUwZmJj
OWQzZTFjNTA3OGQ3OGE5MGE0ZThhY2VkMTFkNjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL3NldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAs
MCBAQAotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCB1cGRhdGVzIGRvbSB0cmVlIHN0cnVjdHVy
ZSB1cG9uIHNldHRpbmcgYXR0cmlidXRlLgotCi0KLVJ1bm5pbmc6IHRlc3REdW1wSW5pdGlhbAot
PT09PT09PT09IE9yaWdpbmFsID09PT09PT09Ci0gIDxkaXYgaWQ9Im5vZGUiPjwvZGl2PgotCi1S
dW5uaW5nOiB0ZXN0QXR0cmlidXRlVXBkYXRlZAotPT09PT0gT24gYXR0cmlidXRlIHNldCA9PT09
PQotICA8ZGl2IGlkPSJub2RlIiBuYW1lPSJ2YWx1ZSI+PC9kaXY+Ci0KLVJ1bm5pbmc6IHRlc3RB
dHRyaWJ1dGVTYW1lVmFsdWVOb3RVcGRhdGVkCi09PT09PSBPbiBhdHRyaWJ1dGUgbW9kaWZpZWQg
KHNob3VsZCBiZSAnbmV3VmFsdWUnKSA9PT09PQotICA8ZGl2IGlkPSJub2RlIiBuYW1lPSJuZXdW
YWx1ZSI+PC9kaXY+Ci0KLVJ1bm5pbmc6IHRlc3RBdHRyaWJ1dGVSZW1vdmVkCi09PT0gT24gYXR0
cmlidXRlIHJlbW92ZWQgPT09Ci0gIDxkaXYgaWQ9Im5vZGUiPjwvZGl2PgotCi1SdW5uaW5nOiB0
ZXN0U2V0QXR0cmlidXRlVmFsdWUKLT09PSBTZXQgYXR0cmlidXRlIHZhbHVlID09PQotICA8ZGl2
IGlkPSJub2RlIiBmb289ImJhciI+PC9kaXY+Ci0KLVJ1bm5pbmc6IHRlc3RTZXRBdHRyaWJ1dGVU
ZXh0Ci09PT0gU2V0IGF0dHJpYnV0ZSBhcyB0ZXh0ID09PQotICA8ZGl2IGlkPSJub2RlIiBmb28y
PSJiYXoyIiBmb28zPSJiYXozIj48L2Rpdj4KLQotUnVubmluZzogdGVzdFJlbW92ZUF0dHJpYnV0
ZUFzVGV4dAotPT09IFJlbW92ZSBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0KLSAgPGRpdiBpZD0ibm9k
ZSIgZm9vMj0iYmF6MiI+PC9kaXY+Ci0KLVJ1bm5pbmc6IHRlc3RTZXRNYWxmb3JtZWRBdHRyaWJ1
dGVUZXh0Ci1FcnJvcjogQ291bGQgbm90IHBhcnNlIHZhbHVlIGFzIGF0dHJpYnV0ZXMKLT09PSBT
ZXQgbWFsZm9ybWVkIGF0dHJpYnV0ZSBhcyB0ZXh0ID09PQotICA8ZGl2IGlkPSJub2RlIiBmb28y
PSJiYXoyIj48L2Rpdj4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0bWwt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGZmM2MyMmViZmY1
MjFkNGFlOThhYTEyNWVlNTViY2ExY2M2Y2NjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9zZXQtYXR0cmlidXRlLW5vbi1odG1sLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDMgKzAsMCBAQAotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCB1cGRhdGVzIGRvbSB0cmVlIHN0
cnVjdHVyZSB1cG9uIHNldHRpbmcgYXR0cmlidXRlIG9uIG5vbiBIVE1MIGVsZW1lbnRzLiBQQVNT
ZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0bWwuc3ZnIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUtbm9uLWh0
bWwuc3ZnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MmIwYjk2ZDhmMzM0ZjI2ZmZl
ODNmZDA0MjhkZGM3NDNkMzExNDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQt
YXR0cmlidXRlLW5vbi1odG1sLnN2ZworKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCI/PgotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciPgotPGZvcmVpZ25PYmplY3Q+Ci08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCI+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PjwhW0NE
QVRBWwotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgdGFyZ2V0Tm9kZTsKLQotICAgIElu
c3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdER1bXBJbml0
aWFsKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKG5vZGUp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdGFyZ2V0Tm9kZSA9IG5vZGU7Ci0gICAg
ICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5zZWxlY3ROb2RlV2l0aElkKCJub2RlIiwgY2FsbGJhY2spOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRBdHRyaWJ1dGVUZXh0KG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRhcmdldE5vZGUu
c2V0QXR0cmlidXRlKCJmb28iLCAiZm9vMj0nYmF6MicgZm9vMz0nYmF6MyciLCBjYWxsYmFjayk7
Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLV1dPgotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBlbGVtZW50cyBwYW5lbCB1cGRh
dGVzIGRvbSB0cmVlIHN0cnVjdHVyZSB1cG9uIHNldHRpbmcgYXR0cmlidXRlIG9uIG5vbiBIVE1M
IGVsZW1lbnRzLiBQQVNTZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guCi08L3A+Ci0KLTxkaXYgaWQ9
Im5vZGUiPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+Ci08L2ZvcmVpZ25PYmplY3Q+Ci08L3N2
Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9z
ZXQtYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVu
dHMvc2V0LWF0dHJpYnV0ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTEx
ZWU3MmVlNThiNTJhNzAzMDIzZGM2Mzc0YzZhZDc4NzFlYjIwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9lbGVtZW50cy9zZXQtYXR0cmlidXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiBzZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpCi17Ci0gICAgdmFyIG5vZGUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9kZSIpOwotICAgIG5vZGUuc2V0QXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKLX0KLQotZnVuY3Rpb24gcmVtb3ZlQXR0cmlidXRlKG5hbWUpCi17Ci0gICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9kZSIpOwotICAgIG5vZGUucmVt
b3ZlQXR0cmlidXRlKG5hbWUpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgdGFy
Z2V0Tm9kZTsKLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVu
Y3Rpb24gdGVzdER1bXBJbml0aWFsKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0
aW9uIGNhbGxiYWNrKG5vZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdGFyZ2V0
Tm9kZSA9IG5vZGU7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PT09PT09PSBPcmlnaW5hbCA9PT09PT09PSIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcEVsZW1lbnRzVHJlZSh0YXJnZXROb2RlKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRo
SWQoIm5vZGUiLCBjYWxsYmFjayk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVz
dEF0dHJpYnV0ZVVwZGF0ZWQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24g
Y2FsbGJhY2soKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMu
QXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PT09IE9uIGF0dHJpYnV0ZSBzZXQgPT09PT0iKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7Ci0gICAgICAgICAg
ICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRv
bUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRy
TW9kaWZpZWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoInNldEF0dHJpYnV0ZSgnbmFtZScsICd2YWx1ZScpIik7Ci0gICAgICAgIH0sCi0KLSAg
ICAgICAgZnVuY3Rpb24gdGVzdEF0dHJpYnV0ZVNhbWVWYWx1ZU5vdFVwZGF0ZWQobmV4dCkKLSAg
ICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PSBPbiBhdHRyaWJ1
dGUgbW9kaWZpZWQgKHNob3VsZCBiZSAnbmV3VmFsdWUnKSA9PT09PSIpOwotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRzVHJlZSh0YXJnZXROb2RlKTsKLSAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOwotICAgICAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0
ck1vZGlmaWVkLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICAvLyBTZXR0aW5nIHRoZSBzYW1lIHBy
b3BlcnR5IHZhbHVlIHNob3VsZCBub3QgcmVzdWx0IGluIHRoZSBBdHRyTW9kaWZpZWQgZXZlbnQu
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRBdHRyaWJ1dGUo
J25hbWUnLCAndmFsdWUnKSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgic2V0QXR0cmlidXRlKCduYW1lJywgJ3ZhbHVlJykiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNldEF0dHJpYnV0ZSgnbmFtZScsICduZXdWYWx1ZScp
Iik7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEF0dHJpYnV0ZVJlbW92ZWQo
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0clJlbW92ZWQsIGNhbGxi
YWNrKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IE9uIGF0
dHJpYnV0ZSByZW1vdmVkID09PSIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cEVsZW1lbnRzVHJlZSh0YXJnZXROb2RlKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFjayk7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJyZW1vdmVBdHRyaWJ1
dGUoJ25hbWUnKSIpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRBdHRy
aWJ1dGVWYWx1ZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFj
aygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9k
aWZpZWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiPT09IFNldCBhdHRyaWJ1dGUgdmFsdWUgPT09Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRhcmdldE5vZGUpOwotICAgICAgICAgICAgICAgIG5l
eHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVk
LCBjYWxsYmFjayk7Ci0gICAgICAgICAgICB0YXJnZXROb2RlLnNldEF0dHJpYnV0ZVZhbHVlKCJm
b28iLCAiYmFyIik7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldEF0dHJp
YnV0ZVRleHQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2so
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0clJlbW92
ZWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09IFNldCBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7Ci0gICAgICAgICAgICAgICAgbmV4
dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyUmVtb3ZlZCwg
Y2FsbGJhY2spOwotICAgICAgICAgICAgdGFyZ2V0Tm9kZS5zZXRBdHRyaWJ1dGUoImZvbyIsICJm
b28yPSdiYXoyJyBmb28zPSdiYXozJyIpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3RSZW1vdmVBdHRyaWJ1dGVBc1RleHQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAg
ZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5FdmVudHMuQXR0clJlbW92ZWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiPT09IFJlbW92ZSBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0iKTsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7
Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50
LkV2ZW50cy5BdHRyUmVtb3ZlZCwgY2FsbGJhY2spOwotICAgICAgICAgICAgdGFyZ2V0Tm9kZS5z
ZXRBdHRyaWJ1dGUoImZvbzMiLCAiIik7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24g
dGVzdFNldE1hbGZvcm1lZEF0dHJpYnV0ZVRleHQobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZXQgbWFsZm9ybWVkIGF0dHJpYnV0
ZSBhcyB0ZXh0ID09PSIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1l
bnRzVHJlZSh0YXJnZXROb2RlKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB0YXJnZXROb2RlLnNldEF0dHJpYnV0ZSgiZm9vMiIsICJmb28yPSdt
aXNzaW5ncXVvdGUiLCBjYWxsYmFjayk7Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLQotPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhh
dCBlbGVtZW50cyBwYW5lbCB1cGRhdGVzIGRvbSB0cmVlIHN0cnVjdHVyZSB1cG9uIHNldHRpbmcg
YXR0cmlidXRlLgotPC9wPgotCi08ZGl2IGlkPSJub2RlIj48L2Rpdj4KLQotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L3NldC1vdXRlci1odG1sLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLTItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzMjE5ZTFlNzhjNGEwYTIxODUxNjVjODE1Y2IxNjJiMzU3NzEy
NTlkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC0yLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIyMCArMCwwIEBACi1UZXN0cyBET01BZ2VudC5z
ZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kIChwYXJ0IDIpLgotCi1BZGRpdGlvbmFsIG5vZGUK
LQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRlc3RDaGFuZ2VNdWx0aXBsZVRoaW5n
cwotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IEF0dHJNb2RpZmllZDogSDIKLUV2
ZW50IEF0dHJNb2RpZmllZDogSDIKLUV2ZW50IE5vZGVJbnNlcnRlZDogVUwKLUV2ZW50IE5vZGVS
ZW1vdmVkOiBVTAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBz
dHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6
Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+
Ci08aDIgZm9vPSJiYXIiIGJhcj0iYmF6Ij5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJp
ZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9w
PgotPHVsPgotICAgCi08L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09
PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIg
aWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBBdHRyUmVtb3ZlZDogSDIKLUV2ZW50IEF0dHJSZW1v
dmVkOiBIMgotRXZlbnQgQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAKLUV2ZW50IE5vZGVJbnNlcnRl
ZDogTEkKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3
LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgy
PkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3
YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwv
dWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09
PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlTmVzdGluZ0xldmVsCi1XcmFwcGVy
IGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBESVYKLUV2ZW50IE5vZGVS
ZW1vdmVkOiBVTAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBz
dHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6
Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+
Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBt
YW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTxkaXY+PHVsPgotICAgPGxp
PjwvbGk+Ci08L3VsPjwvZGl2PgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09
PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIg
aWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IFVMCi1FdmVudCBOb2RlUmVt
b3ZlZDogRElWCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4K
LTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1h
bnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+
Ci08L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9
PT09PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdFN3YXBOb2RlcwotV3JhcHBlciBpZGVu
dGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVk
OiBIMgotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0i
ZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cu
YXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci0KLTxw
IGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBj
YW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVsPgotICAgPGxpPjwvbGk+Ci08
L3VsPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPjwvZGl2PgotPT09PT09PT09PT44PT09PT09
PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0
eQotRXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZUluc2VydGVkOiBQCi1FdmVudCBO
b2RlSW5zZXJ0ZWQ6IFVMCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IFVMCi1FdmVudCBOb2RlUmVtb3Zl
ZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBQCi1FdmVudCBOb2RlUmVtb3ZlZDogVUwKLUV2ZW50
IE5vZGVSZW1vdmVkOiBVTAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFp
bmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9
Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRj
Li48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJl
IGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTx1bD4KLSAgIDxs
aT48L2xpPgotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTwvZGl2PgotPT09PT09
PT09PT44PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RFZGl0VHdvUm9vdHMKLVdy
YXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IERJVgotPT09PT09
PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3Nh
ZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZv
bHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGlu
dm9sdmVkLiBZb3UgY2FuOjwvcD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTx1bD4KLSAg
IDxsaT48L2xpPgotPC91bD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1Ccmlu
Z2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotPT09PT09PT09
PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4K
LTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFy
aS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZl
ZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9s
dmVkLiBZb3UgY2FuOjwvcD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTx1bD4KLSAgIDxs
aT48L2xpPgotPC91bD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0K
LVJ1bm5pbmc6IHRlc3REdXBlTm9kZQotUmVwbGFjaW5nICc8aDI+R2V0dGluZyBpbnZvbHZlZDwv
aDI+JyB3aXRoICc8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+PGgyPkdldHRpbmcgaW52b2x2ZWQ8
L2gyPicKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDog
SDIKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMgotPT09PT09
PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3Nh
ZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZv
bHZlZDwvaDI+PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVy
ZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8
bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09
PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVu
dGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMgotPT09PT09PT09PTg8PT09PT09
PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktp
dCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFy
aTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08
cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3Ug
Y2FuOjwvcD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgot
PC91bD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRt
bC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91
dGVyLWh0bWwtMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYThkMTk2MzYw
N2I1OGVlZGM0ZGQxMjRlMzA0YWQ0MjA5NzhmM2EyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVt
ZW50cy9zZXQtb3V0ZXItaHRtbC0yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
InNldC1vdXRlci1odG1sLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
b25sb2FkKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWRlbnRpdHkiKS53cmFw
cGVySWRlbnRpdHkgPSAiaWRlbnRpdHkiOwotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5j
dGlvbiB0ZXN0U2V0VXAobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5zZXRVcFRlc3RTdWl0ZShuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0
ZXN0Q2hhbmdlTXVsdGlwbGVUaGluZ3MobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFy
IHRleHQgPSBJbnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQucmVwbGFjZSgvPGxpPi4qPFwvbGk+
LywgIiIpOwotICAgICAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSgiPGgyPiIsICI8aDIgZm9v
PVwiYmFyXCIgYmFyPVwiYmF6XCI+Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNldE91
dGVySFRNTCh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
Q2hhbmdlTmVzdGluZ0xldmVsKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXh0
ID0gSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UoIjx1bD4iLCAiPGRpdj48dWw+
Iik7Ci0gICAgICAgICAgICB2YXIgdGV4dCA9IHRleHQucmVwbGFjZSgiPC91bD4iLCAiPC91bD48
L2Rpdj4iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0T3V0ZXJIVE1MKHRleHQsIG5l
eHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTd2FwTm9kZXMobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgdmFyIHRleHQgPSBJbnNwZWN0b3JUZXN0LmNvbnRhaW5l
clRleHQucmVwbGFjZSgiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPiIsICIiKTsKLSAgICAgICAg
ICAgIHZhciB0ZXh0ID0gdGV4dC5yZXBsYWNlKCI8L2Rpdj4iLCAiPGgyPkdldHRpbmcgaW52b2x2
ZWQ8L2gyPjwvZGl2PiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUwo
dGV4dCwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEVkaXRUd29S
b290cyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgdGV4dCA9IEluc3BlY3RvclRl
c3QuY29udGFpbmVyVGV4dCArICI8ZGl2PkFkZGl0aW9uYWwgbm9kZTwvZGl2PiI7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTCh0ZXh0LCBuZXh0KTsKLSAgICAgICAgfSwK
LQotICAgICAgICBmdW5jdGlvbiB0ZXN0RHVwZU5vZGUobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGgyPkdldHRpbmcgaW52b2x2ZWQ8
L2gyPiIsICI8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+PGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gy
PiIsIG5leHQpOwotICAgICAgICB9Ci0gICAgXSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+Ci08cD4KLVRlc3RzIERPTUFnZW50LnNldE91dGVySFRN
TCBwcm90b2NvbCBtZXRob2QgKHBhcnQgMikuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciIg
c3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRw
Oi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9w
PgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUg
bWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9s
aT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLQotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1l
bnRzL3NldC1vdXRlci1odG1sLWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWJvZHktZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGRjMjg0ODJjYWZjMzg2NzM4ZjdmOTk0OTEz
OTg3YTVlZWUxMjg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRt
bC1ib2R5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVRlc3Rz
IERPTUFnZW50LnNldE91dGVySFRNTCBpbnZva2VkIG9uIGJvZHkgdGFnLiBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjcyLiAKLQotCi1SdW5uaW5nOiB0ZXN0
U2V0VXAKLQotUnVubmluZzogdGVzdFNldEJvZHkKLTxodG1sIGlkPSJodG1sIj48aGVhZCBpZD0i
aGVhZCI+Ci08c2NyaXB0PgotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT5OZXcgYm9keSBjb250
ZW50PC9ib2R5PjwvaHRtbD4KLQotUnVubmluZzogdGVzdEluc2VydENvbW1lbnRzCi08aHRtbCBp
ZD0iaHRtbCI+PGhlYWQgaWQ9ImhlYWQiPgotPHNjcmlwdD4KLTwvc2NyaXB0PgotPC9oZWFkPgot
PCEtLSBuZXcgY29tbWVudCBiZXR3ZWVuIGhlYWQgYW5kIGJvZHkgLS0+PGJvZHk+TmV3IGJvZHkg
Y29udGVudDwvYm9keT48L2h0bWw+Ci0KLVJ1bm5pbmc6IHRlc3RTZXRIZWFkCi08aHRtbCBpZD0i
aHRtbCI+PGhlYWQ+PCEtLSBuZXcgaGVhZCBjb250ZW50IC0tPjwvaGVhZD4KLTwhLS0gbmV3IGNv
bW1lbnQgYmV0d2VlbiBoZWFkIGFuZCBib2R5IC0tPjxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2Jv
ZHk+PC9odG1sPgotCi1SdW5uaW5nOiB0ZXN0U2V0SFRNTAotPGh0bWw+PGhlYWQ+PCEtLSBuZXcg
aGVhZCBjb250ZW50IC0tPjwvaGVhZD48Ym9keT5TZXR0aW5nIGJvZHkgYXMgYSBwYXJ0IG9mIEhU
TUwuPC9ib2R5PjwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWJvZHkuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1ib2R5Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjZmRmOTY2ZTQwZjJiMjMxZjllNjAzNTJhMjUzOGNl
NTQ2OTYzYTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWJv
ZHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICB2YXIgaHRtbE5vZGU7Ci0gICAgdmFyIGJvZHlOb2RlOwotICAgIHZhciBoZWFkTm9kZTsK
LQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVz
dFNldFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5k
RWxlbWVudHNUcmVlKHN0ZXAxKTsKLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICBodG1sTm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5k
ZWROb2RlV2l0aElkKCJodG1sIik7Ci0gICAgICAgICAgICAgICAgaGVhZE5vZGUgPSBJbnNwZWN0
b3JUZXN0LmV4cGFuZGVkTm9kZVdpdGhJZCgiaGVhZCIpOwotICAgICAgICAgICAgICAgIGJvZHlO
b2RlID0gSW5zcGVjdG9yVGVzdC5leHBhbmRlZE5vZGVXaXRoSWQoImJvZHkiKTsKLSAgICAgICAg
ICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVu
Y3Rpb24gdGVzdFNldEJvZHkobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgRE9NQWdlbnQu
c2V0T3V0ZXJIVE1MKGJvZHlOb2RlLmlkLCAiPGJvZHk+TmV3IGJvZHkgY29udGVudDwvYm9keT4i
LCBkdW1wSFRNTChuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdElu
c2VydENvbW1lbnRzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIERPTUFnZW50LnNldE91
dGVySFRNTChib2R5Tm9kZS5pZCwgIjwhLS0gbmV3IGNvbW1lbnQgYmV0d2VlbiBoZWFkIGFuZCBi
b2R5IC0tPjxib2R5Pk5ldyBib2R5IGNvbnRlbnQ8L2JvZHk+IiwgZHVtcEhUTUwobmV4dCkpOwot
ICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRIZWFkKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIERPTUFnZW50LnNldE91dGVySFRNTChoZWFkTm9kZS5pZCwgIjxoZWFk
PjwhLS0gbmV3IGhlYWQgY29udGVudCAtLT48L2hlYWQ+IiwgZHVtcEhUTUwobmV4dCkpOwotICAg
ICAgICB9LAotCi0gICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0SFRNTChuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBET01BZ2VudC5zZXRPdXRlckhUTUwoaHRtbE5vZGUuaWQsICI8aHRtbD48
aGVhZD48IS0tIG5ldyBoZWFkIGNvbnRlbnQgLS0+PC9oZWFkPjxib2R5PlNldHRpbmcgYm9keSBh
cyBhIHBhcnQgb2YgSFRNTC48L2JvZHk+PC9odG1sPiIsIGR1bXBIVE1MKG5leHQpKTsKLSAgICAg
ICAgfQotICAgIF0pOwotCi0gICAgZnVuY3Rpb24gZHVtcEhUTUwobmV4dCkKLSAgICB7Ci0gICAg
ICAgIGZ1bmN0aW9uIGR1bXAoKQotICAgICAgICB7Ci0gICAgICAgICAgICBET01BZ2VudC5nZXRP
dXRlckhUTUwoaHRtbE5vZGUuaWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNh
bGxiYWNrKGVycm9yLCB0ZXh0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KGVycm9yID8gZXJyb3IgOiB0ZXh0KTsKLSAgICAgICAgICAgICAg
ICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGR1bXA7
Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPHA+Ci1UZXN0cyBET01B
Z2VudC5zZXRPdXRlckhUTUwgaW52b2tlZCBvbiBib2R5IHRhZy4gU2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI3Mi4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
c2V0LW91dGVyLWh0bWwtYm9keS1pZnJhbWUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPjwvaWZy
YW1lPgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy9zZXQtb3V0ZXItaHRtbC1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmYzY4MDYwZDg5ZDg3ZTQ0
NGVjMDQ1ZDcxMWE5OTc0NGFmOGYwMmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3Nl
dC1vdXRlci1odG1sLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2MCArMCwwIEBA
Ci1UZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kLgotCi0KLVJ1bm5p
bmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YQotUmVwbGFj
aW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICdHZXR0aW5nIG5vdCBpbnZvbHZlZCcKLQotV3Jh
cHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IENoYXJhY3RlckRhdGFNb2RpZmllZDogCi09
PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5
Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5j
b20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5n
IG5vdCBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMg
dG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09
PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0
eQotRXZlbnQgQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAKLT09PT09PT09PT04PD09PT09PT09PT0K
LTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMg
dXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+
LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9
ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8
L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0
ZXN0Q2hhbmdlQXR0cmlidXRlcwotUmVwbGFjaW5nICc8YSBocmVmJyB3aXRoICc8YSBmb289ImJh
ciIgaHJlZicKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IEF0dHJNb2RpZmll
ZDogQQotRXZlbnQgQXR0ck1vZGlmaWVkOiBBCi1FdmVudCBBdHRyUmVtb3ZlZDogQQotPT09PT09
PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGZvbz0iYmFyIiBocmVmPSJodHRwOi8vd3d3LmFw
cGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdl
dHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlz
IHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09
PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRp
dHkKLUV2ZW50IEF0dHJNb2RpZmllZDogQQotRXZlbnQgQXR0clJlbW92ZWQ6IEEKLUV2ZW50IEF0
dHJSZW1vdmVkOiBBCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIi
IHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0
cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwv
cD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJl
IG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09
PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdFJlbW92ZUxhc3RDaGlsZAot
UmVwbGFjaW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICcnCi0KLVdyYXBwZXIgaWRlbnRpdHk6
IGlkZW50aXR5Ci1FdmVudCBOb2RlUmVtb3ZlZDogCi09PT09PT09PT09ODw9PT09PT09PT09Ci08
ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVz
ZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwg
RGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj48L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBh
cmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09
PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVu
dGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogCi09PT09PT09PT09ODw9PT09PT09
PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0
IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJp
PC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxw
IGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBj
YW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmlu
ZzogdGVzdFNwbGl0Tm9kZQotUmVwbGFjaW5nICdHZXR0aW5nIGludm9sdmVkJyB3aXRoICdHZXR0
aW5nPC9oMj48aDI+aW52b2x2ZWQnCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVu
dCBOb2RlSW5zZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlUmVt
b3ZlZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgot
PGgyPkdldHRpbmc8L2gyPjxoMj5pbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJl
IGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09
PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlk
ZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZVJlbW92
ZWQ6IEgyCi1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNl
ZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBE
YXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9Imlk
ZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+
Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0
Q2hhbmdlTm9kZU5hbWUKLVJlcGxhY2luZyAnPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPicgd2l0
aCAnPGgzPkdldHRpbmcgaW52b2x2ZWQ8L2gzPicKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRp
dHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDMKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMgotPT09PT09
PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3Nh
ZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDM+R2V0dGluZyBpbnZv
bHZlZDwvaDM+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGlu
dm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1C
cmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQg
Tm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZVJlbW92ZWQ6IEgzCi09PT09PT09PT09ODw9PT09
PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2Vi
S2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2Fm
YXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4K
LTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlv
dSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRl
ci1odG1sLWZvci14aHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtZm9yLXhodG1sLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTFlOWUzZjMyYzI2ZjViYzVjMWU4YTYyN2VmODNh
YzA5OGQ5ZDgyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwt
Zm9yLXhodG1sLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2NSArMCwwIEBACi1U
ZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kIGFnYWluc3QgYW4gWEhU
TUwgZG9jdW1lbnQuCi0KLQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRlc3RDaGFu
Z2VDaGFyYWN0ZXJEYXRhCi1SZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdpdGggJ0dldHRp
bmcgbm90IGludm9sdmVkJwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgQXR0
ck1vZGlmaWVkOiBkaXYKLUV2ZW50IEF0dHJNb2RpZmllZDogZGl2Ci1FdmVudCBBdHRyTW9kaWZp
ZWQ6IGRpdgotRXZlbnQgQXR0clJlbW92ZWQ6IGRpdgotRXZlbnQgQXR0clJlbW92ZWQ6IGRpdgot
RXZlbnQgQ2hhcmFjdGVyRGF0YU1vZGlmaWVkOiAKLT09PT09PT09PT04PD09PT09PT09PT0KLTxk
aXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgot
PGgyPkdldHRpbmcgbm90IGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJl
IG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09
PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRp
dHk6IGlkZW50aXR5Ci1FdmVudCBDaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6IAotPT09PT09PT09PTg8
PT09PT09PT09PQotPGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9
ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8
YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9h
cmQsIGV0Yy48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHki
PlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2
PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RDaGFuZ2VB
dHRyaWJ1dGVzCi1SZXBsYWNpbmcgJzxhIGhyZWYnIHdpdGggJzxhIGZvbz0iYmFyIiBocmVmJwot
Ci1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgQXR0ck1vZGlmaWVkOiBhCi1FdmVu
dCBBdHRyTW9kaWZpZWQ6IGEKLUV2ZW50IEF0dHJSZW1vdmVkOiBhCi09PT09PT09PT09ODw9PT09
PT09PT09Ci08ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29u
dGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGZv
bz0iYmFyIiBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBE
YXNoYm9hcmQsIGV0Yy48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRl
bnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4K
LTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawot
Ci1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgQXR0ck1vZGlmaWVkOiBhCi1FdmVu
dCBBdHRyUmVtb3ZlZDogYQotRXZlbnQgQXR0clJlbW92ZWQ6IGEKLT09PT09PT09PT04PD09PT09
PT09PT0KLTxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250
YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJl
Zj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBl
dGMuPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVy
ZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09
PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0UmVtb3ZlTGFzdENo
aWxkCi1SZXBsYWNpbmcgJ0dldHRpbmcgaW52b2x2ZWQnIHdpdGggJycKLQotV3JhcHBlciBpZGVu
dGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVSZW1vdmVkOiAKLT09PT09PT09PT04PD09PT09PT09
PT0KLTxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250YWlu
ZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0i
aHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMu
PC9wPgotPGgyPjwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8g
Z2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09
PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQot
RXZlbnQgTm9kZUluc2VydGVkOiAKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNw
bGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBs
ZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuPC9wPgotPGgyPkdldHRp
bmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRv
IGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09
PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0U3BsaXROb2RlCi1SZXBsYWNpbmcgJ0dldHRpbmcg
aW52b2x2ZWQnIHdpdGggJ0dldHRpbmc8L2gyPjxoMj5pbnZvbHZlZCcKLQotV3JhcHBlciBpZGVu
dGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogaDIKLUV2ZW50IE5vZGVJbnNlcnRl
ZDogaDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBoMgotPT09PT09PT09PTg8PT09PT09PT09PQotPGRp
diB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImNvbnRhaW5lciIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy48L3A+Ci08
aDI+R2V0dGluZzwvaDI+PGgyPmludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUg
YXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09
PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRl
bnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IGgyCi1FdmVudCBOb2RlUmVtb3Zl
ZDogaDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBoMgotPT09PT09PT09PTg8PT09PT09PT09PQotPGRp
diB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImNvbnRhaW5lciIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy48L3A+Ci08
aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55
IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44
PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RDaGFuZ2VOb2RlTmFtZQotUmVwbGFj
aW5nICc8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+JyB3aXRoICc8aDM+R2V0dGluZyBpbnZvbHZl
ZDwvaDM+JwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVk
OiBoMwotRXZlbnQgTm9kZVJlbW92ZWQ6IGgyCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iY29udGFpbmVyIiBzdHls
ZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93
d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KLTxo
Mz5HZXR0aW5nIGludm9sdmVkPC9oMz4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkg
d2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9
PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlk
ZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IGgyCi1FdmVudCBOb2RlUmVtb3ZlZDogaDMKLT09
PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv
eGh0bWwiIGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlz
IHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9h
PiwgRGFzaGJvYXJkLCBldGMuPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9
ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8
L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwt
Zm9yLXhodG1sLnhodG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRz
L3NldC1vdXRlci1odG1sLWZvci14aHRtbC54aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzAyMGFjMjVkMTk1ZTQ1M2M2ZTQ1OWI5YzUwMGJmMDMyZjQ1NTZmYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwtZm9yLXhodG1sLnhodG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwiPgotPGhlYWQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0ic2V0LW91dGVyLWh0bWwtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotLy88IVtD
REFUQVsKLQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiaWRlbnRpdHkiKS53cmFwcGVySWRlbnRpdHkgPSAiaWRlbnRpdHkiOwotICAgIHJ1blRlc3Qo
KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3Vp
dGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZShuZXh0KTsKLSAgICAgICAgfSwKLQot
ICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQ2hhcmFjdGVyRGF0YShuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9s
dmVkIiwgIkdldHRpbmcgbm90IGludm9sdmVkIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAg
ICAgZnVuY3Rpb24gdGVzdENoYW5nZUF0dHJpYnV0ZXMobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGEgaHJlZiIsICI8YSBmb289XCJi
YXJcIiBocmVmIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFJl
bW92ZUxhc3RDaGlsZChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9sdmVkIiwgIiIsIG5leHQpOwotICAgICAgICB9
LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTcGxpdE5vZGUobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiR2V0dGluZyBpbnZvbHZlZCIs
ICJHZXR0aW5nPC9oMj48aDI+aW52b2x2ZWQiLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAg
ICBmdW5jdGlvbiB0ZXN0Q2hhbmdlTm9kZU5hbWUobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTCgiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gy
PiIsICI8aDM+R2V0dGluZyBpbnZvbHZlZDwvaDM+IiwgbmV4dCk7Ci0gICAgICAgIH0KLSAgICBd
KTsKLX0KLS8vXV0+Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJvbmxvYWQo
KSI+Ci08cD4KLVRlc3RzIERPTUFnZW50LnNldE91dGVySFRNTCBwcm90b2NvbCBtZXRob2QgYWdh
aW5zdCBhbiBYSFRNTCBkb2N1bWVudC4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHls
ZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93
d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvcD4KLTxo
Mj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkg
d2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50
cy9zZXQtb3V0ZXItaHRtbC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2VsZW1lbnRzL3NldC1vdXRlci1odG1sLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDBmMzFmMTFiNTFmYzViOWI0NzBhOTg5NTRiYmM5NGNmZTJjZGM2ZWIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2VsZW1lbnRzL3NldC1vdXRlci1odG1sLXRlc3QuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxMTEgKzAsMCBAQAotdmFyIGluaXRpYWxpemVfU2V0T3V0ZXJIVE1MVGVzdCA9IGZ1
bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LmV2ZW50cyA9IFtdOwotSW5zcGVjdG9yVGVzdC5j
b250YWluZXJJZDsKLQotSW5zcGVjdG9yVGVzdC5zZXRVcFRlc3RTdWl0ZSA9IGZ1bmN0aW9uKG5l
eHQpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5leHBhbmRFbGVtZW50c1RyZWUoc3RlcDEpOwotCi0g
ICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3RO
b2RlV2l0aElkKCJjb250YWluZXIiLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDIobm9kZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29udGFpbmVySWQgPSBub2Rl
LmlkOwotICAgICAgICBET01BZ2VudC5nZXRPdXRlckhUTUwoSW5zcGVjdG9yVGVzdC5jb250YWlu
ZXJJZCwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKGVycm9yLCB0ZXh0KQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0ID0gdGV4dDsKLQotICAg
ICAgICBmb3IgKHZhciBrZXkgaW4gV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cykgewotICAg
ICAgICAgICAgdmFyIGV2ZW50TmFtZSA9IFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHNba2V5
XTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKGV2
ZW50TmFtZSwgSW5zcGVjdG9yVGVzdC5yZWNvcmRFdmVudC5iaW5kKEluc3BlY3RvclRlc3QsIGV2
ZW50TmFtZSkpOwotICAgICAgICB9Ci0KLSAgICAgICAgbmV4dCgpOwotICAgIH0KLX0KLQotSW5z
cGVjdG9yVGVzdC5yZWNvcmRFdmVudCA9IGZ1bmN0aW9uKGV2ZW50TmFtZSwgZXZlbnQpCi17Ci0g
ICAgaWYgKCFldmVudC5kYXRhKQotICAgICAgICByZXR1cm47Ci0gICAgdmFyIG5vZGUgPSBldmVu
dC5kYXRhLm5vZGUgfHwgZXZlbnQuZGF0YTsKLSAgICB2YXIgcGFyZW50ID0gZXZlbnQuZGF0YS5w
YXJlbnQ7Ci0gICAgZm9yICh2YXIgY3VycmVudE5vZGUgPSBwYXJlbnQgfHwgbm9kZTsgY3VycmVu
dE5vZGU7IGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUucGFyZW50Tm9kZSkgewotICAgICAgICBp
ZiAoY3VycmVudE5vZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09PSAib3V0cHV0IikKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmVudHMucHVzaCgiRXZlbnQg
IiArIGV2ZW50TmFtZSArICI6ICIgKyBub2RlLm5vZGVOYW1lKCkpOwotfQotCi1JbnNwZWN0b3JU
ZXN0LnBhdGNoT3V0ZXJIVE1MID0gZnVuY3Rpb24ocGF0dGVybiwgcmVwbGFjZW1lbnQsIG5leHQp
Ci17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlcGxhY2luZyAnIiArIHBhdHRlcm4g
KyAiJyB3aXRoICciICsgcmVwbGFjZW1lbnQgKyAiJ1xuIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5z
ZXRPdXRlckhUTUwoSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UocGF0dGVybiwg
cmVwbGFjZW1lbnQpLCBuZXh0KTsKLX0KLQotSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTFVz
ZVVuZG8gPSBmdW5jdGlvbihwYXR0ZXJuLCByZXBsYWNlbWVudCwgbmV4dCkKLXsKLSAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVwbGFjaW5nICciICsgcGF0dGVybiArICInIHdpdGggJyIg
KyByZXBsYWNlbWVudCArICInXG4iKTsKLSAgICBJbnNwZWN0b3JUZXN0LnNldE91dGVySFRNTFVz
ZVVuZG8oSW5zcGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UocGF0dGVybiwgcmVwbGFj
ZW1lbnQpLCBuZXh0KTsKLX0KLQotSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUwgPSBmdW5jdGlv
bihuZXdUZXh0LCBuZXh0KQotewotICAgIEluc3BlY3RvclRlc3QuaW5uZXJTZXRPdXRlckhUTUwo
bmV3VGV4dCwgZmFsc2UsIGJyaW5nQmFjayk7Ci0KLSAgICBmdW5jdGlvbiBicmluZ0JhY2soKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlxuQnJpbmdpbmcgdGhpbmdz
IGJhY2tcbiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmlubmVyU2V0T3V0ZXJIVE1MKEluc3Bl
Y3RvclRlc3QuY29udGFpbmVyVGV4dCwgdHJ1ZSwgbmV4dCk7Ci0gICAgfQotfQotCi1JbnNwZWN0
b3JUZXN0LnNldE91dGVySFRNTFVzZVVuZG8gPSBmdW5jdGlvbihuZXdUZXh0LCBuZXh0KQotewot
ICAgIEluc3BlY3RvclRlc3QuaW5uZXJTZXRPdXRlckhUTUwobmV3VGV4dCwgZmFsc2UsIGJyaW5n
QmFjayk7Ci0KLSAgICBmdW5jdGlvbiBicmluZ0JhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlxuQnJpbmdpbmcgdGhpbmdzIGJhY2tcbiIpOwotICAgICAgICBX
ZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5kbyhJbnNwZWN0b3JUZXN0Ll9kdW1wT3V0ZXJIVE1MLmJp
bmQoSW5zcGVjdG9yVGVzdCwgdHJ1ZSwgbmV4dCkpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVz
dC5pbm5lclNldE91dGVySFRNTCA9IGZ1bmN0aW9uKG5ld1RleHQsIGxhc3QsIG5leHQpCi17Ci0g
ICAgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MKEluc3BlY3RvclRlc3QuY29udGFpbmVySWQsIG5ld1Rl
eHQsIEluc3BlY3RvclRlc3QuX2R1bXBPdXRlckhUTUwuYmluZChJbnNwZWN0b3JUZXN0LCBsYXN0
LCBuZXh0KSk7Ci19Ci0KLUluc3BlY3RvclRlc3QuX2R1bXBPdXRlckhUTUwgPSBmdW5jdGlvbihs
YXN0LCBuZXh0KQotewotICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgiZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoXCJpZGVudGl0eVwiKS53cmFwcGVySWRlbnRpdHkiLCBkdW1wSWRlbnRpdHkpOwot
ICAgIGZ1bmN0aW9uIGR1bXBJZGVudGl0eShlcnJvciwgcmVzdWx0KQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIldyYXBwZXIgaWRlbnRpdHk6ICIgKyByZXN1bHQudmFs
dWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2ZW50cy5zb3J0KCk7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgSW5zcGVjdG9yVGVzdC5ldmVudHMubGVuZ3RoOyArK2kpCi0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChJbnNwZWN0b3JUZXN0LmV2ZW50c1tpXSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZXZlbnRzID0gW107Ci0gICAgfQotCi0gICAgRE9NQWdlbnQu
Z2V0T3V0ZXJIVE1MKEluc3BlY3RvclRlc3QuY29udGFpbmVySWQsIGNhbGxiYWNrKTsKLQotICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCB0ZXh0KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT04PD09PT09PT09PT0iKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQodGV4dCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCI9PT09PT09PT09Pjg9PT09PT09PT09Iik7Ci0gICAgICAgIGlmIChsYXN0KQotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlxuXG5cbiIpOwotICAgICAgICBuZXh0KCk7Ci0g
ICAgfQotfQotCi19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2VsZW1lbnRzL3NldC1vdXRlci1odG1sLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODJjZTc4YTg3ZWVkYWY0Mzk1YzZhMjM3ZTAxZWQxNDc0NmI3NDQwZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvc2V0LW91dGVyLWh0bWwuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDY0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0ic2V0LW91dGVyLWh0bWwtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZGVudGl0eSIpLndyYXBwZXJJZGVudGl0eSA9ICJpZGVudGl0eSI7Ci0gICAgcnVuVGVzdCgp
OwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0
ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChuZXh0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LnNldFVwVGVzdFN1aXRlKG5leHQpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFuZ2VDaGFyYWN0ZXJEYXRhKG5leHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUwoIkdldHRpbmcgaW52b2x2
ZWQiLCAiR2V0dGluZyBub3QgaW52b2x2ZWQiLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAg
ICBmdW5jdGlvbiB0ZXN0Q2hhbmdlQXR0cmlidXRlcyhuZXh0KQotICAgICAgICB7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCI8YSBocmVmIiwgIjxhIGZvbz1cImJh
clwiIGhyZWYiLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmVt
b3ZlTGFzdENoaWxkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
cGF0Y2hPdXRlckhUTUwoIkdldHRpbmcgaW52b2x2ZWQiLCAiIiwgbmV4dCk7Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNwbGl0Tm9kZShuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCJHZXR0aW5nIGludm9sdmVkIiwg
IkdldHRpbmc8L2gyPjxoMj5pbnZvbHZlZCIsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAg
IGZ1bmN0aW9uIHRlc3RDaGFuZ2VOb2RlTmFtZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCI8aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+
IiwgIjxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4iLCBuZXh0KTsKLSAgICAgICAgfQotICAgIF0p
OwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgotPHA+
Ci1UZXN0cyBET01BZ2VudC5zZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kLgotPC9wPgotCi08
ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVz
ZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwg
RGFzaGJvYXJkLCBldGMuPC9hPi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBp
ZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2Fu
OjwvcD4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy91bmRvLXNl
dC1vdXRlci1odG1sLTItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiNjQ2YTgwOTg1NDRmMzM5Zjg4NDM4YTcyYTI1YzM2OWY2NDMyN2I3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy91bmRvLXNldC1vdXRlci1odG1sLTItZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjE0ICswLDAgQEAKLVRlc3RzIHVuZG8gZm9yIHRoZSBET01BZ2VudC5z
ZXRPdXRlckhUTUwgcHJvdG9jb2wgbWV0aG9kIChwYXJ0IDIpLgotCi0KLVJ1bm5pbmc6IHRlc3RT
ZXRVcAotCi1SdW5uaW5nOiB0ZXN0Q2hhbmdlTXVsdGlwbGVUaGluZ3MKLVdyYXBwZXIgaWRlbnRp
dHk6IGlkZW50aXR5Ci1FdmVudCBBdHRyTW9kaWZpZWQ6IEgyCi1FdmVudCBBdHRyTW9kaWZpZWQ6
IEgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IFVMCi1FdmVudCBOb2RlUmVtb3ZlZDogVUwKLT09PT09
PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9u
ZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9z
YWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyIGZvbz0iYmFyIiBi
YXI9ImJheiI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFy
ZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTx1bD4KLSAgIAotPC91
bD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09
PT09PQotCi1CcmluZ2luZyB0aGluZ3MgYmFjawotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0
eQotRXZlbnQgQXR0clJlbW92ZWQ6IEgyCi1FdmVudCBBdHRyUmVtb3ZlZDogSDIKLUV2ZW50IE5v
ZGVJbnNlcnRlZDogVUwKLUV2ZW50IE5vZGVSZW1vdmVkOiBVTAotPT09PT09PT09PTg8PT09PT09
PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktp
dCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFy
aTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08
cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3Ug
Y2FuOjwvcD4KLTx1bD4KLSAgIDxsaT48L2xpPgotPC91bD4KLTx1bD4KLSAgIDxsaT48L2xpPgot
PC91bD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6
IHRlc3RDaGFuZ2VOZXN0aW5nTGV2ZWwKLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVu
dCBOb2RlSW5zZXJ0ZWQ6IERJVgotRXZlbnQgTm9kZVJlbW92ZWQ6IFVMCi09PT09PT09PT09ODw9
PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+
V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+
U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9o
Mj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQu
IFlvdSBjYW46PC9wPgotPGRpdj48dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+PC9kaXY+Ci08dWw+
Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQot
QnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50
IE5vZGVJbnNlcnRlZDogVUwKLUV2ZW50IE5vZGVSZW1vdmVkOiBESVYKLT09PT09PT09PT04PD09
PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5X
ZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5T
YWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gy
PgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4g
WW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9s
aT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5u
aW5nOiB0ZXN0U3dhcE5vZGVzCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9k
ZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZVJlbW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09
PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0
IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJp
PC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLQotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUg
bWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9s
aT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08aDI+R2V0dGluZyBpbnZvbHZl
ZDwvaDI+PC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRoaW5ncyBi
YWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgy
Ci1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9
ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8
YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9h
cmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5
Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+
Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4K
LT09PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0RWRpdFR3b1Jv
b3RzCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBESVYK
LT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxl
LmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRp
bmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRv
IGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08
dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0K
LQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2
ZW50IE5vZGVSZW1vdmVkOiBESVYKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNv
bnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBo
cmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQs
IGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5U
aGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0g
ICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09
PT09PT09PT0+OD09PT09PT09PT0KLQotCi0KLQotCi1SdW5uaW5nOiB0ZXN0RHVwZU5vZGUKLVJl
cGxhY2luZyAnPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPicgd2l0aCAnPGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4nCi0KLVdyYXBwZXIgaWRlbnRpdHk6
IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgyCi1FdmVudCBOb2RlSW5zZXJ0ZWQ6IEgy
Ci1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9
ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8
YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9h
cmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPjxoMj5HZXR0aW5nIGludm9s
dmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52
b2x2ZWQuIFlvdSBjYW46PC9wPgotPHVsPgotICAgPGxpPjwvbGk+Ci08L3VsPgotPHVsPgotICAg
PGxpPjwvbGk+Ci08L3VsPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5n
aW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2Rl
UmVtb3ZlZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxkaXYgaWQ9ImNvbnRhaW5lciIg
c3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRw
Oi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9w
PgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUg
bWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9s
aT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08L2Rpdj4KLT09PT09PT09PT0+
OD09PT09PT09PT0KLQotCi0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRtbC0yLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExN2JhOTk1MWJlOWM0Y2Y4MjBkYjhkYTNm
ZmY1MDk0YzhjN2NhMDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8tc2V0LW91
dGVyLWh0bWwtMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzZXQtb3V0ZXIt
aHRtbC10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17
Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkZW50aXR5Iikud3JhcHBlcklkZW50aXR5
ID0gImlkZW50aXR5IjsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNl
dFVwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0VXBUZXN0
U3VpdGUobmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZU11
bHRpcGxlVGhpbmdzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXh0ID0gSW5z
cGVjdG9yVGVzdC5jb250YWluZXJUZXh0LnJlcGxhY2UoLzxsaT4uKjxcL2xpPi8sICIiKTsKLSAg
ICAgICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoIjxoMj4iLCAiPGgyIGZvbz1cImJhclwiIGJh
cj1cImJhelwiPiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUxVc2VV
bmRvKHRleHQsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RDaGFu
Z2VOZXN0aW5nTGV2ZWwobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHRleHQgPSBJ
bnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQucmVwbGFjZSgiPHVsPiIsICI8ZGl2Pjx1bD4iKTsK
LSAgICAgICAgICAgIHZhciB0ZXh0ID0gdGV4dC5yZXBsYWNlKCI8L3VsPiIsICI8L3VsPjwvZGl2
PiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUxVc2VVbmRvKHRleHQs
IG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTd2FwTm9kZXMobmV4
dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHRleHQgPSBJbnNwZWN0b3JUZXN0LmNvbnRh
aW5lclRleHQucmVwbGFjZSgiPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gyPiIsICIiKTsKLSAgICAg
ICAgICAgIHZhciB0ZXh0ID0gdGV4dC5yZXBsYWNlKCI8L2Rpdj4iLCAiPGgyPkdldHRpbmcgaW52
b2x2ZWQ8L2gyPjwvZGl2PiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhU
TUxVc2VVbmRvKHRleHQsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RFZGl0VHdvUm9vdHMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHRleHQgPSBJ
bnNwZWN0b3JUZXN0LmNvbnRhaW5lclRleHQgKyAiPGRpdj5BZGRpdGlvbmFsIG5vZGU8L2Rpdj4i
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRPdXRlckhUTUxVc2VVbmRvKHRleHQsIG5l
eHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3REdXBlTm9kZShuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhdGNoT3V0ZXJIVE1MKCI8aDI+
R2V0dGluZyBpbnZvbHZlZDwvaDI+IiwgIjxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj48aDI+R2V0
dGluZyBpbnZvbHZlZDwvaDI+IiwgbmV4dCk7Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwPgotVGVzdHMgdW5k
byBmb3IgdGhlIERPTUFnZW50LnNldE91dGVySFRNTCBwcm90b2NvbCBtZXRob2QgKHBhcnQgMiku
Ci08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5X
ZWJLaXQgaXMgdXNlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5T
YWZhcmk8L2E+LCBEYXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgyPkdldHRpbmcgaW52b2x2ZWQ8L2gy
PgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4g
WW91IGNhbjo8L3A+Ci08dWw+Ci0gICA8bGk+PC9saT4KLTwvdWw+Ci08dWw+Ci0gICA8bGk+PC9s
aT4KLTwvdWw+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8tc2V0LW91dGVyLWh0bWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2VsZW1lbnRzL3VuZG8t
c2V0LW91dGVyLWh0bWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjOWY2MGY5ZTUwMzYwNDAyM2U0NjhkZTVmMjEwNWI3NzBiNmJmYTc1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9lbGVtZW50cy91bmRvLXNldC1vdXRlci1odG1sLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDE2MCArMCwwIEBACi1UZXN0cyB1bmRvIGZvciB0aGUgRE9NQWdlbnQuc2V0
T3V0ZXJIVE1MIHByb3RvY29sIG1ldGhvZC4KLQotCi1SdW5uaW5nOiB0ZXN0U2V0VXAKLQotUnVu
bmluZzogdGVzdENoYW5nZUNoYXJhY3RlckRhdGEKLVJlcGxhY2luZyAnR2V0dGluZyBpbnZvbHZl
ZCcgd2l0aCAnR2V0dGluZyBub3QgaW52b2x2ZWQnCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50
aXR5Ci1FdmVudCBDaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6IAotPT09PT09PT09PTg8PT09PT09PT09
PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBp
cyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwv
YT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBub3QgaW52b2x2ZWQ8L2gyPgot
PHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91
IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhp
bmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IENoYXJhY3RlckRh
dGFNb2RpZmllZDogCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIi
IHN0eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0
cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwv
cD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJl
IG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09
PT09Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdENoYW5nZUF0dHJpYnV0ZXMK
LVJlcGxhY2luZyAnPGEgaHJlZicgd2l0aCAnPGEgZm9vPSJiYXIiIGhyZWYnCi0KLVdyYXBwZXIg
aWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBBdHRyTW9kaWZpZWQ6IEEKLUV2ZW50IEF0dHJNb2Rp
ZmllZDogQQotRXZlbnQgQXR0clJlbW92ZWQ6IEEKLT09PT09PT09PT04PD09PT09PT09PT0KLTxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNl
ZCBieSA8YSBmb289ImJhciIgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2Fm
YXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4K
LTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlv
dSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0KLUJyaW5naW5nIHRo
aW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBBdHRyTW9kaWZp
ZWQ6IEEKLUV2ZW50IEF0dHJSZW1vdmVkOiBBCi1FdmVudCBBdHRyUmVtb3ZlZDogQQotPT09PT09
PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25l
Ij4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3Nh
ZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZv
bHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGlu
dm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09PT09PT09PT44PT09PT09PT09PQotCi0K
LQotCi0KLVJ1bm5pbmc6IHRlc3RSZW1vdmVMYXN0Q2hpbGQKLVJlcGxhY2luZyAnR2V0dGluZyBp
bnZvbHZlZCcgd2l0aCAnJwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9k
ZVJlbW92ZWQ6IAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFpbmVyIiBz
dHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6
Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLi48L3A+
Ci08aDI+PC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBnZXQg
aW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09Pjg9PT09PT09PT09Ci0K
LUJyaW5naW5nIHRoaW5ncyBiYWNrCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVu
dCBOb2RlSW5zZXJ0ZWQ6IAotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29udGFp
bmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9
Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRj
Li48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRoZXJl
IGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2PgotPT09
PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0KLVJ1bm5pbmc6IHRlc3RTcGxpdE5vZGUKLVJl
cGxhY2luZyAnR2V0dGluZyBpbnZvbHZlZCcgd2l0aCAnR2V0dGluZzwvaDI+PGgyPmludm9sdmVk
JwotCi1XcmFwcGVyIGlkZW50aXR5OiBpZGVudGl0eQotRXZlbnQgTm9kZUluc2VydGVkOiBIMgot
RXZlbnQgTm9kZUluc2VydGVkOiBIMgotRXZlbnQgTm9kZVJlbW92ZWQ6IEgyCi09PT09PT09PT09
ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgot
PHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vc2FmYXJp
LyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4KLTxoMj5HZXR0aW5nPC9oMj48aDI+
aW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdl
dCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0K
LQotQnJpbmdpbmcgdGhpbmdzIGJhY2sKLQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2
ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2ZW50IE5vZGVSZW1vdmVkOiBIMgotRXZlbnQgTm9kZVJl
bW92ZWQ6IEgyCi09PT09PT09PT09ODw9PT09PT09PT09Ci08ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJkaXNwbGF5Om5vbmUiPgotPHA+V2ViS2l0IGlzIHVzZWQgYnkgPGEgaHJlZj0iaHR0cDov
L3d3dy5hcHBsZS5jb20vc2FmYXJpLyI+U2FmYXJpPC9hPiwgRGFzaGJvYXJkLCBldGMuLjwvcD4K
LTxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4KLTxwIGlkPSJpZGVudGl0eSI+VGhlcmUgYXJlIG1h
bnkgd2F5cyB0byBnZXQgaW52b2x2ZWQuIFlvdSBjYW46PC9wPgotPC9kaXY+Ci09PT09PT09PT09
Pjg9PT09PT09PT09Ci0KLQotCi0KLQotUnVubmluZzogdGVzdENoYW5nZU5vZGVOYW1lCi1SZXBs
YWNpbmcgJzxoMj5HZXR0aW5nIGludm9sdmVkPC9oMj4nIHdpdGggJzxoMz5HZXR0aW5nIGludm9s
dmVkPC9oMz4nCi0KLVdyYXBwZXIgaWRlbnRpdHk6IGlkZW50aXR5Ci1FdmVudCBOb2RlSW5zZXJ0
ZWQ6IEgzCi1FdmVudCBOb2RlUmVtb3ZlZDogSDIKLT09PT09PT09PT04PD09PT09PT09PT0KLTxk
aXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Ci08cD5XZWJLaXQgaXMgdXNl
ZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9zYWZhcmkvIj5TYWZhcmk8L2E+LCBE
YXNoYm9hcmQsIGV0Yy4uPC9wPgotPGgzPkdldHRpbmcgaW52b2x2ZWQ8L2gzPgotPHAgaWQ9Imlk
ZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlzIHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+
Ci08L2Rpdj4KLT09PT09PT09PT0+OD09PT09PT09PT0KLQotQnJpbmdpbmcgdGhpbmdzIGJhY2sK
LQotV3JhcHBlciBpZGVudGl0eTogaWRlbnRpdHkKLUV2ZW50IE5vZGVJbnNlcnRlZDogSDIKLUV2
ZW50IE5vZGVSZW1vdmVkOiBIMwotPT09PT09PT09PTg8PT09PT09PT09PQotPGRpdiBpZD0iY29u
dGFpbmVyIiBzdHlsZT0iZGlzcGxheTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhy
ZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwg
ZXRjLi48L3A+Ci08aDI+R2V0dGluZyBpbnZvbHZlZDwvaDI+Ci08cCBpZD0iaWRlbnRpdHkiPlRo
ZXJlIGFyZSBtYW55IHdheXMgdG8gZ2V0IGludm9sdmVkLiBZb3UgY2FuOjwvcD4KLTwvZGl2Pgot
PT09PT09PT09PT44PT09PT09PT09PQotCi0KLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy91bmRvLXNldC1vdXRlci1odG1sLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvZWxlbWVudHMvdW5kby1zZXQtb3V0ZXItaHRt
bC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGE1MmU0YTkzZjY1ODBmZDky
MWNjYmRkNzM4YWY3MGM3MDk4OGRhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9lbGVtZW50cy91bmRv
LXNldC1vdXRlci1odG1sLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNldC1v
dXRlci1odG1sLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb25sb2Fk
KCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWRlbnRpdHkiKS53cmFwcGVySWRl
bnRpdHkgPSAiaWRlbnRpdHkiOwotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0
ZXN0U2V0VXAobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZXRV
cFRlc3RTdWl0ZShuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hh
bmdlQ2hhcmFjdGVyRGF0YShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnBhdGNoT3V0ZXJIVE1MVXNlVW5kbygiR2V0dGluZyBpbnZvbHZlZCIsICJHZXR0aW5nIG5v
dCBpbnZvbHZlZCIsIG5leHQpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RD
aGFuZ2VBdHRyaWJ1dGVzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QucGF0Y2hPdXRlckhUTUxVc2VVbmRvKCI8YSBocmVmIiwgIjxhIGZvbz1cImJhclwiIGhyZWYi
LCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmVtb3ZlTGFzdENo
aWxkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRl
ckhUTUxVc2VVbmRvKCJHZXR0aW5nIGludm9sdmVkIiwgIiIsIG5leHQpOwotICAgICAgICB9LAot
Ci0gICAgICAgIGZ1bmN0aW9uIHRlc3RTcGxpdE5vZGUobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5wYXRjaE91dGVySFRNTFVzZVVuZG8oIkdldHRpbmcgaW52b2x2
ZWQiLCAiR2V0dGluZzwvaDI+PGgyPmludm9sdmVkIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAg
ICAgICAgZnVuY3Rpb24gdGVzdENoYW5nZU5vZGVOYW1lKG5leHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QucGF0Y2hPdXRlckhUTUxVc2VVbmRvKCI8aDI+R2V0dGluZyBp
bnZvbHZlZDwvaDI+IiwgIjxoMz5HZXR0aW5nIGludm9sdmVkPC9oMz4iLCBuZXh0KTsKLSAgICAg
ICAgfQotICAgIF0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ib25s
b2FkKCkiPgotPHA+Ci1UZXN0cyB1bmRvIGZvciB0aGUgRE9NQWdlbnQuc2V0T3V0ZXJIVE1MIHBy
b3RvY29sIG1ldGhvZC4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0iZGlzcGxh
eTpub25lIj4KLTxwPldlYktpdCBpcyB1c2VkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUu
Y29tL3NhZmFyaS8iPlNhZmFyaTwvYT4sIERhc2hib2FyZCwgZXRjLjwvYT4uPC9wPgotPGgyPkdl
dHRpbmcgaW52b2x2ZWQ8L2gyPgotPHAgaWQ9ImlkZW50aXR5Ij5UaGVyZSBhcmUgbWFueSB3YXlz
IHRvIGdldCBpbnZvbHZlZC4gWW91IGNhbjo8L3A+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
YXBwY2FjaGUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1pZnJh
bWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjI1Y2Y3OTJiOTAzZTgwMzkyNjE4MmNjNjJlOWY3YzBhM2FkM2IyOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLVRlc3RzIHRoYXQgYXBwbGlj
YXRpb24gY2FjaGUgbW9kZWwga2VlcHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVz
ZXMgY29ycmVjdGx5LgotCi1CdWcgNjQ1ODEKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgdHJl
ZToKLSAgICAoZW1wdHkpCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIChl
bXB0eSkKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIE1hbmlmZXN0IFVS
TDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFu
aWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgt
bWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKLSAgICBGcmFt
ZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAg
ICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVl
OgotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBj
YWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBGcmFtZTog
ZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBs
aWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9
MgotICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotICAgIE1h
bmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNv
dXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBGcmFtZTogZnJhbWUyIChw
YWdlLXdpdGgtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoK
LSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0
SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLSAgICBGcmFtZTogZnJhbWUyCi0gICAg
ICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNo
ZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBzdGF0dXM6ICAg
ICAgIElETEUKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIE1hbmlmZXN0
IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMv
bWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdp
dGgtbWFuaWZlc3QucGhwKQotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQot
ICAgICAgICBGcmFtZTogZnJhbWUyIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotICAgICAgICBG
cmFtZTogZnJhbWUzIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlv
biBjYWNoZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDog
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZl
c3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLSAgICBGcmFt
ZTogZnJhbWUyCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAg
ICAgICBzdGF0dXM6ICAgICAgIElETEUKLSAgICBGcmFtZTogZnJhbWUzCi0gICAgICAgIG1hbmlm
ZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJj
ZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUK
LQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIE1hbmlmZXN0IFVSTDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3Qu
cGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZl
c3QucGhwKQotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAgICAgICBG
cmFtZTogZnJhbWUyIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlv
biBjYWNoZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDog
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZl
c3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLSAgICBGcmFt
ZTogZnJhbWUyCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQotICAg
ICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVl
OgotICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBj
YWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgotICAgICAgICBGcmFtZTog
ZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUxCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MgotICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKLQotRHVtcGluZyBhcHBs
aWNhdGlvbiBjYWNoZSB0cmVlOgotICAgIChlbXB0eSkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2Fj
aGUgbW9kZWw6Ci0gICAgKGVtcHR5KQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVz
dHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNh
Y2hlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzBmNTMxMzA4NTBlNjkxOTQ0YzJiZWVlZDFjOTliYzNiMjVjNTZhOC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZl
c3RzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iYXBwY2FjaGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgdmFyIGZyYW1lSWQxOwotICAgIHZhciBmcmFtZUlkMjsKLSAgICB2YXIgZnJhbWVJ
ZDM7Ci0KLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5jcmVh
dGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD0xIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoZnJhbWVJZCkKLSAgICB7
Ci0gICAgICAgIGZyYW1lSWQxID0gZnJhbWVJZDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0
Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgIm1hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTEiLCBhcHBsaWNhdGlvbkNhY2hlLklETEUsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNh
dGlvbkNhY2hlKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubmF2aWdhdGVJRnJhbWUoZnJhbWVJ
ZDEsICJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIiLCBzdGVw
Myk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgIm1hbmlm
ZXN0LnBocD9tYW5pZmVzdElkPTIiLCBhcHBsaWNhdGlvbkNhY2hlLklETEUsIHN0ZXA0KTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlQW5k
TmF2aWdhdGVJRnJhbWUoInJlc291cmNlcy9wYWdlLXdpdGgtbWFuaWZlc3QucGhwP21hbmlmZXN0
SWQ9MSIsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShmcmFtZUlkKQotICAg
IHsKLSAgICAgICAgZnJhbWVJZDIgPSBmcmFtZUlkOwotICAgICAgICBJbnNwZWN0b3JUZXN0Lndh
aXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQyLCAibWFuaWZlc3QucGhwP21h
bmlmZXN0SWQ9MSIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwgc3RlcDYpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXA2KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxp
Y2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlG
cmFtZSgicmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgc3Rl
cDcpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3KGZyYW1lSWQpCi0gICAgewotICAgICAg
ICBmcmFtZUlkMyA9IGZyYW1lSWQ7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1l
TWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDMsICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0x
IiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwOCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDgoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVz
dFVSTEFuZFN0YXR1cyhmcmFtZUlkMiwgIm1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEiLCBhcHBs
aWNhdGlvbkNhY2hlLklETEUsIHN0ZXA5KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOSgp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QucmVtb3ZlSUZyYW1lKGZyYW1lSWQzLCBzdGVwMTApOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxMCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQzLCAiIiwgYXBwbGljYXRp
b25DYWNoZS5VTkNBQ0hFRCwgc3RlcDExKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTEo
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbW92ZUlGcmFtZShmcmFtZUlkMiwgc3RlcDEyKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMiwgIiIsIGFwcGxpY2F0
aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAxMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEz
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZW1vdmVJRnJhbWUoZnJhbWVJZDEsIHN0ZXAxNCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDE0KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDEsICIiLCBhcHBsaWNh
dGlvbkNhY2hlLlVOQ0FDSEVELCBzdGVwMTUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAx
NSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGFw
cGxpY2F0aW9uIGNhY2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9mIG1hbmlmZXN0IHVybHMgYW5kIHN0
YXR1c2VzIGNvcnJlY3RseS48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQ1ODEiPkJ1ZyA2NDU4MTwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNh
Y2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBw
Y2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwMzlmOGI1MmNiOGMwZGMwZmNlN2E3ZWQ5NTY3YmYy
M2UyZWU3NDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2Fj
aGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEFwcGxpY2F0aW9uIENhY2hl
IHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9h
cHBjYWNoZS9yZXNvdXJjZXMvbm9uLWV4aXN0aW5nLWZpbGUgY291bGQgbm90IGJlIGZldGNoZWQu
Ci1UZXN0cyB0aGF0IGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9mIG1hbmlm
ZXN0IHVybHMgYW5kIHN0YXR1c2VzIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzIGEgbm9uIGV4aXN0
aW5nIGZpbGUgbGlzdGVkIGluIG1hbmlmZXN0LgotCi1CdWcgNjQ1ODEKLUR1bXBpbmcgYXBwbGlj
YXRpb24gY2FjaGUgdHJlZToKLSAgICAoZW1wdHkpCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hl
IG1vZGVsOgotICAgIChlbXB0eSkKLQotRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgot
ICAgIChlbXB0eSkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Ci0gICAgKGVtcHR5
KQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2FwcGNhY2hlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2Fw
cGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDJlYTMyZWE4MDAzNzhkMDFiYzZjZmE2YjAzYmViZGRhMTQ5YzE1
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1tYW5p
ZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJhcHBjYWNoZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgZnJhbWVJZDE7Ci0gICAgdmFyIGZy
YW1lSWQyOwotICAgIHZhciBmcmFtZUlkMzsKLQotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwo
InJlc291cmNlcyIpOwotICAgIEluc3BlY3RvclRlc3Quc3RhcnRBcHBsaWNhdGlvbkNhY2hlU3Rh
dHVzZXNSZWNvcmRpbmcoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hl
KCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2Vz
L3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD13aXRoLW5vbi1leGlzdGluZy1maWxl
Iiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoZnJhbWVJZCkKLSAgICB7Ci0gICAgICAg
IGZyYW1lSWQxID0gZnJhbWVJZDsKLSAgICAgICAgLy8gV2FpdGluZyBmb3IgYXQgbGVhc3QgdHdv
IHN0YXR1cyBldmVudHMgbm90aWZpY2F0aW9ucyBmcm9tIGJhY2tlbmQsIHRvIG1ha2Ugc3VyZQot
ICAgICAgICAvLyB3ZSBhcmUgbm90IGNvbXBsZXRpbmcgdGVzdCBiZWZvcmUgbG9hZGluZyBhcHBs
aWNhdGlvbiBjYWNoZS4KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5lbnN1cmVGcmFtZVN0YXR1c0V2
ZW50c1JlY2VpdmVkKGZyYW1lSWQsIDIsIHN0ZXAyKQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RV
UkxBbmRTdGF0dXMoZnJhbWVJZDEsICIiLCBhcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVELCBzdGVw
Myk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBrZWVw
cyB0cmFjayBvZiBtYW5pZmVzdCB1cmxzIGFuZCBzdGF0dXNlcyBjb3JyZWN0bHkgd2hlbiB0aGVy
ZSBpcyBhIG5vbiBleGlzdGluZyBmaWxlIGxpc3RlZCBpbiBtYW5pZmVzdC48L3A+Ci08YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1ODEiPkJ1ZyA2NDU4
MTwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLXN3YXAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBw
Y2FjaGUtc3dhcC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2
ZGU2ZDZkM2Y4Mjk0YTNlYTU5Yjg3YTlhY2NlZmZhZmZmZTJlZDMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtc3dhcC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxv
YWRlZDogMQotVGVzdHMgdGhhdCBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBrZWVwcyB0cmFjayBv
ZiBtYW5pZmVzdCB1cmxzIGFuZCBzdGF0dXNlcyBjb3JyZWN0bHkgYWZ0ZXIgVVBEQVRFUkVBRFkg
ZXZlbnQgYW5kIHN3YXBDYWNoZSgpIGNhbGwuCi0KLUJ1ZyA3MjEyMwotRHVtcGluZyBhcHBsaWNh
dGlvbiBjYWNoZSB0cmVlOgotICAgIChlbXB0eSkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUg
bW9kZWw6Ci0gICAgKGVtcHR5KQotCi1EdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6Ci0g
ICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hl
L3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCi0gICAgICAgIEZyYW1lOiBmcmFtZTEg
KHdpdGgtdmVyc2lvbmVkLW1hbmlmZXN0LnBocCkKLUR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUg
bW9kZWw6Ci0gICAgRnJhbWU6IGZyYW1lMQotICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5p
ZmVzdC5waHAKLSAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCi0KLUR1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgdHJlZToKLSAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKLSAgICAg
ICAgRnJhbWU6IGZyYW1lMSAod2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwKQotICAgICAgICBG
cmFtZTogZnJhbWUyICh3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxp
Y2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3Qg
dXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy92
ZXJzaW9uZWQtbWFuaWZlc3QucGhwCi0gICAgICAgIHN0YXR1czogICAgICAgVVBEQVRFUkVBRFkK
LSAgICBGcmFtZTogZnJhbWUyCi0gICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9hcHBjYWNoZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBo
cAotICAgICAgICBzdGF0dXM6ICAgICAgIFVQREFURVJFQURZCi0KLUR1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgdHJlZToKLSAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvYXBwY2FjaGUvcmVzb3VyY2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAKLSAgICAg
ICAgRnJhbWU6IGZyYW1lMSAod2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwKQotICAgICAgICBG
cmFtZTogZnJhbWUyICh3aXRoLXZlcnNpb25lZC1tYW5pZmVzdC5waHApCi1EdW1waW5nIGFwcGxp
Y2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1lOiBmcmFtZTEKLSAgICAgICAgbWFuaWZlc3Qg
dXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy92
ZXJzaW9uZWQtbWFuaWZlc3QucGhwCi0gICAgICAgIHN0YXR1czogICAgICAgSURMRQotICAgIEZy
YW1lOiBmcmFtZTIKLSAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCi0gICAg
ICAgIHN0YXR1czogICAgICAgVVBEQVRFUkVBRFkKLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9hcHBjYWNoZS1zd2FwLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9h
cHBjYWNoZS1zd2FwLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3YjJiYTkw
NmI1NWI1Yzk2ZWQ1MjNhNTc5MmFlMjM1ZGJhNzYyMmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtc3dhcC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iYXBwY2FjaGUtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgZnJhbWVJZDE7Ci0gICAgdmFyIGZyYW1lSWQyOwot
Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2VzIik7Ci0gICAgSW5zcGVjdG9y
VGVzdC5zdGFydEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZGluZygpOwotICAgIEluc3Bl
Y3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNyZWF0
ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhw
Iiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoZnJhbWVJZCkKLSAgICB7Ci0gICAgICAg
IGZyYW1lSWQxID0gZnJhbWVJZDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVN
YW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgInJlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZl
c3QucGhwIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRp
b25DYWNoZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJy
ZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocD9jb21tYW5kPXN0ZXAiLCB0cnVlLCBzdGVw
Myk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3dpdGgtdmVyc2lvbmVk
LW1hbmlmZXN0LnBocCIsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChmcmFt
ZUlkKQotICAgIHsKLSAgICAgICAgZnJhbWVJZDIgPSBmcmFtZUlkOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQxLCAicmVzb3Vy
Y2VzL3ZlcnNpb25lZC1tYW5pZmVzdC5waHAiLCBhcHBsaWNhdGlvbkNhY2hlLlVQREFURVJFQURZ
LCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUoZnJhbWVJZCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJh
bWVJZDIsICJyZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIGFwcGxpY2F0aW9uQ2Fj
aGUuVVBEQVRFUkVBRFksIHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7Ci0KLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zd2FwRnJhbWVDYWNoZShmcmFtZUlkMSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDEsICJy
ZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwg
c3RlcDcpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3KCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgYXBwbGljYXRpb24gY2FjaGUgbW9kZWwg
a2VlcHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5IGFmdGVy
IFVQREFURVJFQURZIGV2ZW50IGFuZCBzd2FwQ2FjaGUoKSBjYWxsLjwvcD4KLTxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyMyI+QnVnIDcyMTIzPC9h
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvYXBwY2FjaGUtdGVzdC5qcyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL2FwcGNhY2hlLXRlc3QuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZTU1NzdlNzllMDFiMDQ2NGI0NWE2MGY3
NjRkZjhmMWE2ZjQxNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUv
YXBwY2FjaGUtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIxMCArMCwwIEBACi12YXIgZnJh
bWVzQ291bnQgPSAwOwotCi1mdW5jdGlvbiBjcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSh1cmwpCi17
Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAg
IGlmcmFtZS5zcmMgPSB1cmw7Ci0gICAgaWZyYW1lLm5hbWUgPSAiZnJhbWUiICsgKytmcmFtZXND
b3VudDsKLSAgICBpZnJhbWUuaWQgPSBpZnJhbWUubmFtZTsKLSAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIHJlbW92ZUlGcmFtZShuYW1lKQotewot
ICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOwotICAg
IGlmcmFtZS5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9u
IG5hdmlnYXRlSUZyYW1lKG5hbWUsIHVybCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiIyIgKyBuYW1lKTsKLSAgICBpZnJhbWUuc3JjID0gdXJsOwotfQotCi1m
dW5jdGlvbiBzd2FwRnJhbWVDYWNoZShuYW1lKQotewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOwotICAgIGlmcmFtZS5jb250ZW50V2luZG93LmFw
cGxpY2F0aW9uQ2FjaGUuc3dhcENhY2hlKCk7Ci19Ci0KLXZhciBpbml0aWFsaXplX0FwcGxpY2F0
aW9uQ2FjaGVUZXN0ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3BlY3RvclRlc3QuY3JlYXRlQW5kTmF2
aWdhdGVJRnJhbWUgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRl
c3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLCAi
X2ZyYW1lTmF2aWdhdGVkIiwgZnJhbWVOYXZpZ2F0ZWQpOwotICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVuZXNjYXBlKCciICsgZXNjYXBl
KHVybCkgKyAiJykpIik7Ci0KLSAgICBmdW5jdGlvbiBmcmFtZU5hdmlnYXRlZChmcmFtZSkKLSAg
ICB7Ci0gICAgICAgIGNhbGxiYWNrKGZyYW1lLmlkKTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRl
c3QubmF2aWdhdGVJRnJhbWUgPSBmdW5jdGlvbihmcmFtZUlkLCB1cmwsIGNhbGxiYWNrKQotewot
ICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mcmFtZUZvcklk
KGZyYW1lSWQpCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibmF2aWdhdGVJRnJh
bWUodW5lc2NhcGUoJyIgKyBlc2NhcGUoZnJhbWUubmFtZSkgKyInKSwgdW5lc2NhcGUoJyIgKyBl
c2NhcGUodXJsKSArICInKSkiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSwgIl9mcmFtZU5hdmlnYXRlZCIsIGZy
YW1lTmF2aWdhdGVkKTsKLQotICAgIGZ1bmN0aW9uIGZyYW1lTmF2aWdhdGVkKGZyYW1lKQotICAg
IHsKLSAgICAgICAgY2FsbGJhY2soZnJhbWUuaWQpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVz
dC5yZW1vdmVJRnJhbWUgPSBmdW5jdGlvbihmcmFtZUlkLCBjYWxsYmFjaykKLXsKLSAgICB2YXIg
ZnJhbWUgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZnJhbWVGb3JJZChmcmFtZUlk
KQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInJlbW92ZUlGcmFtZSh1bmVzY2Fw
ZSgnIiArIGVzY2FwZShmcmFtZS5uYW1lKSArIicpKSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRk
U25pZmZlcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1l
RGV0YWNoZWQiLCBmcmFtZURldGFjaGVkKTsKLQotICAgIGZ1bmN0aW9uIGZyYW1lRGV0YWNoZWQo
ZnJhbWUpCi0gICAgewotICAgICAgICBjYWxsYmFjayhmcmFtZS5pZCk7Ci0gICAgfQotfQotCi1J
bnNwZWN0b3JUZXN0LnN3YXBGcmFtZUNhY2hlID0gZnVuY3Rpb24oZnJhbWVJZCkKLXsKLSAgICB2
YXIgZnJhbWUgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZnJhbWVGb3JJZChmcmFt
ZUlkKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzd2FwRnJhbWVDYWNoZSh1
bmVzY2FwZSgnIiArIGVzY2FwZShmcmFtZS5uYW1lKSArIicpKSIpOwotfQotCi0KLUluc3BlY3Rv
clRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9y
VGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVRyZWUoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBB
cHBsaWNhdGlvbkNhY2hlTW9kZWwoKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7
Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGVUcmVlID0gZnVuY3Rpb24o
KQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5nIGFwcGxpY2F0aW9uIGNh
Y2hlIHRyZWU6Iik7Ci0gICAgdmFyIGFwcGxpY2F0aW9uQ2FjaGVUcmVlRWxlbWVudCA9IFdlYklu
c3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLmFwcGxpY2F0aW9uQ2FjaGVMaXN0VHJlZUVsZW1lbnQ7
Ci0gICAgaWYgKCFhcHBsaWNhdGlvbkNhY2hlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKSB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgKGVtcHR5KSIpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXBwbGljYXRpb25DYWNo
ZVRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciBtYW5pZmVz
dFRyZWVFbGVtZW50ID0gYXBwbGljYXRpb25DYWNoZVRyZWVFbGVtZW50LmNoaWxkcmVuW2ldOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIE1hbmlmZXN0IFVSTDogIiArIG1h
bmlmZXN0VHJlZUVsZW1lbnQubWFuaWZlc3RVUkwpOwotICAgICAgICBpZiAoIW1hbmlmZXN0VHJl
ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiICAgIChubyBmcmFtZXMpIik7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgfQotICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG1hbmlmZXN0VHJlZUVsZW1lbnQuY2hp
bGRyZW4ubGVuZ3RoOyArK2opIHsKLSAgICAgICAgICAgIHZhciBmcmFtZVRyZWVFbGVtZW50ID0g
bWFuaWZlc3RUcmVlRWxlbWVudC5jaGlsZHJlbltqXTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIgICAgICAgIEZyYW1lOiAiICsgZnJhbWVUcmVlRWxlbWVudC5kaXNwbGF5
TmFtZSk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuZnJhbWVJZFRvU3Ry
aW5nID0gZnVuY3Rpb24oZnJhbWVJZCkKLXsKLSAgICBpZiAoIUluc3BlY3RvclRlc3QuZnJhbWVz
QnlGcmFtZUlkKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmZyYW1lc0J5RnJhbWVJZCA9IHt9Owot
ICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mcmFtZUZvcklk
KGZyYW1lSWQpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIGZyYW1lID0gSW5zcGVjdG9yVGVz
dC5mcmFtZXNCeUZyYW1lSWRbZnJhbWVJZF07Ci0gICAgSW5zcGVjdG9yVGVzdC5mcmFtZXNCeUZy
YW1lSWRbZnJhbWVJZF0gPSBmcmFtZTsKLQotICAgIHJldHVybiBmcmFtZS5uYW1lOwotfQotCi1J
bnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNUb1N0cmluZyA9IGZ1bmN0aW9uKHN0
YXR1cykKLXsKLSAgICB2YXIgc3RhdHVzSW5mb3JtYXRpb24gPSB7fTsKLSAgICBzdGF0dXNJbmZv
cm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVEXSAgICA9ICJVTkNBQ0hFRCI7Ci0gICAg
c3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRpb25DYWNoZS5JRExFXSAgICAgICAgPSAiSURMRSI7
Ci0gICAgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRpb25DYWNoZS5DSEVDS0lOR10gICAgPSAi
Q0hFQ0tJTkciOwotICAgIHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuRE9XTkxP
QURJTkddID0gIkRPV05MT0FESU5HIjsKLSAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlv
bkNhY2hlLlVQREFURVJFQURZXSA9ICJVUERBVEVSRUFEWSI7Ci0gICAgc3RhdHVzSW5mb3JtYXRp
b25bYXBwbGljYXRpb25DYWNoZS5PQlNPTEVURV0gICAgPSAiT0JTT0xFVEUiOwotICAgIHJldHVy
biBzdGF0dXNJbmZvcm1hdGlvbltzdGF0dXNdIHx8IHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0
aW9uQ2FjaGUuVU5DQUNIRURdOwotfQotCi1JbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNh
Y2hlTW9kZWwgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1
bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Iik7Ci0gICAgdmFyIG1vZGVsID0gV2ViSW5z
cGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX2FwcGxpY2F0aW9uQ2FjaGVNb2RlbDsKLQotICAgIHZh
ciBmcmFtZUlkcyA9IFtdOwotICAgIGZvciAodmFyIGZyYW1lSWQgaW4gbW9kZWwuX21hbmlmZXN0
VVJMc0J5RnJhbWUpCi0gICAgICAgIGZyYW1lSWRzLnB1c2goZnJhbWVJZCk7Ci0KLSAgICBmdW5j
dGlvbiBjb21wYXJlRnVuYyhhLCBiKSB7Ci0gICAgICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LmZy
YW1lSWRUb1N0cmluZyhhKS5sb2NhbGVDb21wYXJlKEluc3BlY3RvclRlc3QuZnJhbWVJZFRvU3Ry
aW5nKGIpKTsKLSAgICB9Ci0gICAgZnJhbWVJZHMuc29ydChjb21wYXJlRnVuYyk7Ci0KLSAgICBp
ZiAoIWZyYW1lSWRzLmxlbmd0aCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ICAgIChlbXB0eSkiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGZyYW1lSWRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciBmcmFtZUlkID0gZnJh
bWVJZHNbaV07Ci0gICAgICAgIHZhciBtYW5pZmVzdFVSTCA9IG1vZGVsLmZyYW1lTWFuaWZlc3RV
UkwoZnJhbWVJZCk7Ci0gICAgICAgIHZhciBzdGF0dXMgPSBtb2RlbC5mcmFtZU1hbmlmZXN0U3Rh
dHVzKGZyYW1lSWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIEZyYW1l
OiAiICsgSW5zcGVjdG9yVGVzdC5mcmFtZUlkVG9TdHJpbmcoZnJhbWVJZCkpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBtYW5pZmVzdCB1cmw6ICIgKyBtYW5pZmVz
dFVSTCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIHN0YXR1czog
ICAgICAgIiArIEluc3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c1RvU3RyaW5nKHN0
YXR1cykpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVS
TEFuZFN0YXR1cyA9IGZ1bmN0aW9uKGZyYW1lSWQsIG1hbmlmZXN0VVJMLCBzdGF0dXMsIGNhbGxi
YWNrKQotewotICAgIHZhciBmcmFtZU1hbmlmZXN0U3RhdHVzID0gV2ViSW5zcGVjdG9yLnBhbmVs
cy5yZXNvdXJjZXMuX2FwcGxpY2F0aW9uQ2FjaGVNb2RlbC5mcmFtZU1hbmlmZXN0U3RhdHVzKGZy
YW1lSWQpOwotICAgIHZhciBmcmFtZU1hbmlmZXN0VVJMID0gV2ViSW5zcGVjdG9yLnBhbmVscy5y
ZXNvdXJjZXMuX2FwcGxpY2F0aW9uQ2FjaGVNb2RlbC5mcmFtZU1hbmlmZXN0VVJMKGZyYW1lSWQp
OwotICAgIGlmIChmcmFtZU1hbmlmZXN0U3RhdHVzID09PSBzdGF0dXMgJiYgZnJhbWVNYW5pZmVz
dFVSTC5pbmRleE9mKG1hbmlmZXN0VVJMKSAhPT0gLTEpIHsKLSAgICAgICAgY2FsbGJhY2soKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBoYW5kbGVyID0gSW5zcGVjdG9yVGVz
dC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cy5iaW5kKHRoaXMsIGZyYW1lSWQsIG1h
bmlmZXN0VVJMLCBzdGF0dXMsIGNhbGxiYWNrKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNb2RlbC5wcm90b3R5cGUsICJfZnJhbWVN
YW5pZmVzdFVwZGF0ZWQiLCBoYW5kbGVyKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5zdGFydEFwcGxp
Y2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZGluZyA9IGZ1bmN0aW9uKCkKLXsKLSAgICBpZiAoSW5z
cGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzKSB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcyA9IHt9OwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3Rh
dHVzZXNSZWNvcmRzID0ge307Ci0gICAgZnVuY3Rpb24gYWRkUmVjb3JkKGZyYW1lSWQsIG1hbmlm
ZXN0VVJMLCBzdGF0dXMpIHsKLSAgICAgICAgdmFyIHJlY29yZCA9IHt9OwotICAgICAgICByZWNv
cmQubWFuaWZlc3RVUkwgPSBtYW5pZmVzdFVSTDsKLSAgICAgICAgcmVjb3JkLnN0YXR1cyA9IHN0
YXR1czsKLSAgICAgICAgaWYgKCFJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNl
c1JlY29yZHNbZnJhbWVJZF0pCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9u
Q2FjaGVTdGF0dXNlc1JlY29yZHNbZnJhbWVJZF0gPSBbXTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzW2ZyYW1lSWRdLnB1c2gocmVjb3JkKTsK
LQotICAgICAgICBpZiAoSW5zcGVjdG9yVGVzdC5hd2FpdGVkRnJhbWVTdGF0dXNFdmVudHNDb3Vu
dCAmJiBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50W2ZyYW1lSWRd
KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0Nv
dW50W2ZyYW1lSWRdLmNvdW50LS07Ci0gICAgICAgICAgICBpZiAoIUluc3BlY3RvclRlc3QuYXdh
aXRlZEZyYW1lU3RhdHVzRXZlbnRzQ291bnRbZnJhbWVJZF0uY291bnQpCi0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hd2FpdGVkRnJhbWVTdGF0dXNFdmVudHNDb3VudFtmcmFtZUlkXS5j
YWxsYmFjaygpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1l
TWFuaWZlc3RVcGRhdGVkIiwgYWRkUmVjb3JkLCB0cnVlKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5l
bnN1cmVGcmFtZVN0YXR1c0V2ZW50c1JlY2VpdmVkID0gZnVuY3Rpb24oZnJhbWVJZCwgY291bnQs
IGNhbGxiYWNrKQotewotICAgIHZhciByZWNvcmRzID0gSW5zcGVjdG9yVGVzdC5hcHBsaWNhdGlv
bkNhY2hlU3RhdHVzZXNSZWNvcmRzW2ZyYW1lSWRdIHx8IFtdOwotICAgIHZhciBldmVudHNMZWZ0
ID0gY291bnQgLSByZWNvcmRzLmxlbmd0aDsKLQotICAgIGlmICghZXZlbnRzTGVmdCkgewotICAg
ICAgICBjYWxsYmFjaygpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFJbnNw
ZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50KQotICAgICAgICBJbnNwZWN0
b3JUZXN0LmF3YWl0ZWRGcmFtZVN0YXR1c0V2ZW50c0NvdW50ID0ge307Ci0gICAgSW5zcGVjdG9y
VGVzdC5hd2FpdGVkRnJhbWVTdGF0dXNFdmVudHNDb3VudFtmcmFtZUlkXSA9IHsgY291bnQ6IGV2
ZW50c0xlZnQsIGNhbGxiYWNrOiBjYWxsYmFjayB9OwotfQotCi19OwotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJj
ZXMvbWFuaWZlc3QucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvYXBwY2FjaGUvcmVzb3VyY2VzL21hbmlmZXN0LnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMGI5ZjhlZGI3ZTBlZjQ5ZGRmMmJjMDY5ZDUzODZhM2FhNGNmODQ5Mi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD9waHAKLSAgICBoZWFkZXIoIkV4cGly
ZXM6IFRodSwgMDEgRGVjIDIwMDMgMTY6MDA6MDAgR01UIik7Ci0gICAgaGVhZGVyKCJDYWNoZS1D
b250cm9sOiBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVyKCJQcmFnbWE6
IG5vLWNhY2hlIik7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvY2FjaGUtbWFuaWZl
c3QiKTsKLQotICAgICRtYW5pZmVzdElkID0gJF9HRVRbIm1hbmlmZXN0SWQiXTsKLQotICAgIGVj
aG8oIkNBQ0hFIE1BTklGRVNUXG4iKTsKLSAgICBlY2hvKCIjICIgLiAkbWFuaWZlc3RJZCAuICJc
biIpOwotICAgIGVjaG8oInBhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0iIC4gJG1h
bmlmZXN0SWQgLiAiXG4iKTsKLQotICAgIGlmICgkbWFuaWZlc3RJZCA9PSAid2l0aC1ub24tZXhp
c3RpbmctZmlsZSIpCi0gICAgICAgIGVjaG8oIm5vbi1leGlzdGluZy1maWxlXG4iKTsKLT8+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBj
YWNoZS9yZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL3Jlc291cmNlcy9wYWdlLXdpdGgtbWFu
aWZlc3QucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDhkYzA3NTM5YjQxMGRh
YmU1ZmFmZGUyNjEzMGZhNWE0NWVmYzExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2FwcGNhY2hlL3Jlc291cmNlcy9wYWdlLXdpdGgtbWFuaWZlc3QucGhwCisrKyAvZGV2L251bGwK
QEAgLTEsMTMgKzAsMCBAQAotPD9waHAKLSRtYW5pZmVzdElkID0gJF9HRVRbIm1hbmlmZXN0SWQi
XTsKLWVjaG8gIjxodG1sIG1hbmlmZXN0PVwibWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9IiAuICRt
YW5pZmVzdElkIC4gIlwiPlxuIjsKLT8+Ci08aGVhZD4KLTwvaGVhZD4KLTxib2R5PgotPD9waHAK
LSRtYW5pZmVzdElkID0gJF9HRVRbIm1hbmlmZXN0SWQiXTsKLWVjaG8gIlBhZ2Ugd2l0aCBtYW5p
ZmVzdCAjIiAuICRtYW5pZmVzdElkLiAiLlxuIjsKLT8+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNo
ZS9yZXNvdXJjZXMvdmVyc2lvbmVkLW1hbmlmZXN0LnBocCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2FwcGNhY2hlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZl
c3QucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDc3OGU3MjY5OWE1ZmU1ZDA2
M2I3MGI4MTUyMzg3ZWI2M2U0NmQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Fw
cGNhY2hlL3Jlc291cmNlcy92ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisrKyAvZGV2L251bGwKQEAg
LTEsMzQgKzAsMCBAQAotPD9waHAKLXJlcXVpcmVfb25jZSAnLi4vLi4vLi4vcmVzb3VyY2VzL3Bv
cnRhYmlsaXR5TGF5ZXIucGhwJzsKLQotJHRtcEZpbGUgPSBzeXNfZ2V0X3RlbXBfZGlyKCkgLiAi
LyIgLiAiYXBwY2FjaGVfbWFuaWZlc3RfY291bnRlciI7Ci0KLWZ1bmN0aW9uIGdldENvdW50KCRm
aWxlKQotewotICAgIGlmICghZmlsZV9leGlzdHMoJGZpbGUpKSB7Ci0gICAgICAgIGZpbGVfcHV0
X2NvbnRlbnRzKCRmaWxlLCAiMCIpOwotICAgICAgICByZXR1cm4gIjAiOwotICAgIH0KLSAgICBy
ZXR1cm4gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwotfQotCi1mdW5jdGlvbiBzdGVwQ291bnRl
cigkZmlsZSkKLXsKLSAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7Ci0gICAgICAgICR2YWx1
ZSA9IGdldENvdW50KCRmaWxlKTsKLSAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICsr
JHZhbHVlKTsKLSAgICB9Ci19Ci0KLWlmICgic3RlcCIgPT0gJF9HRVRbJ2NvbW1hbmQnXSkKLSAg
ICBzdGVwQ291bnRlcigkdG1wRmlsZSk7Ci0KLWhlYWRlcigiRXhwaXJlczogVGh1LCAwMSBEZWMg
MjAwMyAxNjowMDowMCBHTVQiKTsKLWhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUsIG11
c3QtcmV2YWxpZGF0ZSIpOwotaGVhZGVyKCJQcmFnbWE6IG5vLWNhY2hlIik7Ci1oZWFkZXIoIkNv
bnRlbnQtVHlwZTogdGV4dC9jYWNoZS1tYW5pZmVzdCIpOwotCi1wcmludCgiQ0FDSEUgTUFOSUZF
U1RcbiIpOwotcHJpbnQoIiMgdmVyc2lvbiAiIC4gZ2V0Q291bnQoJHRtcEZpbGUpIC4gIlxuIik7
Ci1wcmludCgid2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwXG4iKTsKLT8+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hcHBjYWNoZS9yZXNv
dXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvYXBwY2FjaGUvcmVzb3VyY2VzL3dpdGgtdmVyc2lvbmVkLW1h
bmlmZXN0LnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODU2OTAxZjQ5M2Y4Zjk1
ZDllZDIxMDIyYjkzM2Y5NzQxMTZkZmM1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9hcHBjYWNoZS9yZXNvdXJjZXMvd2l0aC12ZXJzaW9uZWQtbWFuaWZlc3QucGhwCisrKyAvZGV2
L251bGwKQEAgLTEsNyArMCwwIEBACi08aHRtbCBtYW5pZmVzdD0idmVyc2lvbmVkLW1hbmlmZXN0
LnBocCI+Ci08aGVhZD4KLTwvaGVhZD4KLTxib2R5PgotUGFnZSB3aXRoIHZlcnNpb25lZCBtYW5p
ZmVzdAotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3Jlc291cmNlcy9hYmUucG5nIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3Jlc291cmNlcy9hYmUucG5n
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTMyNTM2NzM0YTkyNDY0YTNmNjU4Yzhh
MmQyOTZkZDZlZmRhZTUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDEyMjQyCnpj
bVcrKzJSTjFnN3E8eW4tR3BSYispNzlpbEQpMUZMaVRvekJ4R21INHBEYTJsXnNIfGw1eHEtYHFe
WiE+P0U4Mgp6PjNANmhKVXk9V3pWRyooJnBJYnVUfXw7S0lUSlleOV5PVD9sQUk+fFJEbXlSRzZN
THttM304MmVxMy09KHRDbDIKek17KClqN2R+RmZkaj5vX0hheFZQdzNmJkZYV3E4PCUqJnFWLVJ1
QVVgUzgxWXZTS35MSzczSHBRMGhweSlmVndnCnpSUGtEQyQpKT19aUp3dHtFRXkzNUAmUTx6O3tz
eEdBKnJBKj1nbnlLRTI/Skl3d0RXPnVYUi1Oez5ud2gmMmpPeQp6OGFhMD97QGg8KlhGakt2e0lN
MjBjX191WnBYNTJjVSpwQG08QHEhNW9BWTc+OChBRShqUTElK05NVGAwRUBLRWcKem5ocXlHaVIl
K20pais1WTl5fVFvaWs9cnplSlkkdmk0JFJfUVhSQ2JPeVRWa1BMMFo0YipyMGxzQiQmUnZyV21o
CnptRGRvN3pDJFVTVjVQMTdPIXo4SnB0aHVfQFJ5NjJYZihYQnUjaH5FRXJKNmxBZWBFUnNXM3hV
aG5LOHZ4WVo1Vwp6bUdPNCVpbmxwY1VrTGZuVVU7ViZRekpsV0c7JEh3PWJDMXZtdGUqYWYmS1J9
RjVkWm9pa0tIc3A9TztgamxrK0EKenY8NXZCUERNb292VDVDaipEUDRyQGVvcVlNcyskPS1KeUoz
SXg/eyNqMXpGSHlTRFcoUEVPLXB1QzApMjFAREI3CnooRD1wfEVERWxePXpKbTJscHpGKjNOaDt3
ZFI4Jl5OJDNEUk9aNj5vREdmeGpxPUowdm0xSj90NVlLWHRNM29kUQp6Tn5zJURGfXJeZCk/UDg/
Rmt2cSZPKFBLSVIoRmY2eHZeMklRdmFDe1EoPlZYcjNDe0NlZEBBamA+Un5ya05RUEoKeiYzTykw
UnxRK3ttMkc9NEdaTG9mN1ojY145RWtTd2g3bDJSNHN2cH4tNEY1SGN5eHMjRDdCb0lCRGtyKDlx
R2lgCnpGbHx5Z2F5PXJARXhycnhubFojbEVLUilrOSNmUThlTSNYQmhkPmkpejA0ZihVVztWVV5r
cSskVVR0a3s0TWc0NAp6cmdJSVAhKE5xfmdZTnkjdWtBIShEYERVMURtWVR3PEVSQihvdiZ6WGNX
aXZUNSEte1lDYCZAM0A4Nz40RXtFOzYKejVsS180bm4+JWdecD9uQUJZVHJOPHVLd311VHlsSmw5
UDt9dDZiTTNBNVVIKjAmQTE8VTRZWDVINVBTcFMpTWtNCnpBZUxeM09OPn1fcDQwciQocVNQbVlD
WkJJZyV0MF9NRDRCJiZ5Nzg9aUAwamYtS0NkWF80fF9OeU9KU2h1VylBUgp6JVpkdkJVTGhlTkdp
bX1aYnlITjVhdkYjb01tWmBFZGFYbihOLXgybkkwMT5LO1ojNXFnKjdCeS1VKnwqTGQqSHsKeldi
VHQqSEVIXkNhbCtCLVl4QVRHJCErdDh0XkI/X2ArbiM5P3ByQHlNVlFOVUthU2FCMWUxR3VkTVlh
YGB9X05DCnpnZ1NTPnZYTnp9cW5OMz4lSE1ZX1FzVGxDdlorRnx3UWdMRmxzNmlnYT03PFNLSko0
JDNQRE4yJldFfmxIZlBkSgp6NnlhWkhyZ0whUnJWTm8xI3p4eWlDJjl8KiR7fC1Ta3hgJklQNXFG
b2tGflk2bzEyQGhaTzhvMSFSYzlqe1I2IU8KeiFUYEtCcjxYNVo3OGFKMm1YNnB9eTQ1YHA1JUQ8
S28tSG1lWmYldjxPUTI+Sm5RXllzZEdoMyp1JnwzIWo2eWFSCnpeOz9gaiFrbX0+PmF9YXY3I095
Xz5VfHFuP3xkZEY+SX15M09RMHcrSnh3JiFHMDJmVFRIKW1WSV5fXjVDY1A8fgp6VDBHX09HJHE3
dT1UN3V8TUM7c0lYK3NIMHghIXBIKDNgbX03LXlFeiVoVG9UPyFHQFdsaTQ8WkorVWlYanc0b1MK
elZmWE9vUGgoeHZHRj5SdU1RMjc5P1N3QFNhZiFRaz9+MDNlMyNkcUI8a15tST9lQmBTIzxXNEpx
OVMlWSNGP1U7CnpuZSowYWRBczczVE5qO0lZbUpMX3ZXRUpJSVZqMkstSn5mIUJ3eHsjJUR4d1FO
MklnIUleNXk7XkN2fnhNa0FOeQp6WkgxVjBVQTQ3Q0xxZntPPn5GO1hfTnNzSTtLQXdYPkQxS0pr
ZSV5YDdjWlZhPVp7eGpiUVdkRWdNUlg/RzVsZEUKenNGd0c1V1kxREN4b2dxST1uN0YycmViSnE0
XnkkYT1oZ1E4YDtZZ2N5Qz1LN2s9UFp0SSM7Nyprc24rODc2Y0prCnpzcEY1MklhbTtuQ2xtPWpi
TnowXytrUX49PmppVkBQJCNDTTw+fmJaZihBeyNNQWlwaE5Ia3JXbGdIcXklaXE2JAp6O2ptO3Ip
c3xIMC0paGs8an1EZUdnT3xKZTImTXVgZkdtMDBeQitiez1we156azFIZVRjNldDeERrYFE9SHtH
ZE8KeiM3Rkhhd154Kk5JTEhXTS1gdTQhckRmTVgmPkg/XnNEc3o8UC1UfGlsRXQyQlJpWEZ3IWoh
X3Q9VCNGIz59RSNGCnpJUmtUWmJLflJWM2sjT0AjLVlxTjs+bms2dDB0flQqYTxObWRWZjwjdWBM
S3Zhej0xU0cyO1pOTFMrJUhfUUkpMwp6JFh8TyRTK2IjMkVhRzhgX3RWcj0yTXpoSSVuKzV5N0ZF
MCZtVTdNciFvVF5rRVFDIUVKdXxlbzJhampXcH5eRnoKelhHZEtGRi1tRVF4OCgxNEdvSmhwdjB4
azF5bzM3MTB8cTYkSTR3akR6fX5LQk9qezdjc0VyVV5JTUt7KUVrcjx9CnpGN0tTNG9NPj9iSTwt
Mm5hKHY9V2Jmb3Z5UVkkP15gcEJ6U3VNJnlQN2dXZGNjQiRwUG9wRUpqc0cyWkJBPTtIPwp6NHxF
WVRuQz9yYVp9Sih0PV9uTDZ3Q2JpeGhVezkrVzNsPHMoYX5QQEtrWGBpP1RJekJBVlAoMmkoTWQ8
Tn5gOTEKeitEZmpZc0tXY1VhVTReVCtgSWc/MUYxUn5oZVhGfDYlRWIhNT0pYlg7YCshISVxQVZ+
e1NIeWluY01MJiZHfiU2CnoxWWxYNm1mLVRfKSF0cThHbzIhMFFRMzhkbEVLeDx1YHhZZS03cTxo
Syg8Q2xSNzhZQWNEITxNcWZ2eyhZa0dJdwp6TFBuc2c0aDZTKTN2JWJjdUNsaFdhPiR8VC0mdDtp
YmZWKnM1Z2YwXj4/JHF3eGNpY3E1QTc8SXdhOFhaN3s4THQKem49ejBgUU9eSyo7N0x0SlZlP2Io
SndJRkVrQFduJSg2Tyt2dShGY2h5TD1OdHpVUCVETT1ga19JcU9nMG1aS15hCnpJKEVzQ2hmSm5v
PzNKPm1BWSlBMTt+VmlKKFlxZXYjWDMpKUtjfipCOUo4azxDKzZVdzMlamZPU1VZfVJxKkBMZwp6
WFBVcWdsVUctRns5bk9pbVk2biZEcj4+eVAtPDJfZXR5fDkrS2pCU2FeNzk+RSQ1bjxQKz8oVi07
O1MoY1gjKm0KemoqT0VJc0R3IWVfaitUVnFpe1hiZlhwSn5gJWdyU2VVSWlKZ3FSZiQtRHVMMCRT
NTdORlp1WktLZkFqR3N1eXVLCnpMUUdLI2d4T19TWWRYcGMmMzN9NjI+Rlh0Uks5QmwoX1J+dUJM
bzVkZ1I3USRVa3YmRi1RYlYzYCZhbWx6azJSKwp6VFg1U3s+aH1teGhUXmk7eWI4MWV0TVk4Y2wy
dkBTbkBENG88UGg/cXhFKy08KH5ITVlkdlVHME8/Yj92ZkhFSDkKejgqVyRtJlVXVjhNb0xXLTg8
RVlTa19hTXZvelNvV3lHbG9jJXI5PHI4fmV2RypZM001YnRlfVQ2cXBLeFo0PEFOCnpsTFZGTitJ
eEZASjMyYWdkIUlhTUlNT2NHMFd4ME84KCFOMz10UmZXKjQ5Rm9JMmFWYEBFY1pkRlFxO1khSUBS
eAp6VVBDc2xoK0t+X0ZCPkp8ZEsxalBoRj9gdlMtSDI8Iz4jKXxtU356OXZSZHZEJkF4c3l7WmRU
Y197THZUZmZjd2sKenYjNmskbkFxTEJtIWxOU1BFNXU4RkZNYH4jbSgqP0h5ak8+cztSMCpNTVc4
WF8xR0RGQj5BalR6ZzxtQmAmUFUlCnpecXtzamdCa1oqYmx6WkBFK3V1UGBMKSskVig2NHl5fTlX
TiRpXnF5K0NYdFBNaldjUGUlOE8tYD13MXVrIX09Kwp6VCVtVU9aKlh2YSYrN3BUXn1FNk9vai1l
ZnVDQXsyZjUpRiU1e3BKIz07PFVaWThEe0toJHdNdkA1ITdPT0ctKnUKelBpOUVyQE97cnVfeFgp
I3dmR1c9clRjYDZod1BnQ3BIPyNVP21gJj5OT15tfFhNMUQpRTx2IzNhaFJRQ012RFA1CnpJT3Zr
Szk9KHVPdX0rPWVgUHR2VSFue1ByITBgYXw1IWx7azNMPTZzVTB3IUMxckZOOHVHWmJKNkMwWj1F
NmBtegp6bnJJckxeeVMlNU19diZzJn4zdG9XKyYkU09RfTcldyZSSzR7JXwhK085fjEpQEJKRk9A
NG5leUp+PVh5KnQ8Kl4KejtFelFpPGdaOGs5PCREbnsqOUNfYHwtQj8lPn5kI2FeY35+b2RAYTVT
cjZsbyYrUDR5YlFlVVB3aFBkWlFCcVN3CnojbEVjbj1eXzRlWHNGZmNKcldJUTkqMCFGSStNI3hN
VmRoVXJPPWtDVUFrcSFYU0I3dms0ZTFWa1NgS0BGI2ZiTwp6RG13YVg3bzxTXiVfcXReYmFFU3hC
RVItKE9WKk5BbWl9JWAwQSl5SSNIalJzNjFifHY2dT9Da2JKcnFkNXhEd20KekpFa0k3cmZKbkJj
aEVMe2BQQkVrcktQM2dFbCp1dDlXNzUjbFBMOzhLb19XSnJsJktxcjt1JHtIRX4lVS0/eT00Cnpg
KTtFVlBKbzYqVWdQdGFlWC02JThscTVLemBeUzdWUEYlUkdhfCV7P1VgTnpkayEzbiUrbHYlTkJ4
VngzdFdodgp6elA4MntmYnUlVV9wR1JePnZBJD1xc2lDMHBfVyUrVCpAbHBlR3ZifFNrIXFUdFpt
K0AjJkV9aipfPncoUzNFMCYKensrV3ApWnlIM1Y7KlJXNkxNRipnV1RsK3pyaUBHNzlVVlY0Ryl4
T24jPGFhdjtXcUt2KDxUIzdSKn5AaFpSelZQCnpAd1AqVj43cUV8OWgxenhYWTR8TUd2cSRNWWQx
cDNxbXJmXnM2JWx8bVE5UHlfdVk3enFSTSUlaFJlfVZuPzhBRQp6Nit+eWdAbGlMekFINjE5b01e
QCUtYjs4QG5uRlFRayh5T3Z2Y0RnbigxS3dwJkhibWVgR3FwVlgrbGNRIz13d30Keih8TFliKVVO
ZDtGRlBCTnZ9NF9yPX1tP1o9Xzd1MDlCLUZmOWI2OUEtNDt2VXlwVCFFNSk7WnN4PDx+RkFUJlpB
CnpjY0NAcDxGdnIqWntOT007ISU0WTlzT2x1PEx2Q3J1MlNzSW9qVlU2VCNJWjROfEI8WWQpUjR0
V2NwV1U8JT92OAp6Xj5GO2gmPyQkdXMtUHllSU91QkEmO0lLT2RGZHd4azQlc20rO3FNbnN1ZzBR
TWZtfkcpNzB7Jjk3eGFxOHlnYzkKejZKdyR6dX12e0hIVT51RjxtQU5SYUlzMzNSI3NkWXlgMVdv
KHFtX0lvaX0oeUVDKldKbillQ3skcSYzezhVcXxmCnpSMEp0JG54WWhCMlpoamFETHZmaTdtbChr
SCV3X3hpOWVwSnNCbTZzUXQzMG1WP3hKPy1NYDxQey1FeUxId2o1ZQp6enZVbGtHRmdwSWxTUVQ5
IyUrV1c1KSorayY4YShZSEJ0ey1TJXUqJGpkZHlZNXtpWmpiOFQ1LXRVV3dMNyRgWUQKem5ofUp9
IzRHMkYrM1ZiaFNJRitTN2Q5eFM0KyowcjQ1bzM4WlJJdV83a2h2cmJJQ0k8PD1qX3ZVVSNkNWlA
alh3CnolaERgeCpfbXNWJEApfVIyWSRkdVYqMi1RWFRmQUcxVGg7ZXskel5TVEo3MD9re0BQKkM7
JC19JW90RD4wWTI5ZQp6PFpMZno3JmhFcTAlPmRBN196ST5ES2N4MHpfUGkkamxgb3laUXQxP0JG
cEw/YypFUDMmJn5FKW8rRWJwc0NmRjwKeiU4Skx5IUVLJHgtLX0lbjZCOXQrNmNpTW9LWT05Pzdv
TURueD5jJmhtSFg/R3dhaHctcjJTQ0hFfn5HSDJPc05LCnpXNWBHMjI4RFplaz97XzVYOGNMMEIo
Znx+Qn1BfTRVT08pNzB+UkhiKFRrflFucWpPNjFXKlRzZXNwd3sodGBuSAp6Qm5nVVBjYCFhUGFv
X3UzYH1nblArdU0jcE9zeFpyNiNBPTBKflE4U2I8eFA8MnlGRyNyZF8zNyNoNlQxLX0qVykKejU/
NXw3bkIyWCpUVVpEKEEmOFYoNkc2PCo4Mz9BJlFSS317KGplJiZHWFZhdExnLXhmNjd3PiRfeipQ
VnVyU2pfCnpyQUtpZVQqU2F4R0JpNVpvWGopQERhTm9rRig8MCFmeU4kOWk7dXNZVjNucTN0KkEp
NEJFdzZNeEBeY3gmKz1SWQp6bFNDck1sVGNHJD90RmZCcz19U1U8fFVTPHUrU0xUQitGTEc+M1V5
Vitle3pOQ0p4RGQxLXZHNm48ejd0MkxpK3EKemtJWWc4SG9wKzZGdHZ4PFR2c0F2ZFVTTVVieWR7
c2s0P3B4M2luJDgoaCpsRk0xbUVWKHQyWVBlU0kpPEt3X2gxCno3UW03VGkheGRNU30jb0VYcyVn
WXIpaVhDJig1PjApaFV7KWY0VG9YPlQwc2Vfa1U3JEVGZDV0RH5tbSZjVnVrcgp6ZzdWZU1XdTJt
NjU4WXhOQWRhcmBLMEQxbktyZ24rV3hEVUk3KEVDTlpfcEVHRzR4WHFDWihvIVZKaEloamZ7PWMK
ekdjcmdPd2wrNSVEKW5hX0p6bD03KDx2JF9PekI7WVl7ZUU5SGxCalA/bGdLfV47U1NmPCFaUVNA
OXY/dUZSMHJXCnpGRH11N0NnSmNscWpAOWwlWW1rJkd8PC1lVytifSlaZ0FHSXo1S20kNG1+fFJp
LWZvQ2pyaVFXSlRQTlFPe0gybAp6bmtZPGJ0bnxLZkxWdmlzeGdwVmtleE1Bb0NANT88OD1ITDFm
fEVhYWwyYm9faFJ+NytzYERsNENBOHwoI1BxfSsKens4ZHBgMnojdTNIKHZSZmc5RXt8Wk9XR35V
eHd8NHVoNyRIZXMtdzNQZVRTS0RMcC1YWFVGTFN8RipPR3heaGxqCno1MmdzTHl7QDY1QShSdlFY
UjVuJk5VV31Fd1c0MGFZYHZ3UExOck4zVEd0fUQqTkZ8UFU+Tnt0NzZ5aUQqUnxvYQp6YHxnP1U1
RFJHQ3o7fnRYZCZKaFo5NEdXbVR8WEM5WGs0MTglJSFjM0A4Vih2MT45OyppdyomTz1NI3F2TkNo
TXwKekgzMms4T2lhdVdfbmRSQ1N6MjFzKGF+fFBGJShOOThDaURgMTRreHR2TXA7IyROJWtNWmdp
QlAmMXVOKXZkMS1JCnp7K0twR2wyX1AjZCpQekIrTDUpKEA7amdiZk5ANGpqMyQybXtPZVYocStf
WSlBZV8zZ0VhaC1vUT4ma1MkS3R4KQp6VGVoVmc0PSpuLUA/ZT04QGlJcTJ1THdVd09wdzJqaUpF
WntnRSEtNXg5aGdQLVIkfXUlSWNmYzF2MjNzN1I3THsKekdqN09FOF9+TTRAaGskMT9PeiFsKT1e
WWM2a3ZGQCM8N35pTXBtcUlHcUowcXtDJFV8QT5ULXVNSHw/SyQ7dFBxCnoyPnluWGF3UGdtaTZN
UzNmaipebFlSaGJJe21ySCM5WiRPeTVfPHE/eVVLQytPRT07TlQoOFoxJDVlITRsezY2SQp6TURg
Y250d1Q4cEZgY0dPQUV0cGUoWWdgTHcle1VtSikmXlBQRG5NVlRgbUYpKDJMcFRWM1lIczV1UWlz
LXBndDMKelAkbTc7R0pgSWw8dHBfWmV9SW4rVnF7e3tII1FFVElRZjM+OC1BUEBST1hvZFoqZi1n
OzcwZFkjTDJEKmRRZDF8CnpAazBmMzghZCtUcCkpfFkzaXN8ejZKaCRZYlpec2JqJTdLP1NHZHs2
eXAtSVk/cndqQ2d4fWY4QG03TmdVbWA4Wgp6VURhSyRkY2VaYyhrPHh6Syg8VTlGMCRzSClPKkN6
UWc+TzlZfDhKMVE9ZUh8aHlEd2Y5dGE0JD5BfTQxdW1tYjQKekFfIUF5aUB4QD5ZR1QmJDtHeE5w
V35JTFQkMW1nJVElc35qfEpJPmZOSmQwWStsaVAxcVg8d1lMbU1xMTF3bzktCnpfTSFLb2NSR15V
JEglQTF2flBMMGI+NjhPWWJtSCNJJiM3MCRNU0FEWnclTytuMyRrPWUpPnFZSmgrM1Blajl7dQp6
V2JQXjt7bn5KYDkwei1aYFNhKGN4d2ZrPU9uZDlQeXV5TmxiTmsybCNsI0BvMEJRISVkUkczTWZo
OVJ7cXZ6ZjwKemF4fXV5TU0/STtVJjcxZkBUI2tPKmIqajAtcFUoKy1SQWNIYWsjdHVDfCFKUFhl
aWo1PjlWV0hjWUVRO2FkZj9MCnoxN3NWV28jZCp9eChyOD9jOXByZ3t7JlZjMkFEen1eeyM3P2tk
KjRaeE0jVTg/fms0eV9RdkttZz1gSkkxa1R0bgp6Qj5GZ3xxdWd7TnkmVDsrNUgwNlNFTWs/PHky
OThuNE9WfC1jJGpRSE01U31wZ0BZZVJyP0NqNmVHJjxFU2dTZEkKentVNlBHPE1XbTU3O3N4KV5P
UClvZUNpdC0mSlQ5eF5WSEpwc3dOSi1qY0pKVFJWdjFhZTVJNXtAN35vJEE+aTxOCnpjekNxNj5w
Z2NkSWh4V05sOzd8Y0dJX2dEcFdiVEckSUhLTmBrU2BwdCQ2UCMyNjxXTHZ5P0Y5RDNuSXY8d2hw
ZQp6S2BiaXBGQGFZSVFaRkhAWlR8ViE5VEcjVT8welkyM2w5JGxicnYoPVAoWnN5PU5lTjFBaUV1
SyRpWHR+NWEzTnUKelpAR3dSa1ArQH1JKlI7MEpaV3Jmb1M5KzYyPj03R3QqekNUej0yOFpQcmd1
a3N2JF5fb1MoWDNeSTw1NnF7aEJkCnpnVHF7alMpYTtgaWp0QzkrKFJIPElVcDU2M2IocD97bypo
QnctVVJFX2NtOG9KczBEamRePWc+aHAzUjM5JClWMAp6Xzt+a0ZUeDFWcTVWJSl9RzZ3Uz12NUdq
KHRuX0NxJXs3KkMrT3klWHxCXipjZVVjI1F4K3dfKDBmRjFNb3pCbUUKej5aVSp5RllYXlZ1fE5S
aEM8NGFAYTVsMldXJVZkLWRpMUJxe0tkPnEqNXdqeFFrb0JDMlZReWZPLXd7KXh3eUkyCnpQQzB5
NExlZzFTU2IkPUF4emw+KClZcT4tM3dTZXk1O2dCITE1Ujt4Y28rYTt8SiMwakxCYUtnPjg7JkVz
WTVkJQp6Qk97fnlzPCQ2aTZCWiUpQChgeT1GSVB2Y3VkbG5meTgzSzlITXo+akQ5dCZ5dz5CYnVv
aVN3QXQqKmJzJSZQQyUKel52VGphYm9AbGhjJFVee2YzcVoyfDVvJGMyPWUtYXhrdzFITj1tUnlS
a2dNSEQxQD1eO29AQG9POXlqdmZ+U21CCnpwJihQcmJYJU9rYmU0S0EtVVBXYFNtXk5WUzxqQ2ox
aUNAQDI8ITx5PEwkPU84ZkV1YFVjWShzQ1VnYClNVGtiUgp6NGlNOSRONDxha2U0Z0hWcVA7Z0NC
WThIX2FCNSZRcUxKclZWK2ctdiF1YFZSWTd+aWRAaUU0KGc4ZEMxSWdYYkwKekUjcSEyIWttbHgp
dCE4WXd+TFJMN21qVF5fPT5Ua1NRX1kxSUJTcVNxKlRtT0dpdXkjU0dNckVWd0gyQzU8IVJeCnpm
NH0tMTl7YmRrayUpRjJvc3xDdnZTTCZ4TlNWI2UlfkhTOUg3S05qcSRxYEt6a15VZUc4PU4wZjB7
dVpeQF8mLQp6QCpsN0lfS2RLQmEoe2Z9RHxQTShgRjFrZ3h9MnErUFRZcnlzXl5oZDVwaSpHUUJo
RzVrKzlFNl5WTEhgTHh6MCYKeiVAcTdeU1krXnw8VGIjXjR2Jm1ucWYqUyM0QTZjbHA2KCRZP0x8
dk0jMzNge2B0aE1laEtaMzt6MVFCYXNIXnYrCnpjSGIkMyN3OWdUUE53fDZ3MWczMEBJRzhqakE1
MUItMHw+VnJRTXp9K1EwYjU+eGVAYUtWYWgxcFpaVXtrQERrWAp6VzdweztlSCRke0JrXzRhMTIj
MV54eiRDUDJiZUxLYFYmZDd0Z25DZEpDX2pxX0RNSDhJfiNRP2tRfmA3VzFQYHAKenNpbSEmSCZ8
M3UxY3JUamEqfjt1YEord3xEMkE+NUl6dkExSjJZZ09HIWhVfntgIyl+OSFWM1FsRCE0KjJWbzFZ
CnpldyZLckR7P2V3I1B6cWdyNkx5fkshY18+azNlPVVJLW1ZZFk9QjVjeHtGR2tCOUxASjJUWiRC
RXojRjZXbn0+Wgp6VlRPej87JnczeDFfc2N3bmd3N2o5alpWX3lqUWFwWENke0tpVk9jclM7VVZY
NyMtQ1dWT0J1d2MtMiRsR0g8X1gKenBebV8rJTxUSEBgQWZ3U0BpMVZWVVY/WmpiYDxZYjxlKVZn
a3YhU1BKKDR7QTFMeS1XREhlcllnNTw0WSUpVVVZCnpgMzlWRCM+b04/OTt6e0RgKno8YjVJUWVD
OzJRbXZFMlNuNEMyTH1LLTJoJnVybHV8fj87TDtlQnxiIzcweH1sQwp6bkxRQz1sRERKc0BXMCtA
XmNXTk9iejBYXystVU5TM0xSNGNrMTw7cSMwMDE3KXs9elU+fF9NRzthIVJSRik9WnIKekdGZ15f
fEE2XzNTTDJDUGZ9X2FFdmZ0VHF4WkdVbip7QFA+MzA3WGxhcFImUGJ1NElrYy1xRkxSU14zP1BC
SzN+Cno1NE9nKmJpWHRIWDBQUEF4RHVoJXhsQzUobml3OyRHQUdQQXZ+QzE9bWd9PnM0aiR2M01x
VikkUT16cFhWVWM4QAp6R19MbkB3WTl5RnlhMGt7YkUqI0ZocFNRRm8xMj9LTCRqU0lXQ3kmKjZK
PH1TMjkqSzIxdC1UcjhgKDw2TyF6VHEKekVqPX5XTGVJXzdRR2g4NUxoem1jem8ybD5fZXs9UlEz
eitUR3plbFhFSTdlbDEmflppWjw2cVl7enB3NChFaj52CnpJYD5CU2NZXmlpaW5zY2dhUkx3O3w1
K1hVfEdOJTxUWWJgbzc8anwmYDFJYFgmQCUhbmFkdXo8OzVJIT9vZG5MSAp6ZXxrNjE/PGpCVT4r
VFFlRkpTUDdGSkp4KzgkNVMpYkpJantxM0tvI0s2X0pCUUFKPnJseWkqelBGKmRSX2N4fj0KekJO
bHRsKV9aLW9fSSpxOUBeflBsa2pkKXIqRmVXZk1hcTJuQFU+VUJUflI0NjcpeXdiI2dNMHRPJWhW
U0l3UEQ2Cnoldn1aU15ARF47PkgzTVVxLUpxUE0rZit0bml8YFJ2Q2hUYyNSZ1N4dj57TSk1dHt+
WjRhR0g7dWUmIUs4JTU5aQp6cDZ6Q3dQZmVkMUolN0ZocCNsNkoyPz5kQCpEOUFaTypHMmB1cDtW
alVPN1lsKTVpdEZnTU9PPj97QmZPdzkrKDwKek5CRWA5TE1+a3hBYGZtbFYhaEBVY1FDVGxSPkph
XkpjMjI3S0FAQ0VtP2ZNUytRSD8talhSMm5PR3YwTzlya2dCCnopUHt8JEolSW5HO1EjNyledjlO
bFJXWHttLXhVYnY0Qztqa0NqZEEtZWZHRU5lMilMait8JT1yXj9aal9IakMhSAp6czA+QWR0JjdY
JnFOMURoayRlMDVgK3hwYVBkUilQZEVhMVclYmo7P05aUTtUQXdUeGhZd1pARFhnZWpsQ2Y9M2IK
eis/X0ZPbGBzUlNkXiNlaEw2cGAlSDNlR2VRJDxENHUkc0lecFpMeHF6dSkxPjtWekhiYDwyYmor
I1draF5fQHVtCnpaYEVKRXhCO19Sdl8pRzlDV0V4MnltKm5BMEFJdmQxMkxRNjxfQDliUmA/fko/
YD5AJFV1TmBhU0l+PH5qT256eQp6cFRBUX5KVT80ezk9OHowUF8oZzFGLSY8KEZIZGBVdDVAUWZ2
WjB3SjdoKmk0NXpiZ0xVbHxROGNyR0MyYG0rX0sKemxqcGp+JSVLQWMzKU5JcVJNZ2FyWWg0Ty1k
REhLXko2S3ZHUStxO1cqa1F0VTVjU0l4TmhlTHklPjFTakUyaXt1CnpeWlkmMWJHTntVNHwhdCUh
K0NRZHkySyUkJnlERU0tQG9aJXVEX3JjVTxSVTcjUHReS2cyKnFfPWNVS1ozVCFXYwp6JGQkK2x5
JGFaNyR8ZGI0clRwJl5HbG1AY29vfTU3T2FUcUhKb2YocXY0b1A+X3d8NmxZamlSUXN+MGtrMjY+
cVYKelZ3SmpxUSgtYiZyME5PSlFWay1ObWF1RExjc0BjKipIfkVfMDhpeUxZfE04S1ZINV4paUBU
e2trTl5+RDM4P31LCnpDaTBzbzN7ckgqbjxhckZrbUktd2FvUiNWdC1NQV5YejBYLW4+WSYkV0lV
ITxVMmE2Z0RJdmpYTlg8NGpuUj07UAp6YlQlSXVhOVFlKDhAMEVfVldONnRTI1hVejQ0NmJSN3M2
N1l6QSgoWVdjPEZxNldedDcjeT91aXlONU0zcUUhPTkKemdNKmpDPD0mdmEmcFc5T21YRUN1Mz1E
dzVxe0pOelNBRHgyKn4lajZgKkY8KyR+US1JYm80e3ZGSlFSMEpkYUBKCnpBcmlmfHpLKFImdyZh
bX1EQmFTUno+VVBNUG5EXjhffXkhfEJTREBPTGlDc3BHbjFrSTd0UT9eQTx0ZzRCKGUjMwp6d2Ra
QSZ1KC1TMm4qcCNoU0BReUh6bSspZWBMQUVVUEVOaiN0b2lIPkohJHdgUyZEeFBxR3pFMTBJQiVw
ISRjRWIKem1gNXgtaX5jRnU3TX0oZ0JjM0ZiJnJUOUopOEc5Snw2VEJMbTcyOSo5OWhUKklrWSRS
dnJVeld7cFFAO3JhQ00hCnpKUDdqWjVnY2dFP0VhTnN6dmV1Qkp3NWRodHI9JjNeMSNsbHVDM3du
Z2l+Kl4jUTZSMDtCbCl2b3BQVCg/UkBnQgp6eWI1QSFlVGpAbUlodEFPRH1iclNyU30qcEFyVypg
QDM3UHl7MCFtQTtHaz9fO3dNazdDYGc4R002VHBqKjBORiMKentjXlFRIUJwbiREfHcjPDZudk1u
YjtgblYofnY9N3o8ZG17MCRabHZha3spZld4eSolTHRaQmJQR0NNcCkqeEVWCno9elhOM2E8Wloq
JDs4NkttKUs9UGpZaVN8ejNwI0pFOGV9WmZyWDFFeiZzWG0hUm5mdGE0TUdRY31SVUhzYnw8VAp6
YE08RVVtNitTdGpfRzU+ciNoUFRaPko5bDdTRFpRcy01MkFOMDZoMmdQNWd7OzhePUkxJSFwY3Bw
Z2VSQEFnVzkKekVDPDAwTkREQzQtbVdCPT57NFR4cXEofSZsbHNyJTlYJTdhMj5ETUI1MEJkOC0h
NEVaajUhPnQrVTlxKFpkNnVSCno+bFNGMG1eMSg9T0ctI2s7aVR5WkpGRTFJWVlxOFMyT0hVJjxX
fT9RSmZpWEBHSWlzJmBWeVhmU1NhMSZKWWwoWAp6Sm1QbWM7diF9UXhCVCpAdzFSMkNITEE5b3JD
JGZlI3R2OFdHOVpwVitZWGhLSkN+JWxeNkAhczNMLXJ9WmFCWGcKekYqaChraGotRVJsMXJYdWZq
NjheXiReNmNxJERKTClsMil3RmNgSmNnT3BVRCU/VEM3aFduaGRjPCRMUilUNGp0CnooJUspVGxN
bENnQ2JtbzU+VV54TWhAWnR+c2dyZlJQV3VGUVYqdmo2KTVgSWRtUkcwPDcheUsqMG5pOCROPzFN
Mgp6Oz1ybmp5OyEwb3NEfXxLITMqWHAkUUl4c1JhR3RUY3tRQnZtRypYYk9TIT00eVFeaGpBUHp6
aUlTdn5eTGVAaWgKejs/SHd+S0Zjeks3RGF+fG4yRlhxb3lCV255ZXUwbXJtfj5ZVCNUbTIkQTFC
Syg/XzE0UE09PjNtIXJndWoqcDlaCnpZfG1Je18+Zz1Jb3RxNkhCbl5gKzhkPWw1dDE9SSQ2VUs7
ZyZGcTg/Zlp3Xk0wdFlgfFppJU0tNyVfZlhUdjJnSgp6P3EkJnNobColJnYzNXZIUTI3Vk5ATiM/
Q3RufXpGM250ciQkQiFSM2ZSfldnUiEzO19DQ1g7MCpCSmhzbmdYaT4KemZofUEtQ0FZWT13NSF8
QFBRYzVIQVY4fCNfKSpeQXNCUEd2NyVXUFF8MypDSUxmd25icG5GRTJGRkFfOVAqOWxLCnpnN2hh
ZWNkNzUqTz5KIXg7TTBjYm4zS15QdlVBc3Bhaz1kWTdYKXZ2dD97ZVR5YHQmZTErJGl0bG14ZEZr
WlQoKgp6TjEpIWN3JiE0UDU1aEFnX2VJVjctZW42dDtXUlpeZiV4aG16fGVBcndDQlRUP3tsY3Fh
MyZJZnRPa3J3NkVpfnkKent1c29FTUFFdT9kZVNXXj5GSjt4MUtCfE5UYzFRWll9UnFTe2R+SCli
eW5pPVcjbzIzXiEwTSRXe2t0UCk/S2lzCnpWJEU9PzF6UCRoQ1dgbVBRKylsV1cqT0dxVVBAJDst
VX1HRXV6d3xFZHJ8NDQ4cj5xM0lERFhXUCNRciZGZTlRZwp6cUdFNnRPI2JTIThpeiZZWGtMJDNY
MjBZam1pRWF5Pjw9VG00PEd0flZjPHlHbntxWGRHZVRKZCE0JXFgP3RaWHMKenJrN0F2UlJ6aDhT
XmRtXjQ3K2RlaUpaKHdoWl8qYHZyNzBsYHwhcmtGeFA7cFB7ezY2aDt1WlpsYDBDdktTfWdFCnpP
Z3ViMWdsQVg7NEVWfjRwZGowYlAmIUAzbnpod3tYUDEpOW83LU9JMSZ6YF9pSTg5ZykzV04lcEZm
d0NOJFUtfgp6UCNzaCtsS1c0KHNyTUktPH18Wk5EZlIoTloofTIjVFozNGRUNmYwbk40R3tOQ1cx
fk0jKGg5X1pmXjEhPyMjYFoKemB9dioySlAjVklLTCFMTTNgKG1IZUtJa3NDRT1KJGFuWj0wTXA8
PkV8OSpqdlFkRGUlWTVxU2t6UHJAWmFHMlVxCnpwaUAtTm57N3NHclBETHtxU3pvc3MpSiQkN0Ri
ZjQmQUo5U0hAMEFaRGgmIz9JZWBKJWo7KypKcjZGMXVzcjVaUQp6MCYxQXNJcTIpX2daaFIxMGJX
cTxGenVNZCE8KkE5IVVkbGJ7bExyUmt8eT9MYi0rOTNmKkB7VTxMe3cmclU5KFcKejtBVDx1a3Yq
NzhzYXFGNVRKIXBGWjc8eyNHJGxFTzVGOW1IVj15dlZaX0x+PFoqRXpHeWFuVzBiLUBUUytHaW55
CnpDViYxXkwoKFBrOEFacihLKCN+dTA9NnUmKWZ7I2k+ZjFqJGpBZGhAWm9TSntaU19iSXl4bT1S
Y1JeVEVeMUxHQgp6XnJJbWtJMExtdWs2PGNFdl9kcEg4PGBATHs5cUZYblo8NTRpdHBkUUtSTWZQ
VjJ4fUk4eWRBMmV1by1kNj1Fe2YKenBzPVokdSg1KXtpdyY5TDJrPHFBLWUtVWtmb3YqfDkpWk1F
USZhbzl6aDhtT0RnT35yeylXdl92TCk7eTRzWVV1CnpmI1Q1V1Rxe0kzZ0lvSzY3TGJPNnBGaitK
YEVLMEZZWntjd1VaO2RfZzI3O1pgV3xscGF8VXR7QFooZWI9aiE5Kwp6TUMtfXVZdHhmblJ6dmNZ
QDxiSzVMNU5CNntJSXR2Ulc0aU9kKnxTKyUma3s2Oz1fOzdkTCp4SGF4YG1QUnRGU1cKemVUYW13
eShHITllPmNZYVQpdHNKUGU+SihCWDl5VXVIVjBaS2J4VUduKm1sJE8tPTElbzYqI0BoZDIyZzNr
JEcpCnojSmk0UHBtT1A0P2xtaEpUNj9IMWhTajliP09EZTRQflNAaE9pUyQ3a1FqWWltWUlOQG9F
JEpDQ2Z+ZG5IT2h3VQp6cUdEcFFKKSh+IT0pP1poYHlVNGxhTSUrTztPaXdFQTBNQnUjR0l8SGs1
JWs+VTg3fFUtfnAzJk9GQ2lrPX0zdE4KekF+PVBWc1JTQy1rWnBffnZ2P2k5JWIpYV9AV2ghZno5
bjR9XjdAQ15BSWQ2OFcoPVNvZ0tEQVpZaW9+SWBaP0Y8CnpMa3ZpaHE3fH5pJCQrRFcmU2ErQStT
bVlEcSVNSnlzaFc2fSppe0tWU1cmUyVgSihwfXhZQkRqXyk2aFdWUFQ8Zgp6THhYLVh3OG81dD5m
bmoqY2AoSjV6Nlc5UWlrcyQxRkIjREVHTn5JRTlxbnpOajlUQnB2dHFtTGYldGZEPjl1S2EKelNg
ZHVWZWV+Yzs0PEEwUEYpWm5+WD42VShNS3klcld9a2J7VW9GO0lZWXpUNT1tMU0zQDJZfV9wS0hr
MXVzM1dWCnotc2B1VUl4USFQY2RIeUdDcFRxbXlKc0NDOGpGIVFCNkRPO2VfZF4zIStZVShPRDdy
WXZGSUZyUC05QTdeX3ZDUgp6ZCViRHx0NFRebzBRaTVyXjZBcj91MHszRTs4TT1DMkxlNmBSKFpM
KDFPYSZZUTgwMik7P0MmSmVrVW1gezE7TS0KejI/IXJkNzVidT1fbTY9eFZZIUJsaFYzZX5aT1lr
OTVPdHJNLUpPWiR5U3RmMEA5dVN3QW19RUZgX2wjV3NEPzJ0CnpTVzh0Mm4mXmkpbiE+NV88O1VC
enhaPmhscmxAP09lbihWUjR+N3NgSSVFZmR8SGpzcTxjcDxsYTQ5OCpITldCVQp6WWlrM0B7RUtf
c3Ird1U9byN9anVydnlkKmAoUnZ9SnhKZ1YoRms8RlI+UWUoZmZtUGhGcXl3VT5HKzU3Xm5RYjwK
eit0IVItVn5vNkExbTBMZmU4Yng2Pmd3YHhmfV5CS0dBaC0oP2lPV0IjJXVAflFefVEyX2gwXjlo
ampFMUQyPENRCnplOUw/SktHKn1PXiZITGMrWWZYOHpzQEpHKGZBYk4pelhuamtjYCZXX3dMPWgl
X3c0YlY2QSUlfExTTTEqMVlhMAp6JDQ5UXt4RkBnMno2STVmIXFTWWNreF5QfERsUCUjVilJKShD
VztWPXJTVGBSa0Z3Nj4hYypPV2MyIWU1VFFvVzIKenN3R3EzMzMqRiZCJil8JTZsOF8le2BIYGk9
N0tucUh0Zj9wUTVucXYrTGB2ZCVyKGhNRy02cmYhe0RrNF9sd2diCnpTYnU/Kz5ubTVwZlY1P25V
ekYpaClOM3t9MiUpRyMzOEBJTFZUPzwhcShqZ2hZdEVmeVc5cmpRLWNLPGVmUyVqPgp6XlhDdDJp
QlRacEl+Y1g5WkZXfn4xPlE1ZUZQRClPcn5XYl8zQ3I4SD5mIX02NjkpJGUkbFdYfjI9YEBiTmJW
bioKenRzdnhLcl5AQTRlaiQwZ09sbXhfVUlJKXMmU3FLOVgySVJ5bUM0Rz0/cyRBdk5BZEZXZ1Z1
c29Hd2BGYXY5YW8/Cnp8M0MhMFk0bDlLWnJuWkRuNWF0YVMoP1IjIWZKIVJOV2ZzNWtnQlkzV1lr
KndyT2YpVV9oZDJabWorSkI7eFFVOwp6XiRpUk55WDRkKypASjF+V0xLNmpjTWc3ZilraD1uTnFj
eTItR2JjJHRCTnRudncyQmhwITRhaVVRMG8kJj4rVlIKei1BRVUpKCste3QxYkh5KkZaVEM0TEND
KGtZTWMyPmlwPiMqa28hTWhLOEhDb2VQcSpCWGUxU0dUeW0mYG5aT0tiCnp8RkVJfjZ+VFA+dikz
VXR2Kz1wTV5iPSFPdTNYdWdaZkdia2hzbGlnRjBXfFp1P0R2ISRRQD9OJkZCUW49PXJiNAp6VGxj
clYtbm80eyVYYSthPFljUE85VXN9KEN5KGdIWSUpcGpVRVRPdjx1Ryo9YkFDWExLJVYrYWlXd2wk
b3RBPVcKelg9eWN2UkE9WnJrOV5wNUl8V2o9WCFOeVRSTlZkPHg7NDZBQC1MQVo5Wmt4fWZMdXpC
dVVHSEtKR1NUfkhlSXxZCno7dW15ZHU9eXtSZjFKKmNPMEtNfEsjJk5AN3pyKik0JlJGTWhqPDVk
MEVAPihXbnpaY210aE1zVVlZb0VkUnAydwp6NTJNZCF4THkzSzlDRVQ5SX0kcWgqeGE2cVlpSmlz
JCtMcmJMJXpmZyVSWSZvQiVYWWw7ZX0pYl5iUmdEdnhkOyoKel8jZWxSMmdBSCtraW5hUVBPVllA
XlFnc0pVSyh5SW1peXwoST5nZmN6ZCF9JllGLWE5Z0dCe2hSdDkjdjgqKjdSCnpXZ0AjdXZYZUEj
VE17bCV6SUhKeGdObTIzWX0yNm1rWHcrUHM8X1MxeyFaeURPajFfWnpOPXx4SGJBe1gweThMZAp6
RiUldTAqIWIpTWJ6bEg/Z2dHPzNrP2xAJF9yRD0yQk5AQG1fVyVySSNlPig1NHBJdj0qUygzWlYr
Vnd5dTR4PlAKeiM7PnFRJU5fYFNCRDFuSjxRTmw2YyNHKGJXKT55cmUqamFuakktNFlpTmwzVSVv
LXN+Y2Y3Zik2JWNOaldSXzJiCnpkdmBAQlY2a0wyXlZXTzhvSGE0d0BCdHhKJTJZVz9JLWRUYnRk
eTZ0P1hqdHJ2UD9KdWRqU1R5SzJFeTlwMnZrQAp6Q1JWKWhtXlpAXypmKkJUdSZxU1g5Xi1kMT97
ezN+X29CdjdmVytseVZFNj0mZSlwakUmRz9Ba1dmKFdaO3U5N3sKenVuKV4wR0ZkWV85JmR1cHM3
Ym1SWHZuRmlKeU9uY2QjRW0/ZFR3KUxxSnZFUy1ZZzJFNCstWX51amlNejFPNT10CnpBN21LR3dp
WHN1WWdvZG04MTJaTSp0SDBkO3pTNEQ4RD8kXlFBcVNCYmNAZjc/SkhLQUZEczhqQXJvO1NBXyRQ
PAp6ZmNDO2FCZ3RZJmJGYVM0I3Yrdzd2ZXhQO3JZa1lZVHZCUHNYQ1lmc1NhfCNuOEtDcUlFcmlk
Z1hfN3lTJnQqWVcKelRhdng7JTFUZCpoe208N3RZZGtYLThrRG1xQV9hMi1TTCNTMyVkYUV7QUtj
QmZndT04UGZ0VlQofiQ/JF51Ynp5CnpILUQkVkNsd2Q3KjtrQiRHeTI2a2UyS0ZxdWBLdXpXZ217
O211PiRGJHpnbHc2Nz1PPSlFbzV0d3cmWF9zSiNNOAp6QSM8fDZ6RnI5I2MpQWZiazlya0FCano7
TTAjLV47UjVaSzs/OyU3N2k7SWlYVV5OdTROZDhzMHZ0JC05eWVPPkYKeklVI1ZydjtEcCRYUGQt
aThQeWF5cDMrcEBCeDNxQGNSNil1RFhjOzt4NHwxQlZvfWpSa2JUZkVQVXh9e2Rmemt4CnorY1Vu
V1liS0lUYjQyPCZzOWhIZzIyc0sxPEtuS0xINDk5MFdfKVIwa3VoWlFoVDU0MjYmRHU1bEN5UEQ9
MGllTgp6K2V8ZVZCa1BXakFNeDwwcUVzZTRqPG1HbjQjKXl3U2JfSDxSSkw9YFM+empJKDYpem9s
KV5qK2h2eUJhZjRqUlcKenxMJHZJezBOYjwmM0xBRXV6JSNYIVF7PV48Xjx3eikpRC1GaT4hJEN4
SCFZKkVWOFA9V20xTzVgO0ljZ3NUO2R6CnpHKDdgQDFUTi1MO19xc25NfTlpWnY7PUVJUXxeMCFW
fSVEekVwZFI/cVlUPjZmc0d7d3R9QFpFYkcwR01tUHdleQp6ZzhIZmsyaDRCKHNFZm17JChYJGBR
PFMrMEQzT21mc3ppUzFGX09PdT5RXmp1aVViflgyZmtDIyYxYmNgS0JlY0gKejxkcVdNJTRmKWM3
R1F3PWdiPWZCYWxmTkt0Rlo5XytIbVhxWSU5fGVxVmRnNTI/I1NGK187RHY5VUUoc2M4dExLCno2
Rz1VTUo+e1NuU0ZxLWwtNDkjM1gwUi1QMHdGeGc4UT5CbGUxWWtlamlwajszRT5TazhkTFcxNFl3
P0gwaFBfPQphYjMoNChfWnNhK0QpKFZZOX1nfEJDUlpZMzh1JmpsI183TlMKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hdWRpdHMvc2V0LWNv
b2tpZS1oZWFkZXItYXVkaXQtbm8tZmFsc2UtcG9zaXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3NldC1jb29raWUtaGVh
ZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDlmOTZmODdhMGY0NTYzZDlkNTA5YjMxNTc0YzFlMDY4ZDZlOWU4OS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9hdWRpdHMvc2V0LWNvb2tpZS1oZWFkZXIt
YXVkaXQtbm8tZmFsc2UtcG9zaXRpdmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi1UZXN0cyB0aGVyZSBpcyBubyBmYWxzZSBwb3NpdGl2ZSBTZXQtQ29va2llIGF1
ZGl0IGVycm9yLiAKLVBhZ2UgcmVsb2FkZWQuCi1TdWNjZXNzLCBubyBTZXQtQ29va2llIGhlYWRl
cnMgZm91bmQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2F1ZGl0cy9zZXQtY29va2llLWhlYWRlci1hdWRpdC1uby1mYWxzZS1wb3NpdGl2
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRz
L3NldC1jb29raWUtaGVhZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3NDY4Mjk2NjVlZmQ5NmRlYzBhZmZjODJlMWQyMzYzN2M2
MGFmYzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvYXVkaXRzL3NldC1jb29raWUt
aGVhZGVyLWF1ZGl0LW5vLWZhbHNlLXBvc2l0aXZlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgdGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQot
ICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgibmV0d29yayIpOwotICAgICAg
ICB2YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVxdWVzdHM7Ci0g
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdHMubGVuZ3RoOyArK2kpCi0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUocmVxdWVzdHNbaV0ucmVzcG9uc2VIZWFkZXJW
YWx1ZSgiU2V0LUNvb2tpZSIpID09PSB1bmRlZmluZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiU3VjY2Vzcywgbm8gU2V0LUNvb2tpZSBoZWFkZXJzIGZvdW5kLiIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGVzdHMgdGhlcmUgaXMgbm8gZmFs
c2UgcG9zaXRpdmUgU2V0LUNvb2tpZSBhdWRpdCBlcnJvci4KLTxpbWcgc3JjPSJyZXNvdXJjZXMv
YWJlLnBuZyI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jaGFuZ2UtaWZyYW1lLXNyYy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jaGFuZ2UtaWZyYW1l
LXNyYy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4MDIyYTM2
M2Q5YTY4NzRjMmVmYWU4MmY2OTI2NzlhZDgzZjNhMjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvY2hhbmdlLWlmcmFtZS1zcmMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogSUZSQU1FIEhPU1Q6IDEyNy4w
LjAuMTo4MDAwCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogSUZSQU1FIEhPU1Q6IGxvY2FsaG9z
dDo4MDAwCi0KLVRlc3RzIHRoYXQgRWxlbWVudHMgcGFuZWwgYWxsb3dzIHRvIGNoYW5nZSBzcmMg
YXR0cmlidXRlIG9uIGlmcmFtZXMgaW5zaWRlIGluc3BlY3RlZCBwYWdlLiBTZWUgYnVnIDQxMzUw
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
Y2hhbmdlLWlmcmFtZS1zcmMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2NoYW5nZS1pZnJhbWUtc3JjLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDk0YzA3YjBlMTYyZWIzZWFjYWFjODRjYTU3Y2JmMDhjNjczZDhhNWQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY2hhbmdlLWlmcmFtZS1zcmMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDQzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+Q2hhbmdlIGluc3Bl
Y3RlZCBpZnJhbWUncyAic3JjIiBhdHRyaWJ1dGUuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJpbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgb25JRnJhbWVMb2FkQ2FsbGVkID0gZmFsc2U7Ci1m
dW5jdGlvbiBvbklGcmFtZUxvYWQoKQotewotICAgIGlmIChvbklGcmFtZUxvYWRDYWxsZWQpCi0g
ICAgICAgIHJldHVybjsKLSAgICBvbklGcmFtZUxvYWRDYWxsZWQgPSB0cnVlOwotICAgIHJ1blRl
c3QoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ub2RlV2l0
aElkKCJyZWNlaXZlciIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKG5vZGUpCi0gICAg
ewotICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgic3JjIiwgInNyYz1cImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2lmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4t
ZGF0YS5odG1sXCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihz
dGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci0gICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9pZnJhbWUtZnJvbS1kaWZmZXJl
bnQtZG9tYWluLWRhdGEuaHRtbCIgaWQ9InJlY2VpdmVyIiBvbmxvYWQ9Im9uSUZyYW1lTG9hZCgp
Ij48L2lmcmFtZT4KLSAgICA8cD4KLSAgICBUZXN0cyB0aGF0IEVsZW1lbnRzIHBhbmVsIGFsbG93
cyB0byBjaGFuZ2Ugc3JjIGF0dHJpYnV0ZSBvbiBpZnJhbWVzCi0gICAgaW5zaWRlIGluc3BlY3Rl
ZCBwYWdlLgotICAgIFNlZSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDEzNTAiPmJ1ZyA0MTM1MDwvYT4uCi0gICAgPC9wPgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
Y29tcGlsZXItc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YzJiYzk4MGZjYzllOTI5NzczZmQ5
OWJiNWQxM2QxN2M4NWZkYjQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbXBp
bGVyLXNjcmlwdC1tYXBwaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICsw
LDAgQEAKLVRlc3RzIFNvdXJjZU1hcCBhbmQgQ29tcGlsZXJTY3JpcHRNYXBwaW5nLgotCi0KLVJ1
bm5pbmc6IHRlc3RTaW1wbGVNYXAKLWV4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKLTAgPT09IDAK
LTkgPT09IDkKLWV4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKLTAgPT09IDAKLTEzID09PSAxMwot
ZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5qcwotMCA9PT0gMAotMjUgPT09IDI1Ci1leGFtcGxlLmpz
ID09PSBleGFtcGxlLmpzCi0yID09PSAyCi00ID09PSA0Ci1leGFtcGxlLmpzID09PSBleGFtcGxl
LmpzCi0yID09PSAyCi0xMSA9PT0gMTEKLWV4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKLTIgPT09
IDIKLTI0ID09PSAyNAotMCA9PT0gMAotMCA9PT0gMAotMCA9PT0gMAotMTcgPT09IDE3Ci0wID09
PSAwCi0xOCA9PT0gMTgKLTAgPT09IDAKLTI5ID09PSAyOQotMCA9PT0gMAotMjkgPT09IDI5Ci0K
LVJ1bm5pbmc6IHRlc3ROb01hcHBpbmdFbnRyeQotZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5qcwot
MCA9PT0gMAotMCA9PT0gMAotZXhhbXBsZS5qcyA9PT0gZXhhbXBsZS5qcwotMCA9PT0gMAotMiA9
PT0gMgotCi1SdW5uaW5nOiB0ZXN0RW1wdHlMaW5lCi1leGFtcGxlLmpzID09PSBleGFtcGxlLmpz
Ci0wID09PSAwCi0wID09PSAwCi0zID09PSAzCi0xID09PSAxCi0KLVJ1bm5pbmc6IHRlc3RTZWN0
aW9ucwotc291cmNlMS5qcyA9PT0gc291cmNlMS5qcwotMCA9PT0gMAotMCA9PT0gMAotc291cmNl
MS5qcyA9PT0gc291cmNlMS5qcwotMiA9PT0gMgotMSA9PT0gMQotc291cmNlMi5qcyA9PT0gc291
cmNlMi5qcwotMCA9PT0gMAotMCA9PT0gMAotc291cmNlMi5qcyA9PT0gc291cmNlMi5qcwotMiA9
PT0gMgotMSA9PT0gMQotCi1SdW5uaW5nOiB0ZXN0UmVzb2x2ZVNvdXJjZU1hcFVSTAotaHR0cDov
L2V4YW1wbGUuY29tL21hcC5qc29uID09PSBodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24KLWh0
dHA6Ly9leGFtcGxlLmNvbS9tYXAuanNvbiA9PT0gaHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29u
Ci1odHRwOi8vZXhhbXBsZS5jb20vc2NyaXB0cy8uLi9tYXBzL21hcC5qc29uID09PSBodHRwOi8v
ZXhhbXBsZS5jb20vc2NyaXB0cy8uLi9tYXBzL21hcC5qc29uCi0KLVJ1bm5pbmc6IHRlc3RDb21w
aWxlclNjcmlwdE1hcHBpbmcKLQotUnVubmluZzogdGVzdENvbXBpbGVyU2NyaXB0TWFwcGluZ1do
ZW5SZXNvdXJjZVdhc0xvYWRlZEFmdGVyU291cmNlCi0KLVJ1bm5pbmc6IHRlc3RJbmxpbmVkU291
cmNlTWFwCi08c291cmNlIGNvbnRlbnQ+ID09PSA8c291cmNlIGNvbnRlbnQ+Ci0KLVJ1bm5pbmc6
IHRlc3RTb3VyY2VNYXBDb3VsZE5vdEJlTG9hZGVkCi1jb21waWxlZC5qcwotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb21waWxlci1zY3Jp
cHQtbWFwcGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvY29tcGlsZXItc2NyaXB0LW1hcHBpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzJjZTllMzk4NmQ1ZjkxZDU1ZGYxNTQ5ZTQzYWUwNmRmNDQ2MDk5NS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzQyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImRlYnVnZ2VyLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IndvcmtzcGFjZS10ZXN0LmpzIj48L3NjcmlwdD4K
LQotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGRlZmF1bHRTY3JpcHRN
YXBwaW5nOwotICAgIHZhciByZXNvdXJjZVNjcmlwdE1hcHBpbmc7Ci0KLSAgICBmdW5jdGlvbiBj
cmVhdGVDb21waWxlclNjcmlwdE1hcHBpbmcoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jcmVhdGVXb3Jrc3BhY2UoKTsKLSAgICAgICAgdmFyIGNvbXBpbGVyU2NyaXB0TWFwcGluZyA9
IG5ldyBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nKEluc3BlY3RvclRlc3QudGVz
dFdvcmtzcGFjZSwgSW5zcGVjdG9yVGVzdC50ZXN0TmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsK
LSAgICAgICAgcmVzb3VyY2VTY3JpcHRNYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlKTsKLSAgICAgICAgZGVm
YXVsdFNjcmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLkRlZmF1bHRTY3JpcHRNYXBwaW5n
KEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSk7Ci0gICAgICAgIHJldHVybiBjb21waWxlclNj
cmlwdE1hcHBpbmc7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gY2hlY2tNYXBwaW5nKGNvbXBpbGVk
TGluZU51bWJlciwgY29tcGlsZWRDb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCwgc291cmNlTGluZU51
bWJlciwgc291cmNlQ29sdW1uTnVtYmVyLCBtYXBwaW5nKQotICAgIHsKLSAgICAgICAgdmFyIGVu
dHJ5ID0gbWFwcGluZy5maW5kRW50cnkoY29tcGlsZWRMaW5lTnVtYmVyLCBjb21waWxlZENvbHVt
bk51bWJlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHNvdXJjZVVSTCArICIg
PT09ICIgKyBlbnRyeVsyXSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHNvdXJj
ZUxpbmVOdW1iZXIgKyAiID09PSAiICsgZW50cnlbM10pOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChzb3VyY2VDb2x1bW5OdW1iZXIgKyAiID09PSAiICsgZW50cnlbNF0pOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrUmV2ZXJzZU1hcHBpbmcoY29tcGlsZWRMaW5lTnVtYmVy
LCBjb21waWxlZENvbHVtbk51bWJlciwgc291cmNlVVJMLCBzb3VyY2VMaW5lTnVtYmVyLCBtYXBw
aW5nKQotICAgIHsKLSAgICAgICAgdmFyIGVudHJ5ID0gbWFwcGluZy5maW5kRW50cnlSZXZlcnNl
ZChzb3VyY2VVUkwsIHNvdXJjZUxpbmVOdW1iZXIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChjb21waWxlZExpbmVOdW1iZXIgKyAiID09PSAiICsgZW50cnlbMF0pOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb21waWxlZENvbHVtbk51bWJlciArICIgPT09ICIg
KyBlbnRyeVsxXSk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwot
ICAgICAgICBmdW5jdGlvbiB0ZXN0U2ltcGxlTWFwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIC8qCi0gICAgICAgICAgICAgICAgZXhhbXBsZS5qczoKLSAgICAgICAgICAgICAgICAwICAg
ICAgICAgMSAgICAgICAgIDIgICAgICAgICAzCi0gICAgICAgICAgICAgICAgMDEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gYWRkKHZh
cmlhYmxlX3gsIHZhcmlhYmxlX3kpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdmFyaWFibGVfeCArIHZhcmlhYmxlX3k7Ci0gICAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAgICAgdmFyIGdsb2JhbCA9ICJmb28iOwotICAgICAgICAgICAgICAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICBl
eGFtcGxlLWNvbXBpbGVkLmpzOgotICAgICAgICAgICAgICAgIDAgICAgICAgICAxICAgICAgICAg
MiAgICAgICAgIDMKLSAgICAgICAgICAgICAgICAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3
ODkwMTIzNDUKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBhZGQoYSxiKXtyZXR1cm4gYStifXZh
ciBnbG9iYWw9ImZvbyI7Ci0gICAgICAgICAgICAqLwotICAgICAgICAgICAgdmFyIG1hcHBpbmdQ
YXlsb2FkID0gewotICAgICAgICAgICAgICAgICJtYXBwaW5ncyI6IkFBQVNBLFFBQUFBLElBQUcs
Q0FBQ0MsQ0FBRCxDQUFhQyxDQUFiLENBQ1osQ0FDSSxNQUFPRCxFQUFQLENBQW9CQyxDQUR4QixD
QUlBLElBQUlDLE9BQVM7IiwKLSAgICAgICAgICAgICAgICAic291cmNlcyI6WyJleGFtcGxlLmpz
Il0KLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNw
ZWN0b3IuU291cmNlTWFwKCJzb3VyY2UtbWFwLmpzb24iLCBtYXBwaW5nUGF5bG9hZCk7Ci0KLSAg
ICAgICAgICAgIGNoZWNrTWFwcGluZygwLCA5LCAiZXhhbXBsZS5qcyIsIDAsIDksIG1hcHBpbmcp
OwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDEzLCAiZXhhbXBsZS5qcyIsIDAsIDEzLCBt
YXBwaW5nKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAxNSwgImV4YW1wbGUuanMiLCAw
LCAyNSwgbWFwcGluZyk7Ci0gICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMTgsICJleGFtcGxl
LmpzIiwgMiwgNCwgbWFwcGluZyk7Ci0gICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMjUsICJl
eGFtcGxlLmpzIiwgMiwgMTEsIG1hcHBpbmcpOwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAs
IDI3LCAiZXhhbXBsZS5qcyIsIDIsIDI0LCBtYXBwaW5nKTsKLQotICAgICAgICAgICAgY2hlY2tS
ZXZlcnNlTWFwcGluZygwLCAwLCAiZXhhbXBsZS5qcyIsIDAsIG1hcHBpbmcpOwotICAgICAgICAg
ICAgY2hlY2tSZXZlcnNlTWFwcGluZygwLCAxNywgImV4YW1wbGUuanMiLCAxLCBtYXBwaW5nKTsK
LSAgICAgICAgICAgIGNoZWNrUmV2ZXJzZU1hcHBpbmcoMCwgMTgsICJleGFtcGxlLmpzIiwgMiwg
bWFwcGluZyk7Ci0gICAgICAgICAgICBjaGVja1JldmVyc2VNYXBwaW5nKDAsIDI5LCAiZXhhbXBs
ZS5qcyIsIDQsIG1hcHBpbmcpOwotICAgICAgICAgICAgY2hlY2tSZXZlcnNlTWFwcGluZygwLCAy
OSwgImV4YW1wbGUuanMiLCA1LCBtYXBwaW5nKTsKLQotICAgICAgICAgICAgbmV4dCgpOwotICAg
ICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3ROb01hcHBpbmdFbnRyeShuZXh0KQotICAg
ICAgICB7Ci0gICAgICAgICAgICB2YXIgbWFwcGluZ1BheWxvYWQgPSB7Ci0gICAgICAgICAgICAg
ICAgIm1hcHBpbmdzIjoiQUFBQSxDLENBQUU7IiwKLSAgICAgICAgICAgICAgICAic291cmNlcyI6
WyJleGFtcGxlLmpzIl0KLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9
IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlTWFwKCJzb3VyY2UtbWFwLmpzb24iLCBtYXBwaW5nUGF5
bG9hZCk7Ci0gICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMCwgImV4YW1wbGUuanMiLCAwLCAw
LCBtYXBwaW5nKTsKLSAgICAgICAgICAgIHZhciBlbnRyeSA9IG1hcHBpbmcuZmluZEVudHJ5KDAs
IDEpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMiwgZW50cnkubGVu
Z3RoKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAyLCAiZXhhbXBsZS5qcyIsIDAsIDIs
IG1hcHBpbmcpOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1
bmN0aW9uIHRlc3RFbXB0eUxpbmUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIG1h
cHBpbmdQYXlsb2FkID0gewotICAgICAgICAgICAgICAgICJtYXBwaW5ncyI6IkFBQUE7OztDQUNB
IiwKLSAgICAgICAgICAgICAgICAic291cmNlcyI6WyJleGFtcGxlLmpzIl0KLSAgICAgICAgICAg
IH07Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlTWFw
KCJzb3VyY2UtbWFwLmpzb24iLCBtYXBwaW5nUGF5bG9hZCk7Ci0gICAgICAgICAgICBjaGVja01h
cHBpbmcoMCwgMCwgImV4YW1wbGUuanMiLCAwLCAwLCBtYXBwaW5nKTsKLSAgICAgICAgICAgIGNo
ZWNrUmV2ZXJzZU1hcHBpbmcoMywgMSwgImV4YW1wbGUuanMiLCAxLCBtYXBwaW5nKTsKLSAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0U2VjdGlv
bnMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIG1hcHBpbmdQYXlsb2FkID0gewot
ICAgICAgICAgICAgICAgICJzZWN0aW9ucyI6IFt7Ci0gICAgICAgICAgICAgICAgICAgICJvZmZz
ZXQiOiB7ICJsaW5lIjogMCwgImNvbHVtbiI6IDAgfSwKLSAgICAgICAgICAgICAgICAgICAgIm1h
cCI6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICJtYXBwaW5ncyI6IkFBQUEsQ0FFQyIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAic291cmNlcyI6WyJzb3VyY2UxLmpzIiwgInNvdXJjZTIu
anMiXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSwgewotICAgICAg
ICAgICAgICAgICAgICAib2Zmc2V0IjogeyAibGluZSI6IDIsICJjb2x1bW4iOiAxMCB9LAotICAg
ICAgICAgICAgICAgICAgICAibWFwIjogewotICAgICAgICAgICAgICAgICAgICAgICAgIm1hcHBp
bmdzIjoiQUFBQSxDQUVDIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2VzIjpbInNv
dXJjZTIuanMiXQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgXX07Ci0gICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3Iu
U291cmNlTWFwKCJzb3VyY2UtbWFwLmpzb24iLCBtYXBwaW5nUGF5bG9hZCk7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygyLCBtYXBwaW5nLnNvdXJjZXMoKS5sZW5ndGgp
OwotICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDAsICJzb3VyY2UxLmpzIiwgMCwgMCwgbWFw
cGluZyk7Ci0gICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMSwgInNvdXJjZTEuanMiLCAyLCAx
LCBtYXBwaW5nKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygyLCAxMCwgInNvdXJjZTIuanMi
LCAwLCAwLCBtYXBwaW5nKTsKLSAgICAgICAgICAgIGNoZWNrTWFwcGluZygyLCAxMSwgInNvdXJj
ZTIuanMiLCAyLCAxLCBtYXBwaW5nKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwK
LQotICAgICAgICBmdW5jdGlvbiB0ZXN0UmVzb2x2ZVNvdXJjZU1hcFVSTChuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICB2YXIgZnVuYyA9IFdlYkluc3BlY3Rvci5QYXJzZWRVUkwuY29tcGxl
dGVVUkw7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1w
bGUuY29tL21hcC5qc29uID09PSAiICsgZnVuYygiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdC5q
cyIsICJodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24iKSk7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29uID09PSAiICsgZnVu
YygiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdC5qcyIsICIvbWFwLmpzb24iKSk7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdHMv
Li4vbWFwcy9tYXAuanNvbiA9PT0gIiArIGZ1bmMoImh0dHA6Ly9leGFtcGxlLmNvbS9zY3JpcHRz
L3NjcmlwdC5qcyIsICIuLi9tYXBzL21hcC5qc29uIikpOwotICAgICAgICAgICAgbmV4dCgpOwot
ICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RDb21waWxlclNjcmlwdE1hcHBpbmco
bmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHNjcmlwdDsKLSAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldCgpOwotICAgICAgICAgICAgdmFyIG1hcHBp
bmcgPSBjcmVhdGVDb21waWxlclNjcmlwdE1hcHBpbmcoKTsKLSAgICAgICAgICAgIHZhciBvcmln
aW5hbFVJU291cmNlQ29kZTsKLSAgICAgICAgICAgIHN0ZXAxKCk7Ci0KLSAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KG9yaWdpbmFsVUlTb3Vy
Y2VDb2RlQWRkZWQpOwotICAgICAgICAgICAgICAgIHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3Jl
YXRlU2NyaXB0TW9jaygiY29tcGlsZWQuanMiLCAwLCAwLCB0cnVlLCAiIik7Ci0gICAgICAgICAg
ICAgICAgc2NyaXB0LnNvdXJjZU1hcFVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlcy9zb3VyY2UtbWFwLmpzb24iOwotICAgICAgICAgICAgICAgIGRlZmF1bHRT
Y3JpcHRNYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAgICAgICAgICAgIHJlc291cmNl
U2NyaXB0TWFwcGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKLSAgICAgICAgICAgICAgICBtYXBwaW5n
LmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAgICAgICAgICAgIGFmdGVyU2NyaXB0QWRkZWQoKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gb3JpZ2luYWxVSVNvdXJjZUNv
ZGVBZGRlZCh1aVNvdXJjZUNvZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChvcmlnaW5h
bFJlc291cmNlVUlTb3VyY2VDb2RlQWRkZWQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkTW9ja1VJU291cmNlQ29kZVRvV29ya3NwYWNlKCJjb21waWxlZC5qcyIsIFdlYkluc3Bl
Y3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCwgIiIpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBmdW5jdGlvbiBvcmlnaW5hbFJlc291cmNlVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VD
b2RlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZv
cldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQoZmlyc3RVSVNvdXJjZUNvZGVBZGRlZCk7
Ci0gICAgICAgICAgICAgICAgb3JpZ2luYWxVSVNvdXJjZUNvZGUgPSB1aVNvdXJjZUNvZGU7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGZpcnN0VUlTb3VyY2VDb2RlQWRk
ZWQodWlTb3VyY2VDb2RlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQoc2Vjb25kVUlTb3Vy
Y2VDb2RlQWRkZWQpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBzZWNv
bmRVSVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpIHsgfQotCi0gICAgICAgICAgICBmdW5j
dGlvbiBhZnRlclNjcmlwdEFkZGVkKHVpU291cmNlQ29kZSkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlMSA9IEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFj
ZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5VUkwoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2VzL3NvdXJjZTEuanMiKTsKLSAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VD
b2RlMiA9IEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5V
UkwoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3NvdXJjZTIuanMi
KTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHVpU291
cmNlQ29kZTEsIDQsIDQsIHNjcmlwdC5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbigwLCA4MSkpOwot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29k
ZTEsIDUsIDQsIHNjcmlwdC5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbigwLCA5MykpOwotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHVpU291cmNlQ29kZTIsIDcs
IDQsIHNjcmlwdC5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbigxLCAxNTEpKTsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihvcmlnaW5hbFVJU291cmNlQ29kZSwg
MSwgMjAwLCBzY3JpcHQucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oMSwgMjAwKSk7Ci0KLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAwLCA0Miwg
dWlTb3VyY2VDb2RlMS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbigzLCAxMCkpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDg1LCB1aVNv
dXJjZUNvZGUyLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKDAsIDApKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNoZWNrUmF3TG9jYXRpb24oc2NyaXB0LCAxLCAxMTAsIHVpU291cmNl
Q29kZTIudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oNSwgMikpOwotCi0gICAgICAgICAgICAgICAg
dWlTb3VyY2VDb2RlMS5yZXF1ZXN0Q29udGVudChkaWRSZXF1ZXN0Q29udGVudDEpOwotCi0gICAg
ICAgICAgICAgICAgZnVuY3Rpb24gZGlkUmVxdWVzdENvbnRlbnQxKGNvbnRlbnQsIGNvbnRlbnRF
bmNvZGVkLCBtaW1lVHlwZSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDAsIGNvbnRlbnQuaW5kZXhPZigid2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIiKSk7Ci0gICAgICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZTIucmVx
dWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQyKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVudDIoY29udGVudCwgY29udGVu
dEVuY29kZWQsIG1pbWVUeXBlKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgY29udGVudC5pbmRleE9mKCJmdW5jdGlv
biBDbGlja0hhbmRsZXIoKSIpKTsKLSAgICAgICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlv
biB0ZXN0Q29tcGlsZXJTY3JpcHRNYXBwaW5nV2hlblJlc291cmNlV2FzTG9hZGVkQWZ0ZXJTb3Vy
Y2UobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHNjcmlwdDsKLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldCgpOwotICAgICAgICAgICAgdmFyIG1h
cHBpbmcgPSBjcmVhdGVDb21waWxlclNjcmlwdE1hcHBpbmcoKTsKLSAgICAgICAgICAgIHZhciBv
cmlnaW5hbFVJU291cmNlQ29kZTsKLSAgICAgICAgICAgIHN0ZXAxKCk7Ci0KLSAgICAgICAgICAg
IGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KGZ1bmN0aW9uKCkg
eyB9KTsKLSAgICAgICAgICAgICAgICBzY3JpcHQgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlw
dE1vY2soImNvbXBpbGVkLmpzIiwgMCwgMCwgdHJ1ZSwgIiIpOwotICAgICAgICAgICAgICAgIHNj
cmlwdC5zb3VyY2VNYXBVUkwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZXMvc291cmNlLW1hcC5qc29uIjsKLSAgICAgICAgICAgICAgICBkZWZhdWx0U2NyaXB0TWFw
cGluZy5hZGRTY3JpcHQoc2NyaXB0KTsKLSAgICAgICAgICAgICAgICByZXNvdXJjZVNjcmlwdE1h
cHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53
YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChmaXJzdFVJU291cmNlQ29kZUFk
ZGVkKTsKLSAgICAgICAgICAgICAgICBtYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVk
RXZlbnQob3JpZ2luYWxSZXNvdXJjZVVJU291cmNlQ29kZUFkZGVkKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZE1vY2tVSVNvdXJjZUNvZGVUb1dvcmtzcGFjZSgiY29tcGlsZWQu
anMiLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsICIiKTsKLSAgICAgICAgICAg
ICAgICBhZnRlclNjcmlwdEFkZGVkKCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1
bmN0aW9uIG9yaWdpbmFsUmVzb3VyY2VVSVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpIHsK
LSAgICAgICAgICAgICAgICBvcmlnaW5hbFVJU291cmNlQ29kZSA9IHVpU291cmNlQ29kZTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmlyc3RVSVNvdXJjZUNvZGVBZGRl
ZCh1aVNvdXJjZUNvZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3VyY2VDb2RlQWRkZWRFdmVudChmdW5jdGlvbigpIHsg
fSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGFmdGVyU2NyaXB0QWRk
ZWQodWlTb3VyY2VDb2RlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUxID0gSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9y
aWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNl
MS5qcyIpOwotICAgICAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGUyID0gSW5zcGVjdG9yVGVz
dC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlMi5qcyIpOwotCi0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlMSwgNCwgNCwgc2Ny
aXB0LnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAsIDgxKSk7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlMSwgNSwgNCwgc2NyaXB0LnJh
d0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAsIDkzKSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jaGVja1VJTG9jYXRpb24odWlTb3VyY2VDb2RlMiwgNywgNCwgc2NyaXB0LnJhd0xvY2F0
aW9uVG9VSUxvY2F0aW9uKDEsIDE1MSkpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y2hlY2tVSUxvY2F0aW9uKG9yaWdpbmFsVUlTb3VyY2VDb2RlLCAxLCAyMDAsIHNjcmlwdC5yYXdM
b2NhdGlvblRvVUlMb2NhdGlvbigxLCAyMDApKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDAsIDQyLCB1aVNvdXJjZUNvZGUxLnVpTG9j
YXRpb25Ub1Jhd0xvY2F0aW9uKDMsIDEwKSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jaGVja1Jhd0xvY2F0aW9uKHNjcmlwdCwgMSwgODUsIHVpU291cmNlQ29kZTIudWlMb2NhdGlv
blRvUmF3TG9jYXRpb24oMCwgMCkpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hl
Y2tSYXdMb2NhdGlvbihzY3JpcHQsIDEsIDExMCwgdWlTb3VyY2VDb2RlMi51aUxvY2F0aW9uVG9S
YXdMb2NhdGlvbig1LCAyKSk7Ci0KLSAgICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUxLnJlcXVl
c3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50MSk7Ci0KLSAgICAgICAgICAgICAgICBmdW5jdGlv
biBkaWRSZXF1ZXN0Q29udGVudDEoY29udGVudCwgY29udGVudEVuY29kZWQsIG1pbWVUeXBlKQot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRFcXVhbHMoMCwgY29udGVudC5pbmRleE9mKCJ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciIpKTsK
LSAgICAgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlMi5yZXF1ZXN0Q29udGVudChkaWRSZXF1
ZXN0Q29udGVudDIpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGZ1bmN0
aW9uIGRpZFJlcXVlc3RDb250ZW50Mihjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUp
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydEVxdWFscygwLCBjb250ZW50LmluZGV4T2YoImZ1bmN0aW9uIENsaWNrSGFuZGxlcigpIikp
OwotICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RJbmxpbmVkU291cmNl
TWFwKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1v
ZGVsLl9yZXNldCgpOwotICAgICAgICAgICAgdmFyIG1hcHBpbmcgPSBjcmVhdGVDb21waWxlclNj
cmlwdE1hcHBpbmcoKTsKLSAgICAgICAgICAgIHZhciBzY3JpcHQgPSBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZVNjcmlwdE1vY2soImh0dHA6Ly9leGFtcGxlLmNvbS9jb21waWxlZC5qcyIsIDAsIDAsIHRy
dWUsICIiKTsKLSAgICAgICAgICAgIHZhciBzb3VyY2VNYXAgPSB7Ci0gICAgICAgICAgICAgICAg
ImZpbGUiOiJjb21waWxlZC5qcyIsCi0gICAgICAgICAgICAgICAgIm1hcHBpbmdzIjoiQUFBU0Es
UUFBQUEsSUFBRyxDQUFDQyxDQUFELENBQWFDLENBQWIsQ0FDWixDQUNJLE1BQU9ELEVBQVAsQ0FB
b0JDLENBRHhCLENBSUEsSUFBSUMsT0FBUzsiLAotICAgICAgICAgICAgICAgICJzb3VyY2VzIjpb
InNvdXJjZS5qcyJdLAotICAgICAgICAgICAgICAgICJzb3VyY2VzQ29udGVudCI6WyI8c291cmNl
IGNvbnRlbnQ+Il0KLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBzY3JpcHQuc291cmNlTWFw
VVJMID0gImRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsIiArIGJ0b2EoSlNPTi5zdHJpbmdp
Znkoc291cmNlTWFwKSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3Bh
Y2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQpOwotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBjb21waWxlZFVJU291cmNlQ29kZUFkZGVkKHVpU291cmNlQ29k
ZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JX
b3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KG9yaWdpbmFsVUlTb3VyY2VDb2RlQWRkZWQp
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBvcmlnaW5hbFVJU291cmNl
Q29kZUFkZGVkKHVpU291cmNlQ29kZSkgeyB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGRl
ZmF1bHRTY3JpcHRNYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAgICAgICAgcmVzb3Vy
Y2VTY3JpcHRNYXBwaW5nLmFkZFNjcmlwdChzY3JpcHQpOwotICAgICAgICAgICAgbWFwcGluZy5h
ZGRTY3JpcHQoc2NyaXB0KTsKLQotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IEluc3Bl
Y3RvclRlc3QudGVzdFdvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JPcmlnaW5VUkwoImh0dHA6Ly9l
eGFtcGxlLmNvbS9zb3VyY2UuanMiKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVj
a1VJTG9jYXRpb24odWlTb3VyY2VDb2RlLCAyLCA0LCBtYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxv
Y2F0aW9uKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNyZWF0ZVJhd0xvY2F0aW9uKHNjcmlw
dCwgMCwgMTgpKSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrUmF3TG9jYXRpb24o
c2NyaXB0LCAwLCAxOCwgbWFwcGluZy51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbih1aVNvdXJjZUNv
ZGUsIDIsIDQpKTsKLQotICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRp
ZFJlcXVlc3RDb250ZW50KTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gZGlkUmVxdWVzdENvbnRl
bnQoY29udGVudCwgY29udGVudEVuY29kZWQsIG1pbWVUeXBlKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI8c291cmNlIGNvbnRlbnQ+ID09
PSAiICsgY29udGVudCk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2VNYXBDb3VsZE5vdEJlTG9h
ZGVkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5z
b3VyY2VNYXBzRW5hYmxlZC5zZXQodHJ1ZSk7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVi
dWdnZXJNb2RlbC5fcmVzZXQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlV29y
a3NwYWNlKCk7Ci0gICAgICAgICAgICB2YXIgZGVidWdnZXJTY3JpcHRNYXBwaW5nID0gbmV3IFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3Nw
YWNlLCBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIpOwotCi0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2
ZW50KGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQpOwotICAgICAgICAgICAgdmFyIHNjcmlwdCA9
IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jaygiY29tcGlsZWQuanMiLCAwLCAwLCB0cnVl
LCAiIik7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXBpbGVkVUlTb3VyY2VDb2RlQWRkZWQo
dWlTb3VyY2VDb2RlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3Qud2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQob3JpZ2luYWxVSVNvdXJj
ZUNvZGVBZGRlZCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIG9yaWdp
bmFsVUlTb3VyY2VDb2RlQWRkZWQodWlTb3VyY2VDb2RlKSB7IH0KLQotICAgICAgICAgICAgc2Ny
aXB0LnNvdXJjZU1hcFVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlcy9zb3VyY2UtbWFwLmpzb25fIjsKLSAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5j
dGlvbigpIHt9OyAvLyBFcnJvciBtZXNzYWdlIGlzIHBsYXRmb3JtIGRlcGVuZGVudC4KLSAgICAg
ICAgICAgIGRlYnVnZ2VyU2NyaXB0TWFwcGluZy5fcGFyc2VkU2NyaXB0U291cmNlKHtkYXRhOnNj
cmlwdH0pOwotICAgICAgICAgICAgdmFyIHVpTG9jYXRpb24gPSBzY3JpcHQucmF3TG9jYXRpb25U
b1VJTG9jYXRpb24oMCwgMCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh1
aUxvY2F0aW9uLnVpU291cmNlQ29kZS5vcmlnaW5VUkwoKSk7Ci0gICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgIH0KLSAgICBdKTsKLX07Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFNvdXJjZU1hcCBhbmQgQ29tcGlsZXJTY3Jp
cHRNYXBwaW5nLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRl
YnVnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRlYnVnLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOGZmY2U3MmE4N2Y3NjhjMTkwYzhjZWQ5YWJlNjM5MGY0YWZk
ZDYxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb21waWxlci1zb3VyY2UtbWFw
cGluZy1kZWJ1Zy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjogYnV0dG9uIGNsaWNrZWQhCi1UZXN0cyBpbnN0YWxsaW5n
IGNvbXBpbGVyIHNvdXJjZSBtYXAgaW4gc2NyaXB0cyBwYW5lbC4KLQotCi1EZWJ1Z2dlciB3YXMg
ZW5hYmxlZC4KLQotUnVubmluZzogdGVzdFNldEJyZWFrcG9pbnQKLVBhZ2UgcmVsb2FkZWQuCi1T
Y3JpcHQgc291cmNlIHdhcyBzaG93bi4KLVNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotQ2FsbCBz
dGFjazoKLSAgICAwKSBoYW5kbGVDbGljayAoY29tcGlsZWQuanM6MikKLSAgICAxKSBjbGlja0J1
dHRvbiAoY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWcuaHRtbDoxMSkKLVNjcmlwdCBleGVj
dXRpb24gcmVzdW1lZC4KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc291cmNlLW1h
cHBpbmctZGVidWcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRlYnVnLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGUzYWU1YmMyZjYyMDczOGE1ZGE1YTdiYTE5N2MyODc0NmE2MWVlY2MuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVi
dWcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImRl
YnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb21waWxl
ZC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGNsaWNrQnV0dG9uKCkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLmNsaWNrKCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuRGVidWdnZXJUZXN0U3VpdGUoWwot
ICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0QnJlYWtwb2ludChuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc291cmNlTWFwc0VuYWJsZWQuc2V0KHRydWUp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHBhZ2VSZWxvYWRlZCk7Ci0K
LSAgICAgICAgICAgIGZ1bmN0aW9uIHBhZ2VSZWxvYWRlZCgpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291cmNlKCJzb3VyY2UxLmpzIiwg
ZGlkU2hvd1NvdXJjZSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRp
ZFNob3dTb3VyY2Uoc291cmNlRnJhbWUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNjcmlwdCBzb3VyY2Ugd2FzIHNob3duLiIpOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2V0QnJlYWtwb2ludChzb3VyY2VGcmFtZSwgMTQs
ICIiLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNl
ZChwYXVzZWQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
InNldFRpbWVvdXQoY2xpY2tCdXR0b24sIDApIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIHBhdXNlZChjYWxsRnJhbWVzKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZyYW1lcyk7Ci0gICAg
ICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7Ci19
OwotCi08L3NjcmlwdD4KLQotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08
cD5UZXN0cyBpbnN0YWxsaW5nIGNvbXBpbGVyIHNvdXJjZSBtYXAgaW4gc2NyaXB0cyBwYW5lbC48
L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2QtY29t
cGxldGlvbnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDZm
MzkwYWE0YjY2MzYzNmIxYjRhYzk3ZGMyNmE5ODRjMjY5MDhhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2QtY29tcGxldGlvbnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNiArMCwwIEBACi1UZXN0IHRoYXQgY29tcGxldGlvbnMgaW4gdGhlIGNvbnRl
eHQgb2YgYW4gaWZyYW1lIHdpdGggYSBkaWZmZXJlbnQgb3JpZ2luIHdpbGwgcmVzdWx0IGluIG5h
bWVzIG9mIGl0cyBnbG9iYWwgdmFyaWFibGVzLiBUZXN0IHBhc3NlcyBpZiBhbGwgZ2xvYmFsIHZh
cmlhYmxlcyBhcmUgZm91bmQgYW1vbmcgY29tcGxldGlvbnMgQU5EIHRoZXJlIGFyZSBOTyBjb25z
b2xlIG1lc3NhZ2VzLiBCdWcgNjU0NTcuCi0KLQotbXlHbG9iYWxWYXIKLW15R2xvYmFsRnVuY3Rp
b24KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvY29uc29sZS1jZC1jb21wbGV0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jZC1jb21wbGV0aW9ucy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTE0Y2FhODM4MDU2Mzg2MzE5MzkxNTI1ZWNiZTQ1ZDkzMjJh
ODE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2QtY29tcGxldGlv
bnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJpbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBJbnNwZWN0b3JUZXN0LnNob3dDb25zb2xlUGFuZWwoKTsKLSAgICB2YXIgc2VsZWN0b3Ig
PSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX2ZyYW1lU2VsZWN0b3IuX3NlbGVjdEVsZW1lbnQ7
Ci0gICAgdmFyIG9wdGlvbiA9IHNlbGVjdG9yLmZpcnN0Q2hpbGQ7Ci0gICAgd2hpbGUgKG9wdGlv
bikgewotICAgICAgICBpZiAob3B0aW9uLnRleHRDb250ZW50ICYmIG9wdGlvbi50ZXh0Q29udGVu
dC5zdGFydHNXaXRoKCJteUlGcmFtZSIpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIG9w
dGlvbiA9IG9wdGlvbi5uZXh0U2libGluZzsKLSAgICB9Ci0gICAgaWYgKCFvcHRpb24pIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogbXlJRnJhbWUgbm90IGZvdW5k
IGluIHRoZSBjb250ZXh0IGxpc3QiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBvcHRpb24uc2VsZWN0ZWQgPSB0cnVl
OwotICAgIFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fZnJhbWVDaGFuZ2VkKCk7Ci0KLSAgICBX
ZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLl9jb21wbGV0aW9uc0ZvckV4cHJlc3Npb24oIiIsICJt
eUdsb2IiLCBmYWxzZSwgY2hlY2tDb21wbGV0aW9ucy5iaW5kKHRoaXMpKTsKLSAgICBmdW5jdGlv
biBjaGVja0NvbXBsZXRpb25zKGNvbXBsZXRpb25zKQotICAgIHsKLSAgICAgICAgdmFyIGV4cGVj
dGVkID0gWyJteUdsb2JhbFZhciIsICJteUdsb2JhbEZ1bmN0aW9uIl07Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWQubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChj
b21wbGV0aW9ucy5pbmRleE9mKGV4cGVjdGVkW2ldKSAhPT0gLTEpCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXhwZWN0ZWRbaV0pOwotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOT1QgRk9VTkQ6ICIgKyBl
eHBlY3RlZFtpXSk7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29s
ZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
fQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHk+Ci08cD4KLVRlc3QgdGhhdCBjb21w
bGV0aW9ucyBpbiB0aGUgY29udGV4dCBvZiBhbiBpZnJhbWUgd2l0aCBhIGRpZmZlcmVudCBvcmln
aW4gd2lsbAotcmVzdWx0IGluIG5hbWVzIG9mIGl0cyBnbG9iYWwgdmFyaWFibGVzLiBUZXN0IHBh
c3NlcyBpZiBhbGwgZ2xvYmFsIHZhcmlhYmxlcwotYXJlIGZvdW5kIGFtb25nIGNvbXBsZXRpb25z
IEFORCB0aGVyZSBhcmUgTk8gY29uc29sZSBtZXNzYWdlcy4KLTxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1NyI+QnVnIDY1NDU3LjwvYT4KLTwvcD4K
LTxpZnJhbWUgbmFtZT0ibXlJRnJhbWUiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvY29uc29sZS1jZC1jb21wbGV0aW9ucy1pZnJhbWUuaHRtbCIgb25sb2Fk
PSJydW5UZXN0KCkiPjwvaWZyYW1lPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNv
bGUtY2QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTdhN2Y5
ZDA2MDQ3ZGRkZjkxYzFlMmY5MTRiNGUzNDRmY2I3ODI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2NvbnNvbGUtY2QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi1UZXN0cyB0aGF0IGNvbnNvbGUgZXZhbHVhdGlvbiBjYW4gYmUgcGVyZm9ybWVkIGlu
IGFuIGlmcmFtZSBjb250ZXh0LkJ1ZyAxOTg3Mi4KLQotCi1mb28gPSAyMDExCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2Qu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUt
Y2QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQ4MGZjYWNhNmJmOGY4YmM5
MTVjNmZkYmYwODExYzE4ZjA3OGM1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9j
b25zb2xlLWNkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9ImNvbnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNob3dDb25zb2xlUGFuZWwoKTsKLSAgICB2YXIg
c2VsZWN0b3IgPSBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcuX2ZyYW1lU2VsZWN0b3IuX3NlbGVj
dEVsZW1lbnQ7Ci0gICAgdmFyIG9wdGlvbiA9IHNlbGVjdG9yLmZpcnN0Q2hpbGQ7Ci0gICAgd2hp
bGUgKG9wdGlvbikgewotICAgICAgICBpZiAob3B0aW9uLnRleHRDb250ZW50ICYmIG9wdGlvbi50
ZXh0Q29udGVudC5zdGFydHNXaXRoKCJteUlGcmFtZSIpKQotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIG9wdGlvbiA9IG9wdGlvbi5uZXh0U2libGluZzsKLSAgICB9Ci0gICAgaWYgKCFvcHRp
b24pIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxFRDogbXlJRnJhbWUg
bm90IGZvdW5kIGluIHRoZSBjb250ZXh0IGxpc3QiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBvcHRpb24uc2VsZWN0
ZWQgPSB0cnVlOwotICAgIFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5fZnJhbWVDaGFuZ2VkKCk7
Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlQW5kRHVtcCgiZm9vIiwgZmlu
aXNoKTsKLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eT4KLTxwPgotVGVzdHMgdGhhdCBjb25zb2xlIGV2YWx1YXRpb24gY2FuIGJlIHBlcmZvcm1lZCBp
biBhbiBpZnJhbWUgY29udGV4dC48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk4NzIiPkJ1ZyAxOTg3Mi48L2E+Ci08L3A+Ci08aWZyYW1lIG5hbWU9Im15
SUZyYW1lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2Nv
bnNvbGUtY2QtaWZyYW1lLmh0bWwiIG9ubG9hZD0icnVuVGVzdCgpIj48L2lmcmFtZT4KLQotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9j
b25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTlkNWJiYjE3ZGJlZjgxNzk2YThlOGM2MDhh
NjIwNDNjZDBiZDU1NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNs
ZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDEwICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOiBBIG1lc3NhZ2Ug
d2l0aCBmaXJzdCBhcmd1bWVudCBzdHJpbmcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzOiAyMDEx
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogW29iamVjdCBXaW5kb3ddCi1UZXN0cyB0aGF0IFdl
YiBJbnNwZWN0b3Igd2lsbCBkaXNjYXJkIGNvbnNvbGUgbWVzc2FnZSBhcmd1bWVudHMgd2hlbiBp
ZnJhbWUgd2hlcmUgdGhlIG1lc3NhZ2Ugd2FzIGxvZ2dlZCBpcyBuYXZpZ2F0ZWQgdG8gYSBkaWZm
ZXJlbnQgcGFnZS4KLQotCi1QQVNTRUQ6IGZvdW5kIGFyZ3VtZW50IGNvdW50cyBmb3IgMyBtZXNz
YWdlcwotUEFTU0VEOiBtZXNzYWdlICMwIGhhcyBubyBhcmd1bWVudHMuCi1QQVNTRUQ6IG1lc3Nh
Z2UgIzEgaGFzIG5vIGFyZ3VtZW50cy4KLVBBU1NFRDogbWVzc2FnZSAjMiBoYXMgbm8gYXJndW1l
bnRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1jbGVhci1hcmd1
bWVudHMtb24tZnJhbWUtbmF2aWdhdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3ZWIwNGYyNjI4ZDA2ODk4N2NlMWM2ZmM0M2QzZTEzNDQ3Njk1MjY5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLW9uLWZyYW1lLW5h
dmlnYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci19Ci0KLXZhciBsb2FkQ291bnQgPSAwOwotZnVuY3Rpb24gZnJhbWVMb2FkZWQoZXZlbnQpIHsK
LSAgICArK2xvYWRDb3VudDsKLSAgICBpZiAobG9hZENvdW50ID09PSAxKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVGcmFtZScpLnNyYyA9ICJhYm91dDpibGFuayI7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBkdW1wQ29uc29sZU1lc3NhZ2VBcmd1bWVudENv
dW50cygpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci08Ym9keT4KLTxwPgotVGVz
dHMgdGhhdCBXZWIgSW5zcGVjdG9yIHdpbGwgZGlzY2FyZCBjb25zb2xlIG1lc3NhZ2UgYXJndW1l
bnRzIHdoZW4gaWZyYW1lIHdoZXJlIHRoZSBtZXNzYWdlIHdhcwotbG9nZ2VkIGlzIG5hdmlnYXRl
ZCB0byBhIGRpZmZlcmVudCBwYWdlLgotPC9wPgotPGlmcmFtZSBpZD0idGhlRnJhbWUiIG9ubG9h
ZD0iZnJhbWVMb2FkZWQoZXZlbnQpIiBzcmM9InJlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3Vt
ZW50cy1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgotPC9i
b2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29u
c29sZS1jbGVhci1hcmd1bWVudHMtb24tZnJhbWUtcmVtb3ZlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI4YzUyYWU3N2M1MjMzOGFhODQxYjE4N2FlOGY0YTAz
OGUyYWFhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFy
Z3VtZW50cy1vbi1mcmFtZS1yZW1vdmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
OSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjogQSBtZXNzYWdlIHdpdGggZmlyc3Qg
YXJndW1lbnQgc3RyaW5nCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogMjAxMQotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDQ6IFtvYmplY3QgV2luZG93XQotVGVzdHMgdGhhdCBjb25zb2xlIG1lc3Nh
Z2UgYXJndW1lbnRzIHdpbGwgYmUgY2xlYXJlZCB3aGVuIGlmcmFtZSB3aGVyZSB0aGUgbWVzc2Fn
ZXMgd2VyZSBjcmVhdGVkIGlzIHJlbW92ZWQuCi0KLVBBU1NFRDogZm91bmQgYXJndW1lbnQgY291
bnRzIGZvciAzIG1lc3NhZ2VzCi1QQVNTRUQ6IG1lc3NhZ2UgIzAgaGFzIG5vIGFyZ3VtZW50cy4K
LVBBU1NFRDogbWVzc2FnZSAjMSBoYXMgbm8gYXJndW1lbnRzLgotUEFTU0VEOiBtZXNzYWdlICMy
IGhhcyBubyBhcmd1bWVudHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy1vbi1mcmFtZS1yZW1vdmUu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUt
Y2xlYXItYXJndW1lbnRzLW9uLWZyYW1lLXJlbW92ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhYjc0NjNiOTJhZWE2M2Q1Y2MyMzZjMzkwOWNlN2MwY2E2YmQzZDUyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLW9uLWZy
YW1lLXJlbW92ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Ci19Ci0KLWZ1bmN0aW9uIHJlbW92ZUlGcmFtZSgpCi17Ci0gICAgdmFyIGNvbnRhaW5lciA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKLSAgICB2YXIgY2hpbGQgPSBjb250
YWluZXIuZmlyc3RDaGlsZDsKLSAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgY29udGFpbmVy
LnJlbW92ZUNoaWxkKGNoaWxkKTsKLSAgICAgICAgY2hpbGQgPSBjb250YWluZXIuZmlyc3RDaGls
ZDsKLSAgICB9Ci0gICAgZHVtcENvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwot
fQotCi1mdW5jdGlvbiBjcmVhdGVJRnJhbWUoKQotewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLSAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdzcmMn
LCAncmVzb3VyY2VzL2NvbnNvbGUtY2xlYXItYXJndW1lbnRzLWlmcmFtZS5odG1sJyk7Ci0gICAg
aWZyYW1lLm9ubG9hZD0gcmVtb3ZlSUZyYW1lOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjb250YWluZXInKS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi08L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5IG9ubG9hZD0iY3JlYXRlSUZyYW1lKCkiPgotPHA+Ci1UZXN0cyB0aGF0IGNvbnNv
bGUgbWVzc2FnZSBhcmd1bWVudHMgd2lsbCBiZSBjbGVhcmVkIHdoZW4gaWZyYW1lIHdoZXJlIHRo
ZSBtZXNzYWdlcyB3ZXJlCi1jcmVhdGVkIGlzIHJlbW92ZWQuCi08L3A+Ci08ZGl2IGlkPSJjb250
YWluZXIiPjwvZGl2PgotPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Nv
bnNvbGUtY3Jvc3Mtb3JpZ2luLWlmcmFtZS1sb2dnaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtY3Jvc3Mtb3JpZ2luLWlm
cmFtZS1sb2dnaW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzI2YjY4OGNkOWM4ZDlhZWFlNGVjOTgxN2ZiMmUxZTUzOTkwMDM5My4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNyb3NzLW9yaWdpbi1pZnJhbWUtbG9nZ2luZy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiBmcm9t
IGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLiBQ
cm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgotQ09OU09MRSBNRVNTQUdF
OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJv
bSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4g
UHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KLUNPTlNPTEUgTUVTU0FH
RTogVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byBodHRwOi8vMTI3LjAuMC4xOjgwMDAuIFJlY2lw
aWVudCBoYXMgb3JpZ2luIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC4KLQotVGVzdHMgdGhhdCBjcm9z
cyBvcmlnaW4gZXJyb3JzIGFyZSBsb2dnZWQgd2l0aCBzb3VyY2UgdXJsIGFuZCBsaW5lIG51bWJl
ci4KLQotCi1CbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4gY29uc29sZS1j
cm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmcuaHRtbDo5Ci1CbG9ja2VkIGEgZnJhbWUgd2l0aCBv
cmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRo
IG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQg
cG9ydHMgbXVzdCBtYXRjaC4gW25hdGl2ZSBjb2RlXToxCi1VbmFibGUgdG8gcG9zdCBtZXNzYWdl
IHRvIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC4gUmVjaXBpZW50IGhhcyBvcmlnaW4gaHR0cDovL2xv
Y2FsaG9zdDo4MDAwLgotIFtuYXRpdmUgY29kZV06MQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNyb3NzLW9yaWdpbi1pZnJh
bWUtbG9nZ2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvY29uc29sZS1jcm9zcy1vcmlnaW4taWZyYW1lLWxvZ2dpbmcuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTdkMjFhNTFlYzMyNjAxNDRkNGFjZDZiYTAzOGYzOWZjYWE3ODQx
Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWNyb3NzLW9yaWdpbi1p
ZnJhbWUtbG9nZ2luZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBh
Y2Nlc3NGcmFtZSgpCi17Ci0gICAgLy8gU2hvdWxkIGZhaWwuCi0gICAgdmFyIGhvc3QgPSBmcmFt
ZXNbMF0ubG9jYXRpb24uaG9zdDsKLQotICAgIC8vIFNob3VsZCBmYWlsLgotICAgIGZyYW1lc1sw
XS5sb2NhdGlvbi5yZWxvYWQoKTsKLQotICAgIC8vIFNob3VsZCBmYWlsLgotICAgIGZyYW1lc1sw
XS5wb3N0TWVzc2FnZSgiZmFpbCIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGZpbmlzaEF0dGVtcHRzTGVmdCA9IDQ7Ci0gICAgSW5z
cGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihtYXliZUZpbmlzaCwgdHJ1ZSk7Ci0gICAgQ29u
c29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKHRydWUsIHN0ZXAxKTsKLQotICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImFjY2Vzc0ZyYW1lKCkiLCBtYXliZUZpbmlzaCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
bWF5YmVGaW5pc2goKQotICAgIHsKLSAgICAgICAgLS1maW5pc2hBdHRlbXB0c0xlZnQ7Ci0gICAg
ICAgIGlmIChmaW5pc2hBdHRlbXB0c0xlZnQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKGZhbHNlLCBmaW5pc2gpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgY3Jvc3Mgb3JpZ2luIGVycm9ycyBhcmUgbG9nZ2VkIHdp
dGggc291cmNlIHVybCBhbmQgbGluZSBudW1iZXIuPC9wPgotPGlmcmFtZSBzcmM9Imh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1pZnJhbWUuaHRt
bCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2
aWdhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9jb25zb2xlLWxvZy1iZWZvcmUtZnJhbWUtbmF2aWdhdGlvbi1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4ZmU4NWEwMTUxNmQ5YjQ3ZTM1OWFlYTBh
MGExODE1OTM4NWQyZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1s
b2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogQ29uc29sZSBtZXNzYWdlIChD
KSAlZCB3aXRoIGVsZW1lbnQKLVRlc3RzIHRoYXQgV2ViIEluc3BlY3RvciB3b24ndCBjcmFzaCBp
ZiB0aGVyZSBhcmUgbWVzc2FnZXMgd3JpdHRlbiB0byBjb25zb2xlIGZyb20gYSBmcmFtZSB3aGlj
aCBoYXMgYWxyZWFkeSBuYXZpZ2F0ZWQgdG8gYSBwYWdlIGZyb20gYSBkaWZmZXJlbnQgZG9tYWlu
LgotCi0KLVJlY2VpdmVkIGNvbnNvbGUgbWVzc2FnZXM6Ci1NZXNzYWdlWzBdOgotTWVzc2FnZTog
cmVzb3VyY2VzL2NvbnNvbGUtbG9nLWZyYW1lLWJlZm9yZS1uYXZpZ2F0aW9uLmh0bWw6NSBDb25z
b2xlIG1lc3NhZ2UgKEMpICVkIHdpdGggZWxlbWVudAotVEVTVCBDT01QTEVURS4KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1s
b2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtbG9nLWJlZm9yZS1mcmFtZS1uYXZpZ2F0aW9uLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhNzZlOTBlOTliNzY5ODQzZmI3NTQ5
MmI2MjYzODk3MDI2YzVjMTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS1sb2ctYmVmb3JlLWZyYW1lLW5hdmlnYXRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwg
ZmFsc2UpOwotCi1mdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewotICAgIGlmIChldmVu
dC5kYXRhICE9ICJmcmFtZVJlbG9hZGVkIikgewotICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVj
dGVkIG1lc3NhZ2U6ICIgKyBldmVudC5kYXRhKTsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
LnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25zb2xlLm1lc3NhZ2VzOwot
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWNlaXZlZCBjb25zb2xlIG1lc3NhZ2VzOiIp
OwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpIHsKLSAgICAg
ICAgdmFyIG0gPSBtZXNzYWdlc1tpXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ik1lc3NhZ2VbIiArIGkgKyAiXToiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ik1lc3NhZ2U6ICIgKyBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwobS51cmwpICsgIjoi
ICsgbS5saW5lICsgIiAiICsgbS5tZXNzYWdlKTsKLSAgICB9Ci0gICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlRFU1QgQ09NUExFVEUuIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25sb2FkKCki
PgotPHA+Ci1UZXN0cyB0aGF0IFdlYiBJbnNwZWN0b3Igd29uJ3QgY3Jhc2ggaWYgdGhlcmUgYXJl
IG1lc3NhZ2VzIHdyaXR0ZW4gdG8gY29uc29sZSBmcm9tIGEgZnJhbWUgd2hpY2ggaGFzIGFscmVh
ZHkgbmF2aWdhdGVkIHRvIGEgcGFnZSBmcm9tIGEgZGlmZmVyZW50IGRvbWFpbi4KLTwvcD4KLTxp
ZnJhbWUgaWQ9InRoZUZyYW1lIiBzcmM9InJlc291cmNlcy9jb25zb2xlLWxvZy1mcmFtZS1iZWZv
cmUtbmF2aWdhdGlvbi5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtcmVz
b3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjE0ZGE5NmVkYjNlN2IwNjA4MDc0MTIxOTEyZmNlZDRj
OTA4YTcyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXJlc291cmNl
LWVycm9ycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRlc3Rz
IHRoYXQgZXJyb3JzIHRvIGxvYWQgYSByZXNvdXJjZSBjYXVzZSBlcnJvciBtZXNzYWdlcyB0byBi
ZSBsb2dnZWQgdG8gY29uc29sZS4KLQotCi1HRVQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9taXNzaW5nLmNzcyA0MDQgKE5vdCBGb3VuZCkgY29uc29sZS1yZXNvdXJjZS1lcnJvcnMt
aWZyYW1lLmh0bWw6MyBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAotR0VUIGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivbm9uLWV4aXN0ZW50LWlmcmFtZS5odG1sIDQw
NCAoTm90IEZvdW5kKSBub24tZXhpc3RlbnQtaWZyYW1lLmh0bWw6MSBjb25zb2xlLW1lc3NhZ2Ug
Y29uc29sZS1lcnJvci1sZXZlbAotR0VUIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
bm9uLWV4aXN0ZW50LXNjcmlwdC5qcyA0MDQgKE5vdCBGb3VuZCkgY29uc29sZS1yZXNvdXJjZS1l
cnJvcnMtaWZyYW1lLmh0bWw6NCBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAot
R0VUIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivbm9uLWV4aXN0ZW50LXhociA0MDQg
KE5vdCBGb3VuZCkgW25hdGl2ZSBjb2RlXToxc2VuZCBbbmF0aXZlIGNvZGVdOjFsb2FkWEhSIGNv
bnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWw6MThwZXJmb3JtQWN0aW9ucyBjb25zb2xlLXJlc291
cmNlLWVycm9ycy5odG1sOjEwZXZhbCBjb2RlZXZhbCBbbmF0aXZlIGNvZGVdOjFldmFsdWF0ZSBb
bmF0aXZlIGNvZGVdOjFfZXZhbHVhdGVPbl9ldmFsdWF0ZUFuZFdyYXBldmFsdWF0ZSBjb25zb2xl
LW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXJlc291cmNlLWVycm9ycy5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS1yZXNv
dXJjZS1lcnJvcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAxMzBjNjEx
NjBmYzFhY2Y2ODE5NDdhZDhhYjVmZjJiOTdhY2ZmMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9jb25zb2xlLXJlc291cmNlLWVycm9ycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJjb25zb2xlLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLQot
PHNjcmlwdD4KLQotZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIGxvYWRYSFIoKTsK
LSAgICBsb2FkSWZyYW1lKCk7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRYSFIoKQotewotICAgIHZhciB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbigiR0VUIiwibm9uLWV4aXN0
ZW50LXhociIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsKLX0KLQotZnVuY3Rpb24gbG9h
ZElmcmFtZSgpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOwotICAgIGlmcmFtZS5zcmMgPSAicmVzb3VyY2VzL2NvbnNvbGUtcmVzb3VyY2UtZXJy
b3JzLWlmcmFtZS5odG1sIjsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNu
aWZmZXIoYWRkTWVzc2FnZSwgdHJ1ZSk7Ci0KLSAgICB2YXIgbWVzc2FnZUNvdW50ID0gMDsKLSAg
ICBmdW5jdGlvbiBhZGRNZXNzYWdlKG1lc3NhZ2UpCi0gICAgewotICAgICAgIGlmIChtZXNzYWdl
LnRvU3RyaW5nKCkuaW5kZXhPZigibm9uLWV4aXN0ZW50LWlmcmFtZSIpICE9PSAtMSkgewotICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwotICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoQ2xhc3Nlcyh0cnVlKTsKLSAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsK
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgdGhhdCBlcnJvcnMgdG8gbG9hZCBhIHJlc291cmNlIGNhdXNlIGVycm9yIG1lc3Nh
Z2VzIHRvIGJlIGxvZ2dlZCB0byBjb25zb2xlLgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29s
ZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29u
c29sZS10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmE3NzQ5ZTE0MDg1
ZDAyYjg5YzYzYTcwM2FhN2U0Zjc1Nzc0NGIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2NvbnNvbGUtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLXZhciBp
bml0aWFsaXplX0NvbnNvbGVUZXN0ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3BlY3RvclRlc3Quc2hv
d0NvbnNvbGVQYW5lbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVs
KCJjb25zb2xlIik7Ci0gICAgV2ViSW5zcGVjdG9yLmRyYXdlci5pbW1lZGlhdGVseUZpbmlzaEFu
aW1hdGlvbigpOwotfQotCi1JbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMgPSBmdW5j
dGlvbihwcmludE9yaWdpbmF0aW5nQ29tbWFuZCwgZHVtcENsYXNzTmFtZXMpCi17Ci0gICAgdmFy
IHJlc3VsdCA9IFtdOwotICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25zb2xlVmll
dy5fdmlzaWJsZU1lc3NhZ2VzOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVu
Z3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBtZXNzYWdlc1tpXS50b01lc3NhZ2VF
bGVtZW50KCk7Ci0KLSAgICAgICAgaWYgKGR1bXBDbGFzc05hbWVzKSB7Ci0gICAgICAgICAgICB2
YXIgY2xhc3NOYW1lcyA9IFtdOwotICAgICAgICAgICAgZm9yICh2YXIgbm9kZSA9IGVsZW1lbnQu
Zmlyc3RDaGlsZDsgbm9kZTsgbm9kZSA9IG5vZGUudHJhdmVyc2VOZXh0Tm9kZShlbGVtZW50KSkg
ewotICAgICAgICAgICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9E
RSAmJiBub2RlLmNsYXNzTmFtZSkKLSAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNo
KG5vZGUuY2xhc3NOYW1lKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KGVsZW1lbnQudGV4dENvbnRlbnQucmVwbGFjZSgvXHUyMDBi
L2csICIiKSArIChkdW1wQ2xhc3NOYW1lcyA/ICIgIiArIGNsYXNzTmFtZXMuam9pbigiID4gIikg
OiAiIikpOwotICAgICAgICBpZiAocHJpbnRPcmlnaW5hdGluZ0NvbW1hbmQgJiYgbWVzc2FnZXNb
aV0ub3JpZ2luYXRpbmdDb21tYW5kKSB7Ci0gICAgICAgICAgICB2YXIgb3JpZ2luYXRpbmdFbGVt
ZW50ID0gbWVzc2FnZXNbaV0ub3JpZ2luYXRpbmdDb21tYW5kLnRvTWVzc2FnZUVsZW1lbnQoKTsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJPcmlnaW5hdGluZyBmcm9tOiAi
ICsgb3JpZ2luYXRpbmdFbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoL1x1MjAwYi9nLCAiIikp
OwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLUluc3BlY3RvclRl
c3QuZHVtcENvbnNvbGVNZXNzYWdlc1dpdGhTdHlsZXMgPSBmdW5jdGlvbihzb3J0TWVzc2FnZXMp
Ci17Ci0gICAgdmFyIHJlc3VsdCA9IFtdOwotICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rv
ci5jb25zb2xlVmlldy5fdmlzaWJsZU1lc3NhZ2VzOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
bWVzc2FnZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBtZXNzYWdlc1tp
XS50b01lc3NhZ2VFbGVtZW50KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVs
ZW1lbnQudGV4dENvbnRlbnQucmVwbGFjZSgvXHUyMDBiL2csICIiKSk7Ci0gICAgICAgIHZhciBz
cGFucyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmNvbnNvbGUtbWVzc2FnZS10ZXh0ID4g
c3BhbiA+IHNwYW4iKTsKLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzcGFucy5sZW5ndGg7
IGorKykKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTdHlsZWQgdGV4dCAj
IiArIGogKyAiOiAiICsgKHNwYW5zW2pdLnN0eWxlLmNzc1RleHQgfHwgIk5PIFNUWUxFUyBERUZJ
TkVEIikpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzV2l0
aENsYXNzZXMgPSBmdW5jdGlvbihzb3J0TWVzc2FnZXMpIHsKLSAgICB2YXIgcmVzdWx0ID0gW107
Ci0gICAgdmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3Ll92aXNpYmxlTWVz
c2FnZXM7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsraSkgewot
ICAgICAgICB2YXIgZWxlbWVudCA9IG1lc3NhZ2VzW2ldLnRvTWVzc2FnZUVsZW1lbnQoKTsKLSAg
ICAgICAgcmVzdWx0LnB1c2goZWxlbWVudC50ZXh0Q29udGVudC5yZXBsYWNlKC9cdTIwMGIvZywg
IiIpICsgIiAiICsgZWxlbWVudC5nZXRBdHRyaWJ1dGUoImNsYXNzIikpOwotICAgIH0KLSAgICBp
ZiAoc29ydE1lc3NhZ2VzKQotICAgICAgICByZXN1bHQuc29ydCgpOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHJlc3VsdFtpXSk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3Nh
Z2VzID0gZnVuY3Rpb24oKQotewotICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25z
b2xlVmlldy5fdmlzaWJsZU1lc3NhZ2VzOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVzc2Fn
ZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIGVsZW1lbnQgPSBtZXNzYWdlc1tpXS50b01l
c3NhZ2VFbGVtZW50KCk7Ci0gICAgICAgIHZhciBub2RlID0gZWxlbWVudDsKLSAgICAgICAgd2hp
bGUgKG5vZGUpIHsKLSAgICAgICAgICAgIGlmIChub2RlLnRyZWVFbGVtZW50Rm9yVGVzdCkKLSAg
ICAgICAgICAgICAgICBub2RlLnRyZWVFbGVtZW50Rm9yVGVzdC5leHBhbmQoKTsKLSAgICAgICAg
ICAgIG5vZGUgPSBub2RlLnRyYXZlcnNlTmV4dE5vZGUoZWxlbWVudCk7Ci0gICAgICAgIH0KLSAg
ICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuY2hlY2tDb25zb2xlTWVzc2FnZXNEb250SGF2ZVBhcmFt
ZXRlcnMgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNv
bnNvbGVWaWV3Ll92aXNpYmxlTWVzc2FnZXM7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNz
YWdlcy5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgbSA9IG1lc3NhZ2VzW2ldOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWVzc2FnZVsiICsgaSArICJdOiIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWVzc2FnZTogIiArIFdlYkluc3BlY3Rvci5kaXNw
bGF5TmFtZUZvclVSTChtLnVybCkgKyAiOiIgKyBtLmxpbmUgKyAiICIgKyBtLm1lc3NhZ2UpOwot
ICAgICAgICBpZiAoIl9wYXJhbWV0ZXJzIiBpbiBtKSB7Ci0gICAgICAgICAgICBpZiAobS5fcGFy
YW1ldGVycykKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVE
OiBtZXNzYWdlIHBhcmFtZXRlcnMgbGlzdCBpcyBub3QgZW1wdHk6ICIgKyBtLl9wYXJhbWV0ZXJz
KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU1VDQ0VTUzogbWVzc2FnZSBwYXJhbWV0ZXJzIGxpc3QgaXMgZW1wdHkuICIpOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxF
RDogZGlkbid0IGZpbmQgX3BhcmFtZXRlcnMgZmllbGQgaW4gdGhlIG1lc3NhZ2UuIik7Ci0gICAg
ICAgIH0KLSAgICB9Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUtd2Vic29ja2V0LWVycm9yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXdlYnNvY2tldC1lcnJv
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjEyY2NmNTczOTFkNGMxZjBm
MjdjM2FiZjMxZWM4NzFmNzAyZGVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Nv
bnNvbGUtd2Vic29ja2V0LWVycm9yLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJjb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZh
ciB0ZXN0RnVuY3Rpb25zID0gW3Rlc3RETlNMb29rdXAsIHRlc3RTU0xDZXJ0aWZpY2F0ZV07Ci12
YXIgbmV4dFRlc3RJbmRleCA9IDA7Ci0KLWZ1bmN0aW9uIG9ubG9hZCgpCi17Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAg
ICBpZiAoIXdpbmRvdy5XZWJTb2NrZXQpIHsKLSAgICAgICAgY29uc29sZS5sb2coIldlYlNvY2tl
dCBpcyBub3Qgc3VwcG9ydGVkLiIpOyByZXR1cm47Ci0gICAgfQotICAgIGRvTmV4dFRlc3QoKTsK
LX0KLQotZnVuY3Rpb24gZG9OZXh0VGVzdCgpCi17Ci0gICAgaWYgKG5leHRUZXN0SW5kZXggPT0g
dGVzdEZ1bmN0aW9ucy5sZW5ndGgpIHsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotICAgIHZhciB0ZXN0RnVuY3Rpb24gPSB0ZXN0RnVuY3Rpb25zW25leHRUZXN0
SW5kZXhdOwotICAgIG5leHRUZXN0SW5kZXgrKzsKLSAgICB0ZXN0RnVuY3Rpb24oKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdEROU0xvb2t1cCgpCi17Ci0gICAgY29uc29sZS5sb2coInRlc3RETlNMb29r
dXA6IFRlc3Qgc3RhcnRlZC4iKTsKLSAgICB2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL25v
bmV4aXN0ZW50LmRvbWFpbi5pbnZhbGlkLyIpOyAvLyBOZXR3b3JrIGVycm9yIHNob3VsZCBiZSBs
b2dnZWQgdG8gY29uc29sZS4KLSAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKLSAgICAgICAg
Y29uc29sZS5sb2coInRlc3RETlNMb29rdXA6IG9ub3BlbiBpcyBjYWxsZWQuIik7Ci0gICAgICAg
IHdzLmNsb3NlKCk7Ci0gICAgfTsKLSAgICB3cy5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGNvbnNvbGUubG9nKCJ0ZXN0RE5TTG9va3VwOiBvbmVycm9yIGlzIGNhbGxlZC4iKTsKLSAg
ICAgICAgd3MuY2xvc2UoKTsKLSAgICB9OwotICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgY29uc29sZS5sb2coInRlc3RETlNMb29rdXA6IG9uY2xvc2UgaXMgY2FsbGVkLiIp
OwotICAgICAgICBkb05leHRUZXN0KCk7Ci0gICAgfTsKLX0KLQotZnVuY3Rpb24gdGVzdFNTTENl
cnRpZmljYXRlKCkKLXsKLSAgICBjb25zb2xlLmxvZygidGVzdFNTTENlcnRpZmljYXRlOiBUZXN0
IHN0YXJ0ZWQuIik7Ci0gICAgLy8gVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQgc2hvdWxkIGNhdXNl
ICJVbnRydXN0ZWQgcm9vdCBjZXJ0aWZpY2F0ZSIgZXJyb3IuCi0gICAgLy8gTm90ZSB0aGF0IHBv
cnQgODQ0MyBzZXJ2ZXMgSFRUUFMgY29udGVudCByYXRoZXIgdGhhbiBzZWN1cmUgV2ViU29ja2V0
LAotICAgIC8vIGJ1dCBpdCBkb2VzIG5vdCBtYXR0ZXIgYmVjYXVzZSB0aGUgdGVzdCBkb2VzIG5v
dCBzZW5kIG9yIHJlY2VpdmUgYW55IHBheWxvYWQuCi0gICAgdmFyIHdzID0gbmV3IFdlYlNvY2tl
dCgid3NzOi8vMTI3LjAuMC4xOjg0NDMvIik7Ci0gICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGNvbnNvbGUubG9nKCJ0ZXN0U1NMQ2VydGlmaWNhdGU6IG9ub3BlbiBpcyBjYWxs
ZWQuIik7Ci0gICAgICAgIHdzLmNsb3NlKCk7Ci0gICAgfTsKLSAgICB3cy5vbmVycm9yID0gZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJ0ZXN0U1NMQ2VydGlmaWNhdGU6IG9uZXJy
b3IgaXMgY2FsbGVkLiIpOwotICAgICAgICB3cy5jbG9zZSgpOwotICAgIH07Ci0gICAgd3Mub25j
bG9zZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICBjb25zb2xlLmxvZygidGVzdFNTTENlcnRpZmlj
YXRlOiBvbmNsb3NlIGlzIGNhbGxlZC4iKTsKLSAgICAgICAgZG9OZXh0VGVzdCgpOwotICAgIH07
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVN
ZXNzYWdlcygpOwotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwPgotV2ViU29ja2V0
J3MgbmV0d29yayBlcnJvcnMgc2hvdWxkIGJlIGxvZ2dlZCB0byBjb25zb2xlLgotPC9wPgotCi08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9jb25zb2xlLXhoci1sb2dnaW5nLWFzeW5jLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUteGhyLWxvZ2dp
bmctYXN5bmMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjE2
MWIzZWIzODBjZjUxYWYxMmRkMTI1NmMzMWQ5MGQxOGY1MWRjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2NvbnNvbGUteGhyLWxvZ2dpbmctYXN5bmMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxv
YWRlZDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKLVRlc3RzIHRo
YXQgWE1MSHR0cFJlcXVlc3QgTG9nZ2luZyB3b3JrcyB3aGVuIEVuYWJsZWQgYW5kIGRvZXNuJ3Qg
c2hvdyBsb2dzIHdoZW4gRGlzYWJsZWQgZm9yIGFzeW5jaHJvbm91cyBYSFJzLgotCi1CdWcgNzky
MjkKLVhIUiBmaW5pc2hlZCBsb2FkaW5nOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sIi4gW25hdGl2ZSBjb2RlXToxCi1YSFIgbG9hZGVk
OiAxIG5ldHdvcmstdGVzdC5qczo2Ci1YSFIgbG9hZGVkOiAyIG5ldHdvcmstdGVzdC5qczo2Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Nv
bnNvbGUteGhyLWxvZ2dpbmctYXN5bmMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUteGhyLWxvZ2dpbmctYXN5bmMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTU0ZGNmMmM2MDIxOGYyYjc2YmRiYTU3N2ExMzUxNGM2YWUx
YzZjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXhoci1sb2dnaW5n
LWFzeW5jLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJjb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im5ldHdvcmstdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgc3RlcDEoKTsK
LQotICAgIGZ1bmN0aW9uIG1ha2VSZXF1ZXN0KGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3hoci1leGlzdHMuaHRt
bCIsIHRydWUsIGNhbGxiYWNrKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAg
ewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIG1h
a2VSZXF1ZXN0KHN0ZXAyKTsKLSAgICAgICAgfQotCi0gICAgICAgIENvbnNvbGVBZ2VudC5zZXRN
b25pdG9yaW5nWEhSRW5hYmxlZCh0cnVlLCBjYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICB7
Ci0gICAgICAgICAgICBtYWtlUmVxdWVzdChzdGVwMyk7Ci0gICAgICAgIH0KLQotICAgICAgICBD
b25zb2xlQWdlbnQuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoZmFsc2UsIGNhbGxiYWNrKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBmaW5p
c2goKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVz
c2FnZXMoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGZp
bmlzaCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCBYTUxIdHRwUmVxdWVzdCBMb2dnaW5nIHdvcmtzIHdo
ZW4gRW5hYmxlZCBhbmQgZG9lc24ndCBzaG93IGxvZ3Mgd2hlbiBEaXNhYmxlZCBmb3IgYXN5bmNo
cm9ub3VzIFhIUnMuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc5MjI5Ij5CdWcgNzkyMjk8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9jb25zb2xlLXho
ci1sb2dnaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2NvbnNvbGUteGhyLWxvZ2dpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhNTA5NmY4OWIxNTJkNWZhZDVkM2VjOTUwMjI1MDQ0OGUxZWI3NzQ0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUteGhyLWxvZ2dpbmctZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVx
dWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
cy94aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFs
bG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBz
ZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwotQ09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVz
dCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94
aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93
ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgotVGVzdHMgdGhhdCBYTUxIdHRwUmVx
dWVzdCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQgZG9lc24ndCBzaG93IGxvZ3Mgd2hl
biBEaXNhYmxlZC4KLQotc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhp
c3RzLmh0bWwgY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwCi1YSFIgZmluaXNoZWQgbG9hZGlu
ZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMu
aHRtbCIuIFtuYXRpdmUgY29kZV06MQotc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNl
cy94aHItZG9lcy1ub3QtZXhpc3QuaHRtbCBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKLUdF
VCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZG9lcy1ub3Qt
ZXhpc3QuaHRtbCA0MDQgKE5vdCBGb3VuZCkgW25hdGl2ZSBjb2RlXToxCi1YSFIgZmluaXNoZWQg
bG9hZGluZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1k
b2VzLW5vdC1leGlzdC5odG1sIi4gW25hdGl2ZSBjb2RlXToxCi1zZW5kaW5nIGEgUE9TVCByZXF1
ZXN0IHRvIHJlc291cmNlcy9wb3N0LXRhcmdldC5jZ2kgY29uc29sZS14aHItbG9nZ2luZy5odG1s
OjEwCi1YSFIgZmluaXNoZWQgbG9hZGluZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSIuIFtuYXRpdmUgY29kZV06MQotc2VuZGluZyBh
IEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3hoci1leGlzdHMuaHRtbCBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTAKLVhNTEh0dHBSZXF1
ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Vz
L3hoci1leGlzdHMuaHRtbC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxs
b3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uIFtuYXRpdmUgY29kZV06MQotc2Vu
ZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhpc3RzLmh0bWwgY29uc29sZS14
aHItbG9nZ2luZy5odG1sOjEwCi1zZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3ho
ci1kb2VzLW5vdC1leGlzdC5odG1sIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMAotR0VUIGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlz
dC5odG1sIDQwNCAoTm90IEZvdW5kKSBbbmF0aXZlIGNvZGVdOjEKLXNlbmRpbmcgYSBQT1NUIHJl
cXVlc3QgdG8gcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSBjb25zb2xlLXhoci1sb2dnaW5nLmh0
bWw6MTAKLXNlbmRpbmcgYSBHRVQgcmVxdWVzdCB0byBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwgY29uc29sZS14aHItbG9nZ2luZy5odG1s
OjEwCi1YTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiBbbmF0
aXZlIGNvZGVdOjEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvY29uc29sZS14aHItbG9nZ2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvY29uc29sZS14aHItbG9nZ2luZy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2M4OTE1YjUwYjYzYjVhYzY5MGIwZGM2YmQ0NTc0Njdk
MGY0ZDA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2NvbnNvbGUteGhyLWxvZ2dp
bmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImNv
bnNvbGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibmV0d29yay10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXF1ZXN0SGVscGVyKG1ldGhvZCwgdXJsKQot
ewotICAgIC8vIE1ha2Ugc3luY2hyb25vdXMgcmVxdWVzdHMgZm9yIHNpbXBsaWNpdHkuCi0gICAg
Y29uc29sZS5sb2coInNlbmRpbmcgYSAlcyByZXF1ZXN0IHRvICVzIiwgbWV0aG9kLCB1cmwpOwot
ICAgIG1ha2VTaW1wbGVYSFIobWV0aG9kLCB1cmwsIGZhbHNlKTsKLX0KLQotZnVuY3Rpb24gbWFr
ZVJlcXVlc3RzKCkKLXsKLSAgICAvLyAxLiBQYWdlIHRoYXQgZXhpc3RzLgotICAgIHJlcXVlc3RI
ZWxwZXIoIkdFVCIsICJyZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sIik7Ci0gICAgLy8gMi4gUGFn
ZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCi0gICAgcmVxdWVzdEhlbHBlcigiR0VUIiwgInJlc291cmNl
cy94aHItZG9lcy1ub3QtZXhpc3QuaHRtbCIpOwotICAgIC8vIDMuIFBPU1QgdG8gYSBwYWdlLgot
ICAgIHJlcXVlc3RIZWxwZXIoIlBPU1QiLCAicmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSIpOwot
ICAgIC8vIDQuIENyb3NzLW9yaWdpbiByZXF1ZXN0Ci0gICAgcmVxdWVzdEhlbHBlcigiR0VUIiwg
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMuaHRt
bCIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBzdGVwMSgpOwotCi0gICAgZnVuY3Rp
b24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgICAgICB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJtYWtlUmVxdWVzdHMo
KSIsIHN0ZXAyKTsKLSAgICAgICAgfQotICAgICAgICBDb25zb2xlQWdlbnQuc2V0TW9uaXRvcmlu
Z1hIUkVuYWJsZWQodHJ1ZSwgY2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICAgICAgewotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibWFrZVJlcXVlc3RzKCkiLCBzdGVw
Myk7Ci0gICAgICAgIH0KLSAgICAgICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFi
bGVkKGZhbHNlLCBjYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAg
IHsKLSAgICAgICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVu
QWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhmaW5pc2gpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBYTUxI
dHRwUmVxdWVzdCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQgZG9lc24ndCBzaG93IGxv
Z3Mgd2hlbiBEaXNhYmxlZC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZGF0YWJhc2Utb3Blbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9k
YXRhYmFzZS1vcGVuLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YWYwODIxMjdmMTRhZDc5MzYwOTRhYzM1OGIyNjFlNDgzZTc0ZjNiZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9kYXRhYmFzZS1vcGVuLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDYgKzAsMCBAQAotVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdldHMgcG9wdWxhdGVk
IHdpdGggZGF0YWJhc2VzIHRoYXQgd2VyZSBvcGVuZWQgYmVmb3JlIGluc3BlY3RvciBpcyBzaG93
bi4KLQotTmFtZTogSW5zcGVjdG9yRGF0YWJhc2VUZXN0Ci1WZXJzaW9uOiAxLjAKLURvbWFpbjog
MTI3LjAuMC4xCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2RhdGFiYXNlLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL2RhdGFiYXNlLW9wZW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZmRjZDNjZmE3M2NlNGU3ZDgzZWQ2MGViODFlNjEwNDg1OTY2NmZkZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kYXRhYmFzZS1vcGVuLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQot
ewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Ci0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkluc3BlY3RvckRhdGFiYXNl
VGVzdCIsICIxLjAiLCAiVGVzdCBvZiBkYXRhYmFzZSBpbnN0cnVtZW50YXRpb24iLCAxKTsKLQot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zaG93V2ViSW5z
cGVjdG9yKCk7Ci0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBm
dW5jdGlvbiBydW4oKQotICAgIHsKLSAgICAgICAgdmFyIGRhdGFiYXNlcyA9IFdlYkluc3BlY3Rv
ci5kYXRhYmFzZU1vZGVsLmRhdGFiYXNlcygpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGRhdGFiYXNlcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIk5hbWU6ICIgKyBkYXRhYmFzZXNbaV0ubmFtZSk7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiVmVyc2lvbjogIiArIGRhdGFiYXNlc1tpXS52ZXJzaW9uKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEb21haW46ICIgKyBkYXRhYmFzZXNb
aV0uZG9tYWluKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOwotICAgIH0KLSAgICBJbnNwZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNo
ZXMocnVuKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ib25sb2Fk
KCkiPgotPHA+VGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdldHMgcG9wdWxhdGVkIHdpdGggZGF0
YWJhc2VzIHRoYXQgd2VyZSBvcGVuZWQgYmVmb3JlIGluc3BlY3RvciBpcyBzaG93bi48L3A+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9kZWJ1Z2dlci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvZGVidWdnZXItdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGRlM2NhYzJlMmQ5ODJhN2FlYWVmODg1ODRiOGQ1MmJjOWRhODQyYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kZWJ1Z2dlci10ZXN0LmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMzEyICswLDAgQEAKLXZhciBpbml0aWFsaXplX0RlYnVnZ2VyVGVzdCA9IGZ1bmN0aW9u
KCkgewotCi1JbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0ID0gZnVuY3Rpb24oY2FsbGJh
Y2ssIHF1aWV0KQotewotICAgIGlmIChxdWlldCAhPT0gdW5kZWZpbmVkKQotICAgICAgICBJbnNw
ZWN0b3JUZXN0Ll9xdWlldCA9IHF1aWV0OwotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNj
cmlwdHMiKTsKLQotICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kZWJ1Z2dlckVu
YWJsZWQoKSkKLSAgICAgICAgc3RhcnRUZXN0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwgIl9kZWJ1Z2dl
cldhc0VuYWJsZWQiLCBzdGFydFRlc3QpOwotICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJN
b2RlbC5lbmFibGVEZWJ1Z2dlcigpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0YXJ0VGVzdCgp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGVidWdnZXIgd2FzIGVu
YWJsZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbCwgIl9wYXVzZWRTY3JpcHQiLCBJbnNwZWN0b3JUZXN0Ll9wYXVzZWRTY3Jp
cHQsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTW9kZWwsICJfcmVzdW1lZFNjcmlwdCIsIEluc3BlY3RvclRlc3QuX3Jlc3VtZWRT
Y3JpcHQsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKSgp
OwotICAgIH0KLX07Ci0KLUluc3BlY3RvclRlc3QuZmluaXNoRGVidWdnZXJUZXN0ID0gZnVuY3Rp
b24oY2FsbGJhY2spCi17Ci0gICAgdmFyIHNjcmlwdHNQYW5lbCA9IFdlYkluc3BlY3Rvci5wYW5l
bHMuc2NyaXB0czsKLQotICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNldEJyZWFrcG9p
bnRzQWN0aXZlKHRydWUpOwotICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKGRpc2Fi
bGVEZWJ1Z2dlcik7Ci0KLSAgICBmdW5jdGlvbiBkaXNhYmxlRGVidWdnZXIoKQotICAgIHsKLSAg
ICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kZWJ1Z2dlckVuYWJsZWQoKSkK
LSAgICAgICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbCwgIl9k
ZWJ1Z2dlcldhc0Rpc2FibGVkIiwgZGVidWdnZXJEaXNhYmxlZCk7Ci0gICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNb2RlbC5kaXNhYmxlRGVidWdnZXIoKTsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGRlYnVnZ2VyRGlzYWJsZWQoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRlYnVnZ2VyIHdhcyBkaXNhYmxlZC4iKTsKLSAgICAgICAg
Y2FsbGJhY2soKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJU
ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3QuZmluaXNoRGVidWdnZXJUZXN0
KEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0LmJpbmQoSW5zcGVjdG9yVGVzdCkpOwotfTsKLQot
SW5zcGVjdG9yVGVzdC5ydW5EZWJ1Z2dlclRlc3RTdWl0ZSA9IGZ1bmN0aW9uKHRlc3RTdWl0ZSkK
LXsKLSAgICB2YXIgdGVzdFN1aXRlVGVzdHMgPSB0ZXN0U3VpdGUuc2xpY2UoKTsKLQotICAgIGZ1
bmN0aW9uIHJ1bm5lcigpCi0gICAgewotICAgICAgICBpZiAoIXRlc3RTdWl0ZVRlc3RzLmxlbmd0
aCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIG5leHRUZXN0ID0g
dGVzdFN1aXRlVGVzdHMuc2hpZnQoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUnVubmluZzogIiArIC9mdW5j
dGlvblxzKFteKF0qKS8uZXhlYyhuZXh0VGVzdClbMV0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LnNhZmVXcmFwKG5leHRUZXN0KShydW5uZXIsIHJ1bm5lcik7Ci0gICAgfQotCi0gICAgSW5zcGVj
dG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdChydW5uZXIpOwotfQotCi1JbnNwZWN0b3JUZXN0LnJ1
blRlc3RGdW5jdGlvbkFuZFdhaXRVbnRpbFBhdXNlZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInNldFRpbWVvdXQodGVzdEZ1bmN0
aW9uLCAwKSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgdGltZXIgZm9yIHRl
c3QgZnVuY3Rpb24uIik7Ci0gICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoY2FsbGJh
Y2spOwotfTsKLQotSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQgPSBmdW5jdGlvbihjYWxs
YmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2sp
OwotCi0gICAgaWYgKEluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMpCi0gICAgICAgIGNhbGxiYWNr
KEluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMpOwotICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5fd2FpdFVudGlsUGF1c2VkQ2FsbGJhY2sgPSBjYWxsYmFjazsKLX07Ci0KLUluc3BlY3Rv
clRlc3Qud2FpdFVudGlsUmVzdW1lZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAgIGNhbGxi
YWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0KLSAgICBpZiAoIUluc3Bl
Y3RvclRlc3QuX2NhbGxGcmFtZXMpCi0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgZWxzZQotICAg
ICAgICBJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxSZXN1bWVkQ2FsbGJhY2sgPSBjYWxsYmFjazsK
LX07Ci0KLUluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uID0gZnVuY3Rpb24oY2FsbGJhY2sp
Ci17Ci0gICAgaWYgKFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5wYXVzZWQpCi0gICAgICAg
IFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy5fdG9nZ2xlUGF1c2UoKTsKLSAgICBJbnNwZWN0
b3JUZXN0LndhaXRVbnRpbFJlc3VtZWQoY2FsbGJhY2spOwotfTsKLQotSW5zcGVjdG9yVGVzdC5j
YXB0dXJlU3RhY2tUcmFjZSA9IGZ1bmN0aW9uKGNhbGxGcmFtZXMsIGRyb3BMaW5lTnVtYmVycywg
dmVyYm9zZSkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ2FsbCBzdGFjazoiKTsK
LSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxGcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICAg
ICAgdmFyIGZyYW1lID0gY2FsbEZyYW1lc1tpXTsKLSAgICAgICAgdmFyIHNjcmlwdCA9IFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnNjcmlwdEZvcklkKGZyYW1lLmxvY2F0aW9uLnNjcmlwdElk
KTsKLSAgICAgICAgdmFyIHVybDsKLSAgICAgICAgdmFyIGxpbmVOdW1iZXI7Ci0gICAgICAgIHZh
ciBkcm9wRnJhbWVMaW5lTnVtYmVyID0gZHJvcExpbmVOdW1iZXJzOwotICAgICAgICBpZiAoc2Ny
aXB0KSB7Ci0gICAgICAgICAgICB1cmwgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwo
c2NyaXB0LnNvdXJjZVVSTCk7Ci0gICAgICAgICAgICBsaW5lTnVtYmVyID0gZnJhbWUubG9jYXRp
b24ubGluZU51bWJlciArIDE7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB1cmwgPSAi
KGludGVybmFsIHNjcmlwdCkiOwotICAgICAgICAgICAgZHJvcEZyYW1lTGluZU51bWJlciA9ICB0
cnVlOwotICAgICAgICB9Ci0gICAgICAgIHZhciBzID0gIiAgICAiICsgaSArICIpICIgKyBmcmFt
ZS5mdW5jdGlvbk5hbWUgKyAiICgiICsgdXJsICsgKGRyb3BGcmFtZUxpbmVOdW1iZXIgPyAiIiA6
ICI6IiArIGxpbmVOdW1iZXIpICsgIikiOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChzKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1bXBTb3VyY2VGcmFtZUNvbnRlbnRz
ID0gZnVuY3Rpb24oc291cmNlRnJhbWUpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ij09U291cmNlIGZyYW1lIGNvbnRlbnRzIHN0YXJ0PT0iKTsKLSAgICB2YXIgdGV4dEVkaXRvciA9
IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGV4dEVk
aXRvci5saW5lc0NvdW50OyArK2kpCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRl
eHRFZGl0b3IubGluZShpKSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09U291cmNl
IGZyYW1lIGNvbnRlbnRzIGVuZD09Iik7Ci19OwotCi1JbnNwZWN0b3JUZXN0Ll9wYXVzZWRTY3Jp
cHQgPSBmdW5jdGlvbihjYWxsRnJhbWVzLCByZWFzb24sIGF1eERhdGEpCi17Ci0gICAgaWYgKCFJ
bnNwZWN0b3JUZXN0Ll9xdWlldCkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNj
cmlwdCBleGVjdXRpb24gcGF1c2VkLiIpOwotICAgIEluc3BlY3RvclRlc3QuX2NhbGxGcmFtZXMg
PSBjYWxsRnJhbWVzOwotICAgIGlmIChJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxQYXVzZWRDYWxs
YmFjaykgewotICAgICAgICB2YXIgY2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxQ
YXVzZWRDYWxsYmFjazsKLSAgICAgICAgZGVsZXRlIEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFBh
dXNlZENhbGxiYWNrOwotICAgICAgICBjYWxsYmFjayhJbnNwZWN0b3JUZXN0Ll9jYWxsRnJhbWVz
KTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuX3Jlc3VtZWRTY3JpcHQgPSBmdW5jdGlvbigp
Ci17Ci0gICAgaWYgKCFJbnNwZWN0b3JUZXN0Ll9xdWlldCkKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4iKTsKLSAgICBkZWxldGUgSW5z
cGVjdG9yVGVzdC5fY2FsbEZyYW1lczsKLSAgICBpZiAoSW5zcGVjdG9yVGVzdC5fd2FpdFVudGls
UmVzdW1lZENhbGxiYWNrKSB7Ci0gICAgICAgIHZhciBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Qu
X3dhaXRVbnRpbFJlc3VtZWRDYWxsYmFjazsKLSAgICAgICAgZGVsZXRlIEluc3BlY3RvclRlc3Qu
X3dhaXRVbnRpbFJlc3VtZWRDYWxsYmFjazsKLSAgICAgICAgY2FsbGJhY2soKTsKLSAgICB9Ci19
OwotCi1JbnNwZWN0b3JUZXN0LnNob3dVSVNvdXJjZUNvZGUgPSBmdW5jdGlvbih1aVNvdXJjZUNv
ZGUsIGNhbGxiYWNrKQotewotICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5zaG93UGFuZWwo
InNjcmlwdHMiKTsKLSAgICBwYW5lbC5zaG93VUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7Ci0g
ICAgdmFyIHNvdXJjZUZyYW1lID0gcGFuZWwudmlzaWJsZVZpZXc7Ci0gICAgaWYgKHNvdXJjZUZy
YW1lLmxvYWRlZCkKLSAgICAgICAgY2FsbGJhY2soc291cmNlRnJhbWUpOwotICAgIGVsc2UKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKHNvdXJjZUZyYW1lLCAib25UZXh0RWRpdG9y
Q29udGVudExvYWRlZCIsIGNhbGxiYWNrLmJpbmQobnVsbCwgc291cmNlRnJhbWUpKTsKLX07Ci0K
LUluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSA9IGZ1bmN0aW9uKHNjcmlwdE5hbWUsIGNh
bGxiYWNrKQotewotICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlw
dHMiKTsKLSAgICB2YXIgdWlTb3VyY2VDb2RlcyA9IHBhbmVsLl93b3Jrc3BhY2UudWlTb3VyY2VD
b2RlcygpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdWlTb3VyY2VDb2Rlcy5sZW5ndGg7ICsr
aSkgewotICAgICAgICBpZiAodWlTb3VyY2VDb2Rlc1tpXS5uYW1lKCkgPT09IHNjcmlwdE5hbWUp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1VJU291cmNlQ29kZSh1aVNvdXJjZUNv
ZGVzW2ldLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bC5wcm90b3R5cGUsICJfYWRkVUlTb3VyY2VDb2RlIiwgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0
U291cmNlLmJpbmQoSW5zcGVjdG9yVGVzdCwgc2NyaXB0TmFtZSwgY2FsbGJhY2spKTsKLX07Ci0K
LUluc3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IgPSBmdW5jdGlvbihuYXZpZ2F0b3Is
IHByZWZpeCkKLXsKLSAgICBwcmVmaXggPSBwcmVmaXggfHwgIiI7Ci0gICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQocHJlZml4ICsgIkR1bXBpbmcgU2NyaXB0c05hdmlnYXRvciAnU2NyaXB0cycg
dGFiOiIpOwotICAgIGR1bXBOYXZpZ2F0b3JUcmVlT3V0bGluZShwcmVmaXgsIG5hdmlnYXRvci5f
c2NyaXB0c1ZpZXcuX3NjcmlwdHNUcmVlKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChw
cmVmaXggKyAiRHVtcGluZyBTY3JpcHRzTmF2aWdhdG9yICdDb250ZW50IHNjcmlwdHMnIHRhYjoi
KTsKLSAgICBkdW1wTmF2aWdhdG9yVHJlZU91dGxpbmUocHJlZml4LCBuYXZpZ2F0b3IuX2NvbnRl
bnRTY3JpcHRzVmlldy5fc2NyaXB0c1RyZWUpOwotCi0gICAgZnVuY3Rpb24gZHVtcE5hdmlnYXRv
clRyZWVFbGVtZW50KHByZWZpeCwgdHJlZUVsZW1lbnQpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyB0cmVlRWxlbWVudC50aXRsZVRleHQpOwotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytpKQot
ICAgICAgICAgICAgZHVtcE5hdmlnYXRvclRyZWVFbGVtZW50KHByZWZpeCArICIgICIsIHRyZWVF
bGVtZW50LmNoaWxkcmVuW2ldKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1wTmF2aWdhdG9y
VHJlZU91dGxpbmUocHJlZml4LCB0cmVlT3V0bGluZSkKLSAgICB7Ci0gICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdHJlZU91dGxpbmUuY2hpbGRyZW4ubGVuZ3RoOyArK2kpCi0gICAgICAgICAg
ICBkdW1wTmF2aWdhdG9yVHJlZUVsZW1lbnQocHJlZml4ICsgIiAgIiwgdHJlZU91dGxpbmUuY2hp
bGRyZW5baV0pOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci19Owot
Ci1JbnNwZWN0b3JUZXN0LnNldEJyZWFrcG9pbnQgPSBmdW5jdGlvbihzb3VyY2VGcmFtZSwgbGlu
ZU51bWJlciwgY29uZGl0aW9uLCBlbmFibGVkKQotewotICAgIHNvdXJjZUZyYW1lLl9zZXRCcmVh
a3BvaW50KGxpbmVOdW1iZXIsIGNvbmRpdGlvbiwgZW5hYmxlZCk7Ci19OwotCi1JbnNwZWN0b3JU
ZXN0LnJlbW92ZUJyZWFrcG9pbnQgPSBmdW5jdGlvbihzb3VyY2VGcmFtZSwgbGluZU51bWJlcikK
LXsKLSAgICBzb3VyY2VGcmFtZS5fYnJlYWtwb2ludE1hbmFnZXIuZmluZEJyZWFrcG9pbnQoc291
cmNlRnJhbWUuX3VpU291cmNlQ29kZSwgbGluZU51bWJlcikucmVtb3ZlKCk7Ci19OwotCi0KLUlu
c3BlY3RvclRlc3QuZXhwYW5kUHJvcGVydGllcyA9IGZ1bmN0aW9uKHByb3BlcnRpZXMsIGNhbGxi
YWNrKQotewotICAgIHZhciBpbmRleCA9IDA7Ci0gICAgZnVuY3Rpb24gZXhwYW5kTmV4dFBhdGgo
KQotICAgIHsKLSAgICAgICAgaWYgKGluZGV4ID09PSBwcm9wZXJ0aWVzLmxlbmd0aCkgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjaykoKTsKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQotICAgICAgICB2YXIgcGFyZW50VHJlZUVsZW1lbnQgPSBwcm9w
ZXJ0aWVzW2luZGV4KytdOwotICAgICAgICB2YXIgcGF0aCA9IHByb3BlcnRpZXNbaW5kZXgrK107
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuX2V4cGFuZFByb3BlcnR5KHBhcmVudFRyZWVFbGVtZW50
LCBwYXRoLCAwLCBleHBhbmROZXh0UGF0aCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QucnVu
QWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhleHBhbmROZXh0UGF0aCk7Ci19OwotCi1JbnNwZWN0b3JU
ZXN0Ll9leHBhbmRQcm9wZXJ0eSA9IGZ1bmN0aW9uKHBhcmVudFRyZWVFbGVtZW50LCBwYXRoLCBw
YXRoSW5kZXgsIGNhbGxiYWNrKQotewotICAgIGlmIChwYXRoSW5kZXggPT09IHBhdGgubGVuZ3Ro
KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFeHBhbmRlZCBwcm9wZXJ0eTog
IiArIHBhdGguam9pbigiLiIpKTsKLSAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICB2YXIgbmFtZSA9IHBhdGhbcGF0aEluZGV4KytdOwotICAgIHZhciBwcm9w
ZXJ0eVRyZWVFbGVtZW50ID0gSW5zcGVjdG9yVGVzdC5fZmluZENoaWxkUHJvcGVydHlUcmVlRWxl
bWVudChwYXJlbnRUcmVlRWxlbWVudCwgbmFtZSk7Ci0gICAgaWYgKCFwcm9wZXJ0eVRyZWVFbGVt
ZW50KSB7Ci0gICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZhaWxlZCB0byBleHBhbmQg
cHJvcGVydHk6ICIgKyBwYXRoLnNsaWNlKDAsIHBhdGhJbmRleCkuam9pbigiLiIpKTsKLSAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgICBwcm9wZXJ0eVRyZWVFbGVtZW50LmV4cGFuZCgpOwotICAgIEluc3BlY3RvclRl
c3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhJbnNwZWN0b3JUZXN0Ll9leHBhbmRQcm9wZXJ0
eS5iaW5kKEluc3BlY3RvclRlc3QsIHByb3BlcnR5VHJlZUVsZW1lbnQsIHBhdGgsIHBhdGhJbmRl
eCwgY2FsbGJhY2spKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuX2ZpbmRDaGlsZFByb3BlcnR5VHJl
ZUVsZW1lbnQgPSBmdW5jdGlvbihwYXJlbnQsIGNoaWxkTmFtZSkKLXsKLSAgICB2YXIgY2hpbGRy
ZW4gPSBwYXJlbnQuY2hpbGRyZW47Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5s
ZW5ndGg7IGkrKykgewotICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSBjaGlsZHJlbltpXTsKLSAg
ICAgICAgdmFyIHByb3BlcnR5ID0gdHJlZUVsZW1lbnQucHJvcGVydHk7Ci0gICAgICAgIGlmIChw
cm9wZXJ0eS5uYW1lID09PSBjaGlsZE5hbWUpCi0gICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1l
bnQ7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5zZXRRdWlldCA9IGZ1bmN0aW9uKHF1aWV0
KQotewotICAgIEluc3BlY3RvclRlc3QuX3F1aWV0ID0gcXVpZXQ7Ci19OwotCi1JbnNwZWN0b3JU
ZXN0LnF1ZXJ5U2NyaXB0cyA9IGZ1bmN0aW9uKGZpbHRlcikKLXsKLSAgICB2YXIgc2NyaXB0cyA9
IFtdOwotICAgIGZvciAodmFyIHNjcmlwdElkIGluIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
Ll9zY3JpcHRzKSB7Ci0gICAgICAgIHZhciBzY3JpcHQgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJN
b2RlbC5fc2NyaXB0c1tzY3JpcHRJZF07Ci0gICAgICAgIGlmICghZmlsdGVyIHx8IGZpbHRlcihz
Y3JpcHQpKQotICAgICAgICAgICAgc2NyaXB0cy5wdXNoKHNjcmlwdCk7Ci0gICAgfQotICAgIHJl
dHVybiBzY3JpcHRzOwotfTsKLQotSW5zcGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrID0gZnVu
Y3Rpb24odXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBpc0NvbnRlbnRTY3JpcHQsIHNvdXJj
ZSkKLXsKLSAgICB2YXIgc2NyaXB0SWQgPSArK0luc3BlY3RvclRlc3QuX2xhc3RTY3JpcHRJZDsK
LSAgICB2YXIgbGluZUNvdW50ID0gc291cmNlLmxpbmVFbmRpbmdzKCkubGVuZ3RoOwotICAgIHZh
ciBlbmRMaW5lID0gc3RhcnRMaW5lICsgbGluZUNvdW50IC0gMTsKLSAgICB2YXIgZW5kQ29sdW1u
ID0gbGluZUNvdW50ID09PSAxID8gc3RhcnRDb2x1bW4gKyBzb3VyY2UubGVuZ3RoIDogc291cmNl
Lmxlbmd0aCAtIHNvdXJjZS5saW5lRW5kaW5ncygpW2xpbmVDb3VudCAtIDJdOwotICAgIHZhciBo
YXNTb3VyY2VVUkwgPSAhIXNvdXJjZS5tYXRjaCgvXC9cL0Bcc3NvdXJjZVVSTD1ccyooXFMqPylc
cyokL20pOwotICAgIHZhciBzY3JpcHQgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdChzY3JpcHRJ
ZCwgdXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBlbmRMaW5lLCBlbmRDb2x1bW4sIGlzQ29u
dGVudFNjcmlwdCwgbnVsbCwgaGFzU291cmNlVVJMKTsKLSAgICBzY3JpcHQucmVxdWVzdENvbnRl
bnQgPSBmdW5jdGlvbihjYWxsYmFjaykgeyBjYWxsYmFjayhzb3VyY2UsIGZhbHNlLCAidGV4dC9q
YXZhc2NyaXB0Iik7IH07Ci0gICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3JlZ2lzdGVy
U2NyaXB0KHNjcmlwdCk7Ci0gICAgcmV0dXJuIHNjcmlwdDsKLX0KLQotSW5zcGVjdG9yVGVzdC5f
bGFzdFNjcmlwdElkID0gMDsKLQotSW5zcGVjdG9yVGVzdC5jaGVja1Jhd0xvY2F0aW9uID0gZnVu
Y3Rpb24oc2NyaXB0LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGxvY2F0aW9uKQotewotICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHNjcmlwdC5zY3JpcHRJZCwgbG9jYXRpb24uc2Ny
aXB0SWQsICJJbmNvcnJlY3Qgc2NyaXB0SWQiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVx
dWFscyhsaW5lTnVtYmVyLCBsb2NhdGlvbi5saW5lTnVtYmVyLCAiSW5jb3JyZWN0IGxpbmVOdW1i
ZXIiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhjb2x1bW5OdW1iZXIsIGxvY2F0
aW9uLmNvbHVtbk51bWJlciwgIkluY29ycmVjdCBjb2x1bW5OdW1iZXIiKTsKLX07Ci0KLUluc3Bl
Y3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uID0gZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXIsIGxvY2F0aW9uKQotewotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
RXF1YWxzKHVpU291cmNlQ29kZSwgbG9jYXRpb24udWlTb3VyY2VDb2RlLCAiSW5jb3JyZWN0IHVp
U291cmNlQ29kZSwgZXhwZWN0ZWQgJyIgKyAodWlTb3VyY2VDb2RlID8gdWlTb3VyY2VDb2RlLm9y
aWdpblVSTCgpIDogbnVsbCkgKyAiJywiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBidXQgZ290ICciICsgKGxv
Y2F0aW9uLnVpU291cmNlQ29kZSA/IGxvY2F0aW9uLnVpU291cmNlQ29kZS5vcmlnaW5VUkwoKSA6
IG51bGwpICsgIiciKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhsaW5lTnVtYmVy
LCBsb2NhdGlvbi5saW5lTnVtYmVyLCAiSW5jb3JyZWN0IGxpbmVOdW1iZXIsIGV4cGVjdGVkICci
ICsgbGluZU51bWJlciArICInLCBidXQgZ290ICciICsgbG9jYXRpb24ubGluZU51bWJlciArICIn
Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoY29sdW1uTnVtYmVyLCBsb2NhdGlv
bi5jb2x1bW5OdW1iZXIsICJJbmNvcnJlY3QgY29sdW1uTnVtYmVyLCBleHBlY3RlZCAnIiArIGNv
bHVtbk51bWJlciArICInLCBidXQgZ290ICciICsgbG9jYXRpb24uY29sdW1uTnVtYmVyICsgIici
KTsKLX07Ci0KLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9kZWRpY2F0ZWQtd29ya2Vycy1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RlZGljYXRlZC13b3JrZXJzLWxpc3Qt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYWI1OTQ4NzVjOTg0
ZWU4NWI4NzVkYzUyY2QwYjZkNDIwMzFlMzk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2RlZGljYXRlZC13b3JrZXJzLWxpc3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFJlY2VpdmVkIG1lc3NhZ2Ug
ZnJvbSB3b3JrZXIgMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBSZWNlaXZlZCBtZXNzYWdl
IGZyb20gd29ya2VyIDIKLVRlc3RzIHRoYXQgZGVkaWNhdGVkIHdvcmtlcnMgY3JlYXRlZCBiZWZv
cmUgd29ya2VyIGluc3BlY3Rpb24gd2FzIGVuYWJsZWQgd2lsbCBiZSByZXBvcnRlZCB0byB0aGUg
ZnJvbnQtZW5kLiBCdWcgNzIwMjAKLQotV29ya2VyIGluc3BlY3Rpb24gZW5hYmxlZAotQWRkZWQg
d29ya2VyOiAxCi1BZGRlZCB3b3JrZXI6IDIKLURvbmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RlZGljYXRlZC13b3JrZXJzLWxpc3Qu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RlZGljYXRl
ZC13b3JrZXJzLWxpc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjY5ZDZm
ZjAxYTMxZWY1MTU1Y2NhNDI0M2FmMTE5ZDJkZDdlZWY2Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9kZWRpY2F0ZWQtd29ya2Vycy1saXN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw2MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yL2Rl
YnVnZ2VyLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotZnVuY3Rpb24gaGFuZGxlTG9h
ZCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLQotICAgIHZhciB3b3JrZXIxID0gbmV3IFdvcmtlcigicmVzb3VyY2Vz
L2RlZGljYXRlZC13b3JrZXIuanM/aWQ9MSIpOwotICAgIHdvcmtlcjEub25tZXNzYWdlID0gaGFu
ZGxlTWVzc2FnZUZyb21Xb3JrZXI7Ci0gICAgdmFyIHdvcmtlcjIgPSBuZXcgV29ya2VyKCJyZXNv
dXJjZXMvZGVkaWNhdGVkLXdvcmtlci5qcz9pZD0yIik7Ci0gICAgd29ya2VyMi5vbm1lc3NhZ2Ug
PSBoYW5kbGVNZXNzYWdlRnJvbVdvcmtlcjsKLSAgICB2YXIgbWVzc2FnZUNvdW50ID0gMDsKLSAg
ICBmdW5jdGlvbiBoYW5kbGVNZXNzYWdlRnJvbVdvcmtlcihldmVudCkKLSAgICB7Ci0gICAgICAg
IG1lc3NhZ2VDb3VudCsrOwotICAgICAgICBjb25zb2xlLmxvZygiUmVjZWl2ZWQgbWVzc2FnZSBm
cm9tIHdvcmtlciAiICsgbWVzc2FnZUNvdW50KTsKLSAgICAgICAgaWYgKG1lc3NhZ2VDb3VudCA9
PT0gMikgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2hvd1dlYkluc3BlY3RvcigpOwotICAgICAgICAgICAgcnVuVGVzdCgp
OwotICAgICAgICB9Ci0gICAgfQotfQotCi0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdvcmtl
ckFnZW50LmRpc2FibGUoZGlkRGlzYWJsZVdvcmtlckluc3BlY3Rpb24pOwotCi0gICAgZnVuY3Rp
b24gZGlkRGlzYWJsZVdvcmtlckluc3BlY3Rpb24oKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLndvcmtlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuV29ya2VyTWFu
YWdlci5FdmVudHMuV29ya2VyQWRkZWQsIHdvcmtlckFkZGVkLCB0aGlzKTsKLSAgICAgICAgV29y
a2VyQWdlbnQuZW5hYmxlKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJXb3Jr
ZXIgaW5zcGVjdGlvbiBlbmFibGVkIik7Ci0gICAgfQotCi0gICAgdmFyIHdvcmtlckNvdW50ID0g
MDsKLSAgICBmdW5jdGlvbiB3b3JrZXJBZGRlZCgpCi0gICAgewotICAgICAgICB3b3JrZXJDb3Vu
dCsrOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWRkZWQgd29ya2VyOiAiICsg
d29ya2VyQ291bnQpOwotICAgICAgICBpZiAod29ya2VyQ291bnQgPT09IDIpIHsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEb25lLiIpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLX07Ci0KLTwvc2NyaXB0
PgotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0iaGFuZGxlTG9hZCgpIj4KLTxwPlRlc3RzIHRo
YXQgZGVkaWNhdGVkIHdvcmtlcnMgY3JlYXRlZCBiZWZvcmUgd29ya2VyIGluc3BlY3Rpb24gd2Fz
IGVuYWJsZWQgd2lsbCBiZSByZXBvcnRlZCB0byB0aGUgZnJvbnQtZW5kLgotPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDIwIj5CdWcgNzIwMjA8L2E+
Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RvY3VtZW50LXdyaXRlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDc3NzRiNjkyZTMxMmU1
YmY5OWQ5ZDY1ZjJlMDY2ODY4M2FlN2JlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9kb2N1bWVudC13cml0ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBMaW5lIDQKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA1OiBMaW5lIDUKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBMaW5lIDEgaW4gZG9jdW1lbnQu
d3JpdGUKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBMaW5lIDQgaW4gZG9jdW1lbnQud3JpdGUK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBMaW5lIDcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAy
NTogTGluZSAyNQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IHNjcmlwdCBlbGVtZW50Ci1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTogZG9jdW1lbnQud3JpdGUgZnJvbSBvbmxvYWQKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9jdW1lbnQt
d3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2Rv
Y3VtZW50LXdyaXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlN2EwNjQ3
ZDVjYTI1MjBiZGNhZmFiNDQ2YWY2NzQ3NGYwMzA2ZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvZG9jdW1lbnQtd3JpdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci0KLTxzY3JpcHQ+Y29uc29sZS5sb2coIkxpbmUgNCIpOzwvc2Ny
aXB0PgotPHNjcmlwdD5jb25zb2xlLmxvZygiTGluZSA1Iik7PC9zY3JpcHQ+Ci08c2NyaXB0PmRv
Y3VtZW50LndyaXRlKCI8c2NyaXAiICsgInQ+Y29uc29sZS5sb2coXCJMaW5lIDEgaW4gZG9jdW1l
bnQud3JpdGVcIik7XG5cblxuY29uc29sZS5sb2coXCJMaW5lIDQgaW4gZG9jdW1lbnQud3JpdGVc
Iik7PC9zYyIgKyAicmlwdD4iKTs8L3NjcmlwdD4KLTxzY3JpcHQ+Y29uc29sZS5sb2coIkxpbmUg
NyIpOzwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0K
LSAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAg
c2NyaXB0LnRleHRDb250ZW50ID0gImNvbnNvbGUubG9nKFwic2NyaXB0IGVsZW1lbnRcIikiOwot
ICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKLSAgICBkb2N1bWVudC53cml0
ZSgiPHNjcmlwIiArICJ0PmNvbnNvbGUubG9nKFwiZG9jdW1lbnQud3JpdGUgZnJvbSBvbmxvYWRc
Iik7PC9zYyIgKyAicmlwdD4iKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0iY29uc29sZS5sb2coJ0xpbmUgMjUnKTsgb25sb2FkKCk7Ij4KLTxwPgotVGVzdHMgdGhh
dCBjb25zb2xlIHJlcG9ydHMgemVybyBsaW5lIG51bWJlciBmb3Igc2NyaXB0cyBnZW5lcmF0ZWQg
d2l0aCBkb2N1bWVudC53cml0ZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTA5OS4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZG9tLXN0b3JhZ2Utb3Blbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9k
b20tc3RvcmFnZS1vcGVuLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYTQ2ODIxMWE1NjdmNTczZDhjMDQwNzdiMDkxOTEwYjJiMWVlMjI5ZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9kb20tc3RvcmFnZS1vcGVuLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDcgKzAsMCBAQAotVGVzdHMgdGhhdCBXZWIgSW5zcGVjdG9yIGdldHMgcG9w
dWxhdGVkIHdpdGggRE9NIHN0b3JhZ2VzIGFjY29yZGluZyB0byBzZWN1cml0eSBvcmlnaW5zIGZv
dW5kIGluIHRoZSBwYWdlLgotCi1TZWN1cml0eU9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4MDAw
Ci1Jc0xvY2FsU3RvcmFnZTogdHJ1ZQotU2VjdXJpdHlPcmlnaW46IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMAotSXNMb2NhbFN0b3JhZ2U6IGZhbHNlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RvbS1zdG9yYWdlLW9wZW4uaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2RvbS1zdG9yYWdlLW9wZW4uaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTMwMjAwNzI0ZTVhYWFlNDRmYTI2Mjc2
MjcwMTc4YWQyNGY2YjZkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9kb20tc3Rv
cmFnZS1vcGVuLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiBvbmxvYWQoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0KLSAgICB3aW5kb3cuc2Vzc2lv
blN0b3JhZ2VbImluc3BlY3RvciJdID0gInRydWUiOwotCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICBydW5UZXN0
KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAg
ICB7Ci0gICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rvci5kb21TdG9yYWdlTW9kZWwu
c3RvcmFnZXMoKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yYWdlcy5sZW5ndGg7
ICsraSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlY3VyaXR5T3Jp
Z2luOiAiICsgc3RvcmFnZXNbaV0uc2VjdXJpdHlPcmlnaW4pOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIklzTG9jYWxTdG9yYWdlOiAiICsgc3RvcmFnZXNbaV0uaXNMb2Nh
bFN0b3JhZ2UpOwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotICAgIEluc3BlY3RvckJhY2tlbmQucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hl
cyhjYWxsYmFjayk7Ci19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Im9u
bG9hZCgpIj4KLTxwPlRlc3RzIHRoYXQgV2ViIEluc3BlY3RvciBnZXRzIHBvcHVsYXRlZCB3aXRo
IERPTSBzdG9yYWdlcyBhY2NvcmRpbmcgdG8gc2VjdXJpdHkgb3JpZ2lucyBmb3VuZCBpbiB0aGUg
cGFnZS48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9keW5hbWljLXNjcmlwdHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZHluYW1pYy1zY3JpcHRz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZmYTlmODdhMWY1
ZWNjZDAxYWU4ZWQyNGRkZGYwYTczYzlmMmNhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9keW5hbWljLXNjcmlwdHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMg
KzAsMCBAQAotVGVzdHMgdGhhdCBzY3JpcHRzIGZvciBkeW5hbWljYWxseSBhZGRlZCBzY3JpcHQg
ZWxlbWVudHMgYXJlIHNob3duIGluIHNvdXJjZXMgcGFuZWwgaWYgaW5zcGVjdG9yIGlzIG9wZW5l
ZCBhZnRlciB0aGUgc2NyaXB0cyB3ZXJlIGxvYWRlZC4KLQotQnVnIDk5MzI0Ci1EZWJ1Z2dlciB3
YXMgZW5hYmxlZC4KLVVJU291cmNlQ29kZXM6Ci0gICAgZGVidWdnZXItdGVzdC5qcwotICAgIGR5
bmFtaWMtc2NyaXB0LmpzCi0gICAgZHluYW1pYy1zY3JpcHRzLmh0bWwKLSAgICBldmFsU291cmNl
VVJMLmpzCi0gICAgaW5zcGVjdG9yLXRlc3QuanMKLSAgICBzY3JpcHRFbGVtZW50Q29udGVudFNv
dXJjZVVSTC5qcwotRGVidWdnZXIgd2FzIGRpc2FibGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9keW5hbWljLXNjcmlwdHMuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2R5bmFtaWMtc2NyaXB0
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwM2Q1NzAzN2M2NTA2NDFjOWEz
MjZkZWQwYmMyOTViNGZlY2QxMDBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2R5
bmFtaWMtc2NyaXB0cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiBhcHBlbmREeW5hbWljU2NyaXB0RWxlbWVudChzcmMsIGNvbnRlbnQp
Ci17Ci0gICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3Jp
cHQiKTsKLSAgICBpZiAoc3JjKQotICAgICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHNyYzsKLSAg
ICBlbHNlCi0gICAgICAgIHNjcmlwdEVsZW1lbnQudGV4dENvbnRlbnQgPSBjb250ZW50OwotICAg
IGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9u
IGxvYWRTY3JpcHRzKCkKLXsKLSAgICB2YXIgc291cmNlVVJMQ29tbWVudCA9ICJcbiAvL0Agc291
cmNlVVJMPSI7Ci0gICAgd2luZG93LmV2YWwoImZ1bmN0aW9uIGZvb0V2YWwoKSB7fSIpOwotICAg
IHdpbmRvdy5ldmFsKCJmdW5jdGlvbiBmb29FdmFsU291cmNlVVJMKCkge30iICsgc291cmNlVVJM
Q29tbWVudCArICJldmFsU291cmNlVVJMLmpzIik7Ci0gICAgYXBwZW5kRHluYW1pY1NjcmlwdEVs
ZW1lbnQoIiIsICJmdW5jdGlvbiBmb29TY3JpcHRFbGVtZW50Q29udGVudDEoKSB7fSIpOwotICAg
IGFwcGVuZER5bmFtaWNTY3JpcHRFbGVtZW50KCIiLCAiZnVuY3Rpb24gZm9vU2NyaXB0RWxlbWVu
dENvbnRlbnQyKCkge30iKTsKLSAgICBhcHBlbmREeW5hbWljU2NyaXB0RWxlbWVudCgiIiwgImZ1
bmN0aW9uIGZvb1NjcmlwdEVsZW1lbnRDb250ZW50U291cmNlVVJMKCkge30iICsgc291cmNlVVJM
Q29tbWVudCArICJzY3JpcHRFbGVtZW50Q29udGVudFNvdXJjZVVSTC5qcyIpOwotICAgIGFwcGVu
ZER5bmFtaWNTY3JpcHRFbGVtZW50KCJyZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMiKTsKLX0K
LQotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIGxvYWRTY3JpcHRzKCk7Ci19Ci0K
LWZ1bmN0aW9uIHNjcmlwdExvYWRlZCgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0b3IoKTsKLSAgICBydW5UZXN0KCk7Ci19
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRl
c3Qoc3RlcDIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2YXIgcGFuZWwgPSBXZWJJbnNwZWN0b3Iu
c2hvd1BhbmVsKCJzY3JpcHRzIik7Ci0gICAgICAgIHZhciB1aVNvdXJjZUNvZGVzID0gV2ViSW5z
cGVjdG9yLndvcmtzcGFjZS51aVNvdXJjZUNvZGVzRm9yUHJvamVjdFR5cGUoV2ViSW5zcGVjdG9y
LnByb2plY3RUeXBlcy5OZXR3b3JrKTsKLSAgICAgICAgdmFyIHVybHMgPSB1aVNvdXJjZUNvZGVz
Lm1hcChmdW5jdGlvbih1aVNvdXJjZUNvZGUpIHsgcmV0dXJuIHVpU291cmNlQ29kZS5uYW1lKCk7
IH0pOwotICAgICAgICB1cmxzLnNvcnQoKTsKLSAgICAgICAgCi0gICAgICAgIHZhciB3aGl0ZUxp
c3QgPSBbImRlYnVnZ2VyLXRlc3QuanMiLCAiZHluYW1pYy1zY3JpcHQuanMiLCAiZHluYW1pYy1z
Y3JpcHRzLmh0bWwiLCAiZXZhbFNvdXJjZVVSTC5qcyIsICJpbnNwZWN0b3ItdGVzdC5qcyIsICJz
Y3JpcHRFbGVtZW50Q29udGVudFNvdXJjZVVSTC5qcyJdOwotICAgICAgICBmdW5jdGlvbiBmaWx0
ZXIodXJsKQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdoaXRl
TGlzdC5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIGlmICh1cmwuaW5kZXhPZih3aGl0
ZUxpc3RbaV0pICE9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0KLSAgICAgICAgdXJscyA9IHVybHMuZmlsdGVyKGZpbHRlcik7Ci0KLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291cmNlQ29kZXM6Iik7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdXJscy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIgICAgIiArIHVybHNbaV0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlRGVidWdnZXJUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9Im9ubG9hZCgpIj4KLTxwPlRlc3RzIHRoYXQgc2NyaXB0cyBmb3IgZHluYW1pY2Fs
bHkgYWRkZWQgc2NyaXB0IGVsZW1lbnRzIGFyZSBzaG93biBpbiBzb3VyY2VzIHBhbmVsIGlmIGlu
c3BlY3RvciBpcyBvcGVuZWQgYWZ0ZXIgdGhlIHNjcmlwdHMgd2VyZSBsb2FkZWQuPC9wPgotPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MzI0Ij5CdWcg
OTkzMjQ8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9lbGVtZW50cy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZWxlbWVudHMtdGVzdC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDBmNmQ1N2FiZTE3Y2JhY2IzODUxNDhmYTM5ZGUwNTNhZTk1
MTI3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9lbGVtZW50cy10ZXN0LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsNjQ0ICswLDAgQEAKLXZhciBpbml0aWFsaXplX0VsZW1lbnRUZXN0
ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3BlY3RvclRlc3QuZmluZE5vZGUgPSBmdW5jdGlvbihtYXRj
aEZ1bmN0aW9uLCBjYWxsYmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2Fm
ZVdyYXAoY2FsbGJhY2spOwotICAgIHZhciByZXN1bHQgPSBudWxsOwotICAgIHZhciB0b3BMZXZl
bENoaWxkcmVuUmVxdWVzdGVkID0gZmFsc2U7Ci0gICAgdmFyIHBlbmRpbmdSZXF1ZXN0cyA9IDA7
Ci0gICAgZnVuY3Rpb24gcHJvY2Vzc0NoaWxkcmVuKHRvcExldmVsLCBjaGlsZHJlbikKLSAgICB7
Ci0gICAgICAgIHBlbmRpbmdSZXF1ZXN0cy0tOwotICAgICAgICBpZiAocmVzdWx0KQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwg
Y2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBjaGlsZE5vZGUgPSBjaGls
ZHJlbltpXTsKLSAgICAgICAgICAgIGlmIChtYXRjaEZ1bmN0aW9uKGNoaWxkTm9kZSkpIHsKLSAg
ICAgICAgICAgICAgICByZXN1bHQgPSBjaGlsZE5vZGU7Ci0gICAgICAgICAgICAgICAgY2FsbGJh
Y2socmVzdWx0KTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBwZW5kaW5nUmVxdWVzdHMrKzsKLSAgICAgICAgICAgIGNoaWxkTm9kZS5nZXRDaGls
ZE5vZGVzKHByb2Nlc3NDaGlsZHJlbi5iaW5kKG51bGwsIGZhbHNlKSk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBpZiAodG9wTGV2ZWwpCi0gICAgICAgICAgICB0b3BMZXZlbENoaWxkcmVuUmVxdWVz
dGVkID0gdHJ1ZTsKLSAgICAgICAgaWYgKHRvcExldmVsQ2hpbGRyZW5SZXF1ZXN0ZWQgJiYgIXJl
c3VsdCAmJiAhcGVuZGluZ1JlcXVlc3RzKQotICAgICAgICAgICAgY2FsbGJhY2sobnVsbCk7Ci0g
ICAgfQotICAgIHBlbmRpbmdSZXF1ZXN0cysrOwotCi0gICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlcXVlc3REb2N1bWVudChkb2N1bWVudFJlcXVlc3RlZC5iaW5kKHRoaXMpKTsKLSAgICBmdW5j
dGlvbiBkb2N1bWVudFJlcXVlc3RlZChkb2MpCi0gICAgewotICAgICAgICBkb2MuZ2V0Q2hpbGRO
b2Rlcyhwcm9jZXNzQ2hpbGRyZW4uYmluZCh0aGlzLCB0cnVlKSk7Ci0gICAgfQotfTsKLQotSW5z
cGVjdG9yVGVzdC5ub2RlV2l0aElkID0gZnVuY3Rpb24oaWRWYWx1ZSwgY2FsbGJhY2spCi17Ci0g
ICAgZnVuY3Rpb24gbm9kZUlkTWF0Y2hlcyhub2RlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5v
ZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09PSBpZFZhbHVlOwotICAgIH0KLSAgICBJbnNwZWN0b3JU
ZXN0LmZpbmROb2RlKG5vZGVJZE1hdGNoZXMsIGNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVz
dC5leHBhbmRlZE5vZGVXaXRoSWQgPSBmdW5jdGlvbihpZFZhbHVlKQotewotICAgIHZhciByZXN1
bHQ7Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2sobm9kZSkKLSAgICB7Ci0gICAgICAgIHJlc3VsdCA9
IG5vZGU7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3Qubm9kZVdpdGhJZChpZFZhbHVlLCBjYWxs
YmFjayk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2Rl
V2l0aElkID0gZnVuY3Rpb24oaWRWYWx1ZSwgY2FsbGJhY2spCi17Ci0gICAgY2FsbGJhY2sgPSBJ
bnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKLSAgICBmdW5jdGlvbiBvbk5vZGVGb3Vu
ZChub2RlKQotICAgIHsKLSAgICAgICAgaWYgKG5vZGUpCi0gICAgICAgICAgICBXZWJJbnNwZWN0
b3IuX3VwZGF0ZUZvY3VzZWROb2RlKG5vZGUuaWQpOwotICAgICAgICBjYWxsYmFjayhub2RlKTsK
LSAgICB9Ci0gICAgSW5zcGVjdG9yVGVzdC5ub2RlV2l0aElkKGlkVmFsdWUsIG9uTm9kZUZvdW5k
KTsKLX0KLQotSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzID0gZnVuY3Rpb24oaWRWYWx1ZSwg
Y2FsbGJhY2ssIHJlcXVpcmVSZWJ1aWxkKQotewotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVz
dC5zYWZlV3JhcChjYWxsYmFjayk7Ci0KLSAgICAoZnVuY3Rpb24gc25pZmYobm9kZSwgcmVidWls
ZCkKLSAgICB7Ci0gICAgICAgIGlmICgocmVidWlsZCB8fCAhcmVxdWlyZVJlYnVpbGQpICYmIG5v
ZGUgJiYgbm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT09IGlkVmFsdWUpIHsKLSAgICAgICAgICAg
IGNhbGxiYWNrKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5wcm90
b3R5cGUsICJfbm9kZVN0eWxlc1VwZGF0ZWRGb3JUZXN0Iiwgc25pZmYpOwotICAgIH0pKG51bGwp
OwotfQotCi1JbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzID0gZnVuY3Rp
b24oaWRWYWx1ZSwgY2FsbGJhY2spCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxl
bWVudHMiKTsKLQotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFj
ayk7Ci0KLSAgICB2YXIgdGFyZ2V0Tm9kZTsKLQotICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0
eWxlcyhpZFZhbHVlLCBzdHlsZXNVcGRhdGVkLCB0cnVlKTsKLSAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVXaXRoSWQoaWRWYWx1ZSwgbm9kZVNlbGVjdGVkKTsKLQotICAgIGZ1bmN0aW9uIG5v
ZGVTZWxlY3RlZChub2RlKQotICAgIHsKLSAgICAgICAgdGFyZ2V0Tm9kZSA9IG5vZGU7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3R5bGVzVXBkYXRlZCgpCi0gICAgewotICAgICAgICBjYWxsYmFj
ayh0YXJnZXROb2RlKTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdh
aXRGb3JTdHlsZXNXaXRoQ29tcHV0ZWQgPSBmdW5jdGlvbihpZFZhbHVlLCBjYWxsYmFjaykKLXsK
LSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOwotCi0gICAg
ZnVuY3Rpb24gc3R5bGVzQ2FsbGJhY2sodGFyZ2V0Tm9kZSkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlLCAi
b25Db250ZW50UmVhZHkiLCBjYWxsYmFjayk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMu
ZWxlbWVudHMuc2lkZWJhclBhbmVzLmNvbXB1dGVkU3R5bGUuZXhwYW5kKCk7Ci0gICAgfQotCi0g
ICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcyhpZFZhbHVlLCBzdHls
ZXNDYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxl
cyA9IGZ1bmN0aW9uKGV4Y2x1ZGVDb21wdXRlZCwgZXhjbHVkZU1hdGNoZWQsIG9taXRMb25naGFu
ZHMsIGluY2x1ZGVTZWxlY3Rvckdyb3VwTWFya3MpCi17Ci0gICAgZnVuY3Rpb24gZXh0cmFjdFRl
eHQoZWxlbWVudCkKLSAgICB7Ci0gICAgICAgIHZhciB0ZXh0ID0gZWxlbWVudC50ZXh0Q29udGVu
dDsKLSAgICAgICAgaWYgKHRleHQpCi0gICAgICAgICAgICByZXR1cm4gdGV4dDsKLSAgICAgICAg
ZWxlbWVudCA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcigiW2RhdGEtdW5jb3B5YWJsZV0iKTsKLSAg
ICAgICAgcmV0dXJuIGVsZW1lbnQgPyBlbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS11bmNvcHlh
YmxlIikgOiAiIjsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBidWlsZE1hcmtlZFNlbGVjdG9ycyhl
bGVtZW50KQotICAgIHsKLSAgICAgICAgdmFyIHJlc3VsdCA9ICIiOwotICAgICAgICBmb3IgKHZh
ciBub2RlID0gZWxlbWVudC5maXJzdENoaWxkOyBub2RlOyBub2RlID0gbm9kZS5uZXh0U2libGlu
ZykgewotICAgICAgICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RF
ICYmIG5vZGUuY2xhc3NOYW1lID09PSAic2VsZWN0b3ItbWF0Y2hlcyIpCi0gICAgICAgICAgICAg
ICAgcmVzdWx0ICs9ICJbJCIgKyBub2RlLnRleHRDb250ZW50ICsgIiRdIjsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICByZXN1bHQgKz0gbm9kZS50ZXh0Q29udGVudDsKLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLQotICAgIHZhciBzdHlsZVNlY3Rp
b25zID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNl
Y3Rpb25zOwotICAgIGZvciAodmFyIHBzZXVkb0lkIGluIHN0eWxlU2VjdGlvbnMpIHsKLSAgICAg
ICAgdmFyIHBzZXVkb05hbWUgPSBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuUHNldWRv
SWROYW1lc1twc2V1ZG9JZF07Ci0gICAgICAgIHZhciBzZWN0aW9ucyA9IHN0eWxlU2VjdGlvbnNb
cHNldWRvSWRdOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlY3Rpb25zLmxlbmd0aDsg
KytpKSB7Ci0gICAgICAgICAgICB2YXIgc2VjdGlvbiA9IHNlY3Rpb25zW2ldOwotICAgICAgICAg
ICAgaWYgKHNlY3Rpb24uY29tcHV0ZWRTdHlsZSAmJiBleGNsdWRlQ29tcHV0ZWQpCi0gICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBpZiAoc2VjdGlvbi5ydWxlICYmIGV4Y2x1
ZGVNYXRjaGVkKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaWYgKHNl
Y3Rpb24uZWxlbWVudC5wcmV2aW91c1NpYmxpbmcgJiYgc2VjdGlvbi5lbGVtZW50LnByZXZpb3Vz
U2libGluZy5jbGFzc05hbWUgPT09ICJzaWRlYmFyLXNlcGFyYXRvciIpCi0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09ICIgKyBzZWN0aW9uLmVsZW1lbnQu
cHJldmlvdXNTaWJsaW5nLnRleHRDb250ZW50ICsgIiA9PT09PT09PSIpOwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoKHNlY3Rpb24uZXhwYW5kZWQgPyAiW2V4cGFuZGVkXSAi
IDogIltjb2xsYXBzZWRdICIpICsgKHNlY3Rpb24ubm9BZmZlY3QgPyAiW25vLWFmZmVjdF0gIiA6
ICIiKSk7Ci0gICAgICAgICAgICB2YXIgY2hhaW5FbnRyaWVzID0gc2VjdGlvbi50aXRsZUVsZW1l
bnQuY2hpbGRyZW47Ci0gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNoYWluRW50cmll
cy5sZW5ndGg7ICsraikgewotICAgICAgICAgICAgICAgIHZhciBjaGFpbkVudHJ5ID0gY2hhaW5F
bnRyaWVzW2pdOwotICAgICAgICAgICAgICAgIHZhciBlbnRyeUxpbmUgPSBpbmNsdWRlU2VsZWN0
b3JHcm91cE1hcmtzID8gYnVpbGRNYXJrZWRTZWxlY3RvcnMoY2hhaW5FbnRyeS5jaGlsZHJlblsx
XSkgOiBjaGFpbkVudHJ5LmNoaWxkcmVuWzFdLnRleHRDb250ZW50OwotICAgICAgICAgICAgICAg
IGlmIChjaGFpbkVudHJ5LmNoaWxkcmVuWzJdKQotICAgICAgICAgICAgICAgICAgICBlbnRyeUxp
bmUgKz0gIiAiICsgY2hhaW5FbnRyeS5jaGlsZHJlblsyXS50ZXh0Q29udGVudDsKLSAgICAgICAg
ICAgICAgICBlbnRyeUxpbmUgKz0gIiAoIiArIGV4dHJhY3RUZXh0KGNoYWluRW50cnkuY2hpbGRy
ZW5bMF0pICsgIikiOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVu
dHJ5TGluZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzZWN0aW9uLmV4cGFuZCgpOwot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlT3V0bGluZShzZWN0aW9uLnBy
b3BlcnRpZXNUcmVlT3V0bGluZSwgb21pdExvbmdoYW5kcyA/IDEgOiAyKTsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgfQotfQotCi1JbnNwZWN0b3JUZXN0LnRvZ2dsZVN0
eWxlUHJvcGVydHkgPSBmdW5jdGlvbihwcm9wZXJ0eU5hbWUsIGNoZWNrZWQpCi17Ci0gICAgdmFy
IHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVt
KHByb3BlcnR5TmFtZSk7Ci0gICAgdHJlZUl0ZW0udG9nZ2xlRW5hYmxlZCh7IHRhcmdldDogeyBj
aGVja2VkOiBjaGVja2VkIH0sIGNvbnN1bWU6IGZ1bmN0aW9uKCkgeyB9IH0pOwotfQotCi1JbnNw
ZWN0b3JUZXN0LnRvZ2dsZU1hdGNoZWRTdHlsZVByb3BlcnR5ID0gZnVuY3Rpb24ocHJvcGVydHlO
YW1lLCBjaGVja2VkKQotewotICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0TWF0
Y2hlZFN0eWxlUHJvcGVydHlUcmVlSXRlbShwcm9wZXJ0eU5hbWUpOwotICAgIHRyZWVJdGVtLnRv
Z2dsZUVuYWJsZWQoeyB0YXJnZXQ6IHsgY2hlY2tlZDogY2hlY2tlZCB9LCBjb25zdW1lOiBmdW5j
dGlvbigpIHsgfSB9KTsKLX0KLQotSW5zcGVjdG9yVGVzdC5leHBhbmRBbmREdW1wU2VsZWN0ZWRF
bGVtZW50RXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0
b3JUZXN0LmV4cGFuZFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzKGZ1bmN0aW9uKCkgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVycyhj
YWxsYmFjayk7Ci0gICAgfSk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXhwYW5kU2VsZWN0ZWRFbGVt
ZW50RXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICB2YXIgc2lkZWJh
clBhbmUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5ldmVudExp
c3RlbmVyczsKLSAgICBzaWRlYmFyUGFuZS5leHBhbmQoKTsKLQotICAgIEluc3BlY3RvclRlc3Qu
cnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVyc1N1YnNlY3Rpb25zKGNhbGxi
YWNrKTsKLSAgICB9KTsKLX0KLQotSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRF
dmVudExpc3RlbmVyc1N1YnNlY3Rpb25zID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgdmFy
IGV2ZW50TGlzdGVuZXJTZWN0aW9ucyA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lk
ZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJzLnNlY3Rpb25zOwotICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgZXZlbnRMaXN0ZW5lclNlY3Rpb25zLmxlbmd0aDsgKytpKQotICAgICAgICBldmVudExpc3Rl
bmVyU2VjdGlvbnNbaV0uZXhwYW5kKCk7Ci0KLSAgICAvLyBNdWx0aXBsZSBzZWN0aW9ucyBtYXkg
ZXhwYW5kLgotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhmdW5j
dGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRFdmVu
dExpc3RlbmVyc0V2ZW50QmFycyhjYWxsYmFjayk7Ci0gICAgfSk7Ci19Ci0KLUluc3BlY3RvclRl
c3QuZXhwYW5kU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnNFdmVudEJhcnMgPSBmdW5jdGlv
bihjYWxsYmFjaykKLXsKLSAgICB2YXIgZXZlbnRMaXN0ZW5lclNlY3Rpb25zID0gV2ViSW5zcGVj
dG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuZXZlbnRMaXN0ZW5lcnMuc2VjdGlvbnM7
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudExpc3RlbmVyU2VjdGlvbnMubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgdmFyIGV2ZW50QmFyQ2hpbGRyZW4gPSBldmVudExpc3RlbmVyU2VjdGlv
bnNbaV0uX2V2ZW50QmFycy5jaGlsZHJlbjsKLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBl
dmVudEJhckNoaWxkcmVuLmxlbmd0aDsgKytqKQotICAgICAgICAgICAgZXZlbnRCYXJDaGlsZHJl
bltqXS5fc2VjdGlvbi5leHBhbmQoKTsKLSAgICB9Ci0KLSAgICAvLyBNdWx0aXBsZSBzZWN0aW9u
cyBtYXkgZXhwYW5kLgotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hl
cyhjYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50
TGlzdGVuZXJzID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgZnVuY3Rpb24gZm9ybWF0U291
cmNlTmFtZVByb3BlcnR5KHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuICJbY2xpcHBlZC1m
b3ItdGVzdF0vIiArIHZhbHVlLnJlcGxhY2UoLyguKj9cLylMYXlvdXRUZXN0cy8sICJMYXlvdXRU
ZXN0cyIpOwotICAgIH0KLQotICAgIHZhciBldmVudExpc3RlbmVyU2VjdGlvbnMgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVycy5zZWN0aW9u
czsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50TGlzdGVuZXJTZWN0aW9ucy5sZW5ndGg7
ICsraSkgewotICAgICAgICB2YXIgc2VjdGlvbiA9IGV2ZW50TGlzdGVuZXJTZWN0aW9uc1tpXTsK
LSAgICAgICAgdmFyIGV2ZW50VHlwZSA9IHNlY3Rpb24uX3RpdGxlOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9
PT09PT09PSAiICsgZXZlbnRUeXBlICsgIiA9PT09PT09PSIpOwotICAgICAgICB2YXIgZXZlbnRC
YXJDaGlsZHJlbiA9IHNlY3Rpb24uX2V2ZW50QmFycy5jaGlsZHJlbjsKLSAgICAgICAgZm9yICh2
YXIgaiA9IDA7IGogPCBldmVudEJhckNoaWxkcmVuLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAg
ICB2YXIgb2JqZWN0UHJvcGVydGllc1NlY3Rpb24gPSBldmVudEJhckNoaWxkcmVuW2pdLl9zZWN0
aW9uOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wT2JqZWN0UHJvcGVydHlTZWN0aW9u
KG9iamVjdFByb3BlcnRpZXNTZWN0aW9uLCB7Ci0gICAgICAgICAgICAgICAgc291cmNlTmFtZTog
Zm9ybWF0U291cmNlTmFtZVByb3BlcnR5Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIGNhbGxiYWNrKCk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcE9iamVjdFByb3Bl
cnR5U2VjdGlvbiA9IGZ1bmN0aW9uKHNlY3Rpb24sIGZvcm1hdHRlcnMpCi17Ci0gICAgdmFyIGV4
cGFuZGVkU3Vic3RyaW5nID0gc2VjdGlvbi5leHBhbmRlZCA/ICJbZXhwYW5kZWRdIiA6ICJbY29s
bGFwc2VkXSI7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXhwYW5kZWRTdWJzdHJpbmcg
KyAiICIgKyBzZWN0aW9uLnRpdGxlRWxlbWVudC50ZXh0Q29udGVudCArICIgIiArIHNlY3Rpb24u
c3VidGl0bGVBc1RleHRGb3JUZXN0KTsKLSAgICBpZiAoIXNlY3Rpb24ucHJvcGVydGllc0ZvclRl
c3QpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VjdGlvbi5w
cm9wZXJ0aWVzRm9yVGVzdC5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgcHJvcGVydHkgPSBz
ZWN0aW9uLnByb3BlcnRpZXNGb3JUZXN0W2ldOwotICAgICAgICB2YXIga2V5ID0gcHJvcGVydHku
bmFtZTsKLSAgICAgICAgdmFyIHZhbHVlID0gcHJvcGVydHkudmFsdWUuX2Rlc2NyaXB0aW9uOwot
ICAgICAgICBpZiAoa2V5IGluIGZvcm1hdHRlcnMpCi0gICAgICAgICAgICB2YWx1ZSA9IGZvcm1h
dHRlcnNba2V5XSh2YWx1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAg
IiArIGtleSArICI6ICIgKyB2YWx1ZSk7Ci0gICAgfQotfQotCi1JbnNwZWN0b3JUZXN0LmR1bXBP
YmplY3RQcm9wZXJ0eVNlY3Rpb25EZWVwID0gZnVuY3Rpb24oc2VjdGlvbikKLXsKLSAgICBmdW5j
dGlvbiBkb21Ob2RlVG9TdHJpbmcobm9kZSkgewotICAgICAgICBpZiAobm9kZSkKLSAgICAgICAg
ICAgIHJldHVybiAiJyIgKyBub2RlLnRleHRDb250ZW50ICsgIiciOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICByZXR1cm4gIm51bGwiOwotICAgIH0KLSAgICBmdW5jdGlvbiBkdW1wVHJlZUVs
ZW1lbnRSZWN1cnNpdmVseSh0cmVlRWxlbWVudCwgcHJlZml4KSB7Ci0gICAgICAgIGlmICgibmFt
ZUVsZW1lbnQiIGluIHRyZWVFbGVtZW50KQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQocHJlZml4ICsgZG9tTm9kZVRvU3RyaW5nKHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50KSAr
ICIgPT4gIiArIGRvbU5vZGVUb1N0cmluZyh0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQpKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4ICsg
dHJlZUVsZW1lbnQudGl0bGUpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyZWVFbGVt
ZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKQotICAgICAgICAgICAgZHVtcFRyZWVFbGVtZW50UmVj
dXJzaXZlbHkodHJlZUVsZW1lbnQuY2hpbGRyZW5baV0sIHByZWZpeCArICIgICAgIik7Ci0gICAg
fQotCi0gICAgdmFyIGNoaWxkTm9kZXMgPSBzZWN0aW9uLnByb3BlcnRpZXNUcmVlT3V0bGluZS5j
aGlsZHJlbjsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkTm9kZXMubGVuZ3RoOyBpKysp
IHsKLSAgICAgICAgZHVtcFRyZWVFbGVtZW50UmVjdXJzaXZlbHkoY2hpbGROb2Rlc1tpXSwgIiIp
OwotICAgIH0KLX0KLQotLy8gRklYTUU6IHRoaXMgcmV0dXJucyB0aGUgZmlyc3QgdHJlZSBpdGVt
IGZvdW5kIChtYXkgZmFpbCBmb3Igc2FtZS1uYW1lZCBwcm9wZXJ0aWVzIGluIGEgc3R5bGUpLgot
SW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQcm9wZXJ0eVRyZWVJdGVtID0gZnVuY3Rpb24o
cHJvcGVydHlOYW1lKQotewotICAgIHZhciBzdHlsZVNlY3Rpb25zID0gV2ViSW5zcGVjdG9yLnBh
bmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdOwotICAgIHZhciBl
bGVtZW50U3R5bGVTZWN0aW9uID0gc3R5bGVTZWN0aW9uc1sxXTsKLSAgICByZXR1cm4gSW5zcGVj
dG9yVGVzdC5nZXRGaXJzdFByb3BlcnR5VHJlZUl0ZW1Gb3JTZWN0aW9uKGVsZW1lbnRTdHlsZVNl
Y3Rpb24sIHByb3BlcnR5TmFtZSk7Ci19OwotCi0vLyBGSVhNRTogdGhpcyByZXR1cm5zIHRoZSBm
aXJzdCB0cmVlIGl0ZW0gZm91bmQgKG1heSBmYWlsIGZvciBzYW1lLW5hbWVkIHByb3BlcnRpZXMg
aW4gYSBzdHlsZSkuCi1JbnNwZWN0b3JUZXN0LmdldE1hdGNoZWRTdHlsZVByb3BlcnR5VHJlZUl0
ZW0gPSBmdW5jdGlvbihwcm9wZXJ0eU5hbWUpCi17Ci0gICAgdmFyIHN0eWxlU2VjdGlvbnMgPSBX
ZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNb
MF07Ci0gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBzdHlsZVNlY3Rpb25zLmxlbmd0aDsgKytpKSB7
Ci0gICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0Rmlyc3RQcm9wZXJ0eVRy
ZWVJdGVtRm9yU2VjdGlvbihzdHlsZVNlY3Rpb25zW2ldLCBwcm9wZXJ0eU5hbWUpOwotICAgICAg
ICBpZiAodHJlZUl0ZW0pCi0gICAgICAgICAgICByZXR1cm4gdHJlZUl0ZW07Ci0gICAgfQotICAg
IHJldHVybiBudWxsOwotfTsKLQotSW5zcGVjdG9yVGVzdC5nZXRGaXJzdFByb3BlcnR5VHJlZUl0
ZW1Gb3JTZWN0aW9uID0gZnVuY3Rpb24oc2VjdGlvbiwgcHJvcGVydHlOYW1lKQotewotICAgIHZh
ciBvdXRsaW5lID0gc2VjdGlvbi5wcm9wZXJ0aWVzVHJlZU91dGxpbmU7Ci0gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBvdXRsaW5lLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciB0
cmVlSXRlbSA9IG91dGxpbmUuY2hpbGRyZW5baV07Ci0gICAgICAgIGlmICh0cmVlSXRlbS5uYW1l
ID09PSBwcm9wZXJ0eU5hbWUpCi0gICAgICAgICAgICByZXR1cm4gdHJlZUl0ZW07Ci0gICAgfQot
ICAgIHJldHVybiBudWxsOwotfTsKLQotSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlT3V0bGlu
ZSA9IGZ1bmN0aW9uKHRyZWVJdGVtLCBkZXB0aCkKLXsKLSAgICB2YXIgY2hpbGRyZW4gPSB0cmVl
SXRlbS5jaGlsZHJlbjsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsg
KytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVtKGNoaWxkcmVuW2ld
LCAiIiwgZGVwdGggfHwgMik7Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1bXBTdHlsZVRyZWVJdGVt
ID0gZnVuY3Rpb24odHJlZUl0ZW0sIHByZWZpeCwgZGVwdGgpCi17Ci0gICAgLy8gRmlsdGVyIG91
dCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMgaW4gb3JkZXIgdG8gbWluaW1pemUKLSAgICAv
LyBwb3RlbnRpYWwgZGlmZnMuCi0gICAgaWYgKCF0cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQudGV4
dENvbnRlbnQuaW5kZXhPZigid2lkdGgiKSB8fAotICAgICAgICAhdHJlZUl0ZW0ubGlzdEl0ZW1F
bGVtZW50LnRleHRDb250ZW50LmluZGV4T2YoImhlaWdodCIpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBpZiAodHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50Lmhhc1N0eWxlQ2xhc3MoImluaGVyaXRl
ZCIpKQotICAgICAgICByZXR1cm47Ci0gICAgdmFyIHR5cGVQcmVmaXggPSAiIjsKLSAgICBpZiAo
dHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50Lmhhc1N0eWxlQ2xhc3MoIm92ZXJsb2FkZWQiKSB8fCB0
cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQuaGFzU3R5bGVDbGFzcygiaW5hY3RpdmUiKSB8fCB0cmVl
SXRlbS5saXN0SXRlbUVsZW1lbnQuaGFzU3R5bGVDbGFzcygibm90LXBhcnNlZC1vayIpKQotICAg
ICAgICB0eXBlUHJlZml4ICs9ICIvLS0gb3ZlcmxvYWRlZCAtLS8gIjsKLSAgICBpZiAodHJlZUl0
ZW0ubGlzdEl0ZW1FbGVtZW50Lmhhc1N0eWxlQ2xhc3MoImRpc2FibGVkIikpCi0gICAgICAgIHR5
cGVQcmVmaXggKz0gIi8tLSBkaXNhYmxlZCAtLS8gIjsKLSAgICB2YXIgdGV4dENvbnRlbnQgPSB0
cmVlSXRlbS5saXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQ7Ci0KLSAgICAvLyBBZGQgbm9uLXNl
bGVjdGFibGUgdXJsIHRleHQuCi0gICAgdmFyIHRleHREYXRhID0gdHJlZUl0ZW0ubGlzdEl0ZW1F
bGVtZW50LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXVuY29weWFibGVdIik7Ci0gICAgaWYgKHRleHRE
YXRhKQotICAgICAgICB0ZXh0Q29udGVudCArPSB0ZXh0RGF0YS5nZXRBdHRyaWJ1dGUoImRhdGEt
dW5jb3B5YWJsZSIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeCArIHR5cGVQ
cmVmaXggKyB0ZXh0Q29udGVudCk7Ci0gICAgaWYgKC0tZGVwdGgpIHsKLSAgICAgICAgdHJlZUl0
ZW0uZXhwYW5kKCk7Ci0gICAgICAgIHZhciBjaGlsZHJlbiA9IHRyZWVJdGVtLmNoaWxkcmVuOwot
ICAgICAgICBmb3IgKHZhciBpID0gMDsgY2hpbGRyZW4gJiYgaSA8IGNoaWxkcmVuLmxlbmd0aDsg
KytpKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRlbShjaGlsZHJl
bltpXSwgcHJlZml4ICsgIiAgICAiLCBkZXB0aCk7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVz
dC5kdW1wRWxlbWVudHNUcmVlID0gZnVuY3Rpb24ocm9vdE5vZGUsIGRlcHRoKQotewotICAgIGZ1
bmN0aW9uIGJlYXV0aWZ5KGVsZW1lbnQpCi0gICAgewotICAgICAgICByZXR1cm4gZWxlbWVudC5p
bm5lclRleHQucmVwbGFjZSgvXHUyMDBiL2csICIiKS5yZXBsYWNlKC9cbi9nLCAiXFxuIikudHJp
bSgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBNYXAobmFtZSwgbWFwKQotICAgIHsKLSAg
ICAgICAgdmFyIHJlc3VsdCA9IFtdOwotICAgICAgICBmb3IgKHZhciBpZCBpbiBtYXApCi0gICAg
ICAgICAgICByZXN1bHQucHVzaChpZCArICI9IiArIG1hcFtpZF0pOwotICAgICAgICBpZiAoIXJl
c3VsdC5sZW5ndGgpCi0gICAgICAgICAgICByZXR1cm4gIiI7Ci0gICAgICAgIHJldHVybiBuYW1l
ICsgIjpbIiArIHJlc3VsdC5qb2luKCIsIikgKyAiXSI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
dXNlclByb3BlcnR5RGF0YUR1bXAodHJlZUl0ZW0pCi0gICAgewotICAgICAgICBpZiAodHJlZUl0
ZW0uX2VsZW1lbnRDbG9zZVRhZykKLSAgICAgICAgICAgIHJldHVybiAiIjsKLQotICAgICAgICB2
YXIgdXNlclByb3BlcnRpZXMgPSAiIjsKLSAgICAgICAgdmFyIG5vZGUgPSB0cmVlSXRlbS5yZXBy
ZXNlbnRlZE9iamVjdDsKLSAgICAgICAgaWYgKG5vZGUpIHsKLSAgICAgICAgICAgIHVzZXJQcm9w
ZXJ0aWVzICs9IGR1bXBNYXAoInVzZXJQcm9wZXJ0aWVzIiwgbm9kZS5fdXNlclByb3BlcnRpZXMp
OwotICAgICAgICAgICAgdmFyIGR1bXAgPSBkdW1wTWFwKCJkZXNjZW5kYW50VXNlckF0dHJpYnV0
ZUNvdW50ZXJzIiwgbm9kZS5fZGVzY2VuZGFudFVzZXJQcm9wZXJ0eUNvdW50ZXJzKTsKLSAgICAg
ICAgICAgIGlmIChkdW1wKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHVzZXJQcm9wZXJ0aWVzKQot
ICAgICAgICAgICAgICAgICAgICB1c2VyUHJvcGVydGllcyArPSAiLCAiOwotICAgICAgICAgICAg
ICAgIHVzZXJQcm9wZXJ0aWVzICs9IGR1bXA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBp
ZiAodXNlclByb3BlcnRpZXMpCi0gICAgICAgICAgICAgICAgdXNlclByb3BlcnRpZXMgPSAiIFsi
ICsgdXNlclByb3BlcnRpZXMgKyAiXSI7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHVzZXJQ
cm9wZXJ0aWVzOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByaW50KHRyZWVJdGVtLCBwcmVmaXgs
IGRlcHRoKQotICAgIHsKLSAgICAgICAgaWYgKHRyZWVJdGVtLmxpc3RJdGVtRWxlbWVudCkgewot
ICAgICAgICAgICAgdmFyIGV4cGFuZGVyOwotICAgICAgICAgICAgaWYgKHRyZWVJdGVtLmhhc0No
aWxkcmVuKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRyZWVJdGVtLmV4cGFuZGVkKQotICAgICAg
ICAgICAgICAgICAgICBleHBhbmRlciA9ICItICI7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICBleHBhbmRlciA9ICIrICI7Ci0gICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICBleHBhbmRlciA9ICIgICI7Ci0KLSAgICAgICAgICAgIHZhciB1c2VyUHJv
cGVydGllcyA9IHVzZXJQcm9wZXJ0eURhdGFEdW1wKHRyZWVJdGVtKTsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeCArIGV4cGFuZGVyICsgYmVhdXRpZnkodHJlZUl0
ZW0ubGlzdEl0ZW1FbGVtZW50KSArIHVzZXJQcm9wZXJ0aWVzKTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlmICghdHJlZUl0ZW0uZXhwYW5kZWQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgdmFyIGNoaWxkcmVuID0gdHJlZUl0ZW0uY2hpbGRyZW47Ci0gICAgICAgIGZvciAodmFyIGkg
PSAwOyBkZXB0aCAmJiBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoIC0gMTsgKytpKQot
ICAgICAgICAgICAgcHJpbnQoY2hpbGRyZW5baV0sIHByZWZpeCArICIgICAgIiwgZGVwdGggLSAx
KTsKLQotICAgICAgICAvLyBDbG9zaW5nIHRhZy4KLSAgICAgICAgaWYgKGNoaWxkcmVuICYmIGNo
aWxkcmVuLmxlbmd0aCkKLSAgICAgICAgICAgIHByaW50KGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0
aCAtIDFdLCBwcmVmaXgsIGRlcHRoKTsKLSAgICB9Ci0KLSAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LmVsZW1lbnRzLnRyZWVPdXRsaW5lLl91cGRhdGVNb2RpZmllZE5vZGVzKCk7Ci0gICAgdmFyIHRy
ZWVPdXRsaW5lID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy50cmVlT3V0bGluZTsKLSAg
ICBwcmludChyb290Tm9kZSA/IHRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVudChyb290Tm9kZSkg
OiB0cmVlT3V0bGluZSwgIiIsIGRlcHRoIHx8IDEwMDAwKTsKLX07Ci0KLUluc3BlY3RvclRlc3Qu
ZXhwYW5kRWxlbWVudHNUcmVlID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgY2FsbGJhY2sg
PSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIGV4cGFu
ZCh0cmVlSXRlbSkKLSAgICB7Ci0gICAgICAgIHZhciBjaGlsZHJlbiA9IHRyZWVJdGVtLmNoaWxk
cmVuOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgY2hpbGRyZW4gJiYgaSA8IGNoaWxkcmVuLmxl
bmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBjaGlsZHJlbltpXS5leHBhbmQoKTsKLSAgICAgICAg
ICAgIGV4cGFuZChjaGlsZHJlbltpXSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBvbkFsbE5vZGVzQXZhaWxhYmxlKCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5l
bHMuZWxlbWVudHMudHJlZU91dGxpbmUuX3VwZGF0ZU1vZGlmaWVkTm9kZXMoKTsKLSAgICAgICAg
ZXhwYW5kKFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMudHJlZU91dGxpbmUpOwotICAgICAg
ICBjYWxsYmFjaygpOwotICAgIH0KLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50
cyIpOwotICAgIEluc3BlY3RvclRlc3QuZmluZE5vZGUoZnVuY3Rpb24oKSB7IHJldHVybiBmYWxz
ZTsgfSwgb25BbGxOb2Rlc0F2YWlsYWJsZSk7Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1bXBET01B
Z2VudFRyZWUgPSBmdW5jdGlvbigpCi17Ci0gICAgaWYgKCFXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
X2RvY3VtZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBmdW5jdGlvbiBkdW1wKG5vZGUsIHBy
ZWZpeCwgc3RhcnRJbmRleCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHByZWZpeCArIG5vZGUubm9kZU5hbWUoKSArICJbIiArIChub2RlLmlkIC0gc3RhcnRJbmRleCkr
ICJdIik7Ci0gICAgICAgIHZhciBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47Ci0gICAgICAgIGZv
ciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCi0gICAg
ICAgICAgICBkdW1wKGNoaWxkcmVuW2ldLCBwcmVmaXggKyAiICAgICIsIHN0YXJ0SW5kZXgpOwot
ICAgIH0KLSAgICBkdW1wKFdlYkluc3BlY3Rvci5kb21BZ2VudC5fZG9jdW1lbnQsICIiLCBXZWJJ
bnNwZWN0b3IuZG9tQWdlbnQuX2RvY3VtZW50LmlkIC0gMSk7Ci19OwotCi1JbnNwZWN0b3JUZXN0
LnJhbmdlVGV4dCA9IGZ1bmN0aW9uKHJhbmdlKQotewotICAgIGlmICghcmFuZ2UpCi0gICAgICAg
IHJldHVybiAiW3VuZGVmaW5lZC11bmRlZmluZWRdIjsKLSAgICByZXR1cm4gIlsiICsgcmFuZ2Uu
c3RhcnRMaW5lICsgIjoiICsgcmFuZ2Uuc3RhcnRDb2x1bW4gKyAiLSIgKyByYW5nZS5lbmRMaW5l
ICsgIjoiICsgcmFuZ2UuZW5kQ29sdW1uICsgIl0iOwotfQotCi1JbnNwZWN0b3JUZXN0LmdlbmVy
YXRlVW5kb1Rlc3QgPSBmdW5jdGlvbih0ZXN0Qm9keSkKLXsKLSAgICBmdW5jdGlvbiByZXN1bHQo
bmV4dCkKLSAgICB7Ci0gICAgICAgIHZhciB0ZXN0Tm9kZSA9IEluc3BlY3RvclRlc3QuZXhwYW5k
ZWROb2RlV2l0aElkKC9mdW5jdGlvblxzKFteKF0qKS8uZXhlYyh0ZXN0Qm9keSlbMV0pOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiSW5pdGlhbDoiKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRlc3ROb2RlKTsKLQotICAgICAgICB0ZXN0Qm9keSh1
bmRvKTsKLQotICAgICAgICBmdW5jdGlvbiB1bmRvKCkKLSAgICAgICAgewotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBvc3QtYWN0aW9uOiIpOwotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wRWxlbWVudHNUcmVlKHRlc3ROb2RlKTsKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC51bmRvKHJlZG8pOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rp
b24gcmVkbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJQb3N0LXVuZG8gKGluaXRpYWwpOiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
RWxlbWVudHNUcmVlKHRlc3ROb2RlKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2Vu
dC5yZWRvKGRvbmUpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gZG9uZSgpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3N0LXJlZG8gKGFj
dGlvbik6Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGVz
dE5vZGUpOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJlc3Vs
dC50b1N0cmluZyA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0ZXN0Qm9keS50
b1N0cmluZygpOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1jb25zdCBpbmRlbnQg
PSAiICAgICI7Ci0KLUluc3BlY3RvclRlc3QuZHVtcFJ1bGVzQXJyYXkgPSBmdW5jdGlvbihydWxl
cywgY3VycmVudEluZGVudCkKLXsKLSAgICBpZiAoIXJ1bGVzKQotICAgICAgICByZXR1cm47Ci0g
ICAgY3VycmVudEluZGVudCA9IGN1cnJlbnRJbmRlbnQgfHwgIiI7Ci0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBydWxlcy5sZW5ndGg7ICsraSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVs
ZShydWxlc1tpXSwgY3VycmVudEluZGVudCk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcFJ1bGVN
YXRjaGVzQXJyYXkgPSBmdW5jdGlvbihtYXRjaGVzLCBjdXJyZW50SW5kZW50KQotewotICAgIGlm
ICghbWF0Y2hlcykKLSAgICAgICAgcmV0dXJuOwotICAgIGN1cnJlbnRJbmRlbnQgPSBjdXJyZW50
SW5kZW50IHx8ICIiOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF0Y2hlcy5sZW5ndGg7ICsr
aSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZShtYXRjaGVzW2ldLnJ1bGUsIGN1cnJl
bnRJbmRlbnQpOwotfQotCi1JbnNwZWN0b3JUZXN0LmR1bXBSdWxlID0gZnVuY3Rpb24ocnVsZSwg
Y3VycmVudEluZGVudCkKLXsKLSAgICBmdW5jdGlvbiBzZWxlY3RvclJhbmdlKCkKLSAgICB7Ci0g
ICAgICAgIGlmICghcnVsZS5zZWxlY3Rvckxpc3QgfHwgIXJ1bGUuc2VsZWN0b3JMaXN0LnJhbmdl
KQotICAgICAgICAgICAgcmV0dXJuICIiOwotICAgICAgICB2YXIgcmFuZ2UgPSBydWxlLnNlbGVj
dG9yTGlzdC5yYW5nZTsKLSAgICAgICAgcmV0dXJuICIsICIgKyByYW5nZS5zdGFydExpbmUgKyAi
OiIgKyByYW5nZS5zdGFydENvbHVtbiArICItIiArIHJhbmdlLmVuZExpbmUgKyAiOiIgKyByYW5n
ZS5lbmRDb2x1bW47Ci0gICAgfQotCi0gICAgY3VycmVudEluZGVudCA9IGN1cnJlbnRJbmRlbnQg
fHwgIiI7Ci0KLSAgICBpZiAoIXJ1bGUudHlwZSB8fCBydWxlLnR5cGUgPT09ICJzdHlsZSIpIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVudCArIHJ1bGUuc2Vs
ZWN0b3JMaXN0LnRleHQgKyAiOiBbIiArIHJ1bGUub3JpZ2luICsgc2VsZWN0b3JSYW5nZSgpICsg
Il0geyIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHlsZShydWxlLnN0eWxlLCBjdXJy
ZW50SW5kZW50ICsgaW5kZW50KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3Vy
cmVudEluZGVudCArICJ9Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAocnVs
ZS50eXBlID09PSAibWVkaWEiKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1
cnJlbnRJbmRlbnQgKyAiQG1lZGlhICIgKyBydWxlLm1lZGlhVGV4dCArICIgeyIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxlc0FycmF5KHJ1bGUuY2hpbGRSdWxlcywgY3VycmVudElu
ZGVudCArIGluZGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJ
bmRlbnQgKyAifSIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHJ1bGUudHlw
ZSA9PT0gImltcG9ydCIpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVu
dEluZGVudCArICJAaW1wb3J0OiBoZWFkZXI9IiArIEluc3BlY3RvclRlc3QucmFuZ2VUZXh0KHJ1
bGUuaGVhZGVyUmFuZ2UpICsgIiwgYm9keT0iICsgSW5zcGVjdG9yVGVzdC5yYW5nZVRleHQocnVs
ZS5ib2R5UmFuZ2UpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChydWxlLnR5
cGUgPT09ICJwYWdlIiB8fCBydWxlLnR5cGUgPT09ICJmb250LWZhY2UiKSB7Ci0gICAgICAgIGlm
IChydWxlLnR5cGUgPT09ICJwYWdlIikKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KGN1cnJlbnRJbmRlbnQgKyBydWxlLnNlbGVjdG9yTGlzdC50ZXh0ICsgIiB7Iik7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRl
bnQgKyAiQCIgKyBydWxlLnR5cGUgKyAiICIgKyAocnVsZS5zZWxlY3Rvckxpc3QudGV4dCA/IHJ1
bGUuc2VsZWN0b3JMaXN0LnRleHQgKyAiICIgOiAiIikgICsgInsiKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU3R5bGUocnVsZS5zdHlsZSwgY3VycmVudEluZGVudCArIGluZGVudCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAifSIpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKHJ1bGUudHlwZSA9PT0gImNoYXJzZXQiKSB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJAY2hhcnNldCIpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoY3VycmVudEluZGVu
dCArICJbVU5LTk9XTiBSVUxFXTogaGVhZGVyPSIgKyBJbnNwZWN0b3JUZXN0LnJhbmdlVGV4dChy
dWxlLmhlYWRlclJhbmdlKSArICIsIGJvZHk9IiArIEluc3BlY3RvclRlc3QucmFuZ2VUZXh0KHJ1
bGUuYm9keVJhbmdlKSk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZHVtcFN0eWxlID0gZnVuY3Rpb24o
c3R5bGUsIGN1cnJlbnRJbmRlbnQpCi17Ci0gICAgY3VycmVudEluZGVudCA9IGN1cnJlbnRJbmRl
bnQgfHwgIiI7Ci0gICAgaWYgKCFzdHlsZSkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChjdXJyZW50SW5kZW50ICsgIltOTyBTVFlMRV0iKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlLmNzc1Byb3BlcnRpZXMubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgdmFyIHByb3BlcnR5ID0gc3R5bGUuY3NzUHJvcGVydGllc1tpXTsKLSAg
ICAgICAgaWYgKHByb3BlcnR5LnN0YXR1cyAhPT0gImRpc2FibGVkIikKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1cnJlbnRJbmRlbnQgKyAiWyciICsgcHJvcGVydHkubmFt
ZSArICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAocHJvcGVydHkucHJpb3JpdHkgPT09
ICJpbXBvcnRhbnQiID8gIiBpcy1pbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGluIHBy
b3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgSW5zcGVjdG9yVGVzdC5yYW5n
ZVRleHQocHJvcGVydHkucmFuZ2UpICsgIiAiICsgKHByb3BlcnR5LnN0YXR1cyB8fCAic3R5bGUi
KSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGN1
cnJlbnRJbmRlbnQgKyAiW3RleHQ9JyIgKyBwcm9wZXJ0eS50ZXh0ICsgIiddICIgKyBwcm9wZXJ0
eS5zdGF0dXMpOwotICAgIH0KLX0KLQotfTsKLQotZnVuY3Rpb24gZHVtcEluc3BlY3RvckhpZ2hs
aWdodFJlY3RzKCkKLXsKLSAgICB2YXIgcmVjdE5hbWVzID0gWyJtYXJnaW4iLCAiYm9yZGVyIiwg
InBhZGRpbmciLCAiY29udGVudCJdOwotICAgIHZhciByZWN0cyA9IHdpbmRvdy5pbnRlcm5hbHMu
aW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY3Rz
Lmxlbmd0aDsgaSsrKQotICAgIHsKLSAgICAgICAgdmFyIHJlY3ROYW1lID0gKGkgPCByZWN0TmFt
ZXMubGVuZ3RoID8gcmVjdE5hbWVzW2ldIDogInVudGl0bGVkIik7Ci0gICAgICAgIHZhciByZWN0
ID0gcmVjdHMuaXRlbShpKTsKLSAgICAgICAgb3V0cHV0KHJlY3ROYW1lICsgIiByZWN0IGlzICIg
KyByZWN0LndpZHRoICsgIiB4ICIgKyByZWN0LmhlaWdodCArICIgYXQgKCIgKyByZWN0LmxlZnQg
KyAiLCAiICsgcmVjdC50b3AgKyAiKSIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gZHVtcEluc3Bl
Y3RvckhpZ2hsaWdodGVkUmVnaW9ucygpCi17Ci0gICAgdmFyIGhpZ2hsaWdodCA9IHdpbmRvdy5p
bnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCk7Ci0gICAgaWYgKCFoaWdobGlnaHQu
bGVuZ3RoKSB7Ci0gICAgICAgIG91dHB1dCgiTm8gaGlnaGxpZ2h0ZWQgbm9kZS4iKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICAvLyBSZWZvcm1hdCB0aGUgc3RyaW5nIHVzaW5nIEpTT04u
c3RyaW5naWZ5LgotICAgIHZhciBqc29uID0gSlNPTi5wYXJzZShoaWdobGlnaHQpOwotICAgIGlm
ICghanNvbi5lbGVtZW50SW5mbyB8fCAhanNvbi5lbGVtZW50SW5mby5yZWdpb25GbG93SW5mbykg
ewotICAgICAgICBvdXRwdXQoIk5vIGhpZ2hsaWdodGVkIHJlZ2lvbnMuIik7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0gICAgb3V0cHV0KEpTT04uc3RyaW5naWZ5KGpzb24uZWxlbWVudEluZm8u
cmVnaW9uRmxvd0luZm8sIG51bGwsIDQpKTsKLX0KLQotZnVuY3Rpb24gZHVtcEluc3BlY3Rvckhp
Z2hsaWdodGVkTm9kZSgpCi17Ci0gICAgdmFyIGhpZ2hsaWdodCA9IHdpbmRvdy5pbnRlcm5hbHMu
aW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCk7Ci0gICAgaWYgKCFoaWdobGlnaHQubGVuZ3RoKSB7
Ci0gICAgICAgIG91dHB1dCgiTm8gaGlnaGxpZ2h0ZWQgbm9kZS4iKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICAvLyBSZWZvcm1hdCB0aGUgc3RyaW5nIHVzaW5nIEpTT04uc3RyaW5naWZ5
LgotICAgIHZhciBqc29uID0gSlNPTi5wYXJzZShoaWdobGlnaHQpOwotICAgIGlmICghanNvbikg
ewotICAgICAgICBvdXRwdXQoIk5vIGhpZ2hsaWdodGVkIG5vZGUuIik7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgb3V0cHV0KEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDQpKTsKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4
dGVuc2lvbnMtaGVhZGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLWhlYWRlcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTY3YTE2MTMwNTExNjUxZDA4ZmVhZDZiZWEzNjlhNDZk
NWU5YmJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaGVhZGVy
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3RzIFdlYklu
c3BlY3RvciBleHRlbnNpb24gQVBJCi0KLUhUVFBfWF9XRUJJTlNQRUNUT1JfRVhURU5TSU9OOiB0
ZXN0Ci1IVFRQX1VTRVJfQUdFTlQ6IE1vemlsbGEvNC4wIChjb21wYXRpYmxlOyBNU0lFIDcuMGI7
IFdpbmRvd3MgTlQgNi4wKQotU3RhcnRlZCBleHRlbnNpb24uCi1SdW5uaW5nIHRlc3RzLi4uCi1S
VU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0QWRkSGVhZGVycwotQWxsIHRlc3RzIGRvbmUuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4
dGVuc2lvbnMtaGVhZGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvZXh0ZW5zaW9ucy1oZWFkZXJzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZkMmYxMjNlMzc2YmI4ODhlYjM2Mzk0NmYzZGI3NzkwY2E3MDg2Y2QuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1oZWFkZXJzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi1mdW5jdGlvbiBl
eHRlbnNpb25fdGVzdEFkZEhlYWRlcnMobmV4dFRlc3QpCi17Ci0gICAgd2ViSW5zcGVjdG9yLm5l
dHdvcmsuYWRkUmVxdWVzdEhlYWRlcnMoewotICAgICAgICAieC13ZWJpbnNwZWN0b3ItZXh0ZW5z
aW9uIjogInRlc3QiLAotICAgICAgICAidXNlci1hZ2VudCI6ICJNb3ppbGxhLzQuMCAoY29tcGF0
aWJsZTsgTVNJRSA3LjBiOyBXaW5kb3dzIE5UIDYuMCkiCi0gICAgfSk7Ci0gICAgZnVuY3Rpb24g
Y2xlYW5VcEhlYWRlcnMoKQotICAgIHsKLSAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsuYWRk
UmVxdWVzdEhlYWRlcnMoewotICAgICAgICAgICAgIngtd2ViaW5zcGVjdG9yLWV4dGVuc2lvbiI6
IG51bGwsCi0gICAgICAgICAgICAidXNlci1hZ2VudCI6IG51bGwKLSAgICAgICAgfSk7Ci0gICAg
fQotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiZG9YSFIoKSIsIGNhbGxi
YWNrQW5kTmV4dFRlc3QoY2xlYW5VcEhlYWRlcnMsIG5leHRUZXN0KSk7Ci19Ci0KLWZ1bmN0aW9u
IGRvWEhSKCkKLXsKLSAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhy
Lm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvZWNoby1oZWFkZXJzLnBocCIsIGZhbHNlKTsKLSAgICB4
aHIuc2VuZChudWxsKTsKLSAgICAvLyBDYW4ndCB1c2Ugb3V0cHV0KCkgaGVyZSBkdWUgdG8gb3V0
cHV0IG9yZGVyIGluc3RhYmlsaXR5OiB0aGlzIGlzIGludm9rZWQgYnkgaW5zcGVjdGVkV2luZG93
LmV2YWwoKSwKLSAgICAvLyB3aGljaCBpcyBub3Qgc2VyaWFsaXplZCBhZ2FpbnN0IG91dHB1dCBm
cm9tIGV4dGVuc2lvbiwgYXMgdGhlIGxhdHRlciBpcyBwb3N0ZWQgYXN5bmNocm9ub3VzbHkgdmlh
Ci0gICAgLy8gcG9zdE1lc3NhZ2UgdG8gZnJvbnQtZW5kIHdpbmRvdy4KLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaGVhZGVycyIpLnRleHRDb250ZW50ICs9IHhoci5yZXNwb25zZVRleHQ7
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+
VGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEk8L3A+Ci08ZGl2IHN0eWxlPSJ3aGl0ZS1z
cGFjZTogcHJlIiBpZD0iaGVhZGVycyI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25z
LWlmcmFtZS1ldmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWZyYW1lLWV2YWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODRjMzYwZGM5ZmRlZTVhY2MyYzhkZTdiMDRjOTY3ZjEz
YjU4ZmY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWZyYW1l
LWV2YWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMg
V2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKLQotCi1TdGFydGVkIGV4dGVuc2lvbi4KLVJ1bm5p
bmcgdGVzdHMuLi4KLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RFdmFsSW5JRnJhbWUKLUV2
YWx1YXRlOiAiL2luc3BlY3Rvci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0bWwi
IChleGNlcHRpb246IHVuZGVmaW5lZCkKLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RFdmFs
SW5JRnJhbWVCYWRPcHRpb24KLWxvZzogRXh0ZW5zaW9uIHNlcnZlciBlcnJvcjogT2JqZWN0IG5v
dCBmb3VuZDogYm9ndXMKLUV2YWx1YXRlOiB1bmRlZmluZWQgKGV4Y2VwdGlvbjogW29iamVjdCBP
YmplY3RdKQotQWxsIHRlc3RzIGRvbmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWZyYW1lLWV2YWwuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWZyYW1l
LWV2YWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y5MWIxNTZlNGMyYzI2
YTA3ZjY5YThhODNlYmMyYjgyMzcyYzM2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9leHRlbnNpb25zLWlmcmFtZS1ldmFsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVzdEV2YWxJ
bklGcmFtZShuZXh0VGVzdCkgCi17Ci0gICAgdmFyIHVybCA9ICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb25zLWZyYW1lLWV2YWwuaHRtbCc7Ci0gICAg
dmFyIG9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiCi0gICAgdmFyIG9wdGlvbnMgPSB7
Ci0gICAgICAgIGZyYW1lVVJMOiB1cmwKLSAgICB9OwotICAgIHZhciBsb2MgPSAid2luZG93Lmxv
Y2F0aW9uLnBhdGhuYW1lIjsKLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwo
bG9jLCBvcHRpb25zLCBjYWxsYmFja0FuZE5leHRUZXN0KGV4dGVuc2lvbl9vbkV2YWwsIG5leHRU
ZXN0KSk7Ci19Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0RXZhbEluSUZyYW1lQmFkT3B0aW9u
KG5leHRUZXN0KSAKLXsKLSAgICB2YXIgdXJsID0gJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lvbnMtZnJhbWUtZXZhbC5odG1sJzsKLSAgICB2YXIgb3Jp
Z2luID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIKLSAgICB2YXIgb3B0aW9ucyA9IHsKLSAgICAg
ICAgZnJhbWVVUkw6IHVybCwKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dDogImJvZ3Vz
IgotICAgIH07Ci0gICAgdmFyIGxvYyA9ICJ3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUiOwotICAg
IHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbChsb2MsIG9wdGlvbnMsIGNhbGxiYWNr
QW5kTmV4dFRlc3QoZXh0ZW5zaW9uX29uRXZhbCwgbmV4dFRlc3QpKTsKLX0KLQotZnVuY3Rpb24g
ZXh0ZW5zaW9uX29uRXZhbCh2YWx1ZSwgaXNFeGNlcHRpb24pCi17Ci0gICAgb3V0cHV0KCJFdmFs
dWF0ZTogIiArIEpTT04uc3RyaW5naWZ5KHZhbHVlKSArICIgKGV4Y2VwdGlvbjogIiArIGlzRXhj
ZXB0aW9uICsgIikiKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08cD5UZXN0cyBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSTwvcD4KLTxpZnJh
bWUgc3JjPSJyZXNvdXJjZXMvZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0bWwiPjwvaWZyYW1lPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZ25vcmUtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZ25vcmUt
Y2FjaGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWVhMmQw
NjgwNzdjZWVkNGQ3ZWZhZWY1NDE3NmZmNjAwZDY4ZDU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBEb25lLgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IERvbmUuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRG9u
ZS4KLVRlc3RzIGlnbm9yZUNhY2hlIGZsYWcgb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2Uu
cmVsb2FkKCkKLQotU3RhcnRlZCBleHRlbnNpb24uCi1SdW5uaW5nIHRlc3RzLi4uCi1SVU5OSU5H
IFRFU1Q6IGV4dGVuc2lvbl90ZXN0SWdub3JlQ2FjaGUKLVBhZ2UgcmVsb2FkZWQuCi1QYWdlIHJl
bG9hZGVkLgotYWZ0ZXJOb3JtYWxSZWxvYWQgPT09IGJlZm9yZVJlbG9hZAotYWZ0ZXJOb3JtYWxS
ZWxvYWQgIT09IGFmdGVyUmVsb2FkV2l0aElnbm9yZUNhY2hlCi1BbGwgdGVzdHMgZG9uZS4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0
ZW5zaW9ucy1pZ25vcmUtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtaWdub3JlLWNhY2hlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGU0NWY3ODc3YzI3NDAxMjcxYzM0OGJmOWM0OGY1MThiNTdlYmEzYTUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1pZ25vcmUtY2FjaGUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4dGVu
c2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibmV0d29yay9yZXNvdXJjZXMv
cmFuZG9tLXNjcmlwdC5waHAiPjwvc2NyaXB0PgotCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0SWdub3JlQ2FjaGUobmV4dFRlc3QpCi17
Ci0gICAgdmFyIGJlZm9yZVJlbG9hZDsKLSAgICB2YXIgYWZ0ZXJSZWxvYWRXaXRoSWdub3JlQ2Fj
aGU7Ci0gICAgdmFyIGFmdGVyTm9ybWFsUmVsb2FkOwotCi0gICAgZnVuY3Rpb24gb25Ob3JtYWxS
ZWxvYWQoKQotICAgIHsKLSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFs
KCJyYW5kb21WYWx1ZSIsIGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgICAgICAgICBhZnRlck5vcm1h
bFJlbG9hZCA9IHZhbHVlOwotICAgICAgICAgICAgZXZhbHVhdGVPbkZyb250ZW5kKCJJbnNwZWN0
b3JUZXN0LnJ1bldoZW5QYWdlTG9hZHMocmVwbHkpIiwgb25SZWxvYWRXaXRoSWdub3JlQ2FjaGUp
OwotICAgICAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5yZWxvYWQoeyBpZ25v
cmVDYWNoZTogdHJ1ZSB9KTsKLSAgICAgICAgfSk7Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIG9u
UmVsb2FkV2l0aElnbm9yZUNhY2hlKCkKLSAgICB7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5pbnNw
ZWN0ZWRXaW5kb3cuZXZhbCgicmFuZG9tVmFsdWUiLCBmdW5jdGlvbih2YWx1ZSkgewotICAgICAg
ICAgICAgYWZ0ZXJSZWxvYWRXaXRoSWdub3JlQ2FjaGUgPSB2YWx1ZTsKLSAgICAgICAgICAgIG91
dHB1dCgiYWZ0ZXJOb3JtYWxSZWxvYWQgIiArIChhZnRlck5vcm1hbFJlbG9hZCA9PT0gYmVmb3Jl
UmVsb2FkID8gIj09PSIgOiAiIT09IiApICsgIiBiZWZvcmVSZWxvYWQiKTsKLSAgICAgICAgICAg
IG91dHB1dCgiYWZ0ZXJOb3JtYWxSZWxvYWQgIiArIChhZnRlck5vcm1hbFJlbG9hZCA9PT0gYWZ0
ZXJSZWxvYWRXaXRoSWdub3JlQ2FjaGUgPyAiPT09IiA6ICIhPT0iICkgKyAiIGFmdGVyUmVsb2Fk
V2l0aElnbm9yZUNhY2hlIik7Ci0gICAgICAgICAgICBuZXh0VGVzdCgpOwotICAgICAgICB9KTsK
LSAgICB9Ci0KLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwoInJhbmRvbVZh
bHVlIiwgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgYmVmb3JlUmVsb2FkID0gdmFsdWU7Ci0g
ICAgICAgIGV2YWx1YXRlT25Gcm9udGVuZCgiSW5zcGVjdG9yVGVzdC5ydW5XaGVuUGFnZUxvYWRz
KHJlcGx5KSIsIG9uTm9ybWFsUmVsb2FkKTsKLSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3Rl
ZFdpbmRvdy5yZWxvYWQoKTsKLSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBpZ25vcmVDYWNoZSBmbGFnIG9mIFdlYklu
c3BlY3Rvci5pbnNwZWN0ZWRQYWdlLnJlbG9hZCgpPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5z
aW9ucy1uZXR3b3JrLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMTQ0YTFmMjU1MmRjZDU0ZDky
MWY4ZTY5MWQ2MGE2YzI0YTBhNGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0
ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDIyICswLDAgQEAKLVRlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJIHJldHVybnMgdmFs
aWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXMKLQotUGFnZSByZWxvYWRlZC4KLVN0YXJ0
ZWQgZXh0ZW5zaW9uLgotUnVubmluZyB0ZXN0cy4uLgotUlVOTklORyBURVNUOiBleHRlbnNpb25f
dGVzdEdldFJlZGlyZWN0UmVxdWVzdENvbnRlbnQKLWNvbnRlbnQ6IG51bGwsIGVuY29kaW5nOiAK
LVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlcXVlc3RGaW5pc2hlZAotRmlu
aXNoZWQgcmVxdWVzdDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3Jl
ZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCi1GaW5pc2hlZCByZXF1ZXN0OiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1y
ZXN1bHQucGhwP3JlZGlyZWN0ZWQ9dHJ1ZQotUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJl
ZGlyZWN0UmVxdWVzdEluSEFSCi1SZXF1ZXN0cyBpbiBIQVI6Ci1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1sCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcwotaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9yZWRpcmVj
dGVkPXRydWUKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVj
dC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3RlZD10cnVlCi1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3N0YXR1cz0z
MDIKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRo
b2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMgotQWxsIHRlc3RzIGRvbmUuCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtbmV0
d29yay1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ0ZWRjYWM2OGM5OTM0MzNiNmE5YTBiZDdhNzQxNmQyY2Q0YTNmYjcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvZXh0ZW5zaW9ucy1uZXR3b3JrLXJlZGlyZWN0
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZXh0
ZW5zaW9ucy1uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4dGVuc2lv
bnMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0K
LWZ1bmN0aW9uIGV4dGVuc2lvbl9kb1JlcXVlc3QoZm9yY2UsIGNhbGxiYWNrKQotewotICAgIGZ1
bmN0aW9uIGNhbGxiYWNrV3JhcHBlcihyZXF1ZXN0KQotICAgIHsKLSAgICAgICAgdmFyIGxhc3RD
YWxsYmFjayA9ICFyZXF1ZXN0IHx8IC9cP3JlZGlyZWN0ZWQ9dHJ1ZSQvLnRlc3QocmVxdWVzdC5y
ZXF1ZXN0LnVybCk7Ci0gICAgICAgIGlmIChsYXN0Q2FsbGJhY2spCi0gICAgICAgICAgICB3ZWJJ
bnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihjYWxsYmFj
a1dyYXBwZXIpOwotICAgICAgICBjYWxsYmFjayhyZXF1ZXN0LCBsYXN0Q2FsbGJhY2spOwotICAg
IH0KLSAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5hZGRMaXN0ZW5l
cihjYWxsYmFja1dyYXBwZXIpOwotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZh
bCgiZG9SZXF1ZXN0KCIgKyBmb3JjZSArICIpIiwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAg
IGlmIChyZXN1bHQpCi0gICAgICAgICAgICBjYWxsYmFja1dyYXBwZXIobnVsbCk7Ci0gICAgfSk7
Ci19Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0UmVkaXJlY3RSZXF1ZXN0Q29udGVudChu
ZXh0VGVzdCkKLXsKLSAgICBmdW5jdGlvbiBvblJlcXVlc3RGaW5pc2hlZChyZXF1ZXN0LCBsYXN0
Q2FsbGJhY2spCi0gICAgewotICAgICAgICBpZiAoIWxhc3RDYWxsYmFjaykKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgZXh0ZW5zaW9uX2dldFJlcXVlc3RCeVVybChbIC9yZWRpcmVjdC1t
ZXRob2RzLXJlc3VsdC5waHBcP3N0YXR1cz0zMDIkLyBdLCBmdW5jdGlvbihyZXF1ZXN0KSB7Ci0g
ICAgICAgICAgICByZXF1ZXN0LmdldENvbnRlbnQob25Db250ZW50KTsKLSAgICAgICAgfSk7Ci0g
ICAgfQotICAgIGZ1bmN0aW9uIG9uQ29udGVudChjb250ZW50LCBlbmNvZGluZykKLSAgICB7Ci0g
ICAgICAgIG91dHB1dCgiY29udGVudDogIiArIGNvbnRlbnQgKyAiLCBlbmNvZGluZzogIiArIGVu
Y29kaW5nKTsKLSAgICAgICAgbmV4dFRlc3QoKTsKLSAgICB9Ci0gICAgZXh0ZW5zaW9uX2RvUmVx
dWVzdChmYWxzZSwgb25SZXF1ZXN0RmluaXNoZWQpOwotfQotCi1mdW5jdGlvbiBleHRlbnNpb25f
dGVzdFJlZGlyZWN0UmVxdWVzdEluSEFSKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIG9uUmVx
dWVzdEZpbmlzaGVkKHJlc291cmNlLCBsYXN0Q2FsbGJhY2spCi0gICAgewotICAgICAgICBpZiAo
bGFzdENhbGxiYWNrKQotICAgICAgICAgICAgd2ViSW5zcGVjdG9yLm5ldHdvcmsuZ2V0SEFSKG9u
SEFSKTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gb25IQVIoaGFyKQotICAgIHsKLSAgICAgICAgdmFy
IGVudHJpZXMgPSBoYXIuZW50cmllczsKLSAgICAgICAgdmFyIHVybHMgPSBbXTsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2
YXIgdXJsID0gZW50cmllc1tpXS5yZXF1ZXN0LnVybDsKLSAgICAgICAgICAgIC8vIFdvcmthcm91
bmQgZm9yIEdUSyBEUlQgdGhhdCByZXF1ZXN0cyBmYXZpY29uLmljbyBhbG9uZyB3aXRoIHRoZSBw
YWdlLgotICAgICAgICAgICAgaWYgKCEvXC9mYXZpY29uXC5pY28kLy50ZXN0KHVybCkpCi0gICAg
ICAgICAgICAgICAgdXJscy5wdXNoKHVybCk7Ci0gICAgICAgIH0KLSAgICAgICAgdXJscy5zb3J0
KCk7Ci0gICAgICAgIG91dHB1dCgiUmVxdWVzdHMgaW4gSEFSOlxuIiArIHVybHMuam9pbigiXG4i
KSk7Ci0gICAgICAgIG5leHRUZXN0KCk7Ci0gICAgfQotICAgIGV4dGVuc2lvbl9kb1JlcXVlc3Qo
ZmFsc2UsIG9uUmVxdWVzdEZpbmlzaGVkKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RS
ZWRpcmVjdFJlcXVlc3RGaW5pc2hlZChuZXh0VGVzdCkKLXsKLSAgICBmdW5jdGlvbiBvblJlcXVl
c3RGaW5pc2hlZChyZXF1ZXN0LCBsYXN0Q2FsbGJhY2spCi0gICAgewotICAgICAgICBvdXRwdXQo
IkZpbmlzaGVkIHJlcXVlc3Q6ICIgKyByZXF1ZXN0LnJlcXVlc3QudXJsKTsKLSAgICAgICAgaWYg
KGxhc3RDYWxsYmFjaykKLSAgICAgICAgICAgIG5leHRUZXN0KCk7Ci0gICAgfQotICAgIGV4dGVu
c2lvbl9kb1JlcXVlc3QodHJ1ZSwgb25SZXF1ZXN0RmluaXNoZWQpOwotfQotCi12YXIgcmVxdWVz
dERvbmUgPSBmYWxzZTsKLQotZnVuY3Rpb24gZG9SZXF1ZXN0KGZvcmNlKQotewotICAgIC8vIE9u
bHkgZG8gcmVxdWVzdCBvbmNlIHBlciB0ZXN0IHN1aXRlLCB0byBtYWtlIHRlc3RzIGluZGVwZW5k
ZW50IG9uIGVhY2ggb3RoZXIuCi0gICAgLy8gUmV0dXJucyB0cnVlIGlmZiByZXF1ZXN0IGlzIGFs
cmVkeSBkb25lIChzbyB0aGUgY2FsbGVyIHNob3VsZG4ndCB3YWl0IGZvciBvbkZpbmlzaGVkKS4K
LSAgICBpZiAocmVxdWVzdERvbmUgJiYgIWZvcmNlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICByZXF1ZXN0RG9uZSA9IHRydWU7Ci0gICAgLy8gV2UgY2FuJ3QgdXNlIFhIUiBoZXJlIC0tIHRo
ZSBjb250ZW50IGZvciBYSFJzIGlzIHB1c2hlZCBmcm9tIGJhY2stZW5kLgotICAgIHZhciBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0g
Ii9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMw
MiI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgIHJldHVybiBm
YWxzZTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5y
ZWxvYWRQYWdlKEluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOwotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFdlYkluc3Bl
Y3RvciBleHRlbnNpb24gQVBJIHJldHVybnMgdmFsaWQgZGF0YSBmb3IgcmVkaXJlY3RlZCByZXNv
dXJjZXM8L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLW5ldHdvcmstdGVzdC5qcyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtbmV0d29y
ay10ZXN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNWRjMjNkZDY1NWFiMjhi
YjVkZjNjM2FhZjAyNWNjZjFiNmFlMjc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2V4dGVuc2lvbnMtbmV0d29yay10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBA
QAotZnVuY3Rpb24gZXh0ZW5zaW9uX2dldFJlcXVlc3RCeVVybCh1cmxzLCBjYWxsYmFjaykKLXsK
LSAgICBmdW5jdGlvbiBvbkhBUihyZXNwb25zZSkKLSAgICB7Ci0gICAgICAgIHZhciBlbnRyaWVz
ID0gcmVzcG9uc2UuZW50cmllczsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVz
Lmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciB1cmwgPSAwOyB1cmwgPCB1cmxz
Lmxlbmd0aDsgKyt1cmwpIHsKLSAgICAgICAgICAgICAgICBpZiAodXJsc1t1cmxdLnRlc3QoZW50
cmllc1tpXS5yZXF1ZXN0LnVybCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soZW50
cmllc1tpXSk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgd2ViSW5zcGVjdG9yLm5ldHdv
cmsuZ2V0SEFSKG9uSEFSKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2V4dGVuc2lvbnMtdGVzdC5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWFmMWRiYWM5MGM0NzUzNDJkZmY0YmZjOWE0NTVjNjM2NDM1NTI5
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9leHRlbnNpb25zLXRlc3QuanMKKysr
IC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi1mdW5jdGlvbiBleHRlbnNpb25GdW5jdGlvbnMo
KQotewotICAgIHZhciBmdW5jdGlvbnMgPSAiIjsKLQotICAgIGZvciAoc3ltYm9sIGluIHdpbmRv
dykgewotICAgICAgICBpZiAoL15leHRlbnNpb25fLy5leGVjKHN5bWJvbCkgJiYgdHlwZW9mIHdp
bmRvd1tzeW1ib2xdID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgZnVuY3Rpb25zICs9IHdp
bmRvd1tzeW1ib2xdLnRvU3RyaW5nKCk7Ci0gICAgfQotICAgIHJldHVybiBmdW5jdGlvbnM7Ci19
Ci0KLXZhciBpbml0aWFsaXplX0V4dGVuc2lvbnNUZXN0ID0gZnVuY3Rpb24oKQotewotCi13aW5k
b3cuYnVpbGRQbGF0Zm9ybUV4dGVuc2lvbkFQSSA9IGZ1bmN0aW9uKGV4dGVuc2lvbkluZm8pCi17
Ci0gICAgZnVuY3Rpb24gcGxhdGZvcm1FeHRlbnNpb25BUEkoY29yZUFQSSkKLSAgICB7Ci0gICAg
ICAgIHdpbmRvdy53ZWJJbnNwZWN0b3IgPSBjb3JlQVBJOwotICAgICAgICB3aW5kb3cuX2V4dGVu
c2lvblNlcnZlckZvclRlc3RzID0gZXh0ZW5zaW9uU2VydmVyOwotICAgIH0KLSAgICByZXR1cm4g
cGxhdGZvcm1FeHRlbnNpb25BUEkudG9TdHJpbmcoKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5fcmVw
bHlUb0V4dGVuc2lvbiA9IGZ1bmN0aW9uKHJlcXVlc3RJZCwgcG9ydCkKLXsKLSAgICBXZWJJbnNw
ZWN0b3IuZXh0ZW5zaW9uU2VydmVyLl9kaXNwYXRjaENhbGxiYWNrKHJlcXVlc3RJZCwgcG9ydCk7
Ci19Ci0KLWZ1bmN0aW9uIG9uRXZhbHVhdGUobWVzc2FnZSwgcG9ydCkKLXsKLSAgICB2YXIgcmVw
bHkgPSBXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLl9kaXNwYXRjaENhbGxiYWNrLmJpbmQo
V2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlciwgbWVzc2FnZS5yZXF1ZXN0SWQsIHBvcnQpOwot
ICAgIHRyeSB7Ci0gICAgICAgIGV2YWwobWVzc2FnZS5leHByZXNzaW9uKTsKLSAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFeGNlcHRpb24gd2hpbGUg
cnVubmluZzogIiArIG1lc3NhZ2UuZXhwcmVzc2lvbiArICJcbiIgKyAoZS5zdGFjayB8fCBlKSk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi1XZWJJ
bnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLl9yZWdpc3RlckhhbmRsZXIoImV2YWx1YXRlRm9yVGVz
dEluRnJvbnRFbmQiLCBvbkV2YWx1YXRlKTsKLQotSW5zcGVjdG9yVGVzdC5zaG93UGFuZWwgPSBm
dW5jdGlvbihwYW5lbElkKQotewotICAgIGlmIChwYW5lbElkID09PSAiZXh0ZW5zaW9uIikKLSAg
ICAgICAgcGFuZWxJZCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3Ll9wYW5lbE9yZGVyW1dl
Ykluc3BlY3Rvci5pbnNwZWN0b3JWaWV3Ll9wYW5lbE9yZGVyLmxlbmd0aCAtIDFdOwotICAgIFdl
Ykluc3BlY3Rvci5zaG93UGFuZWwocGFuZWxJZCk7Ci19Ci0KLUluc3BlY3RvclRlc3QucnVuRXh0
ZW5zaW9uVGVzdHMgPSBmdW5jdGlvbigpCi17Ci0gICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJs
b2NhdGlvbi5ocmVmIiwgImNvbnNvbGUiLCBmYWxzZSwgZnVuY3Rpb24oZXJyb3IsIHJlc3VsdCkg
ewotICAgICAgICBpZiAoZXJyb3IpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZhciBw
YWdlVVJMID0gcmVzdWx0LnZhbHVlOwotICAgICAgICB2YXIgZXh0ZW5zaW9uVVJMID0gKC9eaHR0
cHM/Oi8udGVzdChwYWdlVVJMKSA/Ci0gICAgICAgICAgICBwYWdlVVJMLnJlcGxhY2UoL14oaHR0
cHM/OlwvXC9bXi9dKlwvKS4qJC8sIiQxIikgOgotICAgICAgICAgICAgcGFnZVVSTC5yZXBsYWNl
KC9cL2luc3BlY3RvclwvZXh0ZW5zaW9uc1wvW14vXSokLywgIi9odHRwL3Rlc3RzIikpICsKLSAg
ICAgICAgICAgICIvaW5zcGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5odG1sIjsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLmFkZEV4dGVuc2lvbnMoW3sgc3RhcnRQYWdlOiBleHRlbnNpb25V
UkwsIG5hbWU6ICJ0ZXN0IGV4dGVuc2lvbiIsIGV4cG9zZVdlYkluc3BlY3Rvck5hbWVzcGFjZTog
dHJ1ZSB9XSk7Ci0gICAgfSk7Ci19Ci0KLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Nob3dQYW5l
bChwYW5lbElkLCBjYWxsYmFjaykKLXsKLSAgICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3Rv
clRlc3Quc2hvd1BhbmVsKHVuZXNjYXBlKCciICsgZXNjYXBlKHBhbmVsSWQpICsgIicpKTsgcmVw
bHkoKTsiLCBjYWxsYmFjayk7Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIElu
c3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRh
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRhLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2U5ZDg5YjQ5NTc0NWI4ZDMwODIzYjY3YWQyYmVlNGJiM2I2OTIzOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2UtZGF0YS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2szCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFj
azQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2Nh
bGxiYWNrNQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVk
REJfY2FsbGJhY2s2Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0Lklu
ZGV4ZWREQl9jYWxsYmFjazcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRl
c3QuSW5kZXhlZERCX2NhbGxiYWNrOAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVj
dG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJ
bnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEwCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazExCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazEyCi1UZXN0cyB0aGF0
IGRhdGEgaXMgY29ycmVjdGx5IGxvYWRlZCBieSBJbmRleGVkREJNb2RlbCBmcm9tIEluZGV4ZWRE
QiBvYmplY3Qgc3RvcmUgYW5kIGluZGV4LgotCi1EdW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0g
ZmFsc2UsIHNraXBDb3VudCA9IDAsIHBhZ2VTaXplID0gMiwgaWRiS2V5UmFuZ2UgPSBudWxsCi0g
ICAgS2V5ID0ga2V5XzAxLCBwcmltYXJ5S2V5ID0ga2V5XzAxLCB2YWx1ZSA9IHsia2V5Ijoia2V5
XzAxIiwidmFsdWUiOiJ2YWx1ZV8wMSJ9Ci0gICAgS2V5ID0ga2V5XzAyLCBwcmltYXJ5S2V5ID0g
a2V5XzAyLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAyIiwidmFsdWUiOiJ2YWx1ZV8wMiJ9Ci0gICAg
aGFzTW9yZSA9IHRydWUKLUR1bXBpbmcgdmFsdWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENv
dW50ID0gMiwgcGFnZVNpemUgPSAyLCBpZGJLZXlSYW5nZSA9IG51bGwKLSAgICBLZXkgPSBrZXlf
MDMsIHByaW1hcnlLZXkgPSBrZXlfMDMsIHZhbHVlID0geyJrZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6
InZhbHVlXzAzIn0KLSAgICBLZXkgPSBrZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVl
ID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0In0KLSAgICBoYXNNb3JlID0gdHJ1
ZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSA0LCBwYWdl
U2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAotICAgIEtleSA9IGtleV8wNSwgcHJpbWFyeUtl
eSA9IGtleV8wNSwgdmFsdWUgPSB7ImtleSI6ImtleV8wNSIsInZhbHVlIjoidmFsdWVfMDUifQot
ICAgIEtleSA9IGtleV8wNiwgcHJpbWFyeUtleSA9IGtleV8wNiwgdmFsdWUgPSB7ImtleSI6Imtl
eV8wNiIsInZhbHVlIjoidmFsdWVfMDYifQotICAgIGhhc01vcmUgPSBmYWxzZQotRHVtcGluZyB2
YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSA1LCBwYWdlU2l6ZSA9IDIsIGlk
YktleVJhbmdlID0gbnVsbAotICAgIEtleSA9IGtleV8wNiwgcHJpbWFyeUtleSA9IGtleV8wNiwg
dmFsdWUgPSB7ImtleSI6ImtleV8wNiIsInZhbHVlIjoidmFsdWVfMDYifQotICAgIGhhc01vcmUg
PSBmYWxzZQotRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSA2
LCBwYWdlU2l6ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAotICAgIGhhc01vcmUgPSBmYWxzZQot
RHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSA3LCBwYWdlU2l6
ZSA9IDIsIGlkYktleVJhbmdlID0gbnVsbAotICAgIGhhc01vcmUgPSBmYWxzZQotRHVtcGluZyB2
YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSAwLCBwYWdlU2l6ZSA9IDIsIGlk
YktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Blbjp0cnVlLHVwcGVyOiJrZXlfMDUi
LHVwcGVyT3BlbjpmYWxzZX0KLSAgICBLZXkgPSBrZXlfMDMsIHByaW1hcnlLZXkgPSBrZXlfMDMs
IHZhbHVlID0geyJrZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVlXzAzIn0KLSAgICBLZXkgPSBr
ZXlfMDQsIHByaW1hcnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1
ZSI6InZhbHVlXzA0In0KLSAgICBoYXNNb3JlID0gdHJ1ZQotRHVtcGluZyB2YWx1ZXMsIGZyb21J
bmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSAwLCBwYWdlU2l6ZSA9IDMsIGlkYktleVJhbmdlID0g
e2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Blbjp0cnVlLHVwcGVyOiJrZXlfMDUiLHVwcGVyT3Blbjpm
YWxzZX0KLSAgICBLZXkgPSBrZXlfMDMsIHByaW1hcnlLZXkgPSBrZXlfMDMsIHZhbHVlID0geyJr
ZXkiOiJrZXlfMDMiLCJ2YWx1ZSI6InZhbHVlXzAzIn0KLSAgICBLZXkgPSBrZXlfMDQsIHByaW1h
cnlLZXkgPSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0
In0KLSAgICBLZXkgPSBrZXlfMDUsIHByaW1hcnlLZXkgPSBrZXlfMDUsIHZhbHVlID0geyJrZXki
OiJrZXlfMDUiLCJ2YWx1ZSI6InZhbHVlXzA1In0KLSAgICBoYXNNb3JlID0gZmFsc2UKLUR1bXBp
bmcgdmFsdWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENvdW50ID0gMCwgcGFnZVNpemUgPSA0
LCBpZGJLZXlSYW5nZSA9IHtsb3dlcjoia2V5XzAyIixsb3dlck9wZW46dHJ1ZSx1cHBlcjoia2V5
XzA1Iix1cHBlck9wZW46ZmFsc2V9Ci0gICAgS2V5ID0ga2V5XzAzLCBwcmltYXJ5S2V5ID0ga2V5
XzAzLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAzIiwidmFsdWUiOiJ2YWx1ZV8wMyJ9Ci0gICAgS2V5
ID0ga2V5XzA0LCBwcmltYXJ5S2V5ID0ga2V5XzA0LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA0Iiwi
dmFsdWUiOiJ2YWx1ZV8wNCJ9Ci0gICAgS2V5ID0ga2V5XzA1LCBwcmltYXJ5S2V5ID0ga2V5XzA1
LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA1IiwidmFsdWUiOiJ2YWx1ZV8wNSJ9Ci0gICAgaGFzTW9y
ZSA9IGZhbHNlCi1EdW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0gZmFsc2UsIHNraXBDb3VudCA9
IDEsIHBhZ2VTaXplID0gMiwgaWRiS2V5UmFuZ2UgPSB7bG93ZXI6ImtleV8wMiIsbG93ZXJPcGVu
OnRydWUsdXBwZXI6ImtleV8wNSIsdXBwZXJPcGVuOmZhbHNlfQotICAgIEtleSA9IGtleV8wNCwg
cHJpbWFyeUtleSA9IGtleV8wNCwgdmFsdWUgPSB7ImtleSI6ImtleV8wNCIsInZhbHVlIjoidmFs
dWVfMDQifQotICAgIEtleSA9IGtleV8wNSwgcHJpbWFyeUtleSA9IGtleV8wNSwgdmFsdWUgPSB7
ImtleSI6ImtleV8wNSIsInZhbHVlIjoidmFsdWVfMDUifQotICAgIGhhc01vcmUgPSBmYWxzZQot
RHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9IGZhbHNlLCBza2lwQ291bnQgPSAxLCBwYWdlU2l6
ZSA9IDMsIGlkYktleVJhbmdlID0ge2xvd2VyOiJrZXlfMDIiLGxvd2VyT3Blbjp0cnVlLHVwcGVy
OiJrZXlfMDUiLHVwcGVyT3BlbjpmYWxzZX0KLSAgICBLZXkgPSBrZXlfMDQsIHByaW1hcnlLZXkg
PSBrZXlfMDQsIHZhbHVlID0geyJrZXkiOiJrZXlfMDQiLCJ2YWx1ZSI6InZhbHVlXzA0In0KLSAg
ICBLZXkgPSBrZXlfMDUsIHByaW1hcnlLZXkgPSBrZXlfMDUsIHZhbHVlID0geyJrZXkiOiJrZXlf
MDUiLCJ2YWx1ZSI6InZhbHVlXzA1In0KLSAgICBoYXNNb3JlID0gZmFsc2UKLUR1bXBpbmcgdmFs
dWVzLCBmcm9tSW5kZXggPSBmYWxzZSwgc2tpcENvdW50ID0gMSwgcGFnZVNpemUgPSA0LCBpZGJL
ZXlSYW5nZSA9IHtsb3dlcjoia2V5XzAyIixsb3dlck9wZW46dHJ1ZSx1cHBlcjoia2V5XzA1Iix1
cHBlck9wZW46ZmFsc2V9Ci0gICAgS2V5ID0ga2V5XzA0LCBwcmltYXJ5S2V5ID0ga2V5XzA0LCB2
YWx1ZSA9IHsia2V5Ijoia2V5XzA0IiwidmFsdWUiOiJ2YWx1ZV8wNCJ9Ci0gICAgS2V5ID0ga2V5
XzA1LCBwcmltYXJ5S2V5ID0ga2V5XzA1LCB2YWx1ZSA9IHsia2V5Ijoia2V5XzA1IiwidmFsdWUi
OiJ2YWx1ZV8wNSJ9Ci0gICAgaGFzTW9yZSA9IGZhbHNlCi1EdW1waW5nIHZhbHVlcywgZnJvbUlu
ZGV4ID0gdHJ1ZSwgc2tpcENvdW50ID0gMCwgcGFnZVNpemUgPSAyLCBpZGJLZXlSYW5nZSA9IG51
bGwKLSAgICBLZXkgPSB2YWx1ZV8wMSwgcHJpbWFyeUtleSA9IGtleV8wMSwgdmFsdWUgPSB7Imtl
eSI6ImtleV8wMSIsInZhbHVlIjoidmFsdWVfMDEifQotICAgIEtleSA9IHZhbHVlXzAyLCBwcmlt
YXJ5S2V5ID0ga2V5XzAyLCB2YWx1ZSA9IHsia2V5Ijoia2V5XzAyIiwidmFsdWUiOiJ2YWx1ZV8w
MiJ9Ci0gICAgaGFzTW9yZSA9IHRydWUKLUNsZWFyZWQgZGF0YSBmcm9tIG9iamVjdFN0b3JlCi1E
dW1waW5nIHZhbHVlcywgZnJvbUluZGV4ID0gZmFsc2UsIHNraXBDb3VudCA9IDAsIHBhZ2VTaXpl
ID0gMTAsIGlkYktleVJhbmdlID0gbnVsbAotICAgIGhhc01vcmUgPSBmYWxzZQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIv
ZGF0YWJhc2UtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLWRhdGEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZTZhMTUyMjUwZWEyNmRmY2JlYzllMGFhZWM1MmI4OWJmNWUyNTNkZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvZGF0YWJhc2UtZGF0YS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMjI5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImluZGV4ZWRk
Yi10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2
YXIgSURCS2V5UmFuZ2UgPSB3aW5kb3cuSURCS2V5UmFuZ2UgfHwgd2luZG93LndlYmtpdElEQktl
eVJhbmdlOwotICAgIHZhciBpbmRleGVkREJNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCTW9kZWwoKTsKLSAgICB2YXIgbWFpbkZyYW1lSWQgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VU
cmVlTW9kZWwubWFpbkZyYW1lLmlkOwotICAgIHZhciBzZWN1cml0eU9yaWdpbiA9ICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAiOwotICAgIHZhciBkYXRhYmFzZU5hbWUgPSAidGVzdERhdGFiYXNlIjsK
LSAgICB2YXIgb2JqZWN0U3RvcmVOYW1lID0gInRlc3RPYmplY3RTdG9yZSI7Ci0gICAgdmFyIGlu
ZGV4TmFtZSA9ICJ0ZXN0SW5kZXhOYW1lIjsKLSAgICB2YXIgZGF0YWJhc2VJZCA9IG5ldyBXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRGF0YWJhc2VJZChzZWN1cml0eU9yaWdpbiwgZGF0YWJh
c2VOYW1lKTsKLQotICAgIGZ1bmN0aW9uIGFkZElEQlZhbHVlcyhjb3VudCwgY2FsbGJhY2spCi0g
ICAgewotICAgICAgICB2YXIgaSA9IDA7Ci0gICAgICAgIGFkZFZhbHVlcygpOwotCi0gICAgICAg
IGZ1bmN0aW9uIGFkZFZhbHVlcygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChpID09IGNv
dW50KSB7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICArK2k7Ci0gICAgICAgICAgICB2YXIgaWQg
PSBpIDwgMTAgPyAiMCIgKyBpIDogaTsKLSAgICAgICAgICAgIHZhciBrZXkgPSAia2V5XyIgKyBp
ZDsKLSAgICAgICAgICAgIHZhciB2YWx1ZSA9ICJ2YWx1ZV8iICsgaWQ7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZElEQlZhbHVlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVj
dFN0b3JlTmFtZSwgeyBrZXk6IGtleSwgdmFsdWU6IHZhbHVlIH0sICIiLCBhZGRWYWx1ZXMpOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbG9hZFZhbHVlc0FuZER1bXAoZnJvbUlu
ZGV4LCBpZGJLZXlSYW5nZSwgc2tpcENvdW50LCBwYWdlU2l6ZSwgY2FsbGJhY2spCi0gICAgewot
ICAgICAgICB2YXIgaWRiS2V5UmFuZ2VTdHJpbmcgPSBpZGJLZXlSYW5nZSA/ICJ7bG93ZXI6XCIi
ICsgaWRiS2V5UmFuZ2UubG93ZXIgKyAiXCIsbG93ZXJPcGVuOiIgKyBpZGJLZXlSYW5nZS5sb3dl
ck9wZW4gKyAiLHVwcGVyOlwiIiArIGlkYktleVJhbmdlLnVwcGVyICsgIlwiLHVwcGVyT3Blbjoi
ICsgaWRiS2V5UmFuZ2UudXBwZXJPcGVuICsgIn0iIDogIm51bGwiOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyB2YWx1ZXMsIGZyb21JbmRleCA9ICIgKyBmcm9tSW5k
ZXggKyAiLCBza2lwQ291bnQgPSAiICsgc2tpcENvdW50ICsgIiwgcGFnZVNpemUgPSAiICsgcGFn
ZVNpemUgKyAiLCBpZGJLZXlSYW5nZSA9ICIgKyBpZGJLZXlSYW5nZVN0cmluZyk7Ci0gICAgICAg
IGlmIChmcm9tSW5kZXgpCi0gICAgICAgICAgICBpbmRleGVkREJNb2RlbC5sb2FkSW5kZXhEYXRh
KGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCBpZGJLZXlSYW5nZSwgc2tp
cENvdW50LCBwYWdlU2l6ZSwgaW5uZXJDYWxsYmFjayk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIGluZGV4ZWREQk1vZGVsLmxvYWRPYmplY3RTdG9yZURhdGEoZGF0YWJhc2VJZCwgb2JqZWN0
U3RvcmVOYW1lLCBpZGJLZXlSYW5nZSwgc2tpcENvdW50LCBwYWdlU2l6ZSwgaW5uZXJDYWxsYmFj
ayk7Ci0KLSAgICAgICAgZnVuY3Rpb24gaW5uZXJDYWxsYmFjayhlbnRyaWVzLCBoYXNNb3JlKQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgaW5kZXggPSAwOwotICAgICAgICAgICAgdmFyIGVu
dHJ5OwotICAgICAgICAgICAgZHVtcEVudHJpZXMoKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24g
ZHVtcEVudHJpZXMoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmIChpbmRleCA9
PT0gZW50cmllcy5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIiAgICBoYXNNb3JlID0gIiArIGhhc01vcmUpOwotICAgICAgICAgICAgICAgICAg
ICBjYWxsYmFjaygpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIGVudHJ5ID0gZW50cmllc1tpbmRleF07Ci0gICAgICAgICAg
ICAgICAgZW50cnkudmFsdWUuY2FsbEZ1bmN0aW9uSlNPTihkdW1wTWUsIHVuZGVmaW5lZCwgZHVt
cGVkLmJpbmQodGhpcykpOwotICAgICAgICAgICAgICAgICsraW5kZXg7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGR1bXBNZSgpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuICJ7XCJrZXlcIjpcIiIgKyB0aGlzLmtleSArICJcIixcInZhbHVlXCI6
XCIiICsgdGhpcy52YWx1ZSArICJcIn0iOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBm
dW5jdGlvbiBkdW1wZWQodmFsdWUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBLZXkgPSAiICsgZW50cnkua2V5LmRlc2NyaXB0aW9u
ICsgIiwgcHJpbWFyeUtleSA9ICIgKyBlbnRyeS5wcmltYXJ5S2V5LmRlc2NyaXB0aW9uICsgIiwg
dmFsdWUgPSAiICsgdmFsdWUpOwotICAgICAgICAgICAgICAgIGR1bXBFbnRyaWVzKCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5E
YXRhYmFzZU5hbWVzIiwgZmlsbERhdGFiYXNlLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBmaWxs
RGF0YWJhc2UoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVEYXRhYmFzZSht
YWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBzdGVwMik7Ci0KLSAgICAgICAgZnVuY3Rpb24gc3Rl
cDIoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0
b3JlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgImtleSIsIHRy
dWUsIHN0ZXAzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAg
ICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVPYmplY3RTdG9yZUluZGV4KG1h
aW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCAidmFs
dWUiLCBmYWxzZSwgdHJ1ZSwgc3RlcDQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24g
c3RlcDQoKQotICAgICAgICB7Ci0gICAgICAgICAgICBhZGRJREJWYWx1ZXMoNiwgcmVmcmVzaERh
dGFiYXNlTmFtZXMpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmVmcmVzaERh
dGFiYXNlTmFtZXMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJh
c2VOYW1lcyIsIHJlZnJlc2hEYXRhYmFzZSwgZmFsc2UpOwotICAgICAgICBpbmRleGVkREJNb2Rl
bC5yZWZyZXNoRGF0YWJhc2VOYW1lcygpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlZnJlc2hE
YXRhYmFzZSgpCi0gICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBy
dW5PYmplY3RTdG9yZVRlc3RzKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFi
YXNlKGRhdGFiYXNlSWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1bk9iamVjdFN0b3JlVGVz
dHMoKQotICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgcnVu
T2JqZWN0U3RvcmVUZXN0cyk7Ci0gICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBudWxs
LCAwLCAyLCBzdGVwMikKLQotICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBudWxsLCAyLCAyLCBzdGVwMykKLSAg
ICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgbG9hZFZhbHVlc0FuZER1bXAoZmFsc2UsIG51bGwsIDQsIDIsIHN0ZXA0KTsKLSAgICAgICAg
fQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9h
ZFZhbHVlc0FuZER1bXAoZmFsc2UsIG51bGwsIDUsIDIsIHN0ZXA1KTsKLSAgICAgICAgfQotCi0g
ICAgICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVl
c0FuZER1bXAoZmFsc2UsIG51bGwsIDYsIDIsIHN0ZXA2KTsKLSAgICAgICAgfQotCi0gICAgICAg
IGZ1bmN0aW9uIHN0ZXA2KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1
bXAoZmFsc2UsIG51bGwsIDcsIDIsIHN0ZXA3KTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0
aW9uIHN0ZXA3KCkKLSAgICAgICAgewotICAgICAgICAgICAgbG9hZFZhbHVlc0FuZER1bXAoZmFs
c2UsIElEQktleVJhbmdlLmJvdW5kKCJrZXlfMDIiLCAia2V5XzA1IiwgdHJ1ZSwgZmFsc2UpLCAw
LCAyLCBzdGVwOCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBJREJLZXlSYW5nZS5i
b3VuZCgia2V5XzAyIiwgImtleV8wNSIsIHRydWUsIGZhbHNlKSwgMCwgMywgc3RlcDkpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDkoKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgSURCS2V5UmFuZ2UuYm91bmQoImtleV8wMiIsICJr
ZXlfMDUiLCB0cnVlLCBmYWxzZSksIDAsIDQsIHN0ZXAxMCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBmdW5jdGlvbiBzdGVwMTAoKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2FkVmFsdWVzQW5k
RHVtcChmYWxzZSwgSURCS2V5UmFuZ2UuYm91bmQoImtleV8wMiIsICJrZXlfMDUiLCB0cnVlLCBm
YWxzZSksIDEsIDIsIHN0ZXAxMSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVw
MTEoKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgSURC
S2V5UmFuZ2UuYm91bmQoImtleV8wMiIsICJrZXlfMDUiLCB0cnVlLCBmYWxzZSksIDEsIDMsIHN0
ZXAxMik7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwMTIoKQotICAgICAgICB7
Ci0gICAgICAgICAgICBsb2FkVmFsdWVzQW5kRHVtcChmYWxzZSwgSURCS2V5UmFuZ2UuYm91bmQo
ImtleV8wMiIsICJrZXlfMDUiLCB0cnVlLCBmYWxzZSksIDEsIDQsIHN0ZXAxMyk7Ci0gICAgICAg
IH0KLQotICAgICAgICBmdW5jdGlvbiBzdGVwMTMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBy
dW5JbmRleFRlc3RzKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5JbmRl
eFRlc3RzKCkKLSAgICB7Ci0gICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKHRydWUsIG51bGwsIDAs
IDIsIHN0ZXAyKQotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgewotICAgICAg
ICAgICAgcnVuQ2xlYXJUZXN0cygpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
cnVuQ2xlYXJUZXN0cygpCi0gICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5jbGVhck9iamVj
dFN0b3JlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlTmFtZSwgc3RlcDEpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ2xlYXJlZCBkYXRhIGZyb20gb2JqZWN0U3RvcmUiKTsKLQot
ICAgICAgICBmdW5jdGlvbiBzdGVwMSgpIHsKLSAgICAgICAgICAgIGluZGV4ZWREQk1vZGVsLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0
YWJhc2VMb2FkZWQsIHN0ZXAyKTsKLSAgICAgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hE
YXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICAgICAgfQotICAgICAgICBmdW5jdGlvbiBzdGVwMigp
IHsKLSAgICAgICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAyKTsK
LSAgICAgICAgICAgIGxvYWRWYWx1ZXNBbmREdW1wKGZhbHNlLCBudWxsLCAwLCAxMCwgc3RlcDMp
OwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDMoKSB7Ci0gICAgICAgICAgICBk
ZWxldGVEYXRhYmFzZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZGVsZXRl
RGF0YWJhc2UoKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZGVsZXRlT2JqZWN0U3RvcmVJbmRl
eChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGluZGV4TmFtZSwg
c3RlcDIpOwotCi0gICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZShtYWluRnJhbWVJZCwgZGF0YWJhc2VO
YW1lLCBvYmplY3RTdG9yZU5hbWUsIHN0ZXAzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0
aW9uIHN0ZXAzKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVE
YXRhYmFzZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBzdGVwNCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgZGF0YSBpcyBj
b3JyZWN0bHkgbG9hZGVkIGJ5IEluZGV4ZWREQk1vZGVsIGZyb20gSW5kZXhlZERCIG9iamVjdCBz
dG9yZSBhbmQgaW5kZXguPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLW5h
bWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1uYW1lcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDgwNzk2ZDIyNjIwNDdlODczNDg5ZTAzMzRmZWI3NmNhMzczMDM3Mzcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLW5hbWVz
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2syCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFj
azMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2Nh
bGxiYWNrNAotVGVzdHMgdGhhdCBkYXRhYmFzZSBuYW1lcyBhcmUgY29ycmVjdGx5IGxvYWRlZCBh
bmQgc2F2ZWQgaW4gSW5kZXhlZERCTW9kZWwuCi0KLUR1bXBpbmcgZGF0YWJhc2UgbmFtZXM6Ci0K
LUR1bXBpbmcgZGF0YWJhc2UgbmFtZXM6Ci0gICAgdGVzdERhdGFiYXNlMQotCi1EdW1waW5nIGRh
dGFiYXNlIG5hbWVzOgotICAgIHRlc3REYXRhYmFzZTEKLSAgICB0ZXN0RGF0YWJhc2UyCi0KLUR1
bXBpbmcgZGF0YWJhc2UgbmFtZXM6Ci0gICAgdGVzdERhdGFiYXNlMQotCi1EdW1waW5nIGRhdGFi
YXNlIG5hbWVzOgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1uYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLW5hbWVzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNDNmNzM4NDJlYmVhZTk4MWRkMGMy
Nzk4MGIxMWNlM2E0N2VhZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhl
ZGRiL2RhdGFiYXNlLW5hbWVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJpbmRleGVkZGItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGluZGV4ZWREQk1vZGVsID0gbmV3IFdlYkluc3Bl
Y3Rvci5JbmRleGVkREJNb2RlbCgpOwotICAgIHZhciBtYWluRnJhbWVJZCA9IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7Ci0KLSAgICBmdW5jdGlvbiBkdW1wRGF0
YWJhc2VOYW1lcygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVt
cGluZyBkYXRhYmFzZSBuYW1lczoiKTsKLSAgICAgICAgdmFyIHNlY3VyaXR5T3JpZ2lucyA9IFdl
Ykluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5zZWN1cml0eU9yaWdpbnMoKTsKLSAgICAgICAg
dmFyIHNlY3VyaXR5T3JpZ2luID0gc2VjdXJpdHlPcmlnaW5zWzBdOwotICAgICAgICB2YXIgbmFt
ZXMgPSBpbmRleGVkREJNb2RlbC5fZGF0YWJhc2VOYW1lc0J5U2VjdXJpdHlPcmlnaW5bc2VjdXJp
dHlPcmlnaW5dOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWVzLmxlbmd0aDsgKytp
KQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsgbmFtZXNbaV0p
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgfQotCi0gICAgSW5z
cGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5
cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyIsIHN0ZXAyLCBmYWxzZSk7Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJhc2VOYW1lcygpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCAidGVzdERhdGFi
YXNlMSIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVs
LnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDQsIGZhbHNlKTsK
LSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJhc2VOYW1lcygp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCAidGVz
dERhdGFiYXNlMiIsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNSgpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWRE
Qk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDYsIGZh
bHNlKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJhc2VO
YW1lcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5GcmFtZUlk
LCAidGVzdERhdGFiYXNlMiIsIHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNygp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLklu
ZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3Rl
cDgsIGZhbHNlKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMo
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBkdW1wRGF0
YWJhc2VOYW1lcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5G
cmFtZUlkLCAidGVzdERhdGFiYXNlMSIsIHN0ZXA5KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwOSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVj
dG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVz
Iiwgc3RlcDEwLCBmYWxzZSk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFz
ZU5hbWVzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEwKCkKLSAgICB7Ci0gICAgICAg
IGR1bXBEYXRhYmFzZU5hbWVzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD5UZXN0cyB0aGF0IGRhdGFiYXNlIG5hbWVzIGFyZSBjb3JyZWN0bHkgbG9hZGVkIGFu
ZCBzYXZlZCBpbiBJbmRleGVkREJNb2RlbC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIv
ZGF0YWJhc2Utc3RydWN0dXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjZhNDg2MGUxOTM2ZTQyZDdiODBh
ZjA4ODQ5ZGQzYmJhMGU5YjBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4
ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTIzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5k
ZXhlZERCX2NhbGxiYWNrMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVz
dC5JbmRleGVkREJfY2FsbGJhY2syCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0
b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazMKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IElu
c3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
ODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s1Ci1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazYKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrNwotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2s4Ci1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazkK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxi
YWNrMTAKLVRlc3RzIHRoYXQgZGF0YWJhc2UgbmFtZXMgYXJlIGNvcnJlY3RseSBsb2FkZWQgYW5k
IHNhdmVkIGluIEluZGV4ZWREQk1vZGVsLgotCi1EdW1waW5nIGRhdGFiYXNlOgotRHVtcGluZyBk
YXRhYmFzZToKLXRlc3REYXRhYmFzZTEKLSAgICBpbnRWZXJzaW9uOiAxCi0gICAgb2JqZWN0U3Rv
cmVzOgotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246
IDIKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQ
YXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAg
ICBpbmRleGVzOiAKLQotRHVtcGluZyBkYXRhYmFzZToKLXRlc3REYXRhYmFzZTEKLSAgICBpbnRW
ZXJzaW9uOiAzCi0gICAgb2JqZWN0U3RvcmVzOgotICAgIHRlc3RPYmplY3RTdG9yZTEKLSAgICAg
ICAga2V5UGF0aDogInRlc3Qua2V5LnBhdGgiCi0gICAgICAgIGF1dG9JbmNyZW1lbnQ6IHRydWUK
LSAgICAgICAgaW5kZXhlczogCi0gICAgdGVzdE9iamVjdFN0b3JlMgotICAgICAgICBrZXlQYXRo
OiBudWxsCi0gICAgICAgIGF1dG9JbmNyZW1lbnQ6IGZhbHNlCi0gICAgICAgIGluZGV4ZXM6IAot
Ci1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246IDQKLSAg
ICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAi
dGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRl
eGVzOiAKLSAgICB0ZXN0T2JqZWN0U3RvcmUyCi0gICAgICAgIGtleVBhdGg6IG51bGwKLSAgICAg
ICAgYXV0b0luY3JlbWVudDogZmFsc2UKLSAgICAgICAgaW5kZXhlczogCi0gICAgICAgIHRlc3RJ
bmRleE5hbWUxCi0gICAgICAgICAgICBrZXlQYXRoOiAiIgotICAgICAgICAgICAgdW5pcXVlOiBm
YWxzZQotICAgICAgICAgICAgbXVsdGlFbnRyeTogdHJ1ZQotCi1EdW1waW5nIGRhdGFiYXNlOgot
dGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246IDUKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAg
dGVzdE9iamVjdFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAg
ICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRleGVzOiAKLSAgICB0ZXN0T2JqZWN0
U3RvcmUyCi0gICAgICAgIGtleVBhdGg6IG51bGwKLSAgICAgICAgYXV0b0luY3JlbWVudDogZmFs
c2UKLSAgICAgICAgaW5kZXhlczogCi0gICAgICAgIHRlc3RJbmRleE5hbWUxCi0gICAgICAgICAg
ICBrZXlQYXRoOiAiIgotICAgICAgICAgICAgdW5pcXVlOiBmYWxzZQotICAgICAgICAgICAgbXVs
dGlFbnRyeTogdHJ1ZQotICAgICAgICB0ZXN0SW5kZXhOYW1lMgotICAgICAgICAgICAga2V5UGF0
aDogWyJrZXkucGF0aDEiLCJrZXkucGF0aDIiXQotICAgICAgICAgICAgdW5pcXVlOiB0cnVlCi0g
ICAgICAgICAgICBtdWx0aUVudHJ5OiBmYWxzZQotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERh
dGFiYXNlMQotICAgIGludFZlcnNpb246IDYKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9i
amVjdFN0b3JlMQotICAgICAgICBrZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0
b0luY3JlbWVudDogdHJ1ZQotICAgICAgICBpbmRleGVzOiAKLSAgICB0ZXN0T2JqZWN0U3RvcmUy
Ci0gICAgICAgIGtleVBhdGg6IG51bGwKLSAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UKLSAg
ICAgICAgaW5kZXhlczogCi0gICAgICAgIHRlc3RJbmRleE5hbWUxCi0gICAgICAgICAgICBrZXlQ
YXRoOiAiIgotICAgICAgICAgICAgdW5pcXVlOiBmYWxzZQotICAgICAgICAgICAgbXVsdGlFbnRy
eTogdHJ1ZQotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFiYXNlMQotICAgIGludFZlcnNp
b246IDcKLSAgICBvYmplY3RTdG9yZXM6Ci0gICAgdGVzdE9iamVjdFN0b3JlMQotICAgICAgICBr
ZXlQYXRoOiAidGVzdC5rZXkucGF0aCIKLSAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZQotICAg
ICAgICBpbmRleGVzOiAKLSAgICB0ZXN0T2JqZWN0U3RvcmUyCi0gICAgICAgIGtleVBhdGg6IG51
bGwKLSAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UKLSAgICAgICAgaW5kZXhlczogCi0KLUR1
bXBpbmcgZGF0YWJhc2U6Ci10ZXN0RGF0YWJhc2UxCi0gICAgaW50VmVyc2lvbjogOAotICAgIG9i
amVjdFN0b3JlczoKLSAgICB0ZXN0T2JqZWN0U3RvcmUxCi0gICAgICAgIGtleVBhdGg6ICJ0ZXN0
LmtleS5wYXRoIgotICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlCi0gICAgICAgIGluZGV4ZXM6
IAotCi1EdW1waW5nIGRhdGFiYXNlOgotdGVzdERhdGFiYXNlMQotICAgIGludFZlcnNpb246IDkK
LSAgICBvYmplY3RTdG9yZXM6Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFiYXNlLXN0cnVjdHVyZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL2RhdGFi
YXNlLXN0cnVjdHVyZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODIzYmVm
ZjRkNjZiMjM2NmEyNjlhZmQ4ZDU3MmUzNjU2NGNjYzJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL2luZGV4ZWRkYi9kYXRhYmFzZS1zdHJ1Y3R1cmUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE5OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJpbmRleGVkZGItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGluZGV4ZWRE
Qk1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbCgpOwotICAgIHZhciBtYWlu
RnJhbWVJZCA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7Ci0g
ICAgdmFyIGRhdGFiYXNlTmFtZSA9ICJ0ZXN0RGF0YWJhc2UxIjsKLSAgICB2YXIgc2VjdXJpdHlP
cmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKLSAgICB2YXIgZGF0YWJhc2VJZCA9IG5l
dyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRGF0YWJhc2VJZChzZWN1cml0eU9yaWdpbiwg
ZGF0YWJhc2VOYW1lKTsKLQotICAgIGZ1bmN0aW9uIGR1bXBEYXRhYmFzZSgpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyBkYXRhYmFzZToiKTsKLSAgICAg
ICAgdmFyIGRhdGFiYXNlID0gaW5kZXhlZERCTW9kZWwuX2RhdGFiYXNlcy5nZXQoZGF0YWJhc2VJ
ZCk7Ci0gICAgICAgIGlmICghZGF0YWJhc2UpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGRhdGFiYXNlLmRhdGFiYXNlSWQubmFtZSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgaW50VmVyc2lvbjogIiArIGRhdGFiYXNl
LmludFZlcnNpb24pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIG9iamVj
dFN0b3JlczoiKTsKLSAgICAgICAgdmFyIG9iamVjdFN0b3JlTmFtZXMgPSBbXTsKLSAgICAgICAg
Zm9yICh2YXIgb2JqZWN0U3RvcmVOYW1lIGluIGRhdGFiYXNlLm9iamVjdFN0b3JlcykKLSAgICAg
ICAgICAgIG9iamVjdFN0b3JlTmFtZXMucHVzaChvYmplY3RTdG9yZU5hbWUpOwotICAgICAgICBv
YmplY3RTdG9yZU5hbWVzLnNvcnQoKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmpl
Y3RTdG9yZU5hbWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgb2JqZWN0U3RvcmUg
PSBkYXRhYmFzZS5vYmplY3RTdG9yZXNbb2JqZWN0U3RvcmVOYW1lc1tpXV07Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICIgKyBvYmplY3RTdG9yZS5uYW1lKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIGtleVBhdGg6ICIgKyBK
U09OLnN0cmluZ2lmeShvYmplY3RTdG9yZS5rZXlQYXRoKSk7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBhdXRvSW5jcmVtZW50OiAiICsgb2JqZWN0U3RvcmUu
YXV0b0luY3JlbWVudCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAg
ICAgICBpbmRleGVzOiAiKTsKLSAgICAgICAgICAgIHZhciBpbmRleE5hbWVzID0gW107Ci0gICAg
ICAgICAgICBmb3IgKHZhciBpbmRleE5hbWUgaW4gb2JqZWN0U3RvcmUuaW5kZXhlcykKLSAgICAg
ICAgICAgICAgICBpbmRleE5hbWVzLnB1c2goaW5kZXhOYW1lKTsKLSAgICAgICAgICAgIGluZGV4
TmFtZXMuc29ydCgpOwotICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBpbmRleE5hbWVz
Lmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gb2JqZWN0U3RvcmUu
aW5kZXhlc1tpbmRleE5hbWVzW2pdXTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiICAgICAgICAiICsgaW5kZXgubmFtZSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgICAgIGtleVBhdGg6ICIgKyBKU09OLnN0cmluZ2lm
eShpbmRleC5rZXlQYXRoKSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICAgICAgICAgIHVuaXF1ZTogIiArIGluZGV4LnVuaXF1ZSk7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgICAgIG11bHRpRW50cnk6ICIgKyBp
bmRleC5tdWx0aUVudHJ5KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRT
bmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3Jp
Z2luRGF0YWJhc2VOYW1lcyIsIHN0ZXAyLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZURhdGFiYXNlKG1haW5GcmFtZUlk
LCBkYXRhYmFzZU5hbWUsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkluZGV4
ZWREQk1vZGVsLnByb3RvdHlwZSwgIl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzIiwgc3RlcDQs
IGZhbHNlKTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlTmFtZXMoKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBkdW1wRGF0YWJh
c2UoKTsKLQotICAgICAgICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwNSk7Ci0g
ICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNSgpCi0gICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVz
LkRhdGFiYXNlTG9hZGVkLCBzdGVwNSk7Ci0gICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAg
ICAgIEluc3BlY3RvclRlc3QuY3JlYXRlT2JqZWN0U3RvcmUobWFpbkZyYW1lSWQsIGRhdGFiYXNl
TmFtZSwgInRlc3RPYmplY3RTdG9yZTEiLCAidGVzdC5rZXkucGF0aCIsIHRydWUsIHN0ZXA2KTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICBpbmRleGVkREJN
b2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5
cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwNyk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJl
c2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNygpCi0g
ICAgewotICAgICAgICBpbmRleGVkREJNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5JbmRleGVkREJNb2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwNyk7Ci0g
ICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlT2Jq
ZWN0U3RvcmUobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgInRlc3RPYmplY3RTdG9yZTIiLCBu
dWxsLCBmYWxzZSwgc3RlcDgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA4KCkKLSAgICB7
Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLklu
ZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXA5KTsKLSAgICAgICAg
aW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXA5KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJh
c2VMb2FkZWQsIHN0ZXA5KTsKLSAgICAgICAgZHVtcERhdGFiYXNlKCk7Ci0KLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5jcmVhdGVPYmplY3RTdG9yZUluZGV4KG1haW5GcmFtZUlkLCBkYXRhYmFzZU5h
bWUsICJ0ZXN0T2JqZWN0U3RvcmUyIiwgInRlc3RJbmRleE5hbWUxIiwgIiIsIGZhbHNlLCB0cnVl
LCBzdGVwMTApOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxMCgpCi0gICAgewotICAgICAg
ICBpbmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJN
b2RlbC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMTEpOwotICAgICAgICBpbmRleGVk
REJNb2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDExKCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2Fk
ZWQsIHN0ZXAxMSk7Ci0gICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuY3JlYXRlT2JqZWN0U3RvcmVJbmRleChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAi
dGVzdE9iamVjdFN0b3JlMiIsICJ0ZXN0SW5kZXhOYW1lMiIsIFsia2V5LnBhdGgxIiwgImtleS5w
YXRoMiJdLCB0cnVlLCBmYWxzZSwgc3RlcDEyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MTIoKQotICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDEz
KTsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVmcmVzaERhdGFiYXNlKGRhdGFiYXNlSWQpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxMygpCi0gICAgewotICAgICAgICBpbmRleGVkREJN
b2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5FdmVu
dFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMTMpOwotICAgICAgICBkdW1wRGF0YWJhc2UoKTsK
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0b3JlSW5kZXgobWFpbkZyYW1l
SWQsIGRhdGFiYXNlTmFtZSwgInRlc3RPYmplY3RTdG9yZTIiLCAidGVzdEluZGV4TmFtZTIiLCBz
dGVwMTQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxNCgpCi0gICAgewotICAgICAgICBp
bmRleGVkREJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2Rl
bC5FdmVudFR5cGVzLkRhdGFiYXNlTG9hZGVkLCBzdGVwMTUpOwotICAgICAgICBpbmRleGVkREJN
b2RlbC5yZWZyZXNoRGF0YWJhc2UoZGF0YWJhc2VJZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDE1KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQs
IHN0ZXAxNSk7Ci0gICAgICAgIGR1bXBEYXRhYmFzZSgpOwotCi0gICAgICAgIEluc3BlY3RvclRl
c3QuZGVsZXRlT2JqZWN0U3RvcmVJbmRleChtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAidGVz
dE9iamVjdFN0b3JlMiIsICJ0ZXN0SW5kZXhOYW1lMSIsIHN0ZXAxNik7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDE2KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VM
b2FkZWQsIHN0ZXAxNyk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJlc2hEYXRhYmFzZShk
YXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTcoKQotICAgIHsKLSAgICAg
ICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDE3KTsKLSAgICAgICAgZHVt
cERhdGFiYXNlKCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVPYmplY3RTdG9yZSht
YWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAidGVzdE9iamVjdFN0b3JlMiIsIHN0ZXAxOCk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDE4KCkKLSAgICB7Ci0gICAgICAgIGluZGV4ZWREQk1v
ZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlw
ZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAxOSk7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlZnJl
c2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTkoKQot
ICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgc3RlcDE5KTsK
LSAgICAgICAgZHVtcERhdGFiYXNlKCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kZWxldGVP
YmplY3RTdG9yZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCAidGVzdE9iamVjdFN0b3JlMSIs
IHN0ZXAyMCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIwKCkKLSAgICB7Ci0gICAgICAg
IGluZGV4ZWREQk1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1v
ZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIHN0ZXAyMSk7Ci0gICAgICAgIGluZGV4ZWRE
Qk1vZGVsLnJlZnJlc2hEYXRhYmFzZShkYXRhYmFzZUlkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwMjEoKQotICAgIHsKLSAgICAgICAgaW5kZXhlZERCTW9kZWwucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwuRXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRl
ZCwgc3RlcDIxKTsKLSAgICAgICAgZHVtcERhdGFiYXNlKCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZGVsZXRlRGF0YWJhc2UobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgc3RlcDIyKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMjIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgZGF0YWJhc2UgbmFtZXMgYXJlIGNvcnJl
Y3RseSBsb2FkZWQgYW5kIHNhdmVkIGluIEluZGV4ZWREQk1vZGVsLjwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL2luZGV4ZWRkYi9pbmRleGVkZGItdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9pbmRleGVkZGItdGVzdC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOGFhNjc5NjMxYjJhZTExOGY5NjcxMWQwZjg1YzYzMjVmOTNk
YWU1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvaW5kZXhlZGRi
LXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNTkgKzAsMCBAQAotdmFyIGluaXRpYWxpemVf
SW5kZXhlZERCVGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LmR1bXBJbmRleGVk
REJUcmVlID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1w
aW5nIEluZGV4ZWREQiB0cmVlOiIpOwotICAgIHZhciBpbmRleGVkREJUcmVlRWxlbWVudCA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLmluZGV4ZWREQkxpc3RUcmVlRWxlbWVudDsKLSAg
ICBpZiAoIWluZGV4ZWREQlRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCkgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIChlbXB0eSkiKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluZGV4ZWREQlRyZWVFbGVtZW50LmNoaWxk
cmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZhciBkYXRhYmFzZVRyZWVFbGVtZW50ID0gaW5k
ZXhlZERCVHJlZUVsZW1lbnQuY2hpbGRyZW5baV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgZGF0YWJhc2U6ICIgKyBkYXRhYmFzZVRyZWVFbGVtZW50LnRpdGxlVGV4dCk7
Ci0gICAgICAgIGlmICghZGF0YWJhc2VUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgIChubyBvYmplY3Qgc3Rv
cmVzKSIpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgZm9yICh2
YXIgaiA9IDA7IGogPCBkYXRhYmFzZVRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytqKSB7
Ci0gICAgICAgICAgICB2YXIgb2JqZWN0U3RvcmVUcmVlRWxlbWVudCA9IGRhdGFiYXNlVHJlZUVs
ZW1lbnQuY2hpbGRyZW5bal07Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ICAgICAgICBPYmplY3Qgc3RvcmU6ICIgKyBvYmplY3RTdG9yZVRyZWVFbGVtZW50LnRpdGxlVGV4
dCk7Ci0gICAgICAgICAgICBpZiAoIW9iamVjdFN0b3JlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVu
Z3RoKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAg
ICAgIChubyBpbmRleGVzKSIpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBvYmplY3RTdG9yZVRyZWVFbGVt
ZW50LmNoaWxkcmVuLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGluZGV4VHJl
ZUVsZW1lbnQgPSBvYmplY3RTdG9yZVRyZWVFbGVtZW50LmNoaWxkcmVuW2pdOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgICAgICBJbmRleDogIiArIGlu
ZGV4VHJlZUVsZW1lbnQudGl0bGVUZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
IH0KLX0KLQotdmFyIGxhc3RDYWxsYmFja0lkID0gMDsKLXZhciBjYWxsYmFja3MgPSB7fTsKLXZh
ciBjYWxsYmFja0lkUHJlZml4ID0gIkluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrIjsK
LUluc3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoQ2FsbGJhY2sgPSBmdW5jdGlvbihmcmFtZUlkLCBt
ZXRob2ROYW1lLCBwYXJhbWV0ZXJzLCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0Ll9p
bnN0YWxsSW5kZXhlZERCU25pZmZlcigpOwotICAgIHZhciBjYWxsYmFja0lkID0gKytsYXN0Q2Fs
bGJhY2tJZDsKLSAgICBjYWxsYmFja3NbY2FsbGJhY2tJZF0gPSBjYWxsYmFjazsKLSAgICB2YXIg
cGFyYW1ldGVyc1N0cmluZyA9ICJkaXNwYXRjaENhbGxiYWNrLmJpbmQodGhpcywgXCIiICsgY2Fs
bGJhY2tJZFByZWZpeCArIGNhbGxiYWNrSWQgKyAiXCIpIjsKLSAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHBhcmFtZXRlcnMubGVuZ3RoOyArK2kpCi0gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgKz0g
IiwgIiArIEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnNbaV0pOwotCi0gICAgdmFyIHJlcXVlc3RT
dHJpbmcgPSBtZXRob2ROYW1lICsgIigiICsgcGFyYW1ldGVyc1N0cmluZyArICIpIjsKLSAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKHJlcXVlc3RTdHJpbmcpOwotfTsKLQotSW5zcGVj
dG9yVGVzdC5faW5zdGFsbEluZGV4ZWREQlNuaWZmZXIgPSBmdW5jdGlvbigpCi17Ci0gICAgSW5z
cGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihjb25zb2xlTWVzc2FnZU92ZXJyaWRlLCBmYWxz
ZSk7Ci0KLSAgICBmdW5jdGlvbiBjb25zb2xlTWVzc2FnZU92ZXJyaWRlKG1zZykKLSAgICB7Ci0g
ICAgICAgIHZhciB0ZXh0ID0gbXNnLl9tZXNzYWdlVGV4dDsKLSAgICAgICAgaWYgKCF0ZXh0LnN0
YXJ0c1dpdGgoY2FsbGJhY2tJZFByZWZpeCkpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkQ29uc29sZVNuaWZmZXIoY29uc29sZU1lc3NhZ2VPdmVycmlkZSwgZmFsc2UpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIHZhciBjYWxsYmFja0lkID0gdGV4dC5z
dWJzdHJpbmcoY2FsbGJhY2tJZFByZWZpeC5sZW5ndGgpOwotICAgICAgICBjYWxsYmFja3NbY2Fs
bGJhY2tJZF0uY2FsbCgpOwotICAgICAgICBkZWxldGUgY2FsbGJhY2tzW2NhbGxiYWNrSWRdOwot
ICAgIH0KLX07Ci0KLUluc3BlY3RvclRlc3QuY3JlYXRlRGF0YWJhc2UgPSBmdW5jdGlvbihmcmFt
ZUlkLCBkYXRhYmFzZU5hbWUsIGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVXaXRoQ2FsbGJhY2soZnJhbWVJZCwgImNyZWF0ZURhdGFiYXNlIiwgW2RhdGFiYXNlTmFtZV0s
IGNhbGxiYWNrKQotfTsKLQotSW5zcGVjdG9yVGVzdC5kZWxldGVEYXRhYmFzZSA9IGZ1bmN0aW9u
KGZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgY2FsbGJhY2spCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZVdpdGhDYWxsYmFjayhmcmFtZUlkLCAiZGVsZXRlRGF0YWJhc2UiLCBbZGF0YWJhc2VO
YW1lXSwgY2FsbGJhY2spCi19OwotCi1JbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlID0g
ZnVuY3Rpb24oZnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGtleVBhdGgs
IGF1dG9JbmNyZW1lbnQsIGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVX
aXRoQ2FsbGJhY2soZnJhbWVJZCwgImNyZWF0ZU9iamVjdFN0b3JlIiwgW2RhdGFiYXNlTmFtZSwg
b2JqZWN0U3RvcmVOYW1lLCBrZXlQYXRoLCBhdXRvSW5jcmVtZW50XSwgY2FsbGJhY2spCi19Owot
Ci1JbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0b3JlID0gZnVuY3Rpb24oZnJhbWVJZCwgZGF0
YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVXaXRoQ2FsbGJhY2soZnJhbWVJZCwgImRlbGV0ZU9iamVjdFN0b3JlIiwgW2Rh
dGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lXSwgY2FsbGJhY2spCi19OwotCi1JbnNwZWN0b3JU
ZXN0LmNyZWF0ZU9iamVjdFN0b3JlSW5kZXggPSBmdW5jdGlvbihmcmFtZUlkLCBkYXRhYmFzZU5h
bWUsIG9iamVjdFN0b3JlTmFtZSwgb2JqZWN0U3RvcmVJbmRleE5hbWUsIGtleVBhdGgsIHVuaXF1
ZSwgbXVsdGlFbnRyeSwgY2FsbGJhY2spCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZVdp
dGhDYWxsYmFjayhmcmFtZUlkLCAiY3JlYXRlT2JqZWN0U3RvcmVJbmRleCIsIFtkYXRhYmFzZU5h
bWUsIG9iamVjdFN0b3JlTmFtZSwgb2JqZWN0U3RvcmVJbmRleE5hbWUsIGtleVBhdGgsIHVuaXF1
ZSwgbXVsdGlFbnRyeV0sIGNhbGxiYWNrKQotfTsKLQotSW5zcGVjdG9yVGVzdC5kZWxldGVPYmpl
Y3RTdG9yZUluZGV4ID0gZnVuY3Rpb24oZnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9y
ZU5hbWUsIG9iamVjdFN0b3JlSW5kZXhOYW1lLCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlV2l0aENhbGxiYWNrKGZyYW1lSWQsICJkZWxldGVPYmplY3RTdG9yZUluZGV4
IiwgW2RhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBvYmplY3RTdG9yZUluZGV4TmFtZV0s
IGNhbGxiYWNrKQotfTsKLQotSW5zcGVjdG9yVGVzdC5hZGRJREJWYWx1ZSA9IGZ1bmN0aW9uKGZy
YW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCB2YWx1ZSwga2V5LCBjYWxsYmFj
aykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aENhbGxiYWNrKGZyYW1lSWQsICJh
ZGRJREJWYWx1ZSIsIFtkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgdmFsdWUsIGtleV0s
IGNhbGxiYWNrKQotfTsKLQotfTsKLQotdmFyIGluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkZGIg
fHwgd2luZG93LndlYmtpdEluZGV4ZWREQjsKLXdpbmRvdy5JREJUcmFuc2FjdGlvbiA9IHdpbmRv
dy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247Ci0KLWZ1bmN0
aW9uIGRpc3BhdGNoQ2FsbGJhY2soY2FsbGJhY2tJZCkKLXsKLSAgICBjb25zb2xlLmxvZyhjYWxs
YmFja0lkKTsKLX0KLQotZnVuY3Rpb24gb25JbmRleGVkREJFcnJvcihlKQotewotICAgIGNvbnNv
bGUuZXJyb3IoIkluZGV4ZWREQiBlcnJvcjogIiArIGUpOwotfQotCi1mdW5jdGlvbiBvbkluZGV4
ZWREQkJsb2NrZWQoZSkKLXsKLSAgICBjb25zb2xlLmVycm9yKCJJbmRleGVkREIgYmxvY2tlZDog
IiArIGUpOwotfQotCi1mdW5jdGlvbiBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIGNhbGxi
YWNrKQotewotICAgIGZ1bmN0aW9uIGlubmVyQ2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgdmFy
IGRiID0gcmVxdWVzdC5yZXN1bHQ7Ci0gICAgICAgIGNhbGxiYWNrKGRiKTsKLSAgICB9Ci0KLSAg
ICB2YXIgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRhdGFiYXNlTmFtZSk7Ci0gICAgcmVxdWVz
dC5vbmJsb2NrZWQgPSBvbkluZGV4ZWREQkJsb2NrZWQ7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0g
b25JbmRleGVkREJFcnJvcjsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGlubmVyQ2FsbGJhY2s7
Ci19Ci0KLWZ1bmN0aW9uIGRvV2l0aFZlcnNpb25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUsIGNh
bGxiYWNrLCBjb21taXRDYWxsYmFjaykKLXsKLSAgICBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5h
bWUsIHN0ZXAyKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKGRiKQotICAgIHsKLSAgICAgICAgdmFy
IHZlcnNpb24gPSBkYi52ZXJzaW9uOwotICAgICAgICBkYi5jbG9zZSgpOwotICAgICAgICByZXF1
ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGF0YWJhc2VOYW1lLCB2ZXJzaW9uICsgMSk7Ci0gICAgICAg
IHJlcXVlc3Qub25lcnJvciA9IG9uSW5kZXhlZERCRXJyb3I7Ci0gICAgICAgIHJlcXVlc3Qub251
cGdyYWRlbmVlZGVkID0gb25VcGdyYWRlTmVlZGVkOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IG9uT3BlbmVkOwotCi0gICAgICAgIGZ1bmN0aW9uIG9uVXBncmFkZU5lZWRlZChlKQotICAg
ICAgICB7Ci0gICAgICAgICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAg
ICB2YXIgdHJhbnMgPSBlLnRhcmdldC50cmFuc2FjdGlvbjsKLSAgICAgICAgICAgIGNhbGxiYWNr
KGRiLCB0cmFucyk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBvbk9wZW5lZChlKQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1bHQ7Ci0gICAgICAg
ICAgICBkYi5jbG9zZSgpOwotICAgICAgICAgICAgY29tbWl0Q2FsbGJhY2soKTsKLSAgICAgICAg
fQotICAgIH0KLX0KLQotZnVuY3Rpb24gZG9XaXRoUmVhZFdyaXRlVHJhbnNhY3Rpb24oZGF0YWJh
c2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGNhbGxiYWNrLCBjb21taXRDYWxsYmFjaykKLXsKLSAg
ICBkb1dpdGhEYXRhYmFzZShkYXRhYmFzZU5hbWUsIHN0ZXAyKTsKLQotICAgIGZ1bmN0aW9uIHN0
ZXAyKGRiKQotICAgIHsKLSAgICAgICAgdmFyIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
W29iamVjdFN0b3JlTmFtZV0sICdyZWFkd3JpdGUnKTsKLSAgICAgICAgdmFyIG9iamVjdFN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsKLSAgICAgICAgY2Fs
bGJhY2sob2JqZWN0U3RvcmUsIGlubmVyQ29tbWl0Q2FsbGJhY2spOwotCi0gICAgICAgIGZ1bmN0
aW9uIGlubmVyQ29tbWl0Q2FsbGJhY2soKQotICAgICAgICB7Ci0gICAgICAgICAgICBkYi5jbG9z
ZSgpOwotICAgICAgICAgICAgY29tbWl0Q2FsbGJhY2soKTsKLSAgICAgICAgfQotICAgIH0KLX0K
LQotZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UoY2FsbGJhY2ssIGRhdGFiYXNlTmFtZSkKLXsKLSAg
ICB2YXIgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRhdGFiYXNlTmFtZSk7Ci0gICAgcmVxdWVz
dC5vbmVycm9yID0gb25JbmRleGVkREJFcnJvcjsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNs
b3NlRGF0YWJhc2U7Ci0KLSAgICBmdW5jdGlvbiBjbG9zZURhdGFiYXNlKCkKLSAgICB7Ci0gICAg
ICAgIHJlcXVlc3QucmVzdWx0LmNsb3NlKCk7Ci0gICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgfQot
fQotCi1mdW5jdGlvbiBkZWxldGVEYXRhYmFzZShjYWxsYmFjaywgZGF0YWJhc2VOYW1lKQotewot
ICAgIHZhciByZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRhdGFiYXNlTmFtZSk7
Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gb25JbmRleGVkREJFcnJvcjsKLSAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjcmVhdGVPYmplY3RTdG9yZShjYWxs
YmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGtleVBhdGgsIGF1dG9JbmNyZW1l
bnQpCi17Ci0gICAgZG9XaXRoVmVyc2lvblRyYW5zYWN0aW9uKGRhdGFiYXNlTmFtZSwgd2l0aFRy
YW5zYWN0aW9uQ2FsbGJhY2ssIGNhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2Fj
dGlvbkNhbGxiYWNrKGRiLCB0cmFuc2FjdGlvbikKLSAgICB7Ci0gICAgICAgIHZhciBzdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBrZXlQYXRoOiBrZXlQYXRo
LCBhdXRvSW5jcmVtZW50OiBhdXRvSW5jcmVtZW50IH0pOwotICAgIH0KLX0KLQotZnVuY3Rpb24g
ZGVsZXRlT2JqZWN0U3RvcmUoY2FsbGJhY2ssIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1l
KQotewotICAgIGRvV2l0aFZlcnNpb25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUsIHdpdGhUcmFu
c2FjdGlvbkNhbGxiYWNrLCBjYWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiB3aXRoVHJhbnNhY3Rp
b25DYWxsYmFjayhkYiwgdHJhbnNhY3Rpb24pCi0gICAgewotICAgICAgICB2YXIgc3RvcmUgPSBk
Yi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOwotICAgIH0KLX0KLQotZnVuY3Rp
b24gY3JlYXRlT2JqZWN0U3RvcmVJbmRleChjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RT
dG9yZU5hbWUsIG9iamVjdFN0b3JlSW5kZXhOYW1lLCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpRW50
cnkpCi17Ci0gICAgZG9XaXRoVmVyc2lvblRyYW5zYWN0aW9uKGRhdGFiYXNlTmFtZSwgd2l0aFRy
YW5zYWN0aW9uQ2FsbGJhY2ssIGNhbGxiYWNrKTsKLQotICAgIGZ1bmN0aW9uIHdpdGhUcmFuc2Fj
dGlvbkNhbGxiYWNrKGRiLCB0cmFuc2FjdGlvbikKLSAgICB7Ci0gICAgICAgIHZhciBvYmplY3RT
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Ci0gICAgICAg
IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KG9iamVjdFN0b3JlSW5kZXhOYW1lLCBrZXlQYXRoLCB7
IHVuaXF1ZTogdW5pcXVlLCBtdWx0aUVudHJ5OiBtdWx0aUVudHJ5IH0pOwotICAgIH0KLX0KLQot
ZnVuY3Rpb24gZGVsZXRlT2JqZWN0U3RvcmVJbmRleChjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBv
YmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3JlSW5kZXhOYW1lKQotewotICAgIGRvV2l0aFZlcnNp
b25UcmFuc2FjdGlvbihkYXRhYmFzZU5hbWUsIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrLCBjYWxs
YmFjayk7Ci0KLSAgICBmdW5jdGlvbiB3aXRoVHJhbnNhY3Rpb25DYWxsYmFjayhkYiwgdHJhbnNh
Y3Rpb24pCi0gICAgewotICAgICAgICB2YXIgb2JqZWN0U3RvcmUgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOwotICAgICAgICBvYmplY3RTdG9yZS5kZWxldGVJbmRl
eChvYmplY3RTdG9yZUluZGV4TmFtZSk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBhZGRJREJWYWx1
ZShjYWxsYmFjaywgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIHZhbHVlLCBrZXkpCi17
Ci0gICAgZG9XaXRoUmVhZFdyaXRlVHJhbnNhY3Rpb24oZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9y
ZU5hbWUsIHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrLCBjYWxsYmFjaykKLQotICAgIGZ1bmN0aW9u
IHdpdGhUcmFuc2FjdGlvbkNhbGxiYWNrKG9iamVjdFN0b3JlLCBjb21taXRDYWxsYmFjaykKLSAg
ICB7Ci0gICAgICAgIHZhciByZXF1ZXN0OwotICAgICAgICBpZiAoa2V5KQotICAgICAgICAgICAg
cmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh2YWx1ZSwga2V5KTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh2YWx1ZSk7Ci0gICAgICAgIHJlcXVl
c3Qub25lcnJvciA9IG9uSW5kZXhlZERCRXJyb3I7Ci0gICAgICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gY29tbWl0Q2FsbGJhY2s7Ci0gICAgfQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIvcmVzb3VyY2VzLXBhbmVsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkM2NhYzFjYTUzMGQxMWM5ZTFkMjIyMGNjM2NmZGI4NDYzODYzOWRiLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJhY2sxCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9jYWxsYmFjazIKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhlZERCX2NhbGxiYWNrMwot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEwODogSW5zcGVjdG9yVGVzdC5JbmRleGVkREJfY2FsbGJh
Y2s0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBJbnNwZWN0b3JUZXN0LkluZGV4ZWREQl9j
YWxsYmFjazUKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMDg6IEluc3BlY3RvclRlc3QuSW5kZXhl
ZERCX2NhbGxiYWNrNgotVGVzdHMgSW5kZXhlZERCIHRyZWUgZWxlbWVudCBvbiByZXNvdXJjZXMg
cGFuZWwuCi0KLUV4cGFuZGVkIEluZGV4ZWREQiB0cmVlIGVsZW1lbnQuCi1EdW1waW5nIEluZGV4
ZWREQiB0cmVlOgotICAgIChlbXB0eSkKLUNyZWF0ZWQgZGF0YWJhc2UuCi1EYXRhYmFzZSBhZGRl
ZC4KLURhdGFiYXNlIGxvYWRlZC4KLUR1bXBpbmcgSW5kZXhlZERCIHRyZWU6Ci0gICAgZGF0YWJh
c2U6IHRlc3REYXRhYmFzZSAtIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotICAgICAgICBPYmplY3Qg
c3RvcmU6IHRlc3RPYmplY3RTdG9yZQotICAgICAgICAgICAgSW5kZXg6IHRlc3RJbmRleE5hbWUK
LU5hdmlnYXRlZCB0byBhbm90aGVyIHNlY3VyaXR5IG9yaWdpbi4KLURhdGFiYXNlIHJlbW92ZWQu
Ci1QYWdlIHJlbG9hZGVkLgotRHVtcGluZyBJbmRleGVkREIgdHJlZToKLSAgICAoZW1wdHkpCi1O
YXZpZ2F0ZWQgYmFjay4KLURhdGFiYXNlIGFkZGVkLgotRGF0YWJhc2UgbG9hZGVkLgotUGFnZSBy
ZWxvYWRlZC4KLUR1bXBpbmcgSW5kZXhlZERCIHRyZWU6Ci0gICAgZGF0YWJhc2U6IHRlc3REYXRh
YmFzZSAtIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMAotICAgICAgICBPYmplY3Qgc3RvcmU6IHRlc3RP
YmplY3RTdG9yZQotICAgICAgICAgICAgSW5kZXg6IHRlc3RJbmRleE5hbWUKLURlbGV0ZWQgZGF0
YWJhc2UuCi1EYXRhYmFzZSByZW1vdmVkLgotRHVtcGluZyBJbmRleGVkREIgdHJlZToKLSAgICAo
ZW1wdHkpCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4ZWRkYi9yZXNvdXJjZXMtcGFuZWwuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU2NzE1MWViN2NlMWJiYzNjYjdlODU5Yjc2
YTdjMGUwYmQyM2FmYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmRleGVkZGIv
cmVzb3VyY2VzLXBhbmVsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iaW5kZXhlZGRiLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBtYWluRnJhbWVJZCA9IFdlYkluc3BlY3Rvci5yZXNv
dXJjZVRyZWVNb2RlbC5tYWluRnJhbWUuaWQ7Ci0gICAgdmFyIGluZGV4ZWREQk1vZGVsOwotICAg
IHZhciB3aXRob3V0SW5kZXhlZERCVVJMID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0
b3IvaW5kZXhlZGRiL3Jlc291cmNlcy93aXRob3V0LWluZGV4ZWQtZGIuaHRtbCI7Ci0gICAgdmFy
IG9yaWdpbmFsVVJMID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5kZXhlZGRi
L3Jlc291cmNlcy1wYW5lbC5odG1sIjsKLSAgICB2YXIgZGF0YWJhc2VOYW1lID0gInRlc3REYXRh
YmFzZSI7Ci0gICAgdmFyIG9iamVjdFN0b3JlTmFtZSA9ICJ0ZXN0T2JqZWN0U3RvcmUiOwotICAg
IHZhciBpbmRleE5hbWUgPSAidGVzdEluZGV4TmFtZSI7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVE
YXRhYmFzZShjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY3JlYXRlRGF0
YWJhc2UobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgc3RlcDIpOwotCi0gICAgICAgIGZ1bmN0
aW9uIHN0ZXAyKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVP
YmplY3RTdG9yZShtYWluRnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsICIi
LCBmYWxzZSwgc3RlcDMpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZU9iamVjdFN0b3JlSW5k
ZXgobWFpbkZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBpbmRleE5hbWUs
ICIiLCBmYWxzZSwgZmFsc2UsIGNhbGxiYWNrKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGRlbGV0ZURhdGFiYXNlKGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kZWxldGVPYmplY3RTdG9yZUluZGV4KG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9i
amVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCBzdGVwMik7Ci0KLSAgICAgICAgZnVuY3Rpb24gc3Rl
cDIoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZU9iamVjdFN0
b3JlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgc3RlcDMpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmRlbGV0ZURhdGFiYXNlKG1haW5GcmFtZUlkLCBkYXRhYmFzZU5h
bWUsIGNhbGxiYWNrKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIFdlYkluc3BlY3Rvci5zaG93
UGFuZWwoInJlc291cmNlcyIpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYklu
c3BlY3Rvci5JbmRleGVkREJUcmVlRWxlbWVudC5wcm90b3R5cGUsICJfaW5kZXhlZERCQWRkZWQi
LCBpbmRleGVkREJBZGRlZCwgdHJ1ZSk7Ci0gICAgZnVuY3Rpb24gaW5kZXhlZERCQWRkZWQoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRhdGFiYXNlIGFkZGVkLiIp
OwotICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5k
ZXhlZERCVHJlZUVsZW1lbnQucHJvdG90eXBlLCAiX2luZGV4ZWREQlJlbW92ZWQiLCBpbmRleGVk
REJSZW1vdmVkLCB0cnVlKTsKLSAgICBmdW5jdGlvbiBpbmRleGVkREJSZW1vdmVkKCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEYXRhYmFzZSByZW1vdmVkLiIpOwot
ICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCVHJlZUVsZW1lbnQucHJvdG90eXBlLCAiX2luZGV4ZWREQkxvYWRlZCIsIGluZGV4ZWREQkxv
YWRlZCwgdHJ1ZSk7Ci0gICAgZnVuY3Rpb24gaW5kZXhlZERCTG9hZGVkKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEYXRhYmFzZSBsb2FkZWQuIik7Ci0gICAgfQot
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkV4cGFuZGVkIEluZGV4ZWREQiB0cmVlIGVs
ZW1lbnQuIik7Ci0gICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuaW5kZXhlZERCTGlz
dFRyZWVFbGVtZW50LmV4cGFuZCgpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRlT3JpZ2luRGF0YWJh
c2VOYW1lcyIsIGluZGV4ZWREQlRyZWVFbGVtZW50RXhwYW5kZWQsIGZhbHNlKTsKLSAgICBmdW5j
dGlvbiBpbmRleGVkREJUcmVlRWxlbWVudEV4cGFuZGVkKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcEluZGV4ZWREQlRyZWUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIkNyZWF0ZWQgZGF0YWJhc2UuIik7Ci0gICAgICAgIGNyZWF0ZURhdGFiYXNlKGRhdGFi
YXNlQ3JlYXRlZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZGF0YWJhc2VDcmVhdGVkKCkKLSAg
ICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJj
ZXMuaW5kZXhlZERCTGlzdFRyZWVFbGVtZW50Ll9pbmRleGVkREJNb2RlbDsKLSAgICAgICAgaW5k
ZXhlZERCTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwu
RXZlbnRUeXBlcy5EYXRhYmFzZUxvYWRlZCwgZGF0YWJhc2VMb2FkZWQpOwotICAgICAgICBXZWJJ
bnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5pbmRleGVkREJMaXN0VHJlZUVsZW1lbnQucmVmcmVz
aEluZGV4ZWREQigpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGRhdGFiYXNlTG9hZGVkKCkKLSAg
ICB7Ci0gICAgICAgIGluZGV4ZWREQk1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLkluZGV4ZWREQk1vZGVsLkV2ZW50VHlwZXMuRGF0YWJhc2VMb2FkZWQsIGRhdGFiYXNlTG9h
ZGVkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wSW5kZXhlZERCVHJlZSgpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmF2aWdhdGVkIHRvIGFub3RoZXIgc2VjdXJpdHkg
b3JpZ2luLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0Lm5hdmlnYXRlKHdpdGhvdXRJbmRleGVk
REJVUkwsIG5hdmlnYXRlZEF3YXkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlZEF3
YXkoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wSW5kZXhlZERCVHJlZSgpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmF2aWdhdGVkIGJhY2suIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QubmF2aWdhdGUob3JpZ2luYWxVUkwsIG5hdmlnYXRlZEJhY2spOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIG5hdmlnYXRlZEJhY2soKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wSW5kZXhlZERCVHJlZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiRGVsZXRlZCBkYXRhYmFzZS4iKTsKLSAgICAgICAgZGVsZXRlRGF0YWJhc2UoZGF0
YWJhc2VEZWxldGVkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkYXRhYmFzZURlbGV0ZWQoKQot
ICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuaW5kZXhlZERCTGlz
dFRyZWVFbGVtZW50LnJlZnJlc2hJbmRleGVkREIoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUsICJfdXBkYXRl
T3JpZ2luRGF0YWJhc2VOYW1lcyIsIGRhdGFiYXNlTmFtZXNMb2FkZWRBZnRlckRlbGV0aW5nLCBm
YWxzZSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZGF0YWJhc2VOYW1lc0xvYWRlZEFmdGVyRGVs
ZXRpbmcoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wSW5kZXhlZERCVHJlZSgp
OwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5pbmRleGVkREJMaXN0VHJl
ZUVsZW1lbnQuY29sbGFwc2UoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+VGVzdHMgSW5kZXhlZERCIHRyZWUgZWxlbWVudCBvbiByZXNvdXJjZXMgcGFuZWwu
PC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL3Jlc291cmNlcy93aXRob3V0LWluZGV4ZWQt
ZGIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luZGV4
ZWRkYi9yZXNvdXJjZXMvd2l0aG91dC1pbmRleGVkLWRiLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDhhMzQ3ODg5ZGFhYzJjYzEyODZjZmRlYjMzOTE5MWEzMmYxM2Q3YmMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5kZXhlZGRiL3Jlc291cmNlcy93aXRob3V0
LWluZGV4ZWQtZGIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLTxodG1sPgot
PHNjcmlwdD4KLXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rpb24gbm90
aWZ5RnJvbnRlbmQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wYWdlTG9hZGVkKCk7
Ci0gICAgfQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcigwLCAi
KCIgKyBub3RpZnlGcm9udGVuZCArICIpKCkiKTsKLX0KLTwvc2NyaXB0PgotPHA+UGFnZSB3aXRo
b3V0IEluZGV4ZWQgREIuPC9wPgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5qZWN0ZWQtc2NyaXB0LWRpc2NhcmQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5qZWN0
ZWQtc2NyaXB0LWRpc2NhcmQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmODU4NGE2MWI3YTgzYTc3YmYyYjBjM2RhYmExYjM4YzhiY2RiYTRiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luamVjdGVkLXNjcmlwdC1kaXNjYXJkLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IE9wZW5pbmcgZnJvbnQtZW5kIGZvciB0aGUgZmlyc3QgdGltZQotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IFJlc29sdmVkIG9iamVjdCBzdWNjZXNzZnVsbHkKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBPcGVuaW5nIGZyb250LWVuZCBzZWNvbmQgdGltZQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IEVycm9yIHJlc29sdmluZyBvYmplY3QKLVRlc3RzIHRoYXQgaW5qZWN0ZWQgc2NyaXB0IGlz
IGRpc2NhcmRlZCB1cG9uIGZyb250LWVuZCBjbG9zZS4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbmplY3RlZC1zY3JpcHQtZGlzY2Fy
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5qZWN0
ZWQtc2NyaXB0LWRpc2NhcmQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBl
ODU2MTVjNTdiNGE0YjNhOTNhNzM1MGI4ODU1MjM5ZTA2MWM3OS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9pbmplY3RlZC1zY3JpcHQtZGlzY2FyZC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNzUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rv
ci9jb25zb2xlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gb3Blbldl
Ykluc3BlY3RvcigpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNw
ZWN0b3IoKTsKLSAgICAgICAgcnVuVGVzdCgpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcmVvcGVu
V2ViSW5zcGVjdG9yKG9iamVjdElkKQotewotICAgIHdpbmRvdy5vYmplY3RJZCA9IHVuZXNjYXBl
KG9iamVjdElkKTsKLSAgICB0ZXN0UnVubmVyLmNsb3NlV2ViSW5zcGVjdG9yKCk7Ci0gICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIHRlc3RSdW5uZXIuc2hvd1dlYkluc3BlY3Rvcigp
OwotICAgICAgcnVuVGVzdCgpOwotICAgIH0sIDApOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIndpbmRvdy5vYmplY3RJZCIsIGRpc3BhdGNoKTsK
LQotICAgIGZ1bmN0aW9uIGRpc3BhdGNoKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAgICB7
Ci0gICAgICAgIGlmIChyZXN1bHQudHlwZSAhPT0gInN0cmluZyIpIHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUubG9nKCdPcGVuaW5nIGZyb250LWVu
ZCBmb3IgdGhlIGZpcnN0IHRpbWUnKSIpOwotICAgICAgICAgICAgaW5zdGFsbEhhbmRsZUluSW5q
ZWN0ZWRTY3JpcHQoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoImNvbnNvbGUubG9nKCdPcGVuaW5nIGZyb250LWVuZCBzZWNvbmQg
dGltZScpIik7Ci0gICAgICAgICAgICBjaGVja0hhbmRsZUluSW5qZWN0ZWRTY3JpcHQocmVzdWx0
LnZhbHVlLCBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBpbnN0YWxsSGFuZGxlSW5JbmplY3RlZFNjcmlwdCgpCi0gICAgewotICAg
ICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIih7IGhhbmRsZSA6IFwiaGFuZGxlXCIgfSkiLCBz
dG9yZUlkSW5UYXJnZXRXaW5kb3cpOwotCi0gICAgICAgIGZ1bmN0aW9uIHN0b3JlSWRJblRhcmdl
dFdpbmRvdyhlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGNoZWNrSGFuZGxlSW5JbmplY3RlZFNjcmlwdChyZXN1bHQub2JqZWN0SWQsIHJlb3Blbkluc3Bl
Y3Rvcik7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHJlb3Blbkluc3BlY3RvcigpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicmVv
cGVuV2ViSW5zcGVjdG9yKCciICsgZXNjYXBlKHJlc3VsdC5vYmplY3RJZCkgKyAiJykiKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNoZWNrSGFuZGxl
SW5JbmplY3RlZFNjcmlwdChvYmplY3RJZCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICBSdW50
aW1lQWdlbnQuZ2V0UHJvcGVydGllcyhvYmplY3RJZCwgZmFsc2UsIHByb3BlcnRpZXNBdmFpbGFi
bGUpOwotCi0gICAgICAgIGZ1bmN0aW9uIHByb3BlcnRpZXNBdmFpbGFibGUoZXJyb3IsIHByb3Bl
cnRpZXMpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoZXJyb3IgPyAiY29uc29sZS5sb2coJ0Vycm9yIHJlc29sdmluZyBvYmplY3QnKSIgOiAiY29u
c29sZS5sb2coJ1Jlc29sdmVkIG9iamVjdCBzdWNjZXNzZnVsbHknKSIsIGNhbGxiYWNrKTsKLSAg
ICAgICAgfQotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9Im9w
ZW5XZWJJbnNwZWN0b3IoKSI+Ci08cD4KLVRlc3RzIHRoYXQgaW5qZWN0ZWQgc2NyaXB0IGlzIGRp
c2NhcmRlZCB1cG9uIGZyb250LWVuZCBjbG9zZS4KLTwvcD4KLTxkaXYgaWQ9ImNvbnRhaW5lciIv
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvaW5zcGVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3QtZWxlbWVudC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxMjAyNzlmMzc4YmMyOGYyNmIx
MzJjM2I0N2UwZjU2NDlmY2E3MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5z
cGVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAot
VGVzdHMgdGhhdCBpbnNwZWN0IGVsZW1lbnQgYWN0aW9uIHdvcmtzIGZvciBpZnJhbWUgY2hpbGRy
ZW4gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwOCkuCi0KLQot
ZGl2I2RpdgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9pbnNwZWN0LWVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL2luc3BlY3QtZWxlbWVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxMGU2YWM3YTA1MjVhODJmNDBlY2M4ODcwMDNhYzcyNzliYzFiNGY5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3QtZWxlbWVudC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0
b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpLnRyZWVPdXRsaW5lLgotICAgICAgICBhZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLkV2ZW50cy5TZWxlY3RlZE5v
ZGVDaGFuZ2VkLCBzZWxlY3RlZE5vZGVDaGFuZ2VkLCB0aGlzKTsKLSAgICBmdW5jdGlvbiBzZWxl
Y3RlZE5vZGVDaGFuZ2VkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIG5vZGUgPSBldmVudC5k
YXRhOwotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
aWYgKG5vZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09ICJkaXYiKSB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChub2RlLmFwcHJvcHJpYXRlU2VsZWN0b3JGb3IoKSk7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImluc3BlY3QoaWZyYW1lRGl2RWxl
bWVudCkiKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPHA+Ci1UZXN0cyB0
aGF0IGluc3BlY3QgZWxlbWVudCBhY3Rpb24gd29ya3MgZm9yIGlmcmFtZSBjaGlsZHJlbiAoaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODA4KS4KLTwvcD4KLQotPGlm
cmFtZSBzcmM9InJlc291cmNlcy9pbnNwZWN0LWVsZW1lbnQtaWZyYW1lLmh0bWwiIG9ubG9hZD0i
cnVuVGVzdCgpIj48L2lmcmFtZT4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvaW5zcGVjdC1pZnJhbWUtZnJv
bS1kaWZmZXJlbnQtZG9tYWluLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3QtaWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYjYyYmViZWIwZDYw
YjJiNTlhYTE0MzM4Zjc0NDM1MDdiOTI2MjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvaW5zcGVjdC1pZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IElGUkFN
RSBIT1NUOiBsb2NhbGhvc3Q6ODAwMAotCi1UZXN0cyB0aGF0IHN0eWxlIHByb3BlcnRpZXMgb2Yg
ZWxlbWVudHMgaW4gaWZyYW1lcyBsb2FkZWQgZnJvbSBkb21haW4gZGlmZmVyZW50IGZyb20gdGhl
IG1haW4gZG9jdW1lbnQgZG9tYWluIGNhbiBiZSBpbnNwZWN0ZWQuIFNlZSBidWcgMzE1ODcuCi0K
LWJhY2tncm91bmQ6IGdyZWVuOwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0LWlmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4u
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3Qt
aWZyYW1lLWZyb20tZGlmZmVyZW50LWRvbWFpbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxNjVkNmI2MmQ5ZGM4MGMzY2U1YzgwM2JiZGVhNGIzYmU3ZDAyYTE3Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3QtaWZyYW1lLWZyb20tZGlmZmVyZW50LWRv
bWFpbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTx0aXRsZT5JbnNwZWN0IHN0eWxlIGluIGlmcmFtZSBmcm9tIGRpZmZlcmVudCBkb21haW4uPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgb25JRnJh
bWVMb2FkQ2FsbGVkID0gZmFsc2U7Ci1mdW5jdGlvbiBvbklGcmFtZUxvYWQoKQotewotICAgIGlm
IChvbklGcmFtZUxvYWRDYWxsZWQpCi0gICAgICAgIHJldHVybjsKLSAgICBvbklGcmFtZUxvYWRD
YWxsZWQgPSB0cnVlOwotICAgIHJ1blRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0g
ICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaWZyYW1lLWJvZHki
LCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICB2YXIgdHJl
ZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImJh
Y2tncm91bmQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRlbSh0cmVl
SXRlbSwgIiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0K
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8aWZyYW1lIHNyYz0iaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvaWZyYW1lLWZyb20tZGlmZmVyZW50
LWRvbWFpbi1kYXRhLmh0bWwiIGlkPSJyZWNlaXZlciIgb25sb2FkPSJvbklGcmFtZUxvYWQoKSI+
PC9pZnJhbWU+Ci0gICAgPHA+Ci0gICAgVGVzdHMgdGhhdCBzdHlsZSBwcm9wZXJ0aWVzIG9mIGVs
ZW1lbnRzIGluIGlmcmFtZXMgbG9hZGVkIGZyb20gZG9tYWluIGRpZmZlcmVudCBmcm9tCi0gICAg
dGhlIG1haW4gZG9jdW1lbnQgZG9tYWluIGNhbiBiZSBpbnNwZWN0ZWQuCi0gICAgU2VlIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTU4NyI+YnVnIDMx
NTg3PC9hPi4KLSAgICA8L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pbnNwZWN0b3ItdGVzdC5qcyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3Rvci10ZXN0Lmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMGJhYzQwZWUwOTk4MzBhY2I2MmVhYjUy
ODFmMWI1NzZmYmU1OTI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL2luc3BlY3Rv
ci10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjEwICswLDAgQEAKLXZhciBpbml0aWFsaXpl
X0luc3BlY3RvclRlc3QgPSBmdW5jdGlvbigpIHsKLQotdmFyIHJlc3VsdHMgPSBbXTsKLXZhciBy
ZXN1bHRzU3luY2hyb25pemVkID0gZmFsc2U7Ci0KLWZ1bmN0aW9uIGNvbnNvbGVPdXRwdXRIb29r
KG1lc3NhZ2VUeXBlKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KG1lc3NhZ2VUeXBl
ICsgIjogIiArIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwotfQot
Ci1jb25zb2xlLmxvZyA9IGNvbnNvbGVPdXRwdXRIb29rLmJpbmQoSW5zcGVjdG9yVGVzdCwgImxv
ZyIpOwotY29uc29sZS5lcnJvciA9IGNvbnNvbGVPdXRwdXRIb29rLmJpbmQoSW5zcGVjdG9yVGVz
dCwgImVycm9yIik7Ci1jb25zb2xlLmluZm8gPSBjb25zb2xlT3V0cHV0SG9vay5iaW5kKEluc3Bl
Y3RvclRlc3QsICJpbmZvIik7Ci0KLUluc3BlY3RvclRlc3QuT3V0cHV0ID0geyAgIC8vIG92ZXJy
aWRlIGluIHdpbmRvdy5pbml0aWFsaXplX3lvdXJOYW1lCi0gICAgdGVzdENvbXBsZXRlOiBmdW5j
dGlvbigpCi0gICAgewotICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoImRpZEV2YWx1YXRl
Rm9yVGVzdEluRnJvbnRlbmQoIiArIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0Q2FsbElkICsg
IiwgXCJcIikiLCAidGVzdCIpOwotICAgIH0sCi0KLSAgICBhZGRSZXN1bHQ6IGZ1bmN0aW9uKHRl
eHQpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJvdXRwdXQo
dW5lc2NhcGUoJyIgKyBlc2NhcGUodGV4dCkgKyAiJykpIik7Ci0gICAgfSwKLSAgICAKLSAgICBj
bGVhclJlc3VsdHM6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImNsZWFyT3V0cHV0KCkiKTsKLSAgICB9Ci19OwotCi1JbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBmdW5jdGlvbiB0ZXN0RGlzcGF0Y2hR
dWV1ZUlzRW1wdHkoKSB7Ci0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLmRpc3BhdGNoUXVldWVJ
c0VtcHR5KCkpIHsKLSAgICAgICAgICAgIC8vIFdhaXQgZm9yIHVucHJvY2Vzc2VkIG1lc3NhZ2Vz
LgotICAgICAgICAgICAgc2V0VGltZW91dCh0ZXN0RGlzcGF0Y2hRdWV1ZUlzRW1wdHksIDEwKTsK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0Lk91
dHB1dC50ZXN0Q29tcGxldGUoKTsKLSAgICB9Ci0gICAgdGVzdERpc3BhdGNoUXVldWVJc0VtcHR5
KCk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUgPSBmdW5jdGlvbihjb2Rl
LCBjYWxsYmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2Fs
bGJhY2spOwotCi0gICAgV2ViSW5zcGVjdG9yLmNvbnNvbGVWaWV3LnZpc2libGUgPSB0cnVlOwot
ICAgIFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5wcm9tcHQudGV4dCA9IGNvZGU7Ci0gICAgdmFy
IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIktleWJvYXJkRXZlbnQiKTsKLSAgICBldmVu
dC5pbml0S2V5Ym9hcmRFdmVudCgia2V5ZG93biIsIHRydWUsIHRydWUsIG51bGwsICJFbnRlciIs
ICIiKTsKLSAgICBXZWJJbnNwZWN0b3IuY29uc29sZVZpZXcucHJvbXB0LnByb3h5RWxlbWVudC5k
aXNwYXRjaEV2ZW50KGV2ZW50KTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVy
KAotICAgICAgICBmdW5jdGlvbihjb21tYW5kUmVzdWx0KSB7Ci0gICAgICAgICAgICBjYWxsYmFj
ayhjb21tYW5kUmVzdWx0LnRvTWVzc2FnZUVsZW1lbnQoKS50ZXh0Q29udGVudCk7Ci0gICAgICAg
IH0pOwotfQotCi1JbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlQW5kRHVtcCA9IGZ1bmN0
aW9uKGNvZGUsIGNhbGxiYWNrKQotewotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZl
V3JhcChjYWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiBteWNhbGxiYWNrKHRleHQpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb2RlICsgIiA9ICIgKyB0ZXh0KTsKLSAg
ICAgICAgY2FsbGJhY2sodGV4dCk7Ci0gICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
bkNvbnNvbGUoY29kZSwgbXljYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UgPSBmdW5jdGlvbihjb2RlLCBjYWxsYmFjaykKLXsKLSAgICBjYWxsYmFjayA9IEluc3Bl
Y3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOwotCi0gICAgZnVuY3Rpb24gbXljYWxsYmFjayhl
cnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgewotICAgICAgICBpZiAoIWVycm9yKQotICAg
ICAgICAgICAgY2FsbGJhY2soV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChy
ZXN1bHQpLCB3YXNUaHJvd24pOwotICAgIH0KLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoY29k
ZSwgImNvbnNvbGUiLCBmYWxzZSwgbXljYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2VXaXRoVGltZW91dCA9IGZ1bmN0aW9uKGNvZGUpCi17Ci0gICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dCh1bmVzY2FwZSgnIiArIGVzY2FwZShjb2Rl
KSArICInKSkiKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQgPSBmdW5jdGlvbih0ZXh0
KQotewotICAgIHJlc3VsdHMucHVzaCh0ZXh0KTsKLSAgICBpZiAocmVzdWx0c1N5bmNocm9uaXpl
ZCkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5PdXRwdXQuYWRkUmVzdWx0KHRleHQpOwotICAgIGVs
c2UgewotICAgICAgICBJbnNwZWN0b3JUZXN0Lk91dHB1dC5jbGVhclJlc3VsdHMoKTsKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5PdXRwdXQuYWRkUmVzdWx0KHJlc3VsdHNbaV0pOwotICAgICAgICByZXN1
bHRzU3luY2hyb25pemVkID0gdHJ1ZTsKLSAgICB9Ci19Ci0KLUluc3BlY3RvclRlc3QuYWRkUmVz
dWx0cyA9IGZ1bmN0aW9uKHRleHRBcnJheSkKLXsKLSAgICBpZiAoIXRleHRBcnJheSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIGZvciAodmFyIGkgPSAwLCBzaXplID0gdGV4dEFycmF5Lmxlbmd0aDsg
aSA8IHNpemU7ICsraSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodGV4dEFycmF5
W2ldKTsKLX0KLQotZnVuY3Rpb24gb25FcnJvcihldmVudCkKLXsKLSAgICB3aW5kb3cucmVtb3Zl
RXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBvbkVycm9yKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiVW5jYXVnaHQgZXhjZXB0aW9uIGluIGluc3BlY3RvciBmcm9udC1lbmQ6ICIgKyBldmVu
dC5tZXNzYWdlICsgIiBbIiArIGV2ZW50LmZpbGVuYW1lICsgIjoiICsgZXZlbnQubGluZW5vICsg
Il0iKTsKLSAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotCi13aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBvbkVycm9yKTsKLQotSW5zcGVjdG9yVGVzdC5mb3JtYXR0
ZXJzID0ge307Ci0KLUluc3BlY3RvclRlc3QuZm9ybWF0dGVycy5mb3JtYXRBc1R5cGVOYW1lID0g
ZnVuY3Rpb24odmFsdWUpCi17Ci0gICAgcmV0dXJuICI8IiArIHR5cGVvZiB2YWx1ZSArICI+IjsK
LX0KLQotSW5zcGVjdG9yVGVzdC5mb3JtYXR0ZXJzLmZvcm1hdEFzUmVjZW50VGltZSA9IGZ1bmN0
aW9uKHZhbHVlKQotewotICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICJvYmplY3QiIHx8ICEodmFs
dWUgaW5zdGFuY2VvZiBEYXRlKSkKLSAgICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuZm9ybWF0
QXNUeXBlTmFtZSh2YWx1ZSk7Ci0gICAgdmFyIGRlbHRhID0gRGF0ZS5ub3coKSAtIHZhbHVlOwot
ICAgIHJldHVybiAwIDw9IGRlbHRhICYmIGRlbHRhIDwgMzAgKiA2MCAqIDEwMDAgPyAiPHBsYXVz
aWJsZT4iIDogdmFsdWU7Ci19Ci0KLUluc3BlY3RvclRlc3QuYWRkT2JqZWN0ID0gZnVuY3Rpb24o
b2JqZWN0LCBjdXN0b21Gb3JtYXR0ZXJzLCBwcmVmaXgsIGZpcnN0TGluZVByZWZpeCkKLXsKLSAg
ICBwcmVmaXggPSBwcmVmaXggfHwgIiI7Ci0gICAgZmlyc3RMaW5lUHJlZml4ID0gZmlyc3RMaW5l
UHJlZml4IHx8IHByZWZpeDsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChmaXJzdExpbmVQ
cmVmaXggKyAieyIpOwotICAgIHZhciBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmtleXMob2JqZWN0
KTsKLSAgICBwcm9wZXJ0eU5hbWVzLnNvcnQoKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBy
b3BlcnR5TmFtZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHByb3AgPSBwcm9wZXJ0eU5h
bWVzW2ldOwotICAgICAgICBpZiAodHlwZW9mIG9iamVjdC5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1
bmN0aW9uIiAmJiAhb2JqZWN0Lmhhc093blByb3BlcnR5KHByb3ApKQotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIHZhciBwcmVmaXhXaXRoTmFtZSA9ICIgICAgIiArIHByZWZpeCArIHBy
b3AgKyAiIDogIjsKLSAgICAgICAgdmFyIHByb3BWYWx1ZSA9IG9iamVjdFtwcm9wXTsKLSAgICAg
ICAgaWYgKGN1c3RvbUZvcm1hdHRlcnMgJiYgY3VzdG9tRm9ybWF0dGVyc1twcm9wXSkgewotICAg
ICAgICAgICAgdmFyIGZvcm1hdHRlck5hbWUgPSBjdXN0b21Gb3JtYXR0ZXJzW3Byb3BdOwotICAg
ICAgICAgICAgaWYgKGZvcm1hdHRlck5hbWUgIT09ICJza2lwIikgewotICAgICAgICAgICAgICAg
IHZhciBmb3JtYXR0ZXIgPSBJbnNwZWN0b3JUZXN0LmZvcm1hdHRlcnNbZm9ybWF0dGVyTmFtZV07
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocHJlZml4V2l0aE5hbWUg
KyBmb3JtYXR0ZXIocHJvcFZhbHVlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wKHByb3BWYWx1ZSwgY3VzdG9tRm9ybWF0dGVy
cywgIiAgICAiICsgcHJlZml4LCBwcmVmaXhXaXRoTmFtZSk7Ci0gICAgfQotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHByZWZpeCArICJ9Iik7Ci19Ci0KLUluc3BlY3RvclRlc3QuYWRkQXJy
YXkgPSBmdW5jdGlvbihhcnJheSwgY3VzdG9tRm9ybWF0dGVycywgcHJlZml4LCBmaXJzdExpbmVQ
cmVmaXgpCi17Ci0gICAgcHJlZml4ID0gcHJlZml4IHx8ICIiOwotICAgIGZpcnN0TGluZVByZWZp
eCA9IGZpcnN0TGluZVByZWZpeCB8fCBwcmVmaXg7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoZmlyc3RMaW5lUHJlZml4ICsgIlsiKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5
Lmxlbmd0aDsgKytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXAoYXJyYXlbaV0sIGN1c3Rv
bUZvcm1hdHRlcnMsIHByZWZpeCArICIgICAgIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQocHJlZml4ICsgIl0iKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wID0gZnVuY3Rpb24odmFs
dWUsIGN1c3RvbUZvcm1hdHRlcnMsIHByZWZpeCwgcHJlZml4V2l0aE5hbWUpCi17Ci0gICAgcHJl
Zml4V2l0aE5hbWUgPSBwcmVmaXhXaXRoTmFtZSB8fCBwcmVmaXg7Ci0gICAgaWYgKHByZWZpeFdp
dGhOYW1lICYmIHByZWZpeFdpdGhOYW1lLmxlbmd0aCA+IDgwKSB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHByZWZpeFdpdGhOYW1lICsgIndhcyBza2lwcGVkIGR1ZSB0byBwcmVm
aXggbGVuZ3RoIGxpbWl0Iik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHZhbHVl
ID09PSBudWxsKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXhXaXRoTmFt
ZSArICJudWxsIik7Ci0gICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRBcnJheSh2YWx1ZSwgY3VzdG9tRm9ybWF0dGVycywgcHJlZml4
LCBwcmVmaXhXaXRoTmFtZSk7Ci0gICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAib2JqZWN0
IikKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QodmFsdWUsIGN1c3RvbUZvcm1hdHRl
cnMsIHByZWZpeCwgcHJlZml4V2l0aE5hbWUpOwotICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9
PT0gInN0cmluZyIpCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByZWZpeFdpdGhO
YW1lICsgIlwiIiArIHZhbHVlICsgIlwiIik7Ci0gICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdChwcmVmaXhXaXRoTmFtZSArIHZhbHVlKTsKLX0KLQotSW5zcGVjdG9yVGVz
dC5hc3NlcnRHcmVhdGVyT3JFcXVhbCA9IGZ1bmN0aW9uKGEsIGIsIG1lc3NhZ2UpCi17Ci0gICAg
aWYgKGEgPCBiKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTEVEOiAiICsg
KG1lc3NhZ2UgPyBtZXNzYWdlICsgIjogIiA6ICIiKSArIGEgKyAiIDwgIiArIGIpOwotfQotCi1J
bnNwZWN0b3JUZXN0Lm5hdmlnYXRlID0gZnVuY3Rpb24odXJsLCBjYWxsYmFjaykKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2sgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFw
KGNhbGxiYWNrKTsKLQotICAgIFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLl9yZXNldCgp
OwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIndpbmRvdy5sb2NhdGlvbiA9
ICciICsgdXJsICsgIiciKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5oYXJkUmVsb2FkUGFnZSA9IGZ1
bmN0aW9uKGNhbGxiYWNrLCBzY3JpcHRUb0V2YWx1YXRlT25Mb2FkLCBzY3JpcHRQcmVwcm9jZXNz
b3IpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5faW5uZXJSZWxvYWRQYWdlKHRydWUsIGNhbGxiYWNr
LCBzY3JpcHRUb0V2YWx1YXRlT25Mb2FkLCBzY3JpcHRQcmVwcm9jZXNzb3IpOwotfQotCi1JbnNw
ZWN0b3JUZXN0LnJlbG9hZFBhZ2UgPSBmdW5jdGlvbihjYWxsYmFjaywgc2NyaXB0VG9FdmFsdWF0
ZU9uTG9hZCwgc2NyaXB0UHJlcHJvY2Vzc29yKQotewotICAgIEluc3BlY3RvclRlc3QuX2lubmVy
UmVsb2FkUGFnZShmYWxzZSwgY2FsbGJhY2ssIHNjcmlwdFRvRXZhbHVhdGVPbkxvYWQsIHNjcmlw
dFByZXByb2Nlc3Nvcik7Ci19Ci0KLUluc3BlY3RvclRlc3QuX2lubmVyUmVsb2FkUGFnZSA9IGZ1
bmN0aW9uKGhhcmRSZWxvYWQsIGNhbGxiYWNrLCBzY3JpcHRUb0V2YWx1YXRlT25Mb2FkLCBzY3Jp
cHRQcmVwcm9jZXNzb3IpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNr
ID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0KLSAgICBpZiAoV2ViSW5zcGVj
dG9yLnBhbmVscy5uZXR3b3JrKQotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsu
X3Jlc2V0KCk7Ci0gICAgUGFnZUFnZW50LnJlbG9hZChoYXJkUmVsb2FkLCBzY3JpcHRUb0V2YWx1
YXRlT25Mb2FkLCBzY3JpcHRQcmVwcm9jZXNzb3IpOwotfQotCi1JbnNwZWN0b3JUZXN0LnBhZ2VM
b2FkZWQgPSBmdW5jdGlvbigpCi17Ci0gICAgcmVzdWx0c1N5bmNocm9uaXplZCA9IGZhbHNlOwot
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQYWdlIHJlbG9hZGVkLiIpOwotICAgIGlmIChJ
bnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2spIHsKLSAgICAgICAgdmFyIGNhbGxiYWNr
ID0gSW5zcGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNrOwotICAgICAgICBkZWxldGUgSW5z
cGVjdG9yVGVzdC5fcGFnZUxvYWRlZENhbGxiYWNrOwotICAgICAgICBjYWxsYmFjaygpOwotICAg
IH0KLX0KLQotSW5zcGVjdG9yVGVzdC5ydW5XaGVuUGFnZUxvYWRzID0gZnVuY3Rpb24oY2FsbGJh
Y2spCi17Ci0gICAgdmFyIG9sZENhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5fcGFnZUxvYWRlZENh
bGxiYWNrOwotICAgIGZ1bmN0aW9uIGNoYWluZWRDYWxsYmFjaygpCi0gICAgewotICAgICAgICBp
ZiAob2xkQ2FsbGJhY2spCi0gICAgICAgICAgICBvbGRDYWxsYmFjaygpOwotICAgICAgICBjYWxs
YmFjaygpOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0Ll9wYWdlTG9hZGVkQ2FsbGJhY2sgPSBJ
bnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNoYWluZWRDYWxsYmFjayk7Ci19Ci0KLUluc3BlY3RvclRl
c3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAg
IGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChjYWxsYmFjayk7Ci0gICAgSW5zcGVj
dG9yQmFja2VuZC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGNhbGxiYWNrKTsKLX0KLQotSW5z
cGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCA9IGZ1bmN0aW9uKGtleUlkZW50aWZpZXIsIGN0cmxL
ZXksIGFsdEtleSwgc2hpZnRLZXksIG1ldGFLZXkpCi17Ci0gICAgdmFyIGV2dCA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCJLZXlib2FyZEV2ZW50Iik7Ci0gICAgZXZ0LmluaXRLZXlib2FyZEV2ZW50
KCJrZXlkb3duIiwgdHJ1ZSAvKiBjYW4gYnViYmxlICovLCB0cnVlIC8qIGNhbiBjYW5jZWwgKi8s
IG51bGwgLyogdmlldyAqLywga2V5SWRlbnRpZmllciwgIiIsIGN0cmxLZXksIGFsdEtleSwgc2hp
ZnRLZXksIG1ldGFLZXkpOwotICAgIHJldHVybiBldnQ7Ci19Ci0KLUluc3BlY3RvclRlc3QucnVu
VGVzdFN1aXRlID0gZnVuY3Rpb24odGVzdFN1aXRlKQotewotICAgIHZhciB0ZXN0U3VpdGVUZXN0
cyA9IHRlc3RTdWl0ZS5zbGljZSgpOwotCi0gICAgZnVuY3Rpb24gcnVubmVyKCkKLSAgICB7Ci0g
ICAgICAgIGlmICghdGVzdFN1aXRlVGVzdHMubGVuZ3RoKSB7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0g
ICAgICAgIHZhciBuZXh0VGVzdCA9IHRlc3RTdWl0ZVRlc3RzLnNoaWZ0KCk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlJ1bm5pbmc6ICIgKyAvZnVuY3Rpb25ccyhbXihdKikvLmV4ZWMobmV4dFRlc3QpWzFdKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5zYWZlV3JhcChuZXh0VGVzdCkocnVubmVyLCBydW5uZXIp
OwotICAgIH0KLSAgICBydW5uZXIoKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMg
PSBmdW5jdGlvbihleHBlY3RlZCwgZm91bmQsIG1lc3NhZ2UpCi17Ci0gICAgaWYgKGV4cGVjdGVk
ID09PSBmb3VuZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmFyIGVycm9yOwotICAgIGlmICht
ZXNzYWdlKQotICAgICAgICBlcnJvciA9ICJGYWlsdXJlICgiICsgbWVzc2FnZSArICIpOiI7Ci0g
ICAgZWxzZQotICAgICAgICBlcnJvciA9ICJGYWlsdXJlOiI7Ci0gICAgdGhyb3cgbmV3IEVycm9y
KGVycm9yICsgIiBleHBlY3RlZCA8IiArIGV4cGVjdGVkICsgIj4gZm91bmQgPCIgKyBmb3VuZCAr
ICI+Iik7Ci19Ci0KLUluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSA9IGZ1bmN0aW9uKGZvdW5kLCBt
ZXNzYWdlKQotewotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhZm91bmQs
IG1lc3NhZ2UpOwotfQotCi1JbnNwZWN0b3JUZXN0LnNhZmVXcmFwID0gZnVuY3Rpb24oZnVuYywg
b25leGNlcHRpb24pCi17Ci0gICAgZnVuY3Rpb24gcmVzdWx0KCkKLSAgICB7Ci0gICAgICAgIGlm
ICghZnVuYykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdmFyIHdyYXBUaGlzID0gdGhp
czsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHdyYXBUaGlz
LCBhcmd1bWVudHMpOwotICAgICAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJFeGNlcHRpb24gd2hpbGUgcnVubmluZzogIiArIGZ1bmMgKyAiXG4i
ICsgKGUuc3RhY2sgfHwgZSkpOwotICAgICAgICAgICAgaWYgKG9uZXhjZXB0aW9uKQotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3Quc2FmZVdyYXAob25leGNlcHRpb24pKCk7Ci0gICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1JbnNwZWN0b3JUZXN0
LmFkZFNuaWZmZXIgPSBmdW5jdGlvbihyZWNlaXZlciwgbWV0aG9kTmFtZSwgb3ZlcnJpZGUsIG9w
dF9zdGlja3kpCi17Ci0gICAgb3ZlcnJpZGUgPSBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKG92ZXJy
aWRlKTsKLQotICAgIHZhciBvcmlnaW5hbCA9IHJlY2VpdmVyW21ldGhvZE5hbWVdOwotICAgIGlm
ICh0eXBlb2Ygb3JpZ2luYWwgIT09ICJmdW5jdGlvbiIpCi0gICAgICAgIHRocm93ICgiQ2Fubm90
IGZpbmQgbWV0aG9kIHRvIG92ZXJyaWRlOiAiICsgbWV0aG9kTmFtZSk7Ci0KLSAgICByZWNlaXZl
clttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKHZhcl9hcmdzKSB7Ci0gICAgICAgIHRyeSB7Ci0gICAg
ICAgICAgICB2YXIgcmVzdWx0ID0gb3JpZ2luYWwuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAg
ICAgICAgfSBmaW5hbGx5IHsKLSAgICAgICAgICAgIGlmICghb3B0X3N0aWNreSkKLSAgICAgICAg
ICAgICAgICByZWNlaXZlclttZXRob2ROYW1lXSA9IG9yaWdpbmFsOwotICAgICAgICB9Ci0gICAg
ICAgIC8vIEluIGNhc2Ugb2YgZXhjZXB0aW9uIHRoZSBvdmVycmlkZSB3b24ndCBiZSBjYWxsZWQu
Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBvdmVycmlkZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICB0aHJvdyAoIkV4Y2VwdGlv
biBpbiBvdmVycmlkZW4gbWV0aG9kICciICsgbWV0aG9kTmFtZSArICInOiAiICsgZSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OwotfQotCi1JbnNwZWN0b3JUZXN0
LmFkZENvbnNvbGVTbmlmZmVyID0gZnVuY3Rpb24ob3ZlcnJpZGUsIG9wdF9zdGlja3kpCi17Ci0g
ICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90
b3R5cGUsICJfYXBwZW5kQ29uc29sZU1lc3NhZ2UiLCBvdmVycmlkZSwgb3B0X3N0aWNreSk7Ci19
Ci0KLUluc3BlY3RvclRlc3Qub3ZlcnJpZGUgPSBmdW5jdGlvbihyZWNlaXZlciwgbWV0aG9kTmFt
ZSwgb3ZlcnJpZGUsIG9wdF9zdGlja3kpCi17Ci0gICAgb3ZlcnJpZGUgPSBJbnNwZWN0b3JUZXN0
LnNhZmVXcmFwKG92ZXJyaWRlKTsKLQotICAgIHZhciBvcmlnaW5hbCA9IHJlY2VpdmVyW21ldGhv
ZE5hbWVdOwotICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgIT09ICJmdW5jdGlvbiIpCi0gICAgICAg
IHRocm93ICgiQ2Fubm90IGZpbmQgbWV0aG9kIHRvIG92ZXJyaWRlOiAiICsgbWV0aG9kTmFtZSk7
Ci0KLSAgICByZWNlaXZlclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKHZhcl9hcmdzKSB7Ci0gICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIHZhciByZXN1bHQg
PSBvdmVycmlkZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwotICAgICAgICAgICAgfSBjYXRjaCAo
ZSkgewotICAgICAgICAgICAgICAgIHRocm93ICgiRXhjZXB0aW9uIGluIG92ZXJyaWRlbiBtZXRo
b2QgJyIgKyBtZXRob2ROYW1lICsgIic6ICIgKyBlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSBmaW5hbGx5IHsKLSAgICAgICAgICAgIGlmICghb3B0X3N0aWNreSkKLSAgICAgICAgICAgICAg
ICByZWNlaXZlclttZXRob2ROYW1lXSA9IG9yaWdpbmFsOwotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiByZXN1bHQ7Ci0gICAgfTsKLQotICAgIHJldHVybiBvcmlnaW5hbDsKLX0KLQotSW5zcGVj
dG9yVGVzdC50ZXh0Q29udGVudFdpdGhMaW5lQnJlYWtzID0gZnVuY3Rpb24obm9kZSkKLXsKLSAg
ICB2YXIgYnVmZmVyID0gIiI7Ci0gICAgdmFyIGN1cnJlbnROb2RlID0gbm9kZTsKLSAgICB3aGls
ZSAoY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS50cmF2ZXJzZU5leHROb2RlKG5vZGUpKSB7Ci0g
ICAgICAgIGlmIChjdXJyZW50Tm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpCi0gICAg
ICAgICAgICBidWZmZXIgKz0gY3VycmVudE5vZGUubm9kZVZhbHVlOwotICAgICAgICBlbHNlIGlm
IChjdXJyZW50Tm9kZS5ub2RlTmFtZSA9PT0gIkxJIikKLSAgICAgICAgICAgIGJ1ZmZlciArPSAi
XG4gICAgIjsKLSAgICAgICAgZWxzZSBpZiAoY3VycmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5z
KCJjb25zb2xlLW1lc3NhZ2UiKSkKLSAgICAgICAgICAgIGJ1ZmZlciArPSAiXG5cbiI7Ci0gICAg
fQotICAgIHJldHVybiBidWZmZXI7Ci19Ci0KLUluc3BlY3RvclRlc3QuU3RyaW5nT3V0cHV0U3Ry
ZWFtID0gZnVuY3Rpb24oY2FsbGJhY2spCi17Ci0gICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFj
azsKLSAgICB0aGlzLl9idWZmZXIgPSAiIjsKLX07Ci0KLUluc3BlY3RvclRlc3QuU3RyaW5nT3V0
cHV0U3RyZWFtLnByb3RvdHlwZSA9IHsKLSAgICB3cml0ZTogZnVuY3Rpb24oY2h1bmssIGNhbGxi
YWNrKQotICAgIHsKLSAgICAgICAgdGhpcy5fYnVmZmVyICs9IGNodW5rOwotICAgICAgICBpZiAo
Y2FsbGJhY2spCi0gICAgICAgICAgICBjYWxsYmFjayh0aGlzKTsKLSAgICB9LAotCi0gICAgY2xv
c2U6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhbGxiYWNrKHRoaXMuX2J1ZmZl
cik7Ci0gICAgfQotfTsKLQotSW5zcGVjdG9yVGVzdC5Nb2NrU2V0dGluZyA9IGZ1bmN0aW9uKHZh
bHVlKQotewotICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7Ci19OwotCi1JbnNwZWN0b3JUZXN0Lk1v
Y2tTZXR0aW5nLnByb3RvdHlwZSA9IHsKLSAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgICBy
ZXR1cm4gdGhpcy5fdmFsdWU7Ci0gICAgfSwKLQotICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsK
LSAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKLSAgICB9Ci19OwotCi19OwotCi12YXIgaW5p
dGlhbGl6ZUNhbGxJZCA9IDA7Ci12YXIgcnVuVGVzdENhbGxJZCA9IDE7Ci12YXIgY29tcGxldGVU
ZXN0Q2FsbElkID0gMjsKLXZhciBmcm9udGVuZFJlb3BlbmluZ0NvdW50ID0gMDsKLQotZnVuY3Rp
b24gcmVvcGVuRnJvbnRlbmQoKQotewotICAgIGNsb3NlRnJvbnRlbmQob3BlbkZyb250ZW5kQW5k
SW5jcmVtZW50KTsKLX0KLQotZnVuY3Rpb24gY2xvc2VGcm9udGVuZChjYWxsYmFjaykKLXsKLSAg
ICAvLyBEbyB0aGlzIGFzeW5jaHJvbm91c2x5IHRvIGFsbG93IEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyIHRvIHNlbmQgcmVzcG9uc2UKLSAgICAvLyBiYWNrIHRvIHRoZSBmcm9udGVuZCBiZWZv
cmUgaXQncyBkZXN0cm95ZWQuCi0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAg
dGVzdFJ1bm5lci5jbG9zZVdlYkluc3BlY3RvcigpOwotICAgICAgICBjYWxsYmFjaygpOwotICAg
IH0sIDApOwotfQotCi1mdW5jdGlvbiBvcGVuRnJvbnRlbmRBbmRJbmNyZW1lbnQoKQotewotICAg
IGZyb250ZW5kUmVvcGVuaW5nQ291bnQrKzsKLSAgICB0ZXN0UnVubmVyLnNob3dXZWJJbnNwZWN0
b3IoKTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bkFmdGVySWZyYW1lSXNMb2Fk
ZWQoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgZnVuY3Rpb24gc3RlcCgpCi0gICAgewotICAgICAgICBpZiAo
IXdpbmRvdy5pZnJhbWVMb2FkZWQpCi0gICAgICAgICAgICBzZXRUaW1lb3V0KHN0ZXAsIDEwMCk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKLSAgICB9Ci0gICAgc2V0VGlt
ZW91dChzdGVwLCAxMDApOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KGVuYWJsZVdhdGNoRG9nV2hp
bGVEZWJ1Z2dpbmcpCi17Ci0gICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0KLSAgICBmdW5jdGlvbiBpbml0aWFsaXplRnJvbnRlbmQoaW5pdGlhbGl6
YXRpb25GdW5jdGlvbnMpCi0gICAgewotICAgICAgICBpZiAod2luZG93Lkluc3BlY3RvclRlc3Qp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFnZUxvYWRlZCgpOwotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdCA9IHt9OwotICAgIAot
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemF0aW9uRnVuY3Rpb25zLmxlbmd0
aDsgKytpKSB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgIGluaXRpYWxpemF0
aW9uRnVuY3Rpb25zW2ldKCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAg
ICAgICAgY29uc29sZS5lcnJvcigiRXhjZXB0aW9uIGluIHRlc3QgaW5pdGlhbGl6YXRpb246ICIg
KyBlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdEluRnJv
bnRlbmQodGVzdEZ1bmN0aW9uLCBjb21wbGV0ZVRlc3RDYWxsSWQpCi0gICAgewotICAgICAgICBp
ZiAoSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3RDYWxsSWQpIAotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0Q2FsbElkID0gY29tcGxldGVU
ZXN0Q2FsbElkOwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImF1ZGl0cyIpOwot
ICAgICAgICB0cnkgewotICAgICAgICAgICAgdGVzdEZ1bmN0aW9uKCk7Ci0gICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkV4Y2VwdGlvbiBkdXJpbmcgdGVz
dCBleGVjdXRpb246ICIgKyBlLCAgKGUuc3RhY2sgPyBlLnN0YWNrIDogIiIpICk7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgdmFyIGluaXRpYWxpemF0aW9uRnVuY3Rpb25zID0gWyBTdHJpbmcoaW5pdGlhbGl6ZV9JbnNw
ZWN0b3JUZXN0KSBdOwotICAgIGZvciAodmFyIG5hbWUgaW4gd2luZG93KSB7Ci0gICAgICAgIGlm
IChuYW1lLmluZGV4T2YoImluaXRpYWxpemVfIikgPT09IDAgJiYgdHlwZW9mIHdpbmRvd1tuYW1l
XSA9PT0gImZ1bmN0aW9uIiAmJiBuYW1lICE9PSAiaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0IikK
LSAgICAgICAgICAgIGluaXRpYWxpemF0aW9uRnVuY3Rpb25zLnB1c2god2luZG93W25hbWVdLnRv
U3RyaW5nKCkpOwotICAgIH0KLSAgICB2YXIgcGFyYW1ldGVycyA9IFsiWyIgKyBpbml0aWFsaXph
dGlvbkZ1bmN0aW9ucyArICJdIl07Ci0gICAgdmFyIHRvRXZhbHVhdGUgPSAiKCIgKyBpbml0aWFs
aXplRnJvbnRlbmQgKyAiKSgiICsgcGFyYW1ldGVycy5qb2luKCIsICIpICsgIik7IjsKLSAgICB0
ZXN0UnVubmVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoaW5pdGlhbGl6ZUNhbGxJZCwgdG9FdmFs
dWF0ZSk7Ci0KLSAgICBwYXJhbWV0ZXJzID0gW3Rlc3QsIGNvbXBsZXRlVGVzdENhbGxJZF07Ci0g
ICAgdG9FdmFsdWF0ZSA9ICIoIiArIHJ1blRlc3RJbkZyb250ZW5kICsgIikoIiArIHBhcmFtZXRl
cnMuam9pbigiLCAiKSArICIpOyI7Ci0gICAgdGVzdFJ1bm5lci5ldmFsdWF0ZUluV2ViSW5zcGVj
dG9yKHJ1blRlc3RDYWxsSWQsIHRvRXZhbHVhdGUpOwotCi0gICAgaWYgKGVuYWJsZVdhdGNoRG9n
V2hpbGVEZWJ1Z2dpbmcpIHsKLSAgICAgICAgZnVuY3Rpb24gd2F0Y2hEb2coKQotICAgICAgICB7
Ci0gICAgICAgICAgICBjb25zb2xlLmxvZygiSW50ZXJuYWwgd2F0Y2hkb2cgdHJpZ2dlcmVkIGF0
IDIwIHNlY29uZHMuIFRlc3QgdGltZWQgb3V0LiIpOwotICAgICAgICAgICAgY2xvc2VJbnNwZWN0
b3JBbmROb3RpZnlEb25lKCk7Ci0gICAgICAgIH0KLSAgICAgICAgd2luZG93Ll93YXRjaERvZ1Rp
bWVyID0gc2V0VGltZW91dCh3YXRjaERvZywgMjAwMDApOwotICAgIH0KLX0KLQotZnVuY3Rpb24g
ZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQpCi17Ci0gICAgaWYgKGNhbGxJZCAh
PT0gY29tcGxldGVUZXN0Q2FsbElkKQotICAgICAgICByZXR1cm47Ci0gICAgZGVsZXRlIHdpbmRv
dy5jb21wbGV0ZVRlc3RDYWxsSWQ7Ci0gICAgLy8gQ2xvc2UgaW5zcGVjdG9yIGFzeW5jaHJvdXNs
eSB0byBhbGxvdyBjYWxsZXIgb2YgdGhpcwotICAgIC8vIGZ1bmN0aW9uIHNlbmQgcmVzcG9uc2Ug
YmVmb3JlIGJhY2tlbmQgZGlzcGF0Y2hlciBhbmQgZnJvbnRlbmQgYXJlIGRlc3Ryb3llZC4KLSAg
ICBzZXRUaW1lb3V0KGNsb3NlSW5zcGVjdG9yQW5kTm90aWZ5RG9uZSwgMCk7Ci19Ci0KLWZ1bmN0
aW9uIGNsb3NlSW5zcGVjdG9yQW5kTm90aWZ5RG9uZSgpCi17Ci0gICAgaWYgKHdpbmRvdy5fd2F0
Y2hEb2dUaW1lcikKLSAgICAgICAgY2xlYXJUaW1lb3V0KHdpbmRvdy5fd2F0Y2hEb2dUaW1lcik7
Ci0KLSAgICB0ZXN0UnVubmVyLmNsb3NlV2ViSW5zcGVjdG9yKCk7Ci0gICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgfSwgMCk7
Ci19Ci0KLXZhciBvdXRwdXRFbGVtZW50OwotCi1mdW5jdGlvbiBvdXRwdXQodGV4dCkKLXsKLSAg
ICBpZiAoIW91dHB1dEVsZW1lbnQpIHsKLSAgICAgICAgdmFyIGludGVybWVkaWF0ZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGludGVybWVkaWF0ZSk7Ci0KLSAgICAgICAgdmFyIGludGVybWVkaWF0ZTIgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgaW50ZXJtZWRpYXRlLmFwcGVuZENoaWxk
KGludGVybWVkaWF0ZTIpOwotCi0gICAgICAgIG91dHB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgb3V0cHV0RWxlbWVudC5jbGFzc05hbWUgPSAib3V0
cHV0IjsKLSAgICAgICAgb3V0cHV0RWxlbWVudC5pZCA9ICJvdXRwdXQiOwotICAgICAgICBvdXRw
dXRFbGVtZW50LnN0eWxlLndoaXRlU3BhY2UgPSAicHJlIjsKLSAgICAgICAgaW50ZXJtZWRpYXRl
Mi5hcHBlbmRDaGlsZChvdXRwdXRFbGVtZW50KTsKLSAgICB9Ci0gICAgb3V0cHV0RWxlbWVudC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7Ci0gICAgb3V0cHV0RWxl
bWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKLX0KLQotZnVu
Y3Rpb24gY2xlYXJPdXRwdXQoKQotewotICAgIGlmIChvdXRwdXRFbGVtZW50KSB7Ci0gICAgICAg
IG91dHB1dEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvdXRwdXRFbGVtZW50KTsKLSAg
ICAgICAgb3V0cHV0RWxlbWVudCA9IG51bGw7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBTdGFuZGFs
b25lVGVzdFJ1bm5lclN0dWIoKQotewotfQotCi1TdGFuZGFsb25lVGVzdFJ1bm5lclN0dWIucHJv
dG90eXBlID0gewotICAgIGR1bXBBc1RleHQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgfSwKLQot
ICAgIHdhaXRVbnRpbERvbmU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgfSwKLQotICAgIGNsb3Nl
V2ViSW5zcGVjdG9yOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB3aW5kb3cub3BlbmVyLnBv
c3RNZXNzYWdlKFsiY2xvc2VXZWJJbnNwZWN0b3IiXSwgIioiKTsKLSAgICB9LAotCi0gICAgbm90
aWZ5RG9uZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIGFjdHVhbCA9IGRvY3VtZW50
LmJvZHkuaW5uZXJUZXh0ICsgIlxuIjsKLSAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2Fn
ZShbIm5vdGlmeURvbmUiLCBhY3R1YWxdLCAiKiIpOwotICAgIH0sCi0KLSAgICBldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yOiBmdW5jdGlvbihjYWxsSWQsIHNjcmlwdCkKLSAgICB7Ci0gICAgICAgIHdp
bmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoWyJldmFsdWF0ZUluV2ViSW5zcGVjdG9yIiwgY2FsbElk
LCBzY3JpcHRdLCAiKiIpOwotICAgIH0sCi0KLSAgICBkaXNwbGF5OiBmdW5jdGlvbigpIHsgfQot
fQotCi1pZiAoIXdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5vcGVuZXIpCi0gICAgd2luZG93
LnRlc3RSdW5uZXIgPSBuZXcgU3RhbmRhbG9uZVRlc3RSdW5uZXJTdHViKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9pc29sYXRlZC1maWxl
c3lzdGVtLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9pc29sYXRlZC1maWxlc3lzdGVtLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNkMTQ1MWRkMjI2NjcyNTBkZGQ4YzkyODBlNTE4MWFmOWUyYzJjYTIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvaXNvbGF0ZWQtZmlsZXN5c3RlbS10ZXN0LmpzCisrKyAvZGV2
L251bGwKQEAgLTEsNjMgKzAsMCBAQAotdmFyIGluaXRpYWxpemVfSXNvbGF0ZWRGaWxlU3lzdGVt
VGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LmNyZWF0ZUlzb2xhdGVkRmlsZVN5
c3RlbU1hbmFnZXIgPSBmdW5jdGlvbih3b3Jrc3BhY2UsIGZpbGVTeXN0ZW1NYXBwaW5nKQotewot
ICAgIHZhciBtYW5hZ2VyID0gbmV3IE1vY2tJc29sYXRlZEZpbGVTeXN0ZW1NYW5hZ2VyKCk7Ci0g
ICAgbWFuYWdlci5maWxlU3lzdGVtV29ya3NwYWNlUHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9y
LkZpbGVTeXN0ZW1Xb3Jrc3BhY2VQcm92aWRlcihtYW5hZ2VyLCB3b3Jrc3BhY2UpOwotICAgIG1h
bmFnZXIuZmlsZVN5c3RlbU1hcHBpbmcgPSBmaWxlU3lzdGVtTWFwcGluZzsKLSAgICByZXR1cm4g
bWFuYWdlcjsKLX0KLQotdmFyIE1vY2tJc29sYXRlZEZpbGVTeXN0ZW0gPSBmdW5jdGlvbihwYXRo
LCBmaWxlcykKLXsKLSAgICB0aGlzLl9wYXRoID0gcGF0aDsKLSAgICB0aGlzLl9maWxlcyA9IGZp
bGVzOwotfTsKLU1vY2tJc29sYXRlZEZpbGVTeXN0ZW0ucHJvdG90eXBlID0gewotICAgIHBhdGg6
IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9wYXRoOwotICAgIH0sCi0K
LSAgICByZXF1ZXN0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHBhdGgsIGNhbGxiYWNrKQotICAgIHsK
LSAgICAgICAgY2FsbGJhY2sodGhpcy5fZmlsZXNbcGF0aF0pOwotICAgIH0sCi0KLSAgICBzZXRG
aWxlQ29udGVudDogZnVuY3Rpb24ocGF0aCwgbmV3Q29udGVudCwgY2FsbGJhY2spCi0gICAgewot
ICAgICAgICB0aGlzLl9maWxlc1twYXRoXSA9IG5ld0NvbnRlbnQ7Ci0gICAgICAgIGNhbGxiYWNr
KCk7Ci0gICAgfSwKLQotICAgIHJlcXVlc3RGaWxlc1JlY3Vyc2l2ZTogZnVuY3Rpb24ocGF0aCwg
Y2FsbGJhY2spCi0gICAgewotICAgICAgICB2YXIgZmlsZXMgPSBPYmplY3Qua2V5cyh0aGlzLl9m
aWxlcyk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyArK2kpCi0g
ICAgICAgICAgICBjYWxsYmFjayhmaWxlc1tpXSk7Ci0gICAgfSwKLX0KLQotdmFyIE1vY2tJc29s
YXRlZEZpbGVTeXN0ZW1NYW5hZ2VyID0gZnVuY3Rpb24oKSB7fTsKLU1vY2tJc29sYXRlZEZpbGVT
eXN0ZW1NYW5hZ2VyLnByb3RvdHlwZSA9IHsKLSAgICBhZGRNb2NrRmlsZVN5c3RlbTogZnVuY3Rp
b24ocGF0aCwgZmlsZXMpCi0gICAgewotICAgICAgICB2YXIgZmlsZVN5c3RlbSA9IG5ldyBNb2Nr
SXNvbGF0ZWRGaWxlU3lzdGVtKHBhdGgsIGZpbGVzKTsKLSAgICAgICAgdGhpcy5fZmlsZVN5c3Rl
bXMgPSB0aGlzLl9maWxlU3lzdGVtcyB8fCB7fTsKLSAgICAgICAgdGhpcy5fZmlsZVN5c3RlbXNb
cGF0aF0gPSBmaWxlU3lzdGVtOwotICAgICAgICB0aGlzLmZpbGVTeXN0ZW1NYXBwaW5nLmFkZEZp
bGVTeXN0ZW1NYXBwaW5nKHBhdGgpOwotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lzdGVtTWFuYWdlci5FdmVudHMuRmlsZVN5
c3RlbUFkZGVkLCBmaWxlU3lzdGVtKTsKLSAgICB9LAotCi0gICAgcmVtb3ZlTW9ja0ZpbGVTeXN0
ZW06IGZ1bmN0aW9uKHBhdGgpCi0gICAgewotICAgICAgICB2YXIgZmlsZVN5c3RlbSA9IHRoaXMu
X2ZpbGVTeXN0ZW1zW3BhdGhdOwotICAgICAgICBkZWxldGUgdGhpcy5fZmlsZVN5c3RlbXNbcGF0
aF07Ci0gICAgICAgIHRoaXMuZmlsZVN5c3RlbU1hcHBpbmcucmVtb3ZlRmlsZVN5c3RlbU1hcHBp
bmcocGF0aCk7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5Jc29sYXRlZEZpbGVTeXN0ZW1NYW5hZ2VyLkV2ZW50cy5GaWxlU3lzdGVtUmVtb3ZlZCwg
ZmlsZVN5c3RlbSk7Ci0gICAgfSwKLQotICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVj
dC5wcm90b3R5cGUKLX0KLQotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL2xpdmUtZWRpdC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbGl2ZS1lZGl0LXRlc3QuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDc0NTA2ZjViOTc0MmVlMzcxYjI5ZjhlNzE1NDM5ZGMyMzk4NjNhOTIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbGl2ZS1lZGl0LXRlc3QuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9MaXZlRWRpdFRlc3QgPSBm
dW5jdGlvbigpIHsKLQotSW5zcGVjdG9yVGVzdC5yZXBsYWNlSW5Tb3VyY2UgPSBmdW5jdGlvbihz
b3VyY2VGcmFtZSwgc3RyaW5nLCByZXBsYWNlbWVudCkKLXsKLSAgICBzb3VyY2VGcmFtZS5fdGV4
dEVkaXRvci5fbWFpblBhbmVsLnNldFJlYWRPbmx5KGZhbHNlKTsKLSAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmVzQ291bnQ7ICsraSkgewotICAgICAg
ICB2YXIgbGluZSA9IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmUoaSk7Ci0gICAgICAgIHZh
ciBjb2x1bW4gPSBsaW5lLmluZGV4T2Yoc3RyaW5nKTsKLSAgICAgICAgaWYgKGNvbHVtbiA9PT0g
LTEpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVj
dG9yLlRleHRSYW5nZShpLCBjb2x1bW4sIGksIGNvbHVtbiArIHN0cmluZy5sZW5ndGgpOwotICAg
ICAgICB2YXIgbmV3UmFuZ2UgPSBzb3VyY2VGcmFtZS5fdGV4dEVkaXRvci5lZGl0UmFuZ2UocmFu
Z2UsIHJlcGxhY2VtZW50KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQotCi1JbnNwZWN0b3JU
ZXN0LmNvbW1pdFNvdXJjZSA9IGZ1bmN0aW9uKHNvdXJjZUZyYW1lKQotewotICAgIHNvdXJjZUZy
YW1lLl9jb21taXRFZGl0aW5nKCk7Ci19Ci0KLUluc3BlY3RvclRlc3QudW5kb1NvdXJjZUVkaXRp
bmcgPSBmdW5jdGlvbihzb3VyY2VGcmFtZSkKLXsKLSAgICBzb3VyY2VGcmFtZS5fdGV4dEVkaXRv
ci5fbWFpblBhbmVsLl9oYW5kbGVVbmRvUmVkbyhmYWxzZSk7Ci19Ci0KLX07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9tb2RpZnktY3Jvc3Mt
ZG9tYWluLXJ1bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbW9kaWZ5LWNyb3NzLWRvbWFpbi1ydWxlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNhZWE2MDgyOTgyYmMzNjcyZDVkOTU2OTg3MmVkMmVk
NGU0ZjIxYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9tb2RpZnktY3Jvc3MtZG9t
YWluLXJ1bGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVz
dHMgdGhhdCBtb2RpZnlpbmcgYSBydWxlIGluIGEgc3R5bGVzaGVldCBsb2FkZWQgZnJvbSBhIGRp
ZmZlcmVudCBkb21haW4gZG9lcyBub3QgY3Jhc2ggdGhlIHJlbmRlcmVyLgotCi1UZXh0Ci0KLVJ1
bm5pbmc6IHRlc3RTZXRVcAotCi1SdW5uaW5nOiB0ZXN0QWRkUHJvcGVydHkKLT09PSBSdWxlIG1v
ZGlmaWVkID09PQotY29sb3I6IGdyZWVuOwotd2lkdGg6IDEwMCU7Ci09PT0gU2VsZWN0b3IgY2hh
bmdlZCA9PT0KLWJvZHkgewotICBjb2xvcjogZ3JlZW47Ci0gIHdpZHRoOiAxMDAlOwotfQotQWZm
ZWN0cyBzZWxlY3RlZCAoI2luc3BlY3RlZCkgbm9kZTogZmFsc2UKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbW9kaWZ5LWNyb3NzLWRvbWFp
bi1ydWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9t
b2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2I3OWRkM2ZlYjdkMTQ5NDIzYzA3MDYyMmIyYmVjMDM3MWZlMjUyYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDExMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3N0eWxlcy9tb2Rp
ZnktY3Jvc3MtZG9tYWluLXJ1bGUuY3NzIj4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgbm9kZUlkOwotICAgIHZhciBh
bGxSdWxlczsKLSAgICB2YXIgcnVsZTsKLSAgICB2YXIgbWF0Y2hlZFJ1bGVzOwotCi0gICAgV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLQotICAgIEluc3BlY3RvclRlc3QucnVu
VGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQpIHsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIs
IHNlbGVjdENhbGxiYWNrKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc2VsZWN0Q2FsbGJhY2so
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBpZFRvRE9NTm9kZSA9IFdlYklu
c3BlY3Rvci5kb21BZ2VudC5faWRUb0RPTU5vZGU7Ci0gICAgICAgICAgICAgICAgZm9yICh2YXIg
aWQgaW4gaWRUb0RPTU5vZGUpIHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9IGlkVG9ET01O
b2RlW2lkXTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUuZ2V0QXR0cmlidXRlICYmIG5v
ZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09PSAiaW5zcGVjdGVkIikgewotICAgICAgICAgICAgICAg
ICAgICAgICAgbm9kZUlkID0gcGFyc2VJbnQoaWQsIDEwKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgaWYgKCFub2RlSWQpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5n
ZXRNYXRjaGVkU3R5bGVzQXN5bmMobm9kZUlkLCBmYWxzZSwgZmFsc2UsIGNhbGxiYWNrKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2socnVsZXMpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCFydWxlcyB8fCAhcnVsZXMubWF0Y2hlZENT
U1J1bGVzIHx8ICFydWxlcy5tYXRjaGVkQ1NTUnVsZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gTm8gcnVsZXMgZm91bmQiKTsKLSAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAg
IGFsbFJ1bGVzID0gcnVsZXMubWF0Y2hlZENTU1J1bGVzOwotICAgICAgICAgICAgICAgIG5leHQo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0QWRk
UHJvcGVydHkobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBhbGxSdWxlcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIGlmIChhbGxSdWxlc1tp
XS5pc1JlZ3VsYXIpIHsKLSAgICAgICAgICAgICAgICAgICAgcnVsZSA9IGFsbFJ1bGVzW2ldOwot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBydWxlLnN0eWxlLmFwcGVuZFByb3BlcnR5KCJ3aWR0aCIsICIxMDAl
IiwgY2FsbGJhY2spOwotICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2sobmV3U3R5bGUpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PSBSdWxlIG1vZGlmaWVkID09PSIpOwotICAgICAgICAgICAgICAgIGlmICghbmV3U3R5bGUpIHsK
LSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlshXSBObyB2YWxp
ZCBydWxlIHN0eWxlIHJlY2VpdmVkIik7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgZHVtcFByb3BlcnRpZXMobmV3U3R5bGUpOwotICAgICAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuY3NzTW9kZWwuc2V0UnVsZVNlbGVjdG9yKHJ1bGUuaWQsIG5vZGVJZCwgImJv
ZHkiLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjayk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2so
cnVsZSwgZG9lc0FmZmVjdFNlbGVjdGVkTm9kZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IFNlbGVjdG9yIGNoYW5nZWQgPT09Iik7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocnVsZS5zZWxlY3RvclRl
eHQgKyAiIHsiICsgcnVsZS5zdHlsZS5jc3NUZXh0ICsgIn0iKTsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZmZWN0cyBzZWxlY3RlZCAoI2luc3BlY3RlZCkgbm9k
ZTogIiArIGRvZXNBZmZlY3RTZWxlY3RlZE5vZGUpOwotICAgICAgICAgICAgICAgIG5leHQoKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmFpbHVyZUNhbGxiYWNrKCkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
WyFdIEZhaWxlZCB0byBjaGFuZ2Ugc2VsZWN0b3IiKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgXSk7
Ci0KLSAgICBmdW5jdGlvbiBkdW1wUHJvcGVydGllcyhzdHlsZSkKLSAgICB7Ci0gICAgICAgaWYg
KCFzdHlsZSkKLSAgICAgICAgICAgcmV0dXJuOwotICAgICAgIHZhciBhbGxQcm9wZXJ0aWVzID0g
c3R5bGUuYWxsUHJvcGVydGllczsKLSAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbFByb3Bl
cnRpZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGFs
bFByb3BlcnRpZXNbaV0udGV4dCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBtb2RpZnlpbmcgYSBydWxl
IGluIGEgc3R5bGVzaGVldCBsb2FkZWQgZnJvbSBhIGRpZmZlcmVudCBkb21haW4gZG9lcyBub3Qg
Y3Jhc2ggdGhlIHJlbmRlcmVyLgotPC9wPgotCi08ZGl2IGlkPSJpbnNwZWN0ZWQiPlRleHQ8L2Rp
dj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrLXBy
ZWZsaWdodC1vcHRpb25zLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggODQ2MDkxNzNiNDQ5ODFkYjgyYTlhMGI2ZjA0MDJmZTA5YWMzZDYwZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrLXByZWZsaWdodC1vcHRpb25zLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogWE1MSHR0
cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTAmZGVueT15ZXMuIE9yaWdpbiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgot
Q09OU09MRSBNRVNTQUdFOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxo
b3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHA/aWQ9MSZkZW55PXll
cy4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4uCi1DT05TT0xFIE1FU1NBR0U6IFhNTEh0dHBSZXF1ZXN0IGNh
bm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMt
dGFyZ2V0LnBocD9pZD0zJmRlbnk9eWVzLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlz
IG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KLUNPTlNPTEUgTUVT
U0FHRTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTQmZGVueT15ZXMuIE9yaWdpbiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luLgotVGVzdHMgdGhhdCBwcmVmbGlnaHQgT1BUSU9OUyByZXF1ZXN0cyBhcHBlYXIg
aW4gTmV0d29yayByZXNvdXJjZXMKLQotQnVnIDYzNzEyCi0wIHhocjpQT1NUIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0wJmRlbnk9
eWVzCi0xIHhocjpPUFRJT05TIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0xJmRlbnk9eWVzCi0yIHhocjpPUFRJT05TIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMtdGFyZ2V0LnBocD9pZD0yCi0y
IHhocjpQT1NUIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2NvcnMt
dGFyZ2V0LnBocD9pZD0yCi0zIG90aGVyOlBPU1QgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTMmZGVueT15ZXMKLTQgeGhyOk9QVElP
TlMgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQu
cGhwP2lkPTQmZGVueT15ZXMKLTUgeGhyOk9QVElPTlMgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTUKLTUgeGhyOlBPU1QgaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvY29ycy10YXJnZXQucGhwP2lkPTUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay1wcmVmbGlnaHQtb3B0aW9ucy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGUxMzc0ODkwNjI5OGQ5MDIyNGQyYTEyNzgyZmE3NGVl
YTg3MjJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmstcHJlZmxpZ2h0
LW9wdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZnVuY3Rpb24gc2VuZFhIUih1cmwsIGZvcmNlUHJlZmxp
Z2h0LCBhc3luYywgY2FsbGJhY2spCi17Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwotCi0gICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0g
ICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PT0gWE1MSHR0cFJlcXVlc3QuRE9ORSkgewotICAg
ICAgICAgICAgaWYgKHR5cGVvZihjYWxsYmFjaykgPT09ICJmdW5jdGlvbiIpCi0gICAgICAgICAg
ICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICB4aHIub3BlbigiUE9T
VCIsIHVybCwgYXN5bmMpOwotICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUi
LCBmb3JjZVByZWZsaWdodCA/ICJhcHBsaWNhdGlvbi94bWwiIDogInRleHQvcGxhaW4iKTsKLSAg
ICB0cnkgewotICAgICAgICB4aHIuc2VuZCgiPHhtbD48L3htbD4iKTsgIC8vIERlbmllZCByZXF1
ZXN0cyB3aWxsIGNhdXNlIGV4Y2VwdGlvbnMuCi0gICAgfSBjYXRjaCAoZSkgewotICAgIH0KLX0K
LQotdmFyIGJhc2VUYXJnZXRVUkwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZXMvY29ycy10YXJnZXQucGhwIjsKLQotZnVuY3Rpb24gdGFyZ2V0VVJMKGlkLCBkZW55
LCBhZGRUaW1lc3RhbXApCi17Ci0gICAgdmFyIHJlc3VsdCA9IGJhc2VUYXJnZXRVUkwgKyAiP2lk
PSIgKyBpZDsKLSAgICBpZiAoZGVueSkKLSAgICAgICAgcmVzdWx0ICs9ICImZGVueT15ZXMiOwot
ICAgIGlmIChhZGRUaW1lc3RhbXApCi0gICAgICAgIHJlc3VsdCArPSAiJmRhdGU9IiArIERhdGUu
bm93KCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotZnVuY3Rpb24gZG9Dcm9zc09yaWdpblhI
UigpCi17Ci0gICAgLy8gRmFpbGVkIFBPU1RzIHdpdGggbm8gcHJlZmxpZ2h0IGNoZWNrIHNob3Vs
ZCByZXN1bHQgaW4gYSBQT1NUIHJlcXVlc3QgYmVpbmcgbG9nZ2VkCi0gICAgc2VuZFhIUih0YXJn
ZXRVUkwoMCwgdHJ1ZSwgZmFsc2UpLCBmYWxzZSwgZmFsc2UpOwotICAgIC8vIEZhaWxlZCBQT1NU
cyB3aXRoIHByZWZsaWdodCBjaGVjayBzaG91bGQgcmVzdWx0IGluIGFuIE9QVElPTlMgcmVxdWVz
dCBiZWluZyBsb2dnZWQKLSAgICBzZW5kWEhSKHRhcmdldFVSTCgxLCB0cnVlLCBmYWxzZSksIHRy
dWUsIGZhbHNlKTsKLSAgICAvLyBTdWNjZXNzZnVsIFBPU1RzIHdpdGggcHJlZmxpZ2h0IGNoZWNr
IHNob3VsZCByZXN1bHQgaW4gYW4gT1BUSU9OUyByZXF1ZXN0IGZvbGxvd2VkIGJ5IFBPU1QgcmVx
dWVzdCBiZWluZyBsb2dnZWQKLSAgICAvLyBHZW5lcmF0ZSByZXF1ZXN0IG5hbWUgYmFzZWQgb24g
dGltZXN0YW1wIHRvIGRlZmVhdCBPUFRJT05TIHJlcXVlc3QgY2FjaGluZyAodGhpcyBpcyBvbmx5
IHJlbGV2YW50IGZvciByZXBlYXRlZCBpbnZvY2F0aW9ucyBvZiB0aGUgdGVzdCBpbiBzaWdubGUg
aW5zdGFuY2Ugb2YgRFJUKQotICAgIHNlbmRYSFIodGFyZ2V0VVJMKDIsIGZhbHNlLCB0cnVlKSwg
dHJ1ZSwgZmFsc2UpOwotCi0gICAgLy8gQW5kIG5vdyBzZW5kIHRoZSBzYW1lIHJlcXVlc3RzIGFz
eW5jaHJvbm91c2x5Ci0gICAgLy8gQWRkIHJlZHVuZGFudCBhc3luYyBwYXJhbWV0ZXIgdG8gZW5z
dXJlIHRoaXMgcmVxdWVzdCBkaWZmZXJzIGZyb20gdGhlIG9uZSBhYm92ZS4KLSAgICBzZW5kWEhS
KHRhcmdldFVSTCgzLCB0cnVlLCBmYWxzZSksIGZhbHNlLCB0cnVlLCBzdGVwMik7Ci19Ci0KLWZ1
bmN0aW9uIHN0ZXAyKCkKLXsKLSAgICBzZW5kWEhSKHRhcmdldFVSTCg0LCB0cnVlLCBmYWxzZSks
IHRydWUsIHRydWUsIHN0ZXAzKTsKLX0KLQotZnVuY3Rpb24gc3RlcDMoKQotewotICAgIHNlbmRY
SFIodGFyZ2V0VVJMKDUsIGZhbHNlLCB0cnVlKSwgdHJ1ZSwgdHJ1ZSk7Ci19Ci0KLXZhciB0ZXN0
ID0gZnVuY3Rpb24oKQotewotICAgIHZhciByZXF1ZXN0TWVzc2FnZXMgPSBbXTsKLSAgICB2YXIg
cG9zdFJlcXVlc3RzQ291bnQgPSAwOwotICAgIGZ1bmN0aW9uIG9uUmVxdWVzdChldmVudCkKLSAg
ICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gZXZlbnQuZGF0YTsKLSAgICAgICAgdmFyIGlkTWF0
Y2ggPSAvXD9pZD0oWzAtOV0qKSYvLmV4ZWMocmVxdWVzdC51cmwpOwotICAgICAgICB2YXIgcmVx
dWVzdElkID0gaWRNYXRjaFsxXTsKLSAgICAgICAgdmFyIHJlcXVlc3RNZXNzYWdlID0gcmVxdWVz
dElkICsgIiAiICsgcmVxdWVzdC50eXBlICsgIjoiICsgcmVxdWVzdC5yZXF1ZXN0TWV0aG9kICsg
IiAiICsgcmVxdWVzdC51cmwucmVwbGFjZSgvWyY/XWRhdGU9XGQrLywgIiIpOwotICAgICAgICBy
ZXF1ZXN0TWVzc2FnZXMucHVzaChyZXF1ZXN0TWVzc2FnZSk7Ci0gICAgICAgIGlmIChyZXF1ZXN0
LnJlcXVlc3RNZXRob2QgPT09ICJQT1NUIiAmJiArK3Bvc3RSZXF1ZXN0c0NvdW50ID09PSA0KSB7
Ci0gICAgICAgICAgICByZXF1ZXN0TWVzc2FnZXMuc29ydCgpOwotICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCByZXF1ZXN0TWVzc2FnZXMubGVuZ3RoOyBpKyspCi0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdE1lc3NhZ2VzW2ldKTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
V2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVxdWVzdEZpbmlzaGVkLCBvblJlcXVlc3QpOwot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImRvQ3Jvc3NPcmlnaW5YSFIoKTsiKTsK
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVz
dHMgdGhhdCBwcmVmbGlnaHQgT1BUSU9OUyByZXF1ZXN0cyBhcHBlYXIgaW4gTmV0d29yayByZXNv
dXJjZXM8L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjM3MTIiPkJ1ZyA2MzcxMjwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmstdGVzdC5qcyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmstdGVzdC5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE0MTQ5N2YyMWFmMmFmZTA2Y2YwNDY4
MTIyZTgxNTg4MzczODgzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
LXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotLy8gVGhpcyBnb2VzIGJl
Zm9yZSBldmVyeXRoaW5nIGVsc2UgdG8ga2VlcCBjb25zb2xlIG1lc3NhZ2UgbGluZSBudW1iZXIg
aW52YXJpYW50LgotdmFyIGxhc3RYSFJJbmRleCA9IDA7Ci1mdW5jdGlvbiB4aHJMb2FkZWRDYWxs
YmFjaygpCi17Ci0gICAgLy8gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGNvbnNvbGUgbWVzc2Fn
ZSB0ZXh0IGlzIHVuaXF1ZSBzbyB0aGF0IHdlIGRvbid0IGVuZCB1cCB3aXRoIHJlcGVhdCBjb3Vu
dCB1cGRhdGUgb25seS4KLSAgICBjb25zb2xlLmxvZygiWEhSIGxvYWRlZDogIiArICgrK2xhc3RY
SFJJbmRleCkpOwotfQotCi12YXIgaW5pdGlhbGl6ZV9OZXR3b3JrVGVzdCA9IGZ1bmN0aW9uKCkg
ewotCi1JbnNwZWN0b3JUZXN0LmR1bXBOZXR3b3JrUmVxdWVzdHMgPSBmdW5jdGlvbigpCi17Ci0g
ICAgdmFyIHJlcXVlc3RzID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMu
c2xpY2UoKTsKLSAgICByZXF1ZXN0cy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtyZXR1cm4gYS51cmwu
bG9jYWxlQ29tcGFyZShiLnVybCk7fSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJl
c291cmNlcyBjb3VudCA9ICIgKyByZXF1ZXN0cy5sZW5ndGgpOwotICAgIGZvciAoaSA9IDA7IGkg
PCByZXF1ZXN0cy5sZW5ndGg7IGkrKykKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
cmVxdWVzdHNbaV0udXJsKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291
cmNlc0RhdGEgPSBmdW5jdGlvbihjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJyZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoKSIsIG5leHRTdGVwKTsKLQot
ICAgIGZ1bmN0aW9uIG5leHRTdGVwKHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIGlmICghcmVzdWx0
KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGhpcyB0ZXN0IGNhbiBu
b3QgYmUgcnVuIGFzIHdpbmRvdy5pbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJsZS4iKTsKLSAgICAg
ICAgICAgIEluc3BlY3Rvci5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICBjYWxsYmFjaygpOwotICAgIH0KLX0KLQotSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhS
ID0gZnVuY3Rpb24obWV0aG9kLCB1cmwsIGFzeW5jLCBjYWxsYmFjaykKLXsKLSAgICBJbnNwZWN0
b3JUZXN0Lm1ha2VYSFIobWV0aG9kLCB1cmwsIGFzeW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwg
W10sIGZhbHNlLCB1bmRlZmluZWQsIGNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5tYWtl
U2ltcGxlWEhSV2l0aFBheWxvYWQgPSBmdW5jdGlvbihtZXRob2QsIHVybCwgYXN5bmMsIHBheWxv
YWQsIGNhbGxiYWNrKQotewotICAgIEluc3BlY3RvclRlc3QubWFrZVhIUihtZXRob2QsIHVybCwg
YXN5bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbXSwgZmFsc2UsIHBheWxvYWQsIGNhbGxiYWNr
KTsKLX0KLQotSW5zcGVjdG9yVGVzdC5tYWtlWEhSID0gZnVuY3Rpb24obWV0aG9kLCB1cmwsIGFz
eW5jLCB1c2VyLCBwYXNzd29yZCwgaGVhZGVycywgd2l0aENyZWRlbnRpYWxzLCBwYXlsb2FkLCBj
YWxsYmFjaykKLXsKLSAgICB2YXIgYXJncyA9IHt9OwotICAgIGFyZ3MubWV0aG9kID0gbWV0aG9k
OwotICAgIGFyZ3MudXJsID0gdXJsOwotICAgIGFyZ3MuYXN5bmMgPSBhc3luYzsKLSAgICBhcmdz
LnVzZXIgPSB1c2VyOwotICAgIGFyZ3MucGFzc3dvcmQgPSBwYXNzd29yZDsKLSAgICBhcmdzLmhl
YWRlcnMgPSBoZWFkZXJzOwotICAgIGFyZ3Mud2l0aENyZWRlbnRpYWxzID0gd2l0aENyZWRlbnRp
YWxzOwotICAgIGFyZ3MucGF5bG9hZCA9IHBheWxvYWQ7Ci0gICAgdmFyIGpzb25BcmdzID0gSlNP
Ti5zdHJpbmdpZnkoYXJncykucmVwbGFjZSgvXCIvZywgIlxcXCIiKTsKLQotICAgIGZ1bmN0aW9u
IGlubmVyQ2FsbGJhY2sobXNnKQotICAgIHsKLSAgICAgICAgaWYgKG1zZy5fbWVzc2FnZVRleHQu
aW5kZXhPZigiWEhSIGxvYWRlZCIpICE9PSAtMSkKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIo
aW5uZXJDYWxsYmFjayk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25p
ZmZlcihpbm5lckNhbGxiYWNrKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJt
YWtlWEhSRm9ySlNPTkFyZ3VtZW50cyhcIiIgKyBqc29uQXJncyArICJcIikiKTsKLX0KLQotfTsK
LQotZnVuY3Rpb24gbWFrZVNpbXBsZVhIUihtZXRob2QsIHVybCwgYXN5bmMsIGNhbGxiYWNrKQot
ewotICAgIG1ha2VTaW1wbGVYSFJXaXRoUGF5bG9hZChtZXRob2QsIHVybCwgYXN5bmMsIG51bGws
IGNhbGxiYWNrKTsKLX0KLQotZnVuY3Rpb24gbWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKG1ldGhv
ZCwgdXJsLCBhc3luYywgcGF5bG9hZCwgY2FsbGJhY2spCi17Ci0gICAgbWFrZVhIUihtZXRob2Qs
IHVybCwgYXN5bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbXSwgZmFsc2UsIHBheWxvYWQsIGNh
bGxiYWNrKQotfQotCi1mdW5jdGlvbiBtYWtlWEhSKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwg
cGFzc3dvcmQsIGhlYWRlcnMsIHdpdGhDcmVkZW50aWFscywgcGF5bG9hZCwgY2FsbGJhY2spCi17
Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vbnJlYWR5c3Rh
dGVjaGFuZ2UgPSBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBpZiAoeGhyLnJlYWR5U3RhdGUg
PT09IFhNTEh0dHBSZXF1ZXN0LkRPTkUpIHsKLSAgICAgICAgICAgIGlmICh0eXBlb2YoY2FsbGJh
Y2spID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICAg
IH0KLSAgICB9Ci0gICAgeGhyLm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29y
ZCk7Ci0gICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHdpdGhDcmVkZW50aWFsczsKLSAgICBmb3Ig
KHZhciAgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgKytpKQotICAgICAgICB4aHIuc2V0UmVx
dWVzdEhlYWRlcihoZWFkZXJzW2ldWzBdLCBoZWFkZXJzW2ldWzFdKTsKLSAgICB4aHIuc2VuZChw
YXlsb2FkKTsKLX0KLQotZnVuY3Rpb24gbWFrZVhIUkZvckpTT05Bcmd1bWVudHMoanNvbkFyZ3Mp
Ci17Ci0gICAgdmFyIGFyZ3MgPSBKU09OLnBhcnNlKGpzb25BcmdzKTsKLSAgICBtYWtlWEhSKGFy
Z3MubWV0aG9kLCBhcmdzLnVybCwgYXJncy5hc3luYywgYXJncy51c2VyLCBhcmdzLnBhc3N3b3Jk
LCBhcmdzLmhlYWRlcnMsIGFyZ3Mud2l0aENyZWRlbnRpYWxzLCBhcmdzLnBheWxvYWQsIHhockxv
YWRlZENhbGxiYWNrKTsKLX0KLQotCi1mdW5jdGlvbiByZXNldEluc3BlY3RvclJlc291cmNlc0Rh
dGEoKQotewotICAgIGlmICghd2luZG93LmludGVybmFscykKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgaW50ZXJuYWxzLnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKDEw
ICogMTAwMCAqIDEwMDAsIDEwMDAgKiAxMDAwKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9hc3luYy14aHItanNvbi1taW1lLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9hc3luYy14aHItanNvbi1taW1lLXR5
cGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGYwOThmYzk1
YzVhNjU3NmQ0ZmJiYWEyMmVlMDdiOTRmYzE0Nzc5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvYXN5bmMteGhyLWpzb24tbWltZS10eXBlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIg
bG9hZGVkOiAxCi1UZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSBjb250ZW50IGZvciBhc3luY2hy
b25vdXMgcmVxdWVzdHMgd2l0aCBhcHBsaWNhdGlvbi9qc29uIG1pbWUgdHlwZS4gQnVnIDgwNjg0
Ci0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvanNv
bi5waHAKLXJlc291cmNlLnR5cGU6IHhocgotcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVz
dGluZyBjb250ZW50OiB1bmRlZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGlu
ZyBjb250ZW50OiB7Im51bWJlciI6ICI0MiJ9Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1p
bWUtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9hc3luYy14aHItanNvbi1taW1lLXR5cGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMGI4MjE1YzIzOTU2MGQ1OTQ0NDhiNTg0MTMxYjBhNGIyZjE3NzkxMy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1pbWUt
dHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMv
anNvbi5waHAiLCB0cnVlLCBzdGVwMik7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewot
ICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1
ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBl
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVm
b3JlIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwgIlJlc291cmNlIGxvYWRp
bmcgZmFpbGVkLiIpOwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3Qx
ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBh
bmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDog
IiArIHJlcXVlc3QxLmNvbnRlbnQpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci0gPHA+Ci0gVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgY29udGVudCBmb3IgYXN5
bmNocm9ub3VzIHJlcXVlc3RzIHdpdGggYXBwbGljYXRpb24vanNvbiBtaW1lIHR5cGUuCi08YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2ODQiPkJ1ZyA4
MDY4NDwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRl
c3Ryb3llZC1tb3ZlZC10by1zdG9yYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3ll
ZC1tb3ZlZC10by1zdG9yYWdlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNzNiNDFlYmI3ZWE0Yzg2Mzc1YmRhNTM1MThjYTM2MjQyMWI4MGJjNS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQt
bW92ZWQtdG8tc3RvcmFnZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCww
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IERvbmUxLgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI2OiBEb25lMi4KLVRlc3RzIGNvbnRlbnQgaXMgbW92ZWQgZnJvbSBjYWNoZWQgcmVzb3Vy
Y2UgdG8gcmVzb3VyY2UgYWdlbnQncyBkYXRhIHN0b3JhZ2Ugd2hlbiBjYWNoZWQgcmVzb3VyY2Ug
aXMgZGVzdHJveWVkLgotCi1CdWcgOTIxMDggIAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZz
aXplPTQwMAotcmVxdWVzdC50eXBlOiBpbWFnZQotcmVxdWVzdC5jb250ZW50Lmxlbmd0aCBhZnRl
ciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDUzNgotUmVsZWFzaW5nIGNhY2hlZCByZXNvdXJjZS4KLXJl
cXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiA1MzYKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvY2FjaGVkLXJlc291
cmNlLWRlc3Ryb3llZC1tb3ZlZC10by1zdG9yYWdlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGIzODk1YjhjZGYzNmI4MmViMzc3YWExMmI3MWMwNzUyYmNhZmI5NjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJv
eWVkLW1vdmVkLXRvLXN0b3JhZ2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLXZhciBpbWFnZTsKLWZ1bmN0aW9uIGxvYWRGaXJzdEltYWdlKCkgewotICAgIGltYWdlID0g
bmV3IEltYWdlKCk7Ci0gICAgaW1hZ2Uub25sb2FkID0gZmlyc3RJbWFnZUxvYWRlZDsKLSAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlKTsKLSAgICBpbWFnZS5zcmMgPSAicmVzb3Vy
Y2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwIjsKLX0KLQotZnVu
Y3Rpb24gZmlyc3RJbWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUxLiIpOwot
fQotCi1mdW5jdGlvbiBsb2FkU2Vjb25kSW1hZ2UoKSB7Ci0gICAgaW1hZ2Uub25sb2FkID0gc2Vj
b25kSW1hZ2VMb2FkZWQ7Ci0gICAgaW1hZ2Uuc3JjID0gInJlc291cmNlcy9yZXNvdXJjZS5waHA/
dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMCI7Ci19Ci0KLWZ1bmN0aW9uIHNlY29uZEltYWdl
TG9hZGVkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiRG9uZTIuIik7Ci19Ci0KLWZ1bmN0aW9uIGZv
cmNlQ2FjaGVkUmVzb3VyY2VMb2FkZXJHQygpIHsKLSAgICBpZiAod2luZG93LmludGVybmFscykK
LSAgICAgICAgd2luZG93LmludGVybmFscy5nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2Vz
KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3Vs
ZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAg
IC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4K
LSAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0K
LSAgICB2YXIgaW1hZ2VSZXF1ZXN0OwotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkRmlyc3RJbWFnZSgpIik7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgaW1hZ2VSZXF1ZXN0ID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0
Q29udGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAgdmFyIG9yaWdpbmFsQ29udGVudExlbmd0aDsK
LSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChpbWFnZVJlcXVlc3QudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InJlcXVlc3QudHlwZTogIiArIGltYWdlUmVxdWVzdC50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInJlcXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBj
b250ZW50OiAiICsgaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoKTsKLSAgICAgICAgb3JpZ2lu
YWxDb250ZW50TGVuZ3RoID0gaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW1hZ2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoID4gMCwg
Ik5vIGNvbnRlbnQgYmVmb3JlIGRlc3Ryb3lpbmcgQ2FjaGVkUmVzb3VyY2UuIik7Ci0KLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlbGVhc2luZyBjYWNoZWQgcmVzb3VyY2UuIik7
Ci0gICAgICAgIC8vIExvYWRpbmcgYW5vdGhlciBpbWFnZSB0byB0aGUgc2FtZSBpbWFnZSBlbGVt
ZW50IHNvIHRoYXQgdGhlIG9yaWdpbmFsIGltYWdlIGNhY2hlZCByZXNvdXJjZSBpcyByZWxlYXNl
ZC4KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwNCk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRTZWNvbmRJbWFnZSgpIik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQobXNnKQotICAgIHsKLSAgICAgICAgLy8gRGlzYWJs
ZS1lbmFibGUgY2FjaGUgdG8gZm9yY2UgTWVtb3J5Q2FjaGU6OmV2aWN0UmVzb3VyY2VzKCkuCi0g
ICAgICAgIE5ldHdvcmtBZ2VudC5zZXRDYWNoZURpc2FibGVkKHRydWUsIHN0ZXA1KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShtc2cpCi0gICAgewotICAgICAgICBOZXR3b3JrQWdlbnQu
c2V0Q2FjaGVEaXNhYmxlZChmYWxzZSwgc3RlcDYpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXA2KCkKLSAgICB7Ci0gICAgICAgIC8vIEZvcmNlIENhY2hlZFJlc291cmNlTG9hZGVyIGdhcmJh
Z2UgY29sbGVjdG9yIHJ1bi4KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
Zm9yY2VDYWNoZWRSZXNvdXJjZUxvYWRlckdDKCkiKTsKLQotICAgICAgICAvLyBSZS1yZXF1ZXN0
IGNvbnRlbnQgbm93IHRoYXQgQ2FjaGVkUmVzb3VyY2Ugc2hvdWxkIGhhdmUgYmVlbiBkZXN0cm95
ZWQuCi0gICAgICAgIGRlbGV0ZSBpbWFnZVJlcXVlc3QuX2NvbnRlbnQ7Ci0gICAgICAgIGltYWdl
UmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwNyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDcoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlcXVlc3QuY29u
dGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgaW1hZ2VSZXF1ZXN0LmNv
bnRlbnQubGVuZ3RoKTsKLSAgICAgICAgb3JpZ2luYWxDb250ZW50TGVuZ3RoID0gaW1hZ2VSZXF1
ZXN0LmNvbnRlbnQubGVuZ3RoOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoaW1h
Z2VSZXF1ZXN0LmNvbnRlbnQubGVuZ3RoID09PSBvcmlnaW5hbENvbnRlbnRMZW5ndGgsICJDb250
ZW50IGNoYW5nZWQgYWZ0ZXIgY2FjaGVkIHJlc291cmNlIHdhcyBkZXN0cm95ZWQiKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDgpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA4KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBjb250ZW50IGlzIG1vdmVkIGZyb20gY2FjaGVkIHJl
c291cmNlIHRvIHJlc291cmNlIGFnZW50J3MgZGF0YSBzdG9yYWdlIHdoZW4gY2FjaGVkIHJlc291
cmNlIGlzIGRlc3Ryb3llZC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTIxMDgiPkJ1ZyA5MjEwODwvYT4KLTwvYm9keT4KLTwvaHRtbD4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
Y2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhNDI3NDU2ZjNhOTk2YzNiNWI5MjFlZjQz
ZTIxODRkOGIyMmIzNWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9j
YWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzog
RG9uZTEuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzM6IERvbmUyLgotVGVzdHMgY2FjaGVkIHJl
c291cmNlIGNvbnRlbnQgaXMgZGlzY2FyZGVkIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ry
b3llZCBpZiBjb250ZW50IHNpemUgaXMgdG9vIGJpZyBmb3IgdGhlIHJlc291cmNlIGFnZW50J3Mg
ZGF0YSBzdG9yYWdlLgotCi1CdWcgOTIxMDggIAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZz
aXplPTQwMAotcmVxdWVzdC50eXBlOiBpbWFnZQotcmVxdWVzdC5jb250ZW50Lmxlbmd0aCBhZnRl
ciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDUzNgotUmVsZWFzaW5nIGNhY2hlZCByZXNvdXJjZS4KLXJl
cXVlc3QuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IG51bGwKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jYWNo
ZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1k
ZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTMwOGQwYjllMDU4Mjk3MzI5NmIxMzE5N2MxY2JjMDZhMGRiMTFlYy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQt
dG9vLWJpZy1kaXNjYXJkZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LXZhciBpbWFnZTsKLWZ1bmN0aW9uIGxvYWRGaXJzdEltYWdlKCkgewotICAgIGlmICghd2luZG93
LmludGVybmFscykgewotICAgICAgICBjb25zb2xlLmxvZygiVGhpcyB0ZXN0IGNhbiBub3QgYmUg
cnVuIGFzIHdpbmRvdy5pbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJsZS4iKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLSAgICAvLyBNYWtlIHN1cmUgdGhlcmUgaXMgbm8gZW5vdWdoIHNwYWNlIHRv
IHNhdmUgY29udGVudCBpbiByZXNvdXJjZSBhZ2VudCdzIHN0b3JhZ2UuCi0gICAgaW50ZXJuYWxz
LnNldEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKDEwMCwgMTAwKTsKLQotICAgIGlt
YWdlID0gbmV3IEltYWdlKCk7Ci0gICAgaW1hZ2Uub25sb2FkID0gZmlyc3RJbWFnZUxvYWRlZDsK
LSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlKTsKLSAgICBpbWFnZS5zcmMgPSAi
cmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwIjsKLX0K
LQotZnVuY3Rpb24gZmlyc3RJbWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUx
LiIpOwotfQotCi1mdW5jdGlvbiBsb2FkU2Vjb25kSW1hZ2UoKSB7Ci0gICAgaW1hZ2Uub25sb2Fk
ID0gc2Vjb25kSW1hZ2VMb2FkZWQ7Ci0gICAgaW1hZ2Uuc3JjID0gInJlc291cmNlcy9yZXNvdXJj
ZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMCI7Ci19Ci0KLWZ1bmN0aW9uIHNlY29u
ZEltYWdlTG9hZGVkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiRG9uZTIuIik7Ci19Ci0KLWZ1bmN0
aW9uIGZvcmNlQ2FjaGVkUmVzb3VyY2VMb2FkZXJHQygpIHsKLSAgICBpZiAod2luZG93LmludGVy
bmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVz
b3VyY2VzKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBpbWFnZVJlcXVlc3Q7
Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZEZpcnN0SW1hZ2UoKSIpOwotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgaW1hZ2VSZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBh
bmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVx
dWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChz
dGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoaW1hZ2VSZXF1ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LnR5cGU6ICIgKyBpbWFnZVJlcXVlc3QudHlwZSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFm
dGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShpbWFnZVJlcXVlc3QuY29udGVudC5s
ZW5ndGggPiAwLCAiTm8gY29udGVudCBiZWZvcmUgZGVzdHJveWluZyBDYWNoZWRSZXNvdXJjZS4i
KTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVsZWFzaW5nIGNhY2hlZCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgLy8gTG9hZGluZyBhbm90aGVyIGltYWdlIHRvIHRoZSBzYW1l
IGltYWdlIGVsZW1lbnQgc28gdGhhdCB0aGUgb3JpZ2luYWwgaW1hZ2UgY2FjaGVkIHJlc291cmNl
IGlzIHJlbGVhc2VkLgotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0
ZXA0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFNlY29uZElt
YWdlKCkiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChtc2cpCi0gICAgewotICAgICAg
ICAvLyBEaXNhYmxlLWVuYWJsZSBjYWNoZSB0byBmb3JjZSBNZW1vcnlDYWNoZTo6ZXZpY3RSZXNv
dXJjZXMoKS4KLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQodHJ1ZSwgc3Rl
cDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KG1zZykKLSAgICB7Ci0gICAgICAgIE5l
dHdvcmtBZ2VudC5zZXRDYWNoZURpc2FibGVkKGZhbHNlLCBzdGVwNik7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDYoKQotICAgIHsKLSAgICAgICAgLy8gRm9yY2UgQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgZ2FyYmFnZSBjb2xsZWN0b3IgcnVuLgotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJmb3JjZUNhY2hlZFJlc291cmNlTG9hZGVyR0MoKSIpOwotCi0gICAgICAgIC8v
IFJlLXJlcXVlc3QgY29udGVudCBub3cgdGhhdCBDYWNoZWRSZXNvdXJjZSBzaG91bGQgaGF2ZSBi
ZWVuIGRlc3Ryb3llZC4KLSAgICAgICAgZGVsZXRlIGltYWdlUmVxdWVzdC5fY29udGVudDsKLSAg
ICAgICAgaW1hZ2VSZXF1ZXN0LnJlcXVlc3RDb250ZW50KHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwNygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
cmVxdWVzdC5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVz
dC5jb250ZW50KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFpbWFnZVJlcXVl
c3QuY29udGVudCwgIkNvbnRlbnQgYXZhaWxhYmxlIGFmdGVyIENhY2hlZFJlc291cmNlIHdhcyBk
ZXN0cm95ZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJj
ZXNEYXRhKHN0ZXA4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgY2FjaGVkIHJlc291
cmNlIGNvbnRlbnQgaXMgZGlzY2FyZGVkIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ryb3ll
ZCBpZiBjb250ZW50IHNpemUgaXMgdG9vIGJpZyBmb3IgdGhlIHJlc291cmNlIGFnZW50J3MgZGF0
YSBzdG9yYWdlLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MjEwOCI+QnVnIDkyMTA4PC9hPgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2Nz
cy1zb3VyY2UtbWFwcGluZy11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jc3Mtc291cmNlLW1hcHBpbmctdXJsLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzQwMmQ5MTUxZTVkZjM5ZmUx
NmE2OTM0NGFhMjI2YTkyYmUyYzVkYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL2Nzcy1zb3VyY2UtbWFwcGluZy11cmwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNyArMCwwIEBACi1UZXN0cyB0aGF0IHRoZSBleHRyYVJlc291cmNlSW5mbyBpbiBOZXR3
b3JrLmxvYWRpbmdGaW5pc2hlZCBjb250YWlucyBhIHNvdXJjZU1hcFVSTCBmb3IgYSBTdHlsZXNo
ZWV0IGNvbnRhaW5pbmcgYSBzb3VyY2VNYXBwaW5nVVJMLiBBbHNvIHRoZW4gdGVzdHMgdGhhdCBQ
YWdlLmdldFJlc291cmNlVHJlZSBjb250YWlucyB0aGUgc291cmNlTWFwVVJMIGZvciB0aGUgcmVz
b3VyY2UuCi0KLVJlc3BvbnNlIHJlY2VpdmVkIGZvciBzdHlsZS5jc3MKLU5ldHdvcmsubG9hZGlu
Z0ZhaWxlZCBleHRyYVJlc291cmNlSW5mbyBjb250YWlucyBhIHNvdXJjZU1hcFVSTDogc291cmNl
LW1hcC10ZXN0LXN0eWxlLmNzcy5tYXAKLVBhZ2UuZ2V0UmVzb3VyY2VUcmVlIHJlc291cmNlUGF5
bG9hZCBjb250YWlucyBzb3VyY2VNYXBVUkw6IHNvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MubWFw
Ci1TVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvY3NzLXNvdXJjZS1tYXBwaW5nLXVybC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9jc3Mtc291cmNlLW1hcHBp
bmctdXJsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwMDBiN2ZlY2Y3ZDY1
ZmEyZjc5YWYzNTQyMTUxM2I3NjhhYzc5MjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9jc3Mtc291cmNlLW1hcHBpbmctdXJsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw4OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkU3R5bGVzaGVldFdpdGhT
b3VyY2VNYXBwaW5nVVJMKCkKLXsKLSAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImxpbmsiKTsKLSAgICBsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsKLSAgICBsaW5rLnR5cGUg
PSAidGV4dC9jc3MiOwotICAgIGxpbmsuaHJlZiA9ICJyZXNvdXJjZXMvc291cmNlLW1hcC10ZXN0
LXN0eWxlLmNzcyI7Ci0gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUsICJsb2FkaW5nRmluaXNoZWQiLCBsb2Fk
aW5nRmluaXNoZWQpOwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3Iu
TmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZhaWxlZCIsIGxvYWRpbmdGYWls
ZWQpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFN0eWxlc2hlZXRX
aXRoU291cmNlTWFwcGluZ1VSTCgpIik7Ci0KLSAgICBmdW5jdGlvbiBsb2FkaW5nRmluaXNoZWQo
cmVxdWVzdElkLCB0aW1lc3RhbXAsIHNvdXJjZU1hcFVSTCkKLSAgICB7Ci0gICAgICAgIHZhciBy
ZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklkKHJlcXVlc3RJZCk7
Ci0gICAgICAgIGlmICgvc291cmNlLW1hcC10ZXN0LXN0eWxlXC5jc3MkLy5leGVjKHJlcXVlc3Qu
dXJsKSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc3BvbnNlIHJl
Y2VpdmVkIGZvciBzdHlsZS5jc3MiKTsKLSAgICAgICAgICAgIGlmIChzb3VyY2VNYXBVUkwpIHsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmV0d29yay5sb2FkaW5n
RmFpbGVkIGV4dHJhUmVzb3VyY2VJbmZvIGNvbnRhaW5zIGEgc291cmNlTWFwVVJMOiAiICsgc291
cmNlTWFwVVJMKTsKLSAgICAgICAgICAgICAgICBhZnRlckxvYWRpbmdSZXNvdXJjZSgpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiTmV0d29yay5sb2FkaW5nRmFpbGVkIGV4dHJhUmVzb3VyY2VJbmZvIG1pc3Npbmcgc291cmNl
TWFwVVJMIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxV
UkUiKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbG9hZGluZ0ZhaWxl
ZChyZXF1ZXN0SWQsIHRpbWUsIGxvY2FsaXplZERlc2NyaXB0aW9uLCBjYW5jZWxlZCkKLSAgICB7
Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZv
cklkKHJlcXVlc3RJZCk7Ci0gICAgICAgIGlmICgvc291cmNlLW1hcC10ZXN0LXN0eWxlXC5jc3Mk
Ly5leGVjKHJlcXVlc3QudXJsKSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkZhaWxlZCB0byBsb2FkIHNvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MiKTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMVVJFIik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gYWZ0ZXJMb2FkaW5nUmVzb3VyY2UoKQotICAgIHsKLSAgICAgICAgUGFnZUFnZW50LmdldFJl
c291cmNlVHJlZShwcm9jZXNzUmVzb3VyY2VUcmVlKTsKLQotICAgICAgICBmdW5jdGlvbiBwcm9j
ZXNzUmVzb3VyY2VUcmVlKGVycm9yLCBtYWluRnJhbWVQYXlsb2FkKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiUGFnZS5nZXRSZXNvdXJjZVRyZWUgZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUxVUkUiKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIHJlc291cmNlcyA9IG1haW5GcmFtZVBh
eWxvYWQucmVzb3VyY2VzOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNvdXJj
ZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2VQYXlsb2FkID0g
cmVzb3VyY2VzW2ldOwotICAgICAgICAgICAgICAgIGlmICgvc291cmNlLW1hcC10ZXN0LXN0eWxl
XC5jc3MkLy5leGVjKHJlc291cmNlUGF5bG9hZC51cmwpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChyZXNvdXJjZVBheWxvYWQuc291cmNlTWFwVVJMKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFnZS5nZXRSZXNvdXJjZVRyZWUgcmVzb3Vy
Y2VQYXlsb2FkIGNvbnRhaW5zIHNvdXJjZU1hcFVSTDogIiArIHJlc291cmNlUGF5bG9hZC5zb3Vy
Y2VNYXBVUkwpOwotICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlNVQ0NFU1MiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFnZS5nZXRSZXNvdXJjZVRyZWUg
cmVzb3VyY2VQYXlsb2FkIG1pc3Npbmcgc291cmNlTWFwVVJMIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTFVSRSIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFn
ZS5nZXRSZXNvdXJjZVRyZWUgbWlzc2luZyBzb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzIik7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTFVSRSIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLX0KLTwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhh
dCB0aGUgZXh0cmFSZXNvdXJjZUluZm8gaW4gTmV0d29yay5sb2FkaW5nRmluaXNoZWQgY29udGFp
bnMgYSBzb3VyY2VNYXBVUkwgZm9yIGEgU3R5bGVzaGVldCBjb250YWluaW5nIGEgc291cmNlTWFw
cGluZ1VSTC4gQWxzbyB0aGVuIHRlc3RzIHRoYXQgUGFnZS5nZXRSZXNvdXJjZVRyZWUgY29udGFp
bnMgdGhlIHNvdXJjZU1hcFVSTCBmb3IgdGhlIHJlc291cmNlLjwvcD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvZG93bmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9kb3dubG9hZC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlMTZiMjM1MjlkNWI2ZTlmYTllYzZlNmIwMTdjMjk2MDhh
NGY0YmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9kb3dubG9hZC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3RzIHRoYXQgcmVz
cG9uc2VSZWNlaXZlZCBpcyBjYWxsZWQgb24gTmV0d29ya0Rpc3BhdGNoZXIgZm9yIGRvd25sb2Fk
cy4KLQotCi1SZWNlaXZlZCByZXNwb25zZSBmb3IgZG93bmxvYWQuenp6Ci1TVUNDRVNTCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvZG93bmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvZG93bmxvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzVhZjAwZDczNzFlOWNlNTllOTVmZTk4N2NlN2JjMDBlNTMyMjQ3Mi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2Rvd25sb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkSUZyYW1lV2l0aERvd25s
b2FkKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7Ci0gICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgic3JjIiwgInJlc291cmNlcy9kb3dubG9hZC56
enoiKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3Iu
TmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLCAicmVzcG9uc2VSZWNlaXZlZCIsIHJlc3BvbnNl
UmVjZWl2ZWQpOwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0
d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZhaWxlZCIsIGxvYWRpbmdGYWlsZWQp
OwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3Bh
dGNoZXIucHJvdG90eXBlLCAibG9hZGluZ0ZpbmlzaGVkIiwgbG9hZGluZ0ZpbmlzaGVkKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkSUZyYW1lV2l0aERvd25sb2FkKCki
KTsKLQotICAgIGZ1bmN0aW9uIHJlc3BvbnNlUmVjZWl2ZWQocmVxdWVzdElkLCB0aW1lLCByZXNv
dXJjZVR5cGUsIHJlc3BvbnNlKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNw
ZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKLSAgICAgICAgaWYgKC9k
b3dubG9hZFwuenp6Ly5leGVjKHJlcXVlc3QudXJsKSkgewotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlJlY2VpdmVkIHJlc3BvbnNlIGZvciBkb3dubG9hZC56enoiKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTVUNDRVNTIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gbG9hZGluZ0ZpbmlzaGVkKHJlcXVlc3RJZCwgZmluaXNoVGltZSkKLSAgICB7Ci0g
ICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklk
KHJlcXVlc3RJZCk7Ci0gICAgICAgIGlmICgvZG93bmxvYWRcLnp6ei8uZXhlYyhyZXF1ZXN0LnVy
bCkpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIGxvYWRpbmdGYWlsZWQocmVxdWVzdElkLCB0aW1lLCBsb2NhbGl6ZWREZXNj
cmlwdGlvbiwgY2FuY2VsZWQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3Bl
Y3Rvci5uZXR3b3JrTG9nLnJlcXVlc3RGb3JJZChyZXF1ZXN0SWQpOwotICAgICAgICBpZiAoL2Rv
d25sb2FkXC56enovLmV4ZWMocmVxdWVzdC51cmwpKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgcmVzcG9uc2VSZWNlaXZlZCBpcyBjYWxs
ZWQgb24gTmV0d29ya0Rpc3BhdGNoZXIgZm9yIGRvd25sb2Fkcy48L3A+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL2hhci1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaGFyLWNvbnRlbnQtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMThlNjBjMjQ0NzBjNjhlYjYzMTY3YzcwOWRh
NjE2YWQ3MDljMTY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvaGFy
LWNvbnRlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKLVRlc3RzIGNvbnZlcnNpb24gb2Yg
SW5zcGVjdG9yJ3MgcmVzb3VyY2UgcmVwcmVzZW50YXRpb24gaW50byBIQVIgZm9ybWF0LgotCi1p
bml0aWF0b3IuY3NzOiAuaW1hZ2UtYmFja2dyb3VuZCB7Ci0gICAgYmFja2dyb3VuZC1pbWFnZTog
dXJsKCJyZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMCIpOwotfQotCi0u
aW1hZ2UtYmFja2dyb3VuZC0yIHsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoInJlc291cmNl
LnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MzAwIik7Ci19Ci0KLQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2hhci1j
b250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL2hhci1jb250ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYx
MTc4YzlkNjllZGZiM2Q1NDUwYzhhY2ZiNDc5MWY3NGNhZmM5YjYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9oYXItY29udGVudC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3
b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotdmFyIHRlc3QgPSBmdW5jdGlvbigp
Ci17Ci0gICAgY29uc3QgcmVxdWVzdFJlZ0V4cCA9IC9cL2luaXRpYXRvci5jc3MkLzsKLQotICAg
IGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVkKCkKLSAgICB7Ci0gICAgICAgIHZhciB3cml0ZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkhBUldyaXRlcigpOwotICAgICAgICB2YXIgc3RyZWFtID0gbmV3
IEluc3BlY3RvclRlc3QuU3RyaW5nT3V0cHV0U3RyZWFtKG9uU2F2ZWQpOwotICAgICAgICB3cml0
ZXIud3JpdGUoc3RyZWFtLCBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0cywgbmV3IFdl
Ykluc3BlY3Rvci5Qcm9ncmVzcygpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvblNhdmVkKGRh
dGEpCi0gICAgewotICAgICAgICB2YXIgaGFyID0gSlNPTi5wYXJzZShkYXRhKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImluaXRpYXRvci5jc3M6ICIgKyBmaW5kRW50cnkoaGFy
LCByZXF1ZXN0UmVnRXhwKS5yZXNwb25zZS5jb250ZW50LnRleHQpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmRFbnRyeSho
YXIsIHJlZ2V4cCkKLSAgICB7Ci0gICAgICAgIHZhciBlbnRyaWVzID0gaGFyLmxvZy5lbnRyaWVz
OwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2ldOwotICAgICAgICAgICAgIGlmIChyZWdl
eHAudGVzdChlbnRyeS5yZXF1ZXN0LnVybCkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBlbnRy
eTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTDogY2Fu
J3QgZmluZCByZXNvdXJjZSBmb3IgIiArIHJlZ2V4cCk7Ci0gICAgICAgIHJldHVybiBudWxsOwot
ICAgIH0KLQotICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNl
cy9pbml0aWF0b3IuY3NzIiwgZmFsc2UsIG9uUmVxdWVzdEZpbmlzaGVkKTsKLX0KLTwvc2NyaXB0
PgotCi0KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBj
b252ZXJzaW9uIG9mIEluc3BlY3RvcidzIHJlc291cmNlIHJlcHJlc2VudGF0aW9uIGludG8gSEFS
IGZvcm1hdC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9pbWFnZS1hcy10ZXh0LWxv
YWRpbmctZGF0YS11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9pbWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjAyZTY3ZTlmNjZhOGZm
YjE0NDRjOGM5NjE4Y2QxYTQ4NDFkYzk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBsb25nIGRhdGE6IFVSTHMgYXJl
IGNvcnJlY3RseSB0cmltbWVkIGluIE1JTUUgdHlwZSBjb25zb2xlIHdhcm5pbmdzLgotCi1CdWcg
MTAwMDgzICAKLVJlc291cmNlIGludGVycHJldGVkIGFzIEltYWdlIGJ1dCB0cmFuc2ZlcnJlZCB3
aXRoIE1JTUUgdHlwZSB0ZXh0L3BsYWluOiAiZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCwvOWovNEFB
UVNrWkpSZ0FCQVFFQkxBRXNBQUQvMndCREFBTUNBZ01DQWdNREF3TUVBd01F4oCmRGNkRFdud3JP
eFFBUjhJNmVtSEtUU2JORkNPeW8wVnZnMWtWdHBDZTZkSVhaSThUc1JDMUhielVvRWsvVW5EV1NY
dk9kd2lmL1oiLiBpbWFnZS1hcy10ZXh0LWxvYWRpbmctZGF0YS11cmwuaHRtbDo5Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
aW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL2ltYWdlLWFzLXRleHQtbG9hZGluZy1kYXRh
LXVybC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGI0YjMyY2FjYzkzODll
ZDYwOGE1NjA3ZmRjMDlkYWNmMTVhZGRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvaW1hZ2UtYXMtdGV4dC1sb2FkaW5nLWRhdGEtdXJsLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9jb25zb2xlLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvYWRJbWFnZSgpCi17Ci0gICAgdmFyIGkg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKLSAgICBpLnNyYyA9ICJkYXRhOnRleHQv
cGxhaW47YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVCTEFFc0FBRC8yd0JEQUFNQ0FnTUNBZ01E
QXdNRUF3TUVCUWdGQlFRRUJRb0hCd1lJREFvTURBc0tDd3NORGhJUURRNFJEZ3NMRUJZUUVSTVVG
UlVWREE4WEdCWVVHQklVRlJULzJ3QkRBUU1FQkFVRUJRa0ZCUWtVRFFzTkZCUVVGQlFVRkJRVUZC
UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlQvd0FB
UkNBQkxBRXNEQVJFQUFoRUJBeEVCLzhRQUhRQUFBQWNCQVFFQUFBQUFBQUFBQUFBQUFBRUNCQVVH
QndnRENmL0VBRG9RQUFFREFnUURCUWNCQmdjQUFBQUFBQUVDQXdRRkVRQUdFaUVIRXpFVUZpSkJV
UWdWTWxKaGthR0JDU01rUW1PeFUySnhjc0hoOFAvRUFCb0JBQU1CQVFFQkFBQUFBQUFBQUFBQUFB
QUJBZ01FQlFiL3hBQXZFUUFDQWdFREFRVUhCQU1BQUFBQUFBQUFBUUlSQXhJaE1VRUVFeUpoZ1FW
UmNaR3gwZkFVTXFIQkl6UHgvOW9BREFNQkFBSVJBeEVBUHdDVDkzcTlNZVliQTkzcTlNQUJlNzFE
eU9BUVBkNnZRNFlBTUJYcGhBRHNDdmxPQUF1d0tIa2NBQTdBcjVUaGdEc0t2bHdnQjJKWHk0QU5F
N3FPNkNybEtLZk02VGI3NDMwRWllN0N2a1Ayd2FBQzdzSytUOFlOQWdkMkZmSitNR2dBZDJGZkor
TUdnZGc3c0srVDhZTkFCZDJGRCtYOFlOQUJkMkYvSitNTFFGZzdzSytYOFlOQUE3c3ErVDhZTkFX
Yit4bHN3anBCQ21EMUhUOFkxYVRKRzBqS2pDMzdJYjBBanlIaEdCTUdBNUxiYnRydHYwU2tYSncy
d0VkemtFMlNrRStsdC90Z1ZNVkJuSmY5UDhZcWdDN2wvd0JQOFlla0R5ZnlXYkFocTRIVUFZVFFC
bkk0K1MzcmdvWWxXUjBvSldkZ091M1RDb0xQQmVYR2txSUNRZjB3aEYzakxTODBWbFFzRGEyQVo2
eHcydGQraUFMNFF4Y2lTMUdITnVuZndqekF3UFlCYk1wcDRvdWxKZEl2cXZiQUQySGxNSWNrT2gw
QkNBbS9pM0pQMHhjWFRFUzZJRFMwZ2dDeDlSalFRMlcyMGw1U0FrRURhOXZQQ3NCaE1RcEN5MkVY
Si9tU0xnNFFDMkl6Q0dydko1aEozdjB3QUp0U2Y4QlAyd0RLbjc0amwza3MyVjVBV3RjNHhiTFVU
MWZsTnA1VEhiNGpFeDBxRFVSNlNoRGpwSFVKU1RjbXhIUVlPTnVvcklPdXJxVWRpS0hZNzhkYXlV
ckJBRzl5ZWwvUVlpVm90VStDRVl6UTlTNWpqVWxKYjBKOEpYMVY5Y0pTRzRsb3lyWHBOV3JMTFl1
V2RWeVFiMytuMjMvVEZxVnVpWEhhelRnL29RUWszOUw0NkxNaU9kVElreVUvdXlFbnFkUS84Y0lC
RlZtQ0hMUzM0TzBteVF5dHhDVi9va2tIeTlQTEFCWGFwVTUwVWxyc0R6YTlWcktUYXgvMHdnSXd0
MVFIZUkrRC9tUVFjTURuamh4N1J1WDg4ZHFhelZJaFpQZk4wdHZJZGRJY1dUcEJTcTFnUnVUZjZm
WEh6ZlpmYW1MdERhek5RZng1T3B3Y1ZhM09OY3gwNnRWTE1FNEtuT3pwc3laSlYyWnB4Ynp5MUlV
b2xhRkJJVXBKQUoxamJiZTF3TVA5T3B0eWpYenR2ODk0NFphVzUzZjdKUEhzY1dzanhxSFdJemtp
cjVlanN0OXFTelpLa0pBU2xLbGttN213djBKRnR1dVBYd1NjNDAraGpOVTlqZDNld3VMNWtpQzI2
Z0lLUVhVQW14NmdISFZwVDZFYW1qa0RqdCswQ3BHUWVMa1NnNWRpdnNROHBWRmNXdU5xWEdiOThK
UTN5ekZaSzByVTJodFNpZWI0U29vS2JBSFVIcFNleUM3VzUxcncwNG1VM2l0dytvT2I2RSs4cWwx
aU4ybGtQdHBTNjNaU2tMUXNBa0JTVm9VazJKRzJHU1pkN1lISENzY0dPRjdVcWpCcFZRcXo3dE9E
N3FTb3hVOHBTbE9BZENiQWpmWVhIVGJITm5uS0VmRHl5NHBObnk4aXVUTXpOOHg5dCtZdDlGMXlG
cVV0d3BIaDJYMTJGdDcvQU44ZURsbERHL0ZMZGU4Nks4T3lPdjhBaEg3WjlVNFE4S2FabEtwMHFW
bVdkVGw5bWh6NUV0WWRYSExpdkNWT0o4UmJTVXBSOFFJU1FiYll1SHRid3RhUDUvUFF5N3ZuU1pS
TjlxN1BUbFNxTHpiY3hodVJNa1NFTUlYemtNcGNkVXNOcFVwQkpTa0tDUUw3QklBc0JiRlI3Wkpx
NHEwL1A3KzdnMmZaOVcrdGVqT1o4dGNWOHkwRnQ2TkpxRGJ6U1ZrdXhuWWpaMVd0WlFJdHFIVzR1
RHVDTDc0M2wyTHMyVjNwcjRPdlE2WjNUdFcvaC9KWW8vSGlTMkFpUlJoTVlaZENrU1dKWmFjanJC
QStGWUpSWTMvbTg3M3h6djJaaWhKU3d5Y1g1R0xnNXEwYVp3bjlyUlBDcWM0NVFaOWNvOFNSS0V5
ZFNLZ3dtVkVtT1dBVnpGSUpjM0FIakJDZ0wySTN4cENQYmNUdU00elhuc1JMRStLTjhwbjdSYWRX
SlpSRnkvbEtYR0FUL0QrOVg0NzQ4WGlJS2diN2JXS1JZNzc5TWRTN1psaC90eE5lYTNYelJpc01u
YVhQbWNNOFhNNTBUTW5HUE45YnJFV28wcVZVS3pLcVRzTU5wZFNsTGptdEtFa3FHcFBUZmEvVysr
T3RUelRncDQxRjM1djdIcjRzZnNuWHB6Wk1xVjF0R0RkVnpUa3Q3MnJmYmV6cmpnUjdjSTRPK3p0
bHZMa2ZLOGVROVRZOHBFVjJkVWRDbkM1SWNkWlV0dEk2RFdvcXVvRWdKdGErL0xMdGVUdkhoeHd0
cnIwUE55WThkS1dGdXE2cGM3MnR1bkcrMzNvUEU3MnVLbnhOcDdVSE5HWkdLNUhqUEdRekhnMHBQ
SlM3Y2RFcENVS1NQaFRyVXJyZlk0OHljTzNkb3ZYUFN2ZC96ZjBzdkhpcmxldjU5VExhaHhmUzhH
L2Q5SmVMcTdoRDBpUXl5Tkk2NlFsSzdJQjh5Zk1EZkdTOW00bGZlU2JYa3Z4bTBjRTVQZVhKQkk0
b3pFdUtLbzBWYzBydHp3bm5LRjl0UE1ldmM5YjZVMkgzeDZVT3g5blN2Ujg3K2xocGVQd3g2L25P
eEdIaVRtd1dDSzFWMzBnQWN5TTIyMDBmOXFlV2JEMC80NlkwY2NTNkpHc2NhUzJWK2kreGJIT0hO
UmhUMGtOVU9ib3VsYW1wd1lBOVFwT29iMkk2QTljY3ZlSnJsblZUVDRSTlF1SE1OZkpXaW5zZHZl
YjF2eEdwN2E3SzI4SXVwSkpVazNDa25iZS9rU1BLM3k5aEpLUENKRm5obFMwcTVmdTk5YmlTRUpI
YVloNWUvd0FBSlh1YmtiS0JPNDZkY0paSlZhZTNxRHA3VnVXR2s4S0taVUpDSWpWQmFtYU5sRjUx
aGFrRUt0cEtRZFJJTmhzTUx2VytHSnF1VU9EbERLTHp4YVZTNkErNEZLWVVGc1JuZVVvYkJPNlNR
b1hQaE52UEM3eWNGczM4eWRFWjd0TDVEZVhsRExyN3l0Rk5wVERlNFNwY3VLbFJQb0NsT3JjallX
RnIyd0tjcXB2NmpyZlpFRkp5aGx5VnFVNjlDWVNrMjBlOG81MTN2WWJKSkYvK3NYcmt1UDdCZVpH
OXo2UTV6VnMxcWlJU2ZDcFM1VFMxQkE2NlVqU2dXdGF5Z1RodVRxbW1VcE5OdEVkT3lwQjVDMllG
U29FWWJMTDh1WXB6V1R0YlNnSVNrZm9mNzRGT3VVMkhLNUhkRnl2bHBOTGpDZFZXRnpOTjNWUjZp
RXQ2dlBTTkoyOU44WTVIazFQU2xYbXR6b3h1Q2l0YmQrVDJOYWp6TXZyRXFvUzBKcWFYVURuU1hJ
aEtPV0xKU2tyU0JaQXNCWW5UMXZpTzdkOHRlcGgzdTNDUE9vNWd5bEtZUnpheEhpdE1FSFUzeWts
dFduUllIVHFTYkpHNDM4STN0MWxZRW54ZGhMSTN1MGc2TFBvbEVVWGFmWG1rSWNLbmk0dmxLWDFK
SjFLUnEySnZmcU50eHRpNVFVdG1namttbHN5UmcxdW5pREpMTStuTGlQYTMxcFdXZ2txY1VTU0Fi
ZUkydUFBVDBOdWh4bExIQ1R0b3VPV2NWU0hFUmlEbWNHVkVoUTZtRXF1SElqWWNhQ2xwSXNiSTBs
UkZ4YzdpM1hhMkswcVB2SmVSdlowUnN6aDFsaW14OWRRaXhtMU10cEtBNkVLVzJBZmlOaHZjamU5
NzM2YjR2VzExTStlaUdWVm9PUjFQeUlMeTZhMlV4eVhtMjNSbzBnM1VTUmM2bEEzSlNibXd0dmls
Si91WDlpZDFwWWwvSzJSYXNJamEyS0lsYlRZam9Ra0xRZElGMDZ3a3AxRHhmRWQvSysrRjNraytX
VTFkYklaeDh2WktZUzA0OHpTSEdYYnBhUExYeTc5VGRXbzcySG1SdURmRGMzYnBpcllib3lkdzZu
Z3lCQWpXY0pQN3AxMUtldmtPYUxEOUJoOTdrVzFocDhqd3pkSmtMeXFoZmE1SVUzSmxhU2w5WXR5
MkZGQTJQUVc2ZmZIRmhmOEFsYStCMjVVdTYxZVgzSXpoTmxlbHRVL0w5VjdJSEowaGhwUzNYVnFj
R291QWFrcFVTRW5ZYmdBNDdzK1NWeVY5VG13d2pTZGRDVnpmVzV0T2FQWlhoRy9pcENUeWtKVHFU
clJzYkRjZlE3WWpIRlhRNThsMzRQNUJ5NVZuSzVVcDFGaFRKZE1VRlJGU0dRdExSVTAwVDRENFR2
Y2dFSFNTb2kybzNqTGtrb3hpbnkyS0VJdVc2TGZYNkZBajBPWS9IaXR3MXk1YVhYMHd4eUVPcStH
NmtJc2s3QWVYbVQxSnZuSHhLbWJ1RVU3U01welptaXBVakxFYVhHZVFtVW9zTkY1eGh0eFJRdHhJ
VUNWSlBVWW1QaWxUOHlZZnZvc21TY3JVZlBWT0VtdFV1SkpmS25HdzQweWxncFNFMkFUeXduU0I5
TFlieVRWYm5STERqVGV4V3N0WkpvYkhFck1OUE5PYmZoaW1RVmhtVVZQcENuSFNsYXZHVHVRT3ZY
cjZuR3VTY3U2VHZxL3FjU2hGVGt2SXMxQnkxU00wVlp1RlVxWENlakI1V2xEY2REV253ck94UUFS
OEk2ZW1IS1RTYk5GQ095bzBWdmcxa1Z0cENlNmRJWFpJOFRzUkMxSGJ6VW9Fay9VbkRXU1h2T2R3
aWYvWiI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKTsKLX0KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMSk7Ci0g
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZEltYWdlKCkiKTsKLQotICAgIGZ1
bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVN
ZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0K
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVz
dHMgdGhhdCBsb25nIGRhdGE6IFVSTHMgYXJlIGNvcnJlY3RseSB0cmltbWVkIGluIE1JTUUgdHlw
ZSBjb25zb2xlIHdhcm5pbmdzLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDAwODMiPkJ1ZyAxMDAwODM8L2E+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmstY2FjaGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0
d29yay1jYWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWMwMTE4ZTVkNjU3Nzk1MGM2ZmNlMWVjMmQwMWY4OWQ3
ZjUwMWY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1j
YWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IERvbmUuCi1UZXN0cyB0
aGF0IHdoZW4gd2UgbG9hZCB0d28gZGlmZmVyZW50IGltYWdlcyBmcm9tIHRoZSBzYW1lIHVybCAo
ZS5nLiBjb3VudGVycyksIHRoZWlyIGNvbnRlbnQgaXMgZGlmZmVyZW50IGluIG5ldHdvcmsgcGFu
ZWwgYXMgd2VsbC4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xCi1odHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWlt
YWdlJnJhbmRvbT0xCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jYWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVy
bHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1jYWNoZWRyZXNvdXJjZXMtd2l0aC1zYW1lLXVybHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYmEwN2ZhYjQ3YzViMzdlMzhjNDRlMzdlMDQ2NTM1MTVjMTA4
MWI5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2Fj
aGVkcmVzb3VyY2VzLXdpdGgtc2FtZS11cmxzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkSW1hZ2VzKCkKLXsKLSAgICB2YXIg
aW1hZ2UgPSBuZXcgSW1hZ2UoKTsKLSAgICBpbWFnZS5vbmxvYWQgPSBzdGVwMjsKLSAgICBpbWFn
ZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xIjsKLSAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltYWdlKTsKLX0KLQotZnVuY3Rpb24gc3RlcDIo
KQotewotICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpOwotICAgIGltYWdlLm9ubG9hZCA9IGlt
YWdlTG9hZGVkOwotICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmcmFuZG9tPTEiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOwot
fQotCi1mdW5jdGlvbiBpbWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNu
aWZmZXIoc3RlcDIsIHRydWUpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxv
YWRJbWFnZXMoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIobXNnKQotICAgIHsKLSAgICAgICAg
Ly8gaW5zcGVjdG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxs
eSBpbiBTYWZhcmkgb24KLSAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXF1
ZXN0cy4KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3Bl
Y3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAyXTsKLSAgICAg
ICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNb
cmVxdWVzdHNDb3VudCAtIDFdOwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChjb250
ZW50TG9hZGVkKTsKLSAgICAgICAgcmVxdWVzdDIucmVxdWVzdENvbnRlbnQoY29udGVudExvYWRl
ZCk7Ci0gICAgfQotCi0gICAgdmFyIGNvbnRlbnRMb2FkZWRDb3VudCA9IDA7Ci0gICAgZnVuY3Rp
b24gY29udGVudExvYWRlZCgpCi0gICAgewotICAgICAgICBpZiAoKytjb250ZW50TG9hZGVkQ291
bnQgIT09IDIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291
bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAg
ICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3Rz
W3JlcXVlc3RzQ291bnQgLSAyXTsKLSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbcmVxdWVzdHNDb3VudCAtIDFdOwotCi0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QyLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0VHJ1ZShyZXF1ZXN0MS5jb250ZW50ICE9PSByZXF1ZXN0Mi5jb250ZW50KTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCB3aGVuIHdlIGxv
YWQgdHdvIGRpZmZlcmVudCBpbWFnZXMgZnJvbSB0aGUgc2FtZSB1cmwgKGUuZy4gY291bnRlcnMp
LAotdGhlaXIgY29udGVudCBpcyBkaWZmZXJlbnQgaW4gbmV0d29yayBwYW5lbCBhcyB3ZWxsLjwv
cD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jbGVhci1jYWNoZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstY2xlYXItY2FjaGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiNzViZDFkZGFjYTI0MzZiZTcxOWEwOGY2MmMxMDg0N2RkODUxNWIwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jbGVhci1jYWNoZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMzogRmlyc3QgWEhSIGxvYWRlZC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyODogRG9uZS4K
LVRlc3RzIGNsZWFyaW5nIGJyb3dzZXIgY2FjaGUgZnJvbSBpbnNwZWN0b3IuCi0KLWh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5w
aHAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFu
ZG9tLWNhY2hlZC5waHAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNhY2hlLmh0
bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmstY2xlYXItY2FjaGUuaHRtbC1kaXNhYmxlZApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggY2U3YjBhMDBkMjJkZTEyMjA0ZTVmNWVmNTlmNmRmMWFhOGU4ZTc4My4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2xlYXItY2Fj
aGUuaHRtbC1kaXNhYmxlZAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhl
ciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5l
ZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRl
c3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0
ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXls
b2FkKCJHRVQiLCAicmVzb3VyY2VzL3JhbmRvbS1jYWNoZWQucGhwIiwgdHJ1ZSwgc3RlcDIpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKG1zZykKLSAgICB7Ci0gICAgICAgIGlmICh0eXBl
b2YoTmV0d29ya0FnZW50LmNsZWFyQnJvd3NlckNhY2hlKSA9PT0gJ2Z1bmN0aW9uJykKLSAgICAg
ICAgICAgIE5ldHdvcmtBZ2VudC5jbGVhckJyb3dzZXJDYWNoZShzdGVwMyk7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHN0ZXAzKCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMobXNn
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSV2l0aFBheWxvYWQo
IkdFVCIsICJyZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAiLCB0cnVlLCBzdGVwNCk7Ci0KLSAg
ICAgICAgZnVuY3Rpb24gZmlyc3RYSFJMb2FkZWQoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFJXaXRoUGF5bG9hZCgiR0VUIiwgInJlc291cmNlcy9y
YW5kb20tY2FjaGVkLnBocCIsIHRydWUsIHN0ZXA0KTsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXA0KG1zZykKLSAgICB7Ci0gICAgICAgIC8vIGluc3BlY3Rvci10ZXN0Lmpz
IGFwcGVhcnMgaW4gbmV0d29yayBwYW5lbCBvY2Nhc2lvbmFsbHkgaW4gU2FmYXJpIG9uCi0gICAg
ICAgIC8vIE1hYywgc28gY2hlY2tpbmcgdHdvIGxhc3QgcmVzb3VyY2VzLgotICAgICAgICB2YXIg
cmVzb3VyY2VzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXMu
bGVuZ3RoOwotICAgICAgICB2YXIgcmVzb3VyY2UxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gM107Ci0gICAgICAgIHZhciByZXNvdXJj
ZTIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXNvdXJjZXNbcmVzb3VyY2VzQ291
bnQgLSAyXTsKLSAgICAgICAgdmFyIHJlc291cmNlMyA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0
d29yayIpLnJlc291cmNlc1tyZXNvdXJjZXNDb3VudCAtIDFdOwotICAgICAgICByZXNvdXJjZTEu
cmVxdWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgICAgIHJlc291cmNlMi5yZXF1ZXN0
Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICAgICAgcmVzb3VyY2UzLnJlcXVlc3RDb250ZW50
KGNvbnRlbnRMb2FkZWQpOwotICAgIH0KLQotICAgIHZhciBjb250ZW50TG9hZGVkQ291bnQgPSAw
OwotICAgIGZ1bmN0aW9uIGNvbnRlbnRMb2FkZWQoKQotICAgIHsKLSAgICAgICAgaWYgKCsrY29u
dGVudExvYWRlZENvdW50ICE9PSAzKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHZh
ciByZXNvdXJjZXNDb3VudCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNl
cy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXNvdXJjZTEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXNvdXJjZXNbcmVzb3VyY2VzQ291bnQgLSAzXTsKLSAgICAgICAgdmFyIHJlc291
cmNlMiA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNlc1tyZXNvdXJjZXND
b3VudCAtIDJdOwotICAgICAgICB2YXIgcmVzb3VyY2UzID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gMV07Ci0KLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UxLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KHJlc291cmNlMi51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChyZXNvdXJjZTMudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJlc291
cmNlMS5jb250ZW50ICE9PSByZXNvdXJjZTIuY29udGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0VHJ1ZShyZXNvdXJjZTIuY29udGVudCA9PT0gcmVzb3VyY2UzLmNvbnRlbnQpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIGNsZWFy
aW5nIGJyb3dzZXIgY2FjaGUgZnJvbSBpbnNwZWN0b3IuPC9wPgotPC9ib2R5PgotPC9odG1sPgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmstY2xlYXItY29va2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY2xlYXItY29va2ll
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNzI2MTkwNDNk
YjU4NTcyMzc4ODIyNjU2NDcwYWRiMGQyZTdkZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IEZpcnN0IFhI
UiBsb2FkZWQuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjg6IERvbmUuCi1UZXN0cyBjbGVhcmlu
ZyBicm93c2VyIGNvb2tpZXMgZnJvbSBpbnNwZWN0b3IuCi0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jbGVhci1jb29raWVz
Lmh0bWwtZGlzYWJsZWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNjRmMDRjZjky
MDY4Njk3MTFiM2Y2OWJlNDVkYTFmN2UxOGVjNDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9uZXR3b3JrLWNsZWFyLWNvb2tpZXMuaHRtbC1kaXNhYmxlZAorKysgL2Rl
di9udWxsCkBAIC0xLDcwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gU2lu
Y2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBi
YWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMg
dG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJj
ZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJHRVQiLCAicmVzb3VyY2VzL3Nl
dC1jb29raWUucGhwIiwgdHJ1ZSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAy
KG1zZykKLSAgICB7Ci0gICAgICAgIGlmICh0eXBlb2YoTmV0d29ya0FnZW50LmNsZWFyQnJvd3Nl
ckNvb2tpZXMpID09PSAnZnVuY3Rpb24nKQotICAgICAgICAgICAgTmV0d29ya0FnZW50LmNsZWFy
QnJvd3NlckNvb2tpZXMoc3RlcDMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdGVwMygp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKG1zZykKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJHRVQiLCAicmVzb3VyY2VzL3NldC1j
b29raWUucGhwIiwgdHJ1ZSwgZmlyc3RYSFJMb2FkZWQpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZp
cnN0WEhSTG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtl
U2ltcGxlWEhSV2l0aFBheWxvYWQoIkdFVCIsICJyZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAiLCB0
cnVlLCBzdGVwNCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChtc2cp
Ci0gICAgewotICAgICAgICAvLyBpbnNwZWN0b3ItdGVzdC5qcyBhcHBlYXJzIGluIG5ldHdvcmsg
cGFuZWwgb2NjYXNpb25hbGx5IGluIFNhZmFyaSBvbgotICAgICAgICAvLyBNYWMsIHNvIGNoZWNr
aW5nIHR3byBsYXN0IHJlc291cmNlcy4KLSAgICAgICAgdmFyIHJlc291cmNlc0NvdW50ID0gV2Vi
SW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVzb3VyY2VzLmxlbmd0aDsKLSAgICAgICAgdmFy
IHJlc291cmNlMSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlc291cmNlc1tyZXNv
dXJjZXNDb3VudCAtIDJdOwotICAgICAgICB2YXIgcmVzb3VyY2UyID0gV2ViSW5zcGVjdG9yLnBh
bmVsKCJuZXR3b3JrIikucmVzb3VyY2VzW3Jlc291cmNlc0NvdW50IC0gMV07Ci0KLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UxLnVybCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlc291cmNlMi51cmwpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3Qu
YXNzZXJ0VHJ1ZSghaGFzUmVxdWVzdENvb2tpZVdpdGhOYW1lKHJlc291cmNlMSwgIlRlc3RDb29r
aWUiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShoYXNSZXF1ZXN0Q29va2ll
V2l0aE5hbWUocmVzb3VyY2UyLCAiVGVzdENvb2tpZSIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGhhc1JlcXVlc3RDb29r
aWVXaXRoTmFtZShyZXNvdXJjZSwgbmFtZSkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0Q29v
a2llcyA9IHJlc291cmNlLnJlcXVlc3RDb29raWVzOwotICAgICAgICBpZiAoIXJlcXVlc3RDb29r
aWVzKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBmb3IgKHZhciAgaSA9IDA7
IGkgPCByZXF1ZXN0Q29va2llcy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgaWYgKHJlcXVl
c3RDb29raWVzW2ldLm5hbWUgPT09IG5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIGNsZWFyaW5n
IGJyb3dzZXIgY29va2llcyBmcm9tIGluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVtYmVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1j
b250ZW50LXJlcGxhY2VtZW50LWVtYmVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZDNiMWNkMDgzNTkyN2E5NGFjZGM5ZGQ4Y2M5YjE1YzVmOGExYzM5ZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBs
YWNlbWVudC1lbWJlZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTg6IERvbmUuCi1UZXN0cyBOZXR3b3JrUmVzb3VyY2Vz
RGF0YSBsb2dpYyBmb3IgZW1iZWQgY29udGVudCByZXBsYWNlbWVudC4KLQotCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD9zaXpl
PTIwMAotcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IG51bGwKLWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2Uu
cGhwP3NpemU9MTAwCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDog
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0y
MDEKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBudWxsCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBo
cD9zaXplPTEwMAotcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6ICoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3Jr
LWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LWVt
YmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiODliYTFiMjU4ZTRjMzc3
MTQ1OGViYjczZTk4ZTY2YTAxZTI1MjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLWNvbnRlbnQtcmVwbGFjZW1lbnQtZW1iZWQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDExNyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciBsb2FkZWRGaXJzdFVS
TCA9IGZhbHNlOwotZnVuY3Rpb24gc3RyZWFtTG9hZGVkKCkKLXsKLSAgICBpZiAobG9hZGVkRmly
c3RVUkwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGxvYWRlZEZpcnN0VVJMID0gdHJ1ZTsKLSAg
ICBsb2FkVVJMcygpOwotfQotCi12YXIgc25pZmZlckluc3RhbGxlZCA9IGZhbHNlOwotZnVuY3Rp
b24gb25TbmlmZmVySW5zdGFsbGVkKCkKLXsKLSAgICBzbmlmZmVySW5zdGFsbGVkID0gdHJ1ZTsK
LSAgICBsb2FkVVJMcygpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMcygpCi17Ci0gICAgaWYgKCFz
bmlmZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVSTCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJUaGlzIHRl
c3QgY2FuIG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBpcyBub3QgYXZhaWxhYmxlLiIp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGludGVybmFscy5zZXRJbnNwZWN0b3JSZXNv
dXJjZXNEYXRhU2l6ZUxpbWl0cygzMDAsIDIwMCk7Ci0KLSAgICAvLyBIZXJlIHdlIHRlc3QgcmVw
bGFjZW1lbnQgbG9naWMuIFdlIHNhdmUgZmlyc3QgdHdvIHJlc291cmNlcyBjb250ZW50LAotICAg
IC8vIGRpc2NhcmQgdGhpcmQgcmVzb3VyY2UgY29udGVudCBvbmNlIHdlIHNlZSBpdHMgc2l6ZSBl
eGNlZWRzIGxpbWl0LAotICAgIC8vIGFuZCBmaW5hbGx5IHJlcGxhY2UgZmlyc3QgcmVzb3VyY2Ug
Y29udGVudCB3aXRoIHRoZSBsYXN0IHJlc291cmNlIGNvbnRlbnQuCi0KLSAgICBwbGcuZ2V0VVJM
Tm90aWZ5KCJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAwIiwgbnVsbCwgImxvYWRVUkwy
Iik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkwyKCkKLXsKLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJy
ZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgbnVsbCwgImxvYWRVUkwzIik7Ci19Ci0K
LWZ1bmN0aW9uIGxvYWRVUkwzKCkKLXsKLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMv
cmVzb3VyY2UucGhwP3NpemU9MjAxIiwgbnVsbCwgImxvYWRVUkw0Iik7Ci19Ci0KLWZ1bmN0aW9u
IGxvYWRVUkw0KCkKLXsKLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMvcmVzb3VyY2Uu
cGhwP3NpemU9MTAwIiwgbnVsbCwgImFsbFVSTHNMb2FkZWQiKTsKLX0KLQotZnVuY3Rpb24gYWxs
VVJMc0xvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOwot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm9uU25pZmZlckluc3RhbGxlZCgpIik7
Ci0KLSAgICBmdW5jdGlvbiBkdW1wUmVxdWVzdChyZXF1ZXN0LCBjYWxsYmFjaykKLSAgICB7Ci0g
ICAgICAgIGlmICghcmVxdWVzdCkKLSAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0LnVybCk7Ci0KLSAgICAgICAgZnVu
Y3Rpb24gY29udGVudExvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDog
IiArIHJlcXVlc3QuY29udGVudCk7Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICB9
Ci0KLSAgICAgICAgcmVxdWVzdC5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDRdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1
ZXN0LCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAg
ICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAzXTsKLSAgICAg
ICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAzKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMu
bGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIHN0ZXA0KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgi
bmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1
ZXN0LCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0cyBOZXR3b3JrUmVz
b3VyY2VzRGF0YSBsb2dpYyBmb3IgZW1iZWQgY29udGVudCByZXBsYWNlbWVudC48L3A+Ci0gICAg
PGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2Fw
ZSIgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UiIG9uc3RyZWFtbG9hZD0i
c3RyZWFtTG9hZGVkKCkiPjwvZW1iZWQ+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNl
bWVudC14aHItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Y2Rl
ZGI4MDMyMjFjMjhkM2YwZmE0YzY0OTllMGIyOTE5OWUyNGM5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTM6IERvbmUuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA2OiBYSFIgbG9hZGVkOiAzCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRl
ZDogNAotVGVzdHMgTmV0d29ya1Jlc291cmNlc0RhdGEgbG9naWMgZm9yIFhIUiBjb250ZW50IHJl
cGxhY2VtZW50LgotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3Jlc291cmNlLnBocD9zaXplPTIwMAotcmVzb3VyY2UuY29udGVudDogbnVsbAotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5w
aHA/c2l6ZT0xMDAKLXJlc291cmNlLmNvbnRlbnQ6ICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MjAxCi1yZXNvdXJjZS5jb250ZW50OiBudWxs
Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291
cmNlLnBocD9zaXplPTEwMAotcmVzb3VyY2UuY29udGVudDogKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstY29udGVudC1yZXBsYWNlbWVu
dC14aHIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1jb250ZW50LXJlcGxhY2VtZW50LXhoci5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5Yjg2NWYxYWUyZjhhODI0ZTNlMDdjMjI4NDBjMDllYmUyN2VlMjE4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1jb250ZW50
LXJlcGxhY2VtZW50LXhoci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygpCi17Ci0gICAgaWYg
KCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJUaGlzIHRlc3QgY2Fu
IG5vdCBiZSBydW4gYXMgd2luZG93LmludGVybmFscyBpcyBub3QgYXZhaWxhYmxlLiIpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIGludGVybmFscy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNE
YXRhU2l6ZUxpbWl0cygzMDAsIDIwMCk7Ci0gICAgY29uc29sZS5sb2coIkRvbmUuIik7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIo
ZGF0YVNpemVMaW1pdHNTZXQpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNl
dEluc3BlY3RvclJlc291cmNlc0RhdGFTaXplTGltaXRzKCkiKTsKLQotICAgIGZ1bmN0aW9uIGRh
dGFTaXplTGltaXRzU2V0KCkKLSAgICB7Ci0gICAgICAgIC8vIEhlcmUgd2UgdGVzdCByZXBsYWNl
bWVudCBsb2dpYy4gV2Ugc2F2ZSBmaXJzdCB0d28gcmVzb3VyY2VzIGNvbnRlbnQsCi0gICAgICAg
IC8vIGRpc2NhcmQgdGhpcmQgcmVzb3VyY2UgY29udGVudCBvbmNlIHdlIHNlZSBpdHMgc2l6ZSBl
eGNlZWRzIGxpbWl0LAotICAgICAgICAvLyBhbmQgZmluYWxseSByZXBsYWNlIGZpcnN0IHJlc291
cmNlIGNvbnRlbnQgd2l0aCB0aGUgbGFzdCByZXNvdXJjZSBjb250ZW50LgotCi0gICAgICAgIElu
c3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/
c2l6ZT0yMDAiLCBmYWxzZSwgeGhyTG9hZGVkMSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24geGhy
TG9hZGVkMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdF
VCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3NpemU9MTAwIiwgZmFsc2UsIHhockxvYWRlZDIp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHhockxvYWRlZDIoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD9z
aXplPTIwMSIsIGZhbHNlLCB4aHJMb2FkZWQzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB4aHJM
b2FkZWQzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VU
IiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/c2l6ZT0xMDAiLCBmYWxzZSwgc3RlcDEpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrKQotICAgIHsK
LSAgICAgICAgaWYgKCFyZXF1ZXN0KQotICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsKLQotICAgICAgICBm
dW5jdGlvbiBjb250ZW50TG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQ6ICIgKyByZXF1ZXN0LmNvbnRlbnQpOwot
ICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJlcXVlc3QucmVx
dWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEo
KQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSA0XTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDIpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gM107Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3Qs
IHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2
YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDJdOwotICAgICAgICBk
dW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQo
KQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSAxXTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDUpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci0gICAgPHA+IFRlc3RzIE5ldHdvcmtSZXNvdXJjZXNEYXRhIGxvZ2ljIGZvciBY
SFIgY29udGVudCByZXBsYWNlbWVudC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0
d29yay1jeXJpbGxpYy14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWN5cmlsbGljLXhoci1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1MjA3N2Q1Yjc2ZjFkNjgxYTM0ODY3
ZWE2ZDM4ODEyMThkNTQ0NmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9uZXR3b3JrLWN5cmlsbGljLXhoci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKLVRlc3RzIGN5cmlsbGljIHhociBjb250
ZW50IGlzIGNvcnJlY3RseSBsb2FkZWQgaW4gaW5zcGVjdG9yLgotCi1CdWcgNzkwMjYKLWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMuaHRt
bAotcmVzb3VyY2UuY29udGVudDogVGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIGEgd29yZCAi
c3VjY2VzcyIgd3JpdHRlbiB3aXRoIGN5cmlsbGljIGxldHRlcnMuCi1TVdCh0KHQlVNTCi0KLWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvY3lyaWxsaWMu
aHRtbAotcmVzb3VyY2UuY29udGVudDogVGhlIGZvbGxvd2luZyBsaW5lIGNvbnRhaW5zIGEgd29y
ZCAic3VjY2VzcyIgd3JpdHRlbiB3aXRoIGN5cmlsbGljIGxldHRlcnMuCi1TVdCh0KHQlVNTCi0K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLWN5cmlsbGljLXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWN5cmlsbGljLXhoci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTY3NDY0ODg4OGQwZDEzYzM3ZTkyMmE0ZDlk
ZGJjZmFjZWI3YzFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0
d29yay1jeXJpbGxpYy14aHIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0
b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMs
IHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3Bl
Y3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0
aW9uIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgaWYgKCFy
ZXF1ZXN0KQotICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsKLQotICAgICAgICBmdW5jdGlvbiBjb250ZW50
TG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InJlc291cmNlLmNvbnRlbnQ6ICIgKyByZXF1ZXN0LmNvbnRlbnQpOwotICAgICAgICAgICAgY2Fs
bGJhY2soKTsKLSAgICAgICAgfQotCi0gICAgICAgIHJlcXVlc3QucmVxdWVzdENvbnRlbnQoY29u
dGVudExvYWRlZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL2N5cmlsbGlj
Lmh0bWwiLCBmYWxzZSwgZmlyc3RYSFJMb2FkZWQpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZpcnN0
WEhSTG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2lt
cGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL2N5cmlsbGljLmh0bWwiLCB0cnVlLCBzdGVwMik7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2
YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDJdOwotICAgICAgICBk
dW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
KQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSAxXTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3RlcDQpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08cD4gVGVzdHMgY3lyaWxsaWMgeGhyIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxv
YWRlZCBpbiBpbnNwZWN0b3IuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc5MDI2Ij5CdWcgNzkwMjY8L2E+Ci08L2JvZHk+Ci08L2h0bWw+Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJs
ZS1jYWNoZS1tZW1vcnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmM2Q2Y2IzZmIxZTFiYzdjODk4MDQwMGM3YjQzNTA4ZjZlZDk1YzIxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1kaXNhYmxlLWNhY2hlLW1lbW9yeS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBEb25lLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IERvbmUuCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTogRG9uZS4KLVRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9tIGluc3Bl
Y3Rvci4KLQotUGFnZSByZWxvYWRlZC4KLVBhZ2UgcmVsb2FkZWQuCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1k
aXNhYmxlLWNhY2hlLW1lbW9yeS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUtbWVtb3J5Lmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlZDdkOGI5NDI5NTZjZDkzMGQ4MDg4ZjFiOGM2
YTVmOTY5ZDZkZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3
b3JrLWRpc2FibGUtY2FjaGUtbWVtb3J5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWZ1bmN0aW9uIHNjaGVkdWxlU2NyaXB0TG9hZCgpIHsKLSAgICB3aW5kb3cuc2V0VGlt
ZW91dChsb2FkU2NyaXB0LCAwKTsKLX0KLQotZnVuY3Rpb24gbG9hZFNjcmlwdCgpIHsKLSAgICB2
YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgc2NyaXB0
LnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsKLSAgICBzY3JpcHQuc3JjID0gInJlc291cmNlcy9y
YW5kb20tc2NyaXB0LnBocCI7Ci0gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQp
OwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgY29udGVudDE7Ci0gICAgdmFyIGNv
bnRlbnQyOwotICAgIHZhciBjb250ZW50MzsKLQotICAgIGZ1bmN0aW9uIGxvYWRTY3JpcHRBbmRH
ZXRDb250ZW50KGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25z
b2xlU25pZmZlcihzY3JpcHRMb2FkZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJzY2hlZHVsZVNjcmlwdExvYWQoKSIpOwotCi0gICAgICAgIGZ1bmN0aW9uIHNjcmlw
dExvYWRlZCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gV2Vi
SW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoOwotICAgICAgICAgICAg
dmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1
ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgICAgICByZXF1ZXN0LnJlcXVlc3RDb250ZW50KGNvbnRl
bnRMb2FkZWQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoOwotICAgICAgICAgICAgdmFyIHJlcXVl
c3QgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50
IC0gMV07Ci0gICAgICAgICAgICBjYWxsYmFjayhyZXF1ZXN0LmNvbnRlbnQpOwotICAgICAgICB9
Ci0gICAgfQotCi0gICAgbG9hZFNjcmlwdEFuZEdldENvbnRlbnQoc3RlcDEpOwotCi0gICAgZnVu
Y3Rpb24gc3RlcDEoY29udGVudCkKLSAgICB7Ci0gICAgICAgIGNvbnRlbnQxID0gY29udGVudDsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMihtc2cpCi0gICAgewotICAgICAgICBsb2FkU2NyaXB0QW5kR2V0Q29udGVu
dChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoY29udGVudCkKLSAgICB7Ci0g
ICAgICAgIGNvbnRlbnQyID0gY29udGVudDsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hl
RGlzYWJsZWQodHJ1ZSwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KG1zZykK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwNSk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDUobXNnKQotICAgIHsKLSAgICAgICAgbG9hZFNjcmlwdEFuZEdl
dENvbnRlbnQoc3RlcDYpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA2KGNvbnRlbnQpCi0g
ICAgewotICAgICAgICBjb250ZW50MyA9IGNvbnRlbnQ7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKGNvbnRlbnQxID09PSBjb250ZW50MiwgIkZpcnN0IGFuZCBzZWNvbmQgc2Ny
aXB0cyBzaG91bGQgYmUgZXF1YWwuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1
ZShjb250ZW50MiAhPT0gY29udGVudDMsICJTZWNvbmQgYW5kIHRoaXJkIHNjcmlwdHMgc2hvdWxk
IGRpZmZlci4iKTsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQoZmFsc2Us
IHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNyhtc2cpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIGRpc2FibGluZyBj
YWNoZSBmcm9tIGluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1kaXNhYmxlLWNhY2hlLXhocnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhycy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NzVlZTE5YzhkZjU1
MDMxNDI0ZTQzMzg1ZGE0NjViY2I5MDQwYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGUtY2FjaGUteGhycy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9h
ZGVkOiAxCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDMKLVRlc3RzIGRpc2FibGluZyBjYWNoZSBmcm9t
IGluc3BlY3Rvci4KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9yZXNvdXJjZS5waHA/cmFuZG9tPTEmY2FjaGVkPTEKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3JhbmRvbT0xJmNh
Y2hlZD0xCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Vz
L3Jlc291cmNlLnBocD9yYW5kb209MSZjYWNoZWQ9MQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1j
YWNoZS14aHJzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsZS1jYWNoZS14aHJzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM3MTJhY2U2N2VlYjU0MjI2OWM5Y2E5OWIyNGRhZjlhNzcwYzA3YTQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGUt
Y2FjaGUteGhycy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVy
IHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKLSAgICAvLyB0ZXN0cywgd2UgbmVl
ZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVz
dC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3Rl
cDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAi
cmVzb3VyY2VzL3Jlc291cmNlLnBocD9yYW5kb209MSZjYWNoZWQ9MSIsIHRydWUsIGZpcnN0WEhS
TG9hZGVkKTsKLQotICAgICAgICBmdW5jdGlvbiBmaXJzdFhIUkxvYWRlZCgpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNl
cy9yZXNvdXJjZS5waHA/cmFuZG9tPTEmY2FjaGVkPTEiLCB0cnVlLCBzdGVwMik7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihtc2cpCi0gICAgewotICAgICAgICBOZXR3
b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZCh0cnVlLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDMobXNnKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxl
WEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD9yYW5kb209MSZjYWNoZWQ9MSIsIHRy
dWUsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChtc2cpCi0gICAgewotICAg
ICAgICAvLyBpbnNwZWN0b3ItdGVzdC5qcyBhcHBlYXJzIGluIG5ldHdvcmsgcGFuZWwgb2NjYXNp
b25hbGx5IGluIFNhZmFyaSBvbgotICAgICAgICAvLyBNYWMsIHNvIGNoZWNraW5nIHR3byBsYXN0
IHJlc291cmNlcy4KLSAgICAgICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFu
ZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdl
Ykluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAzXTsK
LSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVx
dWVzdHNbcmVxdWVzdHNDb3VudCAtIDJdOwotICAgICAgICB2YXIgcmVxdWVzdDMgPSBXZWJJbnNw
ZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07Ci0gICAg
ICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQpOwotICAgICAgICByZXF1
ZXN0Mi5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsKLSAgICAgICAgcmVxdWVzdDMucmVx
dWVzdENvbnRlbnQoY29udGVudExvYWRlZCk7Ci0gICAgfQotCi0gICAgdmFyIGNvbnRlbnRMb2Fk
ZWRDb3VudCA9IDA7Ci0gICAgZnVuY3Rpb24gY29udGVudExvYWRlZCgpCi0gICAgewotICAgICAg
ICBpZiAoKytjb250ZW50TG9hZGVkQ291bnQgIT09IDMpCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgdmFyIHJlcXVlc3RzQ291bnQgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsi
KS5yZXF1ZXN0cy5sZW5ndGg7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5w
YW5lbCgibmV0d29yayIpLnJlcXVlc3RzW3JlcXVlc3RzQ291bnQgLSAzXTsKLSAgICAgICAgdmFy
IHJlcXVlc3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbcmVxdWVz
dHNDb3VudCAtIDJdOwotICAgICAgICB2YXIgcmVxdWVzdDMgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07Ci0KLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQocmVxdWVzdDIudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
cmVxdWVzdDMudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJlcXVlc3Qx
LmNvbnRlbnQgPT09IHJlcXVlc3QyLmNvbnRlbnQsICJGaXJzdCBhbmQgc2Vjb25kIHJlc291cmNl
cyBhcmUgZXF1YWwiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJlcXVlc3Qy
LmNvbnRlbnQgIT09IHJlcXVlc3QzLmNvbnRlbnQsICJTZWNvbmQgYW5kIHRoaXJkIHJlc291cmNl
cyBkaWZmZXIiKTsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQoZmFsc2Us
IHN0ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShtc2cpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3RzIGRpc2FibGluZyBj
YWNoZSBmcm9tIGluc3BlY3Rvci48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1kaXNhYmxpbmctY2hlY2stbm8tbWVtb3J5LWxlYWstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGlu
Zy1jaGVjay1uby1tZW1vcnktbGVhay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDE4ZWM2NDY0NjcxMDE3MjdmNWJlNzYwZWE4NjVkOWJkOWRjNjU2NTIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWRpc2FibGluZy1jaGVj
ay1uby1tZW1vcnktbGVhay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAxCi1UZXN0cyB0aGF0IGFm
dGVyIGRpc2FibGluZyBuZXR3b3JrIGRvbWFpbiwgY29udGVudCBzYXZlZCBvbiBiYWNrZW5kIGlz
IHJlbW92ZWQuIEJ1ZyA2Nzk5NQotCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIGRpc2FibGluZyBu
ZXR3b3JrIGRvbWFpbjogbnVsbAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1l
bW9yeS1sZWFrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstZGlzYWJsaW5nLWNoZWNrLW5vLW1lbW9yeS1sZWFrLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyMDYwYjgwNThiY2UwY2FmZDVlZTIwZGQ0Y2I3
NWY3Y2U5Yzc2N2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3
b3JrLWRpc2FibGluZy1jaGVjay1uby1tZW1vcnktbGVhay5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNDggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBTaW5jZSB0aGlzIHRl
c3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2Fj
aGUKLSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0
IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNlc0RhdGEoc3Rl
cDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocCIsIHRydWUsIHN0
ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBOZXR3
b3JrQWdlbnQuZGlzYWJsZShzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQot
ICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3Ro
IC0gMV07Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50KHN0ZXA0KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgZGlzYWJsaW5nIG5ldHdvcmsgZG9tYWluOiAi
ICsgcmVxdWVzdDEuY29udGVudCk7Ci0gICAgICAgIE5ldHdvcmtBZ2VudC5lbmFibGUoc3RlcDUp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+Ci0gVGVzdHMgdGhhdCBhZnRlciBkaXNhYmxpbmcg
bmV0d29yayBkb21haW4sIGNvbnRlbnQgc2F2ZWQgb24gYmFja2VuZCBpcyByZW1vdmVkLgotPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTk1Ij5CdWcg
Njc5OTU8L2E+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1iZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLWVtYmVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDNkODUyMjRlMGY3NzdhYmI3ZTExMGVkZDNiYjE2MGE2NzczNjVkOS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU4
OiBEb25lLgotVGVzdHMgdGhhdCBuZXR3b3JrIHBhbmVsIHNob3dzIGNvbnRlbnQgZm9yIGVtYmVk
IG9iamVjdHMuCi0KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jl
c291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZQotcmVzb3VyY2UudHlwZTogb3RoZXIKLXJl
c291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNv
dXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogbnVsbAotaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/Zmls
ZW5hbWU9dXRmOC54bWwmbWltZXR5cGU9dGV4dC9odG1sJmNoYXJzZXQ9dXRmOAotcmVzb3VyY2Uu
dHlwZTogb3RoZXIKLXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDog
dW5kZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94
bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh
0KHQlVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290
PgotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Bs
dWdpbi1kYXRhLnBocD9maWxlbmFtZT1jcDEyNTEueG1sJm1pbWV0eXBlPXRleHQvaHRtbCZjaGFy
c2V0PWNwMTI1MQotcmVzb3VyY2UudHlwZTogb3RoZXIKLXJlc291cmNlLmNvbnRlbnQgYmVmb3Jl
IHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJl
cXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nY3AxMjUxJz8+
Ci08cm9vdD4KLSAgPGNwMTI1MT5TVdCh0KHQlVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGlj
IGxldHRlcnMuPC9jcDEyNTE+Ci08L3Jvb3Q+Ci0KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPXV0ZjgueG1s
Jm1pbWV0eXBlPWFwcGxpY2F0aW9uL3htbAotcmVzb3VyY2UudHlwZTogb3RoZXIKLXJlc291cmNl
LmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5j
b250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNv
ZGluZz0ndXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh0KHQlVNTIC0gVGhlc2UgJ0NDRScg
YXJlIGN5cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290PgotCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocD9maWxlbmFt
ZT1jcDEyNTEueG1sJm1pbWV0eXBlPWFwcGxpY2F0aW9uL3htbAotcmVzb3VyY2UudHlwZTogb3Ro
ZXIKLXJlc291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVk
Ci1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lv
bj0nMS4wJyBlbmNvZGluZz0nY3AxMjUxJz8+Ci08cm9vdD4KLSAgPGNwMTI1MT5TVdCh0KHQlVNT
IC0gVGhlc2UgJ0NDRScgYXJlIGN5cmlsbGljIGxldHRlcnMuPC9jcDEyNTE+Ci08L3Jvb3Q+Ci0K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLWVtYmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1iZWQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2UwYzUwNTM0MDdhODhkY2YxMjNhZGU5M2JlMTE2MjFhZDUxODdjMS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1iZWQuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9u
ZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciBsb2FkZWRGaXJzdFVSTCA9
IGZhbHNlOwotZnVuY3Rpb24gc3RyZWFtTG9hZGVkKCkKLXsKLSAgICBpZiAobG9hZGVkRmlyc3RV
UkwpCi0gICAgICAgIHJldHVybjsKLQotICAgIGxvYWRlZEZpcnN0VVJMID0gdHJ1ZTsKLSAgICBs
b2FkVVJMcygpOwotfQotCi12YXIgc25pZmZlckluc3RhbGxlZCA9IGZhbHNlOwotZnVuY3Rpb24g
b25TbmlmZmVySW5zdGFsbGVkKCkKLXsKLSAgICBzbmlmZmVySW5zdGFsbGVkID0gdHJ1ZTsKLSAg
ICBsb2FkVVJMcygpOwotfQotCi1mdW5jdGlvbiBsb2FkVVJMcygpCi17Ci0gICAgaWYgKCFzbmlm
ZmVySW5zdGFsbGVkIHx8ICFsb2FkZWRGaXJzdFVSTCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
Ly8gQmluYXJ5IGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBhdmFpbGFibGUuCi0gICAgcGxnLmdldFVS
TE5vdGlmeSgicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlIiwgbnVsbCwgImxvYWRV
UkwyIik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkwyKCkKLXsKLSAgICAvLyBUaGlzIHJlc291cmNl
IGNvbnRlbnQgc2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVkLgotICAgIHBsZy5nZXRVUkxOb3Rp
ZnkoInJlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9dXRmOC54bWwmbWltZXR5cGU9
dGV4dC9odG1sJmNoYXJzZXQ9dXRmOCIsIG51bGwsICJsb2FkVVJMMyIpOwotfQotCi1mdW5jdGlv
biBsb2FkVVJMMygpCi17Ci0gICAgLy8gVGhpcyByZXNvdXJjZSBjb250ZW50IHNob3VsZCBiZSBj
b3JyZWN0bHkgZGVjb2RlZC4KLSAgICBwbGcuZ2V0VVJMTm90aWZ5KCJyZXNvdXJjZXMvcGx1Z2lu
LWRhdGEucGhwP2ZpbGVuYW1lPWNwMTI1MS54bWwmbWltZXR5cGU9dGV4dC9odG1sJmNoYXJzZXQ9
Y3AxMjUxIiwgbnVsbCwgImxvYWRVUkw0Iik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkw0KCkKLXsK
LSAgICAvLyBUaGlzIHJlc291cmNlIGNvbnRlbnQgc2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVk
LgotICAgIHBsZy5nZXRVUkxOb3RpZnkoInJlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5h
bWU9dXRmOC54bWwmbWltZXR5cGU9YXBwbGljYXRpb24veG1sIiwgbnVsbCwgImxvYWRVUkw1Iik7
Ci19Ci0KLWZ1bmN0aW9uIGxvYWRVUkw1KCkKLXsKLSAgICAvLyBUaGlzIHJlc291cmNlIGNvbnRl
bnQgc2hvdWxkIGJlIGNvcnJlY3RseSBkZWNvZGVkLgotICAgIHBsZy5nZXRVUkxOb3RpZnkoInJl
c291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5hbWU9Y3AxMjUxLnhtbCZtaW1ldHlwZT1hcHBs
aWNhdGlvbi94bWwiLCBudWxsLCAiYWxsVVJMc0xvYWRlZCIpOwotfQotCi1mdW5jdGlvbiBhbGxV
UkxzTG9hZGVkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiRG9uZS4iKTsKLX0KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3
aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQg
dG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRlc3Qu
cmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJvblNuaWZmZXJJbnN0YWxs
ZWQoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBSZXF1ZXN0KHJlcXVlc3QsIGNhbGxi
YWNrKQotICAgIHsKLSAgICAgICAgaWYgKCFyZXF1ZXN0KQotICAgICAgICAgICAgcmV0dXJuIGNh
bGxiYWNrKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1
ZXN0LnR5cGUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29u
dGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdC5jb250ZW50KTsKLQot
ICAgICAgICBmdW5jdGlvbiBjb250ZW50TG9hZGVkKCkKLSAgICAgICAgewotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGlu
ZyBjb250ZW50OiAiICsgcmVxdWVzdC5jb250ZW50KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7
Ci0gICAgICAgIH0KLQotICAgICAgICByZXF1ZXN0LnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2Fk
ZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciBy
ZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVj
dG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gNV07Ci0gICAgICAgIGR1bXBS
ZXF1ZXN0KHJlcXVlc3QsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0g
ICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAt
IDRdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNCk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsi
KS5yZXF1ZXN0cy5sZW5ndGggLSAzXTsKLSAgICAgICAgZHVtcFJlcXVlc3QocmVxdWVzdCwgc3Rl
cDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0gICAgICAgIHZhciBy
ZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVj
dG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBS
ZXF1ZXN0KHJlcXVlc3QsIHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0g
ICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAt
IDFdOwotICAgICAgICBkdW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNyk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDcoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLSAgICA8cD5UZXN0cyB0aGF0IG5ldHdvcmsgcGFuZWwgc2hvd3MgY29udGVudCBmb3Ig
ZW1iZWQgb2JqZWN0cy48L3A+Ci0gICAgPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRp
b24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5
cGU9aW1hZ2UiIG9uc3RyZWFtbG9hZD0ic3RyZWFtTG9hZGVkKCkiPjwvZW1iZWQ+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1lbXB0eS14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWVtcHR5
LXhoci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4ZDYzOTA4
MGYxZTUzNDYxMzg4MTU2OTRkYTdiNzA3ZmY2YWFhYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWVtcHR5LXhoci1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwxMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRl
ZDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKLVRlc3RzIGVtcHR5
IHhociBjb250ZW50IGlzIGNvcnJlY3RseSBsb2FkZWQgaW4gaW5zcGVjdG9yLgotCi1CdWcgNzkw
MjYKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvZW1w
dHkuaHRtbAotcmVzb3VyY2UuY29udGVudDogCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL25ldHdvcmsvcmVzb3VyY2VzL2VtcHR5Lmh0bWwKLXJlc291cmNlLmNvbnRlbnQ6IAotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmstZW1wdHkteGhyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstZW1wdHkteGhyLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGQwYjVjMjJmODgzNzI5MjllYWNlMGU0M2E4MjBjNzEwMDQzODI4
ZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWVtcHR5
LXhoci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICAvLyBTaW5jZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGgg
b3RoZXIgaW5zcGVjdG9yIGJhY2tlbmQgY2FjaGUKLSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byBy
ZXNldCBzaXplIGxpbWl0cyB0byBkZWZhdWx0IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNl
dEluc3BlY3RvclJlc291cmNlc0RhdGEoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gZHVtcFJlcXVl
c3QocmVxdWVzdCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICBpZiAoIXJlcXVlc3QpCi0gICAg
ICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQocmVxdWVzdC51cmwpOwotCi0gICAgICAgIGZ1bmN0aW9uIGNvbnRlbnRMb2FkZWQoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29u
dGVudDogIiArIHJlcXVlc3QuY29udGVudCk7Ci0gICAgICAgICAgICBjYWxsYmFjaygpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgcmVxdWVzdC5yZXF1ZXN0Q29udGVudChjb250ZW50TG9hZGVkKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvZW1wdHkuaHRtbCIsIGZhbHNlLCBm
aXJzdFhIUkxvYWRlZCk7Ci0KLSAgICAgICAgZnVuY3Rpb24gZmlyc3RYSFJMb2FkZWQoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJy
ZXNvdXJjZXMvZW1wdHkuaHRtbCIsIHRydWUsIHN0ZXAyKTsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5z
cGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3
b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMl07Ci0gICAgICAgIGR1bXBSZXF1ZXN0KHJlcXVlc3Qs
IHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2
YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYklu
c3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBk
dW1wUmVxdWVzdChyZXF1ZXN0LCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQo
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPiBUZXN0
cyBlbXB0eSB4aHIgY29udGVudCBpcyBjb3JyZWN0bHkgbG9hZGVkIGluIGluc3BlY3Rvci48L3A+
Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMjYi
PkJ1ZyA3OTAyNjwvYT4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1s
b2FkLWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1sb2FkLWFuZC1kZWxldGUtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDU1Yzg0MzgxYjc2ZGFi
OWRmOWU0ZmY4NmRlNzM5YTMyNGZhYjg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay1pZnJhbWUtbG9hZC1hbmQtZGVsZXRlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNjogRG9u
ZS4KLVRlc3RzIHRoYXQgaWYgaWZyYW1lIGlzIGxvYWRlZCBhbmQgdGhlbiBkZWxldGVkLCBpbnNw
ZWN0b3IgY291bGQgc3RpbGwgc2hvdyBpdHMgY29udGVudC4gTm90ZSB0aGF0IGlmIGlmcmFtZS5z
cmMgaXMgY2hhbmdlZCB0byAiamF2YXNjcmlwdDonLi4uc29tZSBodG1sLi4uJyIgYWZ0ZXIgbG9h
ZGluZywgdGhlbiB3ZSBoYXZlIGRpZmZlcmVudCBjb2RlcGF0aCwgaGVuY2UgdHdvIHRlc3RzOwot
Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291
cmNlLnBocAotcmVzb3VyY2UudHlwZTogZG9jdW1lbnQKLXJlc291cmNlLmNvbnRlbnQgYmVmb3Jl
IHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNvdXJjZS5jb250ZW50IGFmdGVyIHJl
cXVlc3RpbmcgY29udGVudDogSGVsbG8gd29ybGQKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwCi1yZXNvdXJjZS50eXBlOiBkb2N1
bWVudAotcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmlu
ZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBIZWxsbyB3b3Js
ZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1s
b2FkLWFuZC1kZWxldGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI2NGEz
YjU3ZWMxMTczYzM5YzllNTgyM2MwNWRjZjAyNWRhYjZmYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29y
ay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgaWZyYW1lOwotCi1mdW5jdGlvbiBs
b2FkSWZyYW1lKCkKLXsKLSAgICBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0gICAgaWZyYW1l
Lm9ubG9hZCA9IGlmcmFtZUxvYWRlZDsKLSAgICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9yZXNv
dXJjZS5waHAiOwotfQotCi1mdW5jdGlvbiBpZnJhbWVMb2FkZWQoKQotewotICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsKLQotICAgIGxvYWRJZnJhbWVBbmRDaGFuZ2VTcmNB
ZnRlckxvYWQoKTsKLX0KLQotZnVuY3Rpb24gbG9hZElmcmFtZUFuZENoYW5nZVNyY0FmdGVyTG9h
ZCgpCi17Ci0gICAgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0g
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgIGlmcmFtZS5vbmxvYWQg
PSBpZnJhbWVMb2FkZWRDaGFuZ2VTcmM7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvcmVz
b3VyY2UucGhwIjsKLX0KLQotZnVuY3Rpb24gaWZyYW1lTG9hZGVkQ2hhbmdlU3JjKCkKLXsKLSAg
ICBpZnJhbWUub25sb2FkID0gbnVsbDsKLSAgICBpZnJhbWUuc3JjID0gImphdmFzY3JpcHQ6Jzxo
dG1sPjwvaHRtbD4nIjsKLSAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlmcmFtZSk7Ci0g
ICAgY29uc29sZS5sb2coIkRvbmUuIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIElu
c3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImxvYWRJZnJhbWUoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQot
ICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3Jr
IikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3Ro
IC0gMl07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS50eXBlOiAiICsgcmVxdWVz
dDEudHlwZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250
ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6ICIgKyByZXF1ZXN0MS5jb250ZW50KTsKLSAg
ICAgICAgcmVxdWVzdDEucmVxdWVzdENvbnRlbnQoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5w
YW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzLmxlbmd0aCAtIDJdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVz
b3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6ICIgKyByZXF1ZXN0MS5jb250
ZW50KTsKLQotICAgICAgICB2YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdv
cmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5n
dGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDIudXJsKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1
ZXN0Mi50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNv
bnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QyLmNvbnRlbnQpOwot
ICAgICAgICByZXF1ZXN0Mi5yZXF1ZXN0Q29udGVudChzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QyID0gV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIiku
cmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJy
ZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QyLmNv
bnRlbnQpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gIDxwPgot
ICAgIFRlc3RzIHRoYXQgaWYgaWZyYW1lIGlzIGxvYWRlZCBhbmQgdGhlbiBkZWxldGVkLCBpbnNw
ZWN0b3IgY291bGQgc3RpbGwgc2hvdyBpdHMgY29udGVudC4KLSAgICBOb3RlIHRoYXQgaWYgaWZy
YW1lLnNyYyBpcyBjaGFuZ2VkIHRvICJqYXZhc2NyaXB0OicuLi5zb21lIGh0bWwuLi4nIiBhZnRl
cgotICAgIGxvYWRpbmcsIHRoZW4gd2UgaGF2ZSBkaWZmZXJlbnQgY29kZXBhdGgsIGhlbmNlIHR3
byB0ZXN0czsKLSAgPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWltYWdlLTQw
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstaW1hZ2UtNDA0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTNmMDRlNmU1ZjBkZTNhMzZjNWQ4ODQ3OGJjYzNlMjQxOTE1Nzc3Yi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW1hZ2UtNDA0
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE1OiBEb25lLgotVGVzdHMgY29udGVudCBpcyBhdmFpbGFibGUgZm9yIGZhaWxl
ZCBpbWFnZSByZXF1ZXN0LgotCi1CdWcgODQyNjUKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvNDA0LnBocAotcmVzb3VyY2UudHlwZTogaW1hZ2UKLXJl
c291cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCi1yZXNv
dXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogNDA0IC0gcmVzb3VyY2Ugd2Fz
IG5vdCBmb3VuZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWltYWdlLTQwNC5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYTI2Y2IwMDhlMWFiYzkxZDQxMjAz
MGZmMjE1MDA0NDZmOWM3MTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1pbWFnZS00MDQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gbG9hZERhdGEoKQotewotICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpOwot
ICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvNDA0LnBocCI7Ci0gICAgaW1hZ2Uub25lcnJvciA9
IHJlc291cmNlTG9hZGVkOwotfQotCi1mdW5jdGlvbiByZXNvdXJjZUxvYWRlZCgpCi17Ci0gICAg
Y29uc29sZS5sb2coIkRvbmUuIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8vIFNp
bmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3Ig
YmFja2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRz
IHRvIGRlZmF1bHQgb25lcy4KLSAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3Vy
Y2VzRGF0YShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZERhdGEoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5l
bCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVl
c3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0
MS51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlwZTog
IiArIHJlcXVlc3QxLnR5cGUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVz
b3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29u
dGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghcmVxdWVzdDEuZmFpbGVk
LCAiUmVzb3VyY2UgbG9hZGluZyBmYWlsZWQuIik7Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RD
b250ZW50KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAg
ICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVx
dWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0KLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGZv
ciBmYWlsZWQgaW1hZ2UgcmVxdWVzdC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQyNjUiPkJ1ZyA4NDI2NTwvYT4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwZmQwODVlODU2MmY5ZGYy
ZWQ5MGU5OTlmYTZlOWQyZmFiMjcyZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLWluaXRpYXRvci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxOCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzQ6IERvbmUuCi1UZXN0cyByZXNv
dXJjZXMgaW5pdGlhdG9yIGZvciBpbWFnZXMgaW5pdGlhdGVkIGJ5IElNRyB0YWcsIHN0YXRpYyBD
U1MsIENTUyBjbGFzcyBhZGRlZCBmcm9tIEphdmFTY3JpcHQgYW5kIFhIUi4KLQotQnVnIDY1MTA1
IAotVGhpcyBkaXYgaGFzIGJhY2tncm91bmQgaW1hZ2Ugc2V0IGZyb20gQ1NTLgotVGhpcyBkaXYg
d2lsbCBoYXZlIGJhY2tncm91bmQgaW1hZ2Ugc2V0IGZyb20gSmF2YVNjcmlwdC4KLVBhZ2UgcmVs
b2FkZWQuCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Vz
L2luaXRpYXRvci5jc3M6IHBhcnNlcgotICAgIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1sIDMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFu
ZG9tPTEmc2l6ZT0xMDA6IHBhcnNlcgotICAgIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1sIDEwNwotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZy
YW5kb209MSZzaXplPTIwMDogcGFyc2VyCi0gICAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLmh0bWwgMTA4Ci1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdl
JnJhbmRvbT0xJnNpemU9MzAwOiBzY3JpcHQKLSAgICBhZGRDbGFzc1RvRGl2U3RlcDIgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLmh0bWwg
MTcKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVz
b3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDA6IHNjcmlwdAotICAgIGxvYWRE
YXRhIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWluaXRp
YXRvci5odG1sIDI5Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvbmV0d29yay1pbml0aWF0b3ItZnJvbS1jb25zb2xlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODg5NGEyMjI4OWFkNTlkNDdmMjU3YzJjN2JlMzQ5ODI0Nzcw
OTIwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW5p
dGlhdG9yLWZyb20tY29uc29sZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICsw
LDAgQEAKLVRlc3RzIHRoYXQgdGhlcmUgaXMgbm8gamF2YXNjcmlwdCBlcnJvciB3aGVuIGNvbnNv
bGUgZXZhbHVhdGlvbiBjYXVzZXMgcmVzb3VyY2UgbG9hZGluZy4KLQotQnVnIDY1NDY2Ci1QYWdl
IHJlbG9hZGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLWZyb20tY29uc29sZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3Jr
LWluaXRpYXRvci1mcm9tLWNvbnNvbGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjNmZDhiMDUyYmZlY2M4ODJjYzk5ZjA4YWIzNmExYWE4Y2VjNjM1YS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstaW5pdGlhdG9yLWZyb20tY29uc29s
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgdGVzdCA9IGZ1bmN0
aW9uKCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDEpOwotCi0gICAgZnVu
Y3Rpb24gZmluZFJlcXVlc3RCeVVSTCh1cmwpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdHMg
PSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0czsKLSAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCByZXF1ZXN0cy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgaWYgKHVybC50ZXN0
KHJlcXVlc3RzW2ldLnVybCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RzW2ldOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVxdWVzdFN0YXJ0ZWQsIG9uUmVxdWVzdCk7Ci0g
ICAgICAgIHZhciBzdHIgPSAiIjsKLSAgICAgICAgc3RyICs9ICJ2YXIgcyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7IjsKLSAgICAgICAgc3RyICs9ICJzLnNyYyA9IFwicmVz
b3VyY2VzL3NpbGVudF9zY3JpcHQuanNcIjsiOwotICAgICAgICBzdHIgKz0gImRvY3VtZW50Lmhl
YWQuYXBwZW5kQ2hpbGQocyk7IjsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVNb2RlbC5l
dmFsdWF0ZShzdHIsICJjb25zb2xlIiwgdHJ1ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVm
aW5lZCwgZnVuY3Rpb24oKXt9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvblJlcXVlc3QoZXZl
bnQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlm
ICgvc2lsZW50X3NjcmlwdC5qcy8udGVzdChyZXF1ZXN0LnVybCkpCi0gICAgICAgICAgICBzdGVw
MigpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIGlmICgh
ZmluZFJlcXVlc3RCeVVSTCgvc2lsZW50X3NjcmlwdC5qcy8pKQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnNob3coKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCB0aGVyZSBp
cyBubyBqYXZhc2NyaXB0IGVycm9yIHdoZW4gY29uc29sZSBldmFsdWF0aW9uIGNhdXNlcyByZXNv
dXJjZSBsb2FkaW5nLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NTQ2NiI+QnVnIDY1NDY2PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLWluaXRpYXRvci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLWluaXRpYXRvci5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyZjc5MGQ2YTFkOGIwOTViNGMyMmM5NGUwODNkZGY3YWM2NDZhZmYyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1pbml0aWF0b3Iu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxp
bmsgaHJlZj0icmVzb3VyY2VzL2luaXRpYXRvci5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0i
dGV4dC9jc3MiPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gYWRkQ2xhc3NUb0RpdigpCi17Ci0gICAgLy8gV2UgbmVlZCB0byBzZXRUaW1lb3V0
LCB0byBtYWtlIHN1cmUgdGhhdCBzdHlsZSByZWNhbGN1bGF0aW9uIHNjaGVkdWxpbmcKLSAgICAv
LyBpcyByZWFsbHkgdHJpZ2dlcmVkIGJ5IGFkZGluZyBhIGNsYXNzIHRvIHRoZSBkaXYuCi0gICAg
d2luZG93LnNldFRpbWVvdXQoYWRkQ2xhc3NUb0RpdlN0ZXAyLCAwKTsKLX0KLQotZnVuY3Rpb24g
YWRkQ2xhc3NUb0RpdlN0ZXAyKCkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2
LXdpdGhvdXQtY2xhc3MiKS5jbGFzc05hbWUgPSAiaW1hZ2UtYmFja2dyb3VuZC0yIjsKLX0KLQot
ZnVuY3Rpb24gbG9hZERhdGEoKQotewotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKLSAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgaWYgKHhoci5yZWFkeVN0YXRlID09PSBYTUxIdHRwUmVxdWVzdC5ET05FKQotICAgICAgICAg
ICAgcmVzb3VyY2VMb2FkZWQoKTsKLSAgICB9OwotICAgIHhoci5vcGVuKCJHRVQiLCAicmVzb3Vy
Y2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwIiwgdHJ1ZSk7Ci0g
ICAgeGhyLnNlbmQobnVsbCk7Ci19Ci0KLWZ1bmN0aW9uIHJlc291cmNlTG9hZGVkKCkKLXsKLSAg
ICBjb25zb2xlLmxvZygiRG9uZS4iKTsKLX0KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0g
ICAgSW5zcGVjdG9yVGVzdC5oYXJkUmVsb2FkUGFnZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBm
aW5kUmVxdWVzdEJ5VVJMKHVybCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0cyA9IFdlYklu
c3BlY3Rvci5uZXR3b3JrTG9nLnJlcXVlc3RzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJlcXVlc3RzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAodXJsLnRlc3QocmVxdWVz
dHNbaV0udXJsKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdHNbaV07Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBXZWJJbnNw
ZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29y
a01hbmFnZXIuRXZlbnRUeXBlcy5SZXF1ZXN0RmluaXNoZWQsIG9uUmVxdWVzdCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImFkZENsYXNzVG9EaXYoKSIsIHN0ZXAyKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvblJlcXVlc3QoZXZlbnQpCi0gICAgewotICAgICAgICB2
YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmICgvc2l6ZT0zMDAvLnRlc3QocmVx
dWVzdC51cmwpKQotICAgICAgICAgICAgc3RlcDIoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMigpCi0gICAgewotICAgICAgICBpZiAoIWZpbmRSZXF1ZXN0QnlVUkwoL3NpemU9MzAwLykp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xl
U25pZmZlcihzdGVwMyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxv
YWREYXRhKCkiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAg
ICBmdW5jdGlvbiBkdW1wSW5pdGlhdG9yKHJlcXVlc3QpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHZhciBpbml0aWF0b3IgPSByZXF1ZXN0LmluaXRpYXRvcjsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QudXJsICsgIjogIiArIGluaXRpYXRvci50eXBlKTsKLSAg
ICAgICAgICAgIGlmIChpbml0aWF0b3IudXJsKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIgICAgIiArIGluaXRpYXRvci51cmwgKyAiICIgKyBpbml0aWF0b3IubGlu
ZU51bWJlcik7Ci0gICAgICAgICAgICBpZiAoaW5pdGlhdG9yLnN0YWNrVHJhY2UpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgc3RhY2tUcmFjZSA9IGluaXRpYXRvci5zdGFja1RyYWNlOwotICAgICAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhY2tUcmFjZS5sZW5ndGg7ICsraSkgewot
ICAgICAgICAgICAgICAgICAgICB2YXIgZnJhbWUgPSBzdGFja1RyYWNlW2ldOwotICAgICAgICAg
ICAgICAgICAgICBpZiAoZnJhbWUubGluZU51bWJlcikgewotICAgICAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsgZnJhbWUuZnVuY3Rpb25OYW1lICsg
IiAiICsgZnJhbWUudXJsICsgIiAiICsgZnJhbWUubGluZU51bWJlcik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGR1bXBJbml0aWF0b3IoZmlu
ZFJlcXVlc3RCeVVSTCgvaW5pdGlhdG9yXC5jc3MvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3Io
ZmluZFJlcXVlc3RCeVVSTCgvc2l6ZT0xMDAvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmlu
ZFJlcXVlc3RCeVVSTCgvc2l6ZT0yMDAvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJl
cXVlc3RCeVVSTCgvc2l6ZT0zMDAvKSk7Ci0gICAgICAgIGR1bXBJbml0aWF0b3IoZmluZFJlcXVl
c3RCeVVSTCgvc2l6ZT00MDAvKSk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+VGVzdHMgcmVzb3VyY2VzIGluaXRpYXRvciBmb3IgaW1hZ2VzIGluaXRpYXRl
ZCBieSBJTUcgdGFnLCBzdGF0aWMgQ1NTLCBDU1MgY2xhc3MgYWRkZWQgZnJvbSBKYXZhU2NyaXB0
IGFuZCBYSFIuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY1MTA1Ij5CdWcgNjUxMDU8L2E+Ci08aW1nIHNyYz0icmVzb3VyY2VzL3Jlc291cmNl
LnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MTAwIj4KLTxkaXYgY2xhc3M9ImltYWdlLWJh
Y2tncm91bmQiPlRoaXMgZGl2IGhhcyBiYWNrZ3JvdW5kIGltYWdlIHNldCBmcm9tIENTUy48L2Rp
dj4KLTxkaXYgaWQ9ImRpdi13aXRob3V0LWNsYXNzIj5UaGlzIGRpdiB3aWxsIGhhdmUgYmFja2dy
b3VuZCBpbWFnZSBzZXQgZnJvbSBKYXZhU2NyaXB0LjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLXByZXZpZXctanNvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFiNTZjYzI5NTJjNDlk
YWVkNDYzY2MzYzdkMGIwMTlmYmIzZTFmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDMgKzAsMCBAQAotVGVzdHMgUmVxdWVzdEpTT05WaWV3IGFiaWxpdHkgdG8gcGFyc2Ug
SlNPTiBwYXNzZWQgaW4gWEhSLCBKU09OUAotCi1CdWcgNjU1NTkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1wcmV2
aWV3LWpzb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay1wcmV2aWV3LWpzb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYmJkZDhmN2M5MGZkYzAyYTllNTNmZDI5NTMwZDAyMzZkZDFmZmY3Yy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstcHJldmlldy1qc29uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoIm5ldHdvcmsiKTsKLQot
ICAgIHZhciB0ZXN0RGF0YTsKLQotICAgIHRlc3REYXRhID0gIndoaWxlKDEpOyI7Ci0gICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNl
SlNPTih0ZXN0RGF0YSksICJTaG91bGQgbm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERh
dGEgKyAiXCIuIik7Ci0KLSAgICB0ZXN0RGF0YSA9ICJ7XCJuYW1lXCI6IFwidmFsdWVcIiI7Ci0g
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3
LnBhcnNlSlNPTih0ZXN0RGF0YSksICJTaG91bGQgbm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsg
dGVzdERhdGEgKyAiXCIuIik7Ci0KLSAgICB0ZXN0RGF0YSA9ICJ7XCJuYW1lXCI6IFwidmFsdWVc
In0iOwotICAgIHZhciBwYXJzZWRKU09OID0gV2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5w
YXJzZUpTT04odGVzdERhdGEpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHBhcnNl
ZEpTT04ucHJlZml4LCAiIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocGFyc2Vk
SlNPTi5kYXRhLm5hbWUsICJ2YWx1ZSIpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxz
KHBhcnNlZEpTT04uc3VmZml4LCAiIik7Ci0KLSAgICB0ZXN0RGF0YSA9ICJ3aGlsZSgxKTsge1wi
bmFtZVwiOiBcInZhbHVlXCJ9IjsKLSAgICBwYXJzZWRKU09OID0gV2ViSW5zcGVjdG9yLlJlcXVl
c3RKU09OVmlldy5wYXJzZUpTT04odGVzdERhdGEpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
RXF1YWxzKHBhcnNlZEpTT04ucHJlZml4LCAid2hpbGUoMSk7ICIpOwotICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKHBhcnNlZEpTT04uZGF0YS5uYW1lLCAidmFsdWUiKTsKLSAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEVxdWFscyhwYXJzZWRKU09OLnN1ZmZpeCwgIiIpOwotCi0gICAgdGVz
dERhdGEgPSAiZnVuYyh7KSI7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNw
ZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTlAodGVzdERhdGEpLCAiU2hvdWxkIG5vdCBi
ZSBhYmxlIHRvIHBhcnNlIFwiIiArIHRlc3REYXRhICsgIlwiLiIpOwotCi0gICAgdGVzdERhdGEg
PSAiZnVuYyl7KCI7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFXZWJJbnNwZWN0b3Iu
UmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTlAodGVzdERhdGEpLCAiU2hvdWxkIG5vdCBiZSBhYmxl
IHRvIHBhcnNlIFwiIiArIHRlc3REYXRhICsgIlwiLiIpOwotCi0gICAgdGVzdERhdGEgPSAiZnVu
Yyh7XCJuYW1lXCI6IFwidmFsdWVcIn0iOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSgh
V2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5wYXJzZUpTT05QKHRlc3REYXRhKSwgIlNob3Vs
ZCBub3QgYmUgYWJsZSB0byBwYXJzZSBcIiIgKyB0ZXN0RGF0YSArICJcIi4iKTsKLQotICAgIHRl
c3REYXRhID0gImZ1bmN7XCJuYW1lXCI6IFwidmFsdWVcIn0pIjsKLSAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydFRydWUoIVdlYkluc3BlY3Rvci5SZXF1ZXN0SlNPTlZpZXcucGFyc2VKU09OUCh0ZXN0
RGF0YSksICJTaG91bGQgbm90IGJlIGFibGUgdG8gcGFyc2UgXCIiICsgdGVzdERhdGEgKyAiXCIu
Iik7Ci0KLSAgICB0ZXN0RGF0YSA9ICJmdW5jKHtcIm5hbWVcIjogXCJ2YWx1ZVwifSkiOwotICAg
IHZhciBwYXJzZWRKU09OUCA9IFdlYkluc3BlY3Rvci5SZXF1ZXN0SlNPTlZpZXcucGFyc2VKU09O
UCh0ZXN0RGF0YSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocGFyc2VkSlNPTlAu
cHJlZml4LCAiZnVuYygiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhwYXJzZWRK
U09OUC5kYXRhLm5hbWUsICJ2YWx1ZSIpOwotICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxz
KHBhcnNlZEpTT05QLnN1ZmZpeCwgIikiKTsKLQotICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPlRlc3RzIFJlcXVlc3RKU09OVmlldyBhYmlsaXR5IHRvIHBhcnNlIEpTT04gcGFzc2VkIGlu
IFhIUiwgSlNPTlA8L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjU1NTkiPkJ1ZyA2NTU1OTwvYT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0
d29yay1yZXF1ZXN0LXJldmlzaW9uLWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2
aXNpb24tY29udGVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY5MWJhNGY0NmI2NmQ3Y2IyNzkyZGUyMDIwM2U1M2Y1NDBkZjhhZmQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2aXNpb24tY29udGVu
dC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRlc3RzIGhvdyBy
ZXZpc2lvbiByZXF1ZXN0cyBjb250ZW50IGlmIG9yaWdpbmFsIGNvbnRlbnQgd2FzIG5vdCBsb2Fk
ZWQgeWV0LgotCi1CdWcgNjM2MzEKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0
d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2aXNp
b24tY29udGVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLXJlcXVlc3QtcmV2aXNpb24tY29udGVudC5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2FiZGYxNjg5MzA1M2JiMjMwY2ZkODlmMGU5ZGQ0MGJj
OTRkZTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1y
ZXF1ZXN0LXJldmlzaW9uLWNvbnRlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvYWRTdHlsZXNoZWV0KCkKLXsKLSAgICB2YXIg
Y3NzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOwotICAgIGNzcy5yZWwgPSAic3R5
bGVzaGVldCI7Ci0gICAgY3NzLnR5cGUgPSAidGV4dC9jc3MiOwotICAgIGNzcy5ocmVmID0gInJl
c291cmNlcy9zdHlsZS5jc3MiOwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3NzKTsK
LX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLndvcmtzcGFjZS5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlT
b3VyY2VDb2RlQWRkZWQsIHN0ZXAyKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJsb2FkU3R5bGVzaGVldCgpIik7Ci0KLSAgICB2YXIgcmVzb3VyY2U7Ci0gICAgZnVuY3Rpb24g
c3RlcDIoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgZXZlbnRVSVNvdXJjZUNvZGUgPSBldmVu
dC5kYXRhOwotICAgICAgICBpZiAoZXZlbnRVSVNvdXJjZUNvZGUub3JpZ2luVVJMKCkuaW5kZXhP
Zigic3R5bGUuY3NzIikgPT0gLTEpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZhciBy
ZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVj
dG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIHVpU291
cmNlQ29kZSA9IFdlYkluc3BlY3Rvci53b3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9yT3JpZ2luVVJM
KHJlcXVlc3QudXJsKTsKLSAgICAgICAgaWYgKCF1aVNvdXJjZUNvZGUpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIHVpU291cmNlQ29kZS5hZGRSZXZpc2lvbigiIik7Ci0gICAgICAgIHVp
U291cmNlQ29kZS5oaXN0b3J5WzBdLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMyhjb250ZW50KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQodWlTb3VyY2VDb2RlLm9yaWdpblVSTCgpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoY29udGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD5UZXN0cyBob3cgcmV2aXNpb24gcmVxdWVzdHMgY29udGVudCBpZiBvcmlnaW5hbCBj
b250ZW50IHdhcyBub3QgbG9hZGVkIHlldC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MzEiPkJ1ZyA2MzYzMTwvYT4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvbmV0d29yay1zaGFyZWQtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaGFyZWQt
d29ya2VyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE2Y2Jk
OWMwYTljYmIzNTFjNzdlNzJiYzllMzRiMzIzMzYyOTQ4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IERv
bmUuCi1UZXN0cyB0aGF0IHNoYXJlZCB3b3JrZXIgY29udGVudCBpcyBhdmFpbGFibGUgaW4gbmV0
d29yayBwYW5lbC4KLQotQnVnIDY1OTI5Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L25ldHdvcmsvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXIuanMKLXJlc291cmNlLnR5cGU6IHNjcmlw
dAotcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQK
LXJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBvbmNvbm5lY3QgPSBm
dW5jdGlvbihldmVudCkKLXsKLSAgICB2YXIgcG9ydCA9IGV2ZW50LnBvcnRzWzBdOwotICAgIHBv
cnQucG9zdE1lc3NhZ2UoIkRvbmUuIik7Ci19Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdv
cmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0
d29yay9uZXR3b3JrLXNoYXJlZC13b3JrZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMzhmMThiMDgzM2NlMzZhMDZmODIzMDdkNjE1NGViZTEwMjVmMzgyMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0
d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkRGF0YSgpCi17
Ci0gICAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoInJlc291cmNlcy9zaGFyZWQtd29y
a2VyLmpzIik7Ci0gICAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gd29ya2VyTG9hZGVkOwotfQot
Ci1mdW5jdGlvbiB3b3JrZXJMb2FkZWQoZXZlbnQpCi17Ci0gICAgY29uc29sZS5sb2coZXZlbnQu
ZGF0YSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBj
b3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQot
ICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25l
cy4KLSAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgibG9hZERhdGEoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7
Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJl
cXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFd
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UudHlwZTogIiArIHJlcXVlc3QxLnR5
cGUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBi
ZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0gICAgICAg
IHJlcXVlc3QxLnJlcXVlc3RDb250ZW50KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMygpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNl
LmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7
Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQg
c2hhcmVkIHdvcmtlciBjb250ZW50IGlzIGF2YWlsYWJsZSBpbiBuZXR3b3JrIHBhbmVsLjwvcD4K
LTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkyOSI+
QnVnIDY1OTI5PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpZGViYXItd2lk
dGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLXNpZGViYXItd2lkdGgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1MmNhZWRmODkwZjA2NGUxNTNjYWQyMmNlY2FiYzFiYTc0ZjNj
MmViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaWRl
YmFyLXdpZHRoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKLVRlc3RzIG5ldHdvcmsgcGFuZWwg
c2lkZWJhciB3aWR0aCB3aXRoIGFuZCB3aXRob3V0IHByZWZlcmVuY2Ugc2V0LgotCi1CdWcgNjUy
NTYKLVNpZGViYXIgd2lkdGg6IDIwMAotU2lkZWJhciB3aWR0aDogMjQyCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29y
ay1zaWRlYmFyLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2lkZWJhci13aWR0aC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwYjBmYzAzNDE2Zjg4ZGExNGM1YWYwYWU1MmE3MzhjNzU0OGI2ZThj
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay1zaWRlYmFy
LXdpZHRoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUigiR0VUIiwgInJlc291cmNl
cy9yZXNvdXJjZS5waHAiLCB0cnVlLCBzdGVwMik7Ci0KLSAgICB2YXIgb2xkU2V0dGluZzsKLSAg
ICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcGFuZWwgPSBXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKTsKLSAgICAgICAgdmFyIHNldHRpbmcgPSBXZWJJbnNwZWN0b3Iu
c2V0dGluZ3NbcGFuZWwuX3NpZGViYXJXaWR0aFNldHRpbmdOYW1lKCldOwotICAgICAgICB2YXIg
cmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3Bl
Y3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotCi0gICAgICAgIG9s
ZFNldHRpbmcgPSBzZXR0aW5nLmdldCgpOwotICAgICAgICBwYW5lbC5zaG93KCk7Ci0KLSAgICAg
ICAgc2V0dGluZy5zZXQodW5kZWZpbmVkKTsKLSAgICAgICAgcGFuZWwuX3Nob3dSZXF1ZXN0KHJl
cXVlc3QpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2lkZWJhciB3aWR0aDog
IiArIHBhbmVsLnNpZGViYXJFbGVtZW50Lm9mZnNldFdpZHRoKTsKLSAgICAgICAgcGFuZWwuX3Rv
Z2dsZUdyaWRNb2RlKCk7Ci0KLSAgICAgICAgc2V0dGluZy5zZXQoMjQyKTsKLSAgICAgICAgcGFu
ZWwuX3Nob3dSZXF1ZXN0KHJlcXVlc3QpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiU2lkZWJhciB3aWR0aDogIiArIHBhbmVsLnNpZGViYXJFbGVtZW50Lm9mZnNldFdpZHRoKTsK
LSAgICAgICAgcGFuZWwuX2Nsb3NlVmlzaWJsZVJlcXVlc3QocmVxdWVzdCk7Ci0KLSAgICAgICAg
c2V0dGluZy5zZXQob2xkU2V0dGluZyk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPlRlc3RzIG5ldHdvcmsgcGFuZWwgc2lkZWJhciB3aWR0aCB3aXRoIGFuZCB3
aXRob3V0IHByZWZlcmVuY2Ugc2V0LjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTI1NiI+QnVnIDY1MjU2PC9hPgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLXNpemUtY2h1bmtlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVua2Vk
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTZjNTE5YmJhYTgw
ZjYxNzZkMTkyZmEwYWU4OTAxZTkwZDA1Yzc5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVua2VkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDggKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBEb25lLgotVGVz
dHMgbmV0d29yayByZXNvdXJjZSBzaXplIHJlcG9ydGluZyBmb3IgY2h1bmtlZCB0cmFuc2ZlciBl
bmNvZGluZy4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVz
b3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNpemU9NTAwJmd6aXA9dHJ1ZSZjaHVua2Vk
PXRydWUKLXJlc291cmNlU2l6ZTogNTAwCi10cmFuc2ZlclNpemU6IDkzNwotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdv
cmstc2l6ZS1jaHVua2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1jaHVua2VkLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGEyNWNhMGQxMzZhMDU1MWY5YTJkMTdhNDM2ZTRhZDgyZjM4YmUzYTcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUtY2h1
bmtlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gbG9hZEltYWdlcygpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaW1nIik7Ci0gICAgaW1hZ2Uub25sb2FkID0gcmVzb3VyY2VMb2FkZWQ7Ci0gICAg
aW1hZ2Uuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWlt
YWdlJnNpemU9NTAwJmd6aXA9dHJ1ZSZjaHVua2VkPXRydWUiKTsKLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGltYWdlKTsKLX0KLQotZnVuY3Rpb24gcmVzb3VyY2VMb2FkZWQoKQotewot
ICAgIGNvbnNvbGUubG9nKCJEb25lLiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJsb2FkSW1hZ2VzKCkiKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
LSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29y
ayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0
aCAtIDFdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2VTaXplOiAiICsgcmVxdWVz
dDEucmVzb3VyY2VTaXplKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInRyYW5z
ZmVyU2l6ZTogIiArIHJlcXVlc3QxLnRyYW5zZmVyU2l6ZSk7Ci0KLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIG5ldHdvcmsgcmVzb3VyY2Ugc2l6ZSByZXBv
cnRpbmcgZm9yIGNodW5rZWQgdHJhbnNmZXIgZW5jb2RpbmcuPC9wPgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLXNpemUtZXhwZWN0ZWQtY2h1bmtlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3Rl
ZC1jaHVua2VkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRiOWIwM2MyMTk5
YWRiNDllNTA5NzJlZjU2ZDMwMDMyNTE4YjUyNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3RlZC1jaHVua2VkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDggKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBEb25lLgotVGVz
dHMgbmV0d29yayByZXNvdXJjZSBzaXplIHJlcG9ydGluZy4KLQotCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdl
JnNpemU9NTAwJmd6aXA9dHJ1ZSVjaHVua2VkPXRydWUKLXJlc291cmNlU2l6ZTogNTAwCi10cmFu
c2ZlclNpemU6IDIwOAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MzM2YWFlMzdjNjQ2
MTkwMWFmMmNiYTk4MjJjMzU1ZjBjOGM4M2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9uZXR3b3JrLXNpemUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBEb25lLgotVGVzdHMgbmV0d29y
ayByZXNvdXJjZSBzaXplIHJlcG9ydGluZy4KLQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnNpemU9NTAw
Ci1yZXNvdXJjZVNpemU6IDUwMAotdHJhbnNmZXJTaXplOiA1MDAKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Um
c2l6ZT01MDAmZ3ppcD10cnVlCi1yZXNvdXJjZVNpemU6IDUwMAotdHJhbnNmZXJTaXplOiAyMDIK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9uZXR3b3JrLXNpemUtc3luYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFmYWU5ZTM1OWEzYmVhMjhk
MWI0MzIzMjE4ZGU4OGZhZWUwMDk1MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDcgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDEKLVRlc3Rz
IG5ldHdvcmsgcmVzb3VyY2Ugc2l6ZSByZXBvcnRpbmcgZm9yIHN5bmNocm9ub3VzIHJlcXVlc3Rz
LgotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jl
c291cmNlLnBocD90eXBlPWltYWdlJnNpemU9NTAwJmd6aXA9dHJ1ZSZjaHVua2VkPXRydWUKLXJl
c291cmNlU2l6ZTogNTAwCi10cmFuc2ZlclNpemU6IDkzNwotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS1z
eW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmstc2l6ZS1zeW5jLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDgyNTk5OWFjYzAyOWYyNzAwMjllYjdkYTZhZTY4OWFiZTgyOWZmMTQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUtc3luYy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0
b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2Umc2l6ZT01MDAmZ3ppcD10cnVlJmNodW5rZWQ9dHJ1ZSIsIGZhbHNlLCBzdGVwMik7Ci0K
LSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5l
dHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJl
c291cmNlU2l6ZTogIiArIHJlcXVlc3QxLnJlc291cmNlU2l6ZSk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJ0cmFuc2ZlclNpemU6ICIgKyByZXF1ZXN0MS50cmFuc2ZlclNpemUp
OwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBuZXR3
b3JrIHJlc291cmNlIHNpemUgcmVwb3J0aW5nIGZvciBzeW5jaHJvbm91cyByZXF1ZXN0cy48L3A+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXNpemUuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY1M2NhY2VmNmU5NDk2YTM0NzI0MTJmMTY2
ODFmZTQyNDMzMWNmNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstc2l6ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gbG9hZEltYWdlcygpCi17Ci0gICAgdmFyIGltYWdlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW1nIik7Ci0gICAgaW1hZ2Uub25sb2FkID0gcmVzb3VyY2VMb2FkZWQ7
Ci0gICAgaW1hZ2Uuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90
eXBlPWltYWdlJnNpemU9NTAwIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWFn
ZSk7Ci0KLSAgICB2YXIgaW1hZ2UyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Ci0g
ICAgaW1hZ2UyLm9ubG9hZCA9IHJlc291cmNlTG9hZGVkOwotICAgIGltYWdlMi5zZXRBdHRyaWJ1
dGUoInNyYyIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2Umc2l6ZT01MDAmZ3pp
cD10cnVlIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWFnZTIpOwotfQotCi12
YXIgbG9hZGVkUmVzb3VyY2VDb3VudCA9IDA7Ci1mdW5jdGlvbiByZXNvdXJjZUxvYWRlZCgpCi17
Ci0gICAgaWYgKCsrbG9hZGVkUmVzb3VyY2VDb3VudCA9PT0gMikgewotICAgICAgICBjb25zb2xl
LmxvZygiRG9uZS4iKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3Bl
Y3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImxvYWRJbWFnZXMoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAg
IHsKLSAgICAgICAgLy8gaW5zcGVjdG9yLXRlc3QuanMgYXBwZWFycyBpbiBuZXR3b3JrIHBhbmVs
IG9jY2FzaW9uYWxseSBpbiBTYWZhcmkgb24KLSAgICAgICAgLy8gTWFjLCBzbyBjaGVja2luZyB0
d28gbGFzdCByZXNvdXJjZXMuCi0gICAgICAgIHZhciByZXF1ZXN0c0NvdW50ID0gV2ViSW5zcGVj
dG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoOwotICAgICAgICB2YXIgcmVxdWVz
dDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50
IC0gMl07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QxLnVybCk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZVNpemU6ICIgKyByZXF1ZXN0
MS5yZXNvdXJjZVNpemUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidHJhbnNm
ZXJTaXplOiAiICsgKHJlcXVlc3QxLnRyYW5zZmVyU2l6ZSAtIHJlcXVlc3QxLnJlc3BvbnNlSGVh
ZGVyc1NpemUpKTsKLQotICAgICAgICB2YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KHJlcXVlc3QyLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJyZXNvdXJjZVNpemU6ICIgKyByZXF1ZXN0Mi5yZXNvdXJjZVNpemUpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgidHJhbnNmZXJTaXplOiAiICsgKHJlcXVlc3QyLnRy
YW5zZmVyU2l6ZSAtIHJlcXVlc3QyLnJlc3BvbnNlSGVhZGVyc1NpemUpKTsKLQotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgbmV0d29yayByZXNvdXJjZSBz
aXplIHJlcG9ydGluZy48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstdGltaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay10aW1pbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmYWRkZDFlNjY4ZDU1YTJmOGMyNDM0MzdhNTRlYzJkZWQ4MmE2ZjFjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay10aW1pbmctZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjI6IERvbmUuCi1UZXN0cyBuZXR3b3JrIHBhbmVsIHRpbWluZy4KLQotaHR0cDovLzEyNy4w
LjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1q
cyZ3YWl0PTEwMCZzZW5kPTIwMCZqc2RlbGF5PTMwMCZqc2NvbnRlbnQ9cmVzb3VyY2VMb2FkZWQo
KQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNv
dXJjZS5waHA/dHlwZT1qcyZ3YWl0PTEwMCZzZW5kPTEwMCZqc2NvbnRlbnQ9cmVzb3VyY2VMb2Fk
ZWQoKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstdGltaW5nLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZWIyYzJkODI4ZmU2YmYxYzI2Y2IyODEwMzM1MjgyZWU5
ZWQ1NTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXRp
bWluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gbG9hZFNjcmlwdHMoKQotewotICAgIC8vIFdhaXQgMTAwIG1zLCB0aGVuIHNlcnZl
IGZvciAyMDBtcyBmaWxlIGNvbnRhaW5pbmcgMzAwbXMgbG9vcC4KLSAgICB2YXIgc2NyaXB0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgc2NyaXB0LnNldEF0dHJpYnV0
ZSgic3JjIiwgInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1qcyZ3YWl0PTEwMCZzZW5kPTIw
MCZqc2RlbGF5PTMwMCZqc2NvbnRlbnQ9cmVzb3VyY2VMb2FkZWQoKSIpOwotICAgIGRvY3VtZW50
LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKLQotICAgIC8vIFdhaXQgMTAwIG1zLCB0aGVuIHNl
cnZlIGZvciAxMDBtcyBhbmQgY2FsbCBjb25zb2xlLmxvZyBpbiBjb250ZW50LgotICAgIHNjcmlw
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNjcmlwdC5zZXRBdHRy
aWJ1dGUoInNyYyIsICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9anMmd2FpdD0xMDAmc2Vu
ZD0xMDAmanNjb250ZW50PXJlc291cmNlTG9hZGVkKCkiKTsKLSAgICBkb2N1bWVudC5oZWFkLmFw
cGVuZENoaWxkKHNjcmlwdCk7Ci19Ci0KLXZhciBsb2FkZWRSZXNvdXJjZUNvdW50ID0gMDsKLWZ1
bmN0aW9uIHJlc291cmNlTG9hZGVkKCkKLXsKLSAgICBpZiAoKytsb2FkZWRSZXNvdXJjZUNvdW50
ID09PSAyKQotICAgICAgICBjb25zb2xlLmxvZygiRG9uZS4iKTsKLX0KLQotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFNjcmlwdHMoKSIpOwotCi0gICAgZnVu
Y3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgLy8gaW5zcGVjdG9yLXRlc3QuanMgYXBwZWFy
cyBpbiBuZXR3b3JrIHBhbmVsIG9jY2FzaW9uYWxseSBpbiBTYWZhcmkgb24KLSAgICAgICAgLy8g
TWFjLCBzbyBjaGVja2luZyB0d28gbGFzdCByZXF1ZXN0cy4KLSAgICAgICAgdmFyIHJlcXVlc3Rz
ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdHM7Ci0gICAgICAgIHZhciByZXF1ZXN0
c0NvdW50ID0gcmVxdWVzdHMubGVuZ3RoOwotICAgICAgICB2YXIgcmVxdWVzdDEgPSByZXF1ZXN0
c1tyZXF1ZXN0c0NvdW50IC0gMl07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJl
cXVlc3QxLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwo
cmVxdWVzdDEubGF0ZW5jeSAqIDEwMDAsIDEwMCwgIkxhdGVuY3kgb2YgdGhlIGZpcnN0IHJlc291
cmNlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVz
dDEuZHVyYXRpb24gKiAxMDAwLCAzMDAsICJEdXJhdGlvbiBvZiB0aGUgZmlyc3QgcmVzb3VyY2Ui
KTsKLQotICAgICAgICB2YXIgcmVxdWVzdDIgPSByZXF1ZXN0c1tyZXF1ZXN0c0NvdW50IC0gMV07
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlcXVlc3QyLnVybCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwocmVxdWVzdDIubGF0ZW5jeSAqIDEw
MDAsIDEwMCwgIkxhdGVuY3kgb2YgdGhlIHNlY29uZCByZXNvdXJjZSIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHJlcXVlc3QyLmR1cmF0aW9uICogMTAwMCwg
MTAwLCAiRHVyYXRpb24gb2YgdGhlIHNlY29uZCByZXNvdXJjZSIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgbmV0d29yayBwYW5lbCB0aW1pbmcuPC9w
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmst
d29ya2VyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JlYTQ1
NDM0MDUyYTI4YWE2YjMzZGRjZDU3Mzg4YjUzMmU0OTg1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDEwICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogRG9uZS4KLVRl
c3RzIHRoYXQgd29ya2VyIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGluIG5ldHdvcmsgcGFuZWwuCi0K
LUJ1ZyA2NTkyOQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy93b3JrZXIuanMKLXJlc291cmNlLnR5cGU6IHNjcmlwdAotcmVzb3VyY2UuY29udGVudCBi
ZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0
ZXIgcmVxdWVzdGluZyBjb250ZW50OiBwb3N0TWVzc2FnZSgiRG9uZS4iKTsKLQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmstd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmstd29ya2VyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDNhZTRjNmU0ZWRlODA0MDQwZDIxYzlmMmVlYjAzNWJlYzA2OTYyZjguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXdvcmtlci5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkRGF0YSgpCi17Ci0gICAg
dmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXIuanMiKTsKLSAgICB3b3Jr
ZXIub25tZXNzYWdlID0gd29ya2VyTG9hZGVkOwotfQotCi1mdW5jdGlvbiB3b3JrZXJMb2FkZWQo
ZXZlbnQpCi17Ci0gICAgY29uc29sZS5sb2coZXZlbnQuZGF0YSk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0
aCBvdGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRv
IHJlc2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KLSAgICBJbnNwZWN0b3JUZXN0LnJl
c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgp
Ci0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZERhdGEoKSIpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9
IFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5l
bCgibmV0d29yayIpLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChyZXF1ZXN0MS51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgicmVzb3VyY2UudHlwZTogIiArIHJlcXVlc3QxLnR5cGUpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50
OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0gICAgICAgIHJlcXVlc3QxLnJlcXVlc3RDb250ZW50
KHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICB2
YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJ
bnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGlu
ZyBjb250ZW50OiAiICsgcmVxdWVzdDEuY29udGVudCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgd29ya2VyIGNvbnRlbnQgaXMgYXZhaWxh
YmxlIGluIG5ldHdvcmsgcGFuZWwuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY1OTI5Ij5CdWcgNjU5Mjk8L2E+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWRvdWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5j
LWRvdWJsZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwYTZl
ZGE4ODljOWFjY2VhNzc3OGZlMDMzZGFkY2QzNDJkZTQxNWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1kb3VibGUtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjog
WEhSIGxvYWRlZDogMQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6IDIKLVRl
c3RzIHJlc3BvbnNlcyBpbiBuZXR3b3JrIHRhYiBmb3IgdHdvIFhIUnMgc2VudCB3aXRob3V0IGFu
eSBkZWxheSBiZXR3ZWVuIHRoZW0uIEJ1ZyA5MTYzMAotcmVzb3VyY2UxLmNvbnRlbnQ6IHJlcXVl
c3QxCi1yZXNvdXJjZTIuY29udGVudDogcmVxdWVzdDIKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1hc3lu
Yy1kb3VibGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZG91YmxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDBiY2U4NGFhNzlhNWM4ZTNlZTkzODFjMTc5MzU3ZjEwMjAwNzFhNGIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy1k
b3VibGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVz
dCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRo
IG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8g
cmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRlc3QucmVz
ZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJQ
T1NUIiwgInJlc291cmNlcy9lY2hvLXBheWxvYWQucGhwIiwgdHJ1ZSwgJ3JlcXVlc3QxJywgc3Rl
cDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QubWFrZVNpbXBsZVhIUldpdGhQYXlsb2FkKCJQT1NUIiwgInJlc291cmNlcy9lY2hv
LXBheWxvYWQucGhwIiwgdHJ1ZSwgJ3JlcXVlc3QyJywgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0MSA9IFdlYkluc3BlY3Rv
ci5wYW5lbCgibmV0d29yayIpLnJlcXVlc3RzW1dlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIp
LnJlcXVlc3RzLmxlbmd0aCAtIDJdOwotICAgICAgICB2YXIgcmVxdWVzdDIgPSBXZWJJbnNwZWN0
b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsi
KS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgcmVxdWVzdDEucmVxdWVzdENvbnRlbnQo
c3RlcDQpOwotICAgICAgICByZXF1ZXN0Mi5yZXF1ZXN0Q29udGVudChzdGVwNCk7Ci0gICAgfQot
Ci0gICAgdmFyIHRvTG9hZCA9IDI7Ci0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAg
ICAgaWYgKC0tdG9Mb2FkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB2YXIgcmVxdWVz
dDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3Iu
cGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAyXTsKLSAgICAgICAgdmFyIHJlcXVl
c3QyID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9y
LnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZTEuY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzb3VyY2UyLmNvbnRlbnQ6ICIg
KyByZXF1ZXN0Mi5jb250ZW50KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJl
cXVlc3QxLmNvbnRlbnQgPT09ICdyZXF1ZXN0MScgJiYgcmVxdWVzdDIuY29udGVudCA9PT0gJ3Jl
cXVlc3QyJyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UZXN0cyBy
ZXNwb25zZXMgaW4gbmV0d29yayB0YWIgZm9yIHR3byBYSFJzIHNlbnQgd2l0aG91dCBhbnkgZGVs
YXkgYmV0d2VlbiB0aGVtLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkxNjMwIj5CdWcgOTE2MzA8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25l
dHdvcmsteGhyLWFzeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDE1N2MxNDAzYzUzNzQwZWE1YzZjNjFmNDZh
NjUxN2M4YzJhNWFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0
d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotVGVzdHMgWEhSIG5ldHdv
cmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBmb3IgYXN5bmNocm9ub3VzIHJlcXVlc3RzLiBC
dWcgNjEyMDUKLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291
cmNlcy9yZXNvdXJjZS5waHAKLXJlc291cmNlLnR5cGU6IHhocgotcmVzb3VyY2UuY29udGVudCBi
ZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKLXJlc291cmNlLmNvbnRlbnQgYWZ0
ZXIgcmVxdWVzdGluZyBjb250ZW50OiBIZWxsbyB3b3JsZAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLWFz
eW5jLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL25ldHdvcmsteGhyLWFzeW5jLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFhZjkzZTA4MjE3MGJiNjUyMjcyZTQ4NjQ5YzZlZWJiMDlmOTBlY2MuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1hc3luYy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNDMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBTaW5j
ZSB0aGlzIHRlc3QgY291bGQgYmUgcnVuIHRvZ2V0aGVyIHdpdGggb3RoZXIgaW5zcGVjdG9yIGJh
Y2tlbmQgY2FjaGUKLSAgICAvLyB0ZXN0cywgd2UgbmVlZCB0byByZXNldCBzaXplIGxpbWl0cyB0
byBkZWZhdWx0IG9uZXMuCi0gICAgSW5zcGVjdG9yVGVzdC5yZXNldEluc3BlY3RvclJlc291cmNl
c0RhdGEoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAicmVzb3VyY2VzL3Jlc291cmNlLnBocCIs
IHRydWUsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAg
ICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEudXJsKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIgKyByZXF1ZXN0MS50eXBlKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLmNvbnRlbnQgYmVmb3Jl
IHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwgIlJlc291cmNlIGxvYWRpbmcg
ZmFpbGVkLiIpOwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QxID0g
V2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVs
KCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiAr
IHJlcXVlc3QxLmNvbnRlbnQpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci0gPHA+Ci0gVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBm
b3IgYXN5bmNocm9ub3VzIHJlcXVlc3RzLgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYxMjA1Ij5CdWcgNjEyMDU8L2E+Ci08L3A+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXJlcGxheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXJlcGxh
eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyOTcxYWU2OGZj
NGUxYjM2NjYzZTkzNjdhZmU3YzE4YjA5YzUxMDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1yZXBsYXktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsNjAgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBsb2FkZWQ6
IDEKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiAyCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhIUiBs
b2FkZWQ6IDQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiA1Ci1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRlZDogNgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6
IFhIUiBsb2FkZWQ6IDcKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBYSFIgbG9hZGVkOiA4Ci1U
ZXN0cyBYSFIgcmVwbGF5aW5nLiBCdWcgOTUxODcKLQotUnVubmluZzogdGVzdEdldFN0YXRpY0Fz
eW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL2VtcHR5Lmh0bWwKLSAgICBy
ZXF1ZXN0TWV0aG9kOiBHRVQKLSAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVlOiBoZWFkZXJW
YWx1ZQotCi1SdW5uaW5nOiB0ZXN0R2V0U3RhdGljU3luYwotRHVtcGluZyByZXF1ZXN0OiAKLSAg
ICB1cmw6IGh0dHA6Ly91c2VyOnBhc3N3b3JkQDEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3
b3JrL3Jlc291cmNlcy9lbXB0eS5odG1sCi0gICAgcmVxdWVzdE1ldGhvZDogR0VUCi0gICAgdGVz
dCByZXF1ZXN0IGhlYWRlciB2YWx1ZTogaGVhZGVyVmFsdWUKLQotUnVubmluZzogdGVzdEdldENh
Y2hlZEFzeW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0cDovL3VzZXI6cGFzc3dv
cmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS1jYWNo
ZWQucGhwCi0gICAgcmVxdWVzdE1ldGhvZDogR0VUCi0gICAgdGVzdCByZXF1ZXN0IGhlYWRlciB2
YWx1ZTogaGVhZGVyVmFsdWUKLQotUnVubmluZzogdGVzdEdldENhY2hlZFN5bmMKLUR1bXBpbmcg
cmVxdWVzdDogCi0gICAgdXJsOiBodHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hlZC5waHAKLSAgICByZXF1ZXN0
TWV0aG9kOiBHRVQKLSAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVlOiBoZWFkZXJWYWx1ZQot
Ci1SdW5uaW5nOiB0ZXN0R2V0UmFuZG9tQXN5bmMKLUR1bXBpbmcgcmVxdWVzdDogCi0gICAgdXJs
OiBodHRwOi8vdXNlcjpwYXNzd29yZEAxMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvcmFuZG9tLnBocAotICAgIHJlcXVlc3RNZXRob2Q6IEdFVAotICAgIHRlc3QgcmVx
dWVzdCBoZWFkZXIgdmFsdWU6IGhlYWRlclZhbHVlCi0KLVJ1bm5pbmc6IHRlc3RHZXRSYW5kb21T
eW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVybDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS5waHAKLSAgICBy
ZXF1ZXN0TWV0aG9kOiBHRVQKLSAgICB0ZXN0IHJlcXVlc3QgaGVhZGVyIHZhbHVlOiBoZWFkZXJW
YWx1ZQotCi1SdW5uaW5nOiB0ZXN0UG9zdEFzeW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVy
bDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2VzL3JhbmRvbS5waHAKLSAgICByZXF1ZXN0Rm9ybURhdGE6IHBheWxvYWQKLSAgICBy
ZXF1ZXN0TWV0aG9kOiBQT1NUCi0gICAgdGVzdCByZXF1ZXN0IGhlYWRlciB2YWx1ZTogaGVhZGVy
VmFsdWUKLQotUnVubmluZzogdGVzdFBvc3RTeW5jCi1EdW1waW5nIHJlcXVlc3Q6IAotICAgIHVy
bDogaHR0cDovL3VzZXI6cGFzc3dvcmRAMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2VzL3JhbmRvbS5waHAKLSAgICByZXF1ZXN0Rm9ybURhdGE6IHBheWxvYWQKLSAgICBy
ZXF1ZXN0TWV0aG9kOiBQT1NUCi0gICAgdGVzdCByZXF1ZXN0IGhlYWRlciB2YWx1ZTogaGVhZGVy
VmFsdWUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1yZXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItcmVwbGF5Lmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmZjU4ZDc1ODY5ZGMwMWI4MzU2NDc3NGNi
MzQ5Y2MyNDY4YTRhNDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9u
ZXR3b3JrLXhoci1yZXBsYXkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIG5ldHdvcmtQYW5lbCA9IFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwoIm5ldHdvcmsiKTsKLQotICAgIGZ1bmN0aW9uIGxhc3RSZXF1ZXN0KCkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBuZXR3b3JrUGFuZWwucmVxdWVzdHNbbmV0d29ya1BhbmVsLnJl
cXVlc3RzLmxlbmd0aCAtIDFdOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBSZXF1ZXN0KHJl
cXVlc3QpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyBy
ZXF1ZXN0OiAiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB1cmw6ICIg
KyByZXF1ZXN0LnVybCk7Ci0gICAgICAgIGlmIChyZXF1ZXN0LnJlcXVlc3RGb3JtRGF0YSkKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgcmVxdWVzdEZvcm1EYXRhOiAi
ICsgcmVxdWVzdC5yZXF1ZXN0Rm9ybURhdGEpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiICAgIHJlcXVlc3RNZXRob2Q6ICIgKyByZXF1ZXN0LnJlcXVlc3RNZXRob2QpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIHRlc3QgcmVxdWVzdCBoZWFkZXIgdmFs
dWU6ICIgKyByZXF1ZXN0LnJlcXVlc3RIZWFkZXJWYWx1ZSgiaGVhZGVyTmFtZSIpKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBhc3NlcnRSZXF1ZXN0RXF1YWwocmVxdWVzdDEsIHJlcXVlc3QyKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEudXJsLCBy
ZXF1ZXN0Mi51cmwsICJSZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCB1cmwiKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEucmVxdWVzdEZvcm1EYXRhLCByZXF1ZXN0
Mi5yZXF1ZXN0Rm9ybURhdGEsICJSZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCByZXF1ZXN0Rm9ybURh
dGEiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVxdWVzdDEucmVxdWVz
dE1ldGhvZCwgcmVxdWVzdDIucmVxdWVzdE1ldGhvZCwgIlJlcXVlc3RzIGhhdmUgZGlmZmVyZW50
IHJlcXVlc3RNZXRob2QiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMocmVx
dWVzdDEucmVxdWVzdEhlYWRlcnNUZXh0LCByZXF1ZXN0Mi5yZXF1ZXN0SGVhZGVyc1RleHQsICJS
ZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCByZXF1ZXN0SGVhZGVyc1RleHQiKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiB0ZXN0WEhSUmVwbGF5KG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dv
cmQsIGhlYWRlcnMsIHdpdGhDcmVkZW50aWFscywgcGF5bG9hZCwgY2FsbGJhY2spCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0Lm1ha2VYSFIobWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29yZCwgaGVh
ZGVycywgd2l0aENyZWRlbnRpYWxzLCBwYXlsb2FkLCBzdGVwMik7Ci0gICAgICAgIH0KLQotICAg
ICAgICB2YXIgb3JpZ2luYWxSZXF1ZXN0OwotICAgICAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdCA9IGxhc3RSZXF1ZXN0KCk7Ci0gICAg
ICAgICAgICBkdW1wUmVxdWVzdChvcmlnaW5hbFJlcXVlc3QpOwotICAgICAgICAgICAgTmV0d29y
a0FnZW50LnJlcGxheVhIUihvcmlnaW5hbFJlcXVlc3QucmVxdWVzdElkKTsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJv
dG90eXBlLCAiX2FwcGVuZFJlcXVlc3QiLCBzdGVwMyk7Ci0gICAgICAgIH0KLQotICAgICAgICBm
dW5jdGlvbiBzdGVwMygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXBsYXllZFJlcXVl
c3QgPSBsYXN0UmVxdWVzdCgpOwotICAgICAgICAgICAgYXNzZXJ0UmVxdWVzdEVxdWFsKG9yaWdp
bmFsUmVxdWVzdCwgcmVwbGF5ZWRSZXF1ZXN0KTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLQotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAg
ICAgICAgZnVuY3Rpb24gdGVzdEdldFN0YXRpY0FzeW5jKG5leHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHRlc3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJjZXMvZW1wdHkuaHRtbCIsIHRydWUs
ICJ1c2VyIiwgInBhc3N3b3JkIiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFs
c2UsIHVuZGVmaW5lZCwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVz
dEdldFN0YXRpY1N5bmMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdGVzdFhIUlJlcGxh
eSgiR0VUIiwgInJlc291cmNlcy9lbXB0eS5odG1sIiwgZmFsc2UsICJ1c2VyIiwgInBhc3N3b3Jk
IiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsIHVuZGVmaW5lZCwgbmV4
dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEdldENhY2hlZEFzeW5jKG5l
eHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJj
ZXMvcmFuZG9tLWNhY2hlZC5waHAiLCB0cnVlLCAidXNlciIsICJwYXNzd29yZCIsIFtbImhlYWRl
ck5hbWUiLCAiaGVhZGVyVmFsdWUiXV0sIGZhbHNlLCB1bmRlZmluZWQsIG5leHQpOwotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RHZXRDYWNoZWRTeW5jKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIkdFVCIsICJyZXNvdXJjZXMvcmFuZG9tLWNh
Y2hlZC5waHAiLCBmYWxzZSwgInVzZXIiLCAicGFzc3dvcmQiLCBbWyJoZWFkZXJOYW1lIiwgImhl
YWRlclZhbHVlIl1dLCBmYWxzZSwgdW5kZWZpbmVkLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAg
ICAgICBmdW5jdGlvbiB0ZXN0R2V0UmFuZG9tQXN5bmMobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgdGVzdFhIUlJlcGxheSgiR0VUIiwgInJlc291cmNlcy9yYW5kb20ucGhwIiwgdHJ1ZSwg
InVzZXIiLCAicGFzc3dvcmQiLCBbWyJoZWFkZXJOYW1lIiwgImhlYWRlclZhbHVlIl1dLCBmYWxz
ZSwgdW5kZWZpbmVkLCBuZXh0KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
R2V0UmFuZG9tU3luYyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB0ZXN0WEhSUmVwbGF5
KCJHRVQiLCAicmVzb3VyY2VzL3JhbmRvbS5waHAiLCBmYWxzZSwgInVzZXIiLCAicGFzc3dvcmQi
LCBbWyJoZWFkZXJOYW1lIiwgImhlYWRlclZhbHVlIl1dLCBmYWxzZSwgdW5kZWZpbmVkLCBuZXh0
KTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0UG9zdEFzeW5jKG5leHQpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHRlc3RYSFJSZXBsYXkoIlBPU1QiLCAicmVzb3VyY2VzL3Jh
bmRvbS5waHAiLCB0cnVlLCAidXNlciIsICJwYXNzd29yZCIsIFtbImhlYWRlck5hbWUiLCAiaGVh
ZGVyVmFsdWUiXV0sIGZhbHNlLCAicGF5bG9hZCIsIG5leHQpOwotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RQb3N0U3luYyhuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB0
ZXN0WEhSUmVwbGF5KCJQT1NUIiwgInJlc291cmNlcy9yYW5kb20ucGhwIiwgZmFsc2UsICJ1c2Vy
IiwgInBhc3N3b3JkIiwgW1siaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSJdXSwgZmFsc2UsICJw
YXlsb2FkIiwgbmV4dCk7Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGVzdHMgWEhSIHJlcGxheWluZy4KLTxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTE4NyI+QnVnIDk1
MTg3PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVybC1hcy1t
YWluLXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwtYXMtbWFpbi1yZXNvdXJj
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5OGUzMDlhYmQx
YjJlYzk4ZmEyY2QzY2U5YjY5NTg2MjE1NmExODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291cmNlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY6IFhIUiBsb2FkZWQ6IDEKLVRlc3RzIHRoYXQgWEhScyB3aXRoIHRoZSBzYW1lIHVybCBh
cyBhIG1haW4gcmVzb3VyY2UgaGF2ZSBjb3JyZWN0IGNhdGVnb3J5LgotCi1CdWcgNjg2NDgKLXho
cgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL25ldHdvcmsteGhyLXNhbWUtdXJsLWFzLW1haW4tcmVzb3VyY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14
aHItc2FtZS11cmwtYXMtbWFpbi1yZXNvdXJjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzYmRmY2FjMDdjOGNmZDEzMzJhZjY3ZmY3MGJhMGY1ZDNiYjNiZTBkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwtYXMt
bWFpbi1yZXNvdXJjZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJu
ZXR3b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291cmNlLmh0bWwiLCB0cnVlLCBzdGVwMik7
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBX
ZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQocmVxdWVzdDEudHlwZS5uYW1lKCkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCBYSFJzIHdpdGggdGhlIHNhbWUgdXJsIGFzIGEg
bWFpbiByZXNvdXJjZSBoYXZlIGNvcnJlY3QgY2F0ZWdvcnkuPC9wPgotPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ4Ij5CdWcgNjg2NDg8L2E+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXho
ci1zeW5jLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGE2NWY3
YjlkY2I2MmI0NjU4YmZkMTljODRjNzRkODE3ZTU5ZjcwMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL25ldHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsOCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWEhSIGxvYWRl
ZDogMQotVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBmb3Igc3lu
Y2hyb25vdXMgcmVxdWVzdHMuIEJ1ZyA2MTIwNQotCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocAotcmVzb3VyY2UudHlwZTogeGhy
Ci1yZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAot
cmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IEhlbGxvIHdvcmxkCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvbmV0d29yay14aHItc3luYy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1zeW5jLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGVmMWYwOTFlMTk0NmUzNjhiZjZiNzFkZjEyZTdhZTFlMjdhMmQ3
YTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9uZXR3b3JrLXhoci1z
eW5jLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9uZXR3b3JrLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIC8vIFNpbmNlIHRoaXMgdGVzdCBjb3VsZCBiZSBydW4gdG9nZXRoZXIgd2l0aCBv
dGhlciBpbnNwZWN0b3IgYmFja2VuZCBjYWNoZQotICAgIC8vIHRlc3RzLCB3ZSBuZWVkIHRvIHJl
c2V0IHNpemUgbGltaXRzIHRvIGRlZmF1bHQgb25lcy4KLSAgICBJbnNwZWN0b3JUZXN0LnJlc2V0
SW5zcGVjdG9yUmVzb3VyY2VzRGF0YShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Lm1ha2VTaW1wbGVYSFIoIkdFVCIsICJyZXNvdXJj
ZXMvcmVzb3VyY2UucGhwIiwgZmFsc2UsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdDEgPSBXZWJJbnNwZWN0b3IucGFuZWwo
Im5ldHdvcmsiKS5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsiKS5yZXF1ZXN0
cy5sZW5ndGggLSAxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVxdWVzdDEu
dXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291cmNlLnR5cGU6ICIg
KyByZXF1ZXN0MS50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlc291
cmNlLmNvbnRlbnQgYmVmb3JlIHJlcXVlc3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRl
bnQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUoIXJlcXVlc3QxLmZhaWxlZCwg
IlJlc291cmNlIGxvYWRpbmcgZmFpbGVkLiIpOwotICAgICAgICByZXF1ZXN0MS5yZXF1ZXN0Q29u
dGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAg
ICAgdmFyIHJlcXVlc3QxID0gV2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHNb
V2ViSW5zcGVjdG9yLnBhbmVsKCJuZXR3b3JrIikucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVl
c3RpbmcgY29udGVudDogIiArIHJlcXVlc3QxLmNvbnRlbnQpOwotCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+Ci0gVGVzdHMgWEhSIG5ldHdvcmsgcmVzb3VyY2Ug
dHlwZSBhbmQgY29udGVudCBmb3Igc3luY2hyb25vdXMgcmVxdWVzdHMuCi08YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMDUiPkJ1ZyA2MTIwNTwvYT4K
LTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3BpbmctZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzk5NDZhMDM2M2Y5ZGEwOWI2MjUy
NjE0MTI0Nzk0ZmYxZWE1Mzg0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvcGluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLXBpbmcK
LVRlc3RzIHRoYXQgaHlwZXJsaW5rIGF1ZGl0aW5nIChwaW5nKSByZXF1ZXN0cyBhcHBlYXIgaW4g
bmV0d29yayBwYW5lbC4KLQotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3Jr
L3BpbmcuaHRtbAotcmVzb3VyY2UuaXNQaW5nUmVxdWVzdCgpOiB0cnVlCi1yZXNvdXJjZS5yZXF1
ZXN0Q29udGVudFR5cGU6IHRleHQvcGluZwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3BpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcGluZy5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmZmNmUyZjllMjc3OTMwZGZlNjI2MTU2MzgyZjhiMGE5
N2I5ZGYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcGluZy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24g
b25sb2FkKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQiLCAx
KTsKLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIG5hdmlnYXRlTGluaygpCi17Ci0gICAg
dmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpOwotICAgIGV2dC5p
bml0TW91c2VFdmVudCgiY2xpY2siKTsKLSAgICB2YXIgbGluayA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwaW5nTGluayIpOwotICAgIGxpbmsuZGlzcGF0Y2hFdmVudChldnQpOwotfQotCi1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVj
dG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgInJlcXVlc3RXaWxsQmVTZW50Iiwgc3Rl
cDIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm5hdmlnYXRlTGluaygpIik7
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICAvLyBpbnNwZWN0b3ItdGVz
dC5qcyBhcHBlYXJzIGluIG5ldHdvcmsgcGFuZWwgb2NjYXNpb25hbGx5IGluIFNhZmFyaSBvbgot
ICAgICAgICAvLyBNYWMsIHNvIGNoZWNraW5nIGxhc3QgcmVxdWVzdC4KLSAgICAgICAgdmFyIHJl
cXVlc3RzID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdHM7Ci0gICAgICAgIHZhciBy
ZXF1ZXN0c0NvdW50ID0gcmVxdWVzdHMubGVuZ3RoOwotICAgICAgICB2YXIgcmVxdWVzdCA9IHJl
cXVlc3RzW3JlcXVlc3RzQ291bnQgLSAxXTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChyZXF1ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNv
dXJjZS5pc1BpbmdSZXF1ZXN0KCk6ICIgKyByZXF1ZXN0LmlzUGluZ1JlcXVlc3QoKSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXNvdXJjZS5yZXF1ZXN0Q29udGVudFR5cGU6
ICIgKyByZXF1ZXN0LnJlcXVlc3RDb250ZW50VHlwZSgpKTsKLQotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkg
b25sb2FkPSJvbmxvYWQoKSI+Ci08YSBpZD0icGluZ0xpbmsiIGhyZWY9IiMiIHBpbmc9InBpbmcu
aHRtbCI+cGluZzwvYT4KLTxwPlRlc3RzIHRoYXQgaHlwZXJsaW5rIGF1ZGl0aW5nIChwaW5nKSBy
ZXF1ZXN0cyBhcHBlYXIgaW4gbmV0d29yayBwYW5lbC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL3JlcXVlc3QtbmFtZS1wYXRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVxdWVzdC1uYW1lLXBhdGgtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmM5ZTE0OTNjNzUzZDJjYzJlMDc0
ODQ5NDlhOTZmMTE0ZTJlNDBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvcmVxdWVzdC1uYW1lLXBhdGgtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTIg
KzAsMCBAQAotVGVzdHMgbmFtZSgpIGFuZCBwYXRoKCkgbWV0aG9kcyBvZiBOZXR3b3JrUmVxdWVz
dC4KLQotQnVnIDEwMTA2NAotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDog
aHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL2Jhej9rZXk9dmFsdWUKLSAgICBuYW1lID0g
YmF6P2tleT12YWx1ZQotICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20vZm9vL2JhcgotRHVtcGlu
ZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9m
b28vYmFyLz9rZXk9dmFsdWUKLSAgICBuYW1lID0gP2tleT12YWx1ZQotICAgIHBhdGggPSB3d3cu
ZXhhbXBsZS5jb20vZm9vL2JhcgotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVy
bDogaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL2JhegotICAgIG5hbWUgPSBiYXoKLSAg
ICBwYXRoID0gd3d3LmV4YW1wbGUuY29tL2Zvby9iYXIKLUR1bXBpbmcgcmVxdWVzdCBuYW1lIGFu
ZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vZm9vL2Jhci8KLSAgICBuYW1l
ID0gYmFyLwotICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20vZm9vCi1EdW1waW5nIHJlcXVlc3Qg
bmFtZSBhbmQgcGF0aCBmb3IgdXJsOiBodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Jhej9rZXk9dmFs
dWUKLSAgICBuYW1lID0gYmF6P2tleT12YWx1ZQotICAgIHBhdGggPSB3d3cuZXhhbXBsZS5jb20K
LUR1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly93d3cuZXhhbXBs
ZS5jb20vP2tleT12YWx1ZQotICAgIG5hbWUgPSA/a2V5PXZhbHVlCi0gICAgcGF0aCA9IHd3dy5l
eGFtcGxlLmNvbQotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDov
L3d3dy5leGFtcGxlLmNvbS9iYXoKLSAgICBuYW1lID0gYmF6Ci0gICAgcGF0aCA9IHd3dy5leGFt
cGxlLmNvbQotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovL3d3
dy5leGFtcGxlLmNvbS8KLSAgICBuYW1lID0gd3d3LmV4YW1wbGUuY29tCi0gICAgcGF0aCA9IAot
RHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9m
b28vYmFyL2Jhej9rZXk9dmFsdWUKLSAgICBuYW1lID0gYmF6P2tleT12YWx1ZQotICAgIHBhdGgg
PSAvZm9vL2JhcgotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDov
LzEyNy4wLjAuMS9mb28vYmFyLz9rZXk9dmFsdWUKLSAgICBuYW1lID0gP2tleT12YWx1ZQotICAg
IHBhdGggPSAvZm9vL2JhcgotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDog
aHR0cDovLzEyNy4wLjAuMS9mb28vYmFyL2JhegotICAgIG5hbWUgPSBiYXoKLSAgICBwYXRoID0g
L2Zvby9iYXIKLUR1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly8x
MjcuMC4wLjEvZm9vL2Jhci8KLSAgICBuYW1lID0gYmFyLwotICAgIHBhdGggPSAvZm9vCi1EdW1w
aW5nIHJlcXVlc3QgbmFtZSBhbmQgcGF0aCBmb3IgdXJsOiBodHRwOi8vMTI3LjAuMC4xL2Jhej9r
ZXk9dmFsdWUKLSAgICBuYW1lID0gYmF6P2tleT12YWx1ZQotICAgIHBhdGggPSAKLUR1bXBpbmcg
cmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6IGh0dHA6Ly8xMjcuMC4wLjEvP2tleT12YWx1
ZQotICAgIG5hbWUgPSA/a2V5PXZhbHVlCi0gICAgcGF0aCA9IAotRHVtcGluZyByZXF1ZXN0IG5h
bWUgYW5kIHBhdGggZm9yIHVybDogaHR0cDovLzEyNy4wLjAuMS9iYXoKLSAgICBuYW1lID0gYmF6
Ci0gICAgcGF0aCA9IAotRHVtcGluZyByZXF1ZXN0IG5hbWUgYW5kIHBhdGggZm9yIHVybDogaHR0
cDovLzEyNy4wLjAuMS8KLSAgICBuYW1lID0gMTI3LjAuMC4xCi0gICAgcGF0aCA9IAotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L3JlcXVlc3QtbmFtZS1wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3JlcXVlc3QtbmFtZS1wYXRoLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDgwNzVlZTQ0OTdhZDBhYTQ4ZDVjYWFhNDNmMzRlOTBlM2Q2MzY5ZTQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXF1ZXN0LW5hbWUtcGF0
aC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxB
bmREdW1wTmFtZUFuZFBhdGgodXJsKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIkR1bXBpbmcgcmVxdWVzdCBuYW1lIGFuZCBwYXRoIGZvciB1cmw6ICIgKyB1cmwpOwot
ICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3QoMCwg
dXJsKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBuYW1lID0gIiArIHJl
cXVlc3QubmFtZSgpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBwYXRo
ID0gIiArIHJlcXVlc3QucGF0aCgpKTsKLSAgICB9Ci0KLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVz
dEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFy
L2Jhej9rZXk9dmFsdWUiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBO
YW1lQW5kUGF0aCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9mb28vYmFyLz9rZXk9dmFsdWUiKTsK
LSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDov
L3d3dy5leGFtcGxlLmNvbS9mb28vYmFyL2JheiIpOwotICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0
Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Zvby9iYXIv
Iik7Ci0KLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgi
aHR0cDovL3d3dy5leGFtcGxlLmNvbS9iYXo/a2V5PXZhbHVlIik7Ci0gICAgY3JlYXRlTmV0d29y
a1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly93d3cuZXhhbXBsZS5jb20v
P2tleT12YWx1ZSIpOwotICAgIGNyZWF0ZU5ldHdvcmtSZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVB
bmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2JheiIpOwotICAgIGNyZWF0ZU5ldHdvcmtS
ZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIp
OwotCi0gICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0
dHA6Ly8xMjcuMC4wLjEvZm9vL2Jhci9iYXo/a2V5PXZhbHVlIik7Ci0gICAgY3JlYXRlTmV0d29y
a1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBhdGgoImh0dHA6Ly8xMjcuMC4wLjEvZm9vL2Jh
ci8/a2V5PXZhbHVlIik7Ci0gICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFt
ZUFuZFBhdGgoImh0dHA6Ly8xMjcuMC4wLjEvZm9vL2Jhci9iYXoiKTsKLSAgICBjcmVhdGVOZXR3
b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAuMS9mb28v
YmFyLyIpOwotCi0gICAgY3JlYXRlTmV0d29ya1JlcXVlc3RGb3JVUkxBbmREdW1wTmFtZUFuZFBh
dGgoImh0dHA6Ly8xMjcuMC4wLjEvYmF6P2tleT12YWx1ZSIpOwotICAgIGNyZWF0ZU5ldHdvcmtS
ZXF1ZXN0Rm9yVVJMQW5kRHVtcE5hbWVBbmRQYXRoKCJodHRwOi8vMTI3LjAuMC4xLz9rZXk9dmFs
dWUiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFuZER1bXBOYW1lQW5kUGF0aCgi
aHR0cDovLzEyNy4wLjAuMS9iYXoiKTsKLSAgICBjcmVhdGVOZXR3b3JrUmVxdWVzdEZvclVSTEFu
ZER1bXBOYW1lQW5kUGF0aCgiaHR0cDovLzEyNy4wLjAuMS8iKTsKLQotICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+VGVzdHMgbmFtZSgpIGFuZCBwYXRoKCkgbWV0aG9kcyBvZiBOZXR3
b3JrUmVxdWVzdC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxMDY0Ij5CdWcgMTAxMDY0PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9y
ZXF1ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXF1ZXN0LXBhcmFtZXRlcnMtZGVj
b2RpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjcwNjZm
NDJmMzE4MjAyODRiOTU0ZmFiY2FlMzI0OTk1ZTdkZmE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvcmVxdWVzdC1wYXJhbWV0ZXJzLWRlY29kaW5nLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGVzdHMgaG93IHJlcXVlc3QgaGVhZGVy
cyBhcmUgZGVjb2RlZCBpbiBuZXR3b3JrIGl0ZW0gdmlldy4KLQotQnVnIDc0NDIyCi1PcmlnaW5h
bCB2YWx1ZTogVGVzdCslMjElNDAlMjMlMjQlMjUlNUUlMjYqJTI4JTI5XyUyQitwYXJhbWV0ZXJz
LgotRGVjb2RlZCB2YWx1ZTogVGVzdCAhQCMkJV4mKigpXysgcGFyYW1ldGVycy4KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9y
ZXF1ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVxdWVzdC1wYXJhbWV0ZXJzLWRlY29kaW5nLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwOTY5ZWNjZmZhMzM2ZjUzYjZjNWY0
Y2M3MjEyMWNhMjg0YzkzODguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9yZXF1ZXN0LXBhcmFtZXRlcnMtZGVjb2RpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIx
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0JV2ViSW5zcGVj
dG9yLnNob3dQYW5lbCgibmV0d29yayIpOwotICAgIHZhciB2YWx1ZSA9ICJUZXN0KyUyMSU0MCUy
MyUyNCUyNSU1RSUyNiolMjglMjlfJTJCK3BhcmFtZXRlcnMuIjsKLSAgICB2YXIgcGFyYW1ldGVy
RWxlbWVudCA9IFdlYkluc3BlY3Rvci5SZXF1ZXN0SGVhZGVyc1ZpZXcucHJvdG90eXBlLl9mb3Jt
YXRQYXJhbWV0ZXIodmFsdWUsICIiLCB0cnVlKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiT3JpZ2luYWwgdmFsdWU6ICIgKyB2YWx1ZSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkRlY29kZWQgdmFsdWU6ICIgKyBwYXJhbWV0ZXJFbGVtZW50LnRleHRDb250ZW50KTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gPHA+VGVzdHMgaG93IHJlcXVlc3QgaGVhZGVycyBh
cmUgZGVjb2RlZCBpbiBuZXR3b3JrIGl0ZW0gdmlldy48L3A+Ci08YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMDUiPkJ1ZyA3NDQyMjwvYT4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzLzQwNC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy80MDQucGhwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTM3NmNlYjg0MTcyNDVjNTQ3MThkY2FhNjk0OTE3N2Fk
NjEzZGY2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2Vz
LzQwNC5waHAKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVy
KCJIVFRQLzEuMCA0MDQgTm90IEZvdW5kIik7Ci0gICAgZWNobygiNDA0IC0gcmVzb3VyY2Ugd2Fz
IG5vdCBmb3VuZC4iKTsKLT8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9jcDEyNTEueG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvY3AxMjUx
LnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzIyODVmMzYwYmNlM2U1ZDkzZjNj
MmQ2ZTBlYzRjMzBjYjQ5NGE3Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3
b3JrL3Jlc291cmNlcy9jcDEyNTEueG1sCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdjcDEyNTEnPz4KLTxyb290PgotICA8Y3AxMjUx
PlNV0dHFU1MgLSBUaGVzZSAnQ0NFJyBhcmUgY3lyaWxsaWMgbGV0dGVycy48L2NwMTI1MT4KLTwv
cm9vdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvcmVzb3VyY2VzL2N5cmlsbGljLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9jeXJpbGxpYy5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGJmNzFhZTZmYzdjZTQxMzY5NGY3ZTcwNDJl
ZThhNjVhNjdjOTk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVz
b3VyY2VzL2N5cmlsbGljLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoZSBm
b2xsb3dpbmcgbGluZSBjb250YWlucyBhIHdvcmQgInN1Y2Nlc3MiIHdyaXR0ZW4gd2l0aCBjeXJp
bGxpYyBsZXR0ZXJzLgotU1XQodCh0JVTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvZG93bmxvYWQuenp6IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJj
ZXMvZG93bmxvYWQuenp6CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNWY3MjBlNmM4
NjgzODA0NzgxYmNkMzdmMmVlNjJjNThhYjdmNWM5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL2Rvd25sb2FkLnp6egorKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLVRlc3QgcmVzb3VyY2UgZm9yIHRyaWdnZXJpbmcgZG93bmxvYWRzLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9y
ZXNvdXJjZXMvZWNoby1wYXlsb2FkLnBocCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL2VjaG8tcGF5bG9hZC5waHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjYjFiMTJiZTFhOGRhNWMzMGNkMjliNjM4NGI5MGRkOGVk
M2ExMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMv
ZWNoby1wYXlsb2FkLnBocAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPD9waHAKLQll
Y2hvIGZpbGVfZ2V0X2NvbnRlbnRzKCdwaHA6Ly9pbnB1dCcpOwotPz4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2Vz
L2VtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL3Jlc291cmNlcy9lbXB0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9pbml0aWF0b3IuY3Nz
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNv
dXJjZXMvaW5pdGlhdG9yLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM1ZGU3
ODY5ZjM1NWQ4OTgyMDI4MmMyOTA0NzA4OGFlOGViMDgyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9pbml0aWF0b3IuY3NzCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi0uaW1hZ2UtYmFja2dyb3VuZCB7Ci0gICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKCJyZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTIwMCIpOwotfQot
Ci0uaW1hZ2UtYmFja2dyb3VuZC0yIHsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoInJlc291
cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MzAwIik7Ci19Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3Vy
Y2VzL2pzb24ucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMvanNvbi5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4
IGU1MzQ0YTVhZmUxMzdhZWVhOWEwNTIwNWMyMmZmNDhjMzhhZmI2Y2IuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvanNvbi5waHAKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxp
Y2F0aW9uL2pzb24iKTsKLT8+Ci17Im51bWJlciI6ICI0MiJ9Ci0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3Bs
dWdpbi1kYXRhLnBocCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzIxZDllOGU5ZDk3MzYyM2JiMWY1MmFiNDRkMDY3NTJmYmJjYWRiOC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5w
aHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi08P3BocAotICAgICRtaW1ldHlwZSA9
ICRfR0VUWyJtaW1ldHlwZSJdOwotICAgICRmaWxlbmFtZSA9ICRfR0VUWyJmaWxlbmFtZSJdOwot
ICAgICRjaGFyc2V0ID0gJF9HRVRbImNoYXJzZXQiXTsKLQotICAgIGhlYWRlcigiRXhwaXJlczog
VGh1LCAwMSBEZWMgMjAwMyAxNjowMDowMCBHTVQiKTsKLSAgICBoZWFkZXIoIkNhY2hlLUNvbnRy
b2w6IG5vLXN0b3JlLCBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgaGVhZGVyKCJQ
cmFnbWE6IG5vLWNhY2hlIik7Ci0gICAgaWYgKCRjaGFyc2V0KQotICAgICAgICBoZWFkZXIoIkNv
bnRlbnQtVHlwZTogIiAuICRtaW1ldHlwZSAuICI7IGNoYXJzZXQ9IiAuICRjaGFyc2V0KTsKLSAg
ICBlbHNlCi0gICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiAiIC4gJG1pbWV0eXBlKTsKLQot
ICAgIHJlYWRmaWxlKCRmaWxlbmFtZSk7Ci0/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvcmFuZG9tLWNhY2hl
ZC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3Jr
L3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNmIwOTVhZTk0ZGJiYmM3MDNlMTU0NjBkZTY5NmQ0MDhkY2UxNmVhMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tY2FjaGVkLnBocAor
KysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLTw/cGhwCi0gICAgaWYgKCRfU0VSVkVSWyJI
VFRQX0lGX01PRElGSUVEX1NJTkNFIl0pIHsKLSAgICAgICAgaGVhZGVyKCJIVFRQLzEuMCAzMDQg
Tm90IE1vZGlmaWVkIik7Ci0gICAgICAgIGV4aXQ7Ci0gICAgfQotCi0gICAgJG1heF9hZ2UgPSAx
MiAqIDMxICogMjQgKiA2MCAqIDYwOyAvL29uZSB5ZWFyCi0gICAgJGV4cGlyZXMgPSBnbWRhdGUo
REFURV9SRkMxMTIzLCB0aW1lKCkgKyAkbWF4X2FnZSk7Ci0gICAgJGxhc3RfbW9kaWZpZWQgPSBn
bWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkgLSAkbWF4X2FnZSk7Ci0KLSAgICBoZWFkZXIoIkNh
Y2hlLUNvbnRyb2w6IHB1YmxpYywgbWF4LWFnZT0iIC4gNSokbWF4X2FnZSk7Ci0gICAgaGVhZGVy
KCJDYWNoZS1jb250cm9sOiBtYXgtYWdlPTAiKTsKLSAgICBoZWFkZXIoIkV4cGlyZXM6ICIgLiAk
ZXhwaXJlcyk7Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbCIpOwotICAgIGhl
YWRlcigiTGFzdC1Nb2RpZmllZDogIiAuICRsYXN0X21vZGlmaWVkKTsKLQotICAgIGVjaG8ocmFu
ZCgpKTsKLT8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9yYW5kb20tc2NyaXB0LnBocCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS1z
Y3JpcHQucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGZjMzJkZDgwMGQwYzNj
MWFlZDY2YTc3OWVlODdkYzRmNDIwZjliLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvcmVzb3VyY2VzL3JhbmRvbS1zY3JpcHQucGhwCisrKyAvZGV2L251bGwKQEAgLTEs
MTkgKzAsMCBAQAotPD9waHAKLSAgICBpZiAoJF9TRVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lO
Q0UiXSkgewotICAgICAgICBoZWFkZXIoIkhUVFAvMS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAg
ICAgICAgZXhpdDsKLSAgICB9Ci0KLSAgICAkbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICog
NjA7IC8vb25lIHllYXIKLSAgICAkZXhwaXJlcyA9IGdtZGF0ZShEQVRFX1JGQzExMjMsIHRpbWUo
KSArICRtYXhfYWdlKTsKLSAgICAkbGFzdF9tb2RpZmllZCA9IGdtZGF0ZShEQVRFX1JGQzExMjMs
IHRpbWUoKSAtICRtYXhfYWdlKTsKLQotICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogcHVibGlj
LCBtYXgtYWdlPSIgLiA1KiRtYXhfYWdlKTsKLSAgICBoZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG1h
eC1hZ2U9MCIpOwotICAgIGhlYWRlcigiRXhwaXJlczogIiAuICRleHBpcmVzKTsKLSAgICBoZWFk
ZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sIik7Ci0gICAgaGVhZGVyKCJMYXN0LU1vZGlmaWVk
OiAiIC4gJGxhc3RfbW9kaWZpZWQpOwotCi0gICAgZWNobygiY29uc29sZS5sb2coXCJEb25lLlwi
KTsiKTsKLSAgICBlY2hvKCJ2YXIgcmFuZG9tVmFsdWUgPSAiIC4gcmFuZCgpIC4gIjsiKTsKLT8+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5waHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYjZmMWNjY2VlMmNiYzhjNjM4OWU2ZjcxOGVmZTU5NTVm
ZjA2NDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMv
cmVzb3VyY2UucGhwCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLTw/cGhwCi0gICAg
JHR5cGUgPSAkX0dFVFsidHlwZSJdOwotICAgICR3YWl0ID0gJF9HRVRbIndhaXQiXTsKLSAgICAk
c2VuZCA9ICRfR0VUWyJzZW5kIl07Ci0gICAgJHNpemUgPSAkX0dFVFsic2l6ZSJdOwotICAgICRn
emlwID0gJF9HRVRbImd6aXAiXTsKLSAgICAkanNkZWxheSA9ICRfR0VUWyJqc2RlbGF5Il07Ci0g
ICAgJGpzY29udGVudCA9ICRfR0VUWyJqc2NvbnRlbnQiXTsKLSAgICAkY2h1bmtlZCA9ICRfR0VU
WyJjaHVua2VkIl07Ci0gICAgJHJhbmRvbSA9ICRfR0VUWyJyYW5kb20iXTsKLSAgICAkY2FjaGVk
ID0gJF9HRVRbImNhY2hlZCJdOwotCi0gICAgIyBXYWl0IGJlZm9yZSBzZW5kaW5nIHJlc3BvbnNl
Ci0gICAgaWYgKCR3YWl0KQotICAgICAgICB1c2xlZXAoJHdhaXQgKiAxMDAwKTsKLQotICAgICMg
RXhpdCBlYXJseSBpZiB3ZSByZXR1cm4gMzA0IGNvZGUuCi0gICAgaWYgKCRjYWNoZWQgJiYgJF9T
RVJWRVJbIkhUVFBfSUZfTU9ESUZJRURfU0lOQ0UiXSkgewotICAgICAgICBoZWFkZXIoIkhUVFAv
MS4wIDMwNCBOb3QgTW9kaWZpZWQiKTsKLSAgICAgICAgZXhpdDsKLSAgICB9Ci0KLSAgICAjIEVu
YWJsZSBnemlwIGNvbXByZXNzaW9uIGlmIG5lZWRlZAotICAgIGlmICgkZ3ppcCkKLSAgICAgICAg
b2Jfc3RhcnQoIm9iX2d6aGFuZGxlciIpOwotCi0gICAgIyBTZW5kIGhlYWRlcnMKLSAgICBpZiAo
JGNhY2hlZCkgewotICAgICAgICAkbWF4X2FnZSA9IDEyICogMzEgKiAyNCAqIDYwICogNjA7IC8v
b25lIHllYXIKLSAgICAgICAgJGV4cGlyZXMgPSBnbWRhdGUoREFURV9SRkMxMTIzLCB0aW1lKCkg
KyAkbWF4X2FnZSk7Ci0gICAgICAgICRsYXN0X21vZGlmaWVkID0gZ21kYXRlKERBVEVfUkZDMTEy
MywgdGltZSgpIC0gJG1heF9hZ2UpOwotCi0gICAgICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDog
cHVibGljLCBtYXgtYWdlPSIgLiA1KiRtYXhfYWdlKTsKLSAgICAgICAgaGVhZGVyKCJDYWNoZS1j
b250cm9sOiBtYXgtYWdlPTAiKTsKLSAgICAgICAgaGVhZGVyKCJFeHBpcmVzOiAiIC4gJGV4cGly
ZXMpOwotICAgICAgICBoZWFkZXIoIkxhc3QtTW9kaWZpZWQ6ICIgLiAkbGFzdF9tb2RpZmllZCk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaGVhZGVyKCJFeHBpcmVzOiBUaHUsIDAxIERlYyAyMDAz
IDE2OjAwOjAwIEdNVCIpOwotICAgICAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3Jl
LCBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7Ci0gICAgICAgIGhlYWRlcigiUHJhZ21hOiBu
by1jYWNoZSIpOwotICAgIH0KLSAgICBpZiAoJHR5cGUgPT0gImpzIikKLSAgICAgICAgaGVhZGVy
KCJDb250ZW50LVR5cGU6dGV4dC9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04Iik7Ci0gICAgZWxz
ZSBpZiAoJHR5cGUgPT0gImltYWdlIikKLSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGlt
YWdlL3BuZyIpOwotICAgIGVsc2UKLSAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQv
cGxhaW4iKTsKLQotICAgICMgRmx1c2ggaGVhZGVycyBhbmQgc2xlZXAgYm9mb3JlIHNlbmRpbmcg
cmVzcG9uc2UKLSAgICBpZiAoJHNlbmQpIHsKLSAgICAgICAgZmx1c2goKTsKLSAgICAgICAgdXNs
ZWVwKCRzZW5kICogMTAwMCk7Ci0gICAgfQotCi0gICAgaWYgKCR0eXBlID09ICJqcyIpIHsKLSAg
ICAgICAgIyBTZW5kIEphdmFTY3JpcHQgZmlsZQotICAgICAgICAkYnl0ZXNfZW1pdHRlZCA9IDA7
Ci0gICAgICAgIGlmICgkanNkZWxheSkgewotICAgICAgICAgICAgIyBKYXZhU2NyaXB0IGZpbGUg
c2hvdWxkIGJsb2NrIG9uIGxvYWQKLT8+Ci1mdW5jdGlvbiBfX2ZvbyhzZWNvbmRzKSB7Ci0gICAg
dmFyIG5vdyA9ICBEYXRlLm5vdygpOwotICAgIHZhciBjb3VudGVyID0gTnVtYmVyKDApOwotICAg
IHdoaWxlKG5vdyArIHNlY29uZHMgID4gRGF0ZS5ub3coKSkgeyBjb3VudGVyID0gTnVtYmVyKGNv
dW50ZXIgKyAxKTsgfQotfQotX19mb28oPD9waHAgZWNobygkanNkZWxheSk/Pik7Ci08P3BocAot
ICAgICAgICAgICAgJGJ5dGVzX2VtaXR0ZWQgKz0gMTc1OwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKCEkanNjb250ZW50KQotICAgICAgICAgICAgJGpzY29udGVudCA9ICJmdW5jdGlvbiBmb28o
KSB7fSI7Ci0KLSAgICAgICAgIyBKYXZhU2NyaXB0IGZpbGUgc2hvdWxkIGlzc3VlIGdpdmVuIGNv
bW1hbmQuCi0gICAgICAgIGVjaG8oJGpzY29udGVudCk7Ci0gICAgICAgICRieXRlc19lbWl0dGVk
ICs9IHN0cmxlbigkanNjb250ZW50KTsKLQotICAgICAgICBpZiAoJHNpemUpIHsKLSAgICAgICAg
ICAgIGZvciAoJGkgPSAwOyAkaSA8ICRzaXplIC0gJGJ5dGVzX2VtaXR0ZWQ7ICsrJGkpCi0gICAg
ICAgICAgICAgICAgZWNobygiLyIpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmICgkdHlwZSA9
PSAiaW1hZ2UiKSB7Ci0gICAgICAgICRiYXNlNjRkYXRhID0gImlWQk9SdzBLR2dvQUFBQU5TVWhF
VWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUFYTlNSMElBcnM0YzZRQUFBQWx3U0ZsekFBQUxF
d0FBQ3hNQkFKcWNHQUFBQUFkMFNVMUZCOWtJQ1FzdyIgLiAKLSAgICAgICAgICAgICJBUkNKQ29n
QUFBQkZTVVJCVkVqSDdaTEJDUUF3Q0FPTmRQK1YweFZxcTBneDl3K0dpMlpDVEFjWEdXYmU4RzRE
cTlEZWtTIiAuCi0gICAgICAgICAgICAia1BhR2VGZ2ZZSlZPRGxDVG5XQURJTG9FZzN2cGxBQ0xF
Qk45VUdHOStteGJvQUFBQUFTVVZPUks1Q1lJST0iOwotICAgICAgICAkZGF0YSA9IGJhc2U2NF9k
ZWNvZGUoJGJhc2U2NGRhdGEpOwotICAgICAgICAkZGF0YV9sZW4gPSBzdHJsZW4oJGRhdGEpOwot
ICAgICAgICBwcmludCgkZGF0YSk7Ci0gICAgICAgIGlmICgkc2l6ZSkgewotICAgICAgICAgICAg
aWYgKCRjaHVua2VkKSB7Ci0gICAgICAgICAgICAgICAgb2JfZmx1c2goKTsKLSAgICAgICAgICAg
ICAgICBmbHVzaCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRz
aXplICYmICRpIDwgJHNpemUgLSAkZGF0YV9sZW47ICsrJGkpCi0gICAgICAgICAgICAgICAgZWNo
bygiPSIpOwotICAgICAgICB9IGVsc2UgaWYgKCRyYW5kb20pCi0gICAgICAgICAgICBlY2hvKHJh
bmQoKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgIyBHZW5lcmF0ZSBkdW1teSB0ZXh0L2h0bWwu
Ci0gICAgICAgIGlmICgkc2l6ZSkgewotICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJHNp
emU7ICsrJGkpIHsKLSAgICAgICAgICAgICAgICBpZiAoJGNodW5rZWQgJiYgKDEgPT0gJGkpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIG9iX2ZsdXNoKCk7Ci0gICAgICAgICAgICAgICAgICAgIGZs
dXNoKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVjaG8oIioiKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGVjaG8oIkhlbGxvICIp
OwotICAgICAgICAgICAgaWYgKCRjaHVua2VkKSB7Ci0gICAgICAgICAgICAgICAgb2JfZmx1c2go
KTsKLSAgICAgICAgICAgICAgICBmbHVzaCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
ZWNobygid29ybGQiKTsKLSAgICAgICAgICAgIGlmICgkcmFuZG9tKQotICAgICAgICAgICAgICAg
IGVjaG8oIjogIiAuIHJhbmQoKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0/PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJj
ZXMvc2NyaXB0LWFzLXRleHQtd2l0aC1hLXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZl
cnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS1sb25nLXVybC5waHAgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9z
Y3JpcHQtYXMtdGV4dC13aXRoLWEtdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12
ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LWxvbmctdXJsLnBocApkZWxldGVkIGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMmQzMThlY2MzMTM1NjE2YjJlMGYyMmI5MmJmOTViOWY3NzIy
YmI1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9z
Y3JpcHQtYXMtdGV4dC13aXRoLWEtdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12
ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LWxvbmctdXJsLnBocAorKysgL2Rldi9u
dWxsCkBAIC0xLDggKzAsMCBAQAotPD9waHAKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4
dC9wbGFpbiIpOwotPz4KLQotZnVuY3Rpb24gZm9vKCkKLXsKLSAgICB2YXIgYmFyID0gNDI7Ci19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5w
aHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDJkMzE4ZWNjMzEzNTYxNmIyZTBmMjJi
OTJiZjk1YjlmNzcyMmJiNWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9yZXNvdXJjZXMvc2NyaXB0LWFzLXRleHQucGhwCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCww
IEBACi08P3BocAotICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluIik7Ci0/Pgot
Ci1mdW5jdGlvbiBmb28oKQotewotICAgIHZhciBiYXIgPSA0MjsKLX0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2Vz
L3NjcmlwdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25l
dHdvcmsvcmVzb3VyY2VzL3NjcmlwdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjJiODVhYTM5MTRkNTZiOWVlODE1NDU4YTczZWEyYTJlZDZhYmQ0Yy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQuanMKKysrIC9kZXYvbnVs
bApAQCAtMSArMCwwIEBACi1jb25zb2xlLmxvZygiRG9uZS4iKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3Nl
dC1jb29raWUucGhwIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI5NTk2MTJiZGNkMWQ1MGIxODA2Y2U5ODcxMzliOWI3Mzc1YzQ0MjUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAK
KysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVyKCJFeHBpcmVz
OiBUaHUsIDAxIERlYyAyMDAzIDE2OjAwOjAwIEdNVCIpOwotICAgIGhlYWRlcigiQ2FjaGUtQ29u
dHJvbDogbm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUiKTsKLSAgICBoZWFkZXIo
IlByYWdtYTogbm8tY2FjaGUiKTsKLSAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFp
biIpOwotICAgIHNldGNvb2tpZSgiVGVzdENvb2tpZSIsICJUZXN0Q29va2llVmFsdWUiKTsKLQot
ICAgIGVjaG8oIkNvb2tpZSBzZXQuIik7Ci0/PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2hhcmVkLXdvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
cmVzb3VyY2VzL3NoYXJlZC13b3JrZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDMyZDNlMDIyYTdiZmJhZDlkMmMxZTBjODBlNTU2YTE4OTY3NmU1NmMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qcworKysg
L2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotb25jb25uZWN0ID0gZnVuY3Rpb24oZXZlbnQpCi17
Ci0gICAgdmFyIHBvcnQgPSBldmVudC5wb3J0c1swXTsKLSAgICBwb3J0LnBvc3RNZXNzYWdlKCJE
b25lLiIpOwotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zaWxlbnRfc2NyaXB0LmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc2lsZW50
X3NjcmlwdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ2ZDZhMmJmNDhjZGY3
YmM1ZjYyNmEwMGEwMmE0OTYzYmRjMTQ3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9uZXR3b3JrL3Jlc291cmNlcy9zaWxlbnRfc2NyaXB0LmpzCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi1mdW5jdGlvbiBmb28oKQotewotICAgIHJldHVybiAyICsgMjsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsv
cmVzb3VyY2VzL3NvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qt
c3R5bGUuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmFiYTQ2MjI1ZDljYzY0
YTg3OWNiYTlhM2VkMGExZjZiYWY5NzQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L25ldHdvcmsvcmVzb3VyY2VzL3NvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MKKysrIC9kZXYvbnVs
bApAQCAtMSw2ICswLDAgQEAKLSNjb250YWluZXIgewotICBiYWNrZ3JvdW5kOiBwYXBheWF3aGlw
OyB9Ci0gICNjb250YWluZXIgI2luc3BlY3RlZCB7Ci0gICAgY29sb3I6IGdyZWVuOyB9Ci0KLS8q
IyBzb3VyY2VNYXBwaW5nVVJMPXNvdXJjZS1tYXAtdGVzdC1zdHlsZS5jc3MubWFwICovClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc291cmNlLW1hcC10ZXN0LXN0
eWxlLmNzcy5tYXAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9u
ZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzLm1hcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGExMTMwMTgyZDQ1MjNiZDE0NzJkZWFiMTE1NzJiNzBiMTAw
MzIzYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9z
b3VyY2UtbWFwLXRlc3Qtc3R5bGUuY3NzLm1hcAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotewotInZlcnNpb24iOiAiMyIsCi0ibWFwcGluZ3MiOiAiQUFBQSxVQUFXO0VBQ1AsVUFBVSxF
QUFFLFVBQVU7RUFFdEIscUJBQVc7SUFDUCxLQUFLLEVBQUUsS0FBSyIsCi0ic291cmNlcyI6IFsi
c3R5bGUuc2NzcyJdLAotImZpbGUiOiAic3R5bGUuY3NzIgotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvc291
cmNlLW1hcC10ZXN0LXN0eWxlLnNjc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuc2Nzcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3NGQzNWQyOWIxNjhhOTQ1YjdmOWFmMjhh
N2E5M2JiN2VmOTkwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jl
c291cmNlcy9zb3VyY2UtbWFwLXRlc3Qtc3R5bGUuc2NzcworKysgL2Rldi9udWxsCkBAIC0xLDcg
KzAsMCBAQAotI2NvbnRhaW5lciB7Ci0gICAgYmFja2dyb3VuZDogcGFwYXlhd2hpcDsKLQotICAg
ICNpbnNwZWN0ZWQgewotICAgICAgICBjb2xvcjogZ3JlZW47Ci0gICAgfQotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNv
dXJjZXMvc3R5bGUuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvbmV0d29yay9yZXNvdXJjZXMvc3R5bGUuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMjNjM2E0NjMyZWQyNGIwZjg3ZjZiNjM3ZjNmYzQ1Y2ExNTk4MGUzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3N0eWxlLmNzcworKysgL2Rl
di9udWxsCkBAIC0xLDMgKzAsMCBAQAotYm9keSB7Ci0gICAgY29sb3I6IGJsYWNrOwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9yZXNvdXJjZXMvdXRmOC54bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy91dGY4LnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDdlZTQ4MWZhODA3NGFjYjc1M2MzYzdlZjU0MjE5ZmQ5MmYxMDQ2MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3Jlc291cmNlcy91dGY4LnhtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0n
dXRmLTgnPz4KLTxyb290PgotICA8dXRmOD5TVdCh0KHQlVNTIC0gVGhlc2UgJ0NDRScgYXJlIGN5
cmlsbGljIGxldHRlcnMuPC91dGY4PgotPC9yb290PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMvd29ya2VyLmpz
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNv
dXJjZXMvd29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjYxY2EwY2Rh
MzZiNTE3ZmJkNDIxNTNjM2MyMTU5NDg3NTBiZmI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3dvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xICsw
LDAgQEAKLXBvc3RNZXNzYWdlKCJEb25lLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9yZXNvdXJjZXMveC1mcmFtZS1vcHRp
b25zLWRlbnkuY2dpIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9yZXNvdXJjZXMveC1mcmFtZS1vcHRpb25zLWRlbnkuY2dpCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCA3YTY5MTY1NTQ3M2M4ZjA5MWViNGE0ZGE4ZTFhMTcxNzBkYTQwNDE0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvcmVzb3VyY2VzL3gtZnJh
bWUtb3B0aW9ucy1kZW55LmNnaQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotIyEvdXNy
L2Jpbi9wZXJsIC13VAotdXNlIHN0cmljdDsKLQotcHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXG4iOwotcHJpbnQgIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlLCBuby1zdG9yZVxuIjsKLXBy
aW50ICJYLUZSQU1FLU9QVElPTlM6IGRlbnlcblxuIjsKLQotcHJpbnQgIjxwPkZBSUw6IFRoaXMg
c2hvdWxkIG5vdCBzaG93IHVwLjwvcD5cbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTEyMWEwODlhM2Y1MjY5MGQzNTE0ZmZhYzFkYzE5ZTY5YWZkOTIx
Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0
LWxvYWRpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1UZXN0
cyBjb25zb2xlIG1lc3NhZ2Ugd2hlbiBzY3JpcHQgaXMgbG9hZGVkIHdpdGggaW5jb3JyZWN0IHRl
eHQvaHRtbCBtaW1lIHR5cGUuCi0KLUJ1ZyA2OTk3MgotUmVzb3VyY2UgaW50ZXJwcmV0ZWQgYXMg
U2NyaXB0IGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlwZSB0ZXh0L3BsYWluOiAiaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQtYXMtdGV4
dC5waHAiLiBbbmF0aXZlIGNvZGVdOjEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxv
bmctdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy1sb25nLXVybC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4NDZkYzdiZjYzZDE0Yjk2MTBmMTU4
MTVmY2NmNjNjNWU0YmUxODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29y
ay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmctdXJsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBsb25nIFVSTHMgYXJlIGNvcnJlY3RseSB0
cmltbWVkIGluIGFuY2hvciBsaW5rcy4KLQotQnVnIDEwMDA5NQotUmVzb3VyY2UgaW50ZXJwcmV0
ZWQgYXMgU2NyaXB0IGJ1dCB0cmFuc2ZlcnJlZCB3aXRoIE1JTUUgdHlwZSB0ZXh0L3BsYWluOiAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9zY3JpcHQt
YXMtdGV4dC13aXRoLWEtdmVy4oCmeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5
LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS1sb25nLXVybC5waHAiLiBbbmF0aXZlIGNvZGVdOjEK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
bmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLWxvbmctdXJsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxv
YWRpbmctbG9uZy11cmwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTEzY2U2
NWUwYTg4OGExNTc1MWM1YTY0ZjE5NWZhOTYwOTUxMjg0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctbG9uZy11cmwuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL2NvbnNv
bGUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9hZFNjcmlwdCgpCi17
Ci0gICAgdmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKLSAgICBpLnNy
YyA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Nj
cmlwdC1hcy10ZXh0LXdpdGgtYS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZl
cnktdmVyeS12ZXJ5LXZlcnktdmVyeS12ZXJ5LXZlcnktbG9uZy11cmwucGhwIjsKLSAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJ
bnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAxKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJsb2FkU2NyaXB0KCkiKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlcygpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCBsb25nIFVS
THMgYXJlIGNvcnJlY3RseSB0cmltbWVkIGluIGFuY2hvciBsaW5rcy48L3A+Ci08YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDk1Ij5CdWcgMTAwMDk1
PC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLXdpdGgt
Y2FyZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvbmV0d29yay9zY3JpcHQtYXMtdGV4dC1sb2FkaW5nLXdpdGgtY2FyZXQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODc1YTQ4Y2I4NWQwOWQyYTBlNGQ1
YjhjMjk2M2E2ODc3M2I4YTlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdv
cmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy13aXRoLWNhcmV0LWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgY29uc29sZSBtZXNzYWdlIHdoZW4gc2NyaXB0
IGlzIGxvYWRlZCB3aXRoIGluY29ycmVjdCB0ZXh0L2h0bWwgbWltZSB0eXBlIGFuZCB0aGUgVVJM
IGNvbnRhaW5zIHRoZSAnXicgY2hhcmFjdGVyLgotCi1CdWcgMTAzMjQ4Ci1SZXNvdXJjZSBpbnRl
cnByZXRlZCBhcyBTY3JpcHQgYnV0IHRyYW5zZmVycmVkIHdpdGggTUlNRSB0eXBlIHRleHQvcGxh
aW46ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Nj
cmlwdC1hcy10ZXh0LnBocD90aGlzLWnigKYtd2l0aF5jYXJhdHNebGlrZV50aGVzZV5iZWNhdXNl
Xndob15kb2VzbnRebG92ZV5zdHJhbmdlXmNoYXJhY3RlcnNeaW5edXJscyIuIFtuYXRpdmUgY29k
ZV06MQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctd2l0aC1jYXJldC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay9zY3JpcHQtYXMt
dGV4dC1sb2FkaW5nLXdpdGgtY2FyZXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMTI2YTYxN2RlZWRkOGE3ZDM4YzYxZTA3ZmUyZDc3ZTViYmY4NzE1My4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmctd2l0aC1j
YXJldC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vY29uc29sZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2Fk
U2NyaXB0KCkKLXsKLSAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OwotICAgIHMuc3JjID0gInJlc291cmNlcy9zY3JpcHQtYXMtdGV4dC5waHA/dGhpcy1pcy1hLXdl
aXJkPXF1ZXJ5c3RyaW5nLXdpdGheY2FyYXRzXmxpa2VedGhlc2VeYmVjYXVzZV53aG9eZG9lc250
XmxvdmVec3RyYW5nZV5jaGFyYWN0ZXJzXmluXnVybHMiOwotICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocyk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Qu
YWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImxvYWRTY3JpcHQoKSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBjb25zb2xlIG1lc3NhZ2Ugd2hlbiBzY3Jp
cHQgaXMgbG9hZGVkIHdpdGggaW5jb3JyZWN0IHRleHQvaHRtbCBtaW1lCi10eXBlIGFuZCB0aGUg
VVJMIGNvbnRhaW5zIHRoZSAnXicgY2hhcmFjdGVyLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNDgiPkJ1ZyAxMDMyNDg8L2E+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3NjcmlwdC1hcy10ZXh0LWxvYWRpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsvc2NyaXB0LWFzLXRleHQt
bG9hZGluZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTAyMWE3YzEyZjBl
MDEyZjFiNzUxZDc1NjgwOGI0ZWVjNmU2MjYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL25ldHdvcmsvc2NyaXB0LWFzLXRleHQtbG9hZGluZy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vY29uc29sZS10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkU2NyaXB0KCkKLXsKLSAgICB2YXIgcyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHMuc3JjID0gInJlc291cmNlcy9z
Y3JpcHQtYXMtdGV4dC5waHAiOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocyk7Ci19
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZm
ZXIoc3RlcDEpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRTY3JpcHQo
KSIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD5UZXN0cyBjb25zb2xlIG1lc3NhZ2Ugd2hlbiBzY3JpcHQgaXMgbG9hZGVkIHdp
dGggaW5jb3JyZWN0IHRleHQvaHRtbCBtaW1lIHR5cGUuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTcyIj5CdWcgNjk5NzI8L2E+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9uZXR3b3JrL3gtZnJhbWUtb3B0aW9ucy1kZW55LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL25ldHdvcmsveC1mcmFtZS1v
cHRpb25zLWRlbnktZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
MmUxYWJjNDI1OGRjNWY0YWExODlhMmMxNDIwZWE0YjQxMGM1OGQ1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL25ldHdvcmsveC1mcmFtZS1vcHRpb25zLWRlbnktZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQg
dG8gZGlzcGxheSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
cmVzb3VyY2VzL3gtZnJhbWUtb3B0aW9ucy1kZW55LmNnaScgaW4gYSBmcmFtZSBiZWNhdXNlIGl0
IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnZGVueScuCi1UZXN0cyB0aGF0IHJlc3BvbnNlUmVj
ZWl2ZWQgaXMgY2FsbGVkIG9uIE5ldHdvcmtEaXNwYXRjaGVyIGZvciByZXNvdXJjZSByZXF1ZXN0
cyBkZW5pZWQgZHVlIHRvIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIuCi0KLQotUmVjZWl2ZWQgcmVz
cG9uc2UgZm9yIHgtZnJhbWUtb3B0aW9ucy1kZW55LmNnaQotU1VDQ0VTUwotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9uZXR3b3JrL3gtZnJh
bWUtb3B0aW9ucy1kZW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9uZXR3b3JrL3gtZnJhbWUtb3B0aW9ucy1kZW55Lmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGRlNThjNmE2ZjkyMDFkZjlmMzE5N2JhODc2MWUzNDllNTIyOGNhZjQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvbmV0d29yay94LWZyYW1lLW9wdGlvbnMt
ZGVueS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gbG9hZElGcmFtZVdpdGhEb3dubG9hZCgpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUo
InNyYyIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy9yZXNv
dXJjZXMveC1mcmFtZS1vcHRpb25zLWRlbnkuY2dpIik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWUpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JU
ZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwg
InJlc3BvbnNlUmVjZWl2ZWQiLCByZXNwb25zZVJlY2VpdmVkKTsKLSAgICBJbnNwZWN0b3JUZXN0
LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxv
YWRpbmdGYWlsZWQiLCBsb2FkaW5nRmFpbGVkKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZm
ZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSwgImxvYWRpbmdGaW5p
c2hlZCIsIGxvYWRpbmdGaW5pc2hlZCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgibG9hZElGcmFtZVdpdGhEb3dubG9hZCgpIik7Ci0KLSAgICBmdW5jdGlvbiByZXNwb25zZVJl
Y2VpdmVkKHJlcXVlc3RJZCwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKLSAgICB7Ci0g
ICAgICAgIHZhciByZXF1ZXN0ID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdEZvcklk
KHJlcXVlc3RJZCk7Ci0gICAgICAgIGlmICgveC1mcmFtZS1vcHRpb25zLWRlbnlcLmNnaS8uZXhl
YyhyZXF1ZXN0LnVybCkpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJS
ZWNlaXZlZCByZXNwb25zZSBmb3IgeC1mcmFtZS1vcHRpb25zLWRlbnkuY2dpIik7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU1VDQ0VTUyIpOwotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0
aW9uIGxvYWRpbmdGaW5pc2hlZChyZXF1ZXN0SWQsIGZpbmlzaFRpbWUpCi0gICAgewotICAgICAg
ICB2YXIgcmVxdWVzdCA9IFdlYkluc3BlY3Rvci5uZXR3b3JrTG9nLnJlcXVlc3RGb3JJZChyZXF1
ZXN0SWQpOwotICAgICAgICBpZiAoL3gtZnJhbWUtb3B0aW9ucy1kZW55XC5jZ2kvLmV4ZWMocmVx
dWVzdC51cmwpKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBsb2FkaW5nRmFpbGVkKHJlcXVlc3RJZCwgdGltZSwgbG9jYWxp
emVkRGVzY3JpcHRpb24sIGNhbmNlbGVkKQotICAgIHsKLSAgICAgICAgdmFyIHJlcXVlc3QgPSBX
ZWJJbnNwZWN0b3IubmV0d29ya0xvZy5yZXF1ZXN0Rm9ySWQocmVxdWVzdElkKTsKLSAgICAgICAg
aWYgKC94LWZyYW1lLW9wdGlvbnMtZGVueVwuY2dpLy5leGVjKHJlcXVlc3QudXJsKSkKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IHJlc3Bv
bnNlUmVjZWl2ZWQgaXMgY2FsbGVkIG9uIE5ldHdvcmtEaXNwYXRjaGVyIGZvciByZXNvdXJjZSBy
ZXF1ZXN0cyBkZW5pZWQgZHVlIHRvIFgtRnJhbWUtT3B0aW9ucyBoZWFkZXIuPC9wPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcHJvdG9jb2wtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3Byb3RvY29sLXRlc3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDk3M2VmZTc2ODJjOTE0ZmQzZGQ1NWI3MWQ0ZDViOTI4NThlOWJmYWMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcHJvdG9jb2wtdGVzdC5qcworKysgL2Rldi9udWxsCkBAIC0x
LDEyOSArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9Qcm90b2NvbFRlc3QgPSBmdW5jdGlvbigpIHsK
LQotSW5zcGVjdG9yVGVzdC5maWx0ZXJQcm9wcyA9IGZ1bmN0aW9uKG9iamVjdCwgbm9uZGV0ZXJt
aW5pc3RpY1Byb3BzKQotewotICAgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QpCi0gICAg
ICAgIGZvciAodmFyIHByb3AgaW4gb2JqZWN0KQotICAgICAgICAgICAgaWYgKHByb3AgaW4gbm9u
ZGV0ZXJtaW5pc3RpY1Byb3BzKQotICAgICAgICAgICAgICAgIG9iamVjdFtwcm9wXSA9ICI8IiAr
IHR5cGVvZiBvYmplY3RbcHJvcF0gKyAiPiI7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgb2JqZWN0W3Byb3BdID0gdGhpcy5maWx0ZXJQcm9wcyhvYmplY3RbcHJvcF0sIG5vbmRl
dGVybWluaXN0aWNQcm9wcyk7Ci0gICAgZWxzZSBpZiAob2JqZWN0IGluc3RhbmNlb2YgQXJyYXkp
Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqZWN0Lmxlbmd0aDsgKytpKQotICAgICAg
ICAgICAgb2JqZWN0W2ldID0gdGhpcy5maWx0ZXJQcm9wcyhvYmplY3RbaV0sIG5vbmRldGVybWlu
aXN0aWNQcm9wcyk7Ci0gICAgZWxzZSBpZiAodHlwZW9mIG9iamVjdCA9PT0gIm51bWJlciIpCi0g
ICAgICAgIG9iamVjdCA9ICI8bnVtYmVyPiI7Ci0gICAgZWxzZSBpZiAodHlwZW9mIG9iamVjdCA9
PT0gInN0cmluZyIgJiYgb2JqZWN0LmluZGV4T2YoIlwiaWRcIiIpICE9IC0xKQotICAgICAgICBv
YmplY3QgPSAiPHN0cmluZz4iOwotICAgIHJldHVybiBvYmplY3Q7Ci19OwotCi1JbnNwZWN0b3JU
ZXN0Ll9kdW1wRXZlbnQgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90
b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwotICAgIHZhciBldmVudE5hbWUgPSBhcmdzLnNo
aWZ0KCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5fYWdlbnRDb3ZlcmFnZVtldmVudE5hbWVdID0gImNo
ZWNrZWQiOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJldmVudCAiICsgSW5zcGVjdG9y
VGVzdC5fYWdlbnROYW1lICsgIi4iICsgZXZlbnROYW1lKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFk
ZE9iamVjdChJbnNwZWN0b3JUZXN0Ll9sYXN0UmVjZWl2ZWRNZXNzYWdlLCBJbnNwZWN0b3JUZXN0
Ll9jdXN0b21Gb3JtYXR0ZXJzKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0K
LSAgICB2YXIgb3JpZ2luYWxFdmVudEhhbmRsZXIgPSBhcmdzLnNoaWZ0KCk7Ci0gICAgb3JpZ2lu
YWxFdmVudEhhbmRsZXIuYXBwbHkodGhpcywgYXJncyk7Ci19OwotCi0KLUluc3BlY3RvclRlc3Qu
X2R1bXBDYWxsQXJndW1lbnRzID0gZnVuY3Rpb24oY2FsbEFyZ3VtZW50cykKLXsKLSAgICB2YXIg
Y2FsbEFyZ3VtZW50c0NvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNhbGxBcmd1bWVu
dHMpKTsKLSAgICB2YXIgYWdlbnROYW1lID0gY2FsbEFyZ3VtZW50c0NvcHkuc2hpZnQoKTsKLSAg
ICB2YXIgZnVuY3Rpb25OYW1lID0gY2FsbEFyZ3VtZW50c0NvcHkuc2hpZnQoKTsKLSAgICB0aGlz
LmZpbHRlclByb3BzKGNhbGxBcmd1bWVudHNDb3B5LCB0aGlzLl9jdXN0b21Gb3JtYXR0ZXJzKTsK
LSAgICB2YXIgZXhwcmVzc2lvbiA9IEpTT04uc3RyaW5naWZ5KGNhbGxBcmd1bWVudHNDb3B5KTsK
LSAgICBleHByZXNzaW9uID0gZXhwcmVzc2lvbi5zbGljZSgxLCBleHByZXNzaW9uLmxlbmd0aCAt
IDEpLnJlcGxhY2UoL1wiPG51bWJlcj5cIi9nLCAiPG51bWJlcj4iKS5yZXBsYWNlKC9cIjxzdHJp
bmc+XCIvZywgIjxzdHJpbmc+Iik7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0i
KTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChhZ2VudE5hbWUgKyAiLiIgKyBmdW5jdGlv
bk5hbWUgKyAiKCIgKyBleHByZXNzaW9uICsgIikiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7Ci19OwotCi1JbnNwZWN0b3JUZXN0Ll9jYWxsYmFjayA9IGZ1bmN0aW9uKHJlc3Vs
dCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVzcG9uc2U6Iik7Ci0gICAgSW5z
cGVjdG9yVGVzdC5hZGRPYmplY3QoSW5zcGVjdG9yVGVzdC5fbGFzdFJlY2VpdmVkTWVzc2FnZSwg
SW5zcGVjdG9yVGVzdC5fY3VzdG9tRm9ybWF0dGVycyk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiIpOwotICAgIEluc3BlY3RvclRlc3QuX3J1bk5leHRUZXN0KCk7Ci19OwotCi1JbnNw
ZWN0b3JUZXN0Ll9ydW5OZXh0VGVzdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgc3RlcCA9ICsr
dGhpcy5fc3RlcDsKLSAgICB2YXIgbmV4dFRlc3QgPSB0aGlzLl90ZXN0U3VpdGVbc3RlcF07Ci0g
ICAgaWYgKG5leHRUZXN0KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuX2R1bXBDYWxsQXJndW1l
bnRzKG5leHRUZXN0KTsKLQotICAgICAgICBuZXh0VGVzdC5wdXNoKHRoaXMuX2NhbGxiYWNrLmJp
bmQodGhpcykpOwotCi0gICAgICAgIHZhciBhZ2VudE5hbWUgPSBuZXh0VGVzdC5zaGlmdCgpOwot
ICAgICAgICB2YXIgZnVuY3Rpb25OYW1lID0gbmV4dFRlc3Quc2hpZnQoKTsKLSAgICAgICAgd2lu
ZG93W2FnZW50TmFtZV1bZnVuY3Rpb25OYW1lXS5hcHBseSh3aW5kb3dbYWdlbnROYW1lXSwgbmV4
dFRlc3QpOwotCi0gICAgICAgIHZhciBsYXN0U2VudE1lc3NhZ2UgPSBJbnNwZWN0b3JUZXN0Ll9s
YXN0U2VudE1lc3NhZ2U7IC8vIFRoaXMgaXMgYmVjYXVzZSB0aGUgbmV4dCBjYWxsIHdpbGwgb3Zl
cnJpZGUgX2xhc3RTZW50TWVzc2FnZS4KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InJlcXVlc3Q6Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KGxhc3RTZW50TWVz
c2FnZSwgSW5zcGVjdG9yVGVzdC5fY3VzdG9tRm9ybWF0dGVycyk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIiKTsKLQotICAgICAgICBpZiAoYWdlbnROYW1lID09PSB0aGlzLl9h
Z2VudE5hbWUpCi0gICAgICAgICAgICB0aGlzLl9hZ2VudENvdmVyYWdlW2Z1bmN0aW9uTmFtZV0g
PSAiY2hlY2tlZCI7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkNvdmVyYWdl
IGZvciAiICsgdGhpcy5fYWdlbnROYW1lKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmpl
Y3QodGhpcy5fYWdlbnRDb3ZlcmFnZSk7Ci0gICAgICAgIEluc3BlY3RvckJhY2tlbmQuZGlzcGF0
Y2ggPSB0aGlzLl9vcmlnaW5hbERpc3BhdGNoOwotICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhv
c3Quc2VuZE1lc3NhZ2VUb0JhY2tlbmQgPSB0aGlzLl9vcmlnaW5hbFNlbmRNZXNzYWdlVG9CYWNr
ZW5kOwotICAgICAgICB0aGlzLmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX07Ci0KLUluc3BlY3Rv
clRlc3QucnVuUHJvdG9jb2xUZXN0U3VpdGUgPSBmdW5jdGlvbihhZ2VudE5hbWUsIHRlc3RTdWl0
ZSwgbm9uZGV0ZXJtaW5pc3RpY1Byb3BzKQotewotICAgIHRoaXMuX2FnZW50TmFtZSA9IGFnZW50
TmFtZTsKLSAgICB0aGlzLl90ZXN0U3VpdGUgPSB0ZXN0U3VpdGU7Ci0gICAgdGhpcy5fY3VzdG9t
Rm9ybWF0dGVycyA9IHt9OwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9uZGV0ZXJtaW5pc3Rp
Y1Byb3BzLmxlbmd0aDsgKytpKQotICAgICAgICB0aGlzLl9jdXN0b21Gb3JtYXR0ZXJzW25vbmRl
dGVybWluaXN0aWNQcm9wc1tpXV0gPSAiZm9ybWF0QXNUeXBlTmFtZSI7Ci0gICAgdmFyIGFnZW50
ID0gd2luZG93W2FnZW50TmFtZV07Ci0KLSAgICB0aGlzLl9hZ2VudENvdmVyYWdlID0ge307Ci0g
ICAgZm9yICh2YXIga2V5IGluIGFnZW50KQotICAgICAgICB0aGlzLl9hZ2VudENvdmVyYWdlW2tl
eV0gPSAibm90IGNoZWNrZWQiOwotCi0gICAgdmFyIGRvbWFpbiA9IGFnZW50TmFtZS5yZXBsYWNl
KC9BZ2VudCQvLCIiKTsKLSAgICB2YXIgZG9tYWluTWVzc2FnZXNIYW5kbGVyID0gSW5zcGVjdG9y
QmFja2VuZC5fZG9tYWluRGlzcGF0Y2hlcnNbZG9tYWluXTsKLSAgICBmb3IgKHZhciBldmVudE5h
bWUgaW4gZG9tYWluTWVzc2FnZXNIYW5kbGVyKSB7Ci0gICAgICAgIGlmICh0eXBlb2YgZG9tYWlu
TWVzc2FnZXNIYW5kbGVyW2V2ZW50TmFtZV0gIT09ICJmdW5jdGlvbiIpCi0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgdGhpcy5fYWdlbnRDb3ZlcmFnZVtldmVudE5hbWVdID0gIm5vdCBj
aGVja2VkIjsKLSAgICAgICAgZG9tYWluTWVzc2FnZXNIYW5kbGVyW2V2ZW50TmFtZV0gPSBJbnNw
ZWN0b3JUZXN0Ll9kdW1wRXZlbnQuYmluZChkb21haW5NZXNzYWdlc0hhbmRsZXIsIGV2ZW50TmFt
ZSwgZG9tYWluTWVzc2FnZXNIYW5kbGVyW2V2ZW50TmFtZV0pOwotICAgIH0KLQotICAgIHRoaXMu
X29yaWdpbmFsRGlzcGF0Y2ggPSBJbnNwZWN0b3JCYWNrZW5kLmRpc3BhdGNoOwotICAgIEluc3Bl
Y3RvckJhY2tlbmQuZGlzcGF0Y2ggPSBmdW5jdGlvbihtZXNzYWdlKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5fbGFzdFJlY2VpdmVkTWVzc2FnZSA9ICh0eXBlb2YgbWVzc2FnZSA9PT0g
InN0cmluZyIpID8gSlNPTi5wYXJzZShtZXNzYWdlKSA6IG1lc3NhZ2U7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuX29yaWdpbmFsRGlzcGF0Y2guYXBwbHkoSW5zcGVjdG9yQmFja2VuZCwgW21lc3Nh
Z2VdKTsKLSAgICB9Ci0KLSAgICB0aGlzLl9vcmlnaW5hbFNlbmRNZXNzYWdlVG9CYWNrZW5kID0g
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNlbmRNZXNzYWdlVG9CYWNrZW5kOwotICAgIEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5zZW5kTWVzc2FnZVRvQmFja2VuZCA9IGZ1bmN0aW9uKG1lc3NhZ2UpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0Ll9sYXN0U2VudE1lc3NhZ2UgPSBKU09OLnBhcnNl
KG1lc3NhZ2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0Ll9vcmlnaW5hbFNlbmRNZXNzYWdlVG9C
YWNrZW5kLmFwcGx5KEluc3BlY3RvckZyb250ZW5kSG9zdCwgW21lc3NhZ2VdKTsKLSAgICB9Ci0K
LSAgICB0aGlzLl9zdGVwID0gLTE7Ci0KLSAgICB0aGlzLl9ydW5OZXh0VGVzdCgpOwotfTsKLQot
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYzYzIxYmI0MzY2ZDE2ZGY2ZjJh
Yjc1Yjg2ZGYzNjQyOWM5OTg4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZS1oYXItY29udmVyc2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMjYg
KzAsMCBAQAotVGVzdHMgY29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNl
bnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQuCi0KLVBhZ2UgcmVsb2FkZWQuCi17Ci0gICAgdmVyc2lv
biA6IDxzdHJpbmc+Ci0gICAgY3JlYXRvciA6IHsKLSAgICAgICAgbmFtZSA6ICJXZWJJbnNwZWN0
b3IiCi0gICAgICAgIHZlcnNpb24gOiA8c3RyaW5nPgotICAgIH0KLSAgICBwYWdlcyA6IFsKLSAg
ICAgICAgewotICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4KLSAgICAgICAg
ICAgIGlkIDogPHN0cmluZz4KLSAgICAgICAgICAgIHRpdGxlIDogImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKLSAgICAgICAgICAg
IHBhZ2VUaW1pbmdzIDogewotICAgICAgICAgICAgICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVy
PgotICAgICAgICAgICAgICAgIG9uTG9hZCA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICBdCi0gICAgZW50cmllcyA6IFsKLSAgICAgICAgewotICAgICAgICAgICAgcGFn
ZXJlZiA6ICJwYWdlXzEiCi0gICAgICAgICAgICBzdGFydGVkRGF0ZVRpbWUgOiA8b2JqZWN0Pgot
ICAgICAgICAgICAgdGltZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICByZXF1ZXN0IDogewotICAg
ICAgICAgICAgICAgIG1ldGhvZCA6ICJHRVQiCi0gICAgICAgICAgICAgICAgdXJsIDogImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiCi0gICAgICAgICAg
ICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8xLjEiCi0gICAgICAgICAgICAgICAgaGVhZGVycyA6
IDxvYmplY3Q+Ci0gICAgICAgICAgICAgICAgcXVlcnlTdHJpbmcgOiBbCi0gICAgICAgICAgICAg
ICAgXQotICAgICAgICAgICAgICAgIGNvb2tpZXMgOiBbCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgOiAiYSIKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHZhbHVlIDogImIiCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIDogIi9wYXRoIgot
ICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluIDogImV4YW1wbGUuY29tIgotICAgICAgICAg
ICAgICAgICAgICAgICAgZXhwaXJlcyA6IG51bGwKLSAgICAgICAgICAgICAgICAgICAgICAgIGh0
dHBPbmx5IDogZmFsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyZSA6IGZhbHNlCi0g
ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgbmFtZSA6ICJhMSIKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIDog
ImIxIgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA6IHVuZGVmaW5lZAotICAgICAgICAg
ICAgICAgICAgICAgICAgZG9tYWluIDogdW5kZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgICAg
ICBleHBpcmVzIDogbnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgaHR0cE9ubHkgOiBmYWxz
ZQotICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJlIDogZmFsc2UKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBu
YW1lIDogImMxIgotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgOiAiZDEiCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwYXRoIDogdW5kZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgICAg
ICBkb21haW4gOiB1bmRlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXMgOiBu
dWxsCi0gICAgICAgICAgICAgICAgICAgICAgICBodHRwT25seSA6IGZhbHNlCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzZWN1cmUgOiBmYWxzZQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAg
ICAgICAgICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICByZXNwb25zZSA6IHsKLSAgICAgICAgICAgICAgICBzdGF0dXMgOiAzMDQKLSAgICAgICAg
ICAgICAgICBzdGF0dXNUZXh0IDogIk5vdCBNb2RpZmllZCIKLSAgICAgICAgICAgICAgICBodHRw
VmVyc2lvbiA6ICJIVFRQLzEuMSIKLSAgICAgICAgICAgICAgICBoZWFkZXJzIDogPG9iamVjdD4K
LSAgICAgICAgICAgICAgICBjb29raWVzIDogWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBuYW1lIDogIngiCi0gICAgICAgICAgICAgICAgICAgICAgICB2
YWx1ZSA6ICJ5IgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA6ICIvcGF0aCIKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGRvbWFpbiA6ICJleGFtcGxlLmNvbSIKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGlyZXMgOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICBodHRwT25s
eSA6IHRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyZSA6IHRydWUKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBuYW1lIDogIngxIgotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgOiAieTEiCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwYXRoIDogdW5kZWZpbmVkCi0gICAgICAgICAgICAgICAg
ICAgICAgICBkb21haW4gOiB1bmRlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGly
ZXMgOiBudWxsCi0gICAgICAgICAgICAgICAgICAgICAgICBodHRwT25seSA6IGZhbHNlCi0gICAg
ICAgICAgICAgICAgICAgICAgICBzZWN1cmUgOiBmYWxzZQotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgOiAi
ejIiCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICJ5MiIKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHBhdGggOiB1bmRlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFp
biA6IHVuZGVmaW5lZAotICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlcyA6IG51bGwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGh0dHBPbmx5IDogZmFsc2UKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNlY3VyZSA6IGZhbHNlCi0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBdCi0gICAgICAgICAgICAgICAgY29udGVudCA6IHsKLSAgICAgICAgICAgICAgICAgICAg
c2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uIDogPG51bWJl
cj4KLSAgICAgICAgICAgICAgICAgICAgbWltZVR5cGUgOiAidGV4dC9wbGFpbiIKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgotICAgICAgICAgICAg
ICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAgICAgICAgICBib2R5U2l6ZSA6IDxu
dW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYWNoZSA6IHsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHRpbWluZ3MgOiA8b2JqZWN0PgotICAgICAgICB9Ci0gICAgICAgIHsK
LSAgICAgICAgICAgIHBhZ2VyZWYgOiAicGFnZV8xIgotICAgICAgICAgICAgc3RhcnRlZERhdGVU
aW1lIDogPG9iamVjdD4KLSAgICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgotICAgICAgICAgICAg
cmVxdWVzdCA6IHsKLSAgICAgICAgICAgICAgICBtZXRob2QgOiAiR0VUIgotICAgICAgICAgICAg
ICAgIHVybCA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1j
b252ZXJzaW9uLmh0bWwiCi0gICAgICAgICAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8xLjEi
Ci0gICAgICAgICAgICAgICAgaGVhZGVycyA6IDxvYmplY3Q+Ci0gICAgICAgICAgICAgICAgcXVl
cnlTdHJpbmcgOiBbCi0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGNvb2tpZXMg
OiBbCi0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51
bWJlcj4KLSAgICAgICAgICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICByZXNwb25zZSA6IHsKLSAgICAgICAgICAgICAgICBzdGF0dXMgOiAyMDAK
LSAgICAgICAgICAgICAgICBzdGF0dXNUZXh0IDogIk9LIgotICAgICAgICAgICAgICAgIGh0dHBW
ZXJzaW9uIDogIkhUVFAvMS4xIgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0Pgot
ICAgICAgICAgICAgICAgIGNvb2tpZXMgOiBbCi0gICAgICAgICAgICAgICAgXQotICAgICAgICAg
ICAgICAgIGNvbnRlbnQgOiB7Ci0gICAgICAgICAgICAgICAgICAgIHNpemUgOiA8bnVtYmVyPgot
ICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbiA6IDxudW1iZXI+Ci0gICAgICAgICAgICAg
ICAgICAgIG1pbWVUeXBlIDogInRleHQvaHRtbCIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDog
PG51bWJlcj4KLSAgICAgICAgICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBjYWNoZSA6IHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRp
bWluZ3MgOiA8b2JqZWN0PgotICAgICAgICB9Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2Vy
ZWYgOiAicGFnZV8xIgotICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4KLSAg
ICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgotICAgICAgICAgICAgcmVxdWVzdCA6IHsKLSAgICAg
ICAgICAgICAgICBtZXRob2QgOiAiR0VUIgotICAgICAgICAgICAgICAgIHVybCA6ICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzIgotICAgICAgICAgICAg
ICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8
b2JqZWN0PgotICAgICAgICAgICAgICAgIHF1ZXJ5U3RyaW5nIDogWwotICAgICAgICAgICAgICAg
IF0KLSAgICAgICAgICAgICAgICBjb29raWVzIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAg
ICAgICAgICAgICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgYm9keVNp
emUgOiA8bnVtYmVyPgotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmVzcG9uc2UgOiB7Ci0g
ICAgICAgICAgICAgICAgc3RhdHVzIDogMzA0Ci0gICAgICAgICAgICAgICAgc3RhdHVzVGV4dCA6
ICJOb3QgTW9kaWZpZWQiCi0gICAgICAgICAgICAgICAgaHR0cFZlcnNpb24gOiAiSFRUUC8xLjEi
Ci0gICAgICAgICAgICAgICAgaGVhZGVycyA6IDxvYmplY3Q+Ci0gICAgICAgICAgICAgICAgY29v
a2llcyA6IFsKLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICAgICAgY29udGVudCA6IHsK
LSAgICAgICAgICAgICAgICAgICAgc2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgICAg
IGNvbXByZXNzaW9uIDogPG51bWJlcj4KLSAgICAgICAgICAgICAgICAgICAgbWltZVR5cGUgOiAi
dGV4dC9wbGFpbiIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVkaXJlY3RV
UkwgOiAiIgotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAg
ICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBj
YWNoZSA6IHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRpbWluZ3MgOiA8b2JqZWN0Pgot
ICAgICAgICB9Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2VyZWYgOiAicGFnZV8xIgotICAg
ICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4KLSAgICAgICAgICAgIHRpbWUgOiA8
bnVtYmVyPgotICAgICAgICAgICAgcmVxdWVzdCA6IHsKLSAgICAgICAgICAgICAgICBtZXRob2Qg
OiAiUE9TVCIKLSAgICAgICAgICAgICAgICB1cmwgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpIgotICAgICAgICAgICAgICAgIGh0dHBW
ZXJzaW9uIDogIkhUVFAvMS4xIgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0Pgot
ICAgICAgICAgICAgICAgIHF1ZXJ5U3RyaW5nIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAg
ICAgICAgICAgICBjb29raWVzIDogWwotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICAg
ICBoZWFkZXJzU2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgYm9keVNpemUgOiA8bnVt
YmVyPgotICAgICAgICAgICAgICAgIHBvc3REYXRhIDogewotICAgICAgICAgICAgICAgICAgICBt
aW1lVHlwZSA6ICJ0ZXh0L3htbCIKLSAgICAgICAgICAgICAgICAgICAgdGV4dCA6ICI8eG1sPjwv
eG1sPiIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXNw
b25zZSA6IHsKLSAgICAgICAgICAgICAgICBzdGF0dXMgOiAyMDAKLSAgICAgICAgICAgICAgICBz
dGF0dXNUZXh0IDogIk9LIgotICAgICAgICAgICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4x
IgotICAgICAgICAgICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAgICAgICAgICAgIGNv
b2tpZXMgOiBbCi0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgIGNvbnRlbnQgOiB7
Ci0gICAgICAgICAgICAgICAgICAgIHNpemUgOiA8bnVtYmVyPgotICAgICAgICAgICAgICAgICAg
ICBjb21wcmVzc2lvbiA6IDxudW1iZXI+Ci0gICAgICAgICAgICAgICAgICAgIG1pbWVUeXBlIDog
ImFwcGxpY2F0aW9uL3htbCIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVk
aXJlY3RVUkwgOiAiIgotICAgICAgICAgICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAg
ICAgICAgICAgICAgICBib2R5U2l6ZSA6IDxudW1iZXI+Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBjYWNoZSA6IHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRpbWluZ3MgOiA8b2Jq
ZWN0PgotICAgICAgICB9Ci0gICAgXQotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1oYXItY29udmVyc2lvbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLWNv
bnZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTI3ZjdlODAxMjYw
NDhiMzkwMjFlZTk3ODk1YjViN2JjNDM2NjE1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS1oYXItY29udmVyc2lvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzIg
KzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imlu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGRvWEhSKCkKLXsKLSAgICB2YXIg
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oIlBPU1QiLCAicmVzb3Vy
Y2VzL3Bvc3QtdGFyZ2V0LmNnaSIsIGZhbHNlKTsKLSAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigi
Q29udGVudC1UeXBlIiwgInRleHQveG1sIik7Ci0gICAgeGhyLnNlbmQoIjx4bWw+PC94bWw+Iik7
Ci19Ci0KLXZhciB0ZXN0ID0gZnVuY3Rpb24oKQotewotICAgIEluc3BlY3RvclRlc3QucmVsb2Fk
UGFnZShzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkb1hIUigpIiwgc3RlcDIpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGZpbmRSZXF1ZXN0QnlV
UkwodXJsKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgcmVxdWVzdHMgPSBXZWJJbnNwZWN0
b3IubmV0d29ya0xvZy5yZXF1ZXN0czsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cmVxdWVzdHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBpZiAodXJsLnRlc3QocmVx
dWVzdHNbaV0udXJsKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RzW2ldOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWRkQ29va2llSGVh
ZGVyc1RvUmVxdWVzdChyZXF1ZXN0KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXF1ZXN0LnJl
cXVlc3RIZWFkZXJzID0gWwotICAgICAgICAgICAgICAgIHsgbmFtZTogIkNvb2tpZSIsIHZhbHVl
OiAiYT1iOyAkUGF0aD0vcGF0aDsgJERvbWFpbj1leGFtcGxlLmNvbTsgYTE9YjFcbmMxPWQxIiB9
Ci0gICAgICAgICAgICBdOwotCi0gICAgICAgICAgICByZXF1ZXN0LnJlc3BvbnNlSGVhZGVycyA9
IFsKLSAgICAgICAgICAgICAgICB7IG5hbWU6ICJTZXQtQ29va2llIiwgdmFsdWU6ICJ4PXk7IFBh
dGg9L3BhdGg7IERvbWFpbj1leGFtcGxlLmNvbTsgRGlzY2FyZDsgaHR0cE9ubHk7IFNlY3VyZTsg
VmVyc2lvbj0xXG54MT15MVxuejI9eTIiIH0KLSAgICAgICAgICAgIF07Ci0gICAgICAgIH0KLQot
ICAgICAgICBhZGRDb29raWVIZWFkZXJzVG9SZXF1ZXN0KGZpbmRSZXF1ZXN0QnlVUkwoL2luc3Bl
Y3Rvci10ZXN0XC5qcyQvKSk7Ci0gICAgICAgIHZhciBsb2cgPSAobmV3IFdlYkluc3BlY3Rvci5I
QVJMb2coV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucmVxdWVzdHMpKS5idWlsZCgpOwotICAgICAg
ICAvLyBGaWx0ZXIgb3V0IGZhdmljb24uaWNvIHJlcXVlc3RzIHRoYXQgb25seSBhcHBlYXIgb24g
Y2VydGFpbiBwbGF0Zm9ybXMuCi0gICAgICAgIGxvZy5lbnRyaWVzID0gbG9nLmVudHJpZXMuZmls
dGVyKGZ1bmN0aW9uKGVudHJ5KSB7Ci0gICAgICAgICAgICByZXR1cm4gIS9mYXZpY29uXC5pY28k
Ly50ZXN0KGVudHJ5LnJlcXVlc3QudXJsKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGxvZy5lbnRy
aWVzLnNvcnQoSW5zcGVjdG9yVGVzdC5yZXF1ZXN0VVJMQ29tcGFyZXIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZE9iamVjdChsb2csIEluc3BlY3RvclRlc3QuSEFSUHJvcGVydHlGb3JtYXR0
ZXJzV2l0aFNpemUpOwotICAgICAgICB2YXIgcGFnZVRpbWluZ3MgPSBsb2cucGFnZXNbMF0ucGFn
ZVRpbWluZ3M7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQot
fQotCi08L3NjcmlwdD4KLQotCi08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPgotVGVzdHMgY29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRh
dGlvbiBpbnRvIEhBUiBmb3JtYXQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhh
ci1oZWFkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYTg2NjU0ODBmMjI0MjllNDNjNTFlOTA4OGUyNTNhMmJjMDcyNmE0
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1oYXItaGVhZGVycy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi1UZXN0cyB0aGUgbm9u
ZGV0ZXJtaW5pc3RpYyBiaXRzIG9mIEhBUiBjb252ZXJzaW9uIHZpYSB0aGUgbWFnaWMgb2YgaGFy
ZC1jb2RlZCB2YWx1ZXMuCi0KLVJlc291cmNlOnsKLSAgICByZXF1ZXN0IDogewotICAgICAgICBo
ZWFkZXJzIDogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVxdWVz
dCIKLSAgICAgICAgICAgICAgICB2YWx1ZSA6ICJyZXF1ZXN0LXZhbHVlIgotICAgICAgICAgICAg
fQotICAgICAgICBdCi0gICAgICAgIGhlYWRlcnNTaXplIDogNzIKLSAgICAgICAgaGVhZGVyc1Rl
eHQgOiAiR0VUIGh0dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3ItdGVzdC5qcyBIVFRQLzEuMVxy
XG5SZXF1ZXN0OiBoZWFkZXJzLXRleHQiCi0gICAgfQotICAgIHJlc3BvbnNlIDogewotICAgICAg
ICBoZWFkZXJzIDogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVz
cG9uc2UiCi0gICAgICAgICAgICAgICAgdmFsdWUgOiAicmVzcG9uc2UtdmFsdWUiCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIF0KLSAgICAgICAgaGVhZGVyc1NpemUgOiAzOQotICAgICAgICBoZWFk
ZXJzVGV4dCA6ICJIVFRQLzEuMSAyMDAgT0tcclxuUmVzcG9uc2U6IGhlYWRlcnMtdGV4dCIKLSAg
ICAgICAgcmVzb3VyY2VTaXplIDogMTAwMAotICAgICAgICB0cmFuc2ZlclNpemUgOiA1MzkKLSAg
ICB9Ci19Ci1IQVI6ewotICAgIGNhY2hlIDogewotICAgIH0KLSAgICByZXF1ZXN0IDogewotICAg
ICAgICBib2R5U2l6ZSA6IDAKLSAgICAgICAgY29va2llcyA6IFsKLSAgICAgICAgXQotICAgICAg
ICBoZWFkZXJzIDogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAiUmVx
dWVzdCIKLSAgICAgICAgICAgICAgICB2YWx1ZSA6ICJyZXF1ZXN0LXZhbHVlIgotICAgICAgICAg
ICAgfQotICAgICAgICBdCi0gICAgICAgIGhlYWRlcnNTaXplIDogNzIKLSAgICAgICAgaHR0cFZl
cnNpb24gOiAiSFRUUC8xLjEiCi0gICAgICAgIG1ldGhvZCA6ICJHRVQiCi0gICAgICAgIHF1ZXJ5
U3RyaW5nIDogWwotICAgICAgICBdCi0gICAgICAgIHVybCA6ICJodHRwOi8vZXhhbXBsZS5jb20v
aW5zcGVjdG9yLXRlc3QuanMiCi0gICAgfQotICAgIHJlc3BvbnNlIDogewotICAgICAgICBib2R5
U2l6ZSA6IDUwMAotICAgICAgICBjb250ZW50IDogewotICAgICAgICAgICAgY29tcHJlc3Npb24g
OiA1MDAKLSAgICAgICAgICAgIG1pbWVUeXBlIDogInRleHQvaHRtbCIKLSAgICAgICAgICAgIHNp
emUgOiAxMDAwCi0gICAgICAgIH0KLSAgICAgICAgY29va2llcyA6IFsKLSAgICAgICAgXQotICAg
ICAgICBoZWFkZXJzIDogWwotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG5hbWUgOiAi
UmVzcG9uc2UiCi0gICAgICAgICAgICAgICAgdmFsdWUgOiAicmVzcG9uc2UtdmFsdWUiCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIF0KLSAgICAgICAgaGVhZGVyc1NpemUgOiAzOQotICAgICAgICBo
dHRwVmVyc2lvbiA6ICJIVFRQLzEuMSIKLSAgICAgICAgcmVkaXJlY3RVUkwgOiAiIgotICAgICAg
ICBzdGF0dXMgOiAyMDAKLSAgICAgICAgc3RhdHVzVGV4dCA6ICJPSyIKLSAgICB9Ci0gICAgc3Rh
cnRlZERhdGVUaW1lIDogPG9iamVjdD4KLSAgICB0aW1lIDogPG51bWJlcj4KLSAgICB0aW1pbmdz
IDogPG9iamVjdD4KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLWhlYWRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1oZWFkZXJzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0OWRiNjk0ZjQ1ZGYzMzk0YjQ3ZDNhNmFmNWIx
YTUxNWYyZTQxYzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFy
LWhlYWRlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhZG9jdHlwZSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c2Ny
aXB0PgotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rpb24gdmlzaWJsZU5ld2xp
bmVzKHMpCi0gICAgewotICAgICAgICByZXR1cm4gcy5yZXBsYWNlKC9cci8sICJcXHIiKS5yZXBs
YWNlKC9cbi8sICJcXG4iKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzZXRSZXF1ZXN0VmFsdWVz
KHJlcXVlc3QpCi0gICAgewotICAgICAgICByZXF1ZXN0LnJlcXVlc3RIZWFkZXJzID0gWwotICAg
ICAgICAgICAgeyBuYW1lOiAiUmVxdWVzdCIsIHZhbHVlOiAicmVxdWVzdC12YWx1ZSIgfQotICAg
ICAgICBdOwotICAgICAgICByZXF1ZXN0LnJlcXVlc3RIZWFkZXJzVGV4dCA9ICJHRVQgaHR0cDov
L2V4YW1wbGUuY29tL2luc3BlY3Rvci10ZXN0LmpzIEhUVFAvMS4xXHJcblJlcXVlc3Q6IGhlYWRl
cnMtdGV4dCI7Ci0KLSAgICAgICAgcmVxdWVzdC5yZXNwb25zZUhlYWRlcnMgPSBbCi0gICAgICAg
ICAgICB7IG5hbWU6ICJSZXNwb25zZSIsIHZhbHVlOiAicmVzcG9uc2UtdmFsdWUiIH0KLSAgICAg
ICAgXTsKLSAgICAgICAgcmVxdWVzdC5yZXNwb25zZUhlYWRlcnNUZXh0ID0gIkhUVFAvMS4xIDIw
MCBPS1xyXG5SZXNwb25zZTogaGVhZGVycy10ZXh0IjsKLQotICAgICAgICByZXF1ZXN0LmRvY3Vt
ZW50VVJMID0gImh0dHA6Ly9leGFtcGxlLmNvbS9pbnNwZWN0b3ItdGVzdC5qcyI7Ci0gICAgICAg
IHJlcXVlc3QucmVxdWVzdE1ldGhvZCA9ICJHRVQiOwotICAgICAgICByZXF1ZXN0Lm1pbWVUeXBl
ID0gInRleHQvaHRtbCI7Ci0gICAgICAgIHJlcXVlc3Quc3RhdHVzQ29kZSA9IDIwMDsKLSAgICAg
ICAgcmVxdWVzdC5zdGF0dXNUZXh0ID0gIk9LIjsKLSAgICAgICAgcmVxdWVzdC5yZXNvdXJjZVNp
emUgPSAxMDAwOwotICAgICAgICByZXF1ZXN0Ll90cmFuc2ZlclNpemUgPSA1Mzk7IC8vIDM5ID0g
aGVhZGVyIHNpemUgYXQgdGhlIGVuZCBvZiB0aGUgZGF5Ci0gICAgfQotCi0gICAgdmFyIHRlc3RS
ZXF1ZXN0ID0gbmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVzdCgidGVzdFJlcXVlc3QiLCAi
aHR0cDovL2V4YW1wbGUuY29tL2luc3BlY3Rvci10ZXN0LmpzIiwgMSk7IAotICAgIHNldFJlcXVl
c3RWYWx1ZXModGVzdFJlcXVlc3QpOwotICAgIHZhciByZXF1ZXN0UmVzdWx0cyA9IHsKLSAgICAg
ICAgInJlcXVlc3QiOiB7Ci0gICAgICAgICAgICAiaGVhZGVycyI6IHRlc3RSZXF1ZXN0LnJlcXVl
c3RIZWFkZXJzLAotICAgICAgICAgICAgImhlYWRlcnNUZXh0IjogdmlzaWJsZU5ld2xpbmVzKHRl
c3RSZXF1ZXN0LnJlcXVlc3RIZWFkZXJzVGV4dCksCi0gICAgICAgICAgICAiaGVhZGVyc1NpemUi
OiB0ZXN0UmVxdWVzdC5yZXF1ZXN0SGVhZGVyc1NpemUsCi0gICAgICAgIH0sCi0gICAgICAgICJy
ZXNwb25zZSI6IHsKLSAgICAgICAgICAgICJoZWFkZXJzIjogdGVzdFJlcXVlc3QucmVzcG9uc2VI
ZWFkZXJzLAotICAgICAgICAgICAgImhlYWRlcnNUZXh0IjogdmlzaWJsZU5ld2xpbmVzKHRlc3RS
ZXF1ZXN0LnJlc3BvbnNlSGVhZGVyc1RleHQpLAotICAgICAgICAgICAgImhlYWRlcnNTaXplIjog
dGVzdFJlcXVlc3QucmVzcG9uc2VIZWFkZXJzU2l6ZSwKLSAgICAgICAgICAgICJyZXNvdXJjZVNp
emUiOiB0ZXN0UmVxdWVzdC5yZXNvdXJjZVNpemUsCi0gICAgICAgICAgICAidHJhbnNmZXJTaXpl
IjogdGVzdFJlcXVlc3QudHJhbnNmZXJTaXplCi0gICAgICAgIH0KLSAgICB9OwotICAgIEluc3Bl
Y3RvclRlc3QuYWRkT2JqZWN0KHJlcXVlc3RSZXN1bHRzLCB7fSwgIiIsICJSZXNvdXJjZToiKTsK
LQotICAgIHZhciBzdGlsbE5vbmRldGVybWluaXN0aWMgPSB7Ci0gICAgICAgICJzdGFydGVkRGF0
ZVRpbWUiOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgICAgICJ0aW1lIjogImZvcm1hdEFzVHlw
ZU5hbWUiLAotICAgICAgICAidGltaW5ncyI6ICJmb3JtYXRBc1R5cGVOYW1lIgotICAgIH07Ci0g
ICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeSh0ZXN0
UmVxdWVzdCkuYnVpbGQoKSwgc3RpbGxOb25kZXRlcm1pbmlzdGljLCAiIiwgIkhBUjoiKTsKLSAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotfQotPC9zY3JpcHQ+Ci0KLQotPC9oZWFk
PgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBub25kZXRlcm1p
bmlzdGljIGJpdHMgb2YgSEFSIGNvbnZlcnNpb24gdmlhIHRoZSBtYWdpYyBvZiBoYXJkLWNvZGVk
IHZhbHVlcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLXBhZ2VzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLWhhci1wYWdlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDBjMmI1Njg0MjlmODRmM2RiMGViODlkZmRhMWU0MzVhNjhmMGNkNTMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLXBhZ2VzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDMxICswLDAgQEAKLVRlc3RzIGNvbnZlcnNpb24gb2YgSW5zcGVjdG9yJ3Mg
cmVzb3VyY2UgcmVwcmVzZW50YXRpb24gaW50byBIQVIgZm9ybWF0LgotCi17Ci0gICAgMCA6IHsK
LSAgICAgICAgaWQgOiA8c3RyaW5nPgotICAgICAgICBwYWdlVGltaW5ncyA6IHsKLSAgICAgICAg
ICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVyPgotICAgICAgICAgICAgb25Mb2FkIDogPG51bWJl
cj4KLSAgICAgICAgfQotICAgICAgICBzdGFydGVkRGF0ZVRpbWUgOiA8cGxhdXNpYmxlPgotICAg
ICAgICB0aXRsZSA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBo
cD91cmw9L2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0
bWwiCi0gICAgfQotICAgIDEgOiB7Ci0gICAgICAgIGlkIDogPHN0cmluZz4KLSAgICAgICAgcGFn
ZVRpbWluZ3MgOiB7Ci0gICAgICAgICAgICBvbkNvbnRlbnRMb2FkIDogPG51bWJlcj4KLSAgICAg
ICAgICAgIG9uTG9hZCA6IDxudW1iZXI+Ci0gICAgICAgIH0KLSAgICAgICAgc3RhcnRlZERhdGVU
aW1lIDogPHBsYXVzaWJsZT4KLSAgICAgICAgdGl0bGUgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS1oYXItcGFnZXMuaHRtbCIKLSAgICB9Ci19Ci1wYWdlOiBwYWdl
XzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ci1wYWdlOiBwYWdlXzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLWhhci1wYWdlcy5odG1sCi1wYWdlOiBwYWdlXzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCi1wYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtaWZyYW1lLmh0bWwK
LXBhZ2U6IHBhZ2VfMSB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sCi1wYWdlOiBwYWdlXzEgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UxLmpzCi1wYWdl
OiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBo
cD91cmw9L2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0
bWwKLVBhZ2UgcmVsb2FkZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLWhhci1wYWdlcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFyLXBhZ2VzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNmRlODI1NWYxMmZiNjg5MjcwOGExNWNhMGY4
Mjk4YjZkOTVmM2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtaGFy
LXBhZ2VzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08IWRvY3R5cGUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlw
dD4KLQotdmFyIHRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgdmFyIGhhZE5hdmlnYXRpb24gPSBmYWxzZTsKLQotICAgICAgICBmdW5jdGlv
biBvblJlcXVlc3RGaW5pc2hlZChldmVudCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHJl
cXVlc3QgPSBldmVudC5kYXRhOwotICAgICAgICAgICAgaWYgKC9cL2hhci1wYWdlcy1uYXZpZ2F0
aW9uLXRhcmdldFwuaHRtbCQvLnRlc3QocmVxdWVzdC51cmwpKQotICAgICAgICAgICAgICAgIGhh
ZE5hdmlnYXRpb24gPSB0cnVlOwotICAgICAgICAgICAgaWYgKGhhZE5hdmlnYXRpb24gJiYgL1wv
cmVzb3VyY2UtaGFyLXBhZ2VzXC5odG1sJC8udGVzdChyZXF1ZXN0LnVybCkpIHsKLSAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXF1ZXN0RmluaXNoZWQsIG9u
UmVxdWVzdEZpbmlzaGVkKQotICAgICAgICAgICAgICAgIHN0ZXAyKCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgibmV0d29yayIpOwot
ICAgICAgICB2YXIgbmV0d29ya0xvZ1ZpZXcgPSBXZWJJbnNwZWN0b3IucGFuZWwoIm5ldHdvcmsi
KS5fbmV0d29ya0xvZ1ZpZXc7Ci0gICAgICAgIC8vIG5ldHdvcmtMb2dWaWV3LmNsZWFyKCk7Ci0g
ICAgICAgIG5ldHdvcmtMb2dWaWV3Ll9wcmVzZXJ2ZUxvZ1RvZ2dsZS50b2dnbGVkID0gdHJ1ZTsK
LSAgICAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVxdWVzdEZpbmlzaGVkLCBvblJl
cXVlc3RGaW5pc2hlZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxv
Y2F0aW9uLmhyZWYgPSAnL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9pbnNwZWN0b3IvcmVz
b3VyY2VzL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sJzsiKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICB2YXIgbG9nID0gKG5ldyBXZWJJbnNw
ZWN0b3IuSEFSTG9nKFdlYkluc3BlY3Rvci5wYW5lbCgibmV0d29yayIpLl9uZXR3b3JrTG9nVmll
dy5fcmVxdWVzdHMpKS5idWlsZCgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChs
b2cucGFnZXMsIEluc3BlY3RvclRlc3QuSEFSUHJvcGVydHlGb3JtYXR0ZXJzV2l0aFNpemUpOwot
Ci0gICAgICAgIC8vIEZpbHRlciBvdXQgZmF2aWNvbi5pY28gcmVxdWVzdHMgdGhhdCBvbmx5IGFw
cGVhciBvbiBjZXJ0YWluIHBsYXRmb3Jtcy4KLSAgICAgICAgbG9nLmVudHJpZXMgPSBsb2cuZW50
cmllcy5maWx0ZXIoZnVuY3Rpb24oZW50cnkpIHsKLSAgICAgICAgICAgIHJldHVybiAhL2Zhdmlj
b25cLmljbyQvLnRlc3QoZW50cnkucmVxdWVzdC51cmwpOwotICAgICAgICB9KTsKLSAgICAgICAg
bG9nLmVudHJpZXMuc29ydChJbnNwZWN0b3JUZXN0LnJlcXVlc3RVUkxDb21wYXJlcik7Ci0gICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbG9nLmVudHJpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAg
ICAgICAgIHZhciBlbnRyeSA9IGxvZy5lbnRyaWVzW2ldOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoInBhZ2U6ICIgKyBlbnRyeS5wYWdlcmVmICsgIiB1cmw6ICIgKyBlbnRy
eS5yZXF1ZXN0LnVybCk7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBzdGVwMSgpOwotfQotCi08L3NjcmlwdD4KLQotCi08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgY29udmVyc2lvbiBv
ZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQuCi08
L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLW1haW4tY29va2llcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1tYWlu
LWNvb2tpZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NWE4
YjJiMDhkOGJjYjlkZWZlZTI3NGIyYTI3ZjhlNjdiZDE1MDRmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3Jlc291cmNlLW1haW4tY29va2llcy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCB0aGUgY29va2llIHNldCBieSBt
YWluIHJlc291cmNlIGlzIHNob3duIGluIHJlc291cmNlcyBwYW5lbC4KLQotYnVnIDY1NzcwLgot
UGFnZSByZWxvYWRlZC4KLUNvb2tpZTogY29va2llTmFtZT1jb29raWVWYWx1ZS4KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
bWFpbi1jb29raWVzLnBocCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlLW1haW4tY29va2llcy5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDRlZDNlZWQ2NTE5ODNiYTRiYzkzYjRjNzliOTQ4MDhkMzhiY2E0MTcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtbWFpbi1jb29raWVzLnBocAorKysgL2Rldi9u
dWxsCkBAIC0xLDUyICswLDAgQEAKLTw/cGhwCi0gICAgaWYgKCEkX0NPT0tJRVsiY29va2llTmFt
ZSJdKQotICAgICAgICBzZXRjb29raWUoImNvb2tpZU5hbWUiLCAiY29va2llVmFsdWUiKTsKLT8+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBjb29raWVOYW1lID0g
ImNvb2tpZU5hbWUiOwotICAgIHZhciBjb29raWVEb21haW4gPSAiMTI3LjAuMC4xIjsKLSAgICB2
YXIgY29va2llVVJMID0gImh0dHA6Ly8iICsgY29va2llRG9tYWluICsgIi8iOwotICAgIC8vIEVu
c3VyZSBjb29raWUgaXMgZGVsZXRlZCBiZWZvcmUgdGVzdGluZy4KLSAgICBQYWdlQWdlbnQuZGVs
ZXRlQ29va2llKGNvb2tpZU5hbWUsIGNvb2tpZVVSTCwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXAyKTsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0
b3IuQ29va2llcy5nZXRDb29raWVzQXN5bmMoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAzKGFsbENvb2tpZXMpCi0gICAgewotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFs
bENvb2tpZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICB2YXIgY29va2llID0gYWxsQ29va2ll
c1tpXTsKLSAgICAgICAgICAgIGlmIChjb29raWUubmFtZSgpID09PSBjb29raWVOYW1lICYmIGNv
b2tpZS5kb21haW4oKSA9PSBjb29raWVEb21haW4pIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiQ29va2llOiAiICsgY29va2llLm5hbWUoKSArICI9IiArIGNvb2tp
ZS52YWx1ZSgpICsgIi4iKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAvLyBF
bnN1cmUgY29va2llIGlzIGRlbGV0ZWQgYWZ0ZXIgdGVzdGluZy4KLSAgICAgICAgUGFnZUFnZW50
LmRlbGV0ZUNvb2tpZShjb29raWVOYW1lLCBjb29raWVVUkwsIHN0ZXA0KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci0gICAgPHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBjb29raWUgc2V0IGJ5IG1haW4g
cmVzb3VyY2UgaXMgc2hvd24gaW4gcmVzb3VyY2VzIHBhbmVsLjwvcD4KLSAgICA8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NzAiPmJ1ZyA2NTc3MDwv
YT4uCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTJhNTc0YTc1
M2MwMTVhZTU2YmViOTQ1YzNmNzZiODFlOTk3MzMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNjIgKzAsMCBAQAotVGVzdHMgdGhhdCByZXNvdXJjZXMgcGFuZWwgc2hvd3MgZm9ybSBkYXRh
IHBhcmFtZXRlcnMuCi0KLSAgCi0KLXsKLSAgICBjYWNoZSA6IHsKLSAgICB9Ci0gICAgcmVxdWVz
dCA6IHsKLSAgICAgICAgYm9keVNpemUgOiA8bnVtYmVyPgotICAgICAgICBjb29raWVzIDogWwot
ICAgICAgICBdCi0gICAgICAgIGhlYWRlcnMgOiA8b2JqZWN0PgotICAgICAgICBoZWFkZXJzU2l6
ZSA6IDxudW1iZXI+Ci0gICAgICAgIGh0dHBWZXJzaW9uIDogIkhUVFAvMS4xIgotICAgICAgICBt
ZXRob2QgOiAiUE9TVCIKLSAgICAgICAgcG9zdERhdGEgOiB7Ci0gICAgICAgICAgICBtaW1lVHlw
ZSA6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiCi0gICAgICAgICAgICBwYXJh
bXMgOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBuYW1lIDogImZv
cm1QYXJhbTEiCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlIDogImZvcm1WYWx1ZTEiCi0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgbmFt
ZSA6ICJmb3JtUGFyYW0yIgotICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICIiCi0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgXQotICAgICAgICAgICAgdGV4dCA6ICJmb3JtUGFyYW0x
PWZvcm1WYWx1ZTEmZm9ybVBhcmFtMj0iCi0gICAgICAgIH0KLSAgICAgICAgcXVlcnlTdHJpbmcg
OiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbmFtZSA6ICJxdWVyeVBhcmFtMSIK
LSAgICAgICAgICAgICAgICB2YWx1ZSA6ICJxdWVyeVZhbHVlMSIKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBuYW1lIDogInF1ZXJ5UGFyYW0yIgotICAgICAg
ICAgICAgICAgIHZhbHVlIDogIiIKLSAgICAgICAgICAgIH0KLSAgICAgICAgXQotICAgICAgICB1
cmwgOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvcG9zdC10YXJn
ZXQuY2dpP3F1ZXJ5UGFyYW0xPXF1ZXJ5VmFsdWUxJnF1ZXJ5UGFyYW0yPSIKLSAgICB9Ci0gICAg
cmVzcG9uc2UgOiB7Ci0gICAgICAgIGJvZHlTaXplIDogPG51bWJlcj4KLSAgICAgICAgY29udGVu
dCA6IHsKLSAgICAgICAgICAgIGNvbXByZXNzaW9uIDogPG51bWJlcj4KLSAgICAgICAgICAgIG1p
bWVUeXBlIDogImFwcGxpY2F0aW9uL3htbCIKLSAgICAgICAgICAgIHNpemUgOiAxNAotICAgICAg
ICB9Ci0gICAgICAgIGNvb2tpZXMgOiBbCi0gICAgICAgIF0KLSAgICAgICAgaGVhZGVycyA6IDxv
YmplY3Q+Ci0gICAgICAgIGhlYWRlcnNTaXplIDogPG51bWJlcj4KLSAgICAgICAgaHR0cFZlcnNp
b24gOiAiSFRUUC8xLjEiCi0gICAgICAgIHJlZGlyZWN0VVJMIDogIiIKLSAgICAgICAgc3RhdHVz
IDogMjAwCi0gICAgICAgIHN0YXR1c1RleHQgOiAiT0siCi0gICAgfQotICAgIHN0YXJ0ZWREYXRl
VGltZSA6IDxwbGF1c2libGU+Ci0gICAgdGltZSA6IDxudW1iZXI+Ci0gICAgdGltaW5ncyA6IDxv
YmplY3Q+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXBhcmFtZXRlcnMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTNkODdhMjU0MzI3M2FhYzFiNDA5NzliZjc0NzY5NzRmNzA4
MWFmOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS1wYXJhbWV0ZXJz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBzdWJtaXQoKQot
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdWJtaXQiKS5jbGljaygpOwotfQotCi1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzdWJt
aXQoKSIpOwotICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlcXVlc3RGaW5pc2hlZCwg
b25SZXF1ZXN0RmluaXNoZWQpOwotCi0gICAgZnVuY3Rpb24gb25SZXF1ZXN0RmluaXNoZWQoZXZl
bnQpCi0gICAgewotICAgICAgICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlm
IChyZXF1ZXN0LnVybCAhPT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL3Bvc3QtdGFyZ2V0LmNnaT9xdWVyeVBhcmFtMT1xdWVyeVZhbHVlMSZxdWVyeVBhcmFtMj0j
ZnJhZ21lbnRQYXJhbTE9ZnJhZ21lbnRWYWx1ZTEmZnJhZ21lbnRQYXJhbTI9IikKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QobmV3IFdlYkluc3Bl
Y3Rvci5IQVJFbnRyeShyZXF1ZXN0KS5idWlsZCgpLCBJbnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5
Rm9ybWF0dGVycyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
fQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgdGhhdCByZXNvdXJjZXMgcGFuZWwgc2hvd3MgZm9ybSBkYXRhIHBhcmFtZXRlcnMu
Ci08L3A+Ci08Zm9ybSB0YXJnZXQ9InRhcmdldC1pZnJhbWUiIG1ldGhvZD0iUE9TVCIgYWN0aW9u
PSJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9wb3N0LXRhcmdldC5j
Z2k/cXVlcnlQYXJhbTE9cXVlcnlWYWx1ZTEmcXVlcnlQYXJhbTI9I2ZyYWdtZW50UGFyYW0xPWZy
YWdtZW50VmFsdWUxJmZyYWdtZW50UGFyYW0yPSI+Ci08aW5wdXQgbmFtZT0iZm9ybVBhcmFtMSIg
dmFsdWU9ImZvcm1WYWx1ZTEiPgotPGlucHV0IG5hbWU9ImZvcm1QYXJhbTIiPgotPGlucHV0IGlk
PSJzdWJtaXQiIHR5cGU9InN1Ym1pdCI+Ci08L2Zvcm0+Ci08aWZyYW1lIG5hbWU9InRhcmdldC1p
ZnJhbWUiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1y
ZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJpbmctY2FjaGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJpbmct
Y2FjaGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGViZmM1
ZTVkMWQxMjNjN2M4NGE3N2Y1YmM4N2U0Y2NhYTBjMGEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtcmVxdWVzdC1jb250ZW50LWFmdGVyLWxv
YWRpbmctYW5kLWNsZWFyaW5nLWNhY2hlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEyICswLDAgQEAKLVRlc3RzIHJlc291cmNlIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBp
ZiBSZXNvdXJjZS5yZXF1ZXN0Q29udGVudCB3YXMgY2FsbGVkIGJlZm9yZSBuZXR3b3JrIHJlcXVl
c3Qgd2FzIGZpbmlzaGVkLgotCi1CdWcgOTAxNTMKLUFkZGluZyBkeW5hbWljIHNjcmlwdDogCi1X
YWl0aW5nIGZvciBzY3JpcHQgcmVxdWVzdCB0byBmaW5pc2g6IAotQ2xlYXJpbmcgbWVtb3J5IGNh
Y2hlOiAKLVJlcXVlc3RpbmcgY29udGVudDogCi1SZXNvdXJjZSB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQu
anMKLVJlc291cmNlIGNvbnRlbnQ6IGZ1bmN0aW9uIGZvbygpIHsKLX0KLQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXJlcXVlc3QtY29udGVudC1hZnRlci1sb2FkaW5nLWFuZC1jbGVhcmluZy1jYWNo
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtYWZ0ZXItbG9hZGluZy1hbmQtY2xlYXJp
bmctY2FjaGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDg2MGQyZGIyMzcw
OTA4YTljMzJmMzUwZDgwYzc2OWFmOTdlMDE4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJlcXVlc3QtY29udGVudC1hZnRlci1sb2FkaW5n
LWFuZC1jbGVhcmluZy1jYWNoZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9InJlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgotPHNjcmlwdD4KLWZ1
bmN0aW9uIGNyZWF0ZVNjcmlwdFRhZygpCi17Ci0gICAgdmFyIHNjcmlwdEVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKLSAgICBzY3JpcHRFbGVtZW50LnNyYyA9ICJy
ZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMiOwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hp
bGQoc2NyaXB0RWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJBZGRpbmcgZHluYW1pYyBzY3JpcHQ6ICIpOwotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImNyZWF0ZVNjcmlwdFRhZygpIiwgc3RlcDIpOwotCi0gICAg
ZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IldhaXRpbmcgZm9yIHNjcmlwdCByZXF1ZXN0IHRvIGZpbmlzaDogIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbImR5bmFtaWMtc2NyaXB0Lmpz
Il0sIHN0ZXAzKQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDbGVhcmluZyBtZW1vcnkgY2FjaGU6ICIpOwotICAg
ICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZCh0cnVlLCBzdGVwNCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENh
Y2hlRGlzYWJsZWQoZmFsc2UsIHN0ZXA1KTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzb3VyY2U7Ci0g
ICAgZnVuY3Rpb24gc3RlcDUoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlJlcXVlc3RpbmcgY29udGVudDogIik7Ci0gICAgICAgIHJlc291cmNlID0gSW5zcGVjdG9y
VGVzdC5yZXNvdXJjZU1hdGNoaW5nVVJMKCJkeW5hbWljLXNjcmlwdC5qcyIpOwotICAgICAgICBy
ZXNvdXJjZS5yZXF1ZXN0Q29udGVudChzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDYoY29udGVudCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghIWNv
bnRlbnQsICJObyBjb250ZW50IGF2YWlsYWJsZS4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlJlc291cmNlIHVybDogIiArIHJlc291cmNlLnVybCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZSBjb250ZW50OiAiICsgY29udGVudCk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyByZXNvdXJjZSBjb250
ZW50IGlzIGNvcnJlY3RseSBsb2FkZWQgaWYgUmVzb3VyY2UucmVxdWVzdENvbnRlbnQgd2FzIGNh
bGxlZCBiZWZvcmUgbmV0d29yayByZXF1ZXN0IHdhcyBmaW5pc2hlZC48L3A+Ci08YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxNTMiPkJ1ZyA5MDE1Mzwv
YT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtcmVxdWVzdC1jb250ZW50
LXdoaWxlLWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtd2hp
bGUtbG9hZGluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdl
MmMzNzkwMGFhNGRlYzMyZWI1YTc0MWU4Y2U0ZjY0ZWYyOTMyZTMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS1yZXF1ZXN0LWNvbnRlbnQtd2hp
bGUtbG9hZGluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRl
c3RzIHJlc291cmNlIGNvbnRlbnQgaXMgY29ycmVjdGx5IGxvYWRlZCBpZiBSZXNvdXJjZS5yZXF1
ZXN0Q29udGVudCB3YXMgY2FsbGVkIGJlZm9yZSBuZXR3b3JrIHJlcXVlc3Qgd2FzIGZpbmlzaGVk
LgotCi1CdWcgOTAxNTMKLVJlc291cmNlIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKLVJlc291cmNl
IGNvbnRlbnQ6IGh0bWwgewotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQotCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtcmVxdWVzdC1jb250ZW50LXdoaWxlLWxvYWRpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2UtcmVxdWVzdC1jb250ZW50LXdoaWxlLWxvYWRpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYWQ5YzhiZTVkNzcyODU4N2U2ZWZkYjQ0NTNmODk5MjlkY2FhMzEwNS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXJl
cXVlc3QtY29udGVudC13aGlsZS1sb2FkaW5nLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci1mdW5jdGlvbiBsb2FkU3R5bGVzaGVldCgpCi17Ci0gICAgdmFyIHN0eWxlRWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTsKLSAgICBzdHlsZUVsZW1lbnQucmVsID0gInN0
eWxlc2hlZXQiOwotICAgIHN0eWxlRWxlbWVudC5ocmVmID0gInJlc291cmNlcy9zdHlsZXMtaW5p
dGlhbC5jc3MiOwotICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsK
LX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdl
Ykluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFtZS5wcm90b3R5cGUsICJfYWRkUmVxdWVzdCIsIHJl
cXVlc3RBZGRlZCwgdHJ1ZSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFBhZ2VBZ2Vu
dCwgImdldFJlc291cmNlQ29udGVudCIsIHBhZ2VBZ2VudEdldFJlc291cmNlQ29udGVudENhbGxl
ZCwgdHJ1ZSk7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFN0eWxlc2hl
ZXQoKSIpOwotICAgIHZhciBjb250ZW50V2FzUmVxdWVzdGVkID0gZmFsc2U7Ci0gICAgdmFyIHJl
c291cmNlOwotCi0gICAgZnVuY3Rpb24gcmVxdWVzdEFkZGVkKHJlcXVlc3QpCi0gICAgewotICAg
ICAgICBpZiAocmVxdWVzdC51cmwuaW5kZXhPZigic3R5bGVzLWluaXRpYWwiKSA9PT0gLTEpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHJlc291cmNlID0gSW5zcGVjdG9yVGVzdC5yZXNv
dXJjZU1hdGNoaW5nVVJMKCJzdHlsZXMtaW5pdGlhbCIpOwotICAgICAgICBpZiAoIXJlc291cmNl
IHx8ICFyZXNvdXJjZS5yZXF1ZXN0IHx8IGNvbnRlbnRXYXNSZXF1ZXN0ZWQpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIHJlc291cmNlLnJlcXVlc3RDb250ZW50KGNvbnRlbnRMb2FkZWQp
OwotICAgICAgICBjb250ZW50V2FzUmVxdWVzdGVkID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBwYWdlQWdlbnRHZXRSZXNvdXJjZUNvbnRlbnRDYWxsZWQoKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKHJlc291cmNlLnJlcXVlc3QuZmluaXNoZWQpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGNvbnRlbnRMb2FkZWQoY29udGVudCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZSB1cmw6ICIgKyByZXNvdXJjZS51cmwp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3VyY2UgY29udGVudDogIiAr
IGNvbnRlbnQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0K
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVz
dHMgcmVzb3VyY2UgY29udGVudCBpcyBjb3JyZWN0bHkgbG9hZGVkIGlmIFJlc291cmNlLnJlcXVl
c3RDb250ZW50IHdhcyBjYWxsZWQgYmVmb3JlIG5ldHdvcmsgcmVxdWVzdCB3YXMgZmluaXNoZWQu
PC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkw
MTUzIj5CdWcgOTAxNTM8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtZG9jdW1lbnQtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11
cmwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjZjNmJjNTJi
YjAwMWMxMTE3MGY3YmJmOWIxMTA2MDc2ZjgyMjNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1UZXN0cyB0aGF0IHJlc291cmNlcyBo
YXZlIHByb3BlciBkb2N1bWVudFVSTCBzZXQgaW4gdGhlIHRyZWUgbW9kZWwuCi0KLQotaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9PiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVu
dC11cmwuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLXRlc3QuanMgPT4gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwKLWh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWwgPT4g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9k
dW1teS1pZnJhbWUuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMtdGVzdC5qcyA9PiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1kb2N1bWVudC11cmwuaHRtbAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZG9jdW1lbnQtdXJsLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0OWNlYTUzNmFlYWFjZGY5YzBiNTU2Yzlj
YzI3NDYyYWZlMjUzZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLWRvY3VtZW50LXVybC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlLXRyZWUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJS
ZXNvdXJjZXNBcmVGaW5pc2hlZChbImR1bW15LWlmcmFtZS5odG1sIiwgImluc3BlY3Rvci10ZXN0
LmpzIiwgInJlc291cmNlcy10ZXN0LmpzIiwgInJlc291cmNlLXRyZWUtdGVzdC5qcyJdLCBzdGVw
MSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBmb3Jt
YXR0ZXIocmVzb3VyY2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiByZXNvdXJjZS51
cmwgKyAiID0+ICIgKyByZXNvdXJjZS5kb2N1bWVudFVSTDsKLSAgICAgICAgfQotICAgIAotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXMoZm9ybWF0dGVyKTsgICAgCi0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLQot
PC9oZWFkPgotCi08Ym9keT4KLTxwPgotVGVzdHMgdGhhdCByZXNvdXJjZXMgaGF2ZSBwcm9wZXIg
ZG9jdW1lbnRVUkwgc2V0IGluIHRoZSB0cmVlIG1vZGVsLgotPC9wPgotCi08aWZyYW1lIHNyYz0i
cmVzb3VyY2VzL2R1bW15LWlmcmFtZS5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdlOTA5YTdmNWVlYWQ4NmJiMzYzZmY2MWQwM2RlZmZi
NWE5NDNiZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtZXJyb3JzLXJlbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogQ29uc29sZSBlcnJvciAxLgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IENvbnNvbGUgZXJyb3IgMi4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA0OiBDb25zb2xlIGVycm9yIDEuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogQ29u
c29sZSBlcnJvciAyLgotVGVzdHMgdGhhdCBjb25zb2xlIG1lc3NhZ2VzIGFyZSBtYXRjaGVkIHRv
IHJlc291cmNlcyBhZnRlciBwYWdlIHJlbG9hZC4KLQotQnVnIDYwNzAxCi1QYWdlIHJlbG9hZGVk
LgotTnVtYmVyIG9mIGVycm9ycyBmb3IgdGhlIG1haW4gcmVzb3VyY2U6IDIKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLWVycm9ycy1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1lcnJvcnMt
cmVsb2FkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjMGM1ZjRhMjAyOWMw
YzNlZWIzYzgyMTk4NmNhZmQyMzFkY2U2ZjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWVycm9ycy1yZWxvYWQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotY29uc29s
ZS5lcnJvcigiQ29uc29sZSBlcnJvciAxLiIpOwotY29uc29sZS5lcnJvcigiQ29uc29sZSBlcnJv
ciAyLiIpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIHJlc291cmNlc1dlcmVGaW5pc2hlZCA9IGZhbHNl
OwotICAgIHZhciBwYWdlV2FzUmVsb2FkZWQgPSBmYWxzZTsKLQotICAgIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRy
ZWVNb2RlbC5FdmVudFR5cGVzLk1haW5GcmFtZU5hdmlnYXRlZCwgZnJhbWVOYXZpZ2F0ZWQpOwot
ICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShwYWdlUmVsb2FkZWQpOwotCi0gICAgZnVuY3Rp
b24gZnJhbWVOYXZpZ2F0ZWQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRl
clJlc291cmNlc0FyZUZpbmlzaGVkKFsicmVzb3VyY2UtdHJlZS1lcnJvcnMtcmVsb2FkLmh0bWwi
XSwgcmVzb3VyY2VzRmluaXNoZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlc291cmNlc0Zp
bmlzaGVkKCkKLSAgICB7Ci0gICAgICAgIGlmIChwYWdlV2FzUmVsb2FkZWQpCi0gICAgICAgICAg
ICBzdGVwMSgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXNvdXJjZXNXZXJlRmluaXNo
ZWQgPSB0cnVlOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHBhZ2VSZWxvYWRlZCgpCi0gICAgewot
ICAgICAgICBpZiAocmVzb3VyY2VzV2VyZUZpbmlzaGVkKQotICAgICAgICAgICAgc3RlcDEoKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgcGFnZVdhc1JlbG9hZGVkID0gdHJ1ZTsKLQotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5yZXNvdXJjZUZvclVSTCgiaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXJyb3Jz
LXJlbG9hZC5odG1sIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOdW1iZXIg
b2YgZXJyb3JzIGZvciB0aGUgbWFpbiByZXNvdXJjZTogIiArIHJlc291cmNlLmVycm9ycyk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyB0aGF0IGNvbnNv
bGUgbWVzc2FnZXMgYXJlIG1hdGNoZWQgdG8gcmVzb3VyY2VzIGFmdGVyIHBhZ2UgcmVsb2FkLjwv
cD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDcw
MSI+QnVnIDYwNzAxPC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzdiNTI4MTlhOTI5ZWRlNzc0YWY5NWJl
YWZmYjVlMzBjZDNmMzE0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDI4ICswLDAgQEAKLVRlc3RzIHRvcCBmcmFtZSBuYXZpZ2F0aW9uIGV2ZW50cy4KLQotCi1O
YXZpZ2F0aW5nIGNoaWxkIGZyYW1lIDEKLSAgICBGcmFtZUFkZGVkIDogY2hpbGQxCi0gICAgRnJh
bWVOYXZpZ2F0ZWQgOiBjaGlsZDEKLSAgICBTZWN1cml0eU9yaWdpbkFkZGVkIDogaHR0cDovL2Zy
YW1lL2NoaWxkMS5odG1sCi1OYXZpZ2F0aW5nIGNoaWxkIGZyYW1lIDEgdG8gYSBkaWZmZXJlbnQg
VVJMCi0gICAgU2VjdXJpdHlPcmlnaW5SZW1vdmVkIDogaHR0cDovL2ZyYW1lL2NoaWxkMS5odG1s
Ci0gICAgRnJhbWVOYXZpZ2F0ZWQgOiBjaGlsZDEKLSAgICBTZWN1cml0eU9yaWdpbkFkZGVkIDog
aHR0cDovL2ZyYW1lL2NoaWxkMS1uZXcuaHRtbAotTmF2aWdhdGluZyBjaGlsZCBmcmFtZSAyCi0g
ICAgRnJhbWVBZGRlZCA6IGNoaWxkMgotICAgIEZyYW1lTmF2aWdhdGVkIDogY2hpbGQyCi0gICAg
U2VjdXJpdHlPcmlnaW5BZGRlZCA6IGh0dHA6Ly9mcmFtZS9jaGlsZDIuaHRtbAotRGV0YWNoaW5n
IGNoaWxkIGZyYW1lIDEKLSAgICBTZWN1cml0eU9yaWdpblJlbW92ZWQgOiBodHRwOi8vZnJhbWUv
Y2hpbGQxLW5ldy5odG1sCi0gICAgRnJhbWVEZXRhY2hlZCA6IGNoaWxkMQotTmF2aWdhdGluZyBy
b290IGZyYW1lCi0gICAgU2VjdXJpdHlPcmlnaW5SZW1vdmVkIDogaHR0cDovL2ZyYW1lL2NoaWxk
Mi5odG1sCi0gICAgU2VjdXJpdHlPcmlnaW5SZW1vdmVkIDogaHR0cDovL2ZyYW1lL3Jvb3QxLmh0
bWwKLSAgICBGcmFtZURldGFjaGVkIDogY2hpbGQyCi0gICAgRnJhbWVEZXRhY2hlZCA6IHJvb3Qx
Ci0gICAgRnJhbWVBZGRlZCA6IHJvb3QyCi0gICAgRnJhbWVOYXZpZ2F0ZWQgOiByb290MgotICAg
IE1haW5GcmFtZU5hdmlnYXRlZCA6IHJvb3QyCi0gICAgU2VjdXJpdHlPcmlnaW5BZGRlZCA6IGh0
dHA6Ly9mcmFtZS9yb290Mi5odG1sCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ldmVudHMu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2UtdHJlZS1ldmVudHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWUxZWM5ZDc1YjVkZDc1ZmNjNjA3M2ZmMTQzOThkN2YwODk3OGRiZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZXZlbnRz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJl
ZS10ZXN0LmpzIj48L3NjcmlwdD4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0g
ICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsiZHVtbXktaWZy
YW1lLmh0bWwiLCAiaW5zcGVjdG9yLXRlc3QuanMiLCAicmVzb3VyY2VzLXRlc3QuanMiLCAicmVz
b3VyY2UtdHJlZS10ZXN0LmpzIl0sIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAg
ICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0
ZWQoY3JlYXRlRnJhbWVQYXlsb2FkKCJyb290MSIpKTsKLQotICAgICAgICBmb3IgKHZhciBldmVu
dE5hbWUgaW4gV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMpCi0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlc1tldmVudE5hbWVdLCBldmVu
dEhhbmRsZXIuYmluZCh0aGlzLCBldmVudE5hbWUpKTsKLSAgICAKLSAgICAgICAgZnVuY3Rpb24g
ZXZlbnRIYW5kbGVyKGV2ZW50TmFtZSwgZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN3
aXRjaCAoZXZlbnROYW1lKSB7Ci0gICAgICAgICAgICBjYXNlICJGcmFtZUFkZGVkIjoKLSAgICAg
ICAgICAgIGNhc2UgIkZyYW1lTmF2aWdhdGVkIjoKLSAgICAgICAgICAgIGNhc2UgIkZyYW1lRGV0
YWNoZWQiOgotICAgICAgICAgICAgY2FzZSAiTWFpbkZyYW1lTmF2aWdhdGVkIjoKLSAgICAgICAg
ICAgICAgICB2YXIgZnJhbWUgPSBldmVudC5kYXRhOwotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIgICAgIiArIGV2ZW50TmFtZSArICIgOiAiICsgZnJhbWUuaWQpOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiU2VjdXJpdHlPcmlnaW5B
ZGRlZCI6Ci0gICAgICAgICAgICBjYXNlICJTZWN1cml0eU9yaWdpblJlbW92ZWQiOgotICAgICAg
ICAgICAgICAgIHZhciBzZWN1cml0eU9yaWdpbiA9IGV2ZW50LmRhdGE7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAiICsgZXZlbnROYW1lICsgIiA6ICIgKyBz
ZWN1cml0eU9yaWdpbik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgIH0KLQotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmF2aWdhdGluZyBjaGlsZCBmcmFtZSAxIik7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQoY3JlYXRl
RnJhbWVQYXlsb2FkKCJjaGlsZDEiLCAicm9vdDEiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJOYXZpZ2F0aW5nIGNoaWxkIGZyYW1lIDEgdG8gYSBkaWZmZXJlbnQgVVJMIik7
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQo
Y3JlYXRlRnJhbWVQYXlsb2FkKCJjaGlsZDEiLCAicm9vdDEiLCAiY2hpbGQxLW5ldyIpKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5hdmlnYXRpbmcgY2hpbGQgZnJhbWUgMiIp
OwotICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuX2ZyYW1lTmF2aWdhdGVk
KGNyZWF0ZUZyYW1lUGF5bG9hZCgiY2hpbGQyIiwgInJvb3QxIikpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiRGV0YWNoaW5nIGNoaWxkIGZyYW1lIDEiKTsKLSAgICAgICAgV2Vi
SW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLl9mcmFtZURldGFjaGVkKCJjaGlsZDEiKTsKLQot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTmF2aWdhdGluZyByb290IGZyYW1lIik7
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5fZnJhbWVOYXZpZ2F0ZWQo
Y3JlYXRlRnJhbWVQYXlsb2FkKCJyb290MiIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVGcmFtZVBheWxvYWQoaWQs
IHBhcmVudElkLCBuYW1lKQotICAgIHsKLSAgICAgICAgdmFyIGZyYW1lUGF5bG9hZCA9IHt9Owot
ICAgICAgICBmcmFtZVBheWxvYWQuaWQgPSBpZDsKLSAgICAgICAgZnJhbWVQYXlsb2FkLnBhcmVu
dElkID0gcGFyZW50SWQgfHwgIiI7Ci0gICAgICAgIGZyYW1lUGF5bG9hZC5sb2FkZXJJZCA9ICJs
b2FkZXItIiArIGlkOwotICAgICAgICBmcmFtZVBheWxvYWQubmFtZSA9ICJmcmFtZS0iICsgaWQ7
Ci0gICAgICAgIGZyYW1lUGF5bG9hZC51cmwgPSAiaHR0cDovL2ZyYW1lLyIgKyAobmFtZSB8fCBp
ZCkgKyAiLmh0bWwiOwotICAgICAgICBmcmFtZVBheWxvYWQuc2VjdXJpdHlPcmlnaW4gPSBmcmFt
ZVBheWxvYWQudXJsOwotICAgICAgICBmcmFtZVBheWxvYWQubWltZVR5cGUgPSAidGV4dC9odG1s
IjsKLSAgICAgICAgcmV0dXJuIGZyYW1lUGF5bG9hZDsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0Pgot
Ci08L2hlYWQ+Ci0KLTxib2R5PgotPHA+Ci1UZXN0cyB0b3AgZnJhbWUgbmF2aWdhdGlvbiBldmVu
dHMuCi08L3A+Ci0KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZHVtbXktaWZyYW1lLmh0bWwiIG9u
bG9hZD0icnVuVGVzdCgpIj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUzZWY2YjcwM2M0ZTAy
MjdkN2NiZjkwMzhhZTUzODViMzFjZjJjZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtYWRkLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogaWZy
YW1lIG5hdmlnYXRlZAotVGVzdHMgcmVzb3VyY2UgdHJlZSBtb2RlbCBvbiBpZnJhbWUgYWRkaXRp
b24sIGNvbXBhcmVzIHJlc291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMg
aW1wb3J0YW50LgotCi1CZWZvcmUgYWRkaXRpb24KLT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotUmVzb3VyY2VzOgotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sCi1zY3Jp
cHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
LXRyZWUtdGVzdC5qcwotc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcwotc2NyaXB0IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKLQotUmVzb3VyY2Vz
IFVSTCBNYXA6Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLWZyYW1lLWFkZC5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzID09IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzID09IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKLQotUmVzb3VyY2VzIFRyZWU6
Ci1GcmFtZXMKLSAgICAocmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQuaHRtbCkKLSAgICAgICAgU2Ny
aXB0cwotICAgICAgICAgICAgaW5zcGVjdG9yLXRlc3QuanMKLSAgICAgICAgICAgIHJlc291cmNl
LXRyZWUtdGVzdC5qcwotICAgICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKLSAgICAgICAgU3R5
bGVzaGVldHMKLSAgICAgICAgICAgIHN0eWxlcy1pbml0aWFsLmNzcwotICAgICAgICByZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC5odG1sCi0KLUFmdGVyIGFkZGl0aW9uCi09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLVJlc291cmNlczoKLXNjcmlwdCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCi1kb2N1bWVudCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQu
aHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQt
aWZyYW1lLmh0bWwKLXNjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKLXN0eWxlc2hlZXQgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMt
aW5pdGlhbC5jc3MKLXN0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzcwotc2NyaXB0IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKLQotUmVzb3VyY2Vz
IFVSTCBNYXA6Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLWZyYW1lLWFkZC5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzID09IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0bWwgPT0gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10
cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtbmF2aWdhdGVkLmpzID09IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5h
dmlnYXRlZC5qcwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKLWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVz
LW5hdmlnYXRlZC5jc3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtbmF2aWdhdGVkLmNzcwotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCi0KLVJlc291cmNlcyBUcmVlOgotRnJhbWVzCi0g
ICAgKHJlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwpCi0gICAgICAgIChyZXNvdXJjZS10cmVl
LWZyYW1lLWFkZC1pZnJhbWUuaHRtbCkKLSAgICAgICAgICAgIFNjcmlwdHMKLSAgICAgICAgICAg
ICAgICBzY3JpcHQtbmF2aWdhdGVkLmpzCi0gICAgICAgICAgICBTdHlsZXNoZWV0cwotICAgICAg
ICAgICAgICAgIHN0eWxlcy1uYXZpZ2F0ZWQuY3NzCi0gICAgICAgICAgICByZXNvdXJjZS10cmVl
LWZyYW1lLWFkZC1pZnJhbWUuaHRtbAotICAgICAgICBTY3JpcHRzCi0gICAgICAgICAgICBpbnNw
ZWN0b3ItdGVzdC5qcwotICAgICAgICAgICAgcmVzb3VyY2UtdHJlZS10ZXN0LmpzCi0gICAgICAg
ICAgICByZXNvdXJjZXMtdGVzdC5qcwotICAgICAgICBTdHlsZXNoZWV0cwotICAgICAgICAgICAg
c3R5bGVzLWluaXRpYWwuY3NzCi0gICAgICAgIHJlc291cmNlLXRyZWUtZnJhbWUtYWRkLmh0bWwK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLWFkZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LWZyYW1lLWFkZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2RhYzI3ZmUz
NmNmMzIwYjJhZGUyNWFjYjhlN2VmM2Q4ZmFkYzQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDYzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwv
c2NyaXB0PgotCi08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMt
aW5pdGlhbC5jc3MiPgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiBjcmVhdGVJZnJhbWUoKQotewot
ICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBp
ZnJhbWUuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUt
YWRkLWlmcmFtZS5odG1sIik7Ci0gICAgaWZyYW1lLm9ubG9hZCA9IG9uSWZyYW1lTG9hZDsKLSAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIG9uSWZy
YW1lTG9hZCgpCi17Ci0gICAgY29uc29sZS5sb2coImlmcmFtZSBuYXZpZ2F0ZWQiKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicmVzb3VyY2Vz
Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFsicmVz
b3VyY2UtdHJlZS1mcmFtZS1hZGQuaHRtbCIsICJyZXNvdXJjZS10cmVlLXRlc3QuanMiLCAic3R5
bGVzLWluaXRpYWwuY3NzIl0sIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgYWRkaXRpb24iKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZVRyZWVFdmVy
eXRoaW5nKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjcmVhdGVJZnJhbWUoKSIp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInJlc291cmNlLXRyZWUtZnJhbWUt
YWRkLWlmcmFtZS5odG1sIiwgInN0eWxlcy1uYXZpZ2F0ZWQuY3NzIiwgInNjcmlwdC1uYXZpZ2F0
ZWQuanMiXSwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFmdGVyIGFkZGl0aW9uIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGluZygpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyByZXNvdXJjZSB0cmVl
IG1vZGVsIG9uIGlmcmFtZSBhZGRpdGlvbiwgY29tcGFyZXMgcmVzb3VyY2UgdHJlZSBhZ2FpbnN0
IGdvbGRlbi4gRXZlcnkgbGluZSBpcyBpbXBvcnRhbnQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzZGYwNjJmY2I1NDM2YTJhNjIyM2NkODVhZmZhNjk1MjY3ZmYzNGFl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1mcmFtZS1uYXZpZ2F0ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4MSAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGlmcmFtZSBuYXZpZ2F0ZWQKLVRlc3Rz
IHJlc291cmNlIHRyZWUgbW9kZWwgb24gaWZyYW1lIG5hdmlnYXRpb24sIGNvbXBhcmVzIHJlc291
cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50LgotCi1CZWZv
cmUgbmF2aWdhdGlvbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1SZXNv
dXJjZXM6Ci1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcwotZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAotc2NyaXB0IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3Qu
anMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYmVmb3JlLmh0
bWwKLXNjcmlwdCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2VzL3NjcmlwdC1pbml0aWFsLmpzCi1zdHlsZXNoZWV0IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5j
c3MKLXN0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKLXNjcmlwdCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzCi0KLVJlc291cmNlcyBVUkwgTWFwOgot
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyA9PSBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1u
YXZpZ2F0ZS5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMgPT0gaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUt
dGVzdC5qcwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZvcmUuaHRtbCA9
PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sCi1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1p
bml0aWFsLmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5jc3MgPT0gaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHls
ZXMtaW5pdGlhbC0yLmNzcwotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MgPT0gaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMgPT0gaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcwotCi1SZXNvdXJj
ZXMgVHJlZToKLUZyYW1lcwotICAgIChyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwp
Ci0gICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZv
cmUuaHRtbCkKLSAgICAgICAgICAgIFNjcmlwdHMKLSAgICAgICAgICAgICAgICBzY3JpcHQtaW5p
dGlhbC5qcwotICAgICAgICAgICAgU3R5bGVzaGVldHMKLSAgICAgICAgICAgICAgICBzdHlsZXMt
aW5pdGlhbC0yLmNzcwotICAgICAgICAgICAgcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1p
ZnJhbWUtYmVmb3JlLmh0bWwKLSAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAgaW5zcGVjdG9y
LXRlc3QuanMKLSAgICAgICAgICAgIHJlc291cmNlLXRyZWUtdGVzdC5qcwotICAgICAgICAgICAg
cmVzb3VyY2VzLXRlc3QuanMKLSAgICAgICAgU3R5bGVzaGVldHMKLSAgICAgICAgICAgIHN0eWxl
cy1pbml0aWFsLmNzcwotICAgICAgICByZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwK
LQotQWZ0ZXIgbmF2aWdhdGlvbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci1SZXNvdXJjZXM6Ci1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcwotZG9jdW1lbnQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbAotc2NyaXB0IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LXRlc3QuanMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYWZ0
ZXIuaHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcwotc3R5bGVzaGVldCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0
aWFsLmNzcwotc3R5bGVzaGVldCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzCi1zY3JpcHQgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcwotCi1SZXNvdXJjZXMgVVJM
IE1hcDoKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMg
PT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwotaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUt
ZnJhbWUtbmF2aWdhdGUuaHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS5odG1sCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0Lmpz
ID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJhbWUtYWZ0ZXIu
aHRtbCA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKLWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2Ny
aXB0LW5hdmlnYXRlZC5qcyA9PSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKLWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3Nz
ID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvc3R5bGVzLWluaXRpYWwuY3NzCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzID09IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5hdmln
YXRlZC5jc3MKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3Qu
anMgPT0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcwot
Ci1SZXNvdXJjZXMgVHJlZToKLUZyYW1lcwotICAgIChyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLmh0bWwpCi0gICAgICAgIGlmcmFtZShyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlm
cmFtZS1hZnRlci5odG1sKQotICAgICAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAgICAgIHNj
cmlwdC1uYXZpZ2F0ZWQuanMKLSAgICAgICAgICAgIFN0eWxlc2hlZXRzCi0gICAgICAgICAgICAg
ICAgc3R5bGVzLW5hdmlnYXRlZC5jc3MKLSAgICAgICAgICAgIHJlc291cmNlLXRyZWUtZnJhbWUt
bmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKLSAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAg
aW5zcGVjdG9yLXRlc3QuanMKLSAgICAgICAgICAgIHJlc291cmNlLXRyZWUtdGVzdC5qcwotICAg
ICAgICAgICAgcmVzb3VyY2VzLXRlc3QuanMKLSAgICAgICAgU3R5bGVzaGVldHMKLSAgICAgICAg
ICAgIHN0eWxlcy1pbml0aWFsLmNzcwotICAgICAgICByZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLmh0bWwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDhjMGE3YjVkNjliN2ZlN2ZkN2QxOWRkMzYxMThlZTFiNzU3YWMwMy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtZnJh
bWUtbmF2aWdhdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgotCi08c2NyaXB0PgotCi1mdW5j
dGlvbiBuYXZpZ2F0ZUlmcmFtZSgpCi17Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpZnJhbWUiKTsKLSAgICBpZnJhbWUucmVtb3ZlQXR0cmlidXRlKCJvbmxvYWQi
KTsKLSAgICBpZnJhbWUub25sb2FkID0gb25JZnJhbWVMb2FkOwotICAgIGlmcmFtZS5zZXRBdHRy
aWJ1dGUoInNyYyIsICJyZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1uYXZpZ2F0ZS1pZnJh
bWUtYWZ0ZXIuaHRtbCIpOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsK
LX0KLQotZnVuY3Rpb24gb25JZnJhbWVMb2FkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiaWZyYW1l
IG5hdmlnYXRlZCIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iu
c2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3Vy
Y2VzQXJlRmluaXNoZWQoWyJyZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1iZWZv
cmUuaHRtbCIsICJzY3JpcHQtaW5pdGlhbC5qcyIsICJzdHlsZXMtaW5pdGlhbC5jc3MiLCAic3R5
bGVzLWluaXRpYWwtMi5jc3MiXSwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBuYXZpZ2F0aW9uIik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VUcmVl
RXZlcnl0aGluZygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0
ZXAyKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibmF2aWdhdGVJZnJh
bWUoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInJlc291cmNlLXRyZWUt
ZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwiLCAic3R5bGVzLW5hdmlnYXRlZC5jc3Mi
LCAic2NyaXB0LW5hdmlnYXRlZC5qcyJdLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgbmF2aWdhdGlvbiIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhp
bmcoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0K
LTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0KLTxib2R5PgotPHA+Ci1UZXN0cyByZXNvdXJjZSB0cmVl
IG1vZGVsIG9uIGlmcmFtZSBuYXZpZ2F0aW9uLCBjb21wYXJlcyByZXNvdXJjZSB0cmVlIGFnYWlu
c3QgZ29sZGVuLiBFdmVyeSBsaW5lIGlzIGltcG9ydGFudC4KLTwvcD4KLQotPGlmcmFtZSBpZD0i
aWZyYW1lIiBzcmM9InJlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFt
ZS1iZWZvcmUuaHRtbCIgb25sb2FkPSJydW5UZXN0KCkiPgotCi08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1lLXR5cGUtY3NzLWNvbnRlbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWludmFsaWQtbWltZS10eXBlLWNzcy1jb250ZW50LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODkxMjA1MWM0NmRhZTMz
MjA0YzIzZTIzMzIzNzI4NTEyYzQwZTQwNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1lLXR5cGUtY3NzLWNvbnRl
bnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1UZXN0cyB0aGF0
IGNvbnRlbnQgaXMgY29ycmVjdGx5IHNob3duIGZvciBjc3MgbG9hZGVkIHdpdGggaW52YWxpZCBt
aW1lIHR5cGUgaW4gcXVpcmtzIG1vZGUuCi0KLUJ1ZyA4MDUyOAotaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXNoZWV0LXRleHQtcGxh
aW4ucGhwCi1SZXNvdXJjZS5jb250ZW50OiBib2R5IHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjoKLX0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtaW52YWxpZC1taW1lLXR5cGUt
Y3NzLWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3MtY29u
dGVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjQzZjVkYzI5ODJmNWVh
MzYyMTk1ZGJhMTAzZmU2MzVkMmRiMGIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3MtY29udGVu
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJyZXNvdXJjZXMvc3R5bGVzaGVldC10ZXh0LXBsYWluLnBocCIgdHlwZT0idGV4dC9jc3Mi
PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciBjc3NSZXNvdXJjZTsKLQot
ICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInN0eWxlc2hl
ZXQtdGV4dC1wbGFpbi5waHAiXSwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNl
cyhmaW5kQ1NTUmVzb3VyY2UpOwotICAgICAgICBmdW5jdGlvbiBmaW5kQ1NTUmVzb3VyY2UocmVz
b3VyY2UpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChyZXNvdXJjZS51cmwuaW5kZXhPZigi
c3R5bGVzaGVldC10ZXh0LXBsYWluLnBocCIpICE9PSAtMSkKLSAgICAgICAgICAgICAgICBjc3NS
ZXNvdXJjZSA9IHJlc291cmNlOwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KGNzc1Jlc291cmNlLnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1
YWxzKGNzc1Jlc291cmNlLnR5cGUsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hl
ZXQsICJSZXNvdXJjZSB0eXBlIHNob3VsZCBiZSBTdHlsZXNoZWV0LiIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydFRydWUoIWNzc1Jlc291cmNlLmZhaWxlZCwgIlJlc291cmNlIGxvYWRp
bmcgZmFpbGVkLiIpOwotICAgICAgICBjc3NSZXNvdXJjZS5yZXF1ZXN0Q29udGVudChzdGVwMik7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlJlc291cmNlLmNvbnRlbnQ6ICIgKyBjc3NSZXNvdXJjZS5jb250ZW50
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQg
Y29udGVudCBpcyBjb3JyZWN0bHkgc2hvd24gZm9yIGNzcyBsb2FkZWQgd2l0aCBpbnZhbGlkIG1p
bWUgdHlwZSBpbiBxdWlya3MgbW9kZS48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA1MjgiPkJ1ZyA4MDUyODwvYT4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtbWltZXR5cGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxNzcwMzE0YTRhMWJiNWM2NjQ5OGYyM2U0NmNlZmVhYjQ2YTNjMjExLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlw
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3RzIHRoYXQg
cmVzb3VyY2VzIHBhbmVsIGNvcnJlY3RseSBzaG93cyBtaW1lIHR5cGUgd2hlbiBpdCBsb2FkcyBk
YXRhIGZyb20gbWVtb3J5IGNhY2hlLgotCi1CdWcgNjM3MDEgCi1zY3JpcHQgYXBwbGljYXRpb24v
eC1qYXZhc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMKLWRvY3VtZW50IHRleHQvaHRtbCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS5odG1sCi1zY3JpcHQgYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKLWltYWdlIGltYWdlL3BuZyBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2VtcHR5LnBuZwot
c3R5bGVzaGVldCB0ZXh0L2NzcyBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcwotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtbWltZXR5cGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjcxZWNjNjQ5M2I1OWM3NmQ4ZTA0ZjY3YzY2ODY4
MzIzODg5NDk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS1taW1ldHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLmNzcyI+
Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnBhbmVsKCJu
ZXR3b3JrIikuX3Jlc2V0KCk7Ci0gICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMu
Q2FjaGVkUmVzb3VyY2VzTG9hZGVkLCBzdGVwMik7Ci0gICAgV2ViSW5zcGVjdG9yLnJlc291cmNl
VHJlZU1vZGVsLl9mZXRjaFJlc291cmNlVHJlZSgpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQot
ICAgIHsKLSAgICAgICAgZnVuY3Rpb24gZm9ybWF0KHJlc291cmNlKQotICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gcmVzb3VyY2UudHlwZS5uYW1lKCkgKyAiICIgKyByZXNvdXJjZS5taW1l
VHlwZSArICIgIiArIHJlc291cmNlLnVybDsKLSAgICAgICAgfQotCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFJlc291cmNlcyhmb3JtYXQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCByZXNvdXJjZXMgcGFuZWwgY29ycmVjdGx5IHNob3dz
IG1pbWUgdHlwZSB3aGVuIGl0IGxvYWRzIGRhdGEgZnJvbSBtZW1vcnkgY2FjaGUuPC9wPgotPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzAxIj5CdWcg
NjM3MDE8L2E+Ci08aW1nIHNyYz0icmVzb3VyY2VzL2VtcHR5LnBuZyI+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbm8teGhycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291
cmNlLXRyZWUtbm8teGhycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDViYzU4ZTZhOTc4MDRkOGIyYjAzNWMzOGQyNGYzYjQ2M2VlOWVlZjcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vLXhocnMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgNjogWEhSIGxvYWRlZDogMQotVGVzdHMgdGhhdCBYSFJzIGFyZSBub3QgYWRkZWQg
dG8gcmVzb3VyY2VUcmVlTW9kZWwuCi0KLUJ1ZyA2MDMyMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10
cmVlLW5vLXhocnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1uby14aHJzLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGY1MzQ1ZTJiMTFjYzI2ZDhiNTI0MzEzOTAxMTZkYWY4Yjg3YjI2
MjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZS10cmVlLW5vLXhocnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5tYWtlU2ltcGxlWEhSKCJHRVQiLCAi
cmVzb3VyY2VzL3Jlc291cmNlLnBocCIsIGZhbHNlLCBzdGVwMik7Ci0KLSAgICBmdW5jdGlvbiBz
dGVwMigpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3Vy
Y2VUcmVlTW9kZWwucmVzb3VyY2VGb3JVUkwoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UucGhwIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0VHJ1ZSghcmVzb3VyY2UsICJYSFIgcmVzb3VyY2Ugc2hvdWxkIG5vdCBi
ZSBhZGRlZCB0byByZXNvdXJjZVRyZWVNb2RlbC4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgWEhScyBhcmUgbm90IGFkZGVkIHRvIHJlc291
cmNlVHJlZU1vZGVsLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MDMyMSI+QnVnIDYwMzIxPC9hPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Ut
dHJlZS1ub24tdW5pcXVlLXVybC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGNiYzUwMWVmYTIyOTZmOGIyYjhmNjU0NjllOGY2MDRiZmQ3M2U5MGYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vbi11
bmlxdWUtdXJsLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRl
c3RzIHJlc291cmNlcyBwYW5lbCBzaG93cyBzZXZlcmFsIHJlc291cmNlcyB3aXRoIHRoZSBzYW1l
IHVybCBpZiB0aGV5IHdlcmUgbG9hZGVkIHdpdGggaW5zcGVjdG9yIGFscmVhZHkgb3BlbmVkLgot
Ci0KLVJlc291cmNlcyBUcmVlOgotRnJhbWVzCi0gICAgKHJlc291cmNlLXRyZWUtbm9uLXVuaXF1
ZS11cmwuaHRtbCkKLSAgICAgICAgKHJlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1l
Lmh0bWwpCi0gICAgICAgICAgICBJbWFnZXMKLSAgICAgICAgICAgICAgICBzdHlsZXMtbm9uLXVu
aXF1ZS11cmwuY3NzCi0gICAgICAgICAgICBTdHlsZXNoZWV0cwotICAgICAgICAgICAgICAgIHN0
eWxlcy1ub24tdW5pcXVlLXVybC5jc3MKLSAgICAgICAgICAgIHJlc291cmNlLXRyZWUtbm9uLXVu
aXF1ZS11cmwtaWZyYW1lLmh0bWwKLSAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAgaW5zcGVj
dG9yLXRlc3QuanMKLSAgICAgICAgICAgIHJlc291cmNlLXRyZWUtdGVzdC5qcwotICAgICAgICAg
ICAgcmVzb3VyY2VzLXRlc3QuanMKLSAgICAgICAgcmVzb3VyY2UtdHJlZS1ub24tdW5pcXVlLXVy
bC5odG1sCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1ub24tdW5pcXVlLXVybC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGFlNGViMjMxYzQ1MjhhMzE2YmI5Yjg3ZmQ2YjA1ZWFlYzI4Yjc4MGYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLW5vbi11
bmlxdWUtdXJsLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVz
b3VyY2UtdHJlZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2FkSWZy
YW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotICAgIGlmcmFtZS5z
cmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwi
OwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJy
ZXNvdXJjZXMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkZy
YW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLCAiYXBwZW5kUmVzb3VyY2UiLCBvblJlc291cmNlLCB0
cnVlKTsKLQotICAgIHZhciBjc3NSZXF1ZXN0c0NvdW50ID0gMDsKLSAgICBmdW5jdGlvbiBvblJl
c291cmNlKHJlc291cmNlKQotICAgIHsKLSAgICAgICAgaWYgKHJlc291cmNlLnVybC5tYXRjaCgv
XC5jc3MkLykgJiYgKytjc3NSZXF1ZXN0c0NvdW50ID09PSAyKSB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVzb3VyY2VzIFRyZWU6Iik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNUcmVlKCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgpOyIpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyByZXNvdXJjZXMgcGFuZWwgc2hvd3Mg
c2V2ZXJhbCByZXNvdXJjZXMgd2l0aCB0aGUgc2FtZSB1cmwgaWYgdGhleSB3ZXJlIGxvYWRlZCB3
aXRoIGluc3BlY3RvciBhbHJlYWR5IG9wZW5lZC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291
cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVl
LXJlbG9hZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ODM3
NDZmMTkyOTFjMmI0MTQ4OTQ5OGQ4MWZmMDI2OTk5MGQ3MDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1UZXN0cyByZXNvdXJjZSB0cmVlIG1v
ZGVsIG9uIHBhZ2UgcmVsb2FkLCBjb21wYXJlcyByZXNvdXJjZSB0cmVlIGFnYWluc3QgZ29sZGVu
LiBFdmVyeSBsaW5lIGlzIGltcG9ydGFudC4KLQotCi1QYWdlIHJlbG9hZGVkLgotUmVzb3VyY2Vz
Ogotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMKLWRvY3VtZW50IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCi1zY3JpcHQgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtdGVzdC5qcwotZG9jdW1lbnQg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9y
ZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbAotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMK
LXN0eWxlc2hlZXQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcwotc3R5bGVzaGVldCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFs
LmNzcwotc2NyaXB0IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRl
c3QuanMKLQotUmVzb3VyY2VzIFVSTCBNYXA6Ci1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
aW5zcGVjdG9yLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCi1odHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10
ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLXRlc3QuanMKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwgPT0g
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9y
ZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbAotaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcyA9PSBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Njcmlw
dC1pbml0aWFsLmpzCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2VzL3N0eWxlcy1pbml0aWFsLTIuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwtMi5jc3MK
LWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMv
c3R5bGVzLWluaXRpYWwuY3NzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCi1odHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzID09IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2VzLXRlc3QuanMKLQotUmVzb3VyY2VzIFRyZWU6Ci1GcmFtZXMK
LSAgICAocmVzb3VyY2UtdHJlZS1yZWxvYWQuaHRtbCkKLSAgICAgICAgKHJlc291cmNlLXRyZWUt
cmVsb2FkLWlmcmFtZS5odG1sKQotICAgICAgICAgICAgU2NyaXB0cwotICAgICAgICAgICAgICAg
IHNjcmlwdC1pbml0aWFsLmpzCi0gICAgICAgICAgICBTdHlsZXNoZWV0cwotICAgICAgICAgICAg
ICAgIHN0eWxlcy1pbml0aWFsLTIuY3NzCi0gICAgICAgICAgICByZXNvdXJjZS10cmVlLXJlbG9h
ZC1pZnJhbWUuaHRtbAotICAgICAgICBTY3JpcHRzCi0gICAgICAgICAgICBpbnNwZWN0b3ItdGVz
dC5qcwotICAgICAgICAgICAgcmVzb3VyY2UtdHJlZS10ZXN0LmpzCi0gICAgICAgICAgICByZXNv
dXJjZXMtdGVzdC5qcwotICAgICAgICBTdHlsZXNoZWV0cwotICAgICAgICAgICAgc3R5bGVzLWlu
aXRpYWwuY3NzCi0gICAgICAgIHJlc291cmNlLXRyZWUtcmVsb2FkLmh0bWwKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXJlbG9hZC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YWIyZTE0OWFhZWNiNjc4NTE4MzliN2Y2OGYw
OTg3NzI3YTI4ZDJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJyZXNvdXJjZS10cmVlLXRlc3QuanMiPjwvc2NyaXB0PgotCi08bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MiPgotCi08c2Ny
aXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJy
ZXNvdXJjZXMiKTsKLQotICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwMSk7Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVy
UmVzb3VyY2VzQXJlRmluaXNoZWQoWyJyZXNvdXJjZS10cmVlLXJlbG9hZC1pZnJhbWUuaHRtbCIs
ICJzY3JpcHQtaW5pdGlhbC5qcyIsICJzdHlsZXMtaW5pdGlhbC0yLmNzcyJdLCBzdGVwMik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wUmVzb3VyY2VUcmVlRXZlcnl0aGluZygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTwvaGVhZD4KLQotPGJvZHk+
Ci08cD4KLVRlc3RzIHJlc291cmNlIHRyZWUgbW9kZWwgb24gcGFnZSByZWxvYWQsIGNvbXBhcmVz
IHJlc291cmNlIHRyZWUgYWdhaW5zdCBnb2xkZW4uIEV2ZXJ5IGxpbmUgaXMgaW1wb3J0YW50Lgot
PC9wPgotCi08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2FkLWlmcmFt
ZS5odG1sIiBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYTZhNWI4MmMxMjJjN2QxZGNlNWI0MGFmYWIxNzllMmVk
ZDIwYmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZS10cmVlLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi12YXIgaW5p
dGlhbGl6ZV9SZXNvdXJjZVRyZWVUZXN0ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3BlY3RvclRlc3Qu
ZHVtcFJlc291cmNlcyA9IGZ1bmN0aW9uKGZvcm1hdHRlcikKLXsKLSAgICB2YXIgcmVzdWx0cyA9
IFtdOwotCi0gICAgZnVuY3Rpb24gZm9ybWF0dGVyV3JhcHBlcihyZXNvdXJjZSkKLSAgICB7Ci0g
ICAgICAgIGlmIChmb3JtYXR0ZXIpCi0gICAgICAgICAgICByZXN1bHRzLnB1c2goeyByZXNvdXJj
ZTogcmVzb3VyY2UsIHRleHQ6IGZvcm1hdHRlcihyZXNvdXJjZSkgfSk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7IHJlc291cmNlOiByZXNvdXJjZSwgdGV4dDogcmVz
b3VyY2UudXJsIH0pOwotICAgIH0KLQotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2Rl
bC5mb3JBbGxSZXNvdXJjZXMoZm9ybWF0dGVyV3JhcHBlcik7Ci0KLSAgICBmdW5jdGlvbiBjb21w
YXJhdG9yKHJlc3VsdDEsIHJlc3VsdDIpCi0gICAgewotICAgICAgICByZXR1cm4gcmVzdWx0MS5y
ZXNvdXJjZS51cmwubG9jYWxlQ29tcGFyZShyZXN1bHQyLnJlc291cmNlLnVybCk7Ci0gICAgfQot
ICAgIHJlc3VsdHMuc29ydChjb21wYXJhdG9yKTsKLQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cmVzdWx0cy5sZW5ndGg7ICsraSkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVz
dWx0c1tpXS50ZXh0KTsKLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzVVJMTWFwID0g
ZnVuY3Rpb24oKQotewotICAgIHZhciByZXN1bHRzID0gW107Ci0gICAgV2ViSW5zcGVjdG9yLnJl
c291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNlcyhjb2xsZWN0KTsKLSAgICBmdW5jdGlvbiBj
b2xsZWN0KHJlc291cmNlKQotICAgIHsKLSAgICAgICAgcmVzdWx0cy5wdXNoKHsgdXJsOiByZXNv
dXJjZS51cmwsIHJlc291cmNlOiBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwucmVzb3Vy
Y2VGb3JVUkwocmVzb3VyY2UudXJsKSB9KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjb21wYXJh
dG9yKHJlc3VsdDEsIHJlc3VsdDIpCi0gICAgewotICAgICAgICBpZiAocmVzdWx0MS51cmwgPiBy
ZXN1bHQyLnVybCkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICBpZiAocmVzdWx0Mi51
cmwgPiByZXN1bHQxLnVybCkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgfQotCi0gICAgcmVzdWx0cy5zb3J0KGNvbXBhcmF0b3IpOwotCi0gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgKytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdChyZXN1bHRzW2ldLnVybCArICIgPT0gIiArIHJlc3VsdHNbaV0ucmVzb3VyY2Uu
dXJsKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzVHJlZSA9IGZ1bmN0aW9uKCkK
LXsKLSAgICBmdW5jdGlvbiBkdW1wKHRyZWVJdGVtLCBwcmVmaXgpCi0gICAgewotICAgICAgICAv
LyBXZSBkb24ndCBuZWVkIHRvIHByaW50IHRoZSBidWJibGVzIGNvbnRlbnQgaGVyZS4KLSAgICAg
ICAgaWYgKHR5cGVvZih0cmVlSXRlbS5fcmVzZXRCdWJibGUpID09PSAiZnVuY3Rpb24iKQotICAg
ICAgICAgICAgdHJlZUl0ZW0uX3Jlc2V0QnViYmxlKCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQocHJlZml4ICsgdHJlZUl0ZW0ubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50
KTsKLQotICAgICAgICB0cmVlSXRlbS5leHBhbmQoKTsKLSAgICAgICAgdmFyIGNoaWxkcmVuID0g
dHJlZUl0ZW0uY2hpbGRyZW47Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBjaGlsZHJlbiAmJiBp
IDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBkdW1wKGNoaWxkcmVuW2ldLCBw
cmVmaXggKyAiICAgICIpOwotICAgIH0KLQotICAgIGR1bXAoV2ViSW5zcGVjdG9yLnNob3dQYW5l
bCgicmVzb3VyY2VzIikucmVzb3VyY2VzTGlzdFRyZWVFbGVtZW50LCAiIik7Ci19Ci0KLUluc3Bl
Y3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcgPSBmdW5jdGlvbigpCi17Ci0gICAg
ZnVuY3Rpb24gZm9ybWF0KHJlc291cmNlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHJlc291cmNl
LnR5cGUubmFtZSgpICsgIiAiICsgcmVzb3VyY2UudXJsOwotICAgIH0KLQotICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXM6Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVz
b3VyY2VzKGZvcm1hdCk7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc291cmNlcyBVUkwgTWFwOiIpOwotICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFJlc291cmNlc1VSTE1hcCgpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJjZXMgVHJlZToi
KTsKLSAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZXNvdXJjZXNUcmVlKCk7Ci19Ci0KLX07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9kdW1teS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R1bW15LWlmcmFt
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1M2E3ZjI0Mjk1NDkxNDJmNzhi
Nzc3NzkwNGIyNjEwMjg1OGQ5NzE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL2R1bW15LWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPC9oZWFkPgotPGJvZHk+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9keW5hbWljLXNjcmlwdC5qcyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L2R5bmFtaWMtc2NyaXB0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTQwNzI5
ZTllYjg0ODYyYThmMWI0OTBjODQ0MzM1MmE4MTVhZmI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL2R5bmFtaWMtc2NyaXB0LmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1mdW5jdGlvbiBmb28oKSB7Ci19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9lbXB0eS5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9lbXB0eS5wbmcKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGZkNWI5MWVhMDdiOTQ3MzkxNzE0MDg1ZWE5Yzc2M2QzYTc4NjhkNjgu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMjYwCnpjbWVBU0BOPyhvbEh5YHVWQnEh
aWEwdnBeajNDU2JCcDlzZldgX2JQcmpqN1BWMUAmNHp3PnYxY3VDJndFKHtFLQp6ZFg8ZlVKa0Ex
LSRZTFB2MG1nMTh2K2FQNG1KLSo5bDkxSG01KFhQWjdrfXJGJE4qUGBqRlF8T0l+eXBPbndWbHwK
elE8N1BkbFdPUFk9Oz5wbDRgSktyWE1rbXJAPjQ0OVl6bS1xMSRIKlkkd2lxM0MzWGRnTVg3bHVk
VV5SSm5RNF84CnpOfnlVOEM2IyZ3ZEZlYDtIdV9Le0h1QDBGYGUyKjdlI0hJKnhgKWZ0I1c5NUFk
YT96T2VUZD1Vanw9fDdLbyowaQpMdERubXtyLVVXfCVmM3FOCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvcmVzb3VyY2UtdHJlZS1mcmFtZS1hZGQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJj
ZS10cmVlLWZyYW1lLWFkZC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMGM4ODRjODQ5ZjU5YTZmZjllNTIxNWIwZTY2Njk3M2FkODY2MmNiMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVl
LWZyYW1lLWFkZC1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxo
dG1sPgotCi08aGVhZD4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtbmF2aWdhdGVkLmpzIj48L3Njcmlw
dD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzLW5hdmlnYXRlZC5jc3MiPgot
PC9oZWFkPgotCi08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmlnYXRlLWlmcmFtZS1hZnRlci5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzg4NGM4NDlmNTlhNmZmOWU1MjE1YjBlNjY2OTczYWQ4
NjYyY2IxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2aWdhdGUtaWZyYW1lLWFmdGVyLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLQotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0ic2NyaXB0LW5hdmlnYXRlZC5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9InN0eWxlcy1uYXZpZ2F0ZWQuY3NzIj4KLTwvaGVhZD4KLQotPGJvZHk+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9yZXNvdXJjZS10cmVlLWZyYW1lLW5hdmln
YXRlLWlmcmFtZS1iZWZvcmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJhbWUtbmF2
aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
MTMxMWYyODZhODkyMmVkNmYyYmQ5NzMyYjEwZjk2Y2U5OTg3OTBkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtZnJh
bWUtbmF2aWdhdGUtaWZyYW1lLWJlZm9yZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAs
MCBAQAotPGh0bWw+Ci0KLTxoZWFkPgotPHNjcmlwdCBzcmM9InNjcmlwdC1pbml0aWFsLmpzIj48
L3NjcmlwdD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGVzLWluaXRpYWwtMi5j
c3MiPgotPC9oZWFkPgotCi08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9yZXNvdXJjZS10cmVlLW5vbi11bmlxdWUtdXJsLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0Y2I1Mjc2NjlhOTMxZTZlMTc2MWZiM2MxYWQxNWJkYzdlNTkxZDRk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3Jlc291cmNlLXRyZWUtbm9uLXVuaXF1ZS11cmwtaWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9InN0eWxlcy1ub24tdW5pcXVlLXVybC5jc3MiPgotPC9oZWFkPgotPGJvZHk+Ci08L2JvZHk+
Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Jlc291cmNlLXRyZWUtcmVsb2FkLWlm
cmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxMzExZjI4NmE4OTIyZWQ2ZjJiZDk3MzJiMTBm
OTZjZTk5ODc5MGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvcmVzb3VyY2UtdHJlZS1yZWxvYWQtaWZyYW1lLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMCArMCwwIEBACi08aHRtbD4KLQotPGhlYWQ+Ci08c2NyaXB0IHNyYz0ic2NyaXB0
LWluaXRpYWwuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHls
ZXMtaW5pdGlhbC0yLmNzcyI+Ci08L2hlYWQ+Ci0KLTxib2R5PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvc2NyaXB0LWluaXRpYWwuanMgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQt
aW5pdGlhbC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk0MDcyOWU5ZWI4NDg2
MmE4ZjFiNDkwYzg0NDMzNTJhODE1YWZiOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zY3JpcHQtaW5pdGlhbC5qcworKysgL2Rldi9udWxs
CkBAIC0xLDIgKzAsMCBAQAotZnVuY3Rpb24gZm9vKCkgewotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvc2NyaXB0LW5hdmlnYXRlZC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3NjcmlwdC1uYXZpZ2F0ZWQuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5NDA3MjllOWViODQ4NjJhOGYxYjQ5MGM4NDQz
MzUyYTgxNWFmYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvc2NyaXB0LW5hdmlnYXRlZC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAs
MCBAQAotZnVuY3Rpb24gZm9vKCkgewotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLWlu
aXRpYWwtMi5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC0yLmNzcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjViNjZjYmFiYmE5YjkyODMzNjY4ODNjNjlhMjgxOGViN2NkOThj
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zdHlsZXMtaW5pdGlhbC0yLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotaHRt
bCB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9zdHlsZXMtaW5pdGlhbC5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXMtaW5pdGlhbC5jc3MKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1YjY2Y2JhYmJhOWI5MjgzMzY2ODgzYzY5YTI4MThl
YjdjZDk4YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvc3R5bGVzLWluaXRpYWwuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci1odG1sIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKLX0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL3N0eWxlcy1uYXZpZ2F0ZWQuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5hdmlnYXRlZC5j
c3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1YjY2Y2JhYmJhOWI5MjgzMzY2ODgz
YzY5YTI4MThlYjdjZDk4YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5hdmlnYXRlZC5jc3MKKysrIC9kZXYvbnVsbApAQCAt
MSwzICswLDAgQEAKLWh0bWwgewotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5vbi11bmlxdWUtdXJsLmNzcyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0
eWxlcy1ub24tdW5pcXVlLXVybC5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYz
YTJlYWQ0ZmRjNjc5NTVkMjE4M2RmYjQ5NmI0N2IzMDA4YTdjNDIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvc3R5bGVzLW5vbi11bmlxdWUt
dXJsLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotYm9keSB7Ci0gICAgYmFja2dy
b3VuZDogdXJsKCk7Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3N0eWxlc2hlZXQtdGV4dC1w
bGFpbi5waHAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9zdHlsZXNoZWV0LXRleHQtcGxhaW4ucGhwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCBmZWFlNzRlZDI2YTljZTgyMzE1N2M3ZmRlNTYyZTNhYzczMDUy
NmY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlLXRyZWUvcmVzb3Vy
Y2VzL3N0eWxlc2hlZXQtdGV4dC1wbGFpbi5waHAKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAg
QEAKLTw/cGhwCi0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4iKTsKLT8+Ci1i
b2R5IHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjoKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy10ZXN0LmpzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzLXRlc3Qu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0ZmNlNzk1YjRlZjRjNDQ3OWU2MTdj
YTBhNTJhZDZjMGQxODFiM2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2VzLXRlc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi12YXIgaW5pdGlhbGl6
ZV9SZXNvdXJjZVRlc3QgPSBmdW5jdGlvbigpIHsKLQotSW5zcGVjdG9yVGVzdC5IQVJQcm9wZXJ0
eUZvcm1hdHRlcnMgPSB7Ci0gICAgYm9keVNpemU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICBj
b21wcmVzc2lvbjogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGhlYWRlcnM6ICJmb3JtYXRBc1R5
cGVOYW1lIiwKLSAgICBoZWFkZXJzU2l6ZTogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGlkOiAi
Zm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgb25Db250ZW50TG9hZDogImZvcm1hdEFzVHlwZU5hbWUi
LAotICAgIG9uTG9hZDogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHJlY2VpdmU6ICJmb3JtYXRB
c1R5cGVOYW1lIiwKLSAgICBzdGFydGVkRGF0ZVRpbWU6ICJmb3JtYXRBc1JlY2VudFRpbWUiLAot
ICAgIHRpbWU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICB0aW1pbmdzOiAiZm9ybWF0QXNUeXBl
TmFtZSIsCi0gICAgdmVyc2lvbjogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHdhaXQ6ICJmb3Jt
YXRBc1R5cGVOYW1lIiwKLX07Ci0KLS8vIGFkZE9iamVjdCBjaGVja3Mgb3duIHByb3BlcnRpZXMg
b25seSwgc28gbWFrZSBhIGRlZXAgY29weSByYXRoZXIgdGhhbiB1c2UgcHJvdG90eXBlLgotCi1J
bnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5Rm9ybWF0dGVyc1dpdGhTaXplID0gSlNPTi5wYXJzZShK
U09OLnN0cmluZ2lmeShJbnNwZWN0b3JUZXN0LkhBUlByb3BlcnR5Rm9ybWF0dGVycykpOwotSW5z
cGVjdG9yVGVzdC5IQVJQcm9wZXJ0eUZvcm1hdHRlcnNXaXRoU2l6ZS5zaXplID0gImZvcm1hdEFz
VHlwZU5hbWUiOwotCi0KLUluc3BlY3RvclRlc3QucmVxdWVzdFVSTENvbXBhcmVyID0gZnVuY3Rp
b24ocjEsIHIyKQotewotICAgIHJldHVybiByMS5yZXF1ZXN0LnVybC5sb2NhbGVDb21wYXJlKHIy
LnJlcXVlc3QudXJsKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5ydW5BZnRlckNhY2hlZFJlc291cmNl
c1Byb2Nlc3NlZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAgIGlmICghV2ViSW5zcGVjdG9y
LnJlc291cmNlVHJlZU1vZGVsLl9jYWNoZWRSZXNvdXJjZXNQcm9jZXNzZWQpCi0gICAgICAgIFdl
Ykluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLkNhY2hlZFJlc291cmNlc0xvYWRlZCwgY2Fs
bGJhY2spOwotICAgIGVsc2UKLSAgICAgICAgY2FsbGJhY2soKTsKLX0KLQotSW5zcGVjdG9yVGVz
dC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkID0gZnVuY3Rpb24ocmVzb3VyY2VVUkxzLCBj
YWxsYmFjaykKLXsKLSAgICB2YXIgcmVzb3VyY2VVUkxzTWFwID0gcmVzb3VyY2VVUkxzLmtleVNl
dCgpOwotCi0gICAgZnVuY3Rpb24gY2hlY2tSZXNvdXJjZXMoKQotICAgIHsKLSAgICAgICAgZm9y
ICh1cmwgaW4gcmVzb3VyY2VVUkxzTWFwKSB7Ci0gICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBJ
bnNwZWN0b3JUZXN0LnJlc291cmNlTWF0Y2hpbmdVUkwodXJsKTsKLSAgICAgICAgICAgIGlmIChy
ZXNvdXJjZSkKLSAgICAgICAgICAgICAgICBkZWxldGUgcmVzb3VyY2VVUkxzTWFwW3VybF07Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhyZXNvdXJjZVVSTHNNYXApLmxlbmd0
aCkgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLnJlbW92ZUV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuUmVz
b3VyY2VBZGRlZCwgY2hlY2tSZXNvdXJjZXMpOwotICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICBjaGVja1Jlc291cmNlcygpOwotICAgIGlmIChPYmplY3Qua2V5
cyhyZXNvdXJjZVVSTHNNYXApLmxlbmd0aCkKLSAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNl
VHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVs
LkV2ZW50VHlwZXMuUmVzb3VyY2VBZGRlZCwgY2hlY2tSZXNvdXJjZXMpOwotfQotCi1JbnNwZWN0
b3JUZXN0LnNob3dSZXNvdXJjZSA9IGZ1bmN0aW9uKHJlc291cmNlVVJMLCBjYWxsYmFjaykKLXsK
LSAgICB2YXIgcmVwb3J0ZWQgPSBmYWxzZTsKLSAgICBmdW5jdGlvbiBjYWxsYmFja1dyYXBwZXIo
c291cmNlRnJhbWUpCi0gICAgewotICAgICAgICBpZiAocmVwb3J0ZWQpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIGNhbGxiYWNrKHNvdXJjZUZyYW1lKTsKLSAgICAgICAgcmVwb3J0ZWQg
PSB0cnVlOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHNob3dSZXNvdXJjZUNhbGxiYWNrKCkKLSAg
ICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IEluc3BlY3RvclRlc3QucmVzb3VyY2VNYXRjaGlu
Z1VSTChyZXNvdXJjZVVSTCk7Ci0gICAgICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLnNob3dSZXNvdXJj
ZShyZXNvdXJjZSwgMSk7Ci0gICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IFdlYkluc3BlY3Rvci5w
YW5lbHMucmVzb3VyY2VzLl9yZXNvdXJjZVZpZXdGb3JSZXNvdXJjZShyZXNvdXJjZSk7Ci0gICAg
ICAgIGlmIChzb3VyY2VGcmFtZS5sb2FkZWQpCi0gICAgICAgICAgICBjYWxsYmFja1dyYXBwZXIo
c291cmNlRnJhbWUpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFNuaWZmZXIoc291cmNlRnJhbWUsICJvblRleHRFZGl0b3JDb250ZW50TG9hZGVkIiwgY2FsbGJh
Y2tXcmFwcGVyLmJpbmQobnVsbCwgc291cmNlRnJhbWUpKTsKLSAgICB9Ci0gICAgSW5zcGVjdG9y
VGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZpbmlzaGVkKFtyZXNvdXJjZVVSTF0sIHNob3dSZXNv
dXJjZUNhbGxiYWNrKTsKLX0KLQotSW5zcGVjdG9yVGVzdC5yZXNvdXJjZU1hdGNoaW5nVVJMID0g
ZnVuY3Rpb24ocmVzb3VyY2VVUkwpCi17Ci0gICAgdmFyIHJlc3VsdCA9IG51bGw7Ci0gICAgV2Vi
SW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZvckFsbFJlc291cmNlcyh2aXNpdCk7Ci0gICAg
ZnVuY3Rpb24gdmlzaXQocmVzb3VyY2UpCi0gICAgewotICAgICAgICBpZiAocmVzb3VyY2UudXJs
LmluZGV4T2YocmVzb3VyY2VVUkwpICE9PSAtMSkgewotICAgICAgICAgICAgcmVzdWx0ID0gcmVz
b3VyY2U7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLSAgICBy
ZXR1cm4gcmVzdWx0OwotfQotCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29tcGlsZWQuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29tcGlsZWQuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYmJkYjkxOGFkMDRkOTdhNTc1YWNkMTdlZDYxZDkz
MWVmNjUyZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbXBp
bGVkLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi13aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0
b24iKTthLmlkPSJ0ZXN0IjthLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoYW5kbGVDbGljaywh
MCk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpO2EuaWQ9ImJhcnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJyciI7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpfSk7ZnVuY3Rpb24gaGFuZGxl
Q2xpY2soYSl7KG5ldyBDbGlja0hhbmRsZXIpLmhhbmRsZShhKX07ZnVuY3Rpb24gQ2xpY2tIYW5k
bGVyKCl7fUNsaWNrSGFuZGxlci5wcm90b3R5cGUuaGFuZGxlPWZ1bmN0aW9uKCl7Y29uc29sZS5s
b2coImJ1dHRvbiBjbGlja2VkISIpfTsKLS8vQCBzb3VyY2VNYXBwaW5nVVJMPXNvdXJjZS1tYXAu
anNvbiAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1jZC1jb21wbGV0aW9ucy1pZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNk
LWNvbXBsZXRpb25zLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
MjNmMzQwYjMzMzkxNjdiYzI0YjI5Y2QzOTAxNWJhZDc0ZjQ1MTgzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNkLWNvbXBsZXRpb25zLWlmcmFtZS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi08c2NyaXB0PgotdmFyIG15R2xvYmFs
VmFyID0gMjAxMTsKLWZ1bmN0aW9uIG15R2xvYmFsRnVuY3Rpb24oKSB7IH0KLTwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2VzL2NvbnNvbGUtY2QtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1jZC1pZnJhbWUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWVjMWJjMzA0NzNhOTcxZjE4MzVjODQ3NDBlYjg3ZDdh
NGEzMzc5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29s
ZS1jZC1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPHNjcmlwdD4K
LXZhciBmb28gPSAyMDExOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVu
dHMtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZXMvY29uc29sZS1jbGVhci1hcmd1bWVudHMtaWZyYW1lLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZDBhNzlhMTQ5YTAzZGFjZTY0MTE1MmUwMjJiNTdlMjlk
NTk0YmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUt
Y2xlYXItYXJndW1lbnRzLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci08c2NyaXB0PgotY29uc29sZS5sb2coIkEgbWVzc2FnZSB3aXRoIGZpcnN0IGFyZ3VtZW50IHN0
cmluZyIsICJTZWNvbmQgYXJndW1lbnQgd2hpY2ggc2hvdWxkIGJlIGRpc2NhcmRlZCBvbiBpZnJh
bWUgcmVtb3ZhbCIpOwotY29uc29sZS5sb2coMjAxMSwgIkEgbWVzc2FnZSB3aXRoIGZpcnN0IGFy
Z3VtZW50IGludGVnZXIiKTsKLWNvbnNvbGUubG9nKHdpbmRvdywgIkEgbWVzc2FnZSB3aXRoIGZp
cnN0IGFyZ3VtZW50IHdpbmRvdyIpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1jbGVhci1h
cmd1bWVudHMtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlcy9jb25zb2xlLWNsZWFyLWFyZ3VtZW50cy10ZXN0LmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmZmM2Y2QzYjNhMjYwOTk0ZGZiZjg2NTVmM2JkNWU5OWIxMTVi
NjM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWNs
ZWFyLWFyZ3VtZW50cy10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotZnVu
Y3Rpb24gcHJpbnQodGV4dCkKLXsKLSAgICB2YXIgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm91dHB1dCIpOwotICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKLSAgICBkaXYudGV4dENvbnRlbnQgPSB0ZXh0OwotICAgIG91dHB1dC5hcHBlbmRDaGls
ZChkaXYpOwotfQotCi1mdW5jdGlvbiBkdW1wQ29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygp
Ci17Ci0gICAgdmFyIGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMgPSB3aW5kb3cuaW50ZXJu
YWxzLmNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKLSAgICBpZiAoY29uc29sZU1lc3Nh
Z2VBcmd1bWVudENvdW50cy5sZW5ndGggPT09IDMpCi0gICAgICAgIHByaW50KCJQQVNTRUQ6IGZv
dW5kIGFyZ3VtZW50IGNvdW50cyBmb3IgMyBtZXNzYWdlcyIpOwotICAgIGVsc2UKLSAgICAgICAg
cHJpbnQoIkZBSUxFRDogdW5leHBlY3RlZCBudW1iZXIgb2YgbWVzc2FnZXM6ICIgKyBjb25zb2xl
TWVzc2FnZUFyZ3VtZW50Q291bnRzLmxlbmd0aCk7Ci0KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgdmFy
IGNvdW50ID0gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50c1tpXTsKLSAgICAgICAgaWYgKGNv
dW50ID09IDApCi0gICAgICAgICAgICBwcmludCgiUEFTU0VEOiBtZXNzYWdlICMiICsgaSArICIg
aGFzIG5vIGFyZ3VtZW50cy4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcHJpbnQoIkZB
SUxFRDogbWVzc2FnZSAjIiArIGkgKyAiIGhhcyAiICsgY291bnQgKyAiIGFyZ3VtZW50cy4iKTsK
LSAgICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1sb2ctZnJhbWUtYWZ0ZXItbmF2aWdhdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2Nv
bnNvbGUtbG9nLWZyYW1lLWFmdGVyLW5hdmlnYXRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMGM3YzFjZDkwN2U4YTI2MzQ5ZTI4N2M0MDJkNTc0NWQ3OGEzMTk2Zi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1sb2ctZnJhbWUt
YWZ0ZXItbmF2aWdhdGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBoYW5kbGVMb2FkKCkgewotICAgIHdpbmRv
dy5wYXJlbnQucG9zdE1lc3NhZ2UoImZyYW1lUmVsb2FkZWQiLCAiKiIpOwotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImhhbmRsZUxvYWQoKSI+Ci1OZXcgSW5uZXIgQ29udGVu
dC4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb25zb2xlLWxvZy1mcmFtZS1iZWZvcmUtbmF2
aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2VzL2NvbnNvbGUtbG9nLWZyYW1lLWJlZm9yZS1uYXZpZ2F0aW9uLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlN2ZmODExMGY5ZTk4NzE3NDAyNGY3NDZmZTg2NWJl
ZTA5NGQ3YzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNv
bGUtbG9nLWZyYW1lLWJlZm9yZS1uYXZpZ2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGhhbmRsZUxvYWQo
KSB7Ci0gIGNvbnNvbGUubG9nKCJDb25zb2xlIG1lc3NhZ2UgKEMpICVkIHdpdGggZWxlbWVudCIs
IDIwMTAsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7Ci0KLSAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKLSAgICAvLyBOb3RlIHRoYXQgbG9jYWxob3N0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSAx
MjcuMC4wLjEgdGhhdCB0ZXN0cyBhcmUgcnVubnVuZyBhZ2FpbnN0LiBTbyB0aGlzIG5hdmlnYXRp
b24KLSAgICAvLyBpcyBpbiBmYWN0IGNyb3NzLWRvbWFpbi4KLSAgICBkb2N1bWVudC5sb2NhdGlv
biA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yLWVuYWJsZWQvcmVzb3VyY2VzL2Nv
bnNvbGUtbG9nLWZyYW1lLWFmdGVyLW5hdmlnYXRpb24uaHRtbCI7Ci0gIH0sIDApOwotfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImhhbmRsZUxvYWQoKSI+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29uc29sZS1y
ZXNvdXJjZS1lcnJvcnMtaWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQ3MzE3MmJiYzk2MzUxMzJmMjFlNzg2NTRhMGMwNTJjN2ZkMmRkYmMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWlmcmFt
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL21pc3NpbmcuY3Nz
Ij4KLTxzY3JpcHQgc3JjPSIuLi9ub24tZXhpc3RlbnQtc2NyaXB0LmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLQotPGJvZHk+Ci08aWZyYW1lIHNyYz0iLi4vbm9uLWV4aXN0ZW50LWlmcmFtZS5odG1s
Ij48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHAgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvY29ycy10
YXJnZXQucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBkNzg0YmFmZjVkYTFhNjFl
ZjIyNTUyZDFkOTA1YTIwMjY3MWVlNzY2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3Jlc291cmNlcy9jb3JzLXRhcmdldC5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBA
Ci08P3BocAotICAgIHBhcnNlX3N0cigkX1NFUlZFUlsnUVVFUllfU1RSSU5HJ10sICRxdWVyeVBh
cmFtcyk7Ci0gICAgaWYgKCRxdWVyeVBhcmFtc1siZGVueSJdICE9ICJ5ZXMiKSB7Ci0gICAgICAg
IGhlYWRlcigiQWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAiKTsKLSAgICAgICAgaGVhZGVyKCJBY2Nlc3MtY29udHJvbC1hbGxvdy1oZWFkZXJzOiBDb250
ZW50LVR5cGUiKTsKLSAgICB9Ci0gICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW4i
KTsKLQotICAgIHByaW50ICJib2R5IgotPz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
Y3Jvc3Mtb3JpZ2luLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
NTBiOTZhZjRmNzQ5ZTBiZGZmZTljMzM0ZTg2YjZjZjk0YTAzMzZlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taWZyYW1lLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LSAgPHA+Q3Jvc3Mgb3JpZ2luIGZyYW1lLjxwPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2Rl
ZGljYXRlZC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZXMvZGVkaWNhdGVkLXdvcmtlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODYxNzQ5NjE0M2MxOWNjZDJmMWNmOWRlZjUwMWZhN2I2Njc4YTZlOC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZGVkaWNhdGVkLXdvcmtlci5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotdmFyIHdvcmtlcklkID0gbG9jYXRpb24uc2Vh
cmNoLnN1YnN0cmluZyg0KTsKLXBvc3RNZXNzYWdlKCJXb3JrZXIgIiArIHdvcmtlcklkICsgIiBz
dGFydGVkLiIpOwotZG9Xb3JrKCk7Ci1zZXRJbnRlcnZhbChkb1dvcmssIDEwMDApOwotZnVuY3Rp
b24gZG9Xb3JrKCkgewotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQuanMgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZHluYW1pYy1zY3JpcHQu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiOWZiODE5NWEwMWI1YzEwZThmZTM0
ZmZhZWE5MTMzODZiZTEwODcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3Vy
Y2VzL2R5bmFtaWMtc2NyaXB0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1mdW5j
dGlvbiBmb29EeW5hbWljU2NyaXB0KCkKLXsKLX0KLQotc2NyaXB0TG9hZGVkKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
ZWNoby1oZWFkZXJzLnBocCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCBhZTY5NTk3YTliOTVjNjAyMTJjNjE1NzlkODgyZDBmZDRkZjcwYzU4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9lY2hvLWhlYWRlcnMucGhwCisrKyAvZGV2
L251bGwKQEAgLTEsOSArMCwwIEBACi08P3BocAotCi0kaGVhZGVycyA9IEFycmF5KCdIVFRQX1hf
V0VCSU5TUEVDVE9SX0VYVEVOU0lPTicsICdIVFRQX1VTRVJfQUdFTlQnKTsKLQotZm9yZWFjaCAo
JGhlYWRlcnMgYXMgJGhlYWRlcikgewotICAgIGVjaG8gJGhlYWRlciAuICI6ICIgLiAkX1NFUlZF
UlskaGVhZGVyXSAuICJcbiI7Ci19Ci0KLT8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZW1wdHkuemlwIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2VtcHR5LnppcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTVjYjBlY2IzZTIxOWQxNzAxMjk0YmZkZjBmZTNm
NWNiNWQyMDhlNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAyMgpOY21XSVdXQFRm
KjAwMGcxMEgqKXwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZS5jc3MubWFwIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGUuY3NzLm1hcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGMzM2Q5NGNiMmEwMjM5ZjE1YTUyOTMwYTUyYmU1ODE0
MjExZWRhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXhhbXBs
ZS5jc3MubWFwCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi17Ci0idmVyc2lvbiI6ICIz
IiwKLSJtYXBwaW5ncyI6ICI7QUFDQSxDQUFFO0VBQ0EsR0FBRyxFQUFFLEdBQUc7O0VBRVIsU0FB
UyxFQUFFLElBQUkiLAotInNvdXJjZXMiOiBbImV4YW1wbGUuc2NzcyJdLAotImZpbGUiOiAiZXhh
bXBsZS5jc3MiCi19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZS5zY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4YW1wbGUuc2NzcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOTA2N2M1YjMyZTk3NmUyMzViOTE3ODVhMzBmZTZkZDlmNmE2MThj
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXhhbXBsZS5zY3Nz
CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0vKiBDb21tZW50ICovCi1hIHsKLSAgZm9v
OiBiYXI7Ci0vKiBTT01FIENPTU1FTlQgKi8KLSAgZm9udC1zaXplOiAxMnB4OwotfQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZXMvZXh0ZW5zaW9uLW1haW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0Yzk4NjIxNzY2NTllMGVkNDllNTcyOTUxYzVmMjBjMWE5YTA3ZDc3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9ImV4dGVuc2lvbi1tYWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KLW91dHB1dCgiU3RhcnRlZCBleHRlbnNpb24uIik7Ci1mZXRjaFRlc3RzKCk7
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5qcyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9leHRl
bnNpb24tbWFpbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNlNzJkOWI1Y2Nm
YmQyNzE2MjM4MzU5ZGNlNWRlNzNlNTdiNWJlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9uLW1haW4uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjAg
KzAsMCBAQAotZnVuY3Rpb24gdHJpbVVSTCh1cmwpCi17Ci0gICAgaWYgKCF1cmwpCi0gICAgICAg
IHJldHVybjsKLSAgICBpZiAoL15kYXRhOi8udGVzdCh1cmwpKQotICAgICAgICByZXR1cm4gdXJs
LnJlcGxhY2UoLywuKiQvLCAiLi4uIik7Ci0gICAgcmV0dXJuIHVybC5yZXBsYWNlKC8uKlwvLywg
Ii4uLi8iKTsKLX0KLQotZnVuY3Rpb24gZHVtcE9iamVjdChvYmplY3QsIG5vbmRldGVybWluaXN0
aWNQcm9wcywgcHJlZml4LCBmaXJzdExpbmVQcmVmaXgpCi17Ci0gICAgcHJlZml4ID0gcHJlZml4
IHx8ICIiOwotICAgIGZpcnN0TGluZVByZWZpeCA9IGZpcnN0TGluZVByZWZpeCB8fCBwcmVmaXg7
Ci0gICAgb3V0cHV0KGZpcnN0TGluZVByZWZpeCArICJ7Iik7Ci0gICAgdmFyIHByb3BlcnR5TmFt
ZXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOwotICAgIHByb3BlcnR5TmFtZXMuc29ydCgpOwotICAg
IAotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lcy5sZW5ndGg7ICsraSkgewot
ICAgICAgICB2YXIgcHJvcCA9IHByb3BlcnR5TmFtZXNbaV07Ci0gICAgICAgIHZhciBwcmVmaXhX
aXRoTmFtZSA9IHByZWZpeCArICIgICAgIiArIHByb3AgKyAiIDogIjsKLSAgICAgICAgdmFyIHBy
b3BWYWx1ZSA9IG9iamVjdFtwcm9wXTsKLSAgICAgICAgaWYgKG5vbmRldGVybWluaXN0aWNQcm9w
cyAmJiBwcm9wIGluIG5vbmRldGVybWluaXN0aWNQcm9wcykgewotICAgICAgICAgICAgdmFyIHZh
bHVlID0gbm9uZGV0ZXJtaW5pc3RpY1Byb3BzW3Byb3BdID09PSAidXJsIiA/IHRyaW1VUkwocHJv
cFZhbHVlKSA6ICI8IiArIHR5cGVvZiBwcm9wVmFsdWUgKyAiPiI7Ci0gICAgICAgICAgICBvdXRw
dXQocHJlZml4V2l0aE5hbWUgKyB2YWx1ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBy
b3BWYWx1ZSA9PT0gIm9iamVjdCIgJiYgcHJvcFZhbHVlICE9IG51bGwpCi0gICAgICAgICAgICBk
dW1wT2JqZWN0KHByb3BWYWx1ZSwgbm9uZGV0ZXJtaW5pc3RpY1Byb3BzLCBwcmVmaXggKyAiICAg
ICIsIHByZWZpeFdpdGhOYW1lKTsKLSAgICAgICAgZWxzZSBpZiAodHlwZW9mIHByb3BWYWx1ZSA9
PT0gInN0cmluZyIpCi0gICAgICAgICAgICBvdXRwdXQocHJlZml4V2l0aE5hbWUgKyAiXCIiICsg
cHJvcFZhbHVlICsgIlwiIik7Ci0gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwcm9wVmFsdWUgPT09
ICJmdW5jdGlvbiIpCi0gICAgICAgICAgICBvdXRwdXQocHJlZml4V2l0aE5hbWUgKyAiPGZ1bmN0
aW9uPiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBvdXRwdXQocHJlZml4V2l0aE5hbWUg
KyBwcm9wVmFsdWUpOwotICAgIH0KLSAgICBvdXRwdXQocHJlZml4ICsgIn0iKTsKLX0KLQotZnVu
Y3Rpb24gZHVtcEFycmF5KHJlc3VsdCkKLXsKLSAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQXJy
YXkpIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyArK2kpCi0g
ICAgICAgICAgICBvdXRwdXQocmVzdWx0W2ldKTsKLSAgICB9IGVsc2UKLSAgICAgICAgb3V0cHV0
KHJlc3VsdCk7Ci19Ci0KLWZ1bmN0aW9uIGV2YWx1YXRlT25Gcm9udGVuZChleHByZXNzaW9uLCBj
YWxsYmFjaykKLXsKLSAgICB3aW5kb3cuX2V4dGVuc2lvblNlcnZlckZvclRlc3RzLnNlbmRSZXF1
ZXN0KHsgY29tbWFuZDogImV2YWx1YXRlRm9yVGVzdEluRnJvbnRFbmQiLCBleHByZXNzaW9uOiBl
eHByZXNzaW9uIH0sIGNhbGxiYWNrKTsKLX0KLQotZnVuY3Rpb24gb3V0cHV0KG1lc3NhZ2UpCi17
Ci0gICAgZXZhbHVhdGVPbkZyb250ZW5kKCJJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh1bmVzY2Fw
ZSgnIiArIGVzY2FwZShtZXNzYWdlKSArICInKSk7Iik7Ci19Ci0KLWZ1bmN0aW9uIG9uRXJyb3Io
ZXZlbnQpCi17Ci0gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIiwgb25FcnJv
cik7Ci0gICAgb3V0cHV0KCJVbmNhdWdodCBleGNlcHRpb24gaW4gZXh0ZW5zaW9uIGNvbnRleHQ6
ICIgKyBldmVudC5tZXNzYWdlICsgIiBbIiArIGV2ZW50LmZpbGVuYW1lICsgIjoiICsgZXZlbnQu
bGluZW5vICsgIl0iKTsKLSAgICBldmFsdWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7Iik7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIG9u
RXJyb3IpOwotCi1mdW5jdGlvbiBmZXRjaFRlc3RzKCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFj
ayhyZXN1bHQpCi0gICAgewotICAgICAgICAgd2luZG93LmV2YWwocmVzdWx0KTsKLSAgICAgICAg
IHJ1blRlc3RzKCk7Ci0gICAgfQotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZh
bCgiZXh0ZW5zaW9uRnVuY3Rpb25zKCkiLCBjYWxsYmFjayk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRl
c3RzKCkKLXsKLSAgICBvdXRwdXQoIlJ1bm5pbmcgdGVzdHMuLi4iKTsKLSAgICB2YXIgdGVzdHMg
PSBbXTsKLSAgICBmb3IgKHZhciBzeW1ib2wgaW4gdGhpcykgewotICAgICAgICBpZiAoL15leHRl
bnNpb25fdGVzdC8udGVzdChzeW1ib2wpICYmIHR5cGVvZiB0aGlzW3N5bWJvbF0gPT09ICJmdW5j
dGlvbiIpCi0gICAgICAgICAgICB0ZXN0cy5wdXNoKHN5bWJvbCk7Ci0gICAgfQotICAgIHRlc3Rz
ID0gdGVzdHMuc29ydCgpOwotICAgIHZhciB0ZXN0Q2hhaW4gPSBvblRlc3RzRG9uZTsKLSAgICBm
b3IgKHZhciB0ZXN0ID0gdGVzdHMucG9wKCk7IHRlc3Q7IHRlc3QgPSB0ZXN0cy5wb3AoKSkKLSAg
ICAgICAgdGVzdENoYWluID0gYmluZChydW5UZXN0LCB0aGlzLCBiaW5kKHRoaXNbdGVzdF0sIHRo
aXMsIHRlc3RDaGFpbiksIHRlc3QpOwotICAgIHRlc3RDaGFpbigpOwotfQotCi1mdW5jdGlvbiBv
blRlc3RzRG9uZSgpCi17Ci0gICAgb3V0cHV0KCJBbGwgdGVzdHMgZG9uZS4iKTsKLSAgICBldmFs
dWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Iik7Ci19Ci0KLWZ1
bmN0aW9uIHJ1blRlc3QodGVzdCwgbmFtZSkKLXsKLSAgICBvdXRwdXQoIlJVTk5JTkcgVEVTVDog
IiArIG5hbWUpOwotICAgIHRyeSB7Ci0gICAgICAgIHRlc3QoKTsKLSAgICB9IGNhdGNoIChlKSB7
Ci0gICAgICAgIG91dHB1dChuYW1lICsgIjogIiArIGUpOwotICAgIH0KLX0KLQotZnVuY3Rpb24g
Y2FsbGJhY2tBbmROZXh0VGVzdChjYWxsYmFjaywgbmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24g
Y2FsbGJhY2tXcmFwcGVyKCkKLSAgICB7Ci0gICAgICAgIGNhbGxiYWNrLmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyk7Ci0gICAgICAgIG5leHRUZXN0LmNhbGwodGhpcyk7Ci0gICAgfQotICAgIHJldHVy
biBjYWxsYmFja1dyYXBwZXI7Ci19Ci0KLWZ1bmN0aW9uIGJpbmQoZnVuYywgdGhpc09iamVjdCkK
LXsKLSAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywg
Mik7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKCkgeyByZXR1cm4gZnVuYy5hcHBseSh0aGlzT2JqZWN0
LCBhcmdzLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApKSk7
IH07Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9uLXBhbmVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9uLXBhbmVsLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxOTRlYTE2Nzc0M2UzODYwZDM5ZGU2N2MyMTYw
NzE3ZjU1YjY2NDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4
dGVuc2lvbi1wYW5lbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9ImV4dGVuc2lvbi1tYWluLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4dGVuc2lvbi1zaWRlYmFyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMv
ZXh0ZW5zaW9uLXNpZGViYXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA1
MzFhNGIzZWQxOGIyMGM5ZDViOTUyYjYxY2JiOTM1ZTBlNTBhMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9uLXNpZGViYXIuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDIgKzAsMCBAQAotPGh0bWw+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvZXh0ZW5zaW9ucy1m
cmFtZS1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9yZXNvdXJjZXMvZXh0ZW5zaW9ucy1mcmFtZS1ldmFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGUwMzI3MWMxN2RiZmNiZTc5YTMzNjlmYjU3N2JiNGM1NDY2MGIzMWUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2V4dGVuc2lvbnMtZnJhbWUt
ZXZhbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi08aHRtbD4KLTxzY3JpcHQ+
Ci0vLyBTb21lIEpTIHRvIGNyZWF0ZSBhIGNvbnRleHQKLXdpbmRvdy5pQW1BbklGcmFtZSA9IHRy
dWU7Ci08L3NjcmlwdD4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJj
ZXMvaGFyLXBhZ2VzLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvcmVzb3VyY2VzL2hhci1wYWdlcy1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjM2MmE4NWQyNTIzOWNhN2M1OTY1Nzc0MjQ0OGFjODg4MTY0Mzk3
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvaGFyLXBhZ2VzLWlm
cmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWZ1bmN0aW9uIHJlZGlyZWN0QmFjaygp
Ci17Ci0gICAgdG9wLmxvY2F0aW9uLmhyZWYgPSAiL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItcGFn
ZXMuaHRtbCI7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icmVkaXJlY3RC
YWNrKCkiPgotPHNjcmlwdCBzcmM9InNvdXJjZTEuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvcmVzb3VyY2VzL2hhci1wYWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2hhci1wYWdlcy1uYXZp
Z2F0aW9uLXRhcmdldC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGFiYzc3
MzBhYjQwOTU3ZjM5ZDBkOGNjOTZiZmFjZTFkMWE2NzQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlcy9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJnZXQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLTxpZnJhbWUgc3JjPSJo
YXItcGFnZXMtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2Vz
L2lmcmFtZS1mcm9tLWRpZmZlcmVudC1kb21haW4tZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL2lmcmFtZS1mcm9tLWRpZmZlcmVu
dC1kb21haW4tZGF0YS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTQwOWUy
MDg1Y2JhZjgwMDlhMzhiNTk5ZjdmMTRjNzYzOWNjZjU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlcy9pZnJhbWUtZnJvbS1kaWZmZXJlbnQtZG9tYWluLWRhdGEuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gb25sb2FkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiSUZSQU1FIEhPU1Q6ICIg
KyB3aW5kb3cubG9jYXRpb24uaG9zdCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlk
PSJpZnJhbWUtYm9keSIgc3R5bGU9ImJhY2tncm91bmQ6Z3JlZW47IiBvbmxvYWQ9Im9ubG9hZCgp
Ij4KLUluc3BlY3QgbWUuCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvaW5zcGVjdC1lbGVtZW50
LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
cmVzb3VyY2VzL2luc3BlY3QtZWxlbWVudC1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmRmYjU0MTc1NjczZTZiY2Y1NGYwZWZmMDRiMTc5MDNjN2YzNGZjMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvaW5zcGVjdC1lbGVtZW50LWlm
cmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotPGh0bWw+Ci0KLTxib2R5
PgotPGRpdiBpZD0iZGl2Ij5FbGVtZW50IHRvIGluc3BlY3Q8L2Rpdj4KLTwvYm9keT4KLQotPHNj
cmlwdD4KLXRvcC5pZnJhbWVEaXZFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRp
diIpOwotPC9zY3JpcHQ+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9wb3N0LXRhcmdldC5jZ2kgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvcG9zdC10YXJn
ZXQuY2dpCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA2Yjk2NWI2MmI4MWMyNzQ3ZTIw
MDkxMTljMmEyYjUyN2JiMmUxZTEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jl
c291cmNlcy9wb3N0LXRhcmdldC5jZ2kKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSMh
L3Vzci9iaW4vcGVybCAtd1QNCi0NCi1wcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94
bWxcblxuIjsNCi1wcmludCAiPHhtbD40MjwveG1sPlxuIjsNCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9yZXNvdXJjZXMvcmVzb3VyY2UtZm9y
bS1kYXRhLXJlY2VpdmVyLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3Jlc291cmNlLWZvcm0tZGF0YS1yZWNlaXZlci1pZnJh
bWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg3OWUxY2U5ZmQ3N2Q0ZDkw
MDU0MDEzNzI1YWY1MTM3ZThlZjMxYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9y
ZXNvdXJjZXMvcmVzb3VyY2UtZm9ybS1kYXRhLXJlY2VpdmVyLWlmcmFtZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi08aHRtbD4KLTxib2R5PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVz
b3VyY2VzL3NvdXJjZS1tYXAuanNvbiBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3Jlc291cmNlcy9zb3VyY2UtbWFwLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDYzYjdmZWU2NDU5ZjliMWIxYzg2YTE3NDNmMzM2YjMxMDFiZmFmODkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJjZS1tYXAuanNvbgorKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotewotInZlcnNpb24iOjMsCi0iZmlsZSI6ImNvbXBp
bGVkLmpzIiwKLSJzb3VyY2VSb290IjogIiIsCi0ibGluZUNvdW50IjoyLAotIm1hcHBpbmdzIjoi
QUFDQUEsTUFBQUMsaUJBQXVCLENBQUMsTUFBRCxDQUFTLFFBQVEsRUFDeEMsQ0FDSSxJQUFJQyxF
QUFTQyxRQUFBQyxjQUFzQixDQUFDLFFBQUQsQ0FDbkNGLEVBQUFHLEdBQUEsQ0FBWSxNQUNaSCxF
QUFBRCxpQkFBdUIsQ0FBQyxPQUFELENBQVVLLFdBQVYsQ0FBdUIsQ0FBQSxDQUF2QixDQUN2Qkgs
U0FBQUksS0FBQUMsWUFBeUIsQ0FBQ04sQ0FBRCxDQUVyQk8sRUFBQUEsQ0FBTU4sUUFBQUMsY0FB
c0IsQ0FBQyxLQUFELENBQ2hDSyxFQUFBSixHQUFBLENBQVMsb2NBQ1RGO1FBQUFJLEtBQUFDLFlB
QXlCLENBQUNDLENBQUQsQ0FSN0IsQ0FEdUIsQ0FZdkJILFNBQVNBLFlBQVcsQ0FBQ0ksQ0FBRCxD
QUNwQixDQUVJQyxDQUQ4QkMsSUFBWkMsWUFDbEJGLFFBQWMsQ0FBQ0QsQ0FBRCxDQUZsQixDLEND
YkFHLFFBQVNBLGFBQVksRUFDckIsRUFHQUEsWUFBQUMsVUFBQUgsT0FBQSxDQUFnQ0ksUUFBUSxF
QUN4QyxDQUNJQyxPQUFBQyxJQUFXLENBQUMsaUJBQUQsQ0FEZixDOyIsCi0ic291cmNlcyI6WyJz
b3VyY2UxLmpzIiwic291cmNlMi5qcyJdLAotIm5hbWVzIjpbIndpbmRvdyIsImFkZEV2ZW50TGlz
dGVuZXIiLCJidXR0b24iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsImhhbmRsZUNs
aWNrIiwiYm9keSIsImFwcGVuZENoaWxkIiwiYmFyIiwiZXZlbnQiLCJoYW5kbGUiLCJoYW5kbGVy
IiwiQ2xpY2tIYW5kbGVyIiwicHJvdG90eXBlIiwiQ2xpY2tIYW5kbGVyLnByb3RvdHlwZS5oYW5k
bGUiLCJjb25zb2xlIiwibG9nIl0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy9zb3VyY2UxLmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJjZTEuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmNTM2YzdjM2Q2NjhhZjA3YzhhM2QyNmE0NzI2OGI0
MzI2MGNkNzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJj
ZTEuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi13aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgYnV0dG9uID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnYnV0dG9uJyk7Ci0gICAgYnV0dG9uLmlkID0gJ3Rlc3QnOwotICAgIGJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrLCB0cnVlKTsKLSAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7Ci0KLSAgICB2YXIgYmFyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgYmFyLmlkID0gJ2JhcnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy
cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycic7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChiYXIpOwotfSk7Ci0KLWZ1bmN0aW9uIGhhbmRsZUNsaWNrKGV2ZW50KQotewotICAg
IHZhciBoYW5kbGVyID0gbmV3IENsaWNrSGFuZGxlcigpOwotICAgIGhhbmRsZXIuaGFuZGxlKGV2
ZW50KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy9zb3VyY2UyLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJjZTIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMwYWU0YTYwYmE4M2ViMTE4ODg3MDg5YjM5N2QxMDY5NjI4NGY0OGEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3NvdXJjZTIuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw4ICswLDAgQEAKLWZ1bmN0aW9uIENsaWNrSGFuZGxlcigpCi17Ci19Ci0KLUNs
aWNrSGFuZGxlci5wcm90b3R5cGUuaGFuZGxlID0gZnVuY3Rpb24oZXZlbnQpCi17Ci0gICAgY29u
c29sZS5sb2coJ2J1dHRvbiBjbGlja2VkIScpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3Rlc3Qtc2Nhbm5lci5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3Rl
c3Qtc2Nhbm5lci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDE3MjI4ZGVk
Zjg0NDM1NDZjNGM4OTFkYmQxOTgzOTMzZGQ1M2VmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3Jlc291cmNlcy90ZXN0LXNjYW5uZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4
ICswLDAgQEAKLTxodG1sPgotPHNjcmlwdD4KLXZhciB0ZXN0cyA9IFtdOwotCi1zY2FuRm9sZGVy
KCJpbnNwZWN0b3IvY29uc29sZSIpOwotLy8gc2NhbkZvbGRlcigiaW5zcGVjdG9yL2RlYnVnZ2Vy
Iik7Ci1zY2FuRm9sZGVyKCJpbnNwZWN0b3IvZWRpdG9yIik7Ci1zY2FuRm9sZGVyKCJpbnNwZWN0
b3IvZWxlbWVudHMiKTsKLXNjYW5Gb2xkZXIoImluc3BlY3Rvci9wcm9maWxlciIpOwotc2NhbkZv
bGRlcigiaW5zcGVjdG9yL3N0eWxlcyIpOwotc2NhbkZvbGRlcigiaW5zcGVjdG9yL3RpbWVsaW5l
Iik7Ci1zY2FuRm9sZGVyKCJpbnNwZWN0b3IiKTsKLQotZnVuY3Rpb24gc2NhbkZvbGRlcihmb2xk
ZXIpCi17Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vcGVu
KCJHRVQiLCAiL0xheW91dFRlc3RzLyIgKyBmb2xkZXIgKyAiLyIsIGZhbHNlKTsKLSAgICB4aHIu
c2VuZChudWxsKTsKLSAgICB2YXIgdGV4dCA9IHhoci5yZXNwb25zZVRleHQ7Ci0gICAgdmFyIGVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICBlbGVtZW50LmlubmVy
SFRNTCA9IHRleHQ7Ci0gICAgdmFyIGxpbmtzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCJh
Iik7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5rcy5sZW5ndGg7ICsraSkgewotICAgICAg
ICB2YXIgbGluayA9IGxpbmtzW2ldLmhyZWY7Ci0gICAgICAgIHZhciBtYXRjaCA9IGxpbmsubWF0
Y2goL1teXC9dKlwvKFteXC9dK1wuaHRtbCkkLyk7Ci0gICAgICAgIGlmICghbWF0Y2gpCi0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgdmFyIHBhdGggPSAiL0xheW91dFRlc3RzLyIgKyBm
b2xkZXIgKyAiLyIgKyBtYXRjaFsxXTsKLSAgICAgICAgdmFyIGV4cGVjdGVkID0gZmV0Y2hFeHBl
Y3RhdGlvbnMocGF0aCk7Ci0gICAgICAgIHRlc3RzLnB1c2goW3BhdGgsIGV4cGVjdGVkXSk7Ci0g
ICAgfQotfQotCi1mdW5jdGlvbiBmZXRjaEV4cGVjdGF0aW9ucyhwYXRoKQotewotICAgIHZhciBl
eHQgPSBwYXRoLmxhc3RJbmRleE9mKCIuIik7Ci0gICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDAs
IGV4dCkgKyAiLWV4cGVjdGVkLnR4dCI7Ci0gICAgdmFyIGNocm9taXVtUGF0aCA9IHBhdGgucmVw
bGFjZSgiL0xheW91dFRlc3RzLyIsICIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vIik7
Ci0KLSAgICB2YXIgZXhwZWN0YXRpb25zID0gZmV0Y2goY2hyb21pdW1QYXRoKSB8fCBmZXRjaChw
YXRoKSB8fCAiIjsKLQotICAgIHZhciBleHBlY3RhdGlvbkxpbmVzID0gZXhwZWN0YXRpb25zLnNw
bGl0KCJcbiIpOwotICAgIHZhciBmaWx0ZXJlZCA9IFtdOwotICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgZXhwZWN0YXRpb25MaW5lcy5sZW5ndGg7ICsraSkgewotICAgICAgICBpZiAoIWV4cGVjdGF0
aW9uTGluZXNbaV0uaW5kZXhPZigiQUxFUlQ6ICIpIHx8Ci0gICAgICAgICAgICAhZXhwZWN0YXRp
b25MaW5lc1tpXS5pbmRleE9mKCJDT05TT0xFIE1FU1NBR0U6ICIpKSB7Ci0gICAgICAgICAgICBm
aWx0ZXJlZCA9IFtdOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAg
ZmlsdGVyZWQucHVzaChleHBlY3RhdGlvbkxpbmVzW2ldKTsKLSAgICB9Ci0gICAgcmV0dXJuIGZp
bHRlcmVkLmpvaW4oIlxuIik7Ci19Ci0KLWZ1bmN0aW9uIGZldGNoKHBhdGgpCi17Ci0gICAgdmFy
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vcGVuKCJHRVQiLCBwYXRoLCBm
YWxzZSk7Ci0gICAgeGhyLnNlbmQobnVsbCk7Ci0gICAgcmV0dXJuIHhoci5zdGF0dXMgIT09IDQw
NCA/IHhoci5yZXNwb25zZVRleHQgOiAiIjsKLX0KLQotd2luZG93LnBhcmVudC5wb3N0TWVzc2Fn
ZShbInRlc3RzIiwgdGVzdHNdLCAiKiIpOwotCi08L3NjcmlwdD4KLTxib2R5PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvcmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDg2MzFhZWFiODFlOTQxNTVjMjljZDc1M2RiZWFiMjIxOTk4ZGM4
ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvcmVzb3VyY2VzL3hoci1leGlzdHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTxwPkV4aXN0aW5nIEZpbGU8L3A+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFy
Y2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1t
YXRjaC1pbmRleC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBm
NDE0OTFhZTBiNjcxMTAxYmY0YjRhOWNmM2Y2YWI3MmQxMjZlYTkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy1zZWFyY2gtbWF0Y2gtaW5kZXgtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLVRlc3RzIHNlYXJjaCBtYXRj
aCBpbmRleCBjYWxjdWxhdGlvbiBpbiByZXNvdXJjZXMgcGFuZWwuCi0KLUJ1ZyA2NjA1MAotCi1S
dW5uaW5nOiB0ZXN0MQotUnVubmluZyB0ZXN0IGZvciBtYXRjaGVzIGNvdW50czogWzFdCi1FbGVt
ZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAx
LCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwg
bWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6
IDEuCi1FbGVtZW50IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi1FbGVtZW50
IGluZGV4OiAxLCBpbmRleDogMCwgbWF0Y2ggaW5kZXg6IDEuCi0KLQotUnVubmluZzogdGVzdDIK
LVJ1bm5pbmcgdGVzdCBmb3IgbWF0Y2hlcyBjb3VudHM6IFsxLDIsM10KLUVsZW1lbnQgaW5kZXg6
IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDIsIGluZGV4OiAw
LCBtYXRjaCBpbmRleDogMi4KLUVsZW1lbnQgaW5kZXg6IDIsIGluZGV4OiAxLCBtYXRjaCBpbmRl
eDogMy4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1l
bnQgaW5kZXg6IDMsIGluZGV4OiAxLCBtYXRjaCBpbmRleDogNS4KLUVsZW1lbnQgaW5kZXg6IDMs
IGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBt
YXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAyLCBtYXRjaCBpbmRleDog
Ni4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAxLCBtYXRjaCBpbmRleDogNS4KLUVsZW1lbnQg
aW5kZXg6IDMsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQgaW5kZXg6IDIsIGlu
ZGV4OiAxLCBtYXRjaCBpbmRleDogMy4KLUVsZW1lbnQgaW5kZXg6IDIsIGluZGV4OiAwLCBtYXRj
aCBpbmRleDogMi4KLUVsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4K
LUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5k
ZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4
OiAyLCBtYXRjaCBpbmRleDogNi4KLQotCi1SdW5uaW5nOiB0ZXN0MwotUnVubmluZyB0ZXN0IGZv
ciBtYXRjaGVzIGNvdW50czogWzEsMCwyLDAsM10KLUVsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAw
LCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAwLCBtYXRjaCBpbmRl
eDogMi4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAxLCBtYXRjaCBpbmRleDogMy4KLUVsZW1l
bnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQgaW5kZXg6IDUs
IGluZGV4OiAxLCBtYXRjaCBpbmRleDogNS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAyLCBt
YXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDog
MS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQg
aW5kZXg6IDUsIGluZGV4OiAxLCBtYXRjaCBpbmRleDogNS4KLUVsZW1lbnQgaW5kZXg6IDUsIGlu
ZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAxLCBtYXRj
aCBpbmRleDogMy4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMi4K
LUVsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5k
ZXg6IDUsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDEsIGluZGV4
OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAyLCBtYXRjaCBp
bmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMi4KLUVs
ZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6
IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQgaW5kZXg6IDMsIGluZGV4OiAx
LCBtYXRjaCBpbmRleDogMy4KLQotCi1SdW5uaW5nOiB0ZXN0NAotUnVubmluZyB0ZXN0IGZvciBt
YXRjaGVzIGNvdW50czogWzAsMCwwLDMsMCwwLDAsMywwLDAsMF0KLUVsZW1lbnQgaW5kZXg6IDQs
IGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAxLCBt
YXRjaCBpbmRleDogMi4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAyLCBtYXRjaCBpbmRleDog
My4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQg
aW5kZXg6IDgsIGluZGV4OiAxLCBtYXRjaCBpbmRleDogNS4KLUVsZW1lbnQgaW5kZXg6IDgsIGlu
ZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAwLCBtYXRj
aCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4K
LUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAxLCBtYXRjaCBpbmRleDogNS4KLUVsZW1lbnQgaW5k
ZXg6IDgsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4
OiAyLCBtYXRjaCBpbmRleDogMy4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAxLCBtYXRjaCBp
bmRleDogMi4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVs
ZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6
IDQsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAy
LCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAwLCBtYXRjaCBpbmRl
eDogMS4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1l
bnQgaW5kZXg6IDQsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDgs
IGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAwLCBt
YXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAyLCBtYXRjaCBpbmRleDog
Ni4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQg
aW5kZXg6IDQsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogMy4KLUVsZW1lbnQgaW5kZXg6IDgsIGlu
ZGV4OiAwLCBtYXRjaCBpbmRleDogNC4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAyLCBtYXRj
aCBpbmRleDogMy4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogNC4K
LUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogMy4KLUVsZW1lbnQgaW5k
ZXg6IDQsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4
OiAyLCBtYXRjaCBpbmRleDogNi4KLUVsZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAwLCBtYXRjaCBp
bmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDgsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLUVs
ZW1lbnQgaW5kZXg6IDQsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6
IDgsIGluZGV4OiAyLCBtYXRjaCBpbmRleDogNi4KLQotCi1SdW5uaW5nOiB0ZXN0NQotUnVubmlu
ZyB0ZXN0IGZvciBtYXRjaGVzIGNvdW50czogWzAsMCwwLDAsMSwwLDAsMF0KLUVsZW1lbnQgaW5k
ZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4
OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBp
bmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVs
ZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6
IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAw
LCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRl
eDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1l
bnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUs
IGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBt
YXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDog
MS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQg
aW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGlu
ZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRj
aCBpbmRleDogMS4KLUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4K
LUVsZW1lbnQgaW5kZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLUVsZW1lbnQgaW5k
ZXg6IDUsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzLXNlYXJj
aC1tYXRjaC1pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc2VhcmNoL3Jlc291cmNlcy1zZWFyY2gtbWF0Y2gtaW5kZXguaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODY3NGM2NmU2MGM2YWViYTFhYjA2ODk2YWQ5MjdmNTRhZGRj
M2Q4Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzLXNl
YXJjaC1tYXRjaC1pbmRleC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMwICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFu
ZWwoInJlc291cmNlcyIpOwotCi0gICAgdmFyIEZha2VFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVu
dHMsIGluZGV4LCBzZWFyY2hNYXRjaGVzQ291bnQpCi0gICAgewotICAgICAgICB0aGlzLl9lbGVt
ZW50cyA9IGVsZW1lbnRzOwotICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7Ci0gICAgICAgIHRo
aXMuc2VhcmNoTWF0Y2hlc0NvdW50ID0gc2VhcmNoTWF0Y2hlc0NvdW50OwotICAgIH07Ci0KLSAg
ICBGYWtlRWxlbWVudC5wcm90b3R5cGUgPSB7Ci0gICAgICAgIC8vIElnbm9yZSBhbGwgcGFyYW1l
dGVycy4KLSAgICAgICAgdHJhdmVyc2VQcmV2aW91c1RyZWVFbGVtZW50OiBmdW5jdGlvbigpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLmluZGV4ID4gMCA/IHRoaXMuX2VsZW1l
bnRzW3RoaXMuaW5kZXggLSAxXSA6IG51bGw7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgLy8gSWdu
b3JlIGFsbCBwYXJhbWV0ZXJzLgotICAgICAgICB0cmF2ZXJzZU5leHRUcmVlRWxlbWVudDogZnVu
Y3Rpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA8IHRoaXMu
X2VsZW1lbnRzLmxlbmd0aCAtIDEgPyB0aGlzLl9lbGVtZW50c1t0aGlzLmluZGV4ICsgMV0gOiBu
dWxsOwotICAgICAgICB9Ci0gICAgfTsKLQotICAgIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRzVHJl
ZVdpdGhNYXRjaGVzQ291bnRzKG1hdGNoZXNDb3VudHMpCi0gICAgewotICAgICAgICB2YXIgZWxl
bWVudHMgPSBbXTsKLSAgICAgICAgdmFyIHRvdGFsTWF0Y2hlc0NvdW50ID0gMDsKLSAgICAgICAg
dmFyIGVsZW1lbnQgPSBuZXcgRmFrZUVsZW1lbnQoZWxlbWVudHMsIDAsIDApOwotICAgICAgICBl
bGVtZW50cy5wdXNoKGVsZW1lbnQpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hdGNo
ZXNDb3VudHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGVsZW1lbnQgPSBuZXcgRmFrZUVs
ZW1lbnQoZWxlbWVudHMsIGkgKyAxLCBtYXRjaGVzQ291bnRzW2ldKTsKLSAgICAgICAgICAgIGVs
ZW1lbnRzLnB1c2goZWxlbWVudCk7Ci0gICAgICAgICAgICB0b3RhbE1hdGNoZXNDb3VudCArPSBt
YXRjaGVzQ291bnRzW2ldOwotICAgICAgICB9Ci0gICAgICAgIGVsZW1lbnRzLnRvdGFsTWF0Y2hl
c0NvdW50ID0gdG90YWxNYXRjaGVzQ291bnQ7Ci0gICAgICAgIHJldHVybiBlbGVtZW50czsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1wU2VhcmNoUmVzdWx0KHNlYXJjaFJlc3VsdCkKLSAgICB7
Ci0gICAgICAgIGlmIChzZWFyY2hSZXN1bHQpIHsKLSAgICAgICAgICAgIHZhciBlbGVtZW50SW5k
ZXggPSBzZWFyY2hSZXN1bHQudHJlZUVsZW1lbnQuaW5kZXg7Ci0gICAgICAgICAgICB2YXIgaW5k
ZXggPSBzZWFyY2hSZXN1bHQuaW5kZXg7Ci0gICAgICAgICAgICB2YXIgbWF0Y2hJbmRleCA9IHNl
YXJjaFJlc3VsdC5jdXJyZW50TWF0Y2hJbmRleDsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJFbGVtZW50IGluZGV4OiAiICsgZWxlbWVudEluZGV4ICsgIiwgaW5kZXg6ICIg
KyBpbmRleCArICIsIG1hdGNoIGluZGV4OiAiICsgbWF0Y2hJbmRleCArICIuIik7Ci0gICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5vIHNlYXJjaCBy
ZXN1bHQgZm91bmQuIik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdEZvck1hdGNoZXND
b3VudHMobWF0Y2hlc0NvdW50cykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJSdW5uaW5nIHRlc3QgZm9yIG1hdGNoZXMgY291bnRzOiAiICsgSlNPTi5zdHJpbmdpZnko
bWF0Y2hlc0NvdW50cykpOwotICAgICAgICB2YXIgZWxlbWVudHMgPSBjcmVhdGVFbGVtZW50c1Ry
ZWVXaXRoTWF0Y2hlc0NvdW50cyhtYXRjaGVzQ291bnRzKTsKLSAgICAgICAgdmFyIGNvbnRyb2xs
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlc1NlYXJjaENvbnRyb2xsZXIoZWxlbWVudHNb
MF0sIGVsZW1lbnRzLnRvdGFsTWF0Y2hlc0NvdW50KTsKLSAgICAgICAgdmFyIGxhc3RTZWFyY2hS
ZXN1bHQ7Ci0KLSAgICAgICAgLy8gRmlyc3Qgb2YgYWxsIG1ha2UgYSBmdWxsIGN5Y2xlIHRocm91
Z2ggdGhlIHRyZWUuCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMudG90YWxN
YXRjaGVzQ291bnQgKyAxOyArK2kpIHsKLSAgICAgICAgICAgIGxhc3RTZWFyY2hSZXN1bHQgPSBj
b250cm9sbGVyLm5leHRTZWFyY2hSZXN1bHQobGFzdFNlYXJjaFJlc3VsdCA/IGxhc3RTZWFyY2hS
ZXN1bHQudHJlZUVsZW1lbnQgOiBudWxsKTsKLSAgICAgICAgICAgIGR1bXBTZWFyY2hSZXN1bHQo
bGFzdFNlYXJjaFJlc3VsdCk7Ci0gICAgICAgICAgICBpZiAoIWxhc3RTZWFyY2hSZXN1bHQpCi0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBUaGVuIG1ha2Ug
YW5vdGhlciBvbmUgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4KLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBlbGVtZW50cy50b3RhbE1hdGNoZXNDb3VudCArIDE7ICsraSkgewotICAgICAg
ICAgICAgbGFzdFNlYXJjaFJlc3VsdCA9IGNvbnRyb2xsZXIucHJldmlvdXNTZWFyY2hSZXN1bHQo
bGFzdFNlYXJjaFJlc3VsdCA/IGxhc3RTZWFyY2hSZXN1bHQudHJlZUVsZW1lbnQgOiBudWxsKTsK
LSAgICAgICAgICAgIGR1bXBTZWFyY2hSZXN1bHQobGFzdFNlYXJjaFJlc3VsdCk7Ci0gICAgICAg
ICAgICBpZiAoIWxhc3RTZWFyY2hSZXN1bHQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLQotICAgICAgICAvLyBOb3cgZHVtcCBuZXh0IGFuZCBwcmV2aW91cyBzZWFyY2ggcmVz
dWx0cyBmb3IgZWFjaCBlbGVtZW50IHdpdGhvdXQgc2VhcmNoIG1hdGNoZXMuCi0gICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlm
IChlbGVtZW50c1tpXS5zZWFyY2hNYXRjaGVzQ291bnQgPT09IDApIHsKLSAgICAgICAgICAgICAg
ICB2YXIgc2VhcmNoUmVzdWx0ID0gY29udHJvbGxlci5uZXh0U2VhcmNoUmVzdWx0KGVsZW1lbnRz
W2ldKTsKLSAgICAgICAgICAgICAgICBkdW1wU2VhcmNoUmVzdWx0KHNlYXJjaFJlc3VsdCk7Ci0g
ICAgICAgICAgICAgICAgc2VhcmNoUmVzdWx0ID0gY29udHJvbGxlci5wcmV2aW91c1NlYXJjaFJl
c3VsdChlbGVtZW50c1tpXSk7Ci0gICAgICAgICAgICAgICAgZHVtcFNlYXJjaFJlc3VsdChzZWFy
Y2hSZXN1bHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCIiKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0
ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3QxKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJ1blRlc3RGb3JNYXRjaGVzQ291bnRzKFsxXSk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdDIobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgcnVuVGVzdEZvck1hdGNoZXNDb3VudHMoWzEsIDIsIDNdKTsKLSAgICAgICAgICAgIG5l
eHQoKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0MyhuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBydW5UZXN0Rm9yTWF0Y2hlc0NvdW50cyhbMSwgMCwgMiwgMCwgM10p
OwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3Q0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJ1blRlc3RGb3JNYXRjaGVzQ291bnRz
KFswLCAwLCAwLCAzLCAwLCAwLCAwLCAzLCAwLCAwLCAwXSk7Ci0gICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdDUobmV4dCkKLSAgICAgICAgewot
ICAgICAgICAgICAgcnVuVGVzdEZvck1hdGNoZXNDb3VudHMoWzAsIDAsIDAsIDAsIDEsIDAsIDAs
IDBdKTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfQotICAgIF0pOwotCi19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHNlYXJj
aCBtYXRjaCBpbmRleCBjYWxjdWxhdGlvbiBpbiByZXNvdXJjZXMgcGFuZWwuPC9wPgotPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUwIj5CdWcgNjYw
NTA8L2E+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC1jb25jYXRlbmF0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJj
aC9yZXNvdXJjZXMvc2VhcmNoLWNvbmNhdGVuYXRlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3MjhmZjY0YzJiYmYyNjliMDZlMjBhZjMwMTA0ODMyZjYzZDgxNDdhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLWNvbmNh
dGVuYXRlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCkKLXsKLSAgICB2
YXIgdmFyaWFibGUgPSAwOwotICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3Vy
ZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nCi0gICAgdmFyIHZh
cmlhYmxlMiA9IDA7Ci19Ci08L3NjcmlwdD48c2NyaXB0PgotZnVuY3Rpb24gZG9Tb21ldGhpbmco
KQotewotICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsKLSAgICAvLyBTRUFSQ0hUZXN0VW5p
cXVlU3RyaW5nKCk7Ci19Ci08L3NjcmlwdD4KLTxsaW5rIGhyZWY9InNlYXJjaC5jc3MiIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHNlYXJjaFRl
c3RVbmlxdWVTdHJpbmcyKCkKLXsKLSAgICB2YXIgdmFyaWFibGUgPSAwOwotICAgIC8qIHNlYXJj
aFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nICovIH0gPC9zY3JpcHQ+PHNjcmlwdD4gZnVuY3Rpb24gZG9Tb21ldGhp
bmcyKCkgeyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7Ci0gICAgLy8gU0VBUkNIVGVzdFVuaXF1
ZVN0cmluZygpOwotfQotPC9zY3JpcHQ+Ci08L3NjcmlwdD4KLTxib2R5PgotPC9ib2R5PgotPC9o
dG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5jc3MKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3NjBjOWIwM2JlOWQ5NzcxOTI5NTE1OTdlNzJhYzA3ZmIy
MjMwNWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9z
ZWFyY2guY3NzCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1kaXYuc2VhcmNoVGVzdFVu
aXF1ZVN0cmluZyB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwotfQotCi1kaXYuc2VhcmNo
VGVzdFVuaXF1ZVN0cmluZzpob3ZlciB7Ci0gICAgLyogYW5vdGhlciBzZWFyY2hUZXN0VW5pcXVl
U3RyaW5nIG9jY3VyZW5jZSAqLwotICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKLX0KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNo
L3Jlc291cmNlcy9zZWFyY2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDZlYTg4OGRlNjQ3ODQxMGUzODJkMTgyNmQzMDk2NGI3NmQ4NTE1YTQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08bGluayBo
cmVmPSJzZWFyY2guY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KLTxzY3Jp
cHQgc3JjPSJzZWFyY2guanMiPjwvc2NyaXB0PgotPGJvZHk+Ci08ZGl2PnNlYXJjaFRlc3RVbmlx
dWVTdHJpbmc8L2Rpdj4KLTxkaXY+b3RoZXIgdGV4dDwvZGl2PgotPCEtLSBzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nIC0tPgotPGRpdj5zb21lIG90aGVyIHRleHQ8L2Rpdj4KLTxkaXYgaWQ9InNlYXJj
aFRlc3RVbmlxdWVTdHJpbmciPmRpdiB0ZXh0PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJj
aC9yZXNvdXJjZXMvc2VhcmNoLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM1OTNlZTFkMTY4NDY0ZGY5OTQ3MzU2NWQzODNkMmRlNWVjYTU0YzEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMKKysr
IC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1mdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3Ry
aW5nKCkKLXsKLSAgICB2YXIgdmFyaWFibGUgPSAwOwotICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3Ry
aW5nCi0gICAgdmFyIHZhcmlhYmxlMiA9IDA7Ci19Ci0KLWZ1bmN0aW9uIGRvU29tZXRoaW5nKCkK
LXsKLSAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7Ci0gICAgLy8gU0VBUkNIVGVzdFVuaXF1
ZVN0cmluZygpOwotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9zZWFyY2gvc2NyaXB0cy1zZWFyY2gtc2NvcGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NjcmlwdHMt
c2VhcmNoLXNjb3BlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YmYzNWUzOGM3MDFlNGFmMDNhZTU1ZWRlNTI1YzAxZmM0MzE5OGJlNi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2NyaXB0cy1zZWFyY2gtc2NvcGUtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotCi0KLVJ1bm5pbmc6IHRlc3RJZ25vcmVD
YXNlCi1TZWFyY2ggcmVzdWx0ICMxOiB1aVNvdXJjZUNvZGUudXJpID0gaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5jc3MKLSAgc2VhcmNoIG1h
dGNoICMxOiBsaW5lTnVtYmVyID0gMCwgbGluZUNvbnRlbnQgPSAnZGl2LnNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcgeycKLSAgc2VhcmNoIG1hdGNoICMyOiBsaW5lTnVtYmVyID0gNCwgbGluZUNvbnRl
bnQgPSAnZGl2LnNlYXJjaFRlc3RVbmlxdWVTdHJpbmc6aG92ZXIgeycKLSAgc2VhcmNoIG1hdGNo
ICMzOiBsaW5lTnVtYmVyID0gNSwgbGluZUNvbnRlbnQgPSAnICAgIC8qIGFub3RoZXIgc2VhcmNo
VGVzdFVuaXF1ZVN0cmluZyBvY2N1cmVuY2UgKi8nCi1TZWFyY2ggcmVzdWx0ICMyOiB1aVNvdXJj
ZUNvZGUudXJpID0gaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3Vy
Y2VzL3NlYXJjaC5odG1sCi0gIHNlYXJjaCBtYXRjaCAjMTogbGluZU51bWJlciA9IDUsIGxpbmVD
b250ZW50ID0gJzxkaXY+c2VhcmNoVGVzdFVuaXF1ZVN0cmluZzwvZGl2PicKLSAgc2VhcmNoIG1h
dGNoICMyOiBsaW5lTnVtYmVyID0gNywgbGluZUNvbnRlbnQgPSAnPCEtLSBzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nIC0tPicKLSAgc2VhcmNoIG1hdGNoICMzOiBsaW5lTnVtYmVyID0gOSwgbGluZUNv
bnRlbnQgPSAnPGRpdiBpZD0ic2VhcmNoVGVzdFVuaXF1ZVN0cmluZyI+ZGl2IHRleHQ8L2Rpdj4n
Ci1TZWFyY2ggcmVzdWx0ICMzOiB1aVNvdXJjZUNvZGUudXJpID0gaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcwotICBzZWFyY2ggbWF0Y2gg
IzE6IGxpbmVOdW1iZXIgPSAwLCBsaW5lQ29udGVudCA9ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nKCknCi0gIHNlYXJjaCBtYXRjaCAjMjogbGluZU51bWJlciA9IDMsIGxpbmVDb250
ZW50ID0gJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRo
ZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLSAgc2VhcmNoIG1hdGNoICMzOiBs
aW5lTnVtYmVyID0gOSwgbGluZUNvbnRlbnQgPSAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmco
KTsnCi0gIHNlYXJjaCBtYXRjaCAjNDogbGluZU51bWJlciA9IDEwLCBsaW5lQ29udGVudCA9ICcg
ICAgLy8gU0VBUkNIVGVzdFVuaXF1ZVN0cmluZygpOycKLQotUnVubmluZzogdGVzdENhc2VTZW5z
aXRpdmUKLVNlYXJjaCByZXN1bHQgIzE6IHVpU291cmNlQ29kZS51cmkgPSBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNzcwotICBzZWFyY2gg
bWF0Y2ggIzE6IGxpbmVOdW1iZXIgPSAwLCBsaW5lQ29udGVudCA9ICdkaXYuc2VhcmNoVGVzdFVu
aXF1ZVN0cmluZyB7JwotICBzZWFyY2ggbWF0Y2ggIzI6IGxpbmVOdW1iZXIgPSA0LCBsaW5lQ29u
dGVudCA9ICdkaXYuc2VhcmNoVGVzdFVuaXF1ZVN0cmluZzpob3ZlciB7JwotICBzZWFyY2ggbWF0
Y2ggIzM6IGxpbmVOdW1iZXIgPSA1LCBsaW5lQ29udGVudCA9ICcgICAgLyogYW5vdGhlciBzZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nIG9jY3VyZW5jZSAqLycKLVNlYXJjaCByZXN1bHQgIzI6IHVpU291
cmNlQ29kZS51cmkgPSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNv
dXJjZXMvc2VhcmNoLmh0bWwKLSAgc2VhcmNoIG1hdGNoICMxOiBsaW5lTnVtYmVyID0gNSwgbGlu
ZUNvbnRlbnQgPSAnPGRpdj5zZWFyY2hUZXN0VW5pcXVlU3RyaW5nPC9kaXY+JwotICBzZWFyY2gg
bWF0Y2ggIzI6IGxpbmVOdW1iZXIgPSA3LCBsaW5lQ29udGVudCA9ICc8IS0tIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcgLS0+JwotICBzZWFyY2ggbWF0Y2ggIzM6IGxpbmVOdW1iZXIgPSA5LCBsaW5l
Q29udGVudCA9ICc8ZGl2IGlkPSJzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIj5kaXYgdGV4dDwvZGl2
PicKLVNlYXJjaCByZXN1bHQgIzM6IHVpU291cmNlQ29kZS51cmkgPSBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzCi0gIHNlYXJjaCBtYXRj
aCAjMTogbGluZU51bWJlciA9IDAsIGxpbmVDb250ZW50ID0gJ2Z1bmN0aW9uIHNlYXJjaFRlc3RV
bmlxdWVTdHJpbmcoKScKLSAgc2VhcmNoIG1hdGNoICMyOiBsaW5lTnVtYmVyID0gMywgbGluZUNv
bnRlbnQgPSAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24g
dGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJwotICBzZWFyY2ggbWF0Y2ggIzM6
IGxpbmVOdW1iZXIgPSA5LCBsaW5lQ29udGVudCA9ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmlu
ZygpOycKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc2VhcmNoL3NjcmlwdHMtc2VhcmNoLXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2NyaXB0cy1zZWFyY2gtc2NvcGUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI1NmJmN2ZkNDU0NTA5NThmZjI0NGVi
M2UwNDc5YTE4MGQ3ZTMyZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gv
c2NyaXB0cy1zZWFyY2gtc2NvcGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+Q2hhbmdlIGluc3BlY3RlZCBpZnJhbWUncyAic3JjIiBh
dHRyaWJ1dGUuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNj
cmlwdHMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQo
WyJzZWFyY2guaHRtbCIsICJzZWFyY2guanMiLCAic2VhcmNoLmNzcyJdLCBzdGVwMSkKLQotICAg
IGZ1bmN0aW9uIHJ1blNlYXJjaEFuZER1bXBSZXN1bHRzKHNlYXJjaENvbmZpZywgY2FsbGJhY2sp
Ci0gICAgewotICAgICAgICB2YXIgc2VhcmNoUmVzdWx0cyA9IFtdOwotICAgICAgICB2YXIgc2Nv
cGUgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hTY29wZShXZWJJbnNwZWN0b3Iud29y
a3NwYWNlKTsKLSAgICAgICAgc2NvcGUucGVyZm9ybVNlYXJjaChzZWFyY2hDb25maWcsIHNlYXJj
aFJlc3VsdENhbGxiYWNrLCBzZWFyY2hGaW5pc2hlZENhbGxiYWNrKTsKLQotICAgICAgICBmdW5j
dGlvbiBzZWFyY2hSZXN1bHRDYWxsYmFjayhzZWFyY2hSZXN1bHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaChzZWFyY2hSZXN1bHQpOwotICAgICAgICB9Ci0KLSAg
ICAgICAgZnVuY3Rpb24gc2VhcmNoRmluaXNoZWRDYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGZ1bmN0aW9uIGZpbHRlck91dEVtcHR5U2VhcmNoUmVzdWx0cyhzZWFyY2hSZXN1bHQp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlYXJjaFJlc3VsdC5zZWFy
Y2hNYXRjaGVzLmxlbmd0aDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNlYXJjaFJlc3Vs
dHMgPSBzZWFyY2hSZXN1bHRzLmZpbHRlcihmaWx0ZXJPdXRFbXB0eVNlYXJjaFJlc3VsdHMpOwot
Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlYXJjaFJlc3VsdHMubGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgICAgICAgICB2YXIgc2VhcmNoUmVzdWx0ID0gc2VhcmNoUmVzdWx0c1tp
XTsKLSAgICAgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gc2VhcmNoUmVzdWx0LnVpU291
cmNlQ29kZTsKLSAgICAgICAgICAgICAgICB2YXIgc2VhcmNoTWF0Y2hlcyA9IHNlYXJjaFJlc3Vs
dC5zZWFyY2hNYXRjaGVzOwotCi0gICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hNYXRjaGVzLmxl
bmd0aCkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNlYXJjaCByZXN1bHQgIyIgKyAoaSArIDEpICsgIjogdWlT
b3VyY2VDb2RlLnVyaSA9ICIgKyB1aVNvdXJjZUNvZGUudXJpKCkpOwotICAgICAgICAgICAgICAg
IGZvciAodmFyIGogPSAwOyBqIDwgc2VhcmNoTWF0Y2hlcy5sZW5ndGg7ICsraikgewotICAgICAg
ICAgICAgICAgICAgICB2YXIgbGluZU51bWJlciA9IHNlYXJjaE1hdGNoZXNbal0ubGluZU51bWJl
cjsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmVDb250ZW50ID0gc2VhcmNoTWF0Y2hlc1tq
XS5saW5lQ29udGVudDsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgc2VhcmNoIG1hdGNoICMiICsgKGogKyAxKSArICI6IGxpbmVOdW1iZXIgPSAiICsgbGlu
ZU51bWJlciArICIsIGxpbmVDb250ZW50ID0gJyIgKyBsaW5lQ29udGVudCArICInIik7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FsbGJhY2soKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RJZ25v
cmVDYXNlKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHNlYXJjaENv
bmZpZyA9IHt9OwotICAgICAgICAgICAgICAgIHNlYXJjaENvbmZpZy5xdWVyeSA9ICJzZWFyY2hU
ZXN0IiArICJVbmlxdWVTdHJpbmciOwotICAgICAgICAgICAgICAgIHNlYXJjaENvbmZpZy5pZ25v
cmVDYXNlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBzZWFyY2hDb25maWcuaXNSZWdleCA9IGZh
bHNlOwotICAgICAgICAgICAgICAgIHJ1blNlYXJjaEFuZER1bXBSZXN1bHRzKHNlYXJjaENvbmZp
ZywgbmV4dCk7Ci0gICAgICAgICAgICB9LAotCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0Q2Fz
ZVNlbnNpdGl2ZShuZXh0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZhciBzZWFy
Y2hDb25maWcgPSB7fTsKLSAgICAgICAgICAgICAgICBzZWFyY2hDb25maWcucXVlcnkgPSAic2Vh
cmNoVGVzdCIgKyAiVW5pcXVlU3RyaW5nIjsKLSAgICAgICAgICAgICAgICBzZWFyY2hDb25maWcu
aWdub3JlQ2FzZSA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHNlYXJjaENvbmZpZy5pc1JlZ2V4
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgcnVuU2VhcmNoQW5kRHVtcFJlc3VsdHMoc2VhcmNo
Q29uZmlnLCBuZXh0KTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgIF0pOwotICAgIH0KLX0KLQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08aWZyYW1lIHNy
Yz0icmVzb3VyY2VzL3NlYXJjaC5odG1sIj4KLTxwPlRlc3RzIHRoYXQgU2NyaXB0U2VhcmNoU2Nv
cGUgcGVyZm9ybXMgc2VhcmNoIGFjcm9zcyBhbGwgc291cmNlcyBjb3JyZWN0bHkuPC9wPgotU2Vl
IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTM1MCI+
YnVnIDQxMzUwPC9hPi4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tY29uY2F0ZW5h
dGVkLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3JpcHQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWI0OGE1MmI5NTBjODcwNzE4OGNk
NTEwNjkxNzQ3ZjY0M2NmOGQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJj
aC9zZWFyY2gtaW4tY29uY2F0ZW5hdGVkLXNjcmlwdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxNyArMCwwIEBACi1UZXN0cyBjb25jYXRlbmF0ZWQgc2NyaXB0IHNlYXJjaCBpbiBp
bnNwZWN0b3IgZGVidWdnZXIgYWdlbnQuCi0KLUJ1ZyA2OTAxNSAgCi1EZWJ1Z2dlciB3YXMgZW5h
YmxlZC4KLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9z
ZWFyY2gtY29uY2F0ZW5hdGVkLmh0bWwKLVNlYXJjaCBtYXRjaGVzOiAKLWxpbmVOdW1iZXI6IDMs
IGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCknCi1saW5lTnVtYmVyOiA2
LCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24g
dGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJwotbGluZU51bWJlcjogMTIsIGxp
bmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLWxpbmVOdW1iZXI6IDEzLCBsaW5l
OiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCi1saW5lTnVtYmVyOiAxOCwgbGlu
ZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcyKCknCi1saW5lTnVtYmVyOiAyMSwg
bGluZTogJyAgICAvKiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRo
ZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZyAqLyB9ICcKLWxpbmVOdW1iZXI6IDIx
LCBsaW5lOiAnIGZ1bmN0aW9uIGRvU29tZXRoaW5nMigpIHsgc2VhcmNoVGVzdFVuaXF1ZVN0cmlu
ZygpOycKLWxpbmVOdW1iZXI6IDIyLCBsaW5lOiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJp
bmcoKTsnCi0KLURlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1jb25jYXRl
bmF0ZWQtc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9zZWFyY2gvc2VhcmNoLWluLWNvbmNhdGVuYXRlZC1zY3JpcHQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOTdkYWFhNzcyNWQxOTRjNGI2YmIwYjM5MzVhZjBhNGE3OTMw
ZmQzNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLWNv
bmNhdGVuYXRlZC1zY3JpcHQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzZWFyY2gt
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8g
VGhpcyBmaWxlIHNob3VsZCBub3QgbWF0Y2ggc2VhcmNoIHF1ZXJ5LgotICAgIHZhciB0ZXh0ID0g
InNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydERl
YnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJzZWFyY2gtY29u
Y2F0ZW5hdGVkLmh0bWwiXSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgic2VhcmNoLWNv
bmNhdGVuYXRlZC5odG1sIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkK
LSAgICB7Ci0gICAgICAgIHZhciB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbCI7Ci0gICAgICAgIHZh
ciBzY3JpcHRzID0gSW5zcGVjdG9yVGVzdC5xdWVyeVNjcmlwdHMoZnVuY3Rpb24ocykgeyByZXR1
cm4gcy5zb3VyY2VVUkwgPT09IHVybDsgfSk7Ci0gICAgICAgIHZhciBjb250ZW50UHJvdmlkZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkNvbmNhdGVuYXRlZFNjcmlwdHNDb250ZW50UHJvdmlkZXIoc2Ny
aXB0cyk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHVybCk7Ci0gICAgICAgIGNv
bnRlbnRQcm92aWRlci5zZWFyY2hJbkNvbnRlbnQodGV4dCwgZmFsc2UsIGZhbHNlLCBzdGVwNCk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKLSAgICB9Ci19Ci08L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGVzdHMgY29uY2F0ZW5hdGVkIHNjcmlwdCBzZWFy
Y2ggaW4gaW5zcGVjdG9yIGRlYnVnZ2VyIGFnZW50LjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxNSI+QnVnIDY5MDE1PC9hPgotCi08aWZy
YW1lIHNyYz0icmVzb3VyY2VzL3NlYXJjaC1jb25jYXRlbmF0ZWQuaHRtbCIgb25sb2FkPSJydW5U
ZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1ub24tZXhpc3RpbmctcmVz
b3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1ub24tZXhpc3RpbmctcmVzb3VyY2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjM1NGVkYmZjM2UyNzFlNjM2YmNjY2Fm
MTRmZjlkMGJkM2UyOTM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9z
ZWFyY2gtaW4tbm9uLWV4aXN0aW5nLXJlc291cmNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDYgKzAsMCBAQAotVGVzdHMgc2luZ2xlIHJlc291cmNlIHNlYXJjaCBpbiBpbnNwZWN0
b3IgcGFnZSBhZ2VudCB3aXRoIG5vbiBleGlzdGluZyByZXNvdXJjZSB1cmwgZG9lcyBub3QgY2F1
c2UgYSBjcmFzaC4KLQotQnVnIDY5NzY3ICAKLVNlYXJjaCBtYXRjaGVzOiAKLQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2Vh
cmNoLWluLW5vbi1leGlzdGluZy1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1ub24tZXhpc3RpbmctcmVzb3Vy
Y2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQ1MzI5ZjQxYjNkYmYwOTkw
NTliOWQ4MjBmY2U1ZTkyOWE4ZTg5Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9z
ZWFyY2gvc2VhcmNoLWluLW5vbi1leGlzdGluZy1yZXNvdXJjZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBtYXRj
aCBzZWFyY2ggcXVlcnkuCi0gICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVlU3Ry
aW5nIjsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJz
ZWFyY2guanMiXSwgc3RlcDIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAg
ICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKCJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzIik7Ci0gICAg
ICAgIHZhciB1cmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVz
b3VyY2VzL25vbi1leGlzdGluZy5qcyI7Ci0gICAgICAgIFBhZ2VBZ2VudC5zZWFyY2hJblJlc291
cmNlKHJlc291cmNlLmZyYW1lSWQsIHVybCwgdGV4dCwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXAzKGVycm9yLCBzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHA+VGVzdHMgc2luZ2xlIHJlc291cmNlIHNlYXJjaCBpbiBpbnNwZWN0b3IgcGFnZSBh
Z2VudCB3aXRoIG5vbiBleGlzdGluZyByZXNvdXJjZSB1cmwgZG9lcyBub3QgY2F1c2UgYSBjcmFz
aC48L3A+Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njk3NjciPkJ1ZyA2OTc2NzwvYT4KLQotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zZWFyY2guaHRt
bCIgb25sb2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1y
ZXNvdXJjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWI1ODBjZTg2ZmNmOTkxNWEzMDM3Mjk5NWE2MzM3MTFiMTc3
MGFhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJl
c291cmNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLVRlc3Rz
IHNpbmdsZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9yIHBhZ2UgYWdlbnQuCi0KLUJ1ZyA2
ODk5OCAgCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMv
c2VhcmNoLmpzCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rp
b24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51bWJlcjogMywgbGluZTogJyAgICAv
LyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUg
c2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNo
VGVzdFVuaXF1ZVN0cmluZygpOycKLWxpbmVOdW1iZXI6IDEwLCBsaW5lOiAnICAgIC8vIFNFQVJD
SFRlc3RVbmlxdWVTdHJpbmcoKTsnCi0KLVNlYXJjaCBtYXRjaGVzOiAKLWxpbmVOdW1iZXI6IDAs
IGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCknCi1saW5lTnVtYmVyOiAz
LCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24g
dGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJwotbGluZU51bWJlcjogOSwgbGlu
ZTogJyAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7JwotCi1TZWFyY2ggbWF0Y2hlczogCi1s
aW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwot
bGluZU51bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBv
Y2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVO
dW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLWxpbmVOdW1i
ZXI6IDEwLCBsaW5lOiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCi0KLVNlYXJj
aCBtYXRjaGVzOiAKLWxpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nKCknCi1saW5lTnVtYmVyOiAzLCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlx
dWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVl
U3RyaW5nJwotbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5n
KCk7JwotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2UuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWYzMzUxZGE4ZmRhY2EyNGI4OTg1MDAxOWJl
MGIxNDE2ZjY4YjAxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2Vh
cmNoLWluLXJlc291cmNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0ic2VhcmNoLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQot
ewotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJSZXNvdXJjZXNBcmVGaW5pc2hlZChbInNlYXJj
aC5qcyJdLCBzdGVwMik7Ci0gICAgdmFyIHJlc291cmNlOwotCi0gICAgZnVuY3Rpb24gc3RlcDIo
KQotICAgIHsKLSAgICAgICAgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwo
Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2gu
anMiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UudXJsKTsKLQot
ICAgICAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBtYXRjaCBzZWFyY2ggcXVlcnkuCi0gICAg
ICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHJl
c291cmNlLnNlYXJjaEluQ29udGVudCh0ZXh0LCBmYWxzZSwgZmFsc2UsIHN0ZXAzKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwMyhzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICAv
LyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBtYXRjaCBzZWFyY2ggcXVlcnkuCi0gICAgICAgIHZhciB0
ZXh0ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHJlc291cmNlLnNl
YXJjaEluQ29udGVudCh0ZXh0LCB0cnVlLCBmYWxzZSwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXA0KHNlYXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOwotCi0gICAgICAgIHZhciB0ZXh0ID0g
IlthLXpdZWFyY2hUZXN0VW5pcXVlU3RyaW5nIjsKLSAgICAgICAgcmVzb3VyY2Uuc2VhcmNoSW5D
b250ZW50KHRleHQsIGZhbHNlLCB0cnVlLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24g
c3RlcDUoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNl
YXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAgdmFyIHRleHQgPSAiW2Etel1l
YXJjaFRlc3RVbmlxdWVTdHJpbmciOwotICAgICAgICByZXNvdXJjZS5zZWFyY2hJbkNvbnRlbnQo
dGV4dCwgdHJ1ZSwgdHJ1ZSwgc3RlcDYpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA2KHNl
YXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hNYXRj
aGVzKHNlYXJjaE1hdGNoZXMpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHNpbmds
ZSByZXNvdXJjZSBzZWFyY2ggaW4gaW5zcGVjdG9yIHBhZ2UgYWdlbnQuPC9wPgotPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTk4Ij5CdWcgNjg5OTg8
L2E+Ci0KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2VhcmNoLmh0bWwiIG9ubG9hZD0icnVuVGVz
dCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVzb3VyY2VzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9z
ZWFyY2gtaW4tcmVzb3VyY2VzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTJhZmVjN2JiY2VhY2U5NzY4MDMyMjNlNjJiMDZjOGRkM2FiNThmNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXJlc291cmNlcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1UZXN0cyBiYWNrZW5kIHNlYXJj
aCBpbiBpbnNwZWN0b3IuCi0KLUJ1ZyA2MTIwNSAgCi1DYXNlIGluc2Vuc2l0aXZlLCBub24gcmVn
ZXg6Ci1TZWFyY2ggcmVzdWx0czogCi11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzLCBtYXRjaGVzQ291bnQ6IDMKLXVybDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcywg
bWF0Y2hlc0NvdW50OiA1Ci11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2Vh
cmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCwgbWF0Y2hlc0NvdW50OiAzCi0KLUNhc2Ugc2Vuc2l0
aXZlLCBub24gcmVnZXg6Ci1TZWFyY2ggcmVzdWx0czogCi11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guY3NzLCBtYXRjaGVzQ291bnQ6
IDMKLXVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2Vz
L3NlYXJjaC5qcywgbWF0Y2hlc0NvdW50OiA0Ci11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCwgbWF0Y2hlc0NvdW50OiAzCi0K
LUNhc2UgaW5zZW5zaXRpdmUsIHJlZ2V4OgotU2VhcmNoIHJlc3VsdHM6IAotdXJsOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmNzcywgbWF0
Y2hlc0NvdW50OiAzCi11cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNo
L3Jlc291cmNlcy9zZWFyY2guanMsIG1hdGNoZXNDb3VudDogNQotdXJsOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmh0bWwsIG1hdGNoZXND
b3VudDogMwotCi1DYXNlIHNlbnNpdGl2ZSwgcmVnZXg6Ci1TZWFyY2ggcmVzdWx0czogCi11cmw6
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2gu
Y3NzLCBtYXRjaGVzQ291bnQ6IDMKLXVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcywgbWF0Y2hlc0NvdW50OiA0Ci11cmw6IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guaHRtbCwg
bWF0Y2hlc0NvdW50OiAzCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZXMuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tcmVz
b3VyY2VzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5OTk5ZWFhOGIwNDFh
Y2Y0NTc4MWJlZmQxM2NlMzcyNDZjMmFlYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVz
dHMvc2VhcmNoL3NlYXJjaC1pbi1yZXNvdXJjZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ5
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBt
YXRjaCBzZWFyY2ggcXVlcnkuCi0gICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVl
U3RyaW5nIjsKLQotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJDYXNlIGluc2Vuc2l0aXZl
LCBub24gcmVnZXg6Iik7Ci0gICAgUGFnZUFnZW50LnNlYXJjaEluUmVzb3VyY2VzKHRleHQsIGZh
bHNlLCBmYWxzZSwgc3RlcDIpOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IsIHNlYXJjaFJl
c3VsdHMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hSZXN1bHRzKHNl
YXJjaFJlc3VsdHMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQ2FzZSBzZW5z
aXRpdmUsIG5vbiByZWdleDoiKTsKLSAgICAgICAgUGFnZUFnZW50LnNlYXJjaEluUmVzb3VyY2Vz
KHRleHQsIHRydWUsIGZhbHNlLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
ZXJyb3IsIHNlYXJjaFJlc3VsdHMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWFyY2hSZXN1bHRzKHNlYXJjaFJlc3VsdHMpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiQ2FzZSBpbnNlbnNpdGl2ZSwgcmVnZXg6Iik7Ci0gICAgICAgIFBhZ2VBZ2VudC5zZWFy
Y2hJblJlc291cmNlcyh0ZXh0LCBmYWxzZSwgdHJ1ZSwgc3RlcDQpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXA0KGVycm9yLCBzZWFyY2hSZXN1bHRzKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU2VhcmNoUmVzdWx0cyhzZWFyY2hSZXN1bHRzKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkNhc2Ugc2Vuc2l0aXZlLCByZWdleDoiKTsKLSAgICAgICAgUGFn
ZUFnZW50LnNlYXJjaEluUmVzb3VyY2VzKHRleHQsIHRydWUsIHRydWUsIHN0ZXA1KTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShlcnJvciwgc2VhcmNoUmVzdWx0cykKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFNlYXJjaFJlc3VsdHMoc2VhcmNoUmVzdWx0cyk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIGJhY2tlbmQgc2VhcmNoIGluIGluc3BlY3Rvci48L3A+
Ci08YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMDUi
PkJ1ZyA2MTIwNTwvYT4KLQotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zZWFyY2guaHRtbCIgb25s
b2FkPSJydW5UZXN0KCkiPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJjaC1pbi1zY3JpcHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
c2VhcmNoL3NlYXJjaC1pbi1zY3JpcHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA3MzdkNjdlMjczZjNlZDZjY2IwMjYzYjVjYzkyZTE3MWJhNTU1NDM5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVRlc3RzIHNjcmlwdCBzZWFy
Y2ggaW4gaW5zcGVjdG9yIGRlYnVnZ2VyIGFnZW50LgotCi1CdWcgNjkwMTUgIAotRGVidWdnZXIg
d2FzIGVuYWJsZWQuCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3NlYXJjaC9yZXNv
dXJjZXMvc2VhcmNoLmpzCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVtYmVyOiAwLCBsaW5lOiAn
ZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51bWJlcjogMywgbGluZTog
JyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1l
IGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAg
c2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLWxpbmVOdW1iZXI6IDEwLCBsaW5lOiAnICAgIC8v
IFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCi0KLVNlYXJjaCBtYXRjaGVzOiAKLWxpbmVOdW1i
ZXI6IDAsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCknCi1saW5lTnVt
YmVyOiAzLCBsaW5lOiAnICAgIC8vIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5j
ZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nJwotbGluZU51bWJlcjog
OSwgbGluZTogJyAgICBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nKCk7JwotCi1TZWFyY2ggbWF0Y2hl
czogCi1saW5lTnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmlu
ZygpJwotbGluZU51bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5n
IHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycK
LWxpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLWxp
bmVOdW1iZXI6IDEwLCBsaW5lOiAnICAgIC8vIFNFQVJDSFRlc3RVbmlxdWVTdHJpbmcoKTsnCi0K
LVNlYXJjaCBtYXRjaGVzOiAKLWxpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5jdGlvbiBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nKCknCi1saW5lTnVtYmVyOiAzLCBsaW5lOiAnICAgIC8vIHNlYXJjaFRl
c3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hUZXN0
VW5pcXVlU3RyaW5nJwotbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFyY2hUZXN0VW5pcXVl
U3RyaW5nKCk7JwotCi1EZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc2Ny
aXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFy
Y2gvc2VhcmNoLWluLXNjcmlwdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
ODljYjBjYjQzMjM2ZmNmZTQ1ZjZhNjJkMmZmNTAyZTM1NjgwNWJmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw3NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ic2VhcmNoLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEp
OwotICAgIHZhciBzY3JpcHQ7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJzZWFyY2guanMi
XSwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3Quc2hvd1NjcmlwdFNvdXJjZSgic2VhcmNoLmpzIiwgc3RlcDMpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIHZhciB1cmwgPSAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzL3NlYXJjaC5qcyI7
Ci0gICAgICAgIHZhciBzY3JpcHRzID0gSW5zcGVjdG9yVGVzdC5xdWVyeVNjcmlwdHMoZnVuY3Rp
b24ocykgeyByZXR1cm4gcy5zb3VyY2VVUkwgPT09IHVybDsgfSk7Ci0gICAgICAgIHNjcmlwdCA9
IHNjcmlwdHNbMF07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHNjcmlwdC5zb3Vy
Y2VVUkwpOwotCi0gICAgICAgIC8vIFRoaXMgZmlsZSBzaG91bGQgbm90IG1hdGNoIHNlYXJjaCBx
dWVyeS4KLSAgICAgICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdCIgKyAiVW5pcXVlU3RyaW5nIjsK
LSAgICAgICAgc2NyaXB0LnNlYXJjaEluQ29udGVudCh0ZXh0LCBmYWxzZSwgZmFsc2UsIHN0ZXA0
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQot
ICAgICAgICAvLyBUaGlzIGZpbGUgc2hvdWxkIG5vdCBtYXRjaCBzZWFyY2ggcXVlcnkuCi0gICAg
ICAgIHZhciB0ZXh0ID0gInNlYXJjaFRlc3QiICsgIlVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHNj
cmlwdC5zZWFyY2hJbkNvbnRlbnQodGV4dCwgdHJ1ZSwgZmFsc2UsIHN0ZXA1KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwNShzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICB2YXIg
dGV4dCA9ICJbYS16XWVhcmNoVGVzdFVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHNjcmlwdC5zZWFy
Y2hJbkNvbnRlbnQodGV4dCwgZmFsc2UsIHRydWUsIHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwNihzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wU2VhcmNoTWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICB2YXIgdGV4dCA9ICJb
YS16XWVhcmNoVGVzdFVuaXF1ZVN0cmluZyI7Ci0gICAgICAgIHNjcmlwdC5zZWFyY2hJbkNvbnRl
bnQodGV4dCwgdHJ1ZSwgdHJ1ZSwgc3RlcDcpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3
KHNlYXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hN
YXRjaGVzKHNlYXJjaE1hdGNoZXMpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVE
ZWJ1Z2dlclRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+
VGVzdHMgc2NyaXB0IHNlYXJjaCBpbiBpbnNwZWN0b3IgZGVidWdnZXIgYWdlbnQuPC9wPgotPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE1Ij5CdWcg
NjkwMTU8L2E+Ci0KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2VhcmNoLmh0bWwiIG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJjaC9zZWFyY2gtaW4tc3RhdGljLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3NlYXJj
aC9zZWFyY2gtaW4tc3RhdGljLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmEzZTViMjQ3OWFlZjY1MWI0N2ExNTRhMTk3YmM0NmYwNTNhZTJiNC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXN0YXRpYy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1UZXN0cyBzdGF0aWMgY29udGVudCBw
cm92aWRlciBzZWFyY2guCi0KLUJ1ZyA3MDM1NCAgCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMvc2VhcmNoLmpzCi1TZWFyY2ggbWF0Y2hlczogCi1saW5l
TnVtYmVyOiAwLCBsaW5lOiAnZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGlu
ZU51bWJlcjogMywgbGluZTogJyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1
cmVuY2VzIG9uIHRoZSBzYW1lIGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1i
ZXI6IDksIGxpbmU6ICcgICAgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLQotU2VhcmNoIG1h
dGNoZXM6IAotbGluZU51bWJlcjogMCwgbGluZTogJ2Z1bmN0aW9uIHNlYXJjaFRlc3RVbmlxdWVT
dHJpbmcoKScKLWxpbmVOdW1iZXI6IDMsIGxpbmU6ICcgICAgLy8gc2VhcmNoVGVzdFVuaXF1ZVN0
cmluZyB0d28gb2NjdXJlbmNlcyBvbiB0aGUgc2FtZSBsaW5lIHNlYXJjaFRlc3RVbmlxdWVTdHJp
bmcnCi1saW5lTnVtYmVyOiA5LCBsaW5lOiAnICAgIHNlYXJjaFRlc3RVbmlxdWVTdHJpbmcoKTsn
Ci0KLVNlYXJjaCBtYXRjaGVzOiAKLWxpbmVOdW1iZXI6IDAsIGxpbmU6ICdmdW5jdGlvbiBzZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nKCknCi1saW5lTnVtYmVyOiAzLCBsaW5lOiAnICAgIC8vIHNlYXJj
aFRlc3RVbmlxdWVTdHJpbmcgdHdvIG9jY3VyZW5jZXMgb24gdGhlIHNhbWUgbGluZSBzZWFyY2hU
ZXN0VW5pcXVlU3RyaW5nJwotbGluZU51bWJlcjogOSwgbGluZTogJyAgICBzZWFyY2hUZXN0VW5p
cXVlU3RyaW5nKCk7JwotCi1TZWFyY2ggbWF0Y2hlczogCi1saW5lTnVtYmVyOiAwLCBsaW5lOiAn
ZnVuY3Rpb24gc2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpJwotbGluZU51bWJlcjogMywgbGluZTog
JyAgICAvLyBzZWFyY2hUZXN0VW5pcXVlU3RyaW5nIHR3byBvY2N1cmVuY2VzIG9uIHRoZSBzYW1l
IGxpbmUgc2VhcmNoVGVzdFVuaXF1ZVN0cmluZycKLWxpbmVOdW1iZXI6IDksIGxpbmU6ICcgICAg
c2VhcmNoVGVzdFVuaXF1ZVN0cmluZygpOycKLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXN0YXRpYy5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJj
aC1pbi1zdGF0aWMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQxYWRkY2Ux
MTFiYmYyYzk4YzA0OGIyM2JjYTI5ZjI5ZGEwOTNiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9zZWFyY2gvc2VhcmNoLWluLXN0YXRpYy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NjcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InNlYXJjaC10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUmVzb3VyY2VzQXJl
RmluaXNoZWQoWyJzZWFyY2guanMiXSwgc3RlcDIpOwotICAgIHZhciByZXNvdXJjZTsKLSAgICB2
YXIgc3RhdGljQ29udGVudFByb3ZpZGVyOwotCi0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsK
LSAgICAgICAgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwoImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy9zZWFyY2guanMiKTsKLSAg
ICAgICAgcmVzb3VyY2UucmVxdWVzdENvbnRlbnQoc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyKFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5
cGVzLlNjcmlwdCwgcmVzb3VyY2UuY29udGVudCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHJlc291cmNlLnVybCk7Ci0KLSAgICAgICAgdmFyIHRleHQgPSAic2VhcmNoVGVzdFVu
aXF1ZVN0cmluZyI7Ci0gICAgICAgIHN0YXRpY0NvbnRlbnRQcm92aWRlci5zZWFyY2hJbkNvbnRl
bnQodGV4dCwgdHJ1ZSwgZmFsc2UsIHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
NChzZWFyY2hNYXRjaGVzKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VhcmNo
TWF0Y2hlcyhzZWFyY2hNYXRjaGVzKTsKLQotICAgICAgICB2YXIgdGV4dCA9ICJzZWFyY2hUZXN0
VW5pcXVlU3RyaW5nIjsKLSAgICAgICAgc3RhdGljQ29udGVudFByb3ZpZGVyLnNlYXJjaEluQ29u
dGVudCh0ZXh0LCB0cnVlLCBmYWxzZSwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXA1KHNlYXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWFy
Y2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOwotCi0gICAgICAgIHZhciB0ZXh0ID0gIlthLXpdZWFy
Y2hUZXN0VW5pcXVlU3RyaW5nIjsKLSAgICAgICAgc3RhdGljQ29udGVudFByb3ZpZGVyLnNlYXJj
aEluQ29udGVudCh0ZXh0LCBmYWxzZSwgdHJ1ZSwgc3RlcDYpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXA2KHNlYXJjaE1hdGNoZXMpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTZWFyY2hNYXRjaGVzKHNlYXJjaE1hdGNoZXMpOwotCi0gICAgICAgIHZhciB0ZXh0ID0gIlth
LXpdZWFyY2hUZXN0VW5pcXVlU3RyaW5nIjsKLSAgICAgICAgc3RhdGljQ29udGVudFByb3ZpZGVy
LnNlYXJjaEluQ29udGVudCh0ZXh0LCB0cnVlLCB0cnVlLCBzdGVwNyk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDcoc2VhcmNoTWF0Y2hlcykKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFNlYXJjaE1hdGNoZXMoc2VhcmNoTWF0Y2hlcyk7Ci0KLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHA+VGVzdHMgc3RhdGljIGNvbnRlbnQgcHJvdmlkZXIgc2VhcmNoLjwvcD4KLTxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1NCI+QnVnIDcwMzU0
PC9hPgotCi08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NlYXJjaC5odG1sIiBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLXRlc3QuanMgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zZWFyY2gvc2VhcmNoLXRlc3QuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNzYyODE2MDZiMWQ0NjNkNWE5MWZhOWRhMWY5
NTNkOWJmNTNlZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc2VhcmNoL3NlYXJj
aC10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotdmFyIGluaXRpYWxpemVf
U2VhcmNoVGVzdCA9IGZ1bmN0aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hSZXN1
bHRzID0gZnVuY3Rpb24oc2VhcmNoUmVzdWx0cykKLXsKLSAgICBmdW5jdGlvbiBjb21wYXJhdG9y
KGEsIGIpCi0gICAgewotICAgICAgICBhLnVybC5sb2NhbGVDb21wYXJlKGIudXJsKTsKLSAgICB9
Ci0gICAgc2VhcmNoUmVzdWx0cy5zb3J0KGNvbXBhcmF0b3IpOwotCi0gICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlNlYXJjaCByZXN1bHRzOiAiKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHNlYXJjaFJlc3VsdHMubGVuZ3RoOyBpKyspCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJ1cmw6ICIgKyBzZWFyY2hSZXN1bHRzW2ldLnVybCArICIsIG1hdGNoZXNDb3VudDogIiAr
IHNlYXJjaFJlc3VsdHNbaV0ubWF0Y2hlc0NvdW50KTsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1bXBTZWFyY2hNYXRjaGVzID0gZnVuY3Rp
b24oc2VhcmNoTWF0Y2hlcykKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2VhcmNo
IG1hdGNoZXM6ICIpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VhcmNoTWF0Y2hlcy5sZW5n
dGg7IGkrKykKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxpbmVOdW1iZXI6ICIg
KyBzZWFyY2hNYXRjaGVzW2ldLmxpbmVOdW1iZXIgKyAiLCBsaW5lOiAnIiArIHNlYXJjaE1hdGNo
ZXNbaV0ubGluZUNvbnRlbnQgKyAiJyIpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIi
KTsKLX07Ci0KLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
aHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5qZWN0ZWQtY29udGVudC13YXJuaW5nLWNvbnRh
aW5zLXN0YWNrdHJhY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRlbnQtd2FybmluZy1j
b250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTlhODA0NDliODJjYmM0OWU4OGYxOWQyZTBkYmRhOTQwZGJmN2U2Zi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5qZWN0ZWQtY29udGVudC13
YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhlIGltYWdl
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL2FiZS5wbmcnIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJp
bWctc3JjICdub25lJyIuCi0KLVRoaXMgdGVzdCBpbmplY3RzIGEgYmxvY2tlZCBpbWFnZSBmcm9t
IEphdmFTY3JpcHQuIFRoZSByZXN1bHRpbmcgY29uc29sZSBlcnJvciBzaG91bGQgY29udGFpbiBh
IHN0YWNrIHRyYWNlLgotCi0KLU1lc3NhZ2VbMF06IGNzcC1pbmplY3RlZC1jb250ZW50LXdhcm5p
bmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sOjEyIFJlZnVzZWQgdG8gbG9hZCB0aGUgaW1hZ2Ug
J2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvYWJlLnBuZycgYmVjYXVzZSBpdCB2aW9s
YXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogImlt
Zy1zcmMgJ25vbmUnIi4KLQotU3RhY2sgVHJhY2U6Ci0KLSAgICB1cmw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvY3NwLWluamVjdGVkLWNvbnRlbnQtd2Fybmlu
Zy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwKLSAgICBmdW5jdGlvbjogdGhpc1Rlc3QKLSAgICBs
aW5lOiAxMgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5qZWN0ZWQtY29udGVudC13YXJuaW5nLWNvbnRhaW5z
LXN0YWNrdHJhY2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3N0YWNrdHJhY2VzL2NzcC1pbmplY3RlZC1jb250ZW50LXdhcm5pbmctY29udGFpbnMtc3Rh
Y2t0cmFjZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjAxZTVlYzU4NzUz
YmQ3MDU0MDlkYzE3MzE0YjY2NmVlZDk4NzkwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRl
c3RzL3N0YWNrdHJhY2VzL2NzcC1pbmplY3RlZC1jb250ZW50LXdhcm5pbmctY29udGFpbnMtc3Rh
Y2t0cmFjZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3knIGNvbnRlbnQ9ImltZy1zcmMgJ25vbmUnIj4KLSAgICAgICAgPHNj
cmlwdCBzcmM9Jy9pbnNwZWN0b3IvY29uc29sZS10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAg
PHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAg
ICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzJz48L3NjcmlwdD4K
LSAgICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvcmVzb3VyY2VzL3N0
YWNrdHJhY2UtdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAg
ICBmdW5jdGlvbiB0aGlzVGVzdCgpIHsKLSAgICAgICAgICAgICAgICB2YXIgaW1nID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7Ci0gICAgICAgICAgICAgICAgaW1nLnNyYyA9ICcvcmVz
b3VyY2VzL2FiZS5wbmcnOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaW1nKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgot
ICAgIDxib2R5IG9ubG9hZD0ncnVuVGVzdCgpJz4KLSAgICAgICAgPHA+VGhpcyB0ZXN0IGluamVj
dHMgYSBibG9ja2VkIGltYWdlIGZyb20gSmF2YVNjcmlwdC4gVGhlIHJlc3VsdGluZyBjb25zb2xl
Ci0gICAgICAgIGVycm9yIHNob3VsZCBjb250YWluIGEgc3RhY2sgdHJhY2UuPC9wPgotICAgIDwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1pbmxpbmUtd2FybmluZy1jb250YWlucy1zdGFj
a3RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1pbmxpbmUtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y0MTgwY2U3YWQ5
NzNlNmQzZDViYWRmZjE4MDg3NGZjNTkzNTNlYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10
ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5saW5lLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1DT05TT0xFIE1FU1NB
R0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMg
dGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQt
c3JjICdzZWxmJyIuCi0KLVRoaXMgdGVzdCBpbmplY3RzIGFuIGlubGluZSBzY3JpcHQgZnJvbSBK
YXZhU2NyaXB0LiBUaGUgcmVzdWx0aW5nIGNvbnNvbGUgZXJyb3Igc2hvdWxkIGNvbnRhaW4gYSBz
dGFjayB0cmFjZS4KLQotTWVzc2FnZVswXTogW25hdGl2ZSBjb2RlXTowIFJlZnVzZWQgdG8gZXhl
Y3V0ZSBpbmxpbmUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyIuCi0KLVN0
YWNrIFRyYWNlOgotCi0gICAgdXJsOiBbbmF0aXZlIGNvZGVdCi0gICAgZnVuY3Rpb246IGFwcGVu
ZENoaWxkCi0gICAgbGluZTogMAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9jc3AtaW5saW5lLXdhcm5pbmctY29udGFp
bnMtc3RhY2t0cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAt
dGVzdHMvc3RhY2t0cmFjZXMvY3NwLWlubGluZS13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2Uu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQ4NTFkMGFlZmIxMmJhNjJjYzE0
ZDMxZTRkMDZiMDRlZjU2ODBiOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFj
a3RyYWNlcy9jc3AtaW5saW5lLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgICA8
aGVhZD4KLSAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1TZWN1cml0eS1Qb2xpY3kn
IGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3NlbGYnIj4KLSAgICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNw
ZWN0b3IvY29uc29sZS10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Jy9p
bnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3Jj
PScvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlw
dCBzcmM9Jy9pbnNwZWN0b3Ivc3RhY2t0cmFjZXMvcmVzb3VyY2VzL3N0YWNrdHJhY2UtdGVzdC5q
cyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL3N0YWNrdHJhY2Vz
L3Jlc291cmNlcy9jc3AtaW5saW5lLXRlc3QuanMnPjwvc2NyaXB0PgotICAgIDwvaGVhZD4KLSAg
ICA8Ym9keT4KLSAgICAgICAgPHA+VGhpcyB0ZXN0IGluamVjdHMgYW4gaW5saW5lIHNjcmlwdCBm
cm9tIEphdmFTY3JpcHQuIFRoZSByZXN1bHRpbmcKLSAgICAgICAgY29uc29sZSBlcnJvciBzaG91
bGQgY29udGFpbiBhIHN0YWNrIHRyYWNlLjwvcD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3Ry
YWNlcy9jc3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJh
Y2VzL2NzcC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWQzYWRiNDcxMjMzOWJlN2RkNWRm
ZjliN2IwZGJlZTAxNzRmZDc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNr
dHJhY2VzL2NzcC1zZXRJbnRlcnZhbC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBS
ZWZ1c2VkIHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dp
bmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZicg
J3Vuc2FmZS1pbmxpbmUnIi4KLQotVGhpcyB0ZXN0IGF0dGVtcHRzIHRvIGV2YWx1YXRlIHNjcmlw
dCB2aWEgc2V0SW50ZXJ2YWwuIFRoZSByZXN1bHRpbmcgY29uc29sZSBlcnJvciBzaG91bGQgY29u
dGFpbiBhIHN0YWNrIHRyYWNlIHRpZWQgdG8gbGluZSAxMS4KLQotTWVzc2FnZVswXTogY3NwLXNl
dEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sOjExIFJlZnVzZWQgdG8g
ZXZhbHVhdGUgc2NyaXB0IGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlu
bGluZSciLgotCi1TdGFjayBUcmFjZToKLQotICAgIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9zdGFja3RyYWNlcy9jc3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1z
dGFja3RyYWNlLmh0bWwKLSAgICBmdW5jdGlvbjogdGhpc1Rlc3QKLSAgICBsaW5lOiAxMQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFj
a3RyYWNlcy9jc3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9j
c3Atc2V0SW50ZXJ2YWwtd2FybmluZy1jb250YWlucy1zdGFja3RyYWNlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3NjdiZjMwODllYTM3NGExNGI1Nzk1NGEyM2U4MzkxYjFj
MjQ1N2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNl
dEludGVydmFsLXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAg
ICAgICAgPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1TZWN1cml0eS1Qb2xpY3knIGNvbnRlbnQ9
InNjcmlwdC1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyI+Ci0gICAgICAgIDxzY3JpcHQgc3Jj
PScvaW5zcGVjdG9yL2NvbnNvbGUtdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQg
c3JjPScvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMnPjwvc2NyaXB0PgotICAgICAgICA8c2Ny
aXB0IHNyYz0nL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyc+PC9zY3JpcHQ+Ci0gICAgICAg
IDxzY3JpcHQgc3JjPScvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL3Jlc291cmNlcy9zdGFja3RyYWNl
LXRlc3QuanMnPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgZnVuY3Rp
b24gdGhpc1Rlc3QoKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGlkID0gc2V0SW50ZXJ2YWwoJ2xv
ZygiRkFJTCIpJywgMCk7Ci0gICAgICAgICAgICAgICAgaWYgKGlkICE9IDApCi0gICAgICAgICAg
ICAgICAgICAgIGxvZygnRkFJTDogUmV0dXJuIHZhbHVlIGZvciBzdHJpbmcgKHNob3VsZCBiZSAw
KTogJyArIGlkKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGxv
ZygnUEFTUzogUmV0dXJuIHZhbHVlIGZvciBibG9ja2VkIHNldEludGVydmFsIGlzIDAnKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5IG9u
bG9hZD0ncnVuVGVzdCgpJz4KLSAgICAgICAgPHA+VGhpcyB0ZXN0IGF0dGVtcHRzIHRvIGV2YWx1
YXRlIHNjcmlwdCB2aWEgc2V0SW50ZXJ2YWwuIFRoZSByZXN1bHRpbmcgY29uc29sZQotICAgICAg
ICBlcnJvciBzaG91bGQgY29udGFpbiBhIHN0YWNrIHRyYWNlIHRpZWQgdG8gbGluZSAxMS48L3A+
Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNldFRpbWVvdXQtd2FybmluZy1j
b250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1lb3V0LXdhcm5pbmctY29u
dGFpbnMtc3RhY2t0cmFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGZlNDU0MjJlYjI2NjdlODEwYTEyYjA1MDU4MmRlY2I4NDBlOGI0ZDUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNldFRpbWVvdXQtd2FybmluZy1j
b250YWlucy1zdGFja3RyYWNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQgYmVjYXVz
ZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVj
dGl2ZTogInNjcmlwdC1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyIuCi0KLVRoaXMgdGVzdCBh
dHRlbXB0cyB0byBldmFsdWF0ZSBzY3JpcHQgdmlhIHNldFRpbWVvdXQuIFRoZSByZXN1bHRpbmcg
Y29uc29sZSBlcnJvciBzaG91bGQgY29udGFpbiBhIHN0YWNrIHRyYWNlIHRpZWQgdG8gbGluZSAx
MS4KLQotTWVzc2FnZVswXTogY3NwLXNldFRpbWVvdXQtd2FybmluZy1jb250YWlucy1zdGFja3Ry
YWNlLmh0bWw6MTEgUmVmdXNlZCB0byBldmFsdWF0ZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9sYXRl
cyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlw
dC1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyIuCi0KLVN0YWNrIFRyYWNlOgotCi0gICAgdXJs
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3N0YWNrdHJhY2VzL2NzcC1zZXRUaW1l
b3V0LXdhcm5pbmctY29udGFpbnMtc3RhY2t0cmFjZS5odG1sCi0gICAgZnVuY3Rpb246IHRoaXNU
ZXN0Ci0gICAgbGluZTogMTEKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvY3NwLXNldFRpbWVvdXQtd2FybmluZy1jb250
YWlucy1zdGFja3RyYWNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0
cC10ZXN0cy9zdGFja3RyYWNlcy9jc3Atc2V0VGltZW91dC13YXJuaW5nLWNvbnRhaW5zLXN0YWNr
dHJhY2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2NkNzQ0NjVmYjAyYjA2
OTBmYTdiNmY4M2ZmZDBhYWU1MTk1ZTJiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9zdGFja3RyYWNlcy9jc3Atc2V0VGltZW91dC13YXJuaW5nLWNvbnRhaW5zLXN0YWNrdHJhY2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtU2VjdXJp
dHktUG9saWN5JyBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciPgot
ICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9jb25zb2xlLXRlc3QuanMnPjwvc2NyaXB0
PgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzJz48L3Nj
cmlwdD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Jy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMn
Pjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0nL2luc3BlY3Rvci9zdGFja3RyYWNlcy9y
ZXNvdXJjZXMvc3RhY2t0cmFjZS10ZXN0LmpzJz48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdD4K
LSAgICAgICAgICAgIGZ1bmN0aW9uIHRoaXNUZXN0KCkgewotICAgICAgICAgICAgICAgIHZhciBp
ZCA9IHNldFRpbWVvdXQoJ2xvZygiRkFJTCIpJywgMCk7Ci0gICAgICAgICAgICAgICAgaWYgKGlk
ICE9IDApCi0gICAgICAgICAgICAgICAgICAgIGxvZygnRkFJTDogUmV0dXJuIHZhbHVlIGZvciBz
dHJpbmcgKHNob3VsZCBiZSAwKTogJyArIGlkKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgIGxvZygnUEFTUzogUmV0dXJuIHZhbHVlIGZvciBibG9ja2VkIHNldElu
dGVydmFsIGlzIDAnKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9o
ZWFkPgotICAgIDxib2R5IG9ubG9hZD0ncnVuVGVzdCgpJz4KLSAgICAgICAgPHA+VGhpcyB0ZXN0
IGF0dGVtcHRzIHRvIGV2YWx1YXRlIHNjcmlwdCB2aWEgc2V0VGltZW91dC4gVGhlIHJlc3VsdGlu
ZyBjb25zb2xlCi0gICAgICAgIGVycm9yIHNob3VsZCBjb250YWluIGEgc3RhY2sgdHJhY2UgdGll
ZCB0byBsaW5lIDExLjwvcD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9yZXNvdXJj
ZXMvY3NwLWlubGluZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0
dHAtdGVzdHMvc3RhY2t0cmFjZXMvcmVzb3VyY2VzL2NzcC1pbmxpbmUtdGVzdC5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjc4MzQ0ZjJiY2ViOGJmMWQxMzgyNTk0NmZiYmU5ZTUx
N2I1OTdkZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFja3RyYWNlcy9yZXNv
dXJjZXMvY3NwLWlubGluZS10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1m
dW5jdGlvbiB0aGlzVGVzdCgpIHsKLSAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NjcmlwdCcpOwotICAgIHMuaW5uZXJUZXh0ID0gImFsZXJ0KCdGQUlMLicpOyIKLSAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpOwotfQotd2luZG93Lm9ubG9hZCA9IHJ1blRlc3Q7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdGFj
a3RyYWNlcy9yZXNvdXJjZXMvc3RhY2t0cmFjZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3RhY2t0cmFjZXMvcmVzb3VyY2VzL3N0YWNrdHJhY2Ut
dGVzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDM1MWYwYTVlZTUxOTgxMjA5
YzEzY2FlMWUyNTBhNmUzMTIyY2ZlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9z
dGFja3RyYWNlcy9yZXNvdXJjZXMvc3RhY2t0cmFjZS10ZXN0LmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMjIgKzAsMCBAQAotZnVuY3Rpb24gdGVzdCgpIHsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZENv
bnNvbGVTbmlmZmVyKGFkZE1lc3NhZ2UpOwotCi0gICAgZnVuY3Rpb24gYWRkTWVzc2FnZShtZXNz
YWdlKSB7Ci0gICAgICAgIHZhciBtZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25zb2xlVmlldy5f
dmlzaWJsZU1lc3NhZ2VzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3NhZ2VzLmxl
bmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgbSA9IG1lc3NhZ2VzW2ldOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1lc3NhZ2VbIiArIGkgKyAiXTogIiArIFdlYklu
c3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTChtLnVybCkgKyAiOiIgKyBtLmxpbmUgKyAiICIgKyBt
Lm1lc3NhZ2UpOwotICAgICAgICAgICAgdmFyIHRyYWNlID0gbS5zdGFja1RyYWNlOwotICAgICAg
ICAgICAgaWYgKCF0cmFjZSkgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJGQUlMOiBubyBzdGFjayB0cmFjZSBhdHRhY2hlZCB0byBtZXNzYWdlICMiICsgaSk7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJTdGFjayBUcmFjZTpcbiIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgdXJsOiAiICsgdHJhY2VbMF0udXJsKTsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGZ1bmN0aW9uOiAiICsgdHJhY2VbMF0uZnVuY3Rpb25O
YW1lKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIGxpbmU6
ICIgKyB0cmFjZVswXS5saW5lTnVtYmVyKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJ0aGlzVGVzdCgpIik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvbW9kaWZ5LWNyb3NzLWRv
bWFpbi1ydWxlLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3Rz
L3N0eWxlcy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1bGUuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5YTJlZTFhMjlhMjlmYWQ2MjY3ZmNmNjYyZTBlOWQzNTk5YjA1M2VlLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9tb2RpZnktY3Jvc3MtZG9tYWluLXJ1
bGUuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0jaW5zcGVjdGVkIHsKLSAgY29s
b3I6IGdyZWVuOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MuY3NzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3Jlc291cmNl
cy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4OTU5NjBjMjI1NjQ0MzE5NTI4ODUxMTZmMzAxMzU0Zjg2OTQ1Njc4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3Nz
LmNzcworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotZGl2IHsKLSAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLnBo
cCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9yZXNv
dXJjZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDg5NzljZGQyMWE2MWJiOWVjNDZkNTZhMWVjOTQxODYwOTRkZTVlMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1yZWRpcmVjdGVk
LWNzcy5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLTw/cGhwCi0gICAgaGVhZGVy
KCJMb2NhdGlvbjogc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmNzcyIpOwotPz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy9yZXNvdXJj
ZXMveHNsLXRyYW5zZm9ybWVkLnhzbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3N0eWxlcy9yZXNvdXJjZXMveHNsLXRyYW5zZm9ybWVkLnhzbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGU2YjE3N2I4NGNjMzYyN2UwN2RlZmVmZGU3OTE1OTIwZDRh
NGUyYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvcmVzb3VyY2VzL3hz
bC10cmFuc2Zvcm1lZC54c2wKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi08P3htbCB2
ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYtOCc/PgotPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249
IjEuMCIKLSAgICAgICAgICAgICAgICBpZD0ic3R5bGVzaGVldCIKLSAgICAgICAgICAgICAgICB4
bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSI+Ci0gICAgPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iaXRlbXMiPgotICAgICAgICA8aHRtbD4KLSAgICAgICAgPGhlYWQ+
Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAgICAg
PHNjcmlwdD4KLSAgICAgICAgZnVuY3Rpb24gdGVzdCgpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QucmVsb2FkUGFnZShzdGVwMSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1
bkFmdGVyUmVzb3VyY2VzQXJlRmluaXNoZWQoWyJ4c2wtdHJhbnNmb3JtZWQueHNsIl0sIEluc3Bl
Y3RvclRlc3QuZXhwYW5kRWxlbWVudHNUcmVlLmJpbmQoSW5zcGVjdG9yVGVzdCwgc3RlcDIpKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRzVHJlZSgpOwot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgICAgIDwvaGVhZD4KLSAgICAg
ICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgICAgICA8cD5UZXN0cyB0aGF0IFhTTC10
cmFuc2Zvcm1lZCBkb2N1bWVudHMgaW4gdGhlIG1haW4gZnJhbWUgYXJlIHJlbmRlcmVkIGNvcnJl
Y3RseSBpbiB0aGUgRWxlbWVudHMgcGFuZWwuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEzMTMiPkJ1ZyAxMTEzMTM8L2E+PC9wPgotICAgICAgICA8
eHNsOmZvci1lYWNoIHNlbGVjdD0iaXRlbSI+Ci0gICAgICAgICAgPHNwYW4+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9Ii4iLz48L3NwYW4+Ci0gICAgICAgIDwveHNsOmZvci1lYWNoPgotICAgICAgICA8
L2JvZHk+Ci0gICAgICAgIDwvaHRtbD4KLSAgICA8L3hzbDp0ZW1wbGF0ZT4KLTwveHNsOnN0eWxl
c2hlZXQ+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRw
LXRlc3RzL3N0eWxlcy9zdHlsZXMtcmVkaXJlY3RlZC1jc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3N0eWxlcy1yZWRpcmVj
dGVkLWNzcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3Y2Yw
NzAzYjhkM2M0NjAwZjk0ZDFhMDI1ODZjNmUyNzU5ZTRkNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2h0dHAtdGVzdHMvc3R5bGVzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRlc3RzIHRoYXQgc3R5bGVzIGluIHJlZGlyZWN0
ZWQgY3NzIGFyZSBlZGl0YWJsZS4KLQotQnVnIDY4NjMxCi10ZXN0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMvc3R5bGVzLXJlZGly
ZWN0ZWQtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9zdHlsZXMvc3R5bGVzLXJlZGlyZWN0ZWQtY3NzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDhmMmJiYjI2NGU4NzJiYWYwNzZhMjIxZjRlZDYxYjNkMjcxZTZiYWQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0eWxlcy1yZWRpcmVjdGVkLWNzcy5w
aHAiIHR5cGU9InRleHQvY3NzIj4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5v
ZGVBbmRXYWl0Rm9yU3R5bGVzKCJ0ZXN0X2RpdiIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0
ZXAxKCkKLSAgICB7Ci0gICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0TWF0
Y2hlZFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiYmFja2dyb3VuZC1jb2xvciIpOwotICAgICAgICB0
cmVlSXRlbS5wcm9wZXJ0eS5zZXREaXNhYmxlZCh0cnVlLCBzdGVwMik7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDIobmV3U3R5bGUpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydFRydWUoISFuZXdTdHlsZSwgIkNvdWxkIG5vdCBkaXNhYmxlIHN0eWxlIGluIHJlZGlyZWN0
ZWQgY3NzLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0K
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVz
dHMgdGhhdCBzdHlsZXMgaW4gcmVkaXJlY3RlZCBjc3MgYXJlIGVkaXRhYmxlLjwvcD4KLTxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYzMSI+QnVnIDY4
NjMxPC9hPgotCi08ZGl2IGlkPSJ0ZXN0X2RpdiI+dGVzdDwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0
cy9zdHlsZXMveHNsLXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxlcy94c2wtdHJhbnNmb3JtZWQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTQxNTUzNzM5YTgwM2U2MWM0N2Rm
YThkYzkwNzRkNjQ0ZjQ1ZjJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxl
cy94c2wtdHJhbnNmb3JtZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAs
MCBAQAotVGVzdHMgdGhhdCBYU0wtdHJhbnNmb3JtZWQgZG9jdW1lbnRzIGluIHRoZSBtYWluIGZy
YW1lIGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gdGhlIEVsZW1lbnRzIHBhbmVsLiBCdWcgMTEx
MzEzCi0KLU9uZVR3b1RocmVlCi1QYWdlIHJlbG9hZGVkLgotLSA8aHRtbD4KLSAgICAtIDxoZWFk
PgotICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4
dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KLSAgICAgICAgICA8c2NyaXB0IHNyYz0iLi4vaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9lbGVtZW50
cy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
LXRlc3QuanMiPjwvc2NyaXB0PgotICAgICAgICAtIDxzY3JpcHQ+Ci0gICAgICAgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKVxuICAgICAgICB7XG4gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbG9h
ZFBhZ2Uoc3RlcDEpO1xuXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpXG4gICAgICAgICAg
ICB7XG4gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclJlc291cmNlc0FyZUZp
bmlzaGVkKFsieHNsLXRyYW5zZm9ybWVkLnhzbCJdLCBJbnNwZWN0b3JUZXN0LmV4cGFuZEVsZW1l
bnRzVHJlZS5iaW5kKEluc3BlY3RvclRlc3QsIHN0ZXAyKSk7XG4gICAgICAgICAgICB9XG5cbiAg
ICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAyKClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUoKTtcbiAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4KLSAg
ICAgICAgICA8L3NjcmlwdD4KLSAgICAgIDwvaGVhZD4KLSAgICAtIDxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLSAgICAgICAgLSA8cD4KLSAgICAgICAgICAgICAgIlRlc3RzIHRoYXQgWFNMLXRy
YW5zZm9ybWVkIGRvY3VtZW50cyBpbiB0aGUgbWFpbiBmcmFtZSBhcmUgcmVuZGVyZWQgY29ycmVj
dGx5IGluIHRoZSBFbGVtZW50cyBwYW5lbC4gIgotICAgICAgICAgICAgICA8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMzEzIj5CdWcgMTExMzEzPC9h
PgotICAgICAgICAgIDwvcD4KLSAgICAgICAgICA8c3Bhbj5PbmU8L3NwYW4+Ci0gICAgICAgICAg
PHNwYW4+VHdvPC9zcGFuPgotICAgICAgICAgIDxzcGFuPlRocmVlPC9zcGFuPgotICAgICAgICAt
IDxkaXY+Ci0gICAgICAgICAgICAtIDxkaXY+Ci0gICAgICAgICAgICAgICAgLSA8ZGl2IGNsYXNz
PSJvdXRwdXQiIGlkPSJvdXRwdXQiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyI+Ci0gICAgICAg
ICAgICAgICAgICAgICAgIlBhZ2UgcmVsb2FkZWQuIgotICAgICAgICAgICAgICAgICAgICAgIDxi
cj4KLSAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgICA8L2Rpdj4KLSAgICAgIDwvYm9keT4KLSAgPC9odG1sPgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXMveHNsLXRyYW5zZm9y
bWVkLnhtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3N0eWxl
cy94c2wtdHJhbnNmb3JtZWQueG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMzQ1
YzM4OWYzNTIxOGZiMTljY2ZkYzI0NjE5ZDA4NjQwMTIxMmE3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9odHRwLXRlc3RzL3N0eWxlcy94c2wtdHJhbnNmb3JtZWQueG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNiArMCwwIEBACi08P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJyZXNv
dXJjZXMveHNsLXRyYW5zZm9ybWVkLnhzbCI/PgotPGl0ZW1zPgotICA8aXRlbT5PbmU8L2l0ZW0+
Ci0gIDxpdGVtPlR3bzwvaXRlbT4KLSAgPGl0ZW0+VGhyZWU8L2l0ZW0+Ci08L2l0ZW1zPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVz
aGVldC1zb3VyY2UtbWFwcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXNoZWV0LXNvdXJjZS1tYXBwaW5nLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk4ZGY5Y2I3MjM0OWNjODk0ZmViNTRl
NGYxZDQ4MmM5NjFmYzE4MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHlsZXNo
ZWV0LXNvdXJjZS1tYXBwaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotVGVzdHMgU291cmNlTWFwIGFuZCBTdHlsZVNoZWV0TWFwcGluZy4KLQotUEFTUwotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy9zdHls
ZXNoZWV0LXNvdXJjZS1tYXBwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvaHR0cC10ZXN0cy9zdHlsZXNoZWV0LXNvdXJjZS1tYXBwaW5nLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDYwNDQ0ZjJkODJiYTAwN2VlNmViMjQ5NGFiNzU1NmJhZjBmMjFh
ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvc3R5bGVzaGVldC1zb3VyY2UtbWFw
cGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
ZGVidWdnZXItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0id29ya3NwYWNlLXRlc3Qu
anMiPjwvc2NyaXB0PgotCi08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNw
ZWN0b3JUZXN0LmNyZWF0ZVdvcmtzcGFjZSgpOwotICAgIHZhciBjc3NNb2RlbCA9IG5ldyBXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVNb2RlbChJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UpOwotICAg
IHZhciBtYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFwcGluZyhjc3NNb2Rl
bCwgSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLCBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3Jr
V29ya3NwYWNlUHJvdmlkZXIpOwotICAgIHZhciBzdHlsZXNTb3VyY2VNYXBwaW5nID0gbmV3IFdl
Ykluc3BlY3Rvci5TdHlsZXNTb3VyY2VNYXBwaW5nKGNzc01vZGVsLCBJbnNwZWN0b3JUZXN0LnRl
c3RXb3Jrc3BhY2UpOwotCi0gICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yV29ya3NwYWNlVUlTb3Vy
Y2VDb2RlQWRkZWRFdmVudChjc3NVSVNvdXJjZUNvZGVBZGRlZCk7Ci0gICAgSW5zcGVjdG9yVGVz
dC5hZGRNb2NrVUlTb3VyY2VDb2RlVG9Xb3Jrc3BhY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2VzL2V4YW1wbGUuY3NzIiwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlw
ZXMuU3R5bGVzaGVldCwgIiIpOwotICAgIHZhciBldmVudCA9IHsgZGF0YTogY3JlYXRlTW9ja1N0
eWxlU2hlZXRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMvZXhhbXBsZS5jc3MiLCAidGV4dC9jc3MiLAotICAgICAgICAiLyogQ29tbWVudCAqL1xuIiAr
Ci0gICAgICAgICJhIHtcbiIgKwotICAgICAgICAiICBmb286IGJhcjtcbiIgKwotICAgICAgICAi
ICAvKiBTT01FIENPTU1FTlQgKi9cbiIgKwotICAgICAgICAiICBmb250LXNpemU6IDEycHg7IH1c
blxuIiArCi0gICAgICAgICIvKiMgc291cmNlTWFwcGluZ1VSTD1leGFtcGxlLmNzcy5tYXAgKi8i
KSB9OwotICAgIHN0eWxlc1NvdXJjZU1hcHBpbmcuX3Jlc291cmNlQWRkZWQoZXZlbnQpOwotICAg
IG1hcHBpbmcuX3Jlc291cmNlQWRkZWQoZXZlbnQpOwotICAgIGFmdGVyU3R5bGVTaGVldEFkZGVk
KCk7Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVNb2NrU3R5bGVTaGVldFJlc291cmNlKHVybCwgbWlt
ZVR5cGUsIGNvbnRlbnQpCi0gICAgewotICAgICAgICBjb25zdCBkb2N1bWVudFVSTCA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3N0eWxlc2hlZXQtc291cmNlLW1hcHBpbmcuaHRt
bCI7Ci0gICAgICAgIGNvbnN0IGZyYW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVs
Lm1haW5GcmFtZTsKLSAgICAgICAgdmFyIHJlc291cmNlID0gbmV3IFdlYkluc3BlY3Rvci5SZXNv
dXJjZShudWxsLCB1cmwsIGRvY3VtZW50VVJMLCBmcmFtZS5pZCwgZnJhbWUubG9hZGVySWQsIFdl
Ykluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQsIG1pbWVUeXBlKTsKLSAgICAgICAg
cmVzb3VyY2UucmVxdWVzdENvbnRlbnQgPSBmdW5jdGlvbihjYWxsYmFjaykKLSAgICAgICAgewot
ICAgICAgICAgICAgY2FsbGJhY2soY29udGVudCwgZmFsc2UsIG1pbWVUeXBlKTsKLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gcmVzb3VyY2U7Ci0gICAgfQotCi0KLSAgICBmdW5jdGlvbiBjc3NV
SVNvdXJjZUNvZGVBZGRlZCh1aVNvdXJjZUNvZGUpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JU
ZXN0LndhaXRGb3JXb3Jrc3BhY2VVSVNvdXJjZUNvZGVBZGRlZEV2ZW50KHNjc3NVSVNvdXJjZUNv
ZGVBZGRlZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc2Nzc1VJU291cmNlQ29kZUFkZGVkKHVp
U291cmNlQ29kZSkKLSAgICB7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcmF3TG9jYXRpb25Ub1VJ
TG9jYXRpb24obGluZSwgY29sdW1uLCB1cmwpCi0gICAgewotICAgICAgICByZXR1cm4gY3NzTW9k
ZWwucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24obmV3IFdlYkluc3BlY3Rvci5DU1NMb2NhdGlvbigi
aHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvZXhhbXBsZS5jc3MiLCBs
aW5lLCBjb2x1bW4pKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZnRlclN0eWxlU2hlZXRBZGRl
ZCgpCi0gICAgewotICAgICAgICB2YXIgY3NzVUlTb3VyY2VDb2RlID0gSW5zcGVjdG9yVGVzdC50
ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgiaHR0cDovL2xvY2FsaG9zdDo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvZXhhbXBsZS5jc3MiKTsKLSAgICAgICAgdmFyIHNjc3NV
SVNvdXJjZUNvZGUgPSBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9y
T3JpZ2luVVJMKCJodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9leGFt
cGxlLnNjc3MiKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihjc3NV
SVNvdXJjZUNvZGUsIDAsIDMsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDAsIDMpKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwgMSwgMCwg
cmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oMSwgMCkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNo
ZWNrVUlMb2NhdGlvbihzY3NzVUlTb3VyY2VDb2RlLCAyLCAyLCByYXdMb2NhdGlvblRvVUlMb2Nh
dGlvbigyLCA0KSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NV
SVNvdXJjZUNvZGUsIDIsIDUsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDIsIDYpKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwgMiwgNywg
cmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oMiwgOSkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNo
ZWNrVUlMb2NhdGlvbihzY3NzVUlTb3VyY2VDb2RlLCAyLCAxMCwgcmF3TG9jYXRpb25Ub1VJTG9j
YXRpb24oMywgNykpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihzY3Nz
VUlTb3VyY2VDb2RlLCA0LCAyLCByYXdMb2NhdGlvblRvVUlMb2NhdGlvbig0LCA4KSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuY2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDQsIDIs
IHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDQsIDEwKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
Y2hlY2tVSUxvY2F0aW9uKHNjc3NVSVNvdXJjZUNvZGUsIDQsIDExLCByYXdMb2NhdGlvblRvVUlM
b2NhdGlvbig0LCAxMSkpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbihz
Y3NzVUlTb3VyY2VDb2RlLCA0LCAxMywgcmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oNCwgMTUpKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja1VJTG9jYXRpb24oc2Nzc1VJU291cmNlQ29kZSwg
NCwgMTcsIHJhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKDQsIDIwKSk7Ci0gICAgICAgIHNjc3NVSVNv
dXJjZUNvZGUucmVxdWVzdENvbnRlbnQoZGlkUmVxdWVzdENvbnRlbnQpOwotCi0gICAgICAgIGZ1
bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50KGNvbnRlbnQsIGNvbnRlbnRFbmNvZGVkLCBtaW1lVHlw
ZSkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwg
Y29udGVudC5pbmRleE9mKCIvKiBDb21tZW50ICovIikpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIlBBU1MiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotCi08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIFNvdXJjZU1hcCBhbmQgU3R5bGVT
aGVldE1hcHBpbmcuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvdGltZWxpbmUtdGVzdC5qcyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3RpbWVsaW5lLXRlc3QuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwZjNmYmFmMzkxZjEzNDMxYmEyY2Q3YzNkNzQ2
ODhjYThlMzc1YzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvdGltZWxpbmUtdGVz
dC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIzNyArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9UaW1l
bGluZSA9IGZ1bmN0aW9uKCkgewotCi0vLyBTY3J1YiB2YWx1ZXMgd2hlbiBwcmludGluZyBvdXQg
dGhlc2UgcHJvcGVydGllcyBpbiB0aGUgcmVjb3JkIG9yIGRhdGEgZmllbGQuCi1JbnNwZWN0b3JU
ZXN0LnRpbWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJzID0gewotICAgIGNoaWxkcmVuOiAiZm9ybWF0
QXNUeXBlTmFtZSIsCi0gICAgZW5kVGltZTogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHJlcXVl
c3RJZDogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHN0YXJ0VGltZTogImZvcm1hdEFzVHlwZU5h
bWUiLAotICAgIHN0YWNrVHJhY2U6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICB1cmw6ICJmb3Jt
YXRBc1R5cGVOYW1lIiwKLSAgICBzY3JpcHROYW1lOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAg
dXNlZEhlYXBTaXplOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgdXNlZEhlYXBTaXplRGVsdGE6
ICJza2lwIiwKLSAgICBtaW1lVHlwZTogImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIGlkOiAiZm9y
bWF0QXNUeXBlTmFtZSIsCi0gICAgY291bnRlcnM6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICB0
aW1lcklkOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgc2NyaXB0TGluZTogImZvcm1hdEFzVHlw
ZU5hbWUiLAotICAgIGxpbmVOdW1iZXI6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLSAgICBmcmFtZUlk
OiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgZW5jb2RlZERhdGFMZW5ndGg6ICJmb3JtYXRBc1R5
cGVOYW1lIiwKLSAgICBpZGVudGlmaWVyOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgY2xpcDog
ImZvcm1hdEFzVHlwZU5hbWUiLAotICAgIHJvb3Q6ICJmb3JtYXRBc1R5cGVOYW1lIiwKLX07Ci0K
LUluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZSA9IGZ1bmN0aW9uKGNhbGxiYWNrKQotewotICAg
IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3JkcyA9IFtdOwotICAgIFdlYkluc3BlY3Rvci5w
YW5lbCgidGltZWxpbmUiKS50b2dnbGVUaW1lbGluZUJ1dHRvbi50b2dnbGVkID0gdHJ1ZTsKLSAg
ICBXZWJJbnNwZWN0b3IucGFuZWwoInRpbWVsaW5lIikuX21vZGVsLl9jb2xsZWN0aW9uRW5hYmxl
ZCA9IHRydWU7Ci0gICAgVGltZWxpbmVBZ2VudC5zdGFydCg1LCB0cnVlLCBmYWxzZSwgY2FsbGJh
Y2spOwotICAgIGZ1bmN0aW9uIGFkZFJlY29yZChyZWNvcmQpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMucHVzaChyZWNvcmQpOwotICAgICAgICBmb3IgKHZh
ciBpID0gMDsgcmVjb3JkLmNoaWxkcmVuICYmIGkgPCByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoOyAr
K2kpCi0gICAgICAgICAgICBhZGRSZWNvcmQocmVjb3JkLmNoaWxkcmVuW2ldKTsKLSAgICB9Ci0g
ICAgSW5zcGVjdG9yVGVzdC5fYWRkVGltZWxpbmVFdmVudCA9IGZ1bmN0aW9uKGV2ZW50KQotICAg
IHsKLSAgICAgICAgYWRkUmVjb3JkKGV2ZW50LmRhdGEpOwotICAgIH0KLSAgICBXZWJJbnNwZWN0
b3IudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
TWFuYWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgSW5zcGVjdG9yVGVzdC5f
YWRkVGltZWxpbmVFdmVudCk7Ci19OwotCi0KLUluc3BlY3RvclRlc3Qud2FpdEZvclJlY29yZFR5
cGUgPSBmdW5jdGlvbihyZWNvcmRUeXBlLCBjYWxsYmFjaykKLXsKLSAgICBXZWJJbnNwZWN0b3Iu
dGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFu
YWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgYWRkRXZlbnQpOwotCi0gICAg
ZnVuY3Rpb24gYWRkRXZlbnQoZXZlbnQpCi0gICAgewotICAgICAgICBhZGRSZWNvcmQoZXZlbnQu
ZGF0YSk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIGFkZFJlY29yZChyZWNvcmQpCi0gICAgewotICAg
ICAgICBpZiAocmVjb3JkLnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGVbcmVjb3JkVHlwZV0pIHsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQu
Y2hpbGRyZW4gJiYgaSA8IHJlY29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKLSAgICAgICAgICAg
ICAgICBhZGRSZWNvcmQocmVjb3JkLmNoaWxkcmVuW2ldKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVs
aW5lRXZlbnRSZWNvcmRlZCwgYWRkRXZlbnQpOwotICAgICAgICBjYWxsYmFjayhyZWNvcmQpOwot
ICAgIH0KLX0KLQotSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUgPSBmdW5jdGlvbihjYWxsYmFj
aykKLXsKLSAgICBmdW5jdGlvbiBkaWRTdG9wKCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rv
ci50aW1lbGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxp
bmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJlY29yZGVkLCBJbnNwZWN0b3JUZXN0
Ll9hZGRUaW1lbGluZUV2ZW50KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVsKCJ0aW1lbGlu
ZSIpLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKLSAgICAgICAgV2ViSW5z
cGVjdG9yLnBhbmVsKCJ0aW1lbGluZSIpLl9tb2RlbC5fY29sbGVjdGlvbkVuYWJsZWQgPSBmYWxz
ZTsKLSAgICAgICAgY2FsbGJhY2soSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzKTsKLSAg
ICB9Ci0gICAgVGltZWxpbmVBZ2VudC5zdG9wKGRpZFN0b3ApOwotfTsKLQotSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZVdpdGhUaW1lbGluZSA9IGZ1bmN0aW9uKGFjdGlvbnMsIGRvbmVDYWxsYmFjaykK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOwotICAgIGZ1bmN0aW9u
IHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYWN0
aW9ucywgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5lKGRvbmVDYWxsYmFjayk7Ci0gICAgfQotCi19
Ci0KLUluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCA9IGZ1bmN0aW9uKGFjdGlv
bnMsIHR5cGVOYW1lLCBpbmNsdWRlVGltZVN0YW1wcykKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFj
aygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKHR5
cGVOYW1lKTsKLSAgICAgICAgaWYgKGluY2x1ZGVUaW1lU3RhbXBzKSB7Ci0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGltZXN0YW1wIHJlY29yZHM6ICIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVzdGFtcFJlY29yZHModHlwZU5hbWUpOwotICAgICAg
ICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVXaXRoVGltZWxpbmUoYWN0aW9ucywgY2FsbGJhY2spCi19Owot
Ci1JbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzID0gZnVuY3Rpb24odHlwZU5hbWUs
IGZvcm1hdHRlcikKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmlubmVyUHJpbnRUaW1lbGluZVJlY29y
ZHMoSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVSZWNvcmRzLCB0eXBlTmFtZSwgZm9ybWF0dGVyKTsK
LX07Ci0KLUluc3BlY3RvclRlc3QucHJpbnRUaW1lc3RhbXBSZWNvcmRzID0gZnVuY3Rpb24odHlw
ZU5hbWUsIGZvcm1hdHRlcikKLXsKLSAgICBJbnNwZWN0b3JUZXN0LmlubmVyUHJpbnRUaW1lbGlu
ZVJlY29yZHMoV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fcHJlc2VudGF0aW9uTW9kZWwu
ZXZlbnREaXZpZGVyUmVjb3JkcygpLnNlbGVjdCgiX3JlY29yZCIpLCB0eXBlTmFtZSwgZm9ybWF0
dGVyKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuaW5uZXJQcmludFRpbWVsaW5lUmVjb3JkcyA9IGZ1
bmN0aW9uKHJlY29yZHMsIHR5cGVOYW1lLCBmb3JtYXR0ZXIpCi17Ci0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCByZWNvcmRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGlmICh0eXBlTmFtZSAmJiBy
ZWNvcmRzW2ldLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGVb
dHlwZU5hbWVdKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jk
UHJvcGVydGllcyhyZWNvcmRzW2ldKTsKLSAgICAgICAgaWYgKGZvcm1hdHRlcikKLSAgICAgICAg
ICAgIGZvcm1hdHRlcihyZWNvcmRzW2ldKTsKLSAgICB9Ci19OwotCi0vLyBEdW1wIGp1c3QgdGhl
IHJlY29yZCBuYW1lLCBpbmRlbnRpbmcgb3V0cHV0IG9uIHNlcGFyYXRlIGxpbmVzIGZvciBzdWJy
ZWNvcmRzCi1JbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29yZCA9IGZ1bmN0aW9uKHJlY29y
ZCwgbGV2ZWwpIAotewotICAgIGlmICh0eXBlb2YgbGV2ZWwgIT09ICJudW1iZXIiKQotICAgICAg
ICBsZXZlbCA9IDA7Ci0gICAgdmFyIHByZWZpeCA9ICIiOwotICAgIHZhciBzdWZmaXggPSAiIjsK
LSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxldmVsIDsgKytpKQotICAgICAgICBwcmVmaXggPSAi
LS0tLSIgKyBwcmVmaXg7Ci0gICAgaWYgKGxldmVsID4gMCkKLSAgICAgICAgcHJlZml4ID0gcHJl
Zml4ICsgIj4gIjsKLSAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLlJlY29yZFR5cGUuVGltZVN0YW1wKSB7Ci0gICAgICAgIHN1ZmZpeCA9ICIgOiAiICsg
cmVjb3JkLmRhdGEubWVzc2FnZTsKLSAgICB9Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
cHJlZml4ICsgSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVBZ2VudFR5cGVUb1N0cmluZyhyZWNvcmQu
dHlwZSkgKyBzdWZmaXgpOwotCi0gICAgdmFyIG51bUNoaWxkcmVuID0gcmVjb3JkLmNoaWxkcmVu
ID8gcmVjb3JkLmNoaWxkcmVuLmxlbmd0aCA6IDA7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
dW1DaGlsZHJlbjsgKytpKQotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29y
ZChyZWNvcmQuY2hpbGRyZW5baV0sIGxldmVsICsgMSk7Ci19OwotCi1JbnNwZWN0b3JUZXN0LmR1
bXBUaW1lbGluZVJlY29yZHMgPSBmdW5jdGlvbih0aW1lbGluZVJlY29yZHMpCi17Ci0gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB0aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkKHRpbWVsaW5lUmVjb3Jkc1tpXSwgMCk7Ci19
OwotCi1JbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzID0gZnVuY3Rp
b24ocmVjb3JkKQotewotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KEluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lQWdlbnRUeXBlVG9TdHJpbmcocmVjb3JkLnR5cGUpICsgIiBQcm9wZXJ0aWVzOiIp
OwotICAgIC8vIFVzZSB0aGlzIHJlY3Vyc2l2ZSByb3V0aW5lIHRvIHByaW50IHRoZSBwcm9wZXJ0
aWVzCi0gICAgSW5zcGVjdG9yVGVzdC5hZGRPYmplY3QocmVjb3JkLCBJbnNwZWN0b3JUZXN0LnRp
bWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJzKTsKLX07Ci0KLUluc3BlY3RvclRlc3QuX3RpbWVsaW5l
QWdlbnRUeXBlVG9TdHJpbmcgPSBmdW5jdGlvbihudW1lcmljVHlwZSkKLXsKLSAgICBmb3IgKHZh
ciBwcm9wIGluIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUpIHsKLSAgICAg
ICAgaWYgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGVbcHJvcF0gPT09IG51
bWVyaWNUeXBlKQotICAgICAgICAgICAgcmV0dXJuIHByb3A7Ci0gICAgfQotICAgIHJldHVybiB1
bmRlZmluZWQ7Ci19OwotCi1JbnNwZWN0b3JUZXN0LmZpbmRQcmVzZW50YXRpb25SZWNvcmQgPSBm
dW5jdGlvbih0eXBlKQotewotICAgIHZhciByZXN1bHQ7Ci0gICAgZnVuY3Rpb24gZmluZEJ5VHlw
ZShyZWNvcmQpCi0gICAgewotICAgICAgICBpZiAocmVjb3JkLnR5cGUgIT09IHR5cGUpCi0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJlc3VsdCA9IHJlY29yZDsKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHZhciByZWNvcmRzID0gV2ViSW5zcGVjdG9yLnBhbmVs
KCJ0aW1lbGluZSIpLl9yb290UmVjb3JkKCkuY2hpbGRyZW47Ci0gICAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuZm9yQWxsUmVjb3JkcyhyZWNvcmRzLCBmaW5kQnlUeXBl
KTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1JbnNwZWN0b3JUZXN0LkZha2VGaWxlUmVhZGVy
ID0gZnVuY3Rpb24oaW5wdXQsIGRlbGVnYXRlLCBjYWxsYmFjaykKLXsKLSAgICB0aGlzLl9kZWxl
Z2F0ZSA9IGRlbGVnYXRlOwotICAgIHRoaXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgdGhp
cy5faW5wdXQgPSBpbnB1dDsKLSAgICB0aGlzLl9sb2FkZWRTaXplID0gMDsKLSAgICB0aGlzLl9m
aWxlU2l6ZSA9IGlucHV0Lmxlbmd0aDsKLX07Ci0KLUluc3BlY3RvclRlc3QuRmFrZUZpbGVSZWFk
ZXIucHJvdG90eXBlID0gewotICAgIHN0YXJ0OiBmdW5jdGlvbihvdXRwdXQpCi0gICAgewotICAg
ICAgICB0aGlzLl9kZWxlZ2F0ZS5vblRyYW5zZmVyU3RhcnRlZCh0aGlzKTsKLQotICAgICAgICB2
YXIgbGVuZ3RoID0gdGhpcy5faW5wdXQubGVuZ3RoOwotICAgICAgICB2YXIgaGFsZiA9IChsZW5n
dGggKyAxKSA+PiAxOwotCi0gICAgICAgIHZhciBjaHVuayA9IHRoaXMuX2lucHV0LnN1YnN0cmlu
ZygwLCBoYWxmKTsKLSAgICAgICAgdGhpcy5fbG9hZGVkU2l6ZSArPSBjaHVuay5sZW5ndGg7Ci0g
ICAgICAgIG91dHB1dC53cml0ZShjaHVuayk7Ci0gICAgICAgIHRoaXMuX2RlbGVnYXRlLm9uQ2h1
bmtUcmFuc2ZlcnJlZCh0aGlzKTsKLQotICAgICAgICBjaHVuayA9IHRoaXMuX2lucHV0LnN1YnN0
cmluZyhoYWxmKTsKLSAgICAgICAgdGhpcy5fbG9hZGVkU2l6ZSArPSBjaHVuay5sZW5ndGg7Ci0g
ICAgICAgIG91dHB1dC53cml0ZShjaHVuayk7Ci0gICAgICAgIHRoaXMuX2RlbGVnYXRlLm9uQ2h1
bmtUcmFuc2ZlcnJlZCh0aGlzKTsKLQotICAgICAgICBvdXRwdXQuY2xvc2UoKTsKLSAgICAgICAg
dGhpcy5fZGVsZWdhdGUub25UcmFuc2ZlckZpbmlzaGVkKHRoaXMpOwotCi0gICAgICAgIHRoaXMu
X2NhbGxiYWNrKCk7Ci0gICAgfSwKLQotICAgIGNhbmNlbDogZnVuY3Rpb24oKSB7IH0sCi0KLSAg
ICBsb2FkZWRTaXplOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbG9h
ZGVkU2l6ZTsKLSAgICB9LAotCi0gICAgZmlsZVNpemU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9maWxlU2l6ZTsKLSAgICB9LAotCi0gICAgZmlsZU5hbWU6IGZ1bmN0
aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiAiZmFrZUZpbGUiOwotICAgIH0KLX07Ci0KLX07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93
ZWItc29ja2V0LWZyYW1lLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYi1zb2NrZXQtZnJhbWUtZXJyb3ItZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTMzZmEyN2U2YTJmNDlkMDczYjk1YmE5
MzNlOTE3Y2RhNGE0ZWViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYi1zb2Nr
ZXQtZnJhbWUtZXJyb3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IFdlYlNvY2tldCBjb25uZWN0aW9uIHRvICd3czovL2xvY2FsaG9z
dDo4MDAwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RvZXNfbm90X2V4aXN0JyBmYWlsZWQ6IFVuZXhw
ZWN0ZWQgcmVzcG9uc2UgY29kZTogNDA0Ci1DbG9zZWQuCi1UZXN0cyB0aGF0IFdlYlNvY2tldEZy
YW1lcyBlcnJvcnMgYXJlIHZpc2libGUgdG8gV2ViIEluc3BlY3Rvci4KLQotMTogVW5leHBlY3Rl
ZCByZXNwb25zZSBjb2RlOiA0MDQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL2h0dHAtdGVzdHMvd2ViLXNvY2tldC1mcmFtZS1lcnJvci5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2ViLXNvY2tldC1mcmFtZS1lcnJv
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjhiZGIyMjNhZjg3Y2NkNDE3
MjcwMmU0OTNmZmViMTg3ZTExMDk2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dl
Yi1zb2NrZXQtZnJhbWUtZXJyb3IuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgd3M7Ci1mdW5jdGlvbiBzZW5kTWVzc2FnZXMo
KSB7Ci0gICAgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4MDAwL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2RvZXNfbm90X2V4aXN0Iik7Ci0gICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9u
KCkKLSAgICB7Ci0gICAgICAgIGRlYnVnKCJDbG9zZWQuIik7Ci0gICAgfTsKLX0KLQotZnVuY3Rp
b24gdGVzdCgpIHsKLSAgICBmdW5jdGlvbiBvblJlcXVlc3QoZXZlbnQpCi0gICAgewotICAgICAg
ICB2YXIgcmVxdWVzdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmIChyZXF1ZXN0Ll90eXBlLl9u
YW1lID09PSAid2Vic29ja2V0IikgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBy
ZXF1ZXN0LmZyYW1lcygpLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGZyYW1l
ID0gcmVxdWVzdC5mcmFtZShpKTsKLSAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LnNwcmludGYoIiVkOiAlcyIsIChpICsgMSksIGZyYW1lLmVycm9yTWVzc2FnZSk7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzdWx0KTsKLSAgICAgICAgICAgICAg
ICBpZiAoZnJhbWUuZXJyb3JNZXNzYWdlKQotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAg
IFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlcXVlc3RVcGRhdGVkLCBvblJlcXVlc3QpOwot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNlbmRNZXNzYWdlcygpIik7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRo
YXQgV2ViU29ja2V0RnJhbWVzIGVycm9ycyBhcmUgdmlzaWJsZSB0byBXZWIgSW5zcGVjdG9yLjwv
cD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC90aW1lbGluZS13ZWJzb2NrZXQtZXZlbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2Vi
c29ja2V0L3RpbWVsaW5lLXdlYnNvY2tldC1ldmVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDlmNGYwZDkyNGQ1ZDM3ZGQ4MDBiYmMxNjY3YTMzNjFkZWQxZmYw
MTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2Vic29ja2V0L3RpbWVsaW5lLXdl
YnNvY2tldC1ldmVudC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBA
Ci1UZXN0cyB0aGUgVGltZWxpbmUgZXZlbnRzIGZvciBXZWJTb2NrZXQKLQotV2ViU29ja2V0Q3Jl
YXRlIFByb3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7
Ci0gICAgICAgIGlkZW50aWZpZXIgOiA8bnVtYmVyPgotICAgICAgICB1cmwgOiA8c3RyaW5nPgot
ICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4K
LSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiV2ViU29ja2V0Q3JlYXRlIgot
ICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1XZWJTb2NrZXRTZW5kSGFuZHNoYWtlUmVx
dWVzdCBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDog
ewotICAgICAgICBpZGVudGlmaWVyIDogPG51bWJlcj4KLSAgICB9Ci0gICAgZnJhbWVJZCA6IDxz
dHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIldlYlNvY2tldFNl
bmRIYW5kc2hha2VSZXF1ZXN0IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1XZWJT
b2NrZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2UgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVy
cyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaWRlbnRpZmllciA6IDxudW1iZXI+
Ci0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+
Ci0gICAgdHlwZSA6ICJXZWJTb2NrZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2UiCi0gICAgdXNl
ZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVdlYlNvY2tldERlc3Ryb3kgUHJvcGVydGllczoKLXsK
LSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaWRlbnRpZmll
ciA6IDxudW1iZXI+Ci0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGlt
ZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJXZWJTb2NrZXREZXN0cm95IgotICAgIHVzZWRIZWFw
U2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC90aW1lbGluZS13ZWJzb2NrZXQtZXZlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC90
aW1lbGluZS13ZWJzb2NrZXQtZXZlbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNDQ3NzYwYWQ0NDA1YzRkOGYyOTRiYzgxNjRmNTAzZjJlYzM2YTQzNi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQvdGltZWxpbmUtd2Vic29ja2V0LWV2ZW50Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi90
aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBlcmZvcm1B
Y3Rpb25zKCkKLXsKLSAgICB2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4
ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZSIpOwotCi0gICAgdGVzdFJ1bm5lci5kaXNw
bGF5KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnRU
aW1lbGluZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgicGVyZm9ybUFjdGlvbnMoKSIpOwotICAgIH0pOwotCi0gICAgSW5zcGVjdG9yVGVzdC53YWl0
Rm9yUmVjb3JkVHlwZSgiV2ViU29ja2V0RGVzdHJveSIsIGZpbmlzaCk7Ci0KLSAgICBmdW5jdGlv
biBmaW5pc2goKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVj
b3JkcygiV2ViU29ja2V0Q3JlYXRlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1l
bGluZVJlY29yZHMoIldlYlNvY2tldFNlbmRIYW5kc2hha2VSZXF1ZXN0Iik7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIldlYlNvY2tldFJlY2VpdmVIYW5kc2hh
a2VSZXNwb25zZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRz
KCJXZWJTb2NrZXREZXN0cm95Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotCi1pZiAoIXdpbmRvdy50ZXN0UnVubmVyKQotICAgIHNldFRpbWVvdXQo
cGVyZm9ybUFjdGlvbnMsIDIwMDApOwotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgZXZlbnRzIGZvciBXZWJT
b2NrZXQKLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd2Vic29ja2V0L3dlYi1zb2NrZXQtZnJhbWUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMv
d2Vic29ja2V0L3dlYi1zb2NrZXQtZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlZjRhNWM4MDIwOWNlZmZhZTQ0ZDQzNTA2ODY0MGRhYTk2MTVhZTBjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNvY2tldC93ZWItc29ja2V0LWZyYW1l
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNvbm5lY3RlZC4K
LVRlc3RzIHRoYXQgV2ViU29ja2V0RnJhbWVzIGFyZSBiZWluZyBzZW50IGFuZCByZWNpZXZlZCBi
eSBXZWIgSW5zcGVjdG9yLgotCi0xLSBzZW50OiB0ZXN0Ci0xLSBzZW50OiB0ZXN0Ci0yLSBzZW50
OiBleGl0Ci0xLSBzZW50OiB0ZXN0Ci0yLSBzZW50OiBleGl0Ci0zLSByZWNlaXZlZDogdGVzdAot
MS0gc2VudDogdGVzdAotMi0gc2VudDogZXhpdAotMy0gcmVjZWl2ZWQ6IHRlc3QKLTQtIHJlY2Vp
dmVkOiBleGl0Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9o
dHRwLXRlc3RzL3dlYnNvY2tldC93ZWItc29ja2V0LWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvaHR0cC10ZXN0cy93ZWJzb2NrZXQvd2ViLXNvY2tldC1mcmFtZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjcwODU1Mjg1NmJhY2M4NjVlMDQy
MjRhYWZmY2I1NDM5MjFkMDY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dlYnNv
Y2tldC93ZWItc29ja2V0LWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIHdzOwotZnVuY3Rpb24gc2VuZE1l
c3NhZ2VzKCkgewotICAgIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93
ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvIik7Ci0gICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKQot
ICAgIHsKLSAgICAgICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKLSAgICAgICAgd3Muc2VuZCgidGVz
dCIpOwotICAgICAgICB3cy5zZW5kKCJleGl0Iik7Ci0gICAgfTsKLX0KLQotZnVuY3Rpb24gdGVz
dCgpIHsKLSAgICBmdW5jdGlvbiBvblJlcXVlc3QoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIg
cmVxdWVzdCA9IGV2ZW50LmRhdGE7Ci0gICAgICAgIGlmIChyZXF1ZXN0Ll90eXBlLl9uYW1lID09
PSAid2Vic29ja2V0IikgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXF1ZXN0
LmZyYW1lcygpLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGZyYW1lID0gcmVx
dWVzdC5mcmFtZShpKTsKLSAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnNwcmlu
dGYoIiVkLSVzOiAlcyIsIChpICsgMSksIGZyYW1lLnNlbnQgPyAiIHNlbnQiIDogIiByZWNlaXZl
ZCIsIGZyYW1lLnBheWxvYWREYXRhKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChyZXN1bHQpOwotICAgICAgICAgICAgICAgIGlmICghZnJhbWUuc2VudCAmJiBmcmFt
ZS5wYXlsb2FkRGF0YSA9PT0gImV4aXQiKQotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAg
IFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlcXVlc3RVcGRhdGVkLCBvblJlcXVlc3QpOwot
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInNlbmRNZXNzYWdlcygpIik7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPlRlc3RzIHRo
YXQgV2ViU29ja2V0RnJhbWVzIGFyZSBiZWluZyBzZW50IGFuZCByZWNpZXZlZCBieSBXZWIgSW5z
cGVjdG9yLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9odHRwLXRlc3RzL3dvcmtzcGFjZS10ZXN0LmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd29ya3NwYWNlLXRlc3QuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2YWNmNGRmNGFlMzNiYTQzYTQwM2RlYWY5OTZmNWYx
ZGI2YjkxMTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2h0dHAtdGVzdHMvd29ya3NwYWNlLXRlc3Qu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi12YXIgaW5pdGlhbGl6ZV9Xb3Jrc3Bh
Y2VUZXN0ID0gZnVuY3Rpb24oKSB7Ci0KLUluc3BlY3RvclRlc3QuY3JlYXRlV29ya3NwYWNlID0g
ZnVuY3Rpb24oaWdub3JlRXZlbnRzKQotewotICAgIEluc3BlY3RvclRlc3QudGVzdEZpbGVNYXBw
aW5nID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlTWFwcGluZygpOwotICAgIEluc3BlY3RvclRlc3Qu
dGVzdEZpbGVTeXN0ZW1NYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGlu
Z0ltcGwoKTsKLSAgICBJbnNwZWN0b3JUZXN0LnRlc3RGaWxlU3lzdGVtTWFwcGluZy5fZmlsZVN5
c3RlbU1hcHBpbmdTZXR0aW5nID0gbmV3IEluc3BlY3RvclRlc3QuTW9ja1NldHRpbmcoe30pOwot
Ci0gICAgSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlID0gbmV3IFdlYkluc3BlY3Rvci5Xb3Jr
c3BhY2UoSW5zcGVjdG9yVGVzdC50ZXN0RmlsZU1hcHBpbmcsIEluc3BlY3RvclRlc3QudGVzdEZp
bGVTeXN0ZW1NYXBwaW5nKTsKLSAgICBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3JrV29ya3NwYWNl
UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyKEluc3Bl
Y3RvclRlc3QudGVzdFdvcmtzcGFjZSwgV2ViSW5zcGVjdG9yLnByb2plY3RUeXBlcy5OZXR3b3Jr
KTsKLSAgICBpZiAoaWdub3JlRXZlbnRzKQotICAgICAgICByZXR1cm47Ci0gICAgSW5zcGVjdG9y
VGVzdC50ZXN0V29ya3NwYWNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNl
Q29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVBZGRlZCwgSW5zcGVjdG9yVGVzdC5fZGVm
YXVsdFVJU291cmNlQ29kZVByb3ZpZGVyRXZlbnRIYW5kbGVyKTsKLSAgICBJbnNwZWN0b3JUZXN0
LnRlc3RXb3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2Rl
UHJvdmlkZXIuRXZlbnRzLlVJU291cmNlQ29kZVJlbW92ZWQsIEluc3BlY3RvclRlc3QuX2RlZmF1
bHRVSVNvdXJjZUNvZGVQcm92aWRlckV2ZW50SGFuZGxlcik7Ci19Ci0KLUluc3BlY3RvclRlc3Qu
d2FpdEZvcldvcmtzcGFjZVVJU291cmNlQ29kZUFkZGVkRXZlbnQgPSBmdW5jdGlvbihjYWxsYmFj
aywgY291bnQpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC51aVNvdXJjZUNvZGVBZGRlZEV2ZW50c0xl
ZnQgPSBjb3VudCB8fCAxOwotICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5yZW1vdmVF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlT
b3VyY2VDb2RlQWRkZWQsIEluc3BlY3RvclRlc3QuX2RlZmF1bHRVSVNvdXJjZUNvZGVQcm92aWRl
ckV2ZW50SGFuZGxlcik7Ci0gICAgSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJj
ZUNvZGVBZGRlZCwgdWlTb3VyY2VDb2RlQWRkZWQpOwotCi0gICAgZnVuY3Rpb24gdWlTb3VyY2VD
b2RlQWRkZWQoZXZlbnQpCi0gICAgewotICAgICAgICBpZiAoISgtLUluc3BlY3RvclRlc3QudWlT
b3VyY2VDb2RlQWRkZWRFdmVudHNMZWZ0KSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC50
ZXN0V29ya3NwYWNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29k
ZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVBZGRlZCwgdWlTb3VyY2VDb2RlQWRkZWQpOwot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVBZGRl
ZCwgSW5zcGVjdG9yVGVzdC5fZGVmYXVsdFVJU291cmNlQ29kZVByb3ZpZGVyRXZlbnRIYW5kbGVy
KTsKLSAgICAgICAgfQotICAgICAgICBjYWxsYmFjayhldmVudC5kYXRhKTsKLSAgICB9Ci19Ci0K
LUluc3BlY3RvclRlc3QuYWRkTW9ja1VJU291cmNlQ29kZVRvV29ya3NwYWNlID0gZnVuY3Rpb24o
dXJsLCB0eXBlLCBjb250ZW50KQotewotICAgIHZhciBpc0RvY3VtZW50ID0gdHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQ7Ci0gICAgdmFyIG1vY2tDb250ZW50UHJv
dmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcih0eXBlLCBjb250
ZW50KTsKLSAgICBJbnNwZWN0b3JUZXN0LnRlc3ROZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuYWRk
RmlsZUZvclVSTCh1cmwsIG1vY2tDb250ZW50UHJvdmlkZXIsICFpc0RvY3VtZW50KTsKLX0KLQot
SW5zcGVjdG9yVGVzdC5fZGVmYXVsdFVJU291cmNlQ29kZVByb3ZpZGVyRXZlbnRIYW5kbGVyID0g
ZnVuY3Rpb24oZXZlbnQpCi17Ci0gICAgdmFyIHVpU291cmNlQ29kZSA9IGV2ZW50LmRhdGE7Ci0g
ICAgdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIFVJU291cmNlQ29kZVByb3ZpZGVyIGV2ZW50
OiAiICsgZXZlbnQudHlwZSArICI6ICIgKyB1aVNvdXJjZUNvZGUudXJpKCkgKyAiLiIpOwotfQot
Ci1JbnNwZWN0b3JUZXN0LmR1bXBVSVNvdXJjZUNvZGUgPSBmdW5jdGlvbih1aVNvdXJjZUNvZGUs
IGNhbGxiYWNrKQotewotICAgIHZhciB1cmwgPSB1aVNvdXJjZUNvZGUub3JpZ2luVVJMKCkucmVw
bGFjZSgvLipMYXlvdXRUZXN0cy8sICJMYXlvdXRUZXN0cyIpOwotICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJVSVNvdXJjZUNvZGU6ICIgKyB1cmwpOwotICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJVSVNvdXJjZUNvZGUgaXMgZWRpdGFibGU6ICIgKyB1aVNvdXJjZUNvZGUuaXNFZGl0
YWJsZSgpKTsKLSAgICBpZiAodWlTb3VyY2VDb2RlLmNvbnRlbnRUeXBlKCkgPT09IFdlYkluc3Bl
Y3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCB8fCB1aVNvdXJjZUNvZGUuY29udGVudFR5cGUoKSA9
PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQpCi0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJVSVNvdXJjZUNvZGUgaXMgY29udGVudCBzY3JpcHQ6ICIgKyAhIXVp
U291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQpOwotICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29u
dGVudChkaWRSZXF1ZXN0Q29udGVudCk7Ci0KLSAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVu
dChjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiTWltZSB0eXBlOiAiICsgbWltZVR5cGUpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlIGNvbnRlbnQ6ICIgKyBjb250ZW50
KTsKLSAgICAgICAgY2FsbGJhY2soKTsKLSAgICB9Ci19Ci0KLX07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRl
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaW5zcGVjdGVk
LW9iamVjdHMtbm90LW92ZXJyaWRlbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNhY2VkY2MxMDAyOWRlMzE2NzM5YmQ1ZTU4OTI4ODE2M2JhNzJhZjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL2luc3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4tZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBvcGVuaW5nIGlu
c3BlY3RvciBmcm9udC1lbmQgZG9lc24ndCBjaGFuZ2UgbWV0aG9kcyBkZWZpbmVkIGJ5IHRoZSBp
bnNwZWN0ZWQgYXBwbGljYXRpb24uCi0KLW15SW1wbCgpID0+IG15IHZhbHVlCi1PYmplY3QudHlw
ZSA9PT0gbXlJbXBsID0+IHRydWUKLU9iamVjdC5oYXNQcm9wZXJ0aWVzID09PSBteUltcGwgPT4g
dHJ1ZQotT2JqZWN0LmRlc2NyaWJlID09PSBteUltcGwgPT4gdHJ1ZQotT2JqZWN0LmNsYXNzTmFt
ZSA9PT0gbXlJbXBsID0+IHRydWUKLVN0cmluZy5wcm90b3R5cGUuZXNjYXBlQ2hhcmFjdGVycyA9
PT0gbXlJbXBsID0+IHRydWUKLUpTT04uc3RyaW5naWZ5ID09PSBteUltcGwgPT4gdHJ1ZQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvaW5zcGVjdGVkLW9iamVj
dHMtbm90LW92ZXJyaWRlbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL2lu
c3BlY3RlZC1vYmplY3RzLW5vdC1vdmVycmlkZW4uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYTY2ZDc2YTY3ZmZhNGZkNjUyNTU3MjA5ZjEyOTM0ZTZjZWI0MjA4MS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvaW5zcGVjdGVkLW9iamVjdHMtbm90LW92ZXJyaWRlbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0Mv
L0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0
bWw0L2xvb3NlLmR0ZCI+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIG15SW1wbCgpIHsKLSAgcmV0dXJuICJteSB2YWx1ZSI7Ci19Ci0KLS8vIFByb3ZpZGUg
c29tZSBjdXN0b20gbWV0aG9kcy4KLU9iamVjdC50eXBlID0gbXlJbXBsOwotT2JqZWN0Lmhhc1By
b3BlcnRpZXMgPSBteUltcGw7Ci1PYmplY3QuZGVzY3JpYmUgPSBteUltcGw7Ci1PYmplY3QuY2xh
c3NOYW1lID0gbXlJbXBsOwotU3RyaW5nLnByb3RvdHlwZS5lc2NhcGVDaGFyYWN0ZXJzID0gbXlJ
bXBsOwotSlNPTi5zdHJpbmdpZnkgPSBteUltcGw7Ci0KLWZ1bmN0aW9uIG91dHB1dCh0ZXh0KQot
ewotICAgIHZhciBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7Ci0g
ICAgb3V0cHV0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpKTsKLSAg
ICBvdXRwdXQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Ci19Ci0K
LWZ1bmN0aW9uIGR1bXBWYWx1ZXMoKQotewotICAgIC8vIENoZWNrIHRoYXQgdGhlIG1ldGhvZHMg
aGF2ZW4ndCBjaGFuZ2VkLgotICAgIG91dHB1dCgibXlJbXBsKCkgPT4gIiArIG15SW1wbCgpKTsK
LSAgICBvdXRwdXQoIk9iamVjdC50eXBlID09PSBteUltcGwgPT4gIiArIChPYmplY3QudHlwZSA9
PT0gbXlJbXBsKSk7Ci0gICAgb3V0cHV0KCJPYmplY3QuaGFzUHJvcGVydGllcyA9PT0gbXlJbXBs
ID0+ICIgKyAoT2JqZWN0Lmhhc1Byb3BlcnRpZXMgPT09IG15SW1wbCkpOwotICAgIG91dHB1dCgi
T2JqZWN0LmRlc2NyaWJlID09PSBteUltcGwgPT4gIiArIChPYmplY3QuZGVzY3JpYmUgPT09IG15
SW1wbCkpOwotICAgIG91dHB1dCgiT2JqZWN0LmNsYXNzTmFtZSA9PT0gbXlJbXBsID0+ICIgKyAo
T2JqZWN0LmNsYXNzTmFtZSA9PT0gbXlJbXBsKSk7Ci0gICAgb3V0cHV0KCJTdHJpbmcucHJvdG90
eXBlLmVzY2FwZUNoYXJhY3RlcnMgPT09IG15SW1wbCA9PiAiICsgKFN0cmluZy5wcm90b3R5cGUu
ZXNjYXBlQ2hhcmFjdGVycyA9PT0gbXlJbXBsKSk7Ci0gICAgb3V0cHV0KCJKU09OLnN0cmluZ2lm
eSA9PT0gbXlJbXBsID0+ICIgKyAoSlNPTi5zdHJpbmdpZnkgPT09IG15SW1wbCkpOwotfQotCi1m
dW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJkdW1wVmFsdWVzKCkiLCBjYWxsYmFjayk7Ci19Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IG9w
ZW5pbmcgaW5zcGVjdG9yIGZyb250LWVuZCBkb2Vzbid0IGNoYW5nZSBtZXRob2RzIGRlZmluZWQg
YnkgdGhlIGluc3BlY3RlZCBhcHBsaWNhdGlvbi4KLTwvcD4KLQotPGRpdiBpZD0ib3V0cHV0Ij48
L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL2xvYWQtcmVzb3VyY2Utc3luY2hyb25vdXNseS11dGY4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9sb2FkLXJlc291cmNlLXN5bmNocm9u
b3VzbHktdXRmOC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1
N2NhY2RmYTg4N2NjNTc4YWJhOTdmNDJlN2Q1MTM4Yzg1YmMyNjYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL2xvYWQtcmVzb3VyY2Utc3luY2hyb25vdXNseS11dGY4LWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
bG9hZFJlc291cmNlU3luY2hyb25vdXNseSgpIGNvcnJlY3RseSBsb2FkcyBub24tQVNDSUkgcmVz
b3VyY2VzLgotCi0nQVNDSUkgLSBUZXN0JyAoMTIpCi0nVVRGOCAtINCi0LXRgdGCJyAoMTEpCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9sb2FkLXJlc291cmNl
LXN5bmNocm9ub3VzbHktdXRmOC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L2xvYWQtcmVzb3VyY2Utc3luY2hyb25vdXNseS11dGY4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk5NzE2Nzg0ZmI5NTFlYTNiNmE3NTIzZWEwYThjNDE4ZjNjNTM3ODQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL2xvYWQtcmVzb3VyY2Utc3luY2hyb25vdXNseS11dGY4Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgYXNjaWlUZXh0ID0gSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoImRhdGE6dGV4dC9wbGFp
bjssQVNDSUkgLSBUZXN0Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiciICsgYXNj
aWlUZXh0ICsgIicgKCIgKyBhc2NpaVRleHQubGVuZ3RoICsgIikiKTsKLSAgICB2YXIgdXRmOFRl
eHQgPSBJbnNwZWN0b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseSgiZGF0
YTp0ZXh0L3BsYWluOywiICsgZW5jb2RlVVJJQ29tcG9uZW50KCJVVEY4IC0gXHUwNDIyXHUwNDM1
XHUwNDQxXHUwNDQyIikpOwotICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCInIiArIHV0ZjhU
ZXh0ICsgIicgKCIgKyB1dGY4VGV4dC5sZW5ndGggKyAiKSIpOwotICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLTxwPlRlc3RzIHRoYXQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoKSBjb3JyZWN0bHkgbG9hZHMgbm9uLUFTQ0lJIHJlc291cmNlcy48L3A+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLWFnZW50LWNyYXNoLW9uLXN0YXJ0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmls
ZXItYWdlbnQtY3Jhc2gtb24tc3RhcnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0ZjcwNTA1ZjA3MzQ1NTkxZDViYzNhNWM5ODExODQwOTRiYjZmODEwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItYWdlbnQtY3Jhc2gtb24tc3Rh
cnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1UZXN0IHRoYXQg
UHJvZmlsZXJBZ2VudCBzdGFydC9zdG9wIGRvZXNuJ3QgY3Jhc2guCi0KLVByb2ZpbGVyQWdlbnQg
c3RhcnRlZC4KLVByb2ZpbGVyQWdlbnQgc3RvcHBlZC4KLVByb2ZpbGVyQWdlbnQgY2xlYXJlZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2Nw
dS1wcm9maWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1hZ2VudC1jcmFzaC1vbi1zdGFydC5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjM2MmY5MzgwMTkyNDI3MGRiZGM2
Nzk1ZGFkZjE3MjFiMjJiNDM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJv
ZmlsZXItYWdlbnQtY3Jhc2gtb24tc3RhcnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJwcm9maWxlcyIpOwotICAg
IFByb2ZpbGVyQWdlbnQuc3RhcnQob25TdGFydCk7Ci0KLSAgICBmdW5jdGlvbiBvblN0YXJ0KCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQcm9maWxlckFnZW50IHN0
YXJ0ZWQuIik7Ci0gICAgICAgIFByb2ZpbGVyQWdlbnQuc3RvcChvblN0b3ApOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIG9uU3RvcCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiUHJvZmlsZXJBZ2VudCBzdG9wcGVkLiIpOwotICAgICAgICBQcm9maWxlckFnZW50LmNs
ZWFyUHJvZmlsZXMoZG9uZSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZG9uZSgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUHJvZmlsZXJBZ2VudCBjbGVhcmVkLiIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdCB0
aGF0IFByb2ZpbGVyQWdlbnQgc3RhcnQvc3RvcCBkb2Vzbid0IGNyYXNoLgotPC9wPgotCi08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
cHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGUtcmVtb3ZhbC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2ZpbGUt
cmVtb3ZhbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNGZl
MWNjNGM4NWQ3OGIyYjUyNWFmNTk2OWE3NjdhZGVlYTkzMDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1UZXN0cyB0aGF0IENQVSBwcm9maWxlIHJlbW92YWwg
ZnJvbSBhIGdyb3VwIHdvcmtzLiBCdWcgMTEwNDY2Ci0KLVByb2ZpbGVyIHdhcyBlbmFibGVkLgot
UHJvZmlsZSBncm91cHMgYWZ0ZXIgcmVtb3ZhbDoKLQotUHJvZmlsZXIgd2FzIGRpc2FibGVkLgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1
LXByb2ZpbGVyLXByb2ZpbGUtcmVtb3ZhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxlLXJlbW92YWwuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlkNDQwMDNjYjVjNGMzNDZmYTNhN2E5MDNiYTQ4MjI1
ZmFhYzUxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2Zp
bGUtcmVtb3ZhbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLSAgPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9InByb2ZpbGVyLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gcGFnZUZ1bmN0aW9uKCkgewotICAgIGNvbnNv
bGUucHJvZmlsZSgicDEiKTsKLSAgICBjb25zb2xlLnByb2ZpbGVFbmQoInAxIik7Ci0gICAgY29u
c29sZS5wcm9maWxlKCJwMSIpOwotICAgIGNvbnNvbGUucHJvZmlsZUVuZCgicDEiKTsKLSAgICBj
b25zb2xlLnByb2ZpbGUoInAyIik7Ci0gICAgY29uc29sZS5wcm9maWxlRW5kKCJwMiIpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0UHJvZmlsZXJUZXN0
KGZ1bmN0aW9uKCkgewotICAgICAgICBmdW5jdGlvbiB2aWV3TG9hZGVkKHZpZXcpIHsKLSAgICAg
ICAgICAgIHZhciBwcm9maWxlcyA9IFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXM7Ci0gICAg
ICAgICAgICB2YXIgdHlwZSA9IHByb2ZpbGVzLmdldFByb2ZpbGVUeXBlKCJDUFUiKTsKLSAgICAg
ICAgICAgIHdoaWxlICh0eXBlLmdldFByb2ZpbGVzKCkubGVuZ3RoICE9PSAwKQotICAgICAgICAg
ICAgICAgIHByb2ZpbGVzLl9yZW1vdmVQcm9maWxlSGVhZGVyKHR5cGUuZ2V0UHJvZmlsZXMoKVsw
XSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUHJvZmlsZSBncm91cHMg
YWZ0ZXIgcmVtb3ZhbDoiKTsKLSAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9maWxlcy5f
cHJvZmlsZUdyb3VwcykKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChr
ZXkgKyAiOiAiICsgcHJvZmlsZXMuX3Byb2ZpbGVHcm91cHNba2V5XS5sZW5ndGgpOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMCwgdHlwZS50cmVlRWxlbWVudC5jaGls
ZHJlbi5sZW5ndGgsICJBbGwgY2hpbGRyZW4gaGFzIGJlZW4gcmVtb3ZlZCIpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVByb2ZpbGVyVGVzdCgpOwotICAgICAgICB9Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInByb2ZpbGVzIik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInBhZ2VGdW5jdGlvbigpIiwgZnVuY3Rpb24oKSB7fSk7
Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2hvd1Byb2ZpbGVXaGVuQWRkZWQoInAyIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUHJvZmlsZVZpZXdJc1Nob3duKCJwMiIsIHZpZXdM
b2FkZWQpOwotICAgIH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBDUFUgcHJvZmlsZSByZW1vdmFsIGZyb20gYSBn
cm91cCB3b3Jrcy4KLQotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDQ2NiI+QnVnIDExMDQ2NjwvYT4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJv
ZmlsZXItcHJvZmlsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ5MTJlZTY0OGVmNjM5YjQ3MzgwZWNjOTE4YTliNzM1
MzIzZjcxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvY3B1LXByb2ZpbGVyLXByb2Zp
bGluZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRlc3RzIHRo
YXQgQ1BVIHByb2ZpbGluZyB3b3Jrcy4gQnVnIDUyNjM0LgotCi1Qcm9maWxlciB3YXMgZW5hYmxl
ZC4KLQotUnVubmluZzogdGVzdFByb2ZpbGluZwotZm91bmQgcGFnZUZ1bmN0aW9uCi0KLVByb2Zp
bGVyIHdhcyBkaXNhYmxlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxlci1wcm9maWxpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9wcm9maWxlci9jcHUtcHJvZmlsZXItcHJvZmlsaW5nLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MzA1MTYwMDk2MGRjZGNlMjc3N2M1NjI2
MDg1MWU1NDI1ZTdlMDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Byb2ZpbGVyL2NwdS1wcm9maWxl
ci1wcm9maWxpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSJwcm9maWxlci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBhZ2VGdW5jdGlvbigpIHsKLSAgICBjb25z
b2xlLnByb2ZpbGUoIm91dGVyIik7Ci0gICAgY29uc29sZS5wcm9maWxlKCJpbm5lciIpOyAgLy8g
W0Nocm9taXVtXSBNYWtlIHN1cmUgd2UgY2FwdHVyZSB0aGUgY3VycmVudCBjYWxsc3RhY2suCi0g
ICAgY29uc29sZS5wcm9maWxlRW5kKCJvdXRlciIpOwotICAgIGNvbnNvbGUucHJvZmlsZUVuZCgi
aW5uZXIiKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5Q
cm9maWxlclRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RQcm9maWxpbmcobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gZmluZFBhZ2VGdW5jdGlvbkluUHJvZmls
ZVZpZXcodmlldykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgdHJlZSA9IHZp
ZXcucHJvZmlsZURhdGFHcmlkVHJlZTsKLSAgICAgICAgICAgICAgICBpZiAoIXRyZWUpCi0gICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibm8gdHJlZSIpOwotICAg
ICAgICAgICAgICAgIHZhciBub2RlID0gdHJlZS5jaGlsZHJlblswXTsKLSAgICAgICAgICAgICAg
ICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgibm8gbm9kZSIpOwotICAgICAgICAgICAgICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChub2RlLmZ1bmN0aW9uTmFtZS5pbmRleE9mKCJwYWdlRnVuY3Rpb24iKSAh
PT0gLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJmb3VuZCBwYWdlRnVuY3Rpb24iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBub2RlLnRy
YXZlcnNlTmV4dE5vZGUodHJ1ZSwgbnVsbCwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Quc2hvd1Byb2ZpbGVXaGVuQWRkZWQoImlubmVyIik7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LndhaXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93bigiaW5uZXIiLCBmaW5kUGFnZUZ1bmN0
aW9uSW5Qcm9maWxlVmlldyk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5D
b25zb2xlKCJwYWdlRnVuY3Rpb24oKSIsIGZ1bmN0aW9uIGRvbmUoKSB7fSk7Ci0gICAgICAgIH0K
LSAgICBdKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgQ1BVIHByb2ZpbGluZyB3b3Jrcy4KLQotPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNjM0Ij5CdWcgNTI2MzQuPC9h
PgotPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3Byb2ZpbGVyL3Byb2ZpbGVyLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvcHJvZmlsZXItdGVzdC5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTdiODlkNDIzZDY1YTgzOThlMDQwOGRlNWE5NWE3NDlkMTVmNmQ3MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvcHJvZmlsZXIvcHJvZmlsZXItdGVzdC5qcworKysgL2Rldi9u
dWxsCkBAIC0xLDk0ICswLDAgQEAKLXZhciBpbml0aWFsaXplX1Byb2ZpbGVyVGVzdCA9IGZ1bmN0
aW9uKCkgewotCi1JbnNwZWN0b3JUZXN0LnN0YXJ0UHJvZmlsZXJUZXN0ID0gZnVuY3Rpb24oY2Fs
bGJhY2spCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgicHJvZmlsZXMiKTsKLQotICAg
IGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiUHJvZmlsZXIgd2FzIGVuYWJsZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
U25pZmZlcihXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLCAiX2FkZFByb2ZpbGVIZWFkZXIi
LCBJbnNwZWN0b3JUZXN0Ll9wcm9maWxlSGVhZGVyQWRkZWQsIHRydWUpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3LnByb3RvdHlw
ZSwgInJlZnJlc2giLCBJbnNwZWN0b3JUZXN0Ll9wcm9maWxlVmlld1JlZnJlc2gsIHRydWUpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnNhZmVXcmFwKGNhbGxiYWNrKSgpOwotICAgIH0KLQotICAg
IGlmIChXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLl9wcm9maWxlckVuYWJsZWQpCi0gICAg
ICAgIHN0YXJ0VGVzdCgpOwotICAgIGVsc2UgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNu
aWZmZXIoV2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlcywgIl9wcm9maWxlcldhc0VuYWJsZWQi
LCBzdGFydFRlc3QpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLl90b2dn
bGVQcm9maWxpbmcoZmFsc2UpOwotICAgIH0KLX07Ci0KLUluc3BlY3RvclRlc3QuY29tcGxldGVQ
cm9maWxlclRlc3QgPSBmdW5jdGlvbigpCi17Ci0gICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIlByb2ZpbGVyIHdhcyBkaXNhYmxlZC4iKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICB2YXIgcHJvZmlsZXNQ
YW5lbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXM7Ci0gICAgaWYgKCFwcm9maWxlc1Bh
bmVsLl9wcm9maWxlckVuYWJsZWQpCi0gICAgICAgIGNvbXBsZXRlVGVzdCgpOwotICAgIGVsc2Ug
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLnBhbmVscy5w
cm9maWxlcywgIl9wcm9maWxlcldhc0Rpc2FibGVkIiwgY29tcGxldGVUZXN0KTsKLSAgICAgICAg
cHJvZmlsZXNQYW5lbC5fdG9nZ2xlUHJvZmlsaW5nKGZhbHNlKTsKLSAgICB9Ci19OwotCi1JbnNw
ZWN0b3JUZXN0LnJ1blByb2ZpbGVyVGVzdFN1aXRlID0gZnVuY3Rpb24odGVzdFN1aXRlKQotewot
ICAgIHZhciB0ZXN0U3VpdGVUZXN0cyA9IHRlc3RTdWl0ZS5zbGljZSgpOwotCi0gICAgZnVuY3Rp
b24gcnVubmVyKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGVzdFN1aXRlVGVzdHMubGVuZ3RoKSB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlUHJvZmlsZXJUZXN0KCk7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB2YXIgbmV4dFRlc3QgPSB0ZXN0
U3VpdGVUZXN0cy5zaGlmdCgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSdW5uaW5nOiAiICsgL2Z1bmN0aW9u
XHMoW14oXSopLy5leGVjKG5leHRUZXN0KVsxXSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2Fm
ZVdyYXAobmV4dFRlc3QpKHJ1bm5lciwgcnVubmVyKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JU
ZXN0LnN0YXJ0UHJvZmlsZXJUZXN0KHJ1bm5lcik7Ci19OwotCi1JbnNwZWN0b3JUZXN0LnNob3dQ
cm9maWxlV2hlbkFkZGVkID0gZnVuY3Rpb24odGl0bGUpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5f
c2hvd1Byb2ZpbGVXaGVuQWRkZWQgPSB0aXRsZTsKLX07Ci0KLUluc3BlY3RvclRlc3QuX3Byb2Zp
bGVIZWFkZXJBZGRlZCA9IGZ1bmN0aW9uKHByb2ZpbGUpCi17Ci0gICAgaWYgKEluc3BlY3RvclRl
c3QuX3Nob3dQcm9maWxlV2hlbkFkZGVkID09PSBwcm9maWxlLnRpdGxlKSB7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMuX3Nob3dQcm9maWxlKHByb2ZpbGUpOwotICAgIH0K
LX07Ci0KLUluc3BlY3RvclRlc3Qud2FpdFVudGlsUHJvZmlsZVZpZXdJc1Nob3duID0gZnVuY3Rp
b24odGl0bGUsIGNhbGxiYWNrKQotewotICAgIGNhbGxiYWNrID0gSW5zcGVjdG9yVGVzdC5zYWZl
V3JhcChjYWxsYmFjayk7Ci0KLSAgICB2YXIgcHJvZmlsZXNQYW5lbCA9IFdlYkluc3BlY3Rvci5w
YW5lbHMucHJvZmlsZXM7Ci0gICAgaWYgKHByb2ZpbGVzUGFuZWwudmlzaWJsZVZpZXcgJiYgcHJv
ZmlsZXNQYW5lbC52aXNpYmxlVmlldy5wcm9maWxlICYmIHByb2ZpbGVzUGFuZWwudmlzaWJsZVZp
ZXcucHJvZmlsZS50aXRsZSA9PT0gdGl0bGUpCi0gICAgICAgIGNhbGxiYWNrKHByb2ZpbGVzUGFu
ZWwudmlzaWJsZVZpZXcpOwotICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5fd2FpdFVu
dGlsUHJvZmlsZVZpZXdJc1Nob3duQ2FsbGJhY2sgPSB7IHRpdGxlOiB0aXRsZSwgY2FsbGJhY2s6
IGNhbGxiYWNrIH07Ci19Ci0KLUluc3BlY3RvclRlc3QuX3Byb2ZpbGVWaWV3UmVmcmVzaCA9IGZ1
bmN0aW9uKCkKLXsKLSAgICAvLyBDYWxsZWQgaW4gdGhlIGNvbnRleHQgb2YgUHJvZmlsZVZpZXcu
Ci0gICAgaWYgKEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93bkNhbGxi
YWNrICYmIEluc3BlY3RvclRlc3QuX3dhaXRVbnRpbFByb2ZpbGVWaWV3SXNTaG93bkNhbGxiYWNr
LnRpdGxlID09PSB0aGlzLnByb2ZpbGUudGl0bGUpIHsKLSAgICAgICAgdmFyIGNhbGxiYWNrID0g
SW5zcGVjdG9yVGVzdC5fd2FpdFVudGlsUHJvZmlsZVZpZXdJc1Nob3duQ2FsbGJhY2s7Ci0gICAg
ICAgIGRlbGV0ZSBJbnNwZWN0b3JUZXN0Ll93YWl0VW50aWxQcm9maWxlVmlld0lzU2hvd25DYWxs
YmFjazsKLSAgICAgICAgY2FsbGJhY2suY2FsbGJhY2sodGhpcyk7Ci0gICAgfQotfTsKLQotfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9yZW1vdGUtb2JqZWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9yZW1vdGUtb2Jq
ZWN0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJjMmUyNmUw
ODU5ZjNiNDA1YzdhNTc3N2I0YTJlNzg3YzBmMzY0My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVt
b3RlLW9iamVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRl
c3RzIGZvcm1hdHRpbmcgb2YgZGlmZmVyZW50IHR5cGVzIG9mIHJlbW90ZSBvYmplY3RzLgotCi1k
YXRlID0gV2VkIERlYyAwNyAyMDExIDEyOjAxOjAwIAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVtb3RlLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3JlbW90ZS1vYmplY3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZTVlODA0NWU4ODk4OGY3NzJjYzJmMzk5YTBmYjNkNzA1ZjZjYjUyYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvcmVtb3RlLW9iamVjdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjUg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0
ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1bHQpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZGF0ZSA9ICIgKyByZXN1bHQuZGVzY3JpcHRpb24uc3Vi
c3RyaW5nKDAsIDI1KSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0g
ICAgfQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm5ldyBEYXRlKDIwMTEsIDEx
LCA3LCAxMiwgMDEpIiwgY2FsbGJhY2spOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBmb3JtYXR0aW5nIG9mIGRpZmZlcmVu
dCB0eXBlcyBvZiByZW1vdGUgb2JqZWN0cy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9ydC1BUEktZXJyb3Jz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9yZXBvcnQtQVBJ
LWVycm9ycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzOTIy
NzVkNDY3MGFlMTY1NGZjNmQ3NjExMjQ0NGZkOTAwMWYzNjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3JlcG9ydC1BUEktZXJyb3JzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAs
MCBAQAotVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5kU3R1YiBpcyBjYXRjaGluZyBpbmNvcnJl
Y3QgYXJndW1lbnRzLgotCi1Qcm90b2NvbCBFcnJvcjogSW52YWxpZCB0eXBlIG9mIGFyZ3VtZW50
ICdlbmFibGVkJyBmb3IgbWV0aG9kICdDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkJyBj
YWxsLiBJdCBtdXN0IGJlICdib29sZWFuJyBidXQgaXQgaXMgJ251bWJlcicuCi1Qcm90b2NvbCBF
cnJvcjogSW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIGZvciBtZXRob2QgJ0NvbnNvbGUuc2V0
TW9uaXRvcmluZ1hIUkVuYWJsZWQnIGNhbGwuIEl0IG11c3QgaGF2ZSB0aGUgZm9sbG93aW5nIGFy
Z3VtZW50cyAnW3sibmFtZSI6ImVuYWJsZWQiLCJ0eXBlIjoiYm9vbGVhbiIsIm9wdGlvbmFsIjpm
YWxzZX1dJy4KLVByb3RvY29sIEVycm9yOiBPcHRpb25hbCBjYWxsYmFjayBhcmd1bWVudCBmb3Ig
bWV0aG9kICdDb25zb2xlLnNldE1vbml0b3JpbmdYSFJFbmFibGVkJyBjYWxsIG11c3QgYmUgYSBm
dW5jdGlvbiBidXQgaXRzIHR5cGUgaXMgJ3N0cmluZycuCi1Qcm90b2NvbCBFcnJvcjogdGhlIG1l
c3NhZ2UgaXMgZm9yIG5vbi1leGlzdGluZyBkb21haW4gJ3dyb25nRG9tYWluJwotUHJvdG9jb2wg
RXJyb3I6IEF0dGVtcHRlZCB0byBkaXNwYXRjaCBhbiB1bmltcGxlbWVudGVkIG1ldGhvZCAnSW5z
cGVjdG9yLnNvbWV0aGluZy1zdHJhbmdlJwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvcmVwb3J0LUFQSS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9yZXBvcnQtQVBJLWVycm9ycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiNjcwMjViNzYzYThlNzg5MGIyNDdhZGRmNTU0NGM0MGZmYTRhZWQxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9yZXBvcnQtQVBJLWVycm9ycy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLQotICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbigpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChTdHJpbmcuc3ByaW50Zi5hcHBseSh0aGlz
LCBhcmd1bWVudHMpKTsKLSAgICB9Ci0KLSAgICBDb25zb2xlQWdlbnQuc2V0TW9uaXRvcmluZ1hI
UkVuYWJsZWQoMSk7Ci0gICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKCk7
Ci0gICAgQ29uc29sZUFnZW50LnNldE1vbml0b3JpbmdYSFJFbmFibGVkKGZhbHNlLCAibm90IGEg
ZnVuY3Rpb24iKTsKLSAgICBDb25zb2xlQWdlbnQuc2V0TW9uaXRvcmluZ1hIUkVuYWJsZWQoZmFs
c2UsIHVuZGVmaW5lZCk7Ci0gICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJ0cnVlIiwgInRlc3Qi
KTsKLSAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoInRydWUiLCAidGVzdCIsIGZ1bmN0aW9uKCl7
fSk7Ci0gICAgUnVudGltZUFnZW50LmV2YWx1YXRlKCJ0cnVlIiwgInRlc3QiLCB1bmRlZmluZWQs
IGZ1bmN0aW9uKCl7fSk7Ci0gICAgSW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaCgneyJtZXRob2Qi
OiAid3JvbmdEb21haW4uc29tZXRoaW5nLXN0cmFuZ2UiLCAicGFyYW1zIjoge319Jyk7Ci0gICAg
SW5zcGVjdG9yQmFja2VuZC5kaXNwYXRjaCgneyJtZXRob2QiOiAiSW5zcGVjdG9yLnNvbWV0aGlu
Zy1zdHJhbmdlIiwgInBhcmFtcyI6IHt9fScpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxwPgotVGVzdHMgdGhhdCBJbnNwZWN0b3JCYWNrZW5kU3R1YiBpcyBjYXRjaGluZyBp
bmNvcnJlY3QgYXJndW1lbnRzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVwb3J0LXByb3RvY29sLWVycm9ycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcmVwb3J0LXByb3Rv
Y29sLWVycm9ycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcw
M2M5ZWZiZTQ5YjQwNmFiNjViMzExYzJkMzQxZGE3YjU2YWVkNGQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTcwICswLDAgQEAKLVRlc3RzIHRoYXQgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIgaXMg
Y2F0Y2hpbmcgaW5jb3JyZWN0IG1lc3NhZ2VzLgotCi17Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAg
IGNvZGUgOiAtMzI3MDAKLSAgICAgICAgbWVzc2FnZSA6ICJNZXNzYWdlIG11c3QgYmUgaW4gSlNP
TiBmb3JtYXQiCi0gICAgfQotICAgIGlkIDogbnVsbAotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAgIGVycm9yIDogewotICAg
ICAgICBjb2RlIDogLTMyNjAwCi0gICAgICAgIG1lc3NhZ2UgOiAiJ2lkJyBwcm9wZXJ0eSB3YXMg
bm90IGZvdW5kIgotICAgIH0KLSAgICBpZCA6IG51bGwKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAg
ICAgICAgY29kZSA6IC0zMjYwMAotICAgICAgICBtZXNzYWdlIDogIlRoZSB0eXBlIG9mICdpZCcg
cHJvcGVydHkgbXVzdCBiZSBudW1iZXIiCi0gICAgfQotICAgIGlkIDogbnVsbAotfQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAg
IGVycm9yIDogewotICAgICAgICBjb2RlIDogLTMyNjAwCi0gICAgICAgIG1lc3NhZ2UgOiAiVGhl
IHR5cGUgb2YgJ21ldGhvZCcgcHJvcGVydHkgbXVzdCBiZSBzdHJpbmciCi0gICAgfQotICAgIGlk
IDogMQotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotewotICAgIGVycm9yIDogewotICAgICAgICBjb2RlIDogLTMyNjAxCi0gICAgICAg
IG1lc3NhZ2UgOiAiJ3Jlc291cmNlQ29udGVudCcgd2Fzbid0IGZvdW5kIgotICAgIH0KLSAgICBp
ZCA6IDIKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMQotICAgICAg
ICBtZXNzYWdlIDogIidET00udGVzdCcgd2Fzbid0IGZvdW5kIgotICAgIH0KLSAgICBpZCA6IDMK
LX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYwMgotICAgICAgICBkYXRh
IDogWwotICAgICAgICAgICAgIidwYXJhbXMnIG9iamVjdCBtdXN0IGNvbnRhaW4gcmVxdWlyZWQg
cGFyYW1ldGVyICdmcmFtZUlkJyB3aXRoIHR5cGUgJ1N0cmluZycuIgotICAgICAgICAgICAgIidw
YXJhbXMnIG9iamVjdCBtdXN0IGNvbnRhaW4gcmVxdWlyZWQgcGFyYW1ldGVyICd1cmwnIHdpdGgg
dHlwZSAnU3RyaW5nJy4iCi0gICAgICAgIF0KLSAgICAgICAgbWVzc2FnZSA6ICJTb21lIGFyZ3Vt
ZW50cyBvZiBtZXRob2QgJ1BhZ2UuZ2V0UmVzb3VyY2VDb250ZW50JyBjYW4ndCBiZSBwcm9jZXNz
ZWQiCi0gICAgfQotICAgIGlkIDogNAotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAgIGVycm9yIDogewotICAgICAgICBjb2Rl
IDogLTMyNjAyCi0gICAgICAgIGRhdGEgOiBbCi0gICAgICAgICAgICAiJ3BhcmFtcycgb2JqZWN0
IG11c3QgY29udGFpbiByZXF1aXJlZCBwYXJhbWV0ZXIgJ2ZyYW1lSWQnIHdpdGggdHlwZSAnU3Ry
aW5nJy4iCi0gICAgICAgICAgICAiJ3BhcmFtcycgb2JqZWN0IG11c3QgY29udGFpbiByZXF1aXJl
ZCBwYXJhbWV0ZXIgJ3VybCcgd2l0aCB0eXBlICdTdHJpbmcnLiIKLSAgICAgICAgXQotICAgICAg
ICBtZXNzYWdlIDogIlNvbWUgYXJndW1lbnRzIG9mIG1ldGhvZCAnUGFnZS5nZXRSZXNvdXJjZUNv
bnRlbnQnIGNhbid0IGJlIHByb2Nlc3NlZCIKLSAgICB9Ci0gICAgaWQgOiA1Ci19Ci0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAg
ZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAtMzI2MDIKLSAgICAgICAgZGF0YSA6IFsKLSAgICAg
ICAgICAgICJQYXJhbWV0ZXIgJ2ZyYW1lSWQnIHdpdGggdHlwZSAnU3RyaW5nJyB3YXMgbm90IGZv
dW5kLiIKLSAgICAgICAgICAgICJQYXJhbWV0ZXIgJ3VybCcgd2l0aCB0eXBlICdTdHJpbmcnIHdh
cyBub3QgZm91bmQuIgotICAgICAgICBdCi0gICAgICAgIG1lc3NhZ2UgOiAiU29tZSBhcmd1bWVu
dHMgb2YgbWV0aG9kICdQYWdlLmdldFJlc291cmNlQ29udGVudCcgY2FuJ3QgYmUgcHJvY2Vzc2Vk
IgotICAgIH0KLSAgICBpZCA6IDYKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6
IC0zMjYwMgotICAgICAgICBkYXRhIDogWwotICAgICAgICAgICAgIlBhcmFtZXRlciAndXJsJyB3
aXRoIHR5cGUgJ1N0cmluZycgd2FzIG5vdCBmb3VuZC4iCi0gICAgICAgIF0KLSAgICAgICAgbWVz
c2FnZSA6ICJTb21lIGFyZ3VtZW50cyBvZiBtZXRob2QgJ1BhZ2UuZ2V0UmVzb3VyY2VDb250ZW50
JyBjYW4ndCBiZSBwcm9jZXNzZWQiCi0gICAgfQotICAgIGlkIDogNwotfQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAgIGVycm9y
IDogewotICAgICAgICBjb2RlIDogLTMyNjAxCi0gICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVz
dCcgd2Fzbid0IGZvdW5kIgotICAgIH0KLSAgICBpZCA6IDgKLX0KLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsK
LSAgICAgICAgY29kZSA6IC0zMjYwMQotICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRlc3QnIHdh
c24ndCBmb3VuZCIKLSAgICB9Ci0gICAgaWQgOiA5Ci19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAgZXJyb3IgOiB7Ci0gICAg
ICAgIGNvZGUgOiAtMzI2MDEKLSAgICAgICAgbWVzc2FnZSA6ICInUGFnZS50ZXN0JyB3YXNuJ3Qg
Zm91bmQiCi0gICAgfQotICAgIGlkIDogMTAKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAg
Y29kZSA6IC0zMjYwMQotICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRlc3QnIHdhc24ndCBmb3Vu
ZCIKLSAgICB9Ci0gICAgaWQgOiAxMQotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotewotICAgIGVycm9yIDogewotICAgICAgICBjb2Rl
IDogLTMyNjAxCi0gICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVzdCcgd2Fzbid0IGZvdW5kIgot
ICAgIH0KLSAgICBpZCA6IDEyCi19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi17Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAt
MzI2MDEKLSAgICAgICAgbWVzc2FnZSA6ICInUGFnZS50ZXN0JyB3YXNuJ3QgZm91bmQiCi0gICAg
fQotICAgIGlkIDogMTMKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLXsKLSAgICBlcnJvciA6IHsKLSAgICAgICAgY29kZSA6IC0zMjYw
MQotICAgICAgICBtZXNzYWdlIDogIidQYWdlLnRlc3QnIHdhc24ndCBmb3VuZCIKLSAgICB9Ci0g
ICAgaWQgOiAxNAotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQotewotICAgIGVycm9yIDogewotICAgICAgICBjb2RlIDogLTMyNjAxCi0g
ICAgICAgIG1lc3NhZ2UgOiAiJ1BhZ2UudGVzdCcgd2Fzbid0IGZvdW5kIgotICAgIH0KLSAgICBp
ZCA6IDE1Ci19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi17Ci0gICAgZXJyb3IgOiB7Ci0gICAgICAgIGNvZGUgOiAtMzI2MDEKLSAgICAg
ICAgbWVzc2FnZSA6ICInUGFnZS50ZXN0JyB3YXNuJ3QgZm91bmQiCi0gICAgfQotICAgIGlkIDog
MTYKLX0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3JlcG9y
dC1wcm90b2NvbC1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9y
ZXBvcnQtcHJvdG9jb2wtZXJyb3JzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNjMzhlNmZiY2NmNDc0MzYwYWExM2VkZWI3ZDY4Njg1NjkyNDU5YTcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3JlcG9ydC1wcm90b2NvbC1lcnJvcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYw
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgdmFyIG1lc3NhZ2VzID0gWwotICAgICAgICAnc29tZSB3cm9uZyBzdHJp
bmcnLAotICAgICAgICAne30nLAotICAgICAgICAneyJpZCI6Im5vdCBhIG51bWJlciJ9JywKLSAg
ICAgICAgJ3siaWQiOjEsIm1ldGhvZCI6MX0nLAotICAgICAgICAneyJpZCI6MiwibWV0aG9kIjoi
cmVzb3VyY2VDb250ZW50In0nLAotICAgICAgICAneyJpZCI6MywibWV0aG9kIjoiRE9NLnRlc3Qi
fScsCi0gICAgICAgICd7ImlkIjo0LCJtZXRob2QiOiJQYWdlLmdldFJlc291cmNlQ29udGVudCJ9
JywKLSAgICAgICAgJ3siaWQiOjUsIm1ldGhvZCI6IlBhZ2UuZ2V0UmVzb3VyY2VDb250ZW50Iiwi
cGFyYW1zIjpbXX0nLAotICAgICAgICAneyJpZCI6NiwibWV0aG9kIjoiUGFnZS5nZXRSZXNvdXJj
ZUNvbnRlbnQiLCJwYXJhbXMiOnt9fScsCi0gICAgICAgICd7ImlkIjo3LCJtZXRob2QiOiJQYWdl
LmdldFJlc291cmNlQ29udGVudCIsInBhcmFtcyI6eyJmcmFtZUlkIjoibm90IGEgbnVtYmVyIn19
JywKLSAgICAgICAgJ3siaWQiOjgsIm1ldGhvZCI6IlBhZ2UudGVzdCJ9JywKLSAgICAgICAgJ3si
aWQiOjksIm1ldGhvZCI6IlBhZ2UudGVzdCIgfScsCi0gICAgICAgICd7ImlkIjoxMCwibWV0aG9k
IjogIlBhZ2UudGVzdCIgfScsCi0gICAgICAgICd7ImlkIjoxMSwibWV0aG9kIiA6ICJQYWdlLnRl
c3QiIH0nLAotICAgICAgICAneyJpZCI6MTIsICJtZXRob2QiIDogIlBhZ2UudGVzdCIgfScsCi0g
ICAgICAgICd7ImlkIjogMTMsICJtZXRob2QiIDogIlBhZ2UudGVzdCIgfScsCi0gICAgICAgICd7
ImlkIiA6IDE0LCAibWV0aG9kIiA6ICJQYWdlLnRlc3QiIH0nLAotICAgICAgICAneyAiaWQiIDog
MTUsICJtZXRob2QiIDogIlBhZ2UudGVzdCIgfScsCi0gICAgICAgICd7ICAiaWQiXG4gOlxyIDE2
LFx0ICJtZXRob2QiXGYgOlx2ICJQYWdlLnRlc3QiIH0nLAotICAgIF07Ci0gICAgdmFyIG51bWJl
ck9mUmVwb3J0cyA9IDA7Ci0KLSAgICBJbnNwZWN0b3JCYWNrZW5kLnJlcG9ydFByb3RvY29sRXJy
b3IgPSBmdW5jdGlvbihtZXNzYWdlKQotICAgIHsKLQotICAgICAgICBpZiAobnVtYmVyT2ZSZXBv
cnRzIDwgbWVzc2FnZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZE9i
amVjdChtZXNzYWdlKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCItLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7Ci0g
ICAgICAgIH0KLQotICAgICAgICBpZiAoKytudW1iZXJPZlJlcG9ydHMgPT09IG1lc3NhZ2VzLmxl
bmd0aCkKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gZmlyZSgpIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNz
YWdlcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5zZW5k
TWVzc2FnZVRvQmFja2VuZChtZXNzYWdlc1tpXSk7Ci0gICAgfQotCi0gICAgRGVidWdnZXJBZ2Vu
dC5kaXNhYmxlKGZpcmUpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
IGlzIGNhdGNoaW5nIGluY29ycmVjdCBtZXNzYWdlcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVu
dGltZS1jYWxsRnVuY3Rpb25Pbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvcnVudGltZS9ydW50aW1lLWNhbGxGdW5jdGlvbk9uLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRhNTVhMzRmMzZiNDdjZTE3OTk1YmIwN2RjNTkz
NDBkYzMwMWJhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLWNhbGxGdW5j
dGlvbk9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVRlc3Rz
IFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25PbiB1c2FnZXMuCi0KLQotUnVubmluZzogdGVzdFRo
aXMKLTMKLQotUnVubmluZzogdGVzdEFyZ3VtZW50cwoteyJhIjoxLCJiIjoyfQoteyJhIjoxLCJi
IjoyfQoteyJjIjoxLCJkIjoyfQotNAotdW5kZWZpbmVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtY2FsbEZ1bmN0aW9uT24uaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtY2FsbEZ1
bmN0aW9uT24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZhMDQxOWM3MDY1
YzVmNzkzZWZlZTQ2M2EyZjlmMTc1OTBjNGM1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGlt
ZS9ydW50aW1lLWNhbGxGdW5jdGlvbk9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIHZhciBvYmoxLCBvYmoyOwotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0
U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0VGhpcyhuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBSdW50aW1lQWdlbnQuZXZhbHVhdGUoIih7IGEgOiAxLCBiIDogMiB9KSIsIHN0ZXAx
KTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3du
KQotICAgICAgICAgICAgewotCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gc3VtKCkKLSAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmEgKyB0aGlzLmI7
Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgb2JqMSA9IHJlc3VsdDsKLSAg
ICAgICAgICAgICAgICBSdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24ob2JqMS5vYmplY3RJZCwg
c3VtLnRvU3RyaW5nKCksIHN0ZXAyKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVu
Y3Rpb24gc3RlcDIoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdC52YWx1ZSk7Ci0gICAg
ICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAg
IGZ1bmN0aW9uIHRlc3RBcmd1bWVudHMobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgUnVu
dGltZUFnZW50LmV2YWx1YXRlKCIoeyBjIDogMSwgZCA6IDIgfSkiLCBzdGVwMSk7Ci0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBmb3JtYXQoYW9iajEsIGFvYmoyLCB2YWws
IHVuZGVmKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpT
T04uc3RyaW5naWZ5KHRoaXMpICsgIlxuIiArIEpTT04uc3RyaW5naWZ5KGFvYmoxKSArICJcbiIg
KyBKU09OLnN0cmluZ2lmeShhb2JqMikgKyAiXG4iICsgdmFsICsgIlxuIiArIHVuZGVmOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIG9iajIgPSByZXN1bHQ7Ci0gICAgICAg
ICAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKG9iajEub2JqZWN0SWQsIGZvcm1h
dC50b1N0cmluZygpLCBbb2JqMSwgb2JqMiwge3ZhbHVlOjR9LCB7fV0sIHN0ZXAyKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IsIHJlc3VsdCwgd2Fz
VGhyb3duKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHJlc3VsdC52YWx1ZSk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rp
b25PbiB1c2FnZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50
aW1lLWdldFByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxNjI3M2RjZGViNzYyODUwYTUzNmNmZmFkNzEwMWRhOWFmZjhjZmZhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1UZXN0cyBSZW1vdGVPYmplY3QuZ2V0UHJvcGVy
dGllcy4KLQotCi1SdW5uaW5nOiB0ZXN0U2V0VXAKLQotUnVubmluZzogdGVzdEdldHRlckFuZFNl
dHRlcgotewotICAgIGVudW1lcmFibGUgOiB0cnVlCi0gICAgbmFtZSA6ICJnZXQgZm9vIgotICAg
IHZhbHVlIDogewotICAgICAgICBkZXNjcmlwdGlvbiA6ICJmdW5jdGlvbiAoKSB7IHJldHVybiAx
OyB9IgotICAgICAgICBvYmplY3RJZCA6IDxzdHJpbmc+Ci0gICAgICAgIHR5cGUgOiAiZnVuY3Rp
b24iCi0gICAgfQotICAgIHdyaXRhYmxlIDogZmFsc2UKLX0KLXsKLSAgICBlbnVtZXJhYmxlIDog
dHJ1ZQotICAgIG5hbWUgOiAic2V0IGZvbyIKLSAgICB2YWx1ZSA6IHsKLSAgICAgICAgZGVzY3Jp
cHRpb24gOiAiZnVuY3Rpb24gKHZhbHVlKSB7IH0iCi0gICAgICAgIG9iamVjdElkIDogPHN0cmlu
Zz4KLSAgICAgICAgdHlwZSA6ICJmdW5jdGlvbiIKLSAgICB9Ci0gICAgd3JpdGFibGUgOiBmYWxz
ZQotfQotCi1SdW5uaW5nOiB0ZXN0R2V0dGVyT25seQotewotICAgIGVudW1lcmFibGUgOiB0cnVl
Ci0gICAgbmFtZSA6ICJnZXQgZm9vIgotICAgIHZhbHVlIDogewotICAgICAgICBkZXNjcmlwdGlv
biA6ICJmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9IgotICAgICAgICBvYmplY3RJZCA6IDxzdHJp
bmc+Ci0gICAgICAgIHR5cGUgOiAiZnVuY3Rpb24iCi0gICAgfQotICAgIHdyaXRhYmxlIDogZmFs
c2UKLX0KLXsKLSAgICBlbnVtZXJhYmxlIDogdHJ1ZQotICAgIG5hbWUgOiAic2V0IGZvbyIKLSAg
ICB2YWx1ZSA6IHsKLSAgICAgICAgZGVzY3JpcHRpb24gOiAidW5kZWZpbmVkIgotICAgICAgICBv
YmplY3RJZCA6IDx1bmRlZmluZWQ+Ci0gICAgICAgIHR5cGUgOiAidW5kZWZpbmVkIgotICAgIH0K
LSAgICB3cml0YWJsZSA6IGZhbHNlCi19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy1pc093blByb3BlcnR5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1
bnRpbWUtZ2V0UHJvcGVydGllcy1pc093blByb3BlcnR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTE4NTIyZjZlYzkxODg0NDI1NTkyZTI4MmMzYjA1OTJjYjBi
OTdkYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLWdldFByb3BlcnRpZXMt
aXNPd25Qcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAK
LVRlc3RzIFJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0aWVzLgotCi1wcm9wZXJ0eS5uYW1lPT0idGVz
dEJhciIgaXNPd249PSJ0cnVlIgotcHJvcGVydHkubmFtZT09InRlc3RGb28iIGlzT3duPT0idW5k
ZWZpbmVkIgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVu
dGltZS9ydW50aW1lLWdldFByb3BlcnRpZXMtaXNPd25Qcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1nZXRQcm9wZXJ0aWVzLWlzT3du
UHJvcGVydHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY2MGM3OWU4MGZh
Njc0NmJkYThiY2ZhZmE4ZWRjNjg1YmRiM2MwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGlt
ZS9ydW50aW1lLWdldFByb3BlcnRpZXMtaXNPd25Qcm9wZXJ0eS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiBBKCkgewotICAgIHRoaXMudGVzdEZvbyA9ICJhYmMiOwotfQotCi1mdW5jdGlv
biBCKCkgeyAKLSAgICB0aGlzLnRlc3RCYXIgPSAiY2RlIjsKLX0KLQotQi5wcm90b3R5cGUgPSBu
ZXcgQSgpOwotYiA9IG5ldyBCKCk7Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9u
IGZhaWwobWVzc2FnZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KG1l
c3NhZ2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQot
ICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgid2luZG93LmIiLCBzdGVwMSk7Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMShlcnJvciwgcmVzdWx0KQotICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50Lmdl
dFByb3BlcnRpZXMocmVzdWx0Lm9iamVjdElkLCAvKiBpc093blByb3BlcnR5ICovIGZhbHNlLCBz
dGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIoZXJyb3IsIHByb3BlcnRpZXMpIAot
ICAgIHsKLSAgICAgICAgaWYgKGVycm9yKSAKLSAgICAgICAgICAgIHJldHVybiBmYWlsKCJFcnJv
ciB0b29rIHBsYWNlIGR1cmluZyBSdW50aW1lQWdlbnQuZ2V0UHJvcGVydGllcyBjYWxsIik7Ci0g
ICAgICAgIAotICAgICAgICBpZiAoIXByb3BlcnRpZXMpIAotICAgICAgICAgICAgcmV0dXJuIGZh
aWwoIlByb3BlcnRpZXMgZG8gbm90IGV4aXN0Iik7Ci0gICAgICAgIAotICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgIHZhciBw
cm9wZXJ0eSA9IHByb3BlcnRpZXNbaV07Ci0gICAgICAgICAgICBpZiAocHJvcGVydHkubmFtZS5t
YXRjaCgvXnRlc3QvKSkgCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InByb3BlcnR5Lm5hbWU9PVwiIiArIHByb3BlcnR5Lm5hbWUgKyAiXCIgaXNPd249PVwiIiArIHBy
b3BlcnR5LmlzT3duICsgIlwiIik7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIFJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0aWVz
LgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLWdldFByb3BlcnRpZXMuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGllcy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZWIyOGJkMmU0MDViOTBkOTAxZmFh
MWI2NWJlYWNlZWZkODA5MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUt
Z2V0UHJvcGVydGllcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi12YXIgb2JqZWN0MSA9IHsgZ2V0IGZv
bygpIHsgcmV0dXJuIDE7IH0sIHNldCBmb28odmFsdWUpIHsgfSB9OwotdmFyIG9iamVjdDIgPSB7
IGdldCBmb28oKSB7IHJldHVybiAxOyB9IH07Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZh
ciBvYmoxLCBvYmoyOwotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAg
ICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZHVtcE9iamVjdHMoJ0luaXRpYWwnKSIsIHN0ZXAwKTsK
LQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDAoKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgib2JqZWN0MSIsIHN0ZXAxKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCwgd2FzVGhy
b3duKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIG9iajEgPSBXZWJJbnNwZWN0b3Iu
UmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgUnVudGlt
ZUFnZW50LmV2YWx1YXRlKCJvYmplY3QyIiwgc3RlcDIpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBmdW5jdGlvbiBzdGVwMihlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgb2JqMiA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3Qu
ZnJvbVBheWxvYWQocmVzdWx0KTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEdldHRlckFuZFNldHRlcihu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBvYmoxLmdldE93blByb3BlcnRpZXMoc3RlcDEp
OwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMShwcm9wZXJ0aWVzKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7
ICsraSkKLSAgICAgICAgICAgICAgICAgICAgZHVtcFByb3BlcnR5KHByb3BlcnRpZXNbaV0pOwot
Ci0gICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RHZXR0ZXJPbmx5KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIG9iajIuZ2V0T3duUHJvcGVydGllcyhzdGVwMSk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAxKHByb3BlcnRpZXMpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBwcm9wZXJ0aWVzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgICAg
ICBkdW1wUHJvcGVydHkocHJvcGVydGllc1tpXSk7Ci0KLSAgICAgICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdKTsKLQotICAgIGZ1bmN0aW9uIGR1bXBQ
cm9wZXJ0eShwcm9wZXJ0eSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm9wZXJ0eS5uYW1lID09PSAi
X19wcm90b19fIikKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB2YXIgdmFsdWUgPSBw
cm9wZXJ0eS52YWx1ZTsKLSAgICAgICAgaWYgKHZhbHVlKQotICAgICAgICAgICAgcHJvcGVydHku
dmFsdWUgPSB7IHR5cGU6IHZhbHVlLnR5cGUsIGRlc2NyaXB0aW9uOiB2YWx1ZS5kZXNjcmlwdGlv
bi5yZXBsYWNlKCJmdW5jdGlvbiBmb28iLCAiZnVuY3Rpb24gIiksIG9iamVjdElkOiB2YWx1ZS5v
YmplY3RJZCB9OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXAocHJvcGVydHksIHsgb2JqZWN0
SWQ6ICJmb3JtYXRBc1R5cGVOYW1lIiB9KTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFk
PgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIFJlbW90ZU9iamVjdC5n
ZXRQcm9wZXJ0aWVzLgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLWxvY2FsU3RvcmFnZS1n
ZXRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9ydW50aW1lL3J1bnRpbWUtbG9jYWxTdG9yYWdlLWdldFByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDgxNGJlY2I0ZTM3MmExZDRkYzY1MTg2
NTg4NWZmMGI5YzI5M2Q2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtbG9j
YWxTdG9yYWdlLWdldFByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTIgKzAsMCBAQAotVGVzdHMgUmVtb3RlT2JqZWN0LmdldFByb3BlcnRpZXMgb24gbG9jYWxTdG9y
YWdlIG9iamVjdC4gNjYyMTUKLQotewotICAgIGVudW1lcmFibGUgOiBmYWxzZQotICAgIG5hbWUg
OiAidGVzdFByb3BlcnR5IgotICAgIHZhbHVlIDogewotICAgICAgICBkZXNjcmlwdGlvbiA6ICJ0
ZXN0UHJvcGVydHlWYWx1ZSIKLSAgICAgICAgdHlwZSA6ICJzdHJpbmciCi0gICAgfQotICAgIHdy
aXRhYmxlIDogZmFsc2UKLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0b3JhZ2UtZ2V0UHJvcGVydGllcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1sb2NhbFN0b3Jh
Z2UtZ2V0UHJvcGVydGllcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTEx
YjBiMzczMTVlYzMxM2Y5YzAyMDU0ZWNlODc1YjQ4MDE2YzRhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9ydW50aW1lL3J1bnRpbWUtbG9jYWxTdG9yYWdlLWdldFByb3BlcnRpZXMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotbG9jYWxTdG9yYWdlLnRlc3RQcm9wZXJ0eSA9ICJ0ZXN0UHJvcGVydHlWYWx1ZSI7
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgibG9jYWxT
dG9yYWdlIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IsIHJlc3VsdCwgd2Fz
VGhyb3duKQotICAgIHsKLSAgICAgICAgdmFyIGxvY2FsU3RvcmFnZUhhbmRsZSA9IFdlYkluc3Bl
Y3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KTsKLSAgICAgICAgbG9jYWxTdG9y
YWdlSGFuZGxlLmdldE93blByb3BlcnRpZXMoc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKHByb3BlcnRpZXMpCi0gICAgewotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBy
b3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHByb3Bl
cnRpZXNbaV07Ci0gICAgICAgICAgICBpZiAocHJvcGVydHkubmFtZSAhPT0gInRlc3RQcm9wZXJ0
eSIpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBwcm9wZXJ0eS52YWx1
ZSA9IHsgdHlwZTogcHJvcGVydHkudmFsdWUudHlwZSwgZGVzY3JpcHRpb246IHByb3BlcnR5LnZh
bHVlLmRlc2NyaXB0aW9uIH07ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wKHByb3BlcnR5KTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgUmVtb3RlT2JqZWN0LmdldFByb3BlcnRpZXMg
b24gbG9jYWxTdG9yYWdlIG9iamVjdC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2MjE1Ij42NjIxNTwvYT4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVu
dGltZS1zZXRQcm9wZXJ0eVZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9ydW50aW1lL3J1bnRpbWUtc2V0UHJvcGVydHlWYWx1ZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNzBjOTZlMTFhNWFjNDNlNzY3NTliMGFj
NmNmNjk2ODBhYjYyNjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRpbWUvcnVudGltZS1zZXRQ
cm9wZXJ0eVZhbHVlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogPT09PT0gSW5pdGlhbCA9PT09PQotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDEyOiB7ImZvbyI6MX0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6ID09PT09IFNldCBwcmltaXRpdmUgPT09PT0KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMjogeyJmb28iOjJ9Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6
IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA9PT09PSBTZXQgaGFuZGxlID09PT09Ci1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsiZm9vIjp7ImJhciI6Mn19Ci1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTM6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA9PT09PSBTZXQgdW5kZWZpbmVk
ID09PT09Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHt9Ci1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTM6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA9PT09PSBTZXQgemVybyA9PT09PQot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiB7ImZvbyI6MH0KLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxMzogCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6ID09PT09IFNldCBudWxsID09PT09Ci1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsiZm9vIjpudWxsfQotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEzOiAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogPT09PT0gU2V0IGVtcHR5IHN0cmlu
ZyA9PT09PQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiB7ImZvbyI6IiJ9Ci1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTM6IAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA9PT09PSBTZXQgZXhj
ZXB0aW9uID09PT09Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IHsiZm9vIjoiIn0KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMzogCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6ID09PT09IFNl
dCBub24tZmluaXRlIG51bWJlcnMgPT09PT0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogeyJm
b28iOiJOYU4iLCJmb28xIjoiSW5maW5pdHkiLCJmb28yIjoiLUluZmluaXR5In0KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxMzogCi1UZXN0cyBXZWJJbnNwZWN0b3IuUmVtb3ZlT2JqZWN0LnNldFBy
b3BlcnR5VmFsdWUgaW1wbGVtZW50YXRpb24uCi0KLQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1
bm5pbmc6IHRlc3RTZXRQcmltaXRpdmUKLQotUnVubmluZzogdGVzdFNldEhhbmRsZQotCi1SdW5u
aW5nOiB0ZXN0U2V0VW5kZWZpbmVkCi0KLVJ1bm5pbmc6IHRlc3RTZXRaZXJvCi0KLVJ1bm5pbmc6
IHRlc3RTZXROdWxsCi0KLVJ1bm5pbmc6IHRlc3RTZXRFbXB0eVN0cmluZwotCi1SdW5uaW5nOiB0
ZXN0U2V0RXhjZXB0aW9uCi1leGNlcHRpb24KLQotUnVubmluZzogdGVzdFNldE5vbkZpbml0ZU51
bWJlcnMKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3J1bnRp
bWUvcnVudGltZS1zZXRQcm9wZXJ0eVZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvcnVudGltZS9ydW50aW1lLXNldFByb3BlcnR5VmFsdWUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjBjM2MxYzc4YmViN2NlMGY4YTFmYjQxMGJlZjZmNTI5MDQ2
NTlhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvcnVudGltZS9ydW50aW1lLXNldFByb3BlcnR5VmFs
dWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciBvYmplY3QxID0geyBmb286IDEgfTsKLXZhciBv
YmplY3QyID0geyBiYXI6IDIgfTsKLQotZnVuY3Rpb24gZHVtcE9iamVjdChsYWJlbCkKLXsKLSAg
ICBjb25zb2xlLmxvZygiPT09PT0gIiArIGxhYmVsICsgIiA9PT09PSIpOwotICAgIGNvbnNvbGUu
bG9nKEpTT04uc3RyaW5naWZ5KG9iamVjdDEsIHJlcGxhY2VyKSk7Ci0gICAgY29uc29sZS5sb2co
IiIpOwotCi0gICAgZnVuY3Rpb24gcmVwbGFjZXIoa2V5LCB2YWx1ZSkKLSAgICB7Ci0gICAgICAg
IGlmICh0eXBlb2YgdmFsdWUgPT09ICJudW1iZXIiICYmICFpc0Zpbml0ZSh2YWx1ZSkpCi0gICAg
ICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTsKLSAgICAgICAgcmV0dXJuIHZhbHVlOwotICAg
IH0KLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIG9iajEsIG9iajI7Ci0KLSAgICBJ
bnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVcChu
ZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJkdW1wT2JqZWN0KCdJbml0aWFsJykiLCBzdGVwMCk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAwKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBSdW50aW1lQWdlbnQuZXZh
bHVhdGUoIm9iamVjdDEiLCBzdGVwMSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAxKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBvYmoxID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9h
ZChyZXN1bHQpOwotICAgICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZSgib2JqZWN0
MiIsIHN0ZXAyKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIo
ZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IG9iajIgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7Ci0g
ICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RTZXRQcmltaXRpdmUobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAiMiIsIHN0ZXAxKTsKLQotICAgICAgICAg
ICAgZnVuY3Rpb24gc3RlcDEoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBPYmplY3QoJ1NldCBwcmltaXRpdmUnKSIsIG5l
eHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RT
ZXRIYW5kbGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZh
bHVlKCJmb28iLCAib2JqZWN0MiIsIHN0ZXAxKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3Rl
cDEoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImR1bXBPYmplY3QoJ1NldCBoYW5kbGUnKSIsIG5leHQpOwotICAgICAgICAgICAg
fQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRVbmRlZmluZWQobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAidW5k
ZWZpbmVkIiwgc3RlcDEpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZHVt
cE9iamVjdCgnU2V0IHVuZGVmaW5lZCcpIiwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFNldFplcm8obmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28iLCAiMCIsIHN0ZXAxKTsKLQotICAg
ICAgICAgICAgZnVuY3Rpb24gc3RlcDEoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBPYmplY3QoJ1NldCB6ZXJvJykiLCBu
ZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
U2V0TnVsbChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFs
dWUoImZvbyIsICJudWxsIiwgc3RlcDEpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgiZHVtcE9iamVjdCgnU2V0IG51bGwnKSIsIG5leHQpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRFbXB0eVN0cmluZyhuZXh0KQotICAg
ICAgICB7Ci0gICAgICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFsdWUoImZvbyIsICJcIlwiIiwg
c3RlcDEpOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZHVtcE9iamVjdCgn
U2V0IGVtcHR5IHN0cmluZycpIiwgbmV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdFNldEV4Y2VwdGlvbihuZXh0KQotICAgICAgICB7Ci0gICAg
ICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFsdWUoImZvbyIsICJ0aHJvdyAnZXhjZXB0aW9uJyIs
IHN0ZXAxKTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoZXJyb3IpOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImR1bXBPYmplY3QoJ1Nl
dCBleGNlcHRpb24nKSIsIG5leHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAg
ICAgIGZ1bmN0aW9uIHRlc3RTZXROb25GaW5pdGVOdW1iZXJzKG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIG9iajEuc2V0UHJvcGVydHlWYWx1ZSgiZm9vIiwgIk5hTiIsIHN0ZXAxKTsKLQot
ICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDEoZXJyb3IpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgb2JqMS5zZXRQcm9wZXJ0eVZhbHVlKCJmb28xIiwgIkluZmluaXR5Iiwgc3RlcDIp
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGVwMihlcnJvcikKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBvYmoxLnNldFByb3BlcnR5VmFsdWUoImZvbzIi
LCAiLUluZmluaXR5Iiwgc3RlcDMpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5j
dGlvbiBzdGVwMyhlcnJvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkdW1wT2JqZWN0KCdTZXQgbm9uLWZpbml0ZSBudW1iZXJz
JykiLCBuZXh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIF0pOwotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyBX
ZWJJbnNwZWN0b3IuUmVtb3ZlT2JqZWN0LnNldFByb3BlcnR5VmFsdWUgaW1wbGVtZW50YXRpb24u
Ci08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3NjcmlwdC1leGVj
dXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDkxNTU4YjEyZWU5MmU2NGZlY2ZlMmY3ZjIyOWNiNjExM2M2N2Mx
Y2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5v
dGlmaWNhdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRl
c3RzIHRoYXQgd2hlbmV2ZXIgU2NyaXB0IEV4ZWN1dGlvbiBzdGF0ZSBpcyBjaGFuZ2VkIG91dHNp
ZGUgaW5zcGVjdG9yLCBpdHMgbm90aWZpZWQgdG8gdGhlIEluc3BlY3RvciBmcm9udC1lbmQuCi0K
LVJlZ2lzdGVyZWQgUGFnZURpc3BhdGNoZXIuc2NyaXB0c0VuYWJsZWQoKQotcnVubmluZyBkaXNh
YmxlSmF2YVNjcmlwdFRlc3QuLi4KLVBhZ2VEaXNwYXRjaGVyLnNjcmlwdHNFbmFibGVkIHNob3Vs
ZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPWZhbHNlCi1ydW5uaW5nIGVuYWJsZUphdmFTY3Jp
cHRUZXN0Li4uCi1QYWdlRGlzcGF0Y2hlci5zY3JpcHRzRW5hYmxlZCBzaG91bGQgYmUgaW52b2tl
ZCB3aXRoIGlzRW5hYmxlZD10cnVlCi1GaW5pc2hlZCB2ZXJpZmljYXRpb24uCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zY3JpcHQtZXhlY3V0aW9uLXN0YXRl
LWNoYW5nZS1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24uaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRmMmJkODIzMjc3NjdhNGI5M2I4NGUwZDg1NzJiODRk
NjhjY2E3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFu
Z2Utbm90aWZpY2F0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGVuYWJsZUphdmFTY3Jp
cHRGb3JQYWdlKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRKYXZhU2NyaXB0RW5hYmxlZCIsIHRydWUp
OwotfQotCi1mdW5jdGlvbiBkaXNhYmxlSmF2YVNjcmlwdEZvclBhZ2UoKQotewotICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdEphdmFTY3JpcHRFbmFibGVkIiwgZmFsc2UpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBmdW5jdGlvbiBzY3JpcHRzRW5hYmxlZChpc0VuYWJsZWQpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUGFnZURpc3BhdGNoZXIuc2NyaXB0c0VuYWJsZWQg
c2hvdWxkIGJlIGludm9rZWQgd2l0aCBpc0VuYWJsZWQ9IiArIGlzRW5hYmxlZCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gZGlzYWJsZUphdmFTY3JpcHRUZXN0KCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJydW5uaW5nIGRpc2FibGVKYXZhU2NyaXB0VGVzdC4uLiIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkaXNhYmxlSmF2YVNjcmlw
dEZvclBhZ2UoKTsiLCBlbmFibGVKYXZhU2NyaXB0VGVzdCk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gZW5hYmxlSmF2YVNjcmlwdFRlc3QoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoInJ1bm5pbmcgZW5hYmxlSmF2YVNjcmlwdFRlc3QuLi4iKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZW5hYmxlSmF2YVNjcmlwdEZvclBhZ2UoKTsiLCBm
aW5pc2gpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRmluaXNoZWQgdmVyaWZpY2F0aW9uLiIpCi0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVz
dC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5QYWdlRGlzcGF0Y2hlci5wcm90b3R5cGUsICJzY3Jp
cHRzRW5hYmxlZCIsIHNjcmlwdHNFbmFibGVkLCB0cnVlKTsKLSAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiUmVnaXN0ZXJlZCBQYWdlRGlzcGF0Y2hlci5zY3JpcHRzRW5hYmxlZCgpIik7Ci0g
ICAgZGlzYWJsZUphdmFTY3JpcHRUZXN0KCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgdGhhdCB3aGVuZXZlciBTY3JpcHQgRXhl
Y3V0aW9uIHN0YXRlIGlzIGNoYW5nZWQgb3V0c2lkZSBpbnNwZWN0b3IsIGl0cyBub3RpZmllZCB0
byB0aGUgSW5zcGVjdG9yIGZyb250LWVuZC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1z
dG9yYWdlLWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWVtcHR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOWJjYjk1MjExY2E0OGQ1MWQwNWFkN2E3Njc3MGQ3ZmM3NGY2
MDliYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0
eS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0IHRoYXQg
c3RvcmFnZSBwYW5lbCBpcyBwcmVzZW50IGFuZCB0aGF0IGl0IGNvbnRhaW5zIG5vIGRhdGEgZm9y
IGxvY2FsIGFuZCBzZXNzaW9uIERPTSBzdG9yYWdlcy4KLQotUG9wdWxhdGVkIGxvY2FsIGFuZCBz
ZXNzaW9uIHN0b3JhZ2UKLURpZCBzaG93OiBMb2NhbCBzdG9yYWdlCi1EaWQgc2hvdzogU2Vzc2lv
biBzdG9yYWdlCi1Mb2NhbCBzdG9yYWdlIGNvbnRlbnQ6IAotS2V5VmFsdWUgcGFpcnM6IAotU2Vz
c2lvbiBzdG9yYWdlIGNvbnRlbnQ6IAotS2V5VmFsdWUgcGFpcnM6IAotRE9ORQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3Rv
cmFnZS1lbXB0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2Ut
cGFuZWwtZG9tLXN0b3JhZ2UtZW1wdHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDRiN2YyNjIzZTBmMDIzYTU2Y2NlOGMzYjNiYWQ1NjY0M2JlMDQ1Zi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1lbXB0eS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsNzAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiBjbGVhckRPTVN0b3JhZ2UoKQotewotICAgIGxvY2FsU3RvcmFnZS5jbGVhcigp
OwotICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInJlc291cmNlcyIpOwotCi0gICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXJET01TdG9yYWdlKCkiLCBmdW5jdGlvbihyZXN1bHQp
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBvcHVsYXRlZCBsb2NhbCBhbmQg
c2Vzc2lvbiBzdG9yYWdlIik7Ci0gICAgfSk7Ci0gICAgZnVuY3Rpb24gbmFtZShzdG9yYWdlKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIHN0b3JhZ2UuaXNMb2NhbFN0b3JhZ2UgPyAiTG9jYWwgc3Rv
cmFnZSIgOiAiU2Vzc2lvbiBzdG9yYWdlIjsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1wRGF0
YUdyaWRDb250ZW50KGRhdGFHcmlkKQotICAgIHsKLSAgICAgICAgdmFyIG5vZGVzID0gZGF0YUdy
aWQucm9vdE5vZGUoKS5jaGlsZHJlbjsKLSAgICAgICAgdmFyIHJvd3MgPSBbXTsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFy
IG5vZGUgPSBub2Rlc1tpXTsKLSAgICAgICAgICAgIHJvd3MucHVzaChub2RlLl9kYXRhLmtleSAr
IG5vZGUuX2RhdGEudmFsdWUpOwotICAgICAgICB9Ci0gICAgICAgIHJvd3Muc29ydCgpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiS2V5VmFsdWUgcGFpcnM6ICIgKyByb3dzLmpv
aW4oJycpKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3Bh
dGNoZXMoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBzdG9yYWdlcyA9IFdlYkluc3BlY3Rvci5k
b21TdG9yYWdlTW9kZWwuc3RvcmFnZXMoKTsKLSAgICAgICAgaWYgKHN0b3JhZ2VzKSB7Ci0gICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3JhZ2VzLmxlbmd0aDsgaSsrKSB7Ci0gICAg
ICAgICAgICAgICAgdmFyIHN0b3JhZ2UgPSBzdG9yYWdlc1tpXTsKLSAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fc2hvd0RPTVN0b3JhZ2Uoc3RvcmFnZSk7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRpZCBzaG93OiAiICsgbmFt
ZShzdG9yYWdlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZBSUw6IG5vIERPTSBzdG9yYWdlcyBmb3VuZC4iKTsK
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICB2YXIgc3RvcmFnZXMgPSBXZWJJbnNwZWN0b3IuZG9tU3RvcmFn
ZU1vZGVsLnN0b3JhZ2VzKCk7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3Jh
Z2VzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHN0b3JhZ2UgPSBzdG9yYWdl
c1tpXTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChuYW1lKHN0b3Jh
Z2UpICsgIiBjb250ZW50OiAiKTsKLSAgICAgICAgICAgICAgICB2YXIgdmlldyA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMucmVzb3VyY2VzLl9kb21TdG9yYWdlVmlld3MuZ2V0KHN0b3JhZ2UpOwotICAg
ICAgICAgICAgICAgIGR1bXBEYXRhR3JpZENvbnRlbnQodmlldy5fZGF0YUdyaWQpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRPTkUiKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0pOwotICAg
IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+Ci1UZXN0IHRoYXQgc3RvcmFnZSBwYW5lbCBpcyBwcmVzZW50IGFuZCB0aGF0IGl0IGNv
bnRhaW5zIG5vIGRhdGEgZm9yIGxvY2FsIGFuZCBzZXNzaW9uIERPTSBzdG9yYWdlcy4KLTwvcD4K
LQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MzMyYTFmNWFmN2NjZDg4M2M5ZTg0
OTU4ZTNkMTZiOWU2NDNmZTFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRv
bS1zdG9yYWdlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRl
c3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5kIHRoYXQgaXQgY29udGFpbnMgY29y
cmVjdCBkYXRhIGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00gc3RvcmFnZXMuCi0KLVBvcHVsYXRl
ZCBsb2NhbCBhbmQgc2Vzc2lvbiBzdG9yYWdlCi1EaWQgc2hvdzogTG9jYWwgc3RvcmFnZQotRGlk
IHNob3c6IFNlc3Npb24gc3RvcmFnZQotTG9jYWwgc3RvcmFnZSBjb250ZW50OiAKLUtleVZhbHVl
IHBhaXJzOiBhMD12YWx1ZTAsIGExPXZhbHVlMSwgYTI9dmFsdWUyLCBhMz12YWx1ZTMsIGE0PXZh
bHVlNCwgYTU9dmFsdWU1LCBhNj12YWx1ZTYsIGE3PXZhbHVlNywgYTg9dmFsdWU4LCBhOT12YWx1
ZTksIHJlc291cmNlLWhpc3Rvcnl7fQotU2Vzc2lvbiBzdG9yYWdlIGNvbnRlbnQ6IAotS2V5VmFs
dWUgcGFpcnM6IGIwPXZhbHVlMTAsIGIxPXZhbHVlMTEsIGIyPXZhbHVlMTIsIGIzPXZhbHVlMTMs
IGI0PXZhbHVlMTQsIGI1PXZhbHVlMTUsIGI2PXZhbHVlMTYsIGI3PXZhbHVlMTcsIGI4PXZhbHVl
MTgsIGI5PXZhbHVlMTksIAotRE9ORQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS11cGRhdGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3Jh
Z2UtdXBkYXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTQ0
OTFlMDM5MGYyZDRmYTE0ZTRkNjMyOGM1ZDAwMzhiYmNiZTQ1Ny4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS11cGRhdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMzEgKzAsMCBAQAotVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2Vu
dCBhbmQgdGhhdCBpdCBjb250YWlucyBjb3JyZWN0IGRhdGEgd2hlbmV2ZXIgbG9jYWxTdG9yYWdl
IGlzIHVwZGF0ZWQuCi0KLQotUnVubmluZzogaW5pdGlhbGl6ZQotSW5pdGlhbGl6ZWQgbG9jYWxT
dG9yYWdlIGJ5IGNsZWFyaW5nIGVudHJpZXMKLQotUnVubmluZzogdXBkYXRlTG9jYWxTdG9yYWdl
VmlldwotUmVzb3VyY2UgUGFuZWwgd2l0aCBsb2NhbFN0b3JhZ2UgdmlldyB1cGRhdGVkCi0KLVJ1
bm5pbmc6IGFkZEl0ZW1UZXN0Ci1hZGRJdGVtKCdhMScsJz12YWx1ZTEnKQotS2V5VmFsdWUgcGFp
cnM6IFthMT12YWx1ZTFdCi1hZGRJdGVtKCdhMicsJz12YWx1ZTInKQotS2V5VmFsdWUgcGFpcnM6
IFthMT12YWx1ZTEsYTI9dmFsdWUyXQotYWRkSXRlbSgnYTMnLCc9dmFsdWUzJykKLUtleVZhbHVl
IHBhaXJzOiBbYTE9dmFsdWUxLGEyPXZhbHVlMixhMz12YWx1ZTNdCi1hZGRJdGVtKCdhNCcsJz12
YWx1ZTQnKQotS2V5VmFsdWUgcGFpcnM6IFthMT12YWx1ZTEsYTI9dmFsdWUyLGEzPXZhbHVlMyxh
ND12YWx1ZTRdCi1hZGRJdGVtKCdhNScsJz12YWx1ZTUnKQotS2V5VmFsdWUgcGFpcnM6IFthMT12
YWx1ZTEsYTI9dmFsdWUyLGEzPXZhbHVlMyxhND12YWx1ZTQsYTU9dmFsdWU1XQotCi1SdW5uaW5n
OiByZW1vdmVJdGVtVGVzdAotcmVtb3ZlSXRlbSgnYTUnKQotS2V5VmFsdWUgcGFpcnM6IFthMT12
YWx1ZTEsYTI9dmFsdWUyLGEzPXZhbHVlMyxhND12YWx1ZTRdCi1yZW1vdmVJdGVtKCdhNCcpCi1L
ZXlWYWx1ZSBwYWlyczogW2ExPXZhbHVlMSxhMj12YWx1ZTIsYTM9dmFsdWUzXQotCi1SdW5uaW5n
OiBjbGVhclRlc3QKLWNsZWFyKCkKLUtleVZhbHVlIHBhaXJzOiBbXQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS11
cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVs
LWRvbS1zdG9yYWdlLXVwZGF0ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
OGRjYWQ5MzgyZTQ2YmI1NmY5OTZhOTdmOTBhOWRmYzczNjUxMjZkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLXVwZGF0ZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTcxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1
bmN0aW9uIGFkZEl0ZW0oa2V5LHZhbHVlKQotewotICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtl
eSx2YWx1ZSk7Ci19Ci0KLWZ1bmN0aW9uIHJlbW92ZUl0ZW0oa2V5KQotewotICAgIGxvY2FsU3Rv
cmFnZS5yZW1vdmVJdGVtKGtleSk7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFyKCkKLXsKLSAgICBsb2Nh
bFN0b3JhZ2UuY2xlYXIoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIHN0b3Jh
Z2UgPSBudWxsOwotICAgIHZhciByb290Tm9kZSA9IG51bGw7Ci0gICAgdmFyIGNvdW50ID0gMTsK
LQotICAgIC8vIFJlc291cmNlcyBwYW5lbCBtdXN0IGJlIHZpc2libGUKLSAgICBXZWJJbnNwZWN0
b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLQotICAgIGZ1bmN0aW9uIGR1bXBEYXRhR3JpZCgp
Ci0gICAgewotICAgICAgICB2YXIgbm9kZXMgPSByb290Tm9kZS5jaGlsZHJlbjsKLSAgICAgICAg
dmFyIHJvd3MgPSBbXTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7
ICsraSkgewotICAgICAgICAgICAgdmFyIG5vZGUgPSBub2Rlc1tpXTsKLSAgICAgICAgICAgIGlm
IChub2RlLl9kYXRhLmtleS5sZW5ndGgpCi0gICAgICAgICAgICAgICAgcm93cy5wdXNoKG5vZGUu
X2RhdGEua2V5ICsgbm9kZS5fZGF0YS52YWx1ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcm93cy5z
b3J0KCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJLZXlWYWx1ZSBwYWlyczog
WyIgKyByb3dzLmpvaW4oKSArICJdIik7Ci0gICAgfQotCi0gICAgdmFyIG5leHRET01TdG9yYWdl
Q2xlYXJIYW5kbGVyID0gbnVsbDsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5z
cGVjdG9yLkRPTVN0b3JhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZSwgImRvbVN0b3JhZ2VJdGVtc0Ns
ZWFyZWQiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKG5leHRET01TdG9yYWdlQ2xlYXJIYW5k
bGVyKSB7Ci0gICAgICAgICAgICB2YXIgaGFuZGxlciA9IG5leHRET01TdG9yYWdlQ2xlYXJIYW5k
bGVyOwotICAgICAgICAgICAgbmV4dERPTVN0b3JhZ2VDbGVhckhhbmRsZXIgPSBudWxsOwotICAg
ICAgICAgICAgaGFuZGxlcigpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJFUlJPUjogZG9tU3RvcmFnZUl0ZW1zQ2xlYXJlZCBldmVudCB3aXRo
b3V0IGhhbmRsZXIiKTsKLSAgICB9LCB0cnVlKTsKLQotICAgIHZhciBuZXh0RE9NU3RvcmFnZUFk
ZEhhbmRsZXIgPSBudWxsOwotICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0
b3IuRE9NU3RvcmFnZURpc3BhdGNoZXIucHJvdG90eXBlLCAiZG9tU3RvcmFnZUl0ZW1BZGRlZCIs
IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAobmV4dERPTVN0b3JhZ2VBZGRIYW5kbGVyKSB7Ci0g
ICAgICAgICAgICB2YXIgaGFuZGxlciA9IG5leHRET01TdG9yYWdlQWRkSGFuZGxlcjsKLSAgICAg
ICAgICAgIG5leHRET01TdG9yYWdlQWRkSGFuZGxlciA9IG51bGw7Ci0gICAgICAgICAgICBoYW5k
bGVyKCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkVSUk9SOiBkb21TdG9yYWdlSXRlbUFkZGVkIGV2ZW50IHdpdGhvdXQgaGFuZGxlciIpOwot
ICAgIH0sIHRydWUpOwotCi0gICAgdmFyIG5leHRET01TdG9yYWdlUmVtb3ZlSGFuZGxlciA9IG51
bGw7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5ET01TdG9yYWdl
RGlzcGF0Y2hlci5wcm90b3R5cGUsICJkb21TdG9yYWdlSXRlbVJlbW92ZWQiLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgaWYgKG5leHRET01TdG9yYWdlUmVtb3ZlSGFuZGxlcikgewotICAgICAgICAg
ICAgdmFyIGhhbmRsZXIgPSBuZXh0RE9NU3RvcmFnZVJlbW92ZUhhbmRsZXI7Ci0gICAgICAgICAg
ICBuZXh0RE9NU3RvcmFnZVJlbW92ZUhhbmRsZXIgPSBudWxsOwotICAgICAgICAgICAgaGFuZGxl
cigpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJFUlJPUjogZG9tU3RvcmFnZUl0ZW1SZW1vdmVkIGV2ZW50IHdpdGhvdXQgaGFuZGxlciIpOwot
ICAgIH0sIHRydWUpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAg
ICBmdW5jdGlvbiBpbml0aWFsaXplKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZ1bmN0
aW9uIGRpZENsZWFyKHJlc3VsdCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiSW5pdGlhbGl6ZWQgbG9jYWxTdG9yYWdlIGJ5IGNsZWFyaW5n
IGVudHJpZXMiKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIG5leHRET01TdG9yYWdlQ2xlYXJIYW5kbGVyID0gZGlkQ2xlYXI7Ci0KLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNsZWFyKCkiKTsKLSAgICAgICAg
fSwKLQotICAgICAgICBmdW5jdGlvbiB1cGRhdGVMb2NhbFN0b3JhZ2VWaWV3KG5leHQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGxvY2FsU3RvcmFnZVZpZXdVcGRhdGVkKCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByb290Tm9kZSA9IFdlYkluc3BlY3Rvci5wYW5l
bHMucmVzb3VyY2VzLl9kb21TdG9yYWdlVmlld3MuZ2V0KHN0b3JhZ2UpLl9kYXRhR3JpZC5yb290
Tm9kZSgpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZXNvdXJj
ZSBQYW5lbCB3aXRoIGxvY2FsU3RvcmFnZSB2aWV3IHVwZGF0ZWQiKTsKLSAgICAgICAgICAgICAg
ICBuZXh0KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZhciBkaWRGaW5kU3RvcmFn
ZSA9IGZhbHNlOwotCi0gICAgICAgICAgICB2YXIgc3RvcmFnZXMgPSBXZWJJbnNwZWN0b3IuZG9t
U3RvcmFnZU1vZGVsLnN0b3JhZ2VzKCk7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHN0b3JhZ2VzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgc3RvcmFnZSA9IHN0b3Jh
Z2VzW2ldOwotICAgICAgICAgICAgICAgIGlmIChzdG9yYWdlLmlzTG9jYWxTdG9yYWdlKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9zaG93RE9N
U3RvcmFnZShzdG9yYWdlKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5B
ZnRlclBlbmRpbmdEaXNwYXRjaGVzKGxvY2FsU3RvcmFnZVZpZXdVcGRhdGVkKTsKLSAgICAgICAg
ICAgICAgICAgICAgZGlkRmluZFN0b3JhZ2UgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlm
ICghZGlkRmluZFN0b3JhZ2UpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoImRpZCBub3QgZmluZCBsb2NhbCBzdG9yYWdlIik7Ci0gICAgICAgIH0sCi0KLSAgICAgICAg
ZnVuY3Rpb24gYWRkSXRlbVRlc3QobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rp
b24gdmlld1VwZGF0ZWRBZnRlckFkZGl0aW9uKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICByb290Tm9kZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9kb21TdG9yYWdl
Vmlld3MuZ2V0KHN0b3JhZ2UpLl9kYXRhR3JpZC5yb290Tm9kZSgpOwotICAgICAgICAgICAgICAg
IGR1bXBEYXRhR3JpZCgpOwotICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDYpCi0gICAgICAg
ICAgICAgICAgICAgIGFkZEl0ZW1UZXN0KG5leHQpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBu
ZXh0RE9NU3RvcmFnZUFkZEhhbmRsZXIgPSB2aWV3VXBkYXRlZEFmdGVyQWRkaXRpb247Ci0KLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJhZGRJdGVtKCdhIitjb3VudCsiJywn
PXZhbHVlIitjb3VudCsiJykiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImFkZEl0ZW0oJ2EiK2NvdW50KyInLCc9dmFsdWUiK2NvdW50KyInKSIpOwotICAgICAg
ICAgICAgY291bnQrKzsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiByZW1vdmVJdGVt
VGVzdChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiB2aWV3VXBkYXRlZEFm
dGVyUmVtb3ZhbCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcm9vdE5vZGUgPSBX
ZWJJbnNwZWN0b3IucGFuZWxzLnJlc291cmNlcy5fZG9tU3RvcmFnZVZpZXdzLmdldChzdG9yYWdl
KS5fZGF0YUdyaWQucm9vdE5vZGUoKTsKLSAgICAgICAgICAgICAgICBkdW1wRGF0YUdyaWQoKTsK
LSAgICAgICAgICAgICAgICBpZiAoY291bnQgPiA0KQotICAgICAgICAgICAgICAgICAgICByZW1v
dmVJdGVtVGVzdChuZXh0KTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
ICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgbmV4dERPTVN0b3JhZ2VS
ZW1vdmVIYW5kbGVyID0gdmlld1VwZGF0ZWRBZnRlclJlbW92YWw7Ci0KLSAgICAgICAgICAgIC0t
Y291bnQ7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVtb3ZlSXRlbSgn
YSIrY291bnQrIicpIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJyZW1vdmVJdGVtKCdhIitjb3VudCsiJykiKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5j
dGlvbiBjbGVhclRlc3QobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZnVuY3Rpb24gdmll
d1VwZGF0ZWRBZnRlckNsZWFyKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByb290
Tm9kZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9kb21TdG9yYWdlVmlld3MuZ2V0
KHN0b3JhZ2UpLl9kYXRhR3JpZC5yb290Tm9kZSgpOwotICAgICAgICAgICAgICAgIGR1bXBEYXRh
R3JpZCgpOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgbmV4dERPTVN0b3JhZ2VDbGVhckhhbmRsZXIgPSB2aWV3VXBkYXRlZEFmdGVyQ2xlYXI7
Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJjbGVhcigpIik7Ci0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjbGVhcigpIik7Ci0gICAgICAg
IH0KLSAgICBdKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+VGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBhbmQgdGhhdCBpdCBj
b250YWlucyBjb3JyZWN0IGRhdGEgd2hlbmV2ZXIgbG9jYWxTdG9yYWdlIGlzIHVwZGF0ZWQuPC9w
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGVlYzdiZDE2ZjgyMWFjOWI2NTNlMWUxOTE2ZGQwMzUzOGE4ZmRi
NjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotZnVuY3Rpb24gcG9wdWxhdGVET01TdG9yYWdlKCkKLXsKLSAgICBsb2NhbFN0
b3JhZ2UuY2xlYXIoKTsKLSAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOwotICAgIGxvY2FsU3Rv
cmFnZVsicmVzb3VyY2UtaGlzdG9yeSJdID0gInt9IjsgLy8gVGhpcyBtaXRpZ2F0ZXMgZmlsZTov
LyBsb2NhbHN0b3JhZ2UgY29uZmxpY3QuCi0gICAgLy8gRmlsbCBsb2NhbCBhbmQgc2Vzc2lvbiBz
dG9yYWdlIHdpdGggc29tZSByYW5kb20gc3RyaW5ncy4KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDEwOyBpKyspIHsKLSAgICAgICAgbG9jYWxTdG9yYWdlWyJhIiArIGldID0gIj12YWx1ZSIgKyBp
ICsgIiwgIjsKLSAgICAgICAgc2Vzc2lvblN0b3JhZ2VbImIiICsgaV0gPSAiPXZhbHVlIiArIChp
KzEwKSArICIsICI7Ci0gICAgfQotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNw
ZWN0b3Iuc2hvd1BhbmVsKCJyZXNvdXJjZXMiKTsKLQotICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInBvcHVsYXRlRE9NU3RvcmFnZSgpIiwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3B1bGF0ZWQgbG9jYWwgYW5kIHNlc3Npb24g
c3RvcmFnZSIpOwotICAgIH0pOwotICAgIGZ1bmN0aW9uIG5hbWUoc3RvcmFnZSkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBzdG9yYWdlLmlzTG9jYWxTdG9yYWdlID8gIkxvY2FsIHN0b3JhZ2UiIDog
IlNlc3Npb24gc3RvcmFnZSI7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZHVtcERhdGFHcmlkQ29u
dGVudChkYXRhR3JpZCkKLSAgICB7Ci0gICAgICAgIHZhciBub2RlcyA9IGRhdGFHcmlkLnJvb3RO
b2RlKCkuY2hpbGRyZW47Ci0gICAgICAgIHZhciByb3dzID0gW107Ci0gICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBub2RlID0g
bm9kZXNbaV07Ci0gICAgICAgICAgICByb3dzLnB1c2gobm9kZS5fZGF0YS5rZXkgKyBub2RlLl9k
YXRhLnZhbHVlKTsKLSAgICAgICAgfQotICAgICAgICByb3dzLnNvcnQoKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIktleVZhbHVlIHBhaXJzOiAiICsgcm93cy5qb2luKCcnKSk7
Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGZ1
bmN0aW9uKCkgewotICAgICAgICB2YXIgc3RvcmFnZXMgPSBXZWJJbnNwZWN0b3IuZG9tU3RvcmFn
ZU1vZGVsLnN0b3JhZ2VzKCk7Ci0gICAgICAgIGlmIChzdG9yYWdlcykgewotICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yYWdlcy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAg
ICAgIHZhciBzdG9yYWdlID0gc3RvcmFnZXNbaV07Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLnBhbmVscy5yZXNvdXJjZXMuX3Nob3dET01TdG9yYWdlKHN0b3JhZ2UpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWQgc2hvdzogIiArIG5hbWUoc3RvcmFn
ZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJGQUlMOiBubyBET00gc3RvcmFnZXMgZm91bmQuIik7Ci0KLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9yLmRvbVN0b3JhZ2VNb2RlbC5z
dG9yYWdlcygpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yYWdlcy5sZW5n
dGg7IGkrKykgewotICAgICAgICAgICAgICAgIHZhciBzdG9yYWdlID0gc3RvcmFnZXNbaV07Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQobmFtZShzdG9yYWdlKSArICIg
Y29udGVudDogIik7Ci0gICAgICAgICAgICAgICAgdmFyIHZpZXcgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLnJlc291cmNlcy5fZG9tU3RvcmFnZVZpZXdzLmdldChzdG9yYWdlKTsKLSAgICAgICAgICAg
ICAgICBkdW1wRGF0YUdyaWRDb250ZW50KHZpZXcuX2RhdGFHcmlkKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJET05FIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0K
LQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBhbmQgdGhhdCBpdCBjb250YWlucyBj
b3JyZWN0IGRhdGEgZm9yIGxvY2FsIGFuZCBzZXNzaW9uIERPTSBzdG9yYWdlcy4KLTwvcD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9hZGQtbmV3LXJ1bGUtaW5saW5lLXN0eWxlLWNzcC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS1pbmxpbmUt
c3R5bGUtY3NwLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzA5
NTA2YzI0NzAwNDg5Yzk0YjNlNGFlZDczMTUyMjBmNTdiZjhlNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL2FkZC1uZXctcnVsZS1pbmxpbmUtc3R5bGUtY3NwLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUg
ZG9lcyBub3QgY3Jhc2ggdGhlIHJlbmRlcmVyIGFuZCBtb2RpZnlpbmcgYW4gaW5saW5lIHN0eWxl
IGRvZXMgbm90IHJlcG9ydCBlcnJvcnMgd2hlbiBmb3JiaWRkZW4gYnkgQ29udGVudC1TZWN1cml0
eS1Qb2xpY3kuCi0KLVRleHQKLQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRlc3RB
ZGRSdWxlCi09PT0gUnVsZSBhZGRlZCA9PT0KLSNpbnNwZWN0ZWQge30KLUFmZmVjdHMgc2VsZWN0
ZWQgKCNpbnNwZWN0ZWQpIG5vZGU6IHRydWUKLQotUnVubmluZzogdGVzdEFkZFByb3BlcnR5Ci09
PT0gQWRkZWQgcnVsZSBtb2RpZmllZCA9PT0KLXdpZHRoOiAxMDAlOwotPT09IFNlbGVjdG9yIGNo
YW5nZWQgPT09Ci1ib2R5IHsKLSAgICB3aWR0aDogMTAwJTsKLX0KLUFmZmVjdHMgc2VsZWN0ZWQg
KCNpbnNwZWN0ZWQpIG5vZGU6IGZhbHNlCi0KLVJ1bm5pbmc6IHRlc3RNb2RpZnlJbmxpbmVTdHls
ZQotPT09IElubGluZSBzdHlsZSBtb2RpZmllZCA9PT0KLWZvbnQtc2l6ZTogMTRweDsKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9hZGQtbmV3LXJ1
bGUtaW5saW5lLXN0eWxlLWNzcC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9hZGQtbmV3LXJ1bGUtaW5saW5lLXN0eWxlLWNzcC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzNjc2NTg1ZTg3ZmFiMDU5NTZlNTA5YzZlNGRkMjdmNWFhN2JkMWYw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWlubGluZS1zdHlsZS1j
c3AuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyNyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PG1ldGEgaHR0cC1lcXVpdj0ieC13ZWJraXQtY3NwIiBjb250ZW50PSJzdHlsZS1zcmMgaHR0cHM6
Ly8qOjQ0MyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgdmFyIG5vZGVJZDsKLSAgICB2YXIgcnVsZTsKLQotICAgIFdlYkluc3Bl
Y3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3Vp
dGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0VXAobmV4dCkgewotICAgICAgICAgIEluc3Bl
Y3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIG5leHQpOwot
ICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RBZGRSdWxlKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHZhciBpZFRvRE9NTm9kZSA9IFdlYkluc3BlY3Rvci5kb21BZ2VudC5f
aWRUb0RPTU5vZGU7Ci0gICAgICAgICAgICBmb3IgKHZhciBpZCBpbiBpZFRvRE9NTm9kZSkgewot
ICAgICAgICAgICAgICAgIG5vZGUgPSBpZFRvRE9NTm9kZVtpZF07Ci0gICAgICAgICAgICAgICAg
aWYgKG5vZGUuZ2V0QXR0cmlidXRlICYmIG5vZGUuZ2V0QXR0cmlidXRlKCJpZCIpID09PSAiaW5z
cGVjdGVkIikgewotICAgICAgICAgICAgICAgICAgICBub2RlSWQgPSBwYXJzZUludChpZCwgMTAp
OwotICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuYWRkUnVsZShub2Rl
SWQsICIjaW5zcGVjdGVkIiwgc3VjY2Vzc0NhbGxiYWNrLCBmYWlsdXJlQ2FsbGJhY2spOwotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjayhuZXdSdWxlLCBkb2VzQWZm
ZWN0U2VsZWN0ZWROb2RlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJ1bGUgPSBu
ZXdSdWxlOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gUnVs
ZSBhZGRlZCA9PT0iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChy
dWxlLnNlbGVjdG9yVGV4dCArICIgeyIgKyBydWxlLnN0eWxlLmNzc1RleHQgKyAifSIpOwotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZmZlY3RzIHNlbGVjdGVkICgj
aW5zcGVjdGVkKSBub2RlOiAiICsgZG9lc0FmZmVjdFNlbGVjdGVkTm9kZSk7Ci0gICAgICAgICAg
ICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBmYWls
dXJlQ2FsbGJhY2soKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJbIV0gRmFpbGVkIHRvIGFkZCBydWxlLiIpOwotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEFkZFByb3BlcnR5KG5leHQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHJ1bGUuc3R5bGUuYXBwZW5kUHJvcGVydHkoIndpZHRoIiwgIjEwMCUiLCBjYWxs
YmFjayk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKG5ld1N0eWxlKQotICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQWRk
ZWQgcnVsZSBtb2RpZmllZCA9PT0iKTsKLSAgICAgICAgICAgICAgICBpZiAoIW5ld1N0eWxlKSB7
Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gTm8gdmFs
aWQgcnVsZSBzdHlsZSByZWNlaXZlZCIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGR1bXBQcm9wZXJ0aWVzKG5ld1N0eWxlKTsKLSAgICAgICAgICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmNzc01vZGVsLnNldFJ1bGVTZWxlY3RvcihydWxlLmlkLCBub2RlSWQsICJi
b2R5Iiwgc3VjY2Vzc0NhbGxiYWNrLCBmYWlsdXJlQ2FsbGJhY2spOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNr
KHJ1bGUsIGRvZXNBZmZlY3RTZWxlY3RlZE5vZGUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBTZWxlY3RvciBjaGFuZ2VkID09PSIp
OwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJ1bGUuc2VsZWN0b3JU
ZXh0ICsgIiB7IiArIHJ1bGUuc3R5bGUuY3NzVGV4dCArICJ9Iik7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmZmVjdHMgc2VsZWN0ZWQgKCNpbnNwZWN0ZWQpIG5v
ZGU6ICIgKyBkb2VzQWZmZWN0U2VsZWN0ZWROb2RlKTsKLQotICAgICAgICAgICAgICAgIG5leHQo
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gZmFpbHVyZUNhbGxiYWNr
KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiWyFdIEZhaWxlZCB0byBjaGFuZ2Ugc2VsZWN0b3IiKTsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RNb2RpZnlJbmxpbmVTdHlsZShuZXh0KQotICAgICAgICB7Ci0g
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuZ2V0SW5saW5lU3R5bGVzQXN5bmMobm9k
ZUlkLCBzdHlsZXNDYWxsYmFjayk7Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0eWxlc0NhbGxi
YWNrKGlubGluZVN0eWxlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmICghaW5s
aW5lU3R5bGUpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRl
c3QoKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBpbmxpbmVTdHlsZS5hcHBlbmRQcm9wZXJ0eSgiZm9udC1zaXplIiwgIjE0
cHgiLCBhcHBlbmRDYWxsYmFjayk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZ1bmN0
aW9uIGFwcGVuZENhbGxiYWNrKG5ld1N0eWxlKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gSW5saW5lIHN0eWxlIG1vZGlmaWVkID09
PSIpOwotICAgICAgICAgICAgICAgIGlmICghbmV3U3R5bGUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5vIHZhbGlkIGlubGluZSBzdHlsZSByZWNlaXZl
ZCIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwot
ICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgZHVtcFByb3BlcnRpZXMobmV3U3R5bGUpOwotICAgICAgICAgICAgICAgIG5leHQo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIF0pOwotCi0gICAgZnVuY3Rpb24gZHVt
cFByb3BlcnRpZXMoc3R5bGUpCi0gICAgewotICAgICAgIGlmICghc3R5bGUpCi0gICAgICAgICAg
IHJldHVybjsKLSAgICAgICB2YXIgYWxsUHJvcGVydGllcyA9IHN0eWxlLmFsbFByb3BlcnRpZXM7
Ci0gICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbGxQcm9wZXJ0aWVzLmxlbmd0aDsgKytpKQot
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChhbGxQcm9wZXJ0aWVzW2ldLnRleHQp
OwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgZG9lcyBub3QgY3Jhc2ggdGhl
IHJlbmRlcmVyIGFuZCBtb2RpZnlpbmcgYW4gaW5saW5lIHN0eWxlIGRvZXMgbm90IHJlcG9ydCBl
cnJvcnMgd2hlbiBmb3JiaWRkZW4gYnkgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kuCi08L3A+Ci0K
LTxkaXYgaWQ9Imluc3BlY3RlZCI+VGV4dDwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVs
ZS1pbnZhbGlkLXNlbGVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWludmFsaWQtc2VsZWN0b3ItZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjcyMzFmZWY3MmRiOTExNjkxN2ZiODI5
ZDZhOWNlMjhlMmU2MjdiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxl
LWludmFsaWQtc2VsZWN0b3ItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAs
MCBAQAotVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcgcnVsZSB3aXRoIGludmFsaWQgc2VsZWN0b3Ig
d29ya3MgYXMgZXhwZWN0ZWQuCi0KLVRleHQKLQotUnVubmluZzogaW5pdAotCi1SdW5uaW5nOiBr
ZXlmcmFtZXNSdWxlU2VsZWN0b3IKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0K
LT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotZGl2ICB7
ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvYWRkLW5ldy1ydWxlLWlu
dmFsaWQtc2VsZWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvYWRkLW5ldy1ydWxlLWludmFsaWQtc2VsZWN0b3IuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMTUwMTQ2MTJkYzliNmEyZGExMjQ4ZjU3ZTUyN2QzYjc3NTEyNTEwNS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS1pbnZhbGlkLXNlbGVjdG9yLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIElu
c3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gaW5pdChuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygi
aW5zcGVjdGVkIiwgbmV4dCk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24ga2V5ZnJh
bWVzUnVsZVNlbGVjdG9yKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8vIENsaWNrICJB
ZGQgbmV3IHJ1bGUiLgotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFkZC1z
dHlsZS1idXR0b24tdGVzdC1pZCIpLmNsaWNrKCk7Ci0gICAgICAgICAgICB2YXIgc2VjdGlvbiA9
IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9u
c1swXVsyXTsKLSAgICAgICAgICAgIHNlY3Rpb24uX3NlbGVjdG9yRWxlbWVudC50ZXh0Q29udGVu
dCA9ICJALXdlYmtpdC1rZXlmcmFtZXMgc2hha2UiOwotICAgICAgICAgICAgc2VjdGlvbi5fc2Vs
ZWN0b3JFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgi
RW50ZXIiKSk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3Bh
dGNoZXMoY2FsbGJhY2spOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVt
ZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICBuZXh0KCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICBdKTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBhZGRpbmcgYSBu
ZXcgcnVsZSB3aXRoIGludmFsaWQgc2VsZWN0b3Igd29ya3MgYXMgZXhwZWN0ZWQuCi08L3A+Ci0K
LTxkaXYgaWQ9Imluc3BlY3RlZCI+VGV4dDwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVs
ZS13aXRoLXN0eWxlLWFmdGVyLWJvZHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3N0eWxlcy9hZGQtbmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRlci1ib2R5LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODI5YzY0NzRmMTZmYTY0
NDBlMzRkZGVhNjI3YzFhOGZiZGViNDhjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2Fk
ZC1uZXctcnVsZS13aXRoLXN0eWxlLWFmdGVyLWJvZHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjAgKzAsMCBAQAotVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcgcnVsZSB3b3JrcyB3
aGVuIHRoZXJlIGlzIGEgU1RZTEUgZWxlbWVudCBhZnRlciBCT0RZLiBUSU1FT1VUIFNIT1VMRCBO
T1QgT0NDVVIhIEJ1ZyAxMTEyOTkKLQotVGV4dAotQWZ0ZXIgYWRkaW5nIG5ldyBydWxlOgotW2V4
cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLWZvbnQtc2l6ZTogMTJweDsKLQotW2V4cGFu
ZGVkXSBbbm8tYWZmZWN0XSAKLWluc3BlY3RlZCAgeyAoaW5zcGVjdG9yLXN0eWxlc2hlZXQ6MSkK
LWNvbG9yOiBtYXJvb247Ci06IDsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09
PT0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6
IGJsb2NrOwotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9hZGQtbmV3LXJ1bGUtd2l0aC1zdHlsZS1hZnRlci1ib2R5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2FkZC1uZXctcnVsZS13aXRoLXN0eWxlLWFm
dGVyLWJvZHkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODViY2MxM2JmNzhj
MTFmNjhlMjg4MjFmZTk5NWRhYTcxMTdhYjlhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L2FkZC1uZXctcnVsZS13aXRoLXN0eWxlLWFmdGVyLWJvZHkuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIGFkZFN0eWxlKCkKLXsKLSAgICB2YXIgc3R5bGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwotICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5h
cHBlbmRDaGlsZChzdHlsZSk7Ci0gICAgc3R5bGUuc2hlZXQuaW5zZXJ0UnVsZSgiZm9vIHtkaXNw
bGF5OiBub25lO30iLCAwKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVj
dG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJhZGRTdHlsZSgpIiwgc3RlcDApOwotCi0gICAgZnVuY3Rpb24gc3RlcDAoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaW5zcGVj
dGVkIiwgc3RlcDEpOwotICAgIH0KLQotICAgIHZhciB0cmVlRWxlbWVudDsKLSAgICB2YXIgaGFz
UmVzb3VyY2VDaGFuZ2VkOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAg
Ly8gQ2xpY2sgIkFkZCBuZXcgcnVsZSIuCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJhZGQtc3R5bGUtYnV0dG9uLXRlc3QtaWQiKS5jbGljaygpOwotICAgICAgICB2YXIgc2VjdGlv
biA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0
aW9uc1swXVsyXTsKLSAgICAgICAgc2VjdGlvbi5fc2VsZWN0b3JFbGVtZW50LnRleHRDb250ZW50
ID0gImluc3BlY3RlZCI7Ci0gICAgICAgIHNlY3Rpb24uX3NlbGVjdG9yRWxlbWVudC5kaXNwYXRj
aEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDIpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIHZhciBzZWN0aW9uID0gV2ViSW5z
cGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdWzJd
OwotICAgICAgICB2YXIgbmV3UHJvcGVydHkgPSBzZWN0aW9uLmFkZE5ld0JsYW5rUHJvcGVydHko
KTsKLSAgICAgICAgbmV3UHJvcGVydHkuc3RhcnRFZGl0aW5nKCk7Ci0gICAgICAgIG5ld1Byb3Bl
cnR5Lm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gImNvbG9yIjsKLSAgICAgICAgbmV3UHJvcGVy
dHkubmFtZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50
KCJFbnRlciIpKTsKLSAgICAgICAgbmV3UHJvcGVydHkudmFsdWVFbGVtZW50LnRleHRDb250ZW50
ID0gIm1hcm9vbiI7Ci0gICAgICAgIG5ld1Byb3BlcnR5LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2
ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQWZ0ZXIgYWRkaW5nIG5ldyBydWxlOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0K
LTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcg
cnVsZSB3b3JrcyB3aGVuIHRoZXJlIGlzIGEgU1RZTEUgZWxlbWVudCBhZnRlciBCT0RZLiBUSU1F
T1VUIFNIT1VMRCBOT1QgT0NDVVIhIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTEyOTkiPkJ1ZyAxMTEyOTk8L2E+Ci08L3A+Ci0KLTxkaXYgaWQ9Imlu
c3BlY3RlZCIgc3R5bGU9ImZvbnQtc2l6ZTogMTJweCI+VGV4dDwvZGl2PgotCi08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L2dldC1zZXQtc3R5bGVzaGVldC10ZXh0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvZ2V0LXNldC1zdHlsZXNoZWV0LXRleHQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3N2I5NTg5NTg3MzYwNmI4MjU3MDRiMzcw
NTlmNWM4OGE2NzM5YjlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvZ2V0LXNldC1zdHls
ZXNoZWV0LXRleHQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAot
VGVzdHMgdGhhdCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVTaGVldCBtZXRob2RzIHdvcmsgYXMgZXhw
ZWN0ZWQuCi0KLUluc3BlY3QgTWUKLQotCi1SdW5uaW5nOiB0ZXN0U2V0VGV4dAotPT09IE9yaWdp
bmFsIHN0eWxlc2hlZXQgdGV4dDogPT09Ci1ib2R5IHsKLSAgICBmb250LXNpemU6IDEycHg7Ci0g
ICAgZm9vOiBiYXIgIQotCi0gICAgaW1wb3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90
IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAqLzsKLSAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsK
LSAgICBjb2xvcno6ICIhaW1wb3J0YW50IjsKLSAgICBpbXBvcnRhbnQ6IWltcG9ydGFudDsKLSAg
ICBjb2xvcjogImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3Ry
YW5nZSB2YWx1ZSAqLzsKLX0KLQotQG1lZGlhIHsKLSAgICAvKiBAbWVkaWEgcnVsZSB3aXRoIGFu
IGVtcHR5IG1lZGlhIGxpc3QgKi8KLX0KLQotLyogY29tbWVudCBiZWZvcmUgc2VsZWN0b3IgKi9i
b2R5Lm1haW4xLyogY29tbWVudCBhZnRlciBzZWxlY3RvciAqL3svKiBjb21tZW50ICovY29sb3I6
ICNGMDBCQUE7em9vOm1vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVy
dHkgKi99LyogY29tbWVudCAqLwotCi1ib2R5Lm1haW4ye2JhY2tncm91bmQ6IGdyZWVuIC8qIHZh
bHVlICFpbXBvcnRhbnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVy
eSAhaW1wb3J0YW50ICovfQotCi0KLVJ1bm5pbmc6IHRlc3ROZXdFbGVtZW50U3R5bGVzCi09PT0g
TWF0Y2hlZCBydWxlcyBmb3IgaDEgYWZ0ZXIgc2V0VGV4dCgpID09PQotCi1ydWxlCi1oMTogW3Vz
ZXItYWdlbnRdCi1bJ2Rpc3BsYXknOidibG9jayddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLVsnZm9udC1zaXplJzonMmVtJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWyct
d2Via2l0LW1hcmdpbi1iZWZvcmUnOicwLjY3ZW0nXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCi1bJy13ZWJraXQtbWFyZ2luLWFmdGVyJzonMC42N2VtJ10gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotWyctd2Via2l0LW1hcmdpbi1zdGFydCc6JzBweCddIEBbdW5kZWZpbmVkLXVu
ZGVmaW5lZF0gc3R5bGUKLVsnLXdlYmtpdC1tYXJnaW4tZW5kJzonMHB4J10gQFt1bmRlZmluZWQt
dW5kZWZpbmVkXSBzdHlsZQotWydmb250LXdlaWdodCc6J2JvbGQnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi0KLXJ1bGUKLWgxOiBbcmVndWxhcl0KLVsnQ09MT1InOidSZWQnXSBAWzA6
NS0wOjE2XSBhY3RpdmUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNWEzNTAxOWVhM2JhNmU2ZWEzOTUwNzlhZjIxZjQz
MzJmYWUwODFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvZ2V0LXNldC1zdHlsZXNoZWV0
LXRleHQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotCi08c3R5bGU+Ci0KLS8qIEFuIGlubGluZSBzdHlsZXNoZWV0ICovCi1ib2R5Lm1haW5wYWdl
IHsKLSAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci19Ci08L3N0eWxlPgotCi08bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hlZXQtdGV4dC5jc3Mi
PgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgdmFyIGZvdW5kU3R5bGVTaGVldDsKLQotICAgIENTU0FnZW50LmdldEFsbFN0eWxl
U2hlZXRzKGZpbmRTdHlsZVNoZWV0KTsKLQotICAgIGZ1bmN0aW9uIGZpbmRTdHlsZVNoZWV0KGVy
cm9yLCBzdHlsZVNoZWV0SW5mb3MpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhz
dHlsZVNoZWV0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3VuZFN0eWxlU2hlZXQgPSBzdHls
ZVNoZWV0OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWyB0ZXN0U2V0
VGV4dCwgdGVzdE5ld0VsZW1lbnRTdHlsZXMgXSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHN0eWxlU2hlZXRJbmZvcy5sZW5ndGg7ICsraSkgewotICAgICAgICAg
ICAgaWYgKHN0eWxlU2hlZXRJbmZvc1tpXS5zb3VyY2VVUkwuaW5kZXhPZigiZ2V0LXNldC1zdHls
ZXNoZWV0LXRleHQuY3NzIikgPj0gMCkgewotICAgICAgICAgICAgICAgIGZvdW5kU3R5bGVTaGVl
dEluZm8gPSBzdHlsZVNoZWV0SW5mb3NbaV07Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LkNTU1N0eWxlU2hlZXQuY3JlYXRlRm9ySWQoZm91bmRTdHlsZVNoZWV0SW5mby5zdHlsZVNoZWV0
SWQsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHRlc3RTZXRUZXh0KG5leHQpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFj
ayhlcnJvcikKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkZhaWxlZCB0byBzZXQgc3R5bGVzaGVldCB0
ZXh0OiAiICsgZXJyb3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKG5l
eHQpOwotICAgICAgICB9Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBP
cmlnaW5hbCBzdHlsZXNoZWV0IHRleHQ6ID09PSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdChmb3VuZFN0eWxlU2hlZXQuZ2V0VGV4dCgpKTsKLSAgICAgICAgZm91bmRTdHlsZVNo
ZWV0LnNldFRleHQoImgxIHsgQ09MT1I6IFJlZDsgfSIsIHRydWUsIGNhbGxiYWNrKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiB0ZXN0TmV3RWxlbWVudFN0eWxlcygpCi0gICAgewotICAgICAgICBm
dW5jdGlvbiBjYWxsYmFjayhlcnJvciwgbWF0Y2hlZENTU1J1bGVzKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IE1hdGNo
ZWQgcnVsZXMgZm9yIGgxIGFmdGVyIHNldFRleHQoKSA9PT0iKTsKLSAgICAgICAgICAgIGR1bXBN
YXRjaGVzQXJyYXkobWF0Y2hlZENTU1J1bGVzKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBub2RlQ2FsbGJh
Y2sobm9kZSkKLSAgICAgICAgewotICAgICAgICAgICAgQ1NTQWdlbnQuZ2V0TWF0Y2hlZFN0eWxl
c0Zvck5vZGUobm9kZS5pZCwgZmFsc2UsIGZhbHNlLCBjYWxsYmFjayk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoImluc3BlY3RlZCIsIG5vZGVD
YWxsYmFjayk7Ci0gICAgfQotCi0KLSAgICAvLyBEYXRhIGR1bXBpbmcKLQotICAgIGZ1bmN0aW9u
IGR1bXBNYXRjaGVzQXJyYXkocnVsZXMpCi0gICAgewotICAgICAgICBpZiAoIXJ1bGVzKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgZHVtcFJ1bGVPclN0eWxlKHJ1bGVzW2ldLnJ1bGUpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGR1bXBSdWxlT3JTdHlsZShydWxlT3JTdHlsZSkKLSAgICB7Ci0g
ICAgICAgIGlmICghcnVsZU9yU3R5bGUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZh
ciBpc1J1bGUgPSAhIShydWxlT3JTdHlsZS5zdHlsZSk7Ci0gICAgICAgIHZhciBzdHlsZSA9IGlz
UnVsZSA/IHJ1bGVPclN0eWxlLnN0eWxlIDogcnVsZU9yU3R5bGU7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoaXNS
dWxlID8gInJ1bGUiIDogInN0eWxlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KChpc1J1bGUgPyAocnVsZU9yU3R5bGUuc2VsZWN0b3JMaXN0LnRleHQgKyAiOiBbIiArIHJ1bGVP
clN0eWxlLm9yaWdpbiArICJdIikgOiAicmF3IHN0eWxlIikpOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHN0eWxlLmNzc1Byb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAg
IHZhciBwcm9wZXJ0eSA9IHN0eWxlLmNzc1Byb3BlcnRpZXNbaV07Ci0gICAgICAgICAgICBpZiAo
cHJvcGVydHkuc3RhdHVzICE9PSAiZGlzYWJsZWQiKQotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJbJyIgKyBwcm9wZXJ0eS5uYW1lICsgIic6JyIgKyBwcm9wZXJ0eS52
YWx1ZSArICInIiArIChwcm9wZXJ0eS5wcmlvcml0eSA9PT0gImltcG9ydGFudCIgPyAiIGlzLWlt
cG9ydGFudCIgOiAiIikgKyAoKCJwYXJzZWRPayIgaW4gcHJvcGVydHkpID8gIiBub24tcGFyc2Vk
IiA6ICIiKSArIl0gQCIgKyBJbnNwZWN0b3JUZXN0LnJhbmdlVGV4dChwcm9wZXJ0eS5yYW5nZSkg
KyAiICIgKyAocHJvcGVydHkuc3RhdHVzIHx8ICJzdHlsZSIpKTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiW3RleHQ9JyIgKyBwcm9w
ZXJ0eS50ZXh0ICsgIiddICIgKyBwcm9wZXJ0eS5zdGF0dXMpOwotICAgICAgICB9Ci0gICAgfQot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgot
VGVzdHMgdGhhdCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVTaGVldCBtZXRob2RzIHdvcmsgYXMgZXhw
ZWN0ZWQuCi08L3A+Ci08aDEgaWQ9Imluc3BlY3RlZCI+SW5zcGVjdCBNZTwvaDE+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlYWVjZWU5NzZmZTJkYmJmNWE0
MzRlNjdlZTU5OGI4ODYyYjY1YWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9pbXBvcnQt
cHNldWRvY2xhc3MtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi1UZXN0cyB0aGF0IG1vZGlmeWluZyBzdHlsZXNoZWV0IHRleHQgd2l0aCBAaW1wb3J0IGFu
ZCA6bGFzdC1jaGlsZCBzZWxlY3RvciBkb2VzIG5vdCBjcmFzaCAoQnVnIDk1MzI0KS4KLQotOmxh
c3QtY2hpbGQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhMmUwNWY3YWZhMzAyNjkwZDBhOGE2ZWE0MThjYmIzZTI4YzA2
NGM5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNo
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNy
YXNoLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICBJ
bnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoImxhc3RjaGlsZCIsIG5vZGVGb3VuZCk7Ci0KLSAgICBm
dW5jdGlvbiBub2RlRm91bmQobm9kZSkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5jc3NN
b2RlbC5nZXRNYXRjaGVkU3R5bGVzQXN5bmMobm9kZS5pZCwgdHJ1ZSwgZmFsc2UsIG1hdGNoZWRT
dHlsZXNDYWxsYmFjayk7Ci0gICAgfQotCi0gICAgdmFyIHN0eWxlU2hlZXRJZDsKLQotICAgIGZ1
bmN0aW9uIG1hdGNoZWRTdHlsZXNDYWxsYmFjayhzdHlsZXMpCi0gICAgewotICAgICAgICBzdHls
ZVNoZWV0SWQgPSBzdHlsZXMubWF0Y2hlZENTU1J1bGVzWzFdLmlkLnN0eWxlU2hlZXRJZDsKLSAg
ICAgICAgQ1NTQWdlbnQuc2V0U3R5bGVTaGVldFRleHQoc3R5bGVTaGVldElkLAotICAgICAgICAg
ICAgIkBpbXBvcnQgdXJsKFwiaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLWVtcHR5LmNzc1wiKTtc
blxuOmxhc3QtY2hpbGQgeyBjb2xvcjogIzAwMDAwMTsgfVxuIiwgbW9kaWZpZWRDYWxsYmFjayk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbW9kaWZpZWRDYWxsYmFjaygpCi0gICAgewotICAgICAg
ICBDU1NBZ2VudC5zZXRTdHlsZVNoZWV0VGV4dChzdHlsZVNoZWV0SWQsICJAaW1wb3J0IHVybChc
ImltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1lbXB0eS5jc3NcIik7XG5cbjpsYXN0LWNoaWxkIHsg
Y29sb3I6ICMwMDIwMDE7IH1cbiIsIG1vZGlmaWVkQ2FsbGJhY2syKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBtb2RpZmllZENhbGxiYWNrMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBtb2RpZnlpbmcgc3R5bGVzaGVl
dCB0ZXh0IHdpdGggQGltcG9ydCBhbmQgOmxhc3QtY2hpbGQgc2VsZWN0b3IgZG9lcyBub3QgY3Jh
c2ggKDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTMy
NCI+QnVnIDk1MzI0PC9hPikuCi08L3A+Ci0KLTxkaXY+Ci0gICAgPHAgaWQ9Imxhc3RjaGlsZCI+
Omxhc3QtY2hpbGQ8L3A+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW5qZWN0LXN0eWxlc2hlZXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9pbmplY3Qt
c3R5bGVzaGVldC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgx
YmFkNTg1YWY2ZTUwNWQ1YmM4MjEyMGIwZTY2OTFlN2UwOGY3ZTIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9pbmplY3Qtc3R5bGVzaGVldC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMzUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IGlmcmFtZSBsb2FkZWQK
LVRlc3RzIHRoYXQgaW5qZWN0ZWQgdXNlciBzdHlsZXNoZWV0cyBhcmUgcmVmbGVjdGVkIGluIHRo
ZSBTdHlsZXMgcGFuZS4KLQotCi1NYWluIGZyYW1lIHN0eWxlOgotW2V4cGFuZGVkXSAKLS13ZWJr
aXQtYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94OwotLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdp
bjogcGFkZGluZy1ib3g7Ci0td2Via2l0LWJhY2tncm91bmQtc2l6ZTogYXV0bzsKLS13ZWJraXQt
Ym9yZGVyLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUFCQUFBQUFRQ0FRQUFBQzEramZxQUFBQWlFbEVR4oCmTXMrTFMzMENBaEJONW5OeGVU
NWhiSjF6d21qaTJrK2FGNk5FTklQZi9oczU0ZjBzWkZVVkFNaWdBQUFBQkpSVTVFcmtKZ2dnPT0p
IDEwMCUgLyAxIC8gMHB4IHN0cmV0Y2g7Ci0gICAgI21haW4gLSB1cmwoZGF0YTppbWFnZS9wbmc7
YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FRQUFBQzEramZxQUFBQWlF
bEVRVlI0MnIyUnNRckRNQXhFQlJkbDhTRGNYOGxRUEdnMUdCSTZsdnovaDdReVJSWFYwcVVVTHdm
dndaMXRlbnc1UHhUb1JQV01DNTJlQTkrV0RubGgzSEZRL3hCUWw4Nk5GWUpxZUdmbGtpb2dyT3ZW
bElGaHFVUkZWaG8zeDFtb0dBYTNkZU1zK0xTMzBDQWhCTjVuTnhlVDVoYkoxendtamkyaythRjZO
RU5JUGYvaHM1NGYwc1pGVVZBTWlnQUFBQUJKUlU1RXJrSmdnZz09KSB1c2VyIHN0eWxlc2hlZXQK
LWJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOwotICAgICNtYWluIC0gaW5pdGlhbCBpbmpl
Y3Qtc3R5bGVzaGVldC5odG1sOjUKLWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKLSAgICAj
bWFpbiAtIGluaXRpYWwgaW5qZWN0LXN0eWxlc2hlZXQuaHRtbDo1Ci1iYWNrZ3JvdW5kLWNvbG9y
OiByZ2IoMCwgMCwgMjU1KTsKLSAgICAjbWFpbiAtIGJsdWUgaW5qZWN0LXN0eWxlc2hlZXQuaHRt
bDo1Ci1iYWNrZ3JvdW5kLWltYWdlOiBub25lOwotICAgICNtYWluIC0gaW5pdGlhbCBpbmplY3Qt
c3R5bGVzaGVldC5odG1sOjUKLWJhY2tncm91bmQtb3JpZ2luOiBwYWRkaW5nLWJveDsKLSAgICAj
bWFpbiAtIGluaXRpYWwgaW5qZWN0LXN0eWxlc2hlZXQuaHRtbDo1Ci1iYWNrZ3JvdW5kLXNpemU6
IGF1dG87Ci0gICAgI21haW4gLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0Lmh0bWw6NQotY29s
b3I6IHJnYigyNTUsIDAsIDApOwotICAgICNtYWluIC0gcmVkIHVzZXIgc3R5bGVzaGVldAotZGlz
cGxheTogYmxvY2s7Ci0gICAgZGl2IC0gYmxvY2sgdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci0KLVtl
eHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1
bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotbWVkaWE9InNjcmVlbiIgKGluamVjdC1zdHlsZXNo
ZWV0Lmh0bWwpCi0jbWFpbiAgeyAoaW5qZWN0LXN0eWxlc2hlZXQuaHRtbDo1KQotYmFja2dyb3Vu
ZDogYmx1ZTsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbml0aWFsOwotICAgIGJhY2tncm91bmQt
cG9zaXRpb24teDogaW5pdGlhbDsKLSAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGluaXRpYWw7
Ci0gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtcmVwZWF0LXg6
IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1yZXBlYXQteTogaW5pdGlhbDsKLSAgICBiYWNrZ3Jv
dW5kLWF0dGFjaG1lbnQ6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7
Ci0gICAgYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtY29sb3I6IGJs
dWU7Ci0KLVtleHBhbmRlZF0gCi0jbWFpbiAgeyAodXNlciBzdHlsZXNoZWV0KQotY29sb3I6IHJl
ZDsKLS13ZWJraXQtYm9yZGVyLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FRQUFBQzEramZxQUFBQWlFbEVR4oCmTXMrTFMz
MENBaEJONW5OeGVUNWhiSjF6d21qaTJrK2FGNk5FTklQZi9oczU0ZjBzWkZVVkFNaWdBQUFBQkpS
VTVFcmtKZ2dnPT0pOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hl
ZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi1pZnJhbWUgc3R5bGU6Ci1bZXhwYW5kZWRdIAotLXdl
YmtpdC1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7Ci0td2Via2l0LWJhY2tncm91bmQtb3Jp
Z2luOiBwYWRkaW5nLWJveDsKLS13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBhdXRvOwotYmFja2dy
b3VuZC1hdHRhY2htZW50OiBzY3JvbGw7Ci0gICAgYm9keSAtIGluaXRpYWwgaW5qZWN0LXN0eWxl
c2hlZXQtaWZyYW1lLWRhdGEuaHRtbDo0Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vICNpZnJhbWVi
b2R5IC0gaW5pdGlhbCB1c2VyIHN0eWxlc2hlZXQKLWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJv
eDsKLSAgICBib2R5IC0gaW5pdGlhbCBpbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1s
OjQKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lmcmFtZWJvZHkgLSBpbml0aWFsIHVzZXIgc3R5
bGVzaGVldAotYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDEyOCwgMCk7Ci0gICAgYm9keSAtIGdy
ZWVuIGluamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWw6NAotICAgIC8tLSBvdmVybG9h
ZGVkIC0tLyAjaWZyYW1lYm9keSAtIHJlZCB1c2VyIHN0eWxlc2hlZXQKLWJhY2tncm91bmQtaW1h
Z2U6IG5vbmU7Ci0gICAgYm9keSAtIGluaXRpYWwgaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRh
dGEuaHRtbDo0Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vICNpZnJhbWVib2R5IC0gaW5pdGlhbCB1
c2VyIHN0eWxlc2hlZXQKLWJhY2tncm91bmQtb3JpZ2luOiBwYWRkaW5nLWJveDsKLSAgICBib2R5
IC0gaW5pdGlhbCBpbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1sOjQKLSAgICAvLS0g
b3ZlcmxvYWRlZCAtLS8gI2lmcmFtZWJvZHkgLSBpbml0aWFsIHVzZXIgc3R5bGVzaGVldAotYmFj
a2dyb3VuZC1zaXplOiBhdXRvOwotICAgIGJvZHkgLSBpbml0aWFsIGluamVjdC1zdHlsZXNoZWV0
LWlmcmFtZS1kYXRhLmh0bWw6NAotICAgIC8tLSBvdmVybG9hZGVkIC0tLyAjaWZyYW1lYm9keSAt
IGluaXRpYWwgdXNlciBzdHlsZXNoZWV0Ci1kaXNwbGF5OiBibG9jazsKLSAgICBib2R5IC0gYmxv
Y2sgdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci1tYXJnaW4tYm90dG9tOiA4cHg7Ci0gICAgYm9keSAt
IDhweCB1c2VyIGFnZW50IHN0eWxlc2hlZXQKLW1hcmdpbi1sZWZ0OiA4cHg7Ci0gICAgYm9keSAt
IDhweCB1c2VyIGFnZW50IHN0eWxlc2hlZXQKLW1hcmdpbi1yaWdodDogOHB4OwotICAgIGJvZHkg
LSA4cHggdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci1tYXJnaW4tdG9wOiA4cHg7Ci0gICAgYm9keSAt
IDhweCB1c2VyIGFnZW50IHN0eWxlc2hlZXQKLQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUg
IHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0g
Ci1tZWRpYT0ic2NyZWVuIiAoaW5qZWN0LXN0eWxlc2hlZXQtaWZyYW1lLWRhdGEuaHRtbCkKLWJv
ZHkgIHsgKGluamVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWw6NCkKLWJhY2tncm91bmQ6
IGdyZWVuOwotICAgIGJhY2tncm91bmQtaW1hZ2U6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1w
b3NpdGlvbi14OiBpbml0aWFsOwotICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogaW5pdGlhbDsK
LSAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1yZXBlYXQteDog
aW5pdGlhbDsKLSAgICBiYWNrZ3JvdW5kLXJlcGVhdC15OiBpbml0aWFsOwotICAgIGJhY2tncm91
bmQtYXR0YWNobWVudDogaW5pdGlhbDsKLSAgICBiYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsK
LSAgICBiYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47Ci0KLVtleHBhbmRlZF0gCi0jaWZyYW1lYm9keSAgeyAodXNlciBzdHlsZXNoZWV0KQotLy0t
IG92ZXJsb2FkZWQgLS0vIGJhY2tncm91bmQ6IHJlZDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8g
YmFja2dyb3VuZC1pbWFnZTogaW5pdGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dy
b3VuZC1wb3NpdGlvbi14OiBpbml0aWFsOwotICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3Jv
dW5kLXBvc2l0aW9uLXk6IGluaXRpYWw7Ci0gICAgLy0tIG92ZXJsb2FkZWQgLS0vIGJhY2tncm91
bmQtc2l6ZTogaW5pdGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZC1yZXBl
YXQteDogaW5pdGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZC1yZXBlYXQt
eTogaW5pdGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZC1hdHRhY2htZW50
OiBpbml0aWFsOwotICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3JvdW5kLW9yaWdpbjogaW5p
dGlhbDsKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOwot
ICAgIC8tLSBvdmVybG9hZGVkIC0tLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ci0KLVtleHBhbmRl
ZF0gCi1ib2R5ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLW1h
cmdpbjogOHB4OwotICAgIG1hcmdpbi10b3A6IDhweDsKLSAgICBtYXJnaW4tcmlnaHQ6IDhweDsK
LSAgICBtYXJnaW4tYm90dG9tOiA4cHg7Ci0gICAgbWFyZ2luLWxlZnQ6IDhweDsKLQotCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW5qZWN0LXN0
eWxlc2hlZXQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvaW5q
ZWN0LXN0eWxlc2hlZXQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGFkMDMw
MDJhZGI2NGU2ZjFkMzUyYzA3N2ViNzQyZDAyOThmYjFmNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL2luamVjdC1zdHlsZXNoZWV0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotCi08c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3Jl
ZW4iPgotICAjbWFpbiB7IGJhY2tncm91bmQ6Ymx1ZTsgfQotPC9zdHlsZT4KLQotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGluamVjdFN0eWxlU2hlZXQoKQot
ewotICAgIHZhciBzdHlsZVNoZWV0ID0gIiNtYWluIHsgY29sb3I6IHJlZDsgLXdlYmtpdC1ib3Jk
ZXItaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQUJBQUFBQVFDQVFBQUFDMStqZnFBQUFBaUVsRVFWUjQycjJSc1FyRE1BeEVCUmRsOFNEY1g4
bFFQR2cxR0JJNmx2ei9oN1F5UlJYVjBxVVVMd2Z2d1oxdGVudzVQeFRvUlBXTUM1MmVBOStXRG5s
aDNIRlEveEJRbDg2TkZZSnFlR2Zsa2lvZ3JPdlZsSUZocVVSRlZobzN4MW1vR0FhM2RlTXMrTFMz
MENBaEJONW5OeGVUNWhiSjF6d21qaTJrK2FGNk5FTklQZi9oczU0ZjBzWkZVVkFNaWdBQUFBQkpS
VTVFcmtKZ2dnPT0pIH0gICNpZnJhbWVCb2R5IHsgYmFja2dyb3VuZDogcmVkIH0iOwotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuYWRkVXNlclN0
eWxlU2hlZXQoc3R5bGVTaGVldCwgdHJ1ZSk7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRJZnJhbWUoKQot
ewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAg
ICBpZnJhbWUuc3JjID0gInJlc291cmNlcy9pbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5o
dG1sIjsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbiIpLmFwcGVuZENoaWxkKGlm
cmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoImluamVjdFN0eWxlU2hlZXQoKSIsIGluaXQpOwotCi0gICAgZnVuY3Rpb24gaW5p
dCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5
bGVzV2l0aENvbXB1dGVkKCJtYWluIiwgc3RlcDApOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAwKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNYWluIGZyYW1l
IHN0eWxlOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHls
ZXMoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZElmcmFtZSgp
Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDEpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
c2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImlmcmFtZUJvZHkiLCBzdGVwMik7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoImlmcmFtZSBzdHlsZToiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0
ZWRFbGVtZW50U3R5bGVzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwPgotVGVzdHMgdGhhdCBpbmplY3RlZCB1c2VyIHN0eWxlc2hlZXRzIGFyZSByZWZsZWN0
ZWQgaW4gdGhlIFN0eWxlcyBwYW5lLgotPC9wPgotCi08ZGl2IGlkPSJtYWluIj48L2Rpdj4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvcGFyc2Utc3R5bGVzaGVldC1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9wYXJzZS1zdHlsZXNoZWV0LWVycm9ycy1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1ZWNiNzVlNjNhMDA0MGM5
NjJiMmQ2OWQzYjkwYWJkMmY3MDdiYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9wYXJz
ZS1zdHlsZXNoZWV0LWVycm9ycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzNiAr
MCwwIEBACi1UZXN0cyB0aGF0IENTU1BhcnNlciBwcm9kdWNlcyBzb3VyY2UgZGF0YSBjb25zaXN0
ZW50IHdpdGggQ1NTT00gd2hlbiBwYXJzaW5nIGJyb2tlbiBzdHlsZXNoZWV0cy4gQnVnIDk4MjQ2
Ci0KLWJvZHk6IFtyZWd1bGFyLCAxOjAtMTo0XSB7Ci0gICAgWydjb2xvcic6J2JsYWNrJ10gQFsy
OjQtMjoxN10gYWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgMTI6MC0xMjo0XSB7Ci0gICAgWydi
YWNrZ3JvdW5kLWNvbG9yJzonYnJva2VuLWRlY2xhcmF0aW9uJyBub24tcGFyc2VkXSBAWzEzOjQt
MTM6NDFdIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDI6MC0yOjRdIHsKLSAgICBbJ2NvbG9y
JzonaW1wb3J0LWVycm9yJyBub24tcGFyc2VkXSBAWzM6NC0zOjI0XSBhY3RpdmUKLX0KLWJvZHk6
IFtyZWd1bGFyLCAyOjAtMjo0XSB7Ci0gICAgWydjb2xvcic6J2ltcG9ydC1lcnJvci1ibG9jaycg
bm9uLXBhcnNlZF0gQFszOjQtMzozMF0gYWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgMjowLTI6
NF0gewotICAgIFsnY29sb3InOidtZWRpYS1lbXB0eScgbm9uLXBhcnNlZF0gQFszOjQtMzoyM10g
YWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgMjowLTI6NF0gewotICAgIFsnY29sb3InOidwYWdl
LWVycm9yJyBub24tcGFyc2VkXSBAWzM6NC0zOjIyXSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFy
LCAyOjAtMjo0XSB7Ci0gICAgWydjb2xvcic6J3BhZ2UtYmxvY2snIG5vbi1wYXJzZWRdIEBbMzo0
LTM6MjJdIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDE6MC0xOjRdIHsKLSAgICBbJ2NvbG9y
JzonYmVmb3JlLWltcG9ydCcgbm9uLXBhcnNlZF0gQFsyOjQtMjoyNV0gYWN0aXZlCi19Ci1ib2R5
OiBbcmVndWxhciwgNTowLTU6NF0gewotICAgIFsnY29sb3InOidhZnRlci1pbXBvcnQnIG5vbi1w
YXJzZWRdIEBbNjo0LTY6MjRdIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDQ6MC00OjRdIHsK
LSAgICBbJ2NvbG9yJzonYWZ0ZXItaW52YWxpZC1mb250LWZhY2UnIG5vbi1wYXJzZWRdIEBbNTo0
LTU6MzVdIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDM6MC0zOjRdIHsKLSAgICBbJ2NvbG9y
JzonYWZ0ZXItaW52YWxpZC1yZWdpb24nIG5vbi1wYXJzZWRdIEBbNDo0LTQ6MzJdIGFjdGl2ZQot
fQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Bh
cnNlLXN0eWxlc2hlZXQtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3BhcnNlLXN0eWxlc2hlZXQtZXJyb3JzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk5ODhhNDRlNmZjZTE1YTM5OGFiNDM0YTBmMWE2N2ZmOTI3OWRjOTYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9wYXJzZS1zdHlsZXNoZWV0LWVycm9ycy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5z
cGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLQotICAgIENTU0FnZW50LmdldEFsbFN0eWxl
U2hlZXRzKGhlYWRlcnNDYWxsYmFjayk7Ci0KLSAgICBmdW5jdGlvbiBoZWFkZXJzQ2FsbGJhY2so
ZXJyb3IsIGhlYWRlcnMpCi0gICAgewotICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJFcnJvciBsb2FkaW5nIHN0eWxlc2hlZXQgaGVhZGVy
czogIiArIGVycm9yKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGhlYWRlcnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBDU1NBZ2VudC5nZXRTdHls
ZVNoZWV0KGhlYWRlcnNbaV0uc3R5bGVTaGVldElkLCBzdHlsZVNoZWV0Q2FsbGJhY2suYmluZChu
dWxsLCBpID09PSBoZWFkZXJzLmxlbmd0aCAtIDEpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dHlsZVNoZWV0Q2FsbGJhY2soaXNMYXN0LCBlcnJvciwgc3R5bGVTaGVldCkKLSAgICB7Ci0gICAg
ICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVy
cm9yIGxvYWRpbmcgc3R5bGVzaGVldCBib2R5OiAiICsgZXJyb3IpOwotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotCi0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJ1bGVzQXJyYXkoc3R5bGVTaGVldC5ydWxl
cyk7Ci0gICAgICAgIGlmIChpc0xhc3QpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLWJvZHkgewotICAg
IGNvbG9yOiBibGFjazsKLX0KLQotZm9udC1mYW1pbHk6IHNlcmlmOwotfQotCi1ib2R5OmhvdmVy
IHsKLSAgICBjb2xvcjogI0NERTsKLX0KLQotYm9keSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjog
YnJva2VuLWRlY2xhcmF0aW9uOwotfQotCi08L3N0eWxlPgotPHN0eWxlPgotQGltcG9ydCAxMjsK
LWJvZHkgewotICAgIGNvbG9yOiBpbXBvcnQtZXJyb3I7Ci19Ci08L3N0eWxlPgotPHN0eWxlPgot
QGltcG9ydCAxMiB7fQotYm9keSB7Ci0gICAgY29sb3I6IGltcG9ydC1lcnJvci1ibG9jazsKLX0K
LTwvc3R5bGU+Ci08c3R5bGU+Ci1AbWVkaWEgOwotYm9keSB7Ci0gICAgY29sb3I6IG1lZGlhLWVt
cHR5OwotfQotPC9zdHlsZT4KLTxzdHlsZT4KLUBwYWdlIDsKLWJvZHkgewotICAgIGNvbG9yOiBw
YWdlLWVycm9yOwotfQotPC9zdHlsZT4KLTxzdHlsZT4KLUBwYWdlIHt9Ci1ib2R5IHsKLSAgICBj
b2xvcjogcGFnZS1ibG9jazsKLX0KLTwvc3R5bGU+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICBjb2xv
cjogYmVmb3JlLWltcG9ydDsKLX0KLUBpbXBvcnQgImZvbyI7Ci1ib2R5IHsKLSAgICBjb2xvcjog
YWZ0ZXItaW1wb3J0OwotfQotPC9zdHlsZT4KLTxzdHlsZT4KLUBmb250LWZhY2UgewotICAgIGZv
bnQtZmFtaWx5OiBpbml0aWFsOwotfQotYm9keSB7Ci0gICAgY29sb3I6IGFmdGVyLWludmFsaWQt
Zm9udC1mYWNlOwotfQotPC9zdHlsZT4KLTxzdHlsZT4KLUAtd2Via2l0LXJlZ2lvbiAlXiUgewot
fQotYm9keSB7Ci0gICAgY29sb3I6IGFmdGVyLWludmFsaWQtcmVnaW9uOwotfQotPC9zdHlsZT4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IENT
U1BhcnNlciBwcm9kdWNlcyBzb3VyY2UgZGF0YSBjb25zaXN0ZW50IHdpdGggQ1NTT00gd2hlbiBw
YXJzaW5nIGJyb2tlbiBzdHlsZXNoZWV0cy4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk4MjQ2Ij5CdWcgOTgyNDY8L2E+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3BhcnNl
LXV0ZjgtYm9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcGFyc2UtdXRmOC1ib20tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzNzM1YWI1NGI1OTdjNDFiNTJjYmY1MjcxODlhMzM1ZDA3NmE5MWEwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRmOC1ib20tZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGVzdHMgdGhhdCBzb3VyY2UgZGF0YSBhcmUgZXh0cmFj
dGVkIGNvcnJlY3RseSBmcm9tIGV4dGVybmFsIHN0eWxlc2hlZXRzIGluIFVURi04IHdpdGggQk9N
LiBCdWcgNTkzMjIuCi0KLUknbSByZWQuCi0KLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7
ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAot
aDEgIHsgKHBhcnNlLXV0ZjgtYm9tLW1haW4uY3NzOjMpCi1jb2xvcjogcmVkOwotCi1bZXhwYW5k
ZWRdIAotaDEgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotZm9u
dC1zaXplOiAyZW07Ci0td2Via2l0LW1hcmdpbi1iZWZvcmU6IDAuNjdlbTsKLS13ZWJraXQtbWFy
Z2luLWFmdGVyOiAwLjY3ZW07Ci0td2Via2l0LW1hcmdpbi1zdGFydDogMHB4OwotLXdlYmtpdC1t
YXJnaW4tZW5kOiAwcHg7Ci1mb250LXdlaWdodDogYm9sZDsKLQotCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRmOC1ib20uaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcGFyc2UtdXRmOC1ib20uaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFmNThmOGIzNDE1MDBhM2FmY2RiNzc1
ODZiZTkwYTc1ZmJmNGEzOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3BhcnNlLXV0Zjgt
Ym9tLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3Bh
cnNlLXV0ZjgtYm9tLW1haW4uY3NzIj4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFu
ZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxl
cyh0cnVlLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHNvdXJjZSBkYXRhIGFyZSBleHRyYWN0ZWQgY29ycmVj
dGx5IGZyb20gZXh0ZXJuYWwgc3R5bGVzaGVldHMgaW4gVVRGLTggd2l0aCBCT00uIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTMyMiI+QnVnIDU5MzIy
PC9hPi4KLTwvcD4KLTxoMSBpZD0iaW5zcGVjdGVkIj4KLUknbSByZWQuCi08L2gxPgotCi08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3JlZ2lvbi1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3JlZ2lvbi1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5ZWRhNjQ5ZmQ2NjdkYmE5Njg3YjdkYzUwNjM4
Y2VmY2IwYzNkYzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZWdpb24tc3R5bGUtY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotVGVzdHMgdGhh
dCB3ZWJraXQgY3NzIHJlZ2lvbiBzdHlsaW5nIGNhbiBiZSBwYXJzZWQgY29ycmVjdGx5LiBUZXN0
IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgotCi1QIGNvbG9yIHN0eWxlZCBpbiByZWdpb246
ICMwMDgwMDAuCi0KLVtleHBhbmRlZF0gCi1jb2xvcjogcmdiKDI1NSwgMCwgMCk7Ci0gICAgI3Ax
IC0gI2ZmMDAwMCByZWdpb24tc3R5bGUtY3Jhc2guaHRtbDo2Ci1kaXNwbGF5OiBibG9jazsKLSAg
ICBwIC0gYmxvY2sgdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci0KLVtleHBhbmRlZF0gCi1lbGVtZW50
LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhw
YW5kZWRdIAotI3AxICB7IChyZWdpb24tc3R5bGUtY3Jhc2guaHRtbDo2KQotY29sb3I6ICNmZjAw
MDA7Ci0KLVtleHBhbmRlZF0gCi1wICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5
OiBibG9jazsKLS13ZWJraXQtbWFyZ2luLWJlZm9yZTogMWVtOwotLXdlYmtpdC1tYXJnaW4tYWZ0
ZXI6IDFlbTsKLS13ZWJraXQtbWFyZ2luLXN0YXJ0OiAwcHg7Ci0td2Via2l0LW1hcmdpbi1lbmQ6
IDBweDsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcmVnaW9uLXN0eWxlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3JlZ2lvbi1zdHlsZS1jcmFzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmY2U4YThlZDRlNmQzMTU4NzhmMTliNmRlMjVjYTUxYzA2MGM2NzVmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVnaW9uLXN0eWxlLWNyYXNoLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotI2FydGljbGUx
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3cxOyB9Ci0jcmVnaW9uMSB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93MTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7IHdpZHRoOiAzNTBweDsg
aGVpZ2h0OiAyNXB4O30KLSNwMSB7IGNvbG9yOiAjZmYwMDAwOyB9Ci1ALXdlYmtpdC1yZWdpb24g
I3JlZ2lvbjEgewotICAgICNwMSB7IGNvbG9yOiAjMDA4MDAwOyB9Ci19Ci0KLTwvc3R5bGU+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1l
bnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0g
ICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKTsKLSAgICBJbnNwZWN0b3JUZXN0
LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzV2l0aENvbXB1dGVkKCJwMSIsIGR1bXBBbGxTdHls
ZXMpOwotCi0gICAgZnVuY3Rpb24gZHVtcEFsbFN0eWxlcygpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXMoKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgd2Via2l0IGNzcyByZWdp
b24gc3R5bGluZyBjYW4gYmUgcGFyc2VkIGNvcnJlY3RseS4gVGVzdCBwYXNzZXMgaWYgaXQgZG9l
c24ndCBjcmFzaC4KLTwvcD4KLQotPGRpdiBpZD0iYXJ0aWNsZTEiPgotICAgIDxwIGlkPSJwMSI+
UCBjb2xvciBzdHlsZWQgaW4gcmVnaW9uOiAjMDA4MDAwLjwvcD4KLTwvZGl2PgotPGRpdiBpZD0i
cmVnaW9uMSIgY2xhc3M9InJlZ2lvbkJveCI+PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3JlbW92ZWQtcnVsZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3JlbW92ZWQtcnVsZS1jcmFzaC1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlZGVhOTVmZDM4ZjE4MjNm
MzA0ODU4YjFjYjFhYWU5OTk2NmVlZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZW1v
dmVkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBA
QAotVGVzdHMgdGhhdCBkaXNhYmxpbmcgc3R5bGUgcHJvcGVydHkgYWZ0ZXIgdGhlIHN0eWxlIHJ1
bGUgaGFzIGJlZW4gcmVtb3ZlZCBkb2VzIG5vdCBjcmFzaCB0aGUgaW5zcGVjdGVkIHBhZ2UuCi0K
LUJlZm9yZSBkaXNhYmxlCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09
PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNjb250YWluZXIg
IHsgKHJlbW92ZWQtcnVsZS1jcmFzaC5odG1sOjQpCi1mb250LXdlaWdodDogYm9sZDsKLQotW2V4
cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7
Ci0KLQotUEFTUzogTm8gY3Jhc2gKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9yZW1vdmVkLXJ1bGUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVtb3ZlZC1ydWxlLWNyYXNoLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxMmFkOGJhZThmZDM0Yjg0Y2FiMGNhZWE2ZTUyMGQ0ODZk
ZmNmYjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZW1vdmVkLXJ1bGUtY3Jhc2guaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+
Ci0jY29udGFpbmVyIHsKLSAgICBmb250LXdlaWdodDogYm9sZDsKLX0KLTwvc3R5bGU+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gcmVtb3ZlUnVsZSgpCi17
Ci0gICAgZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0ucmVtb3ZlUnVsZSgwKTsKLX0KLQotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxl
cygiY29udGFpbmVyIiwgc3RlcDApOwotCi0gICAgZnVuY3Rpb24gc3RlcDAobm9kZSkKLSAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInJlbW92ZVJ1bGUoKSIsIHN0
ZXAxKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGRpc2FibGUiKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LnRvZ2dsZU1hdGNoZWRTdHlsZVByb3BlcnR5KCJmb250LXdlaWdodCIsIGZhbHNlKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXAyKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiUEFTUzogTm8gY3Jhc2giKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGRpc2FibGluZyBzdHlsZSBwcm9wZXJ0eSBh
ZnRlciB0aGUgc3R5bGUgcnVsZSBoYXMgYmVlbiByZW1vdmVkIGRvZXMgbm90IGNyYXNoIHRoZSBp
bnNwZWN0ZWQgcGFnZS4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIj4KLTwvZGl2PgotCi08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3Jlc291cmNlcy9mcm9tY3NzLnBuZyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2Zyb21jc3MucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxNDQyNjg1MzdhN2I4MzU4ZjU2YjZiOWNmZDBjZmJmOTJkNzM1NjI4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDE0NAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZw
XmY8Vm04ITJ+NDVvSVZCc0RiNTBxJFlQK0ZGYkZkOyUkZyRzNm07QCoKemFTWUx6bV58YTtmZS1V
dDRwPlpQPGh1MGxmNFR5biFXVih7IW08MkBSdlRYKlRyV0lkRjIqWC1CZEZKKHp3WkJuCm4qTlNS
KTFnYmp2PDs1bjJJNVJNdVRqUU88SEtGTUAmQD17NVMzajNeUDY8cl8rZkZLdwoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2dldC1z
ZXQtc3R5bGVzaGVldC10ZXh0LmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcmVzb3VyY2VzL2dldC1zZXQtc3R5bGVzaGVldC10ZXh0LmNzcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWUyNmRlODdjM2UzZjNhNDhmZTQwZmI5ZGU4Y2QzMmNmZmI5Zjdl
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9nZXQtc2V0LXN0eWxlc2hl
ZXQtdGV4dC5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1ib2R5IHsKLSAgICBm
b250LXNpemU6IDEycHg7Ci0gICAgZm9vOiBiYXIgIQotCi0gICAgaW1wb3J0YW50IC8qICFpbXBv
cnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2ViQ29yZSAqLzsKLSAgICBoZWlnaHQ6
IDEwMCUgIWltcG9ydGFudDsKLSAgICBjb2xvcno6ICIhaW1wb3J0YW50IjsKLSAgICBpbXBvcnRh
bnQ6IWltcG9ydGFudDsKLSAgICBjb2xvcjogImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29k
IHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLzsKLX0KLQotQG1lZGlhIHsKLSAgICAvKiBA
bWVkaWEgcnVsZSB3aXRoIGFuIGVtcHR5IG1lZGlhIGxpc3QgKi8KLX0KLQotLyogY29tbWVudCBi
ZWZvcmUgc2VsZWN0b3IgKi9ib2R5Lm1haW4xLyogY29tbWVudCBhZnRlciBzZWxlY3RvciAqL3sv
KiBjb21tZW50ICovY29sb3I6ICNGMDBCQUE7em9vOm1vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1
bnJlY29nbml6ZWQgcHJvcGVydHkgKi99LyogY29tbWVudCAqLwotCi1ib2R5Lm1haW4ye2JhY2tn
cm91bmQ6IGdyZWVuIC8qIHZhbHVlICFpbXBvcnRhbnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8q
IG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50ICovfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvaWZyYW1lZC5wbmcgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9pZnJhbWVkLnBuZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTQ0MjY4NTM3YTdiODM1OGY1NmI2YjljZmQw
Y2ZiZjkyZDczNTYyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAxNDQKemNtZUFT
QE4/KG9sSHlgdVZCcSFpYTB2cF5mPFZtOCEyfjQ1b0lWQnNEYjUwcSRZUCtGRmJGZDslJGckczZt
O0AqCnphU1lMem1efGE7ZmUtVXQ0cD5aUDxodTBsZjRUeW4hV1YoeyFtPDJAUnZUWCpUcldJZEYy
KlgtQmRGSih6d1pCbgpuKk5TUikxZ2Jqdjw7NW4ySTVSTXVUalFPPEhLRk1AJkA9ezVTM2ozXlA2
PHJfK2ZGS3cKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3Jlc291cmNlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2gtZW1wdHkuY3NzIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvaW1wb3J0LXBzZXVkb2Ns
YXNzLWNyYXNoLWVtcHR5LmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY5ZGUy
OWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLmNzcyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2ltcG9ydC1wc2V1
ZG9jbGFzcy1jcmFzaC5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5NTY0ZGMw
ZDhiZDA0MTBlZmRhMTI5MTlhN2RiODEwNTZmMzM0ZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9yZXNvdXJjZXMvaW1wb3J0LXBzZXVkb2NsYXNzLWNyYXNoLmNzcworKysgL2Rldi9udWxs
CkBAIC0xLDUgKzAsMCBAQAotQGltcG9ydCB1cmwoImltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC1l
bXB0eS5jc3MiKTsKLQotOmxhc3QtY2hpbGQgewotICBjb2xvcjogIzAwMDsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2luamVj
dC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3Jlc291cmNlcy9pbmplY3Qtc3R5bGVzaGVldC1pZnJhbWUtZGF0YS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjNlN2U2MjRjMDgzMDIxYTllYzEzYzVm
MDcxYjE2NTMxZDdkOTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL2lu
amVjdC1zdHlsZXNoZWV0LWlmcmFtZS1kYXRhLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNyAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2Ny
ZWVuIj4KLSAgYm9keSB7IGJhY2tncm91bmQ6Z3JlZW47IH0KLTwvc3R5bGU+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gaWZyYW1lT25sb2FkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiaWZyYW1lIGxvYWRl
ZCIpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0iaWZyYW1lT25sb2Fk
KCkiIGlkPSJpZnJhbWVCb2R5Ij4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEtcXVlcmll
cy0xLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2Vz
L21lZGlhLXF1ZXJpZXMtMS5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxNjhj
OWIxMzgyZjlhOWYyYmYzNTk1NjdjMTQ3YTU4NmExNzk4NGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9yZXNvdXJjZXMvbWVkaWEtcXVlcmllcy0xLmNzcworKysgL2Rldi9udWxsCkBAIC0x
LDcgKzAsMCBAQAotYm9keSB7Ci0gICAgbWFyZ2luOiAwOwotfQotCi1AbWVkaWEgbm90IGF1cmFs
IHsKLSAgICAjbWFpbiB7IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB9Ci19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9tZWRpYS1x
dWVyaWVzLmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL21lZGlhLXF1ZXJpZXMuY3NzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTM0
NDljMWZhZmJiMzcyNzVlYzc5ODNkZGNjZTUyY2Q2Zjg5NzM5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvcmVzb3VyY2VzL21lZGlhLXF1ZXJpZXMuY3NzCisrKyAvZGV2L251bGwKQEAgLTEs
NyArMCwwIEBACi0KLQotQGltcG9ydCB1cmwobWVkaWEtcXVlcmllcy0xLmNzcykgc2NyZWVuOwot
Ci1AbWVkaWEgc2NyZWVuIHsKLSAgICAjbWFpbiB7IGNvbG9yOiB5ZWxsb3c7IH0KLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3Bh
cnNlLXV0ZjgtYm9tLW1haW4uY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9yZXNvdXJjZXMvcGFyc2UtdXRmOC1ib20tbWFpbi5jc3MKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNzU1CmluZGV4IDhiMTk0ODViMzdlMjQxMmEwNzA2YWYxYTQxMDI1ODQ1ZWU4NTJjNmQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvcGFyc2UtdXRmOC1ib20tbWFpbi5j
c3MKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLe+7v0BpbXBvcnQgJy4vcGFyc2UtdXRm
OC1ib20tcmVzZXQuY3NzJzsKLQotaDEgewotICAgIGNvbG9yOiByZWQ7Ci19Ci0KLWgyIHsKLSAg
ICBjb2xvcjogYmx1ZTsKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9wYXJzZS11
dGY4LWJvbS1yZXNldC5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3Jlc291cmNlcy9wYXJzZS11dGY4LWJvbS1yZXNldC5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDVmMjgyNzAyYmIwM2VmMTFkNzE4NGQxOWM4MDkyN2I0N2Y5MTk3NjQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvcGFyc2UtdXRmOC1ib20tcmVzZXQuY3Nz
CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot77u/ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9y
ZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3MgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMzExNWIyNTIyYjQ1OWZmMzI4NGIyZGM0Njc0MzdiYTlhODBkNDI2NC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLmNzcworKysg
L2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotI2NvbnRhaW5lciB7Ci0gIGJhY2tncm91bmQ6IHBh
cGF5YXdoaXA7IH0KLSAgI2NvbnRhaW5lciAjaW5zcGVjdGVkIHsKLSAgICBjb2xvcjogZ3JlZW47
IH0KLQotLypAIHNvdXJjZU1hcHBpbmdVUkw9c2VsZWN0b3ItbGluZS5jc3MubWFwICovClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5jc3MubWFwIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc2VsZWN0b3ItbGluZS5j
c3MubWFwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmYyNzU4Njg2NmU1MGI1YTNh
OWYyMGY3NTU5NDU2ZjY2ZmFiMjUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL3NlbGVjdG9yLWxpbmUuY3NzLm1hcAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAot
ewotInZlcnNpb24iOiAiMyIsCi0ibWFwcGluZ3MiOiAiQUFBQSxVQUFXO0VBQ1AsVUFBVSxFQUFF
LFVBQVU7RUFFdEIscUJBQVc7SUFDUCxLQUFLLEVBQUUsS0FBSyIsCi0ic291cmNlcyI6IFsic2Vs
ZWN0b3ItbGluZS5zY3NzIl0sCi0iZmlsZSI6ICJzZWxlY3Rvci1saW5lLmNzcyIKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3Nl
bGVjdG9yLWxpbmUuc2NzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
cmVzb3VyY2VzL3NlbGVjdG9yLWxpbmUuc2NzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNWM3NGQzNWQyOWIxNjhhOTQ1YjdmOWFmMjhhN2E5M2JiN2VmOTkwZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zZWxlY3Rvci1saW5lLnNjc3MKKysrIC9kZXYvbnVs
bApAQCAtMSw3ICswLDAgQEAKLSNjb250YWluZXIgewotICAgIGJhY2tncm91bmQ6IHBhcGF5YXdo
aXA7Ci0KLSAgICAjaW5zcGVjdGVkIHsKLSAgICAgICAgY29sb3I6IGdyZWVuOwotICAgIH0KLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3Vy
Y2VzL3N0eWxlcy1oaXN0b3J5LmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1oaXN0b3J5LmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTZlYTZmNzk3NmI4N2FiOGU2ZmEwY2Q3ZTJiNzhlZmI1YzgwZjU4YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtaGlzdG9yeS5jc3MKKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWJvZHkgewotICBtYXJnaW46IDEwcHg7Ci0gIHBhZGRp
bmc6IDEwcHg7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
c3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtaWZyYW1lLWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1pZnJhbWUtZGF0YS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjNlN2U2MjRjMDgzMDIxYTllYzEzYzVm
MDcxYjE2NTMxZDdkOTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0
eWxlcy1pZnJhbWUtZGF0YS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+Ci0gIGJv
ZHkgeyBiYWNrZ3JvdW5kOmdyZWVuOyB9Ci08L3N0eWxlPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGlm
cmFtZU9ubG9hZCgpCi17Ci0gICAgY29uc29sZS5sb2coImlmcmFtZSBsb2FkZWQiKTsKLX0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9ImlmcmFtZU9ubG9hZCgpIiBpZD0iaWZy
YW1lQm9keSI+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1uZXctQVBJLTEuY3NzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLW5l
dy1BUEktMS5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxNTQ2NzBmM2Q5NGI2
YzY4NTQxMTE5NTU5ODI1MjFkYmUwYjdmMWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9y
ZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEktMS5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCww
IEBACi1AaW1wb3J0IHVybChzdHlsZXMtbmV3LUFQSS0yLmNzcyk7Ci0KLUBwYWdlIHsgbWFyZ2lu
OiAyY20gfSAvKiBBbGwgbWFyZ2lucyBzZXQgdG8gMmNtICovCi0KLUBwYWdlIDpmaXJzdCB7Ci0g
IG1hcmdpbi10b3A6IDEwY20gICAgLyogVG9wIG1hcmdpbiBvbiBmaXJzdCBwYWdlIDEwY20gKi8K
LX0KLQotQG1lZGlhIHNjcmVlbiB7Ci0KLSNhYnNlbnQtaWQgewotfQotCi1AZm9udC1mYWNlIHsK
LSAgICBmb250LWZhbWlseTogJ1RoZUZvbnQnOwotICAgIHNyYzogdXJsKCdmb250LnVybCcpOwot
ICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7Ci0gICAgZm9udC1zdHlsZTogbm9ybWFsOwotfQotCi1i
b2R5IHsKLSAgICBwcm9wZXJ0eTogaW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQ7Ci19
Ci0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
cmVzb3VyY2VzL3N0eWxlcy1uZXctQVBJLTIuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEktMi5jc3MKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNzU1CmluZGV4IDQ4ODJlMDdhOGIxNDUxMjAwN2UxNTAzZDE5ZDEwNGU3OWYzMWFj
ZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEkt
Mi5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1AaW1wb3J0IHVybChzdHlsZXMt
bmV3LUFQSS0xLmNzcyk7Ci0KLUBwYWdlIHsgbWFyZ2luOiAyY20gfSAvKiBBbGwgbWFyZ2lucyBz
ZXQgdG8gMmNtICovCi0KLUBwYWdlIDpmaXJzdCB7Ci0gIG1hcmdpbi10b3A6IDEwY20gICAgLyog
VG9wIG1hcmdpbiBvbiBmaXJzdCBwYWdlIDEwY20gKi8KLX0KLQotQG1lZGlhIHNjcmVlbiB7Ci0K
LSNhYnNlbnQtaWQgewotfQotCi1AZm9udC1mYWNlIHsKLSAgICBmb250LWZhbWlseTogJ1RoZUZv
bnQnOwotICAgIHNyYzogdXJsKCdmb250LnVybCcpOwotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7
Ci0gICAgZm9udC1zdHlsZTogbm9ybWFsOwotfQotCi1ib2R5IHsKLSAgICBwcm9wZXJ0eTogaW1w
b3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQ7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy1uZXctQVBJ
LmNzcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0
eWxlcy1uZXctQVBJLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAxZDEwMjY2
ZDI1YTBmNGMyNmM1MjBjZDA3NGFlZDY4ZWMyOTA5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3Jlc291cmNlcy9zdHlsZXMtbmV3LUFQSS5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSwzMyAr
MCwwIEBACi1AY2hhcnNldCAiVVRGLTgiOwotCi1AaW1wb3J0IHVybCgic3R5bGVzLW5ldy1BUEkt
MS5jc3MiKTsKLQotaHRtbCB7Ci0gICAgZm9udC13ZWlnaHQ6IDQwMDsKLX0KLQotQG1lZGlhIHNj
cmVlbiB7Ci1ib2R5IHsKLSAgICBmb250LXNpemU6IDEycHg7Ci0gICAgZm9vOiBiYXIgIQotCi0g
ICAgaW1wb3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6ZWQgYnkgV2Vi
Q29yZSAqLzsKLSAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKLSAgICBjb2xvcno6ICIhaW1w
b3J0YW50IjsKLSAgICBpbXBvcnRhbnQ6IWltcG9ydGFudDsKLSAgICBjb2xvcjogeWVsbG93Owot
ICAgIGNvbG9yOiAiYmFkY29sb3IiICEgaW1wb3J0YW50IC8qIGdvb2QgcHJvcGVydHkgd2l0aCBz
dHJhbmdlIHZhbHVlICovOwotfQotCi0vKiBjb21tZW50IGJlZm9yZSBzZWxlY3RvciAqL2JvZHku
bWFpbjEvKiBjb21tZW50IGFmdGVyIHNlbGVjdG9yICovey8qIGNvbW1lbnQgKi9jb2xvcjogI0Yw
MEJBQTt6b286bW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXplZCBwcm9wZXJ0eSAq
L30vKiBjb21tZW50ICovCi0KLWJvZHkubWFpbjJ7YmFja2dyb3VuZDogZ3JlZW4gLyogdmFsdWUg
IWltcG9ydGFudCBjb21tZW50ICovICFpbXBvcnRhbnQgLyogbm8gc2VtaWNvbG9uLCB2ZXJ5ICFp
bXBvcnRhbnQgKi99Ci19Ci0KLWJvZHk6OmFmdGVyICB7Ci0gICAgY29udGVudDogIkFmdGVyIGJv
ZHkiOwotfQotCi1oMSB7Ci0gICAgaGVpZ2h0IDogMTAwJSA7IGJvcmRlcjogMXB4IHNvbGlkOyBi
b3JkZXItd2lkdGg6IDJweDsgYmFja2dyb3VuZC1jb2xvciA6ICMzM0ZGMzM7IGdvb2dsZXM6IGFi
cmE7IGZvbzogLmJhcjsgLW1vei1nb29nOiAxKioqOyBib3JkZXItd2lkdGg6IDBweDsKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2Vz
L3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1saW5lcy1pbmxp
bmUtaWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2NzM4Y2JmZmVl
NWYyY2Y4MDRlZGQ1MWNhZGJmYTljODI5MDY2MGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy9yZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1saW5lcy1pbmxpbmUtaWZyYW1lLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotLmJhciB7
Ci0gICAgY29sb3I6IHJlZDsKLX0KLTwvc3R5bGU+Ci08c2NyaXB0PgotZnVuY3Rpb24gaWZyYW1l
T25sb2FkKCkKLXsKLSAgICB3aW5kb3cucGFyZW50LmlmcmFtZUxvYWRlZCA9IHRydWU7Ci19Ci08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJpZnJhbWVPbmxvYWQoKSI+Ci08ZGl2
IGlkPSJiYXIiIGNsYXNzPSJiYXIiPkJhcjwvZGl2PgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9z
dHlsZXMtc291cmNlLW9mZnNldHMuY3NzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLmNzcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDUyMTBlM2ZiZWFmZjUyN2M1ZGQ3MjAxOWI1NzU3YWE1OTM4NDNi
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtc291cmNlLW9m
ZnNldHMuY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotYm9keSB7Ci0gICAgZm9u
dC1zaXplOiAxMnB4OwotICAgIGZvbzogYmFyICEKLQotICAgIGltcG9ydGFudCAvKiAhaW1wb3J0
YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNvcmUgKi87Ci0gICAgaGVpZ2h0OiAx
MDAlICFpbXBvcnRhbnQ7Ci0gICAgY29sb3J6OiAiIWltcG9ydGFudCI7Ci0gICAgaW1wb3J0YW50
OiFpbXBvcnRhbnQ7Ci0gICAgY29sb3I6ICJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29vZCBw
cm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi87Ci19Ci0KLS8qIGNvbW1lbnQgYmVmb3JlIHNl
bGVjdG9yICovYm9keS5tYWluMS8qIGNvbW1lbnQgYWZ0ZXIgc2VsZWN0b3IgKi97LyogY29tbWVu
dCAqL2NvbG9yOiAjRjAwQkFBO3pvbzptb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25p
emVkIHByb3BlcnR5ICovfS8qIGNvbW1lbnQgKi8KLQotYm9keS5tYWluMntiYWNrZ3JvdW5kOiBn
cmVlbiAvKiB2YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1p
Y29sb24sIHZlcnkgIWltcG9ydGFudCAqL30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy11cmwtbGlua2lmeS1pZnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0
eWxlcy11cmwtbGlua2lmeS1pZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDg1OGU0ZDBjZTVhMmM3ZmI5YTNmOGVkY2E5Nzc3NmFlOTIzZTczOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3Jlc291cmNlcy9zdHlsZXMtdXJsLWxpbmtpZnktaWZyYW1lLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgot
I2lmcmFtZWQgewotICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggaWZyYW1lZC5wbmcgKTsKLX0K
LTwvc3R5bGU+Ci08c2NyaXB0PgotZnVuY3Rpb24gaWZyYW1lT25sb2FkKCkKLXsKLSAgICB3aW5k
b3cucGFyZW50LmlmcmFtZUxvYWRlZCA9IHRydWU7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJpZnJhbWVPbmxvYWQoKSI+Ci08ZGl2IGlkPSJpZnJhbWVkIj48L2Rpdj4K
LTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9yZXNvdXJjZXMvc3R5bGVzLXVybC1saW5raWZ5LmNzcyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvcmVzb3VyY2VzL3N0eWxlcy11cmwtbGlua2lm
eS5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiY2U2YjVmMWI0N2M4ZjhkYjkx
OTZlMWJlMjQ1YTMwOThkYTM0NTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9yZXNvdXJj
ZXMvc3R5bGVzLXVybC1saW5raWZ5LmNzcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
I2xvY2FsIHsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICAnZnJvbWNzcy5wbmcnICk7Ci19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3NlbGVj
dG9yLWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy9zZWxlY3Rvci1saXN0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZTBlMDZhZjI2ZDM4MmViYzY3YzNmMTY2YWFlYWNlOGNkYzhkOGFjZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3NlbGVjdG9yLWxpc3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMzAgKzAsMCBAQAotVGVzdHMgcmVwcmVzZW50YXRpb24gb2Ygc2VsZWN0b3IgbGlz
dHMgaW4gdGhlIHByb3RvY29sLiBCdWcgMTAzMTE4LgotCi1UZXh0Ci1bZXhwYW5kZWRdIAotZWxl
bWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQot
W2V4cGFuZGVkXSAKLUZPTyBiQXIsICNpbnNwZWN0ZWQsIE1PTz5CQVIsIGh0TUwgZGl2LCBGb29+
TW9vLCBNT08gIHsgKHNlbGVjdG9yLWxpc3QuaHRtbDoxOSkKLWNvbG9yOiBncmVlbjsKLQotW2V4
cGFuZGVkXSAKLSNpbnNwZWN0ZWQgIHsgKHNlbGVjdG9yLWxpc3QuaHRtbDoxMCkKLQotW2V4cGFu
ZGVkXSAKLSNJblNwRWNUZUQgIHsgKHNlbGVjdG9yLWxpc3QuaHRtbDo3KQotCi1bZXhwYW5kZWRd
IAotI2luc3BlY3RlZCAgeyAoc2VsZWN0b3ItbGlzdC5odG1sOjQpCi0KLVtleHBhbmRlZF0gCi1G
T08gYkFyLCAjaW5zcGVjdGVkLCBNT08+QkFSLCBodE1MIGRpdiwgRm9vfk1vbywgTU9PICB7IChz
ZWxlY3Rvci1saXN0Lmh0bWw6MTkpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gY29sb3I6IGdyZWVuOwot
Ci1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBi
bG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvc2VsZWN0b3ItbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9zZWxlY3Rvci1saXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk1ZmVjNjY1ZTVhZDk3NzY4NDUwMjMyMThjOWI5NWQ3ZDBkZTRiNzMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9zZWxlY3Rvci1saXN0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotI2luc3BlY3RlZHsKLX0KLQotI0luU3BF
Y1RlRCB7Ci19Ci0KLS8qICovI2luc3BlY3RlZC8qICovIHsKLX0KLQotLyogCi0gKi8gRk9PLypT
aW5nbGUtbGluZSAxKi8gYkFyLC8qIFNpbmdsZS1saW5lIDIqLyNpbnNwZWN0ZWQvKgotICAgIE11
bHRpbGluZSBjb21tZW50Ci0qLyAsTU9PPkJBUiwgLyoxKi9odE1MIC8qMgotKi9kaXYvKjMqLywv
KiovRm9vfi8qKkMqL01vbywvKiovTU9PIC8qIENvbW1lbnQKLSAqLyAKLXsKLSAgY29sb3I6IGdy
ZWVuOwotfQotCi08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRz
Iik7Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaW5zcGVj
dGVkIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgcmVwcmVzZW50YXRpb24g
b2Ygc2VsZWN0b3IgbGlzdHMgaW4gdGhlIHByb3RvY29sLiA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMTE4Ij5CdWcgMTAzMTE4PC9hPi4KLTwvcD4K
LQotPGRpdiBpZD0iaW5zcGVjdGVkIj5UZXh0PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc2V0LXByb3Bl
cnR5LWJvdW5kYXJpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9zZXQtcHJvcGVydHktYm91bmRhcmllcy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkNzY1MGU4MGM5ZDM4OWViNzZkNjM1ZTMzNGFjYWI4NzMw
MmM0OTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zZXQtcHJvcGVydHktYm91bmRhcmll
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoYXQg
c2V0dGluZyBDU1MgcHJvcGVydHkgdGV4dCBvdXQgb2YgYm91bmRhcmllcyBkb2VzIG5vdCBjcmFz
aC4KLQotY29sb3I6IHJlZDsKLUluZGV4U2l6ZUVycm9yCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc2V0LXByb3BlcnR5LWJvdW5kYXJpZXMuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc2V0LXByb3BlcnR5LWJv
dW5kYXJpZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDU2YTE1ZTQ0NTUx
NmE0Mjk5NTFiMjVhZGI4MTQ5N2UwY2YyNmM4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3NldC1wcm9wZXJ0eS1ib3VuZGFyaWVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotCi08c3R5bGU+Ci1oMSB7Ci0gICAgY29sb3I6IHJlZDsKLX0K
LTwvc3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwotICAg
IENTU0FnZW50LmdldEFsbFN0eWxlU2hlZXRzKHN0eWxlU2hlZXRJbmZvc0xvYWRlZCk7Ci0KLSAg
ICBmdW5jdGlvbiBzdHlsZVNoZWV0SW5mb3NMb2FkZWQoZXJyb3IsIGluZm9zKQotICAgIHsKLSAg
ICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBpbmZvcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIENTU0FnZW50LmdldFN0
eWxlU2hlZXQoaW5mb3NbaV0uc3R5bGVTaGVldElkLCBzdHlsZVNoZWV0TG9hZGVkKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBzdHlsZVNoZWV0TG9hZGVkKGVycm9yLCBzdHlsZVNoZWV0KQotICAg
IHsKLSAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGVkaXRS
dWxlKHN0eWxlU2hlZXQucnVsZXNbMF0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGVkaXRSdWxl
KHJ1bGUpCi0gICAgewotICAgICAgICB2YXIgc3R5bGUgPSBydWxlLnN0eWxlOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdChzdHlsZS5jc3NQcm9wZXJ0aWVzWzBdLnRleHQpOwotCi0g
ICAgICAgIGNvbnN0IG91dE9mQk91bmRzUnVsZUluZGV4ID0gMTA7Ci0gICAgICAgIENTU0FnZW50
LnNldFByb3BlcnR5VGV4dChzdHlsZS5zdHlsZUlkLCBvdXRPZkJPdW5kc1J1bGVJbmRleCwgImNv
bG9yOmJsdWU7IiwgdHJ1ZSwgZHVtcEVycm9yTWVzc2FnZSk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gZHVtcEVycm9yTWVzc2FnZShlcnJvcikKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KGVycm9yKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICB9ICAgCi19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHNldHRpbmcgQ1NTIHByb3BlcnR5IHRleHQgb3V0IG9mIGJv
dW5kYXJpZXMgZG9lcyBub3QgY3Jhc2guCi08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxh
bmstcHJvcGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9zdHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZTNkYzFmZmI2ZTFiODk1Mjg1MzM1NmQwMzcwYzdmOGM1ZGVi
ZjliOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVy
dHktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotVGVzdHMgdGhh
dCBhZGRpbmcgYSBuZXcgYmxhbmsgcHJvcGVydHkgd29ya3MuCi0KLVRleHQKLUJlZm9yZSBhcHBl
bmQ6Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotZm9udC1zaXplOiAxMnB4Owot
Ci09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLWRpdiAg
eyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotQWZ0ZXIgaW5z
ZXJ0aW9uIGF0IGluZGV4IDA6Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotbWFy
Z2luLWxlZnQ6IDNweDsKLWZvbnQtc2l6ZTogMTJweDsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1Mg
UnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVl
dCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLUFmdGVyIGFwcGVuZGluZyBhbmQgY2hhbmdpbmcgYSAn
Y29tcG91bmQnIHByb3BlcnR5OgotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLW1h
cmdpbi1sZWZ0OiAzcHg7Ci1mb250LXNpemU6IDEycHg7Ci1jb2xvcjogcmVkOwotZm9udC13ZWln
aHQ6IGJvbGQ7Ci0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5k
ZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQot
Ci1BZnRlciBpbnNlcnRpb24gYXQgaW5kZXggMjoKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxl
ICB7ICgpCi1tYXJnaW4tbGVmdDogM3B4OwotZm9udC1zaXplOiAxMnB4OwotLy0tIG92ZXJsb2Fk
ZWQgLS0vIHRoaXJkLXByb3BlcnR5OiB0aGlyZC12YWx1ZTsKLWNvbG9yOiByZWQ7Ci1mb250LXdl
aWdodDogYm9sZDsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBh
bmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwot
Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9z
dHlsZXMtYWRkLWJsYW5rLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHkuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTU5YzhiMDg0YmE0N2U0YzQ1YmMxZmRjNzAzNjA0NGZkOWM3ODcy
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtYmxhbmstcHJvcGVydHku
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAg
IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoImVsZW1lbnRzIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5z
ZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgYWRkQW5kSW5jcmVtZW50Rmly
c3RQcm9wZXJ0eSk7Ci0KLSAgICB2YXIgdHJlZUVsZW1lbnQ7Ci0gICAgdmFyIHNlY3Rpb247Ci0K
LSAgICBmdW5jdGlvbiBhZGRBbmRJbmNyZW1lbnRGaXJzdFByb3BlcnR5KCkKLSAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgYXBwZW5kOiIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0gICAgICAgIHNl
Y3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMu
c2VjdGlvbnNbMF1bMV07Ci0gICAgICAgIHNlY3Rpb24uZXhwYW5kKCk7Ci0KLSAgICAgICAgLy8g
Q3JlYXRlIGFuZCBpbmNyZW1lbnQuCi0gICAgICAgIHRyZWVFbGVtZW50ID0gc2VjdGlvbi5hZGRO
ZXdCbGFua1Byb3BlcnR5KDApOwotICAgICAgICB0cmVlRWxlbWVudC5zdGFydEVkaXRpbmcoKTsK
LSAgICAgICAgdHJlZUVsZW1lbnQubmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSAibWFyZ2luLWxl
ZnQiOwotICAgICAgICB0cmVlRWxlbWVudC5uYW1lRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3Bl
Y3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwotCi0gICAgICAgIHRyZWVFbGVtZW50
LnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9ICIxcHgiOwotICAgICAgICB0cmVlRWxlbWVudC52
YWx1ZUVsZW1lbnQuZmlyc3RDaGlsZC5zZWxlY3QoKTsKLSAgICAgICAgdHJlZUVsZW1lbnQudmFs
dWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiVXAi
KSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhpbmNy
ZW1lbnRQcm9wZXJ0eSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gaW5jcmVtZW50UHJvcGVydHko
KQotICAgIHsKLSAgICAgICAgLy8gSW5jcmVtZW50IGFnYWluLgotICAgICAgICB0cmVlRWxlbWVu
dC52YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50
KCJVcCIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRjaGVz
KGNvbW1pdFByb3BlcnR5KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBjb21taXRQcm9wZXJ0eSgp
Ci0gICAgewotICAgICAgICAvLyBDb21taXQuCi0gICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVt
ZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7
Ci0gICAgICAgIHJlbG9hZFN0eWxlcyhhZGRBbmRDaGFuZ2VMYXN0Q29tcG91bmRQcm9wZXJ0eSk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkQW5kQ2hhbmdlTGFzdENvbXBvdW5kUHJvcGVydHko
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGluc2VydGlv
biBhdCBpbmRleCAwOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1l
bnRTdHlsZXModHJ1ZSk7Ci0KLSAgICAgICAgdHJlZUVsZW1lbnQgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMV0uYWRkTmV3Qmxh
bmtQcm9wZXJ0eSgyKTsKLSAgICAgICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0aW5nKCk7Ci0gICAg
ICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gImNvbG9yIjsKLSAgICAg
ICAgdHJlZUVsZW1lbnQubmFtZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNy
ZWF0ZUtleUV2ZW50KCJFbnRlciIpKTsKLQotICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1l
bnQudGV4dENvbnRlbnQgPSAiZ3JlZW47IGZvbnQtd2VpZ2h0OiBib2xkIjsKLSAgICAgICAgdHJl
ZUVsZW1lbnQua2lja0ZyZWVGbG93U3R5bGVFZGl0Rm9yVGVzdCgpOwotCi0gICAgICAgIHRyZWVF
bGVtZW50LnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9ICJyZWQ7IGZvbnQtd2VpZ2h0OiBib2xk
IjsKLSAgICAgICAgdHJlZUVsZW1lbnQua2lja0ZyZWVGbG93U3R5bGVFZGl0Rm9yVGVzdCgpOwot
Ci0gICAgICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3Rv
clRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1
bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMocmVsb2FkU3R5bGVzLmJpbmQodGhpcywgYWRkQW5kQ29t
bWl0TWlkZGxlUHJvcGVydHkpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBhZGRBbmRDb21taXRN
aWRkbGVQcm9wZXJ0eSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
QWZ0ZXIgYXBwZW5kaW5nIGFuZCBjaGFuZ2luZyBhICdjb21wb3VuZCcgcHJvcGVydHk6Iik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLQot
ICAgICAgICB0cmVlRWxlbWVudCA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJh
clBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsxXS5hZGROZXdCbGFua1Byb3BlcnR5KDIpOwotICAg
ICAgICB0cmVlRWxlbWVudC5zdGFydEVkaXRpbmcoKTsKLSAgICAgICAgdHJlZUVsZW1lbnQubmFt
ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAidGhpcmQtcHJvcGVydHkiOwotICAgICAgICB0cmVlRWxl
bWVudC5uYW1lRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZl
bnQoIkVudGVyIikpOwotICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQudGV4dENvbnRl
bnQgPSAidGhpcmQtdmFsdWUiOwotCi0gICAgICAgIHRyZWVFbGVtZW50Lm5hbWVFbGVtZW50LmRp
c3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVzdC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhyZWxvYWRTdHlsZXMu
YmluZCh0aGlzLCBkdW1wQW5kQ29tcGxldGUpKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1w
QW5kQ29tcGxldGUoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFm
dGVyIGluc2VydGlvbiBhdCBpbmRleCAyOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
ZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiByZWxvYWRTdHlsZXMoY2FsbGJhY2sp
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJvdGhlciIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMob3RoZXJDYWxsYmFj
ayk7Ci0KLSAgICAgICAgZnVuY3Rpb24gb3RoZXJDYWxsYmFjaygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3Rl
ZCIsIGNhbGxiYWNrKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBhZGRpbmcgYSBu
ZXcgYmxhbmsgcHJvcGVydHkgd29ya3MuCi08L3A+Ci0KLTxkaXYgaWQ9Imluc3BlY3RlZCIgc3R5
bGU9ImZvbnQtc2l6ZTogMTJweCI+VGV4dDwvZGl2PgotPGRpdiBpZD0ib3RoZXIiPjwvZGl2Pgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtaW52YWxpZC1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1hZGQtaW52YWxpZC1w
cm9wZXJ0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhZDI4
M2JiYWE5MzE3Njg5NDUyZDZjNDc1NGNlODI0NjJkNGI0NWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVydHktZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMjYgKzAsMCBAQAotVGVzdHMgdGhhdCBhZGRpbmcgYW4gaW52YWxpZCBwcm9w
ZXJ0eSByZXRhaW5zIGl0cyBzeW50YXguCi0KLVRleHQKLUJlZm9yZSBhcHBlbmQ6Ci1bZXhwYW5k
ZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotZm9udC1zaXplOiAxMnB4OwotCi09PT09PT09PSBN
YXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2Vu
dCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotQWZ0ZXIgYXBwZW5kOgotW2V4cGFu
ZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLWZvbnQtc2l6ZTogMTJweDsKLQotPT09PT09PT0g
TWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdl
bnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVy
dHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWFk
ZC1pbnZhbGlkLXByb3BlcnR5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZl
NzIyNTJhNjY3ZDY0OTgzZDFmZDVmNmUzMzM3YmZjOTk3OTdlMmEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9zdHlsZXMtYWRkLWludmFsaWQtcHJvcGVydHkuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDczICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV2ViSW5zcGVjdG9yLnNob3dQ
YW5lbCgiZWxlbWVudHMiKTsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9y
U3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVwMSk7Ci0KLSAgICB2YXIgdHJlZUVsZW1lbnQ7Ci0gICAg
dmFyIHNlY3Rpb247Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGFwcGVuZDoiKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAgICBzZWN0aW9uID0g
V2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25z
WzBdWzFdOwotICAgICAgICBzZWN0aW9uLmV4cGFuZCgpOwotCi0gICAgICAgIC8vIENyZWF0ZSBh
bmQgaW5jcmVtZW50LgotICAgICAgICB0cmVlRWxlbWVudCA9IHNlY3Rpb24uYWRkTmV3QmxhbmtQ
cm9wZXJ0eSgpOwotICAgICAgICB0cmVlRWxlbWVudC5zdGFydEVkaXRpbmcoKTsKLSAgICAgICAg
dHJlZUVsZW1lbnQubmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSAiY29sb3IiOwotICAgICAgICB0
cmVlRWxlbWVudC5uYW1lRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRl
S2V5RXZlbnQoIkVudGVyIikpOwotCi0gICAgICAgIC8vIFVwZGF0ZSBpbmNyZW1lbnRhbGx5IHRv
IGEgdmFsaWQgdmFsdWUuIAotICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQudGV4dENv
bnRlbnQgPSAicmdiKCI7Ci0gICAgICAgIHRyZWVFbGVtZW50LmtpY2tGcmVlRmxvd1N0eWxlRWRp
dEZvclRlc3QoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRj
aGVzKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAg
ICAvLyBDb21taXQgaW52YWxpZCB2YWx1ZS4gCi0gICAgICAgIHRyZWVFbGVtZW50LnZhbHVlRWxl
bWVudC50ZXh0Q29udGVudCA9ICJyZ2IoMSI7Ci0gICAgICAgIHRyZWVFbGVtZW50LnZhbHVlRWxl
bWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkVudGVyIikp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoc3RlcDMp
OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgib3RoZXIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5y
dW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzKHN0ZXA0KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9y
U3R5bGVzKCJpbnNwZWN0ZWQiLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUo
KQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGFwcGVuZDoi
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhhdCBhZGRpbmcgYW4gaW52YWxpZCBwcm9wZXJ0eSByZXRhaW5zIGl0cyBzeW50YXguCi08L3A+
Ci0KLTxkaXYgaWQ9Imluc3BlY3RlZCIgc3R5bGU9ImZvbnQtc2l6ZTogMTJweCI+VGV4dDwvZGl2
PgotPGRpdiBpZD0ib3RoZXIiPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1jb21wdXRlZC10
cmFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1jb21wdXRlZC10cmFjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDVmZWI0NTJlOGExZDE2ZDgwOWUyNTM3ZmFlZmQzODg3N2UyMDkwNjAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtY29tcHV0ZWQtdHJhY2UtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotVGVzdHMgdGhhdCBjb21wdXRlZCBzdHls
ZXMgZXhwYW5kIGFuZCBhbGxvdyB0cmFjaW5nIHRvIHN0eWxlIHJ1bGVzLgotCi09PT09IENvbXB1
dGVkIHN0eWxlIGZvciBJRDEgPT09PQotW2V4cGFuZGVkXSAKLS13ZWJraXQtYmFja2dyb3VuZC1j
bGlwOiBib3JkZXItYm94OwotLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7
Ci0td2Via2l0LWJhY2tncm91bmQtc2l6ZTogYXV0bzsKLWJhY2tncm91bmQtYXR0YWNobWVudDog
c2Nyb2xsOwotICAgICNpZDEgLSBpbml0aWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjIz
Ci1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7Ci0gICAgI2lkMSAtIGluaXRpYWwgc3R5bGVz
LWNvbXB1dGVkLXRyYWNlLmh0bWw6MjMKLWJhY2tncm91bmQtY29sb3I6IHJnYigxMjgsIDEyOCwg
MTI4KTsKLSAgICAjaWQxIC0gZ3JheSBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoyMwotICAg
IC8tLSBvdmVybG9hZGVkIC0tLyAjaWQxIC0gYmxhY2sgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0
bWw6MTgKLSAgICAvLS0gb3ZlcmxvYWRlZCAtLS8gI2lkMSAtIGdyZWVuIHN0eWxlcy1jb21wdXRl
ZC10cmFjZS5odG1sOjEzCi1iYWNrZ3JvdW5kLWltYWdlOiBub25lOwotICAgICNpZDEgLSBpbml0
aWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjIzCi1iYWNrZ3JvdW5kLW9yaWdpbjogcGFk
ZGluZy1ib3g7Ci0gICAgI2lkMSAtIGluaXRpYWwgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6
MjMKLWJhY2tncm91bmQtc2l6ZTogYXV0bzsKLSAgICAjaWQxIC0gaW5pdGlhbCBzdHlsZXMtY29t
cHV0ZWQtdHJhY2UuaHRtbDoyMwotZGlzcGxheTogYmxvY2s7Ci0gICAgZGl2IC0gYmxvY2sgdXNl
ciBhZ2VudCBzdHlsZXNoZWV0Ci1mb250LWZhbWlseTogQ291cmllcjsKLSAgICAjaWQxIC0gQ291
cmllciBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoxOAotICAgIC8tLSBvdmVybG9hZGVkIC0t
LyAjaWQxIC0gVGltZXMgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MTMKLSAgICAvLS0gb3Zl
cmxvYWRlZCAtLS8gYm9keSAtIEFyaWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjQKLXRl
eHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwotICAgIGRpdiAtIHVuZGVybGluZSBzdHlsZXMtY29t
cHV0ZWQtdHJhY2UuaHRtbDo5Ci0KLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0K
LQotPT09PSBDb21wdXRlZCBzdHlsZSBmb3IgSUQyID09PT0KLVtleHBhbmRlZF0gCi1iYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMCwgMCwgMjU1KTsKLSAgICAjaWQyIC0gYmx1ZSBzdHlsZXMtY29tcHV0
ZWQtdHJhY2UuaHRtbDoyNwotZGlzcGxheTogYmxvY2s7Ci0gICAgZGl2IC0gYmxvY2sgdXNlciBh
Z2VudCBzdHlsZXNoZWV0Ci1mb250LWZhbWlseTogQ291cmllcjsKLSAgICAjaWQyIC0gQ291cmll
ciBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoyNwotICAgIC8tLSBvdmVybG9hZGVkIC0tLyAj
aWQxIC0gQ291cmllciBzdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbDoxOAotICAgIC8tLSBvdmVy
bG9hZGVkIC0tLyAjaWQxIC0gVGltZXMgc3R5bGVzLWNvbXB1dGVkLXRyYWNlLmh0bWw6MTMKLSAg
ICAvLS0gb3ZlcmxvYWRlZCAtLS8gYm9keSAtIEFyaWFsIHN0eWxlcy1jb21wdXRlZC10cmFjZS5o
dG1sOjQKLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwotICAgIC8tLSBvdmVybG9hZGVkIC0t
LyAjaWQyIC0gaW52YWxpZHZhbHVlIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjI3Ci0gICAg
ZGl2IC0gdW5kZXJsaW5lIHN0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sOjkKLQotW2V4cGFuZGVk
XSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotCi09PT09IFN0eWxlIGZvciBJRDMgPT09PQotW2V4
cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVs
ZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1idXR0b25bQXR0cmlidXRlcyBTdHlsZV0gIHsgKCkK
LWRpc3BsYXk6IG5vbmU7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1jb21wdXRlZC10cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtY29tcHV0ZWQtdHJhY2UuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzcyNjU5MzA4YTk4NTkwNGNjMjgxYjlhMjNhZDNk
ZDJmNWMxNmY3Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1jb21wdXRlZC10
cmFjZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzdHlsZT4KLWJvZHkgewotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAsIDAsIDApOwot
ICAgIGZvbnQtZmFtaWx5OiBBcmlhbDsKLX0KLQotZGl2IHsKLSAgICB0ZXh0LWRlY29yYXRpb246
IHVuZGVybGluZTsKLX0KLQotI2lkMSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci0g
ICAgZm9udC1mYW1pbHk6IFRpbWVzOwotfQotCi0jaWQxIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiBibGFjazsKLSAgICBmb250LWZhbWlseTogQ291cmllcjsKLX0KLQotI2lkMSB7Ci0gICAgYmFj
a2dyb3VuZDogZ3JheTsKLX0KLQotI2lkMiB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
LSAgICBmb250LWZhbWlseTogQ291cmllcjsKLSAgICB0ZXh0LWRlY29yYXRpb246IGludmFsaWR2
YWx1ZTsKLX0KLQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0
Rm9yU3R5bGVzV2l0aENvbXB1dGVkKCJpZDEiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PSBDb21wdXRl
ZCBzdHlsZSBmb3IgSUQxID09PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0
ZWRFbGVtZW50U3R5bGVzKGZhbHNlLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxl
Y3ROb2RlQW5kV2FpdEZvclN0eWxlc1dpdGhDb21wdXRlZCgiaWQyIiwgc3RlcDIpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCI9PT09IENvbXB1dGVkIHN0eWxlIGZvciBJRDIgPT09PSIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXMoZmFsc2UsIHRydWUpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzV2l0aENvbXB1dGVkKCJp
ZDMiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT0gU3R5bGUgZm9yIElEMyA9PT09Iik7Ci0g
ICAgICAgIC8vIFRoZSBidXR0b25baGlkZGVuXSBzdHlsZSBzcGVjaWZpZXMgImRpc3BsYXk6IG5v
bmUiLCB3aGljaCBzaG91bGQgbm90IGJlIC8tLSBvdmVybG9hZGVkIC0tLy4KLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIHRydWUpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotfQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjb21w
dXRlZCBzdHlsZXMgZXhwYW5kIGFuZCBhbGxvdyB0cmFjaW5nIHRvIHN0eWxlIHJ1bGVzLgotPC9w
PgotCi08ZGl2IGlkPSJpZDEiPgotPGRpdiBpZD0iaWQyIj4KLTwvZGl2PgotPGJ1dHRvbiBpZD0i
aWQzIiBoaWRkZW4gLz4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLWluaGVy
aXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1kaXNhYmxlLWluaGVyaXRlZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGY3ZmQ5MzEzZjY0NzEyZDU0MTlhYWVjNzMyNjQ5ZWM3MjRkMjRlYjguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS1pbmhlcml0ZWQtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotVGVzdHMgdGhhdCBkaXNhYmxp
bmcgaW5oZXJpdGVkIHN0eWxlIHByb3BlcnR5IGRvZXMgbm90IGJyZWFrIGZ1cnRoZXIgc3R5bGUg
aW5zcGVjdGlvbi4KLQotQmVmb3JlIGRpc2FibGUKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxl
ICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRd
IAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotPT09
PT09PT0gSW5oZXJpdGVkIGZyb20gZGl2I2NvbnRhaW5lciA9PT09PT09PQotW2V4cGFuZGVkXSAK
LVN0eWxlIEF0dHJpYnV0ZSAgeyAoKQotZm9udC13ZWlnaHQ6IGJvbGQ7Ci0KLQotQWZ0ZXIgZGlz
YWJsZToKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNo
ZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0
eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtaW5oZXJpdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLWlu
aGVyaXRlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjJlYzY4Y2Q4ZjBi
MmI0MTdlM2VlNjAxMTJhYTcwYWVjMjUwNDU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
c3R5bGVzLWRpc2FibGUtaW5oZXJpdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotCi0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2Fp
dEZvclN0eWxlcygibmVzdGVkIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRFbGVtZW50U3R5bGVQ
cm9wZXJ0eVRyZWVJdGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiQmVmb3JlIGRpc2FibGUiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2Vs
ZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxl
UHJvcGVydHkoImZvbnQtd2VpZ2h0IiwgZmFsc2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNl
bGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJuZXN0ZWQiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAg
ZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IkFmdGVyIGRpc2FibGU6Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxl
bWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+Ci1UZXN0cyB0aGF0IGRpc2FibGluZyBpbmhlcml0ZWQgc3R5bGUgcHJvcGVydHkgZG9l
cyBub3QgYnJlYWsgZnVydGhlciBzdHlsZSBpbnNwZWN0aW9uLgotPC9wPgotCi08ZGl2IGlkPSJj
b250YWluZXIiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj4KLSAgICA8ZGl2IGlkPSJuZXN0ZWQi
PjwvZGl2PgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHls
ZXMtZGlzYWJsZS10aGVuLWNoYW5nZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI1MGQ3YTYyOWYwMmRjODIzOWY2YzgyYjRmM2QyMjE5OTQ1NzIwMDguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWNoYW5nZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1UZXN0cyB0aGF0IGNoYW5naW5n
IGEgZGlzYWJsZWQgcHJvcGVydHkgZW5hYmxlcyBpdCBhcyB3ZWxsLgotCi1CZWZvcmUgZGlzYWJs
ZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLWZvbnQtd2VpZ2h0OiBib2xkOwot
Ci0KLUFmdGVyIGRpc2FibGUKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0vLS0g
b3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBmb250LXdlaWdodDogYm9sZDsKLQotCi1B
ZnRlciBjaGFuZ2UKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi1jb2xvcjogZ3Jl
ZW47Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tY2hhbmdlLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1YmJmNzliODlkNzcyMGU0ZmJiZjgzODc0Y2M5MWFk
YmVlNDg0OWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVu
LWNoYW5nZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkK
LXsKLSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWlu
ZXIiLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQmVmb3JlIGRpc2FibGUiKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIHRydWUpOwotCi0gICAgICAgIElu
c3BlY3RvclRlc3QudG9nZ2xlU3R5bGVQcm9wZXJ0eSgiZm9udC13ZWlnaHQiLCBmYWxzZSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDIpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJBZnRlciBkaXNhYmxlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVlKTsKLQotICAgICAgICB2YXIgdHJlZUl0
ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQt
d2VpZ2h0Iik7Ci0gICAgICAgIHRyZWVJdGVtLmFwcGx5U3R5bGVUZXh0KCJjb2xvcjogZ3JlZW4i
LCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIi
LCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGNoYW5nZSIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBjaGFuZ2luZyBh
IGRpc2FibGVkIHByb3BlcnR5IGVuYWJsZXMgaXQgYXMgd2VsbC4KLTwvcD4KLQotPGRpdiBpZD0i
Y29udGFpbmVyIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Ci08L2Rpdj4KLQotPGRpdiBpZD0i
b3RoZXIiPgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1kZWxldGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHls
ZXMtZGlzYWJsZS10aGVuLWRlbGV0ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE3M2MyYzFkZDA1YWQxMDk4OTY5MDZhZTIwYTBmNzYwMTU3OGQ0YTQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWRlbGV0ZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1UZXN0cyB0aGF0IHJlbW92YWwg
b2YgcHJvcGVydHkgZm9sbG93aW5nIGl0cyBkaXNhYmxpbmcgd29ya3MuCi0KLUJlZm9yZSBkaXNh
YmxlCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotZm9udC13ZWlnaHQ6IGJvbGQ7
Ci0KLQotQWZ0ZXIgZGlzYWJsZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLS8t
LSBvdmVybG9hZGVkIC0tLyAvLS0gZGlzYWJsZWQgLS0vIGZvbnQtd2VpZ2h0OiBib2xkOwotCi0K
LUFmdGVyIGRlbGV0ZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWRp
c2FibGUtdGhlbi1kZWxldGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1kZWxldGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYWZmYTY0YWVhZjg4NzAxOGUwMzUzZGFlMTNkZWEyYzQ5YTkxODgwMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZGVsZXRlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3Bl
Y3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAxKTsK
LQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIC8vIERpc2FibGUgcHJvcGVy
dHkKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCB0cnVl
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJmb250LXdlaWdo
dCIsIGZhbHNlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRj
aGVzKHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAg
ICAvLyBEZWxldGUgc3R5bGUKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVy
IGRpc2FibGUiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5
bGVzKHRydWUsIHRydWUpOwotCi0gICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3Qu
Z2V0RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKLSAgICAgICAg
dHJlZUl0ZW0uYXBwbHlTdHlsZVRleHQoIiIsIHRydWUpOwotCi0gICAgICAgIEluc3BlY3RvclRl
c3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElk
KCJvdGhlciIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNo
ZXMoc3RlcDQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0
ZXA1KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShub2RlKQotICAgIHsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGRlbGV0ZSIpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCByZW1vdmFsIG9m
IHByb3BlcnR5IGZvbGxvd2luZyBpdHMgZGlzYWJsaW5nIHdvcmtzLgotPC9wPgotCi08ZGl2IGlk
PSJjb250YWluZXIiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj4KLTwvZGl2PgotCi08ZGl2IGlk
PSJvdGhlciI+Ci08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJs
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0
eWxlcy1kaXNhYmxlLXRoZW4tZW5hYmxlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOTZlZjZhZTFjNzZiODUwNTE4ZWE0NGFlYzc5ZmVkZDM2ZmFiNjgzZi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZW5hYmxlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotVGVzdHMgdGhhdCBkaXNhYmxp
bmcgc3R5bGUgcHJvcGVydHkgd29ya3MuCi0KLUJlZm9yZSBkaXNhYmxlCi1mb250LXdlaWdodDog
Ym9sZDsKLUFmdGVyIGRpc2FibGUKLS8tLSBvdmVybG9hZGVkIC0tLyAvLS0gZGlzYWJsZWQgLS0v
IGZvbnQtd2VpZ2h0OiBib2xkOwotQWZ0ZXIgZW5hYmxlCi1mb250LXdlaWdodDogYm9sZDsKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMt
ZGlzYWJsZS10aGVuLWVuYWJsZS1vdmVycmlkZW4tdWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1v
dmVycmlkZW4tdWEtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
ZmIyZTUyNDIxYzZiNTIyYjYwMjcyMDMzYjJkNzU3MjUwZjBiMDAyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLWRpc2FibGUtdGhlbi1lbmFibGUtb3ZlcnJpZGVuLXVhLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLVRlc3RzIHRoYXQgZGlzYWJs
aW5nIHNob3J0aGFuZCByZW1vdmVzIHRoZSAib3ZlcnJpZGVuIiBtYXJrIGZyb20gdGhlIFVBIHNo
b3J0aGFuZCBpdCBvdmVycmlkZXMuCi0KLUJlZm9yZSBkaXNhYmxlCi1bZXhwYW5kZWRdIAotZWxl
bWVudC5zdHlsZSAgeyAoKQotbWFyZ2luOiAxMHB4OwotCi09PT09PT09PSBNYXRjaGVkIENTUyBS
dWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNjb250YWluZXIgIHsgKHVzZXIgc3R5bGVzaGVl
dCkKLS8tLSBvdmVybG9hZGVkIC0tLyBtYXJnaW46IDhweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAg
eyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotQWZ0ZXIgZGlz
YWJsZQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLS8tLSBvdmVybG9hZGVkIC0t
LyAvLS0gZGlzYWJsZWQgLS0vIG1hcmdpbjogMTBweDsKLQotPT09PT09PT0gTWF0Y2hlZCBDU1Mg
UnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0jY29udGFpbmVyICB7ICh1c2VyIHN0eWxlc2hl
ZXQpCi1tYXJnaW46IDhweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHls
ZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotQWZ0ZXIgZW5hYmxlCi1bZXhwYW5kZWRdIAot
ZWxlbWVudC5zdHlsZSAgeyAoKQotbWFyZ2luOiAxMHB4OwotCi09PT09PT09PSBNYXRjaGVkIENT
UyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNjb250YWluZXIgIHsgKHVzZXIgc3R5bGVz
aGVldCkKLS8tLSBvdmVybG9hZGVkIC0tLyBtYXJnaW46IDhweDsKLQotW2V4cGFuZGVkXSAKLWRp
diAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNh
YmxlLXRoZW4tZW5hYmxlLW92ZXJyaWRlbi11YS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVuYWJsZS1vdmVycmlkZW4tdWEu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhkZTYwMDQ4YzZjMWVhMmZhODkz
NTgyYzg1ZTJiYTA0NDcyMWM1Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1k
aXNhYmxlLXRoZW4tZW5hYmxlLW92ZXJyaWRlbi11YS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIGluamVjdFN0eWxlU2hlZXQoKQotewotICAgIHZhciBzdHlsZVNo
ZWV0ID0gIiNjb250YWluZXIgeyBtYXJnaW46IDhweCB9IjsKLSAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmFkZFVzZXJTdHlsZVNoZWV0KHN0eWxl
U2hlZXQsIHRydWUpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJpbmplY3RTdHlsZVNoZWV0KCkiLCBzdGVwMSk7Ci0gICAgZnVuY3Rp
b24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2Fp
dEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgZGlz
YWJsZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXMo
dHJ1ZSwgZmFsc2UsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxlUHJv
cGVydHkoIm1hcmdpbiIsIGZhbHNlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5
bGVzKCJjb250YWluZXIiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGRpc2FibGUiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUsIGZh
bHNlLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC50b2dnbGVTdHlsZVByb3BlcnR5KCJt
YXJnaW4iLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yU3R5bGVzKCJjb250
YWluZXIiLCBzdGVwNCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIGVuYWJsZSIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSIgaWQ9ImJvZHktaWQiPgot
PHA+Ci1UZXN0cyB0aGF0IGRpc2FibGluZyBzaG9ydGhhbmQgcmVtb3ZlcyB0aGUgIm92ZXJyaWRl
biIgbWFyayBmcm9tIHRoZSBVQSBzaG9ydGhhbmQgaXQgb3ZlcnJpZGVzLgotPC9wPgotCi08ZGl2
IGlkPSJjb250YWluZXIiIHN0eWxlPSJtYXJnaW46IDEwcHgiPjwvZGl2PgotCi08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3N0eWxlcy1kaXNhYmxlLXRoZW4tZW5hYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1kaXNhYmxlLXRoZW4tZW5hYmxlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjYzAwZWU4ZmI3MGI0N2JkMWRjNjg2OWM5NjJjODM1MDQy
MzZlNzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtZGlzYWJsZS10aGVuLWVu
YWJsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIi
LCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMShub2RlKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIkJlZm9yZSBkaXNhYmxlIik7Ci0gICAgICAgIHZhciB0cmVl
SXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxlUHJvcGVydHlUcmVlSXRlbSgiZm9u
dC13ZWlnaHQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGVUcmVlSXRlbSh0cmVl
SXRlbSwgIiIpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QudG9nZ2xlU3R5bGVQcm9wZXJ0eSgi
Zm9udC13ZWlnaHQiLCBmYWxzZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxl
cygiY29udGFpbmVyIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBkaXNhYmxlIik7Ci0g
ICAgICAgIHZhciB0cmVlSXRlbSA9IEluc3BlY3RvclRlc3QuZ2V0RWxlbWVudFN0eWxlUHJvcGVy
dHlUcmVlSXRlbSgiZm9udC13ZWlnaHQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5
bGVUcmVlSXRlbSh0cmVlSXRlbSwgIiIpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QudG9nZ2xl
U3R5bGVQcm9wZXJ0eSgiZm9udC13ZWlnaHQiLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC53YWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVy
IGVuYWJsZSIpOwotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1l
bnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQtd2VpZ2h0Iik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFN0eWxlVHJlZUl0ZW0odHJlZUl0ZW0sICIiKTsKLQotICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZGlzYWJsaW5nIHN0eWxl
IHByb3BlcnR5IHdvcmtzLgotPC9wPgotCi08ZGl2IGlkPSJjb250YWluZXIiIHN0eWxlPSJmb250
LXdlaWdodDpib2xkIj4KLTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1mb3JtYXR0aW5nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVz
LWZvcm1hdHRpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MGRjNjc4MDI1OWZlNzlmNWZlZDkxMjlkNjAzODJlY2ZiMTk0YTFjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLWZvcm1hdHRpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTc3ICswLDAgQEAKLVRlc3RzIHRoYXQgSW5zcGVjdG9yQ1NTQWdlbnQgZm9ybWF0cyB0
aGUgQ1NTIHN0eWxlIHRleHQgYmFzZWQgb24gdGhlIENTUyBtb2RlbCBtb2RpZmljYXRpb25zLgot
Ci1Gb3JtYXR0ZWQKLVVuZm9ybWF0dGVkCi0KLVJ1bm5pbmc6IGluaXRGb3JtYXR0ZWRTdHlsZQot
Ci1SdW5uaW5nOiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0U3RhcnQKLXJhdyBjc3NUZXh0OgoteyAKLSAg
ICBmaXJzdFByb3BlcnR5OiBmaXJzdFZhbHVlOwotICAgIHByb3BlcnR5MTogdmFsdWUxOwotICAg
IHByb3BlcnR5MjogdmFsdWUyOwotICAgIHByb3BlcnR5MzogdmFsdWUzOwotfQotCi1SdW5uaW5n
OiB0ZXN0Rm9ybWF0dGVkUmVtb3ZlU3RhcnQKLXJhdyBjc3NUZXh0OgoteyAKLSAgICBwcm9wZXJ0
eTE6IHZhbHVlMTsKLSAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKLSAgICBwcm9wZXJ0eTM6IHZhbHVl
MzsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRlZEluc2VydE1pZGRsZQotcmF3IGNzc1RleHQ6
Ci17IAotICAgIHByb3BlcnR5MTogdmFsdWUxOwotICAgIG1pZGRsZVByb3BlcnR5OiBtaWRkbGVW
YWx1ZTsKLSAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKLSAgICBwcm9wZXJ0eTM6IHZhbHVlMzsKLX0K
LQotUnVubmluZzogdGVzdEZvcm1hdHRlZFJlbW92ZU1pZGRsZQotcmF3IGNzc1RleHQ6Ci17IAot
ICAgIHByb3BlcnR5MTogdmFsdWUxOwotICAgIHByb3BlcnR5MjogdmFsdWUyOwotICAgIHByb3Bl
cnR5MzogdmFsdWUzOwotfQotCi1SdW5uaW5nOiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0RW5kCi1yYXcg
Y3NzVGV4dDoKLXsgCi0gICAgcHJvcGVydHkxOiB2YWx1ZTE7Ci0gICAgcHJvcGVydHkyOiB2YWx1
ZTI7Ci0gICAgcHJvcGVydHkzOiB2YWx1ZTM7Ci0gICAgZW5kUHJvcGVydHk6IGVuZFZhbHVlOwot
fQotCi1SdW5uaW5nOiB0ZXN0Rm9ybWF0dGVkUmVtb3ZlRW5kCi1yYXcgY3NzVGV4dDoKLXsgCi0g
ICAgcHJvcGVydHkxOiB2YWx1ZTE7Ci0gICAgcHJvcGVydHkyOiB2YWx1ZTI7Ci0gICAgcHJvcGVy
dHkzOiB2YWx1ZTM7Ci19Ci0KLVJ1bm5pbmc6IHRlc3RGb3JtYXR0ZWREaXNhYmxlU3RhcnQKLXJh
dyBjc3NUZXh0OgoteyAKLSAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKLSAgICBwcm9wZXJ0eTM6IHZh
bHVlMzsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRlZERpc2FibGVFbmQKLXJhdyBjc3NUZXh0
OgoteyAKLSAgICBwcm9wZXJ0eTI6IHZhbHVlMjsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRl
ZERpc2FibGVNaWRkbGUKLXJhdyBjc3NUZXh0OgoteyAKLX0KLQotUnVubmluZzogdGVzdEZvcm1h
dHRlZEluc2VydDEKLXJhdyBjc3NUZXh0OgoteyAKLSAgICBwcm9wQTogdmFsQTsKLX0KLQotUnVu
bmluZzogdGVzdEZvcm1hdHRlZEluc2VydDIKLXJhdyBjc3NUZXh0OgoteyAKLSAgICBwcm9wQTog
dmFsQTsKLSAgICBwcm9wQjogdmFsQjsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRlZEluc2Vy
dDMKLXJhdyBjc3NUZXh0OgoteyAKLSAgICBwcm9wQTogdmFsQTsKLSAgICBwcm9wQjogdmFsQjsK
LSAgICBwcm9wQzogdmFsQzsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRlZEVuYWJsZVN0YXJ0
Ci1yYXcgY3NzVGV4dDoKLXsgCi0gICAgcHJvcEE6IHZhbEE7Ci0gICAgcHJvcGVydHkxOiB2YWx1
ZTE7Ci0gICAgcHJvcEI6IHZhbEI7Ci0gICAgcHJvcEM6IHZhbEM7Ci19Ci0KLVJ1bm5pbmc6IHRl
c3RGb3JtYXR0ZWRFbmFibGVFbmQKLXJhdyBjc3NUZXh0OgoteyAKLSAgICBwcm9wQTogdmFsQTsK
LSAgICBwcm9wZXJ0eTE6IHZhbHVlMTsKLSAgICBwcm9wQjogdmFsQjsKLSAgICBwcm9wZXJ0eTM6
IHZhbHVlMzsKLSAgICBwcm9wQzogdmFsQzsKLX0KLQotUnVubmluZzogdGVzdEZvcm1hdHRlZEVu
YWJsZU1pZGRsZQotcmF3IGNzc1RleHQ6Ci17IAotICAgIHByb3BBOiB2YWxBOwotICAgIHByb3Bl
cnR5MTogdmFsdWUxOwotICAgIHByb3BCOiB2YWxCOwotICAgIHByb3BlcnR5MjogdmFsdWUyOwot
ICAgIHByb3BlcnR5MzogdmFsdWUzOwotICAgIHByb3BDOiB2YWxDOwotfQotCi1SdW5uaW5nOiBp
bml0VW5mb3JtYXR0ZWRTdHlsZQotCi1SdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRJbnNlcnRTdGFy
dAotcmF3IGNzc1RleHQ6Ci17Zmlyc3RQcm9wZXJ0eTogZmlyc3RWYWx1ZTtwcm9wZXJ0eTE6dmFs
dWUxO3Byb3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9Ci0KLVJ1bm5pbmc6IHRlc3RV
bmZvcm1hdHRlZFJlbW92ZVN0YXJ0Ci1yYXcgY3NzVGV4dDoKLXtwcm9wZXJ0eTE6dmFsdWUxO3By
b3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9Ci0KLVJ1bm5pbmc6IHRlc3RVbmZvcm1h
dHRlZEluc2VydE1pZGRsZQotcmF3IGNzc1RleHQ6Ci17cHJvcGVydHkxOnZhbHVlMTttaWRkbGVQ
cm9wZXJ0eTogbWlkZGxlVmFsdWU7cHJvcGVydHkyOnZhbHVlMjtwcm9wZXJ0eTM6dmFsdWUzO30K
LQotUnVubmluZzogdGVzdFVuZm9ybWF0dGVkUmVtb3ZlTWlkZGxlCi1yYXcgY3NzVGV4dDoKLXtw
cm9wZXJ0eTE6dmFsdWUxO3Byb3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9Ci0KLVJ1
bm5pbmc6IHRlc3RVbmZvcm1hdHRlZEluc2VydEVuZAotcmF3IGNzc1RleHQ6Ci17cHJvcGVydHkx
OnZhbHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7ZW5kUHJvcGVydHk6IGVu
ZFZhbHVlO30KLQotUnVubmluZzogdGVzdFVuZm9ybWF0dGVkUmVtb3ZlRW5kCi1yYXcgY3NzVGV4
dDoKLXtwcm9wZXJ0eTE6dmFsdWUxO3Byb3BlcnR5Mjp2YWx1ZTI7cHJvcGVydHkzOnZhbHVlMzt9
Ci0KLVJ1bm5pbmc6IHRlc3RVbmZvcm1hdHRlZERpc2FibGVTdGFydAotcmF3IGNzc1RleHQ6Ci17
cHJvcGVydHkyOnZhbHVlMjtwcm9wZXJ0eTM6dmFsdWUzO30KLQotUnVubmluZzogdGVzdFVuZm9y
bWF0dGVkRGlzYWJsZUVuZAotcmF3IGNzc1RleHQ6Ci17cHJvcGVydHkyOnZhbHVlMjt9Ci0KLVJ1
bm5pbmc6IHRlc3RVbmZvcm1hdHRlZERpc2FibGVNaWRkbGUKLXJhdyBjc3NUZXh0Ogote30KLQot
UnVubmluZzogdGVzdFVuZm9ybWF0dGVkRW5hYmxlU3RhcnQKLXJhdyBjc3NUZXh0Ogote3Byb3Bl
cnR5MTp2YWx1ZTE7fQotCi1SdW5uaW5nOiB0ZXN0VW5mb3JtYXR0ZWRFbmFibGVFbmQKLXJhdyBj
c3NUZXh0Ogote3Byb3BlcnR5MTp2YWx1ZTE7cHJvcGVydHkzOnZhbHVlMzt9Ci0KLVJ1bm5pbmc6
IHRlc3RVbmZvcm1hdHRlZEVuYWJsZU1pZGRsZQotcmF3IGNzc1RleHQ6Ci17cHJvcGVydHkxOnZh
bHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1mb3JtYXR0aW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1mb3JtYXR0
aW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0OTg1NGUwN2YxNjliOWM3
YzgzMTdiYWU3NTdjZGQ4ZDMyNTlhZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHls
ZXMtZm9ybWF0dGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjQ4ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biB0ZXN0KCkKLXsKLSAgICB2YXIgZm9ybWF0dGVkU3R5bGU7Ci0gICAgdmFyIHVuZm9ybWF0dGVk
U3R5bGU7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0
aW9uIGluaXRGb3JtYXR0ZWRTdHlsZShuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmdW5j
dGlvbiBjYWxsYmFjayhzdHlsZXMpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYg
KCFzdHlsZXMpIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
ImVtcHR5IHN0eWxlcyIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUgPSBzdHlsZXMubWF0Y2hl
ZENTU1J1bGVzWzFdLnN0eWxlOwotICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgZnVuY3Rpb24gbm9kZUNhbGxiYWNrKG5vZGUpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLmdldE1hdGNoZWRTdHls
ZXNBc3luYyhub2RlLmlkLCBmYWxzZSwgZmFsc2UsIGNhbGxiYWNrKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgiZm9ybWF0dGVkIiwg
bm9kZUNhbGxiYWNrKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0
dGVkSW5zZXJ0U3RhcnQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZm9ybWF0dGVkU3R5
bGUuaW5zZXJ0UHJvcGVydHlBdCgwLCAiZmlyc3RQcm9wZXJ0eSIsICJmaXJzdFZhbHVlIiwgZHVt
cEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0ZWRSZW1vdmVTdGFydChuZXh0KQotICAgICAgICB7
Ci0gICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzBdLnNldFRleHQoIiIs
IHRydWUsIHRydWUsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsK
LSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0TWlkZGxl
KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmluc2VydFByb3Bl
cnR5QXQoMSwgIm1pZGRsZVByb3BlcnR5IiwgIm1pZGRsZVZhbHVlIiwgZHVtcEZvcm1hdHRlZEFu
ZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RGb3JtYXR0ZWRSZW1vdmVNaWRkbGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sxXS5zZXRUZXh0KCIiLCB0cnVlLCB0cnVl
LCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZEluc2VydEVuZChuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDMsICJlbmRQ
cm9wZXJ0eSIsICJlbmRWYWx1ZSIsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGws
IG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkUmVt
b3ZlRW5kKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFBy
b3BlcnRpZXNbM10uc2V0VGV4dCgiIiwgdHJ1ZSwgdHJ1ZSwgZHVtcEZvcm1hdHRlZEFuZENhbGxO
ZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RGb3JtYXR0ZWREaXNhYmxlU3RhcnQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgZm9y
bWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1swXS5zZXREaXNhYmxlZCh0cnVlLCBkdW1wRm9ybWF0
dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAg
ZnVuY3Rpb24gdGVzdEZvcm1hdHRlZERpc2FibGVFbmQobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1syXS5zZXREaXNhYmxlZCh0cnVlLCBk
dW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZERpc2FibGVNaWRkbGUobmV4dCkKLSAgICAg
ICAgewotICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1sxXS5zZXREaXNh
YmxlZCh0cnVlLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0g
ICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRlZEluc2VydDEobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgZm9ybWF0dGVkU3R5bGUuaW5zZXJ0UHJvcGVydHlBdCgw
LCAicHJvcEEiLCAidmFsQSIsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5l
eHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkSW5zZXJ0
MihuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICBmb3JtYXR0ZWRTdHlsZS5pbnNlcnRQcm9w
ZXJ0eUF0KDIsICJwcm9wQiIsICJ2YWxCIiwgZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQo
bnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0
ZWRJbnNlcnQzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmlu
c2VydFByb3BlcnR5QXQoNSwgInByb3BDIiwgInZhbEMiLCBkdW1wRm9ybWF0dGVkQW5kQ2FsbE5l
eHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVz
dEZvcm1hdHRlZEVuYWJsZVN0YXJ0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvcm1h
dHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbMV0uc2V0RGlzYWJsZWQoZmFsc2UsIGR1bXBGb3JtYXR0
ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0Rm9ybWF0dGVkRW5hYmxlRW5kKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbNF0uc2V0RGlzYWJsZWQoZmFsc2UsIGR1
bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQot
ICAgICAgICBmdW5jdGlvbiB0ZXN0Rm9ybWF0dGVkRW5hYmxlTWlkZGxlKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGZvcm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbM10uc2V0RGlzYWJs
ZWQoZmFsc2UsIGR1bXBGb3JtYXR0ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAg
ICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiBpbml0VW5mb3JtYXR0ZWRTdHlsZShuZXh0KQot
ICAgICAgICB7Ci0gICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhzdHlsZXMpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCFzdHlsZXMpIHsKLSAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVtcHR5IHN0eWxlcyIpOwotICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgdW5m
b3JtYXR0ZWRTdHlsZSA9IHN0eWxlcy5tYXRjaGVkQ1NTUnVsZXNbMV0uc3R5bGU7Ci0gICAgICAg
ICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmdW5jdGlvbiBu
b2RlQ2FsbGJhY2sobm9kZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuY3NzTW9kZWwuZ2V0TWF0Y2hlZFN0eWxlc0FzeW5jKG5vZGUuaWQsIGZhbHNlLCBmYWxz
ZSwgY2FsbGJhY2spOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5z
ZWxlY3ROb2RlV2l0aElkKCJ1bmZvcm1hdHRlZCIsIG5vZGVDYWxsYmFjayk7Ci0gICAgICAgIH0s
Ci0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkSW5zZXJ0U3RhcnQobmV4dCkKLSAg
ICAgICAgewotICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5pbnNlcnRQcm9wZXJ0eUF0KDAs
ICJmaXJzdFByb3BlcnR5IiwgImZpcnN0VmFsdWUiLCBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4
dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
VW5mb3JtYXR0ZWRSZW1vdmVTdGFydChuZXh0KQotICAgICAgICB7Ci0gICAgICAgICAgICB1bmZv
cm1hdHRlZFN0eWxlLmFsbFByb3BlcnRpZXNbMF0uc2V0VGV4dCgiIiwgdHJ1ZSwgdHJ1ZSwgZHVt
cFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkSW5zZXJ0TWlkZGxlKG5leHQpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuaW5zZXJ0UHJvcGVydHlBdCgxLCAi
bWlkZGxlUHJvcGVydHkiLCAibWlkZGxlVmFsdWUiLCBkdW1wVW5mb3JtYXR0ZWRBbmRDYWxsTmV4
dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBmdW5jdGlvbiB0ZXN0
VW5mb3JtYXR0ZWRSZW1vdmVNaWRkbGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdW5m
b3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzFdLnNldFRleHQoIiIsIHRydWUsIHRydWUsIGR1
bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAot
Ci0gICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1hdHRlZEluc2VydEVuZChuZXh0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICB1bmZvcm1hdHRlZFN0eWxlLmluc2VydFByb3BlcnR5QXQoMywgImVu
ZFByb3BlcnR5IiwgImVuZFZhbHVlIiwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChu
dWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0
dGVkUmVtb3ZlRW5kKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5
bGUuYWxsUHJvcGVydGllc1szXS5zZXRUZXh0KCIiLCB0cnVlLCB0cnVlLCBkdW1wVW5mb3JtYXR0
ZWRBbmRDYWxsTmV4dC5iaW5kKG51bGwsIG5leHQpKTsKLSAgICAgICAgfSwKLQotICAgICAgICBm
dW5jdGlvbiB0ZXN0VW5mb3JtYXR0ZWREaXNhYmxlU3RhcnQobmV4dCkKLSAgICAgICAgewotICAg
ICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzBdLnNldERpc2FibGVkKHRy
dWUsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAg
ICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1hdHRlZERpc2FibGVFbmQobmV4dCkK
LSAgICAgICAgewotICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHlsZS5hbGxQcm9wZXJ0aWVzWzJd
LnNldERpc2FibGVkKHRydWUsIGR1bXBVbmZvcm1hdHRlZEFuZENhbGxOZXh0LmJpbmQobnVsbCwg
bmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHRlc3RVbmZvcm1hdHRlZERp
c2FibGVNaWRkbGUobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdW5mb3JtYXR0ZWRTdHls
ZS5hbGxQcm9wZXJ0aWVzWzFdLnNldERpc2FibGVkKHRydWUsIGR1bXBVbmZvcm1hdHRlZEFuZENh
bGxOZXh0LmJpbmQobnVsbCwgbmV4dCkpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3RVbmZvcm1hdHRlZEVuYWJsZVN0YXJ0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1swXS5zZXREaXNhYmxlZChmYWxzZSwgZHVt
cFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0sCi0K
LSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkRW5hYmxlRW5kKG5leHQpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJvcGVydGllc1syXS5zZXREaXNh
YmxlZChmYWxzZSwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQuYmluZChudWxsLCBuZXh0KSk7
Ci0gICAgICAgIH0sCi0KLSAgICAgICAgZnVuY3Rpb24gdGVzdFVuZm9ybWF0dGVkRW5hYmxlTWlk
ZGxlKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVuZm9ybWF0dGVkU3R5bGUuYWxsUHJv
cGVydGllc1sxXS5zZXREaXNhYmxlZChmYWxzZSwgZHVtcFVuZm9ybWF0dGVkQW5kQ2FsbE5leHQu
YmluZChudWxsLCBuZXh0KSk7Ci0gICAgICAgIH0KLSAgICBdKTsKLQotICAgIC8vIERhdGEgZHVt
cGluZwotCi0gICAgZnVuY3Rpb24gZHVtcEZvcm1hdHRlZEFuZENhbGxOZXh0KG5leHQsIHN0eWxl
KQotICAgIHsKLSAgICAgICAgaWYgKCFzdHlsZSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoImVycm9yOiBlbXB0eSBzdHlsZSIpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZvcm1hdHRlZFN0eWxl
ID0gc3R5bGU7Ci0gICAgICAgIGR1bXBTdHlsZShzdHlsZSk7Ci0gICAgICAgIGlmIChuZXh0KQot
ICAgICAgICAgICAgbmV4dCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBVbmZvcm1hdHRl
ZEFuZENhbGxOZXh0KG5leHQsIHN0eWxlKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHlsZSkgewot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiBlbXB0eSBzdHlsZSIp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIHVuZm9ybWF0dGVkU3R5bGUgPSBzdHlsZTsKLSAgICAgICAgZHVtcFN0eWxlKHN0
eWxlKTsKLSAgICAgICAgaWYgKG5leHQpCi0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gZHVtcFN0eWxlKHN0eWxlKQotICAgIHsKLSAgICAgICAgaWYgKCFzdHlsZSkK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJh
dyBjc3NUZXh0OiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgieyIgKyBzdHls
ZS5jc3NUZXh0ICsgIn0iKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLQotPHN0eWxlPgotCi0jZm9y
bWF0dGVkIHsgCi0gICAgcHJvcGVydHkxOiB2YWx1ZTE7Ci0gICAgcHJvcGVydHkyOiB2YWx1ZTI7
Ci0gICAgcHJvcGVydHkzOiB2YWx1ZTM7Ci19Ci0KLSN1bmZvcm1hdHRlZCB7cHJvcGVydHkxOnZh
bHVlMTtwcm9wZXJ0eTI6dmFsdWUyO3Byb3BlcnR5Mzp2YWx1ZTM7fQotCi08L3N0eWxlPgotPC9o
ZWFkPgotCi08Ym9keSBpZD0ibWFpbkJvZHkiIG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVz
dHMgdGhhdCBJbnNwZWN0b3JDU1NBZ2VudCBmb3JtYXRzIHRoZSBDU1Mgc3R5bGUgdGV4dCBiYXNl
ZCBvbiB0aGUgQ1NTIG1vZGVsIG1vZGlmaWNhdGlvbnMuCi08L3A+Ci08ZGl2IGlkPSJmb3JtYXR0
ZWQiPkZvcm1hdHRlZDwvZGl2PgotPGRpdiBpZD0idW5mb3JtYXR0ZWQiPlVuZm9ybWF0dGVkPC9k
aXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1oaXN0b3J5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWhpc3RvcnktZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGI3ZjU4MDVmZTA4N2FlYzJhZjVhMTk5MDNl
YjRiNzAzY2I3Y2ZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWhpc3Rvcnkt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVGVzdHMgcmVzb3Vy
Y2VzIHBhbmVsIGhpc3RvcnkuCi0KLQotUnVubmluZzogdGVzdFNldFVwCi0KLVJ1bm5pbmc6IHRl
c3RTZXRSZXNvdXJjZUNvbnRlbnRNaW5vcgotSGlzdG9yeSBsZW5ndGg6IDAKLQotUnVubmluZzog
dGVzdFNldFJlc291cmNlQ29udGVudE1ham9yCi1IaXN0b3J5IGxlbmd0aDogMQotSXRlbSAwOgot
Ym9keSB7Ci0gIG1hcmdpbjogMjBweDsKLSAgcGFkZGluZzogMTBweDsKLX0KLQotUnVubmluZzog
dGVzdFNldENvbnRlbnRWaWFNb2RlbE1pbm9yCi1IaXN0b3J5IGxlbmd0aDogMQotSXRlbSAwOgot
Ym9keSB7Ci0gIG1hcmdpbjogMjBweDsKLSAgcGFkZGluZzogMTBweDsKLX0KLQotUnVubmluZzog
dGVzdFNldENvbnRlbnRWaWFNb2RlbE1ham9yCi1IaXN0b3J5IGxlbmd0aDogMgotSXRlbSAwOgot
Ym9keSB7Ci0gIG1hcmdpbjogMjBweDsKLSAgcGFkZGluZzogMTBweDsKLX0KLUl0ZW0gMToKLWJv
ZHkgewotICBtYXJnaW46MzBweDsKLSAgcGFkZGluZzogMTBweDsKLX0KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaGlzdG9yeS5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaGlzdG9yeS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGU4ZjdmZWU4YTg5ZTNlNmE3Nzhi
ZGQxNmY0MDYwNmFjZGJiY2FjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWhp
c3RvcnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEzMyArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotCi08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9zdHlsZXMtaGlzdG9y
eS5jc3MiPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJDYWNoZWRS
ZXNvdXJjZXNQcm9jZXNzZWQocnVuVGVzdFN1aXRlKTsKLQotICAgIHZhciB1aVNvdXJjZUNvZGU7
Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0U3VpdGUoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNldFVwKG5leHQp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gdmlzaXRVSVNvdXJjZUNv
ZGVzKGN1cnJlbnRVSVNvdXJjZUNvZGUpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICBpZiAoY3VycmVudFVJU291cmNlQ29kZS5vcmlnaW5VUkwoKS5pbmRleE9mKCJzdHls
ZXMtaGlzdG9yeS5jc3MiKSA9PT0gLTEpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICAgICAgICAgIHVpU291cmNlQ29kZSA9IGN1cnJlbnRVSVNvdXJjZUNvZGU7
Ci0gICAgICAgICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLndvcmtzcGFjZS51aVNvdXJjZUNvZGVzKCkuZm9yRWFjaCh2
aXNpdFVJU291cmNlQ29kZXMpOwotICAgICAgICAgICAgfSwKLQotICAgICAgICAgICAgZnVuY3Rp
b24gdGVzdFNldFJlc291cmNlQ29udGVudE1pbm9yKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5TdHlsZUZp
bGUucHJvdG90eXBlLCAiX3N0eWxlQ29udGVudFNldCIsIHN0eWxlVXBkYXRlZE1pbm9yKTsKLSAg
ICAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0V29ya2luZ0NvcHkoImJvZHkge1xuICBtYXJn
aW46IDE1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59Iik7Ci0KLSAgICAgICAgICAgICAgICBmdW5j
dGlvbiBzdHlsZVVwZGF0ZWRNaW5vcigpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICBkdW1wSGlzdG9yeShuZXh0KSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0sCi0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTZXRSZXNvdXJjZUNvbnRlbnRNYWpv
cihuZXh0KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
U25pZmZlcihXZWJJbnNwZWN0b3IuU3R5bGVGaWxlLnByb3RvdHlwZSwgIl9zdHlsZUNvbnRlbnRT
ZXQiLCBzdHlsZVVwZGF0ZWRNaW5vcik7Ci0gICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlLnNl
dFdvcmtpbmdDb3B5KCJib2R5IHtcbiAgbWFyZ2luOiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xu
fSIpOwotCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gc3R5bGVVcGRhdGVkTWlub3IoKQotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlm
ZmVyKFdlYkluc3BlY3Rvci5TdHlsZUZpbGUucHJvdG90eXBlLCAiX3N0eWxlQ29udGVudFNldCIs
IHN0eWxlVXBkYXRlZE1ham9yKTsKLSAgICAgICAgICAgICAgICAgICAgdWlTb3VyY2VDb2RlLmNv
bW1pdFdvcmtpbmdDb3B5KGZ1bmN0aW9uKCkgeyB9KTsKLQotICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbiBzdHlsZVVwZGF0ZWRNYWpvcigpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGR1bXBIaXN0b3J5KG5leHQpKCk7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LAotCi0gICAgICAgICAgICBm
dW5jdGlvbiB0ZXN0U2V0Q29udGVudFZpYU1vZGVsTWlub3IobmV4dCkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBzdHlsZVNoZWV0Rm9yUmVzb3VyY2Uoc3RlcDEpOwotCi0gICAgICAg
ICAgICAgICAgZnVuY3Rpb24gc3RlcDEoc3R5bGVTaGVldCkKLSAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHN0eWxlU2hlZXQucnVsZXNbMF0uc3R5bGU7
Ci0gICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHN0eWxlLmdldExpdmVQcm9wZXJ0
eSgibWFyZ2luIik7Ci0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5LnNldFRleHQoIm1hcmdp
bjoyNXB4OyIsIGZhbHNlLCB0cnVlLCBkdW1wSGlzdG9yeShuZXh0KSk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfSwKLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNldENvbnRl
bnRWaWFNb2RlbE1ham9yKG5leHQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3R5
bGVTaGVldEZvclJlc291cmNlKHN0ZXAxKTsKLQotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN0
ZXAxKHN0eWxlU2hlZXQpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICB2
YXIgc3R5bGUgPSBzdHlsZVNoZWV0LnJ1bGVzWzBdLnN0eWxlOwotICAgICAgICAgICAgICAgICAg
ICB2YXIgcHJvcGVydHkgPSBzdHlsZS5nZXRMaXZlUHJvcGVydHkoIm1hcmdpbiIpOwotICAgICAg
ICAgICAgICAgICAgICBwcm9wZXJ0eS5zZXRUZXh0KCJtYXJnaW46MzBweDsiLCB0cnVlLCB0cnVl
KTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNw
YXRjaGVzKGR1bXBIaXN0b3J5KG5leHQpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIF0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0eWxlU2hlZXRGb3JSZXNv
dXJjZShjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIENTU0FnZW50LmdldEFsbFN0eWxlU2hlZXRz
KGRpZEdldEFsbFN0eWxlU2hlZXRzLmJpbmQodGhpcykpOwotCi0gICAgICAgIGZ1bmN0aW9uIGRp
ZEdldEFsbFN0eWxlU2hlZXRzKGVycm9yLCBpbmZvcykKLSAgICAgICAgewotICAgICAgICAgICAg
aWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVy
cm9yOiIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2sobnVsbCk7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGluZm9zLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGluZm8g
PSBpbmZvc1tpXTsKLSAgICAgICAgICAgICAgICBpZiAoaW5mby5zb3VyY2VVUkwuaW5kZXhPZigi
c3R5bGVzLWhpc3RvcnkuY3NzIikgPT09IC0xKQotICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVTaGVldC5jcmVhdGVGb3JJ
ZChpbmZvLnN0eWxlU2hlZXRJZCwgY2FsbGJhY2spOwotICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gZHVtcEhpc3RvcnkobmV4dCkKLSAgICB7Ci0gICAgICAgIGZ1
bmN0aW9uIHJlc3VsdCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJIaXN0b3J5IGxlbmd0aDogIiArIHVpU291cmNlQ29kZS5oaXN0b3J5Lmxlbmd0aCk7
Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHVpU291cmNlQ29kZS5oaXN0b3J5Lmxl
bmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkl0
ZW0gIiArIGkgKyAiOiIpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KHVpU291cmNlQ29kZS5oaXN0b3J5W2ldLmNvbnRlbnQpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgbmV4dCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+
Ci1UZXN0cyByZXNvdXJjZXMgcGFuZWwgaGlzdG9yeS4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVz
LWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3N0eWxlcy1pZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyNmQwMDA0ODBhODI4Yjg3M2EyMzdmN2YxNTVjNmYwNTFkNzZkMzZmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWlmcmFtZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwzNiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogaWZyYW1lIGxvYWRl
ZAotVGVzdHMgdGhhdCBwcm9wZXIgKGFuZCBkaWZmZXJlbnQpIHN0eWxlcyBhcmUgcmV0dXJuZWQg
Zm9yIGJvZHkgZWxlbWVudHMgb2YgbWFpbiBkb2N1bWVudCBhbmQgaWZyYW1lLgotCi0KLU1haW4g
ZnJhbWUgc3R5bGU6Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09
PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLW1lZGlhPSJzY3JlZW4i
IChzdHlsZXMtaWZyYW1lLmh0bWwpCi0jbWFpbiAgeyAoc3R5bGVzLWlmcmFtZS5odG1sOjUpCi1i
YWNrZ3JvdW5kOiBibHVlOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxl
c2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi1pZnJhbWUgc3R5bGU6Ci1bZXhwYW5kZWRdIAot
ZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09
PQotW2V4cGFuZGVkXSAKLW1lZGlhPSJzY3JlZW4iIChzdHlsZXMtaWZyYW1lLWRhdGEuaHRtbCkK
LWJvZHkgIHsgKHN0eWxlcy1pZnJhbWUtZGF0YS5odG1sOjQpCi1iYWNrZ3JvdW5kOiBncmVlbjsK
LQotW2V4cGFuZGVkXSAKLWJvZHkgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6
IGJsb2NrOwotbWFyZ2luOiA4cHg7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3ZWQxOTU1ODU1ZTg0MGNlZjVkMmRjOTg1M2FiMmRlMDc0ZjdjY2Yy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWlmcmFtZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPHN0eWxlIHR5cGU9InRl
eHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KLSAgI21haW4geyBiYWNrZ3JvdW5kOmJsdWU7IH0KLTwv
c3R5bGU+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBs
b2FkSWZyYW1lKCkKLXsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvc3R5bGVzLWlmcmFtZS1kYXRh
Lmh0bWwiOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluIikuYXBwZW5kQ2hpbGQo
aWZyYW1lKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgibG9hZElmcmFtZSgpIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xl
U25pZmZlcihzdGVwMCk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMCgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJtYWluIiwgc3RlcDEpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJNYWluIGZyYW1lIHN0eWxlOiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJpZnJhbWVCb2R5Iiwgc3Rl
cDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJpZnJhbWUgc3R5bGU6Iik7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBwcm9wZXIg
KGFuZCBkaWZmZXJlbnQpIHN0eWxlcyBhcmUgcmV0dXJuZWQgZm9yIGJvZHkgZWxlbWVudHMgb2Yg
bWFpbiBkb2N1bWVudCBhbmQgaWZyYW1lLgotPC9wPgotCi08ZGl2IGlkPSJtYWluIj48L2Rpdj4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLWluY2x1ZGUtaG9zdC1ydWxlcy1jcmFzaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pbmNsdWRlLWhv
c3QtcnVsZXMtY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2Mjg4Yjk3NmU0MTdiN2NjNWUwZDI3Yzk2ZjQzYzAwMjA0YzQwYmIwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWluY2x1ZGUtaG9zdC1ydWxlcy1jcmFzaC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1bYnVnIDEwMjExNl0gLSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTE2IC0gQVNTRVJUX05PVF9SRUFD
SEVEKCkgd2hlbiBidWlsZGluZyBhIENTU09NIHdyYXBwZXIgZm9yIFN0eWxlUnVsZUhvc3QuIElm
IHRoaXMgdGVzdCBwYXNzZXMsIG5vIGNyYXNoIG9jY3Vycy4KLQotRm9vCi1bZXhwYW5kZWRdIAot
ZGlzcGxheTogYmxvY2s7Ci0gICAgZGl2IC0gYmxvY2sgdXNlciBhZ2VudCBzdHlsZXNoZWV0Ci0K
LVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NT
IFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hl
ZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWluY2x1ZGUtaG9zdC1ydWxlcy1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaW5jbHVkZS1o
b3N0LXJ1bGVzLWNyYXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjMTgx
YTFiNDkwOGE0ZDc1NWJlZmJlZjkxNzQ1MDBiMzkzMzUyOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3N0eWxlcy9zdHlsZXMtaW5jbHVkZS1ob3N0LXJ1bGVzLWNyYXNoLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0MiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHN0eWxlPgotQGhvc3QgewotICAg
IGRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7IH0KLX0KLQotQGhvc3QuZGl2IHsKLSAgb3Bh
Y2l0eTogMDsKLX0KLTwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2Fp
dEZvclN0eWxlc1dpdGhDb21wdXRlZCgiZm9vIiwgc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3Rl
cDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5
bGVzKGZhbHNlLCBmYWxzZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgotPHA+Ci1bYnVnIDEwMjExNl0gLSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTE2Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyMTE2PC9hPiAtCi1BU1NFUlRfTk9UX1JFQUNIRUQoKSB3aGVuIGJ1aWxkaW5n
IGEgQ1NTT00gd3JhcHBlciBmb3IgU3R5bGVSdWxlSG9zdC4KLUlmIHRoaXMgdGVzdCBwYXNzZXMs
IG5vIGNyYXNoIG9jY3Vycy4KLTwvcD4KLQotPGRpdiBpZD0iY29udGFpbmVyIj4KLSAgICA8ZGl2
IGlkPSJmb28iPkZvbzwvZGl2PgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWludmFsaWQt
Y29sb3ItdmFsdWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvc3R5bGVzLWludmFsaWQtY29sb3ItdmFsdWVzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGE1NTI4MGU5YTNhMzhlMGMwNGVjMjRkM2FjYTE2MmMz
M2ZhN2UwNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1pbnZhbGlkLWNvbG9y
LXZhbHVlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi1UZXN0
cyB0aGF0IHRoZSBkaXNwbGF5ZWQgc3RyaW5nIGZvciBjb2xvcnMgY29ycmVjdGx5IGhhbmRsZXMg
Y2xpcHBlZCBDU1MgdmFsdWVzIGFuZCBSR0IgcGVyY2VudGFnZXMuCi0KLQotUnVubmluZzogdGVz
dENvbG9ycwotCi1jb2xvcjogcmVkCi0gIHNpbXBsZTogdHJ1ZQotICBvcmlnaW5hbDogcmVkCi0g
IG5pY2tuYW1lOiByZWQKLSAgaGV4OiAjRkYwMDAwCi0gIHNob3J0aGV4OiAjRjAwCi0gIHJnYjog
cmdiKDI1NSwgMCwgMCkKLSAgaHNsOiBoc2woMCwgMTAwJSwgNTAlKQotCi1jb2xvcjogI0YwMAot
ICBzaW1wbGU6IHRydWUKLSAgb3JpZ2luYWw6ICNGMDAKLSAgbmlja25hbWU6IHJlZAotICBoZXg6
ICNGRjAwMDAKLSAgc2hvcnRoZXg6ICNGMDAKLSAgcmdiOiByZ2IoMjU1LCAwLCAwKQotICBoc2w6
IGhzbCgwLCAxMDAlLCA1MCUpCi0KLWNvbG9yOiByZ2IoMjU1LDAsMCkKLSAgc2ltcGxlOiB0cnVl
Ci0gIG9yaWdpbmFsOiByZ2IoMjU1LDAsMCkKLSAgbmlja25hbWU6IHJlZAotICBoZXg6ICNGRjAw
MDAKLSAgc2hvcnRoZXg6ICNGMDAKLSAgcmdiOiByZ2IoMjU1LCAwLCAwKQotICBoc2w6IGhzbCgw
LCAxMDAlLCA1MCUpCi0KLWNvbG9yOiByZ2IoMzAwLDAsMCkKLSAgc2ltcGxlOiB0cnVlCi0gIG9y
aWdpbmFsOiByZ2IoMzAwLDAsMCkKLSAgbmlja25hbWU6IHJlZAotICBoZXg6ICNGRjAwMDAKLSAg
c2hvcnRoZXg6ICNGMDAKLSAgcmdiOiByZ2IoMjU1LCAwLCAwKQotICBoc2w6IGhzbCgwLCAxMDAl
LCA1MCUpCi0KLWNvbG9yOiByZ2IoMjU1LC0xMCwwKQotICBzaW1wbGU6IHRydWUKLSAgb3JpZ2lu
YWw6IHJnYigyNTUsLTEwLDApCi0gIG5pY2tuYW1lOiByZWQKLSAgaGV4OiAjRkYwMDAwCi0gIHNo
b3J0aGV4OiAjRjAwCi0gIHJnYjogcmdiKDI1NSwgMCwgMCkKLSAgaHNsOiBoc2woMCwgMTAwJSwg
NTAlKQotCi1jb2xvcjogcmdiKDExMCUsIDAlLCAwJSkKLSAgc2ltcGxlOiB0cnVlCi0gIG9yaWdp
bmFsOiByZ2IoMTEwJSwgMCUsIDAlKQotICBuaWNrbmFtZTogcmVkCi0gIGhleDogI0ZGMDAwMAot
ICBzaG9ydGhleDogI0YwMAotICByZ2I6IHJnYigyNTUsIDAsIDApCi0gIGhzbDogaHNsKDAsIDEw
MCUsIDUwJSkKLQotY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAtNSkKLSAgc2ltcGxlOiBmYWxzZQot
ICBvcmlnaW5hbDogcmdiYSgyNTUsIDAsIDAsIC01KQotICByZ2I6IHJnYigyNTUsIDAsIDApCi0g
IHJnYmE6IHJnYmEoMjU1LCAwLCAwLCAwKQotICBoc2w6IGhzbCgwLCAxMDAlLCA1MCUpCi0gIGhz
bGE6IGhzbGEoMCwgMTAwJSwgNTAlLCAwKQotCi1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDUpCi0g
IHNpbXBsZTogZmFsc2UKLSAgb3JpZ2luYWw6IHJnYmEoMjU1LCAwLCAwLCA1KQotICByZ2I6IHJn
YigyNTUsIDAsIDApCi0gIHJnYmE6IHJnYmEoMjU1LCAwLCAwLCAxKQotICBoc2w6IGhzbCgwLCAx
MDAlLCA1MCUpCi0gIGhzbGE6IGhzbGEoMCwgMTAwJSwgNTAlLCAxKQotCi1SdW5uaW5nOiB0ZXN0
SW52YWxpZENvbG9ycwotCi1TVUNDRVNTOiBwYXJzZWQgaW52YWxpZCBjb2xvciBub25lIHRvIG51
bGwKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9z
dHlsZXMtaW52YWxpZC1jb2xvci12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS9zdHlsZXMvc3R5bGVzLWludmFsaWQtY29sb3ItdmFsdWVzLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwZjdiZDJiMTEwMGZhNjhiMjNiOTkyNDM3YzZjYWJmYzVk
MTk1ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtaW52YWxpZC1jb2xvci12
YWx1ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIHZhciBjb2xvcnMgPSBbCi0gICAgICAgIC8vIEVhY2ggb2YgdGhlc2UgaXMgcmVkLiBTb21l
IG1heSBuZWVkIHRvIGJlIGNsaXBwZWQgdG8gWzAsIDI1NV0uCi0gICAgICAgICdyZWQnLAotICAg
ICAgICAnI0YwMCcsCi0gICAgICAgICdyZ2IoMjU1LDAsMCknLAotICAgICAgICAncmdiKDMwMCww
LDApJywgICAgICAgIC8vIGNsaXBwZWQgdG8gcmdiKDI1NSwwLDApCi0gICAgICAgICdyZ2IoMjU1
LC0xMCwwKScsICAgICAgLy8gY2xpcHBlZCB0byByZ2IoMjU1LDAsMCkKLSAgICAgICAgJ3JnYigx
MTAlLCAwJSwgMCUpJywgICAvLyBjbGlwcGVkIHRvIHJnYigxMDAlLDAlLDAlKQotCi0gICAgICAg
IC8vIEVhY2ggb2YgdGhlc2UgaGFzIHRoZWlyIGFscGhhIGNsaXBwZWQgWzAuMCwgMS4wXS4KLSAg
ICAgICAgJ3JnYmEoMjU1LCAwLCAwLCAtNSknLCAvLyBjbGlwcGVkIHRvIHJnYmEoMjU1LDAsMCww
KQotICAgICAgICAncmdiYSgyNTUsIDAsIDAsIDUpJywgIC8vIGNsaXBwZWQgdG8gcmdiYSgyNTUs
MCwwLDEpCi0gICAgICAgIF07Ci0KLSAgICB2YXIgaW52YWxpZENvbG9ycyA9IFsKLSAgICAgICAg
Ly8gQW4gaW52YWxpZCBjb2xvciwgZWcgYSB2YWx1ZSBmb3IgYSBzaG9ydGhhbmQgbGlrZSAnYm9y
ZGVyJyB3aGljaCBjYW4gaGF2ZSBhIGNvbG9yCi0gICAgICAgICdub25lJywKLSAgICBdOwotCi0g
ICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWwotICAgICAgICBmdW5jdGlvbiB0ZXN0Q29s
b3JzKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29s
b3JzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgIGR1bXBDb2xvclJlcHJlc2VudGF0aW9u
c0ZvckNvbG9yKGNvbG9yc1tpXSk7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgIH0sCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RJbnZhbGlkQ29sb3JzKG5leHQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxpZENvbG9ycy5sZW5ndGg7ICsraSkKLSAg
ICAgICAgICAgICAgICBkdW1wRXJyb3JzRm9ySW52YWxpZENvbG9yKGludmFsaWRDb2xvcnNbaV0p
OwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotICAgIF0pOwotCi0gICAgZnVuY3Rp
b24gZHVtcEVycm9yc0ZvckludmFsaWRDb2xvcihjb2xvclN0cmluZykgCi0gICAgewotICAgICAg
ICB2YXIgY29sb3IgPSBXZWJJbnNwZWN0b3IuQ29sb3IucGFyc2UoY29sb3JTdHJpbmcpOwotICAg
ICAgICBpZiAoIWNvbG9yKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU1VDQ0VTUzogcGFyc2Vk
IGludmFsaWQgY29sb3IgIiArIGNvbG9yU3RyaW5nICsgIiB0byBudWxsIik7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRkFJTDog
aW52YWxpZCBjb2xvciAiICsgY29sb3JTdHJpbmcgKyAiIGRpZCBub3QgcGFyc2UgdG8gdG8gbnVs
bCIpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZHVtcENvbG9yUmVwcmVzZW50
YXRpb25zRm9yQ29sb3IoY29sb3JTdHJpbmcpCi0gICAgewotICAgICAgICB2YXIgY29sb3IgPSBX
ZWJJbnNwZWN0b3IuQ29sb3IucGFyc2UoY29sb3JTdHJpbmcpOwotICAgICAgICBpZiAoIWNvbG9y
KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImNvbG9yOiAiICsgY29sb3JT
dHJpbmcpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICBzaW1wbGU6ICIgKyBj
b2xvci5zaW1wbGUpOwotICAgICAgICB2YXIgY2YgPSBXZWJJbnNwZWN0b3IuQ29sb3IuRm9ybWF0
OwotICAgICAgICBmb3IgKHZhciBjb2xvckZvcm1hdEtleSBpbiBjZikgewotICAgICAgICAgICAg
dmFyIGNvbG9yRm9ybWF0ID0gY2ZbY29sb3JGb3JtYXRLZXldOwotICAgICAgICAgICAgLy8gU2lt
cGxlIGNvbG9ycyBkbyBub3QgaGF2ZSBSR0JBIGFuZCBIU0xBIHJlcHJlc2VudGF0aW9ucy4KLSAg
ICAgICAgICAgIGlmIChjb2xvci5zaW1wbGUgJiYgKGNvbG9yRm9ybWF0ID09PSBjZi5SR0JBIHx8
IGNvbG9yRm9ybWF0ID09PSBjZi5IU0xBKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgIC8vIEFkdmFuY2VkIGNvbG9ycyBkbyBub3QgaGF2ZSBIRVggcmVwcmVzZW50YXRp
b25zLgotICAgICAgICAgICAgaWYgKCFjb2xvci5zaW1wbGUgJiYgKGNvbG9yRm9ybWF0ID09PSBj
Zi5TaG9ydEhFWCB8fCBjb2xvckZvcm1hdCA9PT0gY2YuSEVYKSkKLSAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIFNob3J0SEVYIHRoZW4gc2tp
cCBpdC4KLSAgICAgICAgICAgIGlmIChjb2xvckZvcm1hdCA9PT0gY2YuU2hvcnRIRVggJiYgIWNv
bG9yLmhhc1Nob3J0SGV4KCkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICAvLyBJZiB0aGVyZSBpcyBubyBuaWNrbmFtZSwgdGhlbiBza2lwIGl0LgotICAgICAgICAgICAg
aWYgKGNvbG9yRm9ybWF0ID09PSBjZi5OaWNrbmFtZSAmJiAhY29sb3Iubmlja25hbWUpCi0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgnICAnICsgY29sb3JGb3JtYXQgKyAiOiAiICsgY29sb3IudG9TdHJpbmcoY29sb3JGb3JtYXQp
KTsKLSAgICAgICAgfQotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgdGhlIGRpc3BsYXllZCBzdHJpbmcgZm9y
IGNvbG9ycyBjb3JyZWN0bHkgaGFuZGxlcyBjbGlwcGVkIENTUyB2YWx1ZXMgYW5kIFJHQiBwZXJj
ZW50YWdlcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtbmV3LUFQSS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1uZXctQVBJLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQ3OTRhNDg5MzZiZjIz
NGM0ZTVjN2RjM2I2MWY4NDc2NGFjNGFhYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0
eWxlcy1uZXctQVBJLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUzMSArMCwwIEBA
Ci1UZXN0cyB0aGF0IEluc3BlY3RvckNTU0FnZW50IEFQSSBtZXRob2RzIHdvcmsgYXMgZXhwZWN0
ZWQuCi0KLUgxCi0KLQotPT09IENvbXB1dGVkIHN0eWxlIHByb3BlcnR5IGNvdW50IGZvciBib2R5
ID09PQotT0sKLQotPT09IE1hdGNoZWQgcnVsZXMgZm9yIGJvZHkgPT09Ci1ib2R5OiBbdXNlci1h
Z2VudF0gewotICAgIFsnZGlzcGxheSc6J2Jsb2NrJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotICAgIFsnbWFyZ2luLXRvcCc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLSAgICBbJ21hcmdpbi1yaWdodCc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLSAgICBbJ21hcmdpbi1ib3R0b20nOic4cHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0
eWxlCi0gICAgWydtYXJnaW4tbGVmdCc6JzhweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLX0KLWJvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKLSAgICBbJ3Byb3BlcnR5JzonaW1w
b3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRdIEBbMjE6NC0yMTo0N10g
YWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgMjA6MC0yMDo0XSB7Ci0gICAgWydwcm9wZXJ0eSc6
J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0JyBub24tcGFyc2VkXSBAWzIxOjQtMjE6
NDddIGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDk6MC05OjRdIHsKLSAgICBbJ2ZvbnQtc2l6
ZSc6JzEycHgnXSBAWzEwOjQtMTA6MjBdIGFjdGl2ZQotICAgIFsnZm9vJzonYmFyICEKLQotICAg
IGltcG9ydGFudCAvKiAhaW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5IFdlYkNv
cmUgKi8nIGlzLWltcG9ydGFudCBub24tcGFyc2VkXSBAWzExOjQtMTM6NjZdIGFjdGl2ZQotICAg
IFsnaGVpZ2h0JzonMTAwJSAhaW1wb3J0YW50JyBpcy1pbXBvcnRhbnRdIEBbMTQ6NC0xNDoyOF0g
YWN0aXZlCi0gICAgWydjb2xvcnonOiciIWltcG9ydGFudCInIG5vbi1wYXJzZWRdIEBbMTU6NC0x
NToyNV0gYWN0aXZlCi0gICAgWydpbXBvcnRhbnQnOichaW1wb3J0YW50JyBub24tcGFyc2VkXSBA
WzE2OjQtMTY6MjVdIGFjdGl2ZQotICAgIFsnY29sb3InOid5ZWxsb3cnXSBAWzE3OjQtMTc6MThd
IGFjdGl2ZQotICAgIFsnY29sb3InOiciYmFkY29sb3IiICEgaW1wb3J0YW50IC8qIGdvb2QgcHJv
cGVydHkgd2l0aCBzdHJhbmdlIHZhbHVlICovJyBpcy1pbXBvcnRhbnQgbm9uLXBhcnNlZF0gQFsx
ODo0LTE4OjczXSBhY3RpdmUKLX0KLWJvZHkubWFpbjE6IFtyZWd1bGFyLCAyMToyOS0yMTo2N10g
ewotICAgIFsnY29sb3InOicjRjAwQkFBJ10gQFsyMTo4MS0yMTo5Nl0gYWN0aXZlCi0gICAgWyd6
b28nOidtb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25pemVkIHByb3BlcnR5ICovJyBu
b24tcGFyc2VkXSBAWzIxOjk2LTIxOjE0OV0gYWN0aXZlCi19Ci1ib2R5Lm1haW4yOiBbcmVndWxh
ciwgMjM6MC0yMzoxMF0gewotICAgIFsnYmFja2dyb3VuZCc6J2dyZWVuIC8qIHZhbHVlICFpbXBv
cnRhbnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0
YW50ICovJyBpcy1pbXBvcnRhbnRdIEBbMjM6MTEtMjM6MTA2XSBhY3RpdmUKLSAgICBbJ2JhY2tn
cm91bmQtaW1hZ2UnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5l
ZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXgnOidpbml0aWFsJyBpcy1pbXBvcnRh
bnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcmVwZWF0
LXknOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LSAgICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1
bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi14Jzon
aW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAg
WydiYWNrZ3JvdW5kLXBvc2l0aW9uLXknOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZp
bmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCcg
aXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3Jv
dW5kLWNsaXAnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLSAgICBbJ2JhY2tncm91bmQtY29sb3InOidncmVlbicgaXMtaW1wb3J0YW50XSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXNpemUnOidpbml0aWFs
JyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLX0KLWJvZHkubWFp
bnBhZ2U6IFtyZWd1bGFyLCAzOjAtMzoxM10gewotICAgIFsndGV4dC1kZWNvcmF0aW9uJzonbm9u
ZSddIEBbNDo0LTQ6MjZdIGFjdGl2ZQotICAgIFsnYmFkcHJvcGVydHknOicxYmFkdmFsdWUxJyBu
b24tcGFyc2VkXSBAWzU6NS01OjI5XSBhY3RpdmUKLX0KLWJvZHkubWFpbnBhZ2U6IFtyZWd1bGFy
LCA4OjAtODoxM10gewotICAgIFsncHJvcDEnOid2YWwxJyBub24tcGFyc2VkXSBAWzk6NC05OjE2
XSBhY3RpdmUKLSAgICBbJ3Byb3AyJzondmFsMicgbm9uLXBhcnNlZF0gQFsxMDo0LTEwOjE2XSBh
Y3RpdmUKLX0KLQotPT09IFBzZXVkbyBydWxlcyBmb3IgYm9keSA9PT0KLVBzZXVkb0lkPTQKLWJv
ZHk6OmFmdGVyOiBbcmVndWxhciwgMjY6MC0yNjoxMV0gewotICAgIFsnY29udGVudCc6JyJBZnRl
ciBib2R5IiddIEBbMjc6NC0yNzoyNl0gYWN0aXZlCi19Ci0KLT09PSBJbmhlcml0ZWQgc3R5bGVz
IGZvciBib2R5ID09PQotTGV2ZWw9MQotW05PIFNUWUxFXQotaHRtbDogW3VzZXItYWdlbnRdIHsK
LSAgICBbJ2Rpc3BsYXknOidibG9jayddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLX0K
LWh0bWw6IFtyZWd1bGFyLCA0OjAtNDo0XSB7Ci0gICAgWydmb250LXdlaWdodCc6JzQwMCddIEBb
NTo0LTU6MjFdIGFjdGl2ZQotfQotCi09PT0gSW5saW5lIHN0eWxlIGZvciBib2R5ID09PQotWydm
b250LXdlaWdodCc6J25vcm1hbCddIEBbMDowLTA6MjBdIGFjdGl2ZQotWyd3aWR0aCc6Jzg1JSdd
IEBbMDoyMS0wOjMyXSBhY3RpdmUKLVsnYmFja2dyb3VuZC1pbWFnZSc6J3VybChiYXIucG5nKSdd
IEBbMDozMy0wOjYzXSBhY3RpdmUKLT09PSBCT0RZIHdpdGggZm9yY2VkIDpob3ZlciA9PT0KLWJv
ZHk6IFt1c2VyLWFnZW50XSB7Ci0gICAgWydkaXNwbGF5JzonYmxvY2snXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0gICAgWydtYXJnaW4tdG9wJzonOHB4J10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotICAgIFsnbWFyZ2luLXJpZ2h0JzonOHB4J10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotICAgIFsnbWFyZ2luLWJvdHRvbSc6JzhweCddIEBbdW5kZWZpbmVkLXVu
ZGVmaW5lZF0gc3R5bGUKLSAgICBbJ21hcmdpbi1sZWZ0JzonOHB4J10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotfQotYm9keTogW3JlZ3VsYXIsIDIwOjAtMjA6NF0gewotICAgIFsncHJv
cGVydHknOidpbXBvcnRlZC1tZWRpYS1zY3JlZW4tc3R5bGVzaGVldCcgbm9uLXBhcnNlZF0gQFsy
MTo0LTIxOjQ3XSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKLSAgICBb
J3Byb3BlcnR5JzonaW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRd
IEBbMjE6NC0yMTo0N10gYWN0aXZlCi19Ci1ib2R5OiBbcmVndWxhciwgOTowLTk6NF0gewotICAg
IFsnZm9udC1zaXplJzonMTJweCddIEBbMTA6NC0xMDoyMF0gYWN0aXZlCi0gICAgWydmb28nOidi
YXIgIQotCi0gICAgaW1wb3J0YW50IC8qICFpbXBvcnRhbnQgcHJvcGVydHkgbm90IHJlY29nbml6
ZWQgYnkgV2ViQ29yZSAqLycgaXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbMTE6NC0xMzo2Nl0g
YWN0aXZlCi0gICAgWydoZWlnaHQnOicxMDAlICFpbXBvcnRhbnQnIGlzLWltcG9ydGFudF0gQFsx
NDo0LTE0OjI4XSBhY3RpdmUKLSAgICBbJ2NvbG9yeic6JyIhaW1wb3J0YW50Iicgbm9uLXBhcnNl
ZF0gQFsxNTo0LTE1OjI1XSBhY3RpdmUKLSAgICBbJ2ltcG9ydGFudCc6JyFpbXBvcnRhbnQnIG5v
bi1wYXJzZWRdIEBbMTY6NC0xNjoyNV0gYWN0aXZlCi0gICAgWydjb2xvcic6J3llbGxvdyddIEBb
MTc6NC0xNzoxOF0gYWN0aXZlCi0gICAgWydjb2xvcic6JyJiYWRjb2xvciIgISBpbXBvcnRhbnQg
LyogZ29vZCBwcm9wZXJ0eSB3aXRoIHN0cmFuZ2UgdmFsdWUgKi8nIGlzLWltcG9ydGFudCBub24t
cGFyc2VkXSBAWzE4OjQtMTg6NzNdIGFjdGl2ZQotfQotYm9keS5tYWluMTogW3JlZ3VsYXIsIDIx
OjI5LTIxOjY3XSB7Ci0gICAgWydjb2xvcic6JyNGMDBCQUEnXSBAWzIxOjgxLTIxOjk2XSBhY3Rp
dmUKLSAgICBbJ3pvbyc6J21vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJv
cGVydHkgKi8nIG5vbi1wYXJzZWRdIEBbMjE6OTYtMjE6MTQ5XSBhY3RpdmUKLX0KLWJvZHkubWFp
bjI6IFtyZWd1bGFyLCAyMzowLTIzOjEwXSB7Ci0gICAgWydiYWNrZ3JvdW5kJzonZ3JlZW4gLyog
dmFsdWUgIWltcG9ydGFudCBjb21tZW50ICovICFpbXBvcnRhbnQgLyogbm8gc2VtaWNvbG9uLCB2
ZXJ5ICFpbXBvcnRhbnQgKi8nIGlzLWltcG9ydGFudF0gQFsyMzoxMS0yMzoxMDZdIGFjdGl2ZQot
ICAgIFsnYmFja2dyb3VuZC1pbWFnZSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmlu
ZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1yZXBlYXQteCc6J2luaXRpYWwn
IGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dy
b3VuZC1yZXBlYXQteSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1hdHRhY2htZW50JzonaW5pdGlhbCcgaXMtaW1w
b3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXBv
c2l0aW9uLXgnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teSc6J2luaXRpYWwnIGlzLWltcG9ydGFu
dF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1vcmlnaW4n
Oidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAg
ICBbJ2JhY2tncm91bmQtY2xpcCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQt
dW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1jb2xvcic6J2dyZWVuJyBpcy1pbXBv
cnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtc2l6
ZSc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
fQotYm9keS5tYWlucGFnZTogW3JlZ3VsYXIsIDM6MC0zOjEzXSB7Ci0gICAgWyd0ZXh0LWRlY29y
YXRpb24nOidub25lJ10gQFs0OjQtNDoyNl0gYWN0aXZlCi0gICAgWydiYWRwcm9wZXJ0eSc6JzFi
YWR2YWx1ZTEnIG5vbi1wYXJzZWRdIEBbNTo1LTU6MjldIGFjdGl2ZQotfQotYm9keS5tYWlucGFn
ZTogW3JlZ3VsYXIsIDg6MC04OjEzXSB7Ci0gICAgWydwcm9wMSc6J3ZhbDEnIG5vbi1wYXJzZWRd
IEBbOTo0LTk6MTZdIGFjdGl2ZQotICAgIFsncHJvcDInOid2YWwyJyBub24tcGFyc2VkXSBAWzEw
OjQtMTA6MTZdIGFjdGl2ZQotfQotYm9keTpob3ZlcjogW3JlZ3VsYXIsIDEzOjAtMTM6MTBdIHsK
LSAgICBbJ2NvbG9yJzonI0NERSddIEBbMTQ6Mi0xNDoxNF0gYWN0aXZlCi19Ci0KLT09PSBBdHRy
aWJ1dGVzIHN0eWxlIGZvciB0YWJsZSA9PT0KLVsnd2lkdGgnOic1MCUnXSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0KLT09PSBTdHlsZXNoZWV0LWZvci1pbmxpbmUtc3R5bGUgdGV4dCA9
PT0KLQotCi09PT0gU3R5bGVzaGVldC1mb3ItaW5saW5lLXN0eWxlIG1vZGlmaWNhdGlvbiByZXN1
bHQgPT09Ci1Ob3RTdXBwb3J0ZWRFcnJvcgotCi09PT0gQWxsIHN0eWxlc2hlZXRzID09PQotCi1T
dHlsZVNoZWV0OiAnQGNoYXJzZXQgIlVURi04IjsKLQotQGltcG9ydCB1cmwoInN0eWxlcy1uZXct
QVBJLTEuY3NzIik7Ci0KLWh0bWwgewotICAgIGZvbnQtd2VpZ2h0OiA0MDA7Ci19Ci0KLUBtZWRp
YSBzY3JlZW4gewotYm9keSB7Ci0gICAgZm9udC1zaXplOiAxMnB4OwotICAgIGZvbzogYmFyICEK
LQotICAgIGltcG9ydGFudCAvKiAhaW1wb3J0YW50IHByb3BlcnR5IG5vdCByZWNvZ25pemVkIGJ5
IFdlYkNvcmUgKi87Ci0gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7Ci0gICAgY29sb3J6OiAi
IWltcG9ydGFudCI7Ci0gICAgaW1wb3J0YW50OiFpbXBvcnRhbnQ7Ci0gICAgY29sb3I6IHllbGxv
dzsKLSAgICBjb2xvcjogImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdp
dGggc3RyYW5nZSB2YWx1ZSAqLzsKLX0KLQotLyogY29tbWVudCBiZWZvcmUgc2VsZWN0b3IgKi9i
b2R5Lm1haW4xLyogY29tbWVudCBhZnRlciBzZWxlY3RvciAqL3svKiBjb21tZW50ICovY29sb3I6
ICNGMDBCQUE7em9vOm1vbyAvKiBub3QgYW4gIWltcG9ydGFudCB1bnJlY29nbml6ZWQgcHJvcGVy
dHkgKi99LyogY29tbWVudCAqLwotCi1ib2R5Lm1haW4ye2JhY2tncm91bmQ6IGdyZWVuIC8qIHZh
bHVlICFpbXBvcnRhbnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVy
eSAhaW1wb3J0YW50ICovfQotfQotCi1ib2R5OjphZnRlciAgewotICAgIGNvbnRlbnQ6ICJBZnRl
ciBib2R5IjsKLX0KLQotaDEgewotICAgIGhlaWdodCA6IDEwMCUgOyBib3JkZXI6IDFweCBzb2xp
ZDsgYm9yZGVyLXdpZHRoOiAycHg7IGJhY2tncm91bmQtY29sb3IgOiAjMzNGRjMzOyBnb29nbGVz
OiBhYnJhOyBmb286IC5iYXI7IC1tb3otZ29vZzogMSoqKjsgYm9yZGVyLXdpZHRoOiAwcHg7Ci19
Ci0nCi1odG1sOiBbcmVndWxhciwgNDowLTQ6NF0gewotICAgIFsnZm9udC13ZWlnaHQnOic0MDAn
XSBAWzU6NC01OjIxXSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCA5OjAtOTo0XSB7Ci0gICAg
Wydmb250LXNpemUnOicxMnB4J10gQFsxMDo0LTEwOjIwXSBhY3RpdmUKLSAgICBbJ2Zvbyc6J2Jh
ciAhCi0KLSAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9wZXJ0eSBub3QgcmVjb2duaXpl
ZCBieSBXZWJDb3JlICovJyBpcy1pbXBvcnRhbnQgbm9uLXBhcnNlZF0gQFsxMTo0LTEzOjY2XSBh
Y3RpdmUKLSAgICBbJ2hlaWdodCc6JzEwMCUgIWltcG9ydGFudCcgaXMtaW1wb3J0YW50XSBAWzE0
OjQtMTQ6MjhdIGFjdGl2ZQotICAgIFsnY29sb3J6JzonIiFpbXBvcnRhbnQiJyBub24tcGFyc2Vk
XSBAWzE1OjQtMTU6MjVdIGFjdGl2ZQotICAgIFsnaW1wb3J0YW50JzonIWltcG9ydGFudCcgbm9u
LXBhcnNlZF0gQFsxNjo0LTE2OjI1XSBhY3RpdmUKLSAgICBbJ2NvbG9yJzoneWVsbG93J10gQFsx
Nzo0LTE3OjE4XSBhY3RpdmUKLSAgICBbJ2NvbG9yJzonImJhZGNvbG9yIiAhIGltcG9ydGFudCAv
KiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5nZSB2YWx1ZSAqLycgaXMtaW1wb3J0YW50IG5vbi1w
YXJzZWRdIEBbMTg6NC0xODo3M10gYWN0aXZlCi19Ci1ib2R5Lm1haW4xOiBbcmVndWxhciwgMjE6
MjktMjE6NjddIHsKLSAgICBbJ2NvbG9yJzonI0YwMEJBQSddIEBbMjE6ODEtMjE6OTZdIGFjdGl2
ZQotICAgIFsnem9vJzonbW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXplZCBwcm9w
ZXJ0eSAqLycgbm9uLXBhcnNlZF0gQFsyMTo5Ni0yMToxNDldIGFjdGl2ZQotfQotYm9keS5tYWlu
MjogW3JlZ3VsYXIsIDIzOjAtMjM6MTBdIHsKLSAgICBbJ2JhY2tncm91bmQnOidncmVlbiAvKiB2
YWx1ZSAhaW1wb3J0YW50IGNvbW1lbnQgKi8gIWltcG9ydGFudCAvKiBubyBzZW1pY29sb24sIHZl
cnkgIWltcG9ydGFudCAqLycgaXMtaW1wb3J0YW50XSBAWzIzOjExLTIzOjEwNl0gYWN0aXZlCi0g
ICAgWydiYWNrZ3JvdW5kLWltYWdlJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXJlcGVhdC14JzonaW5pdGlhbCcg
aXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3Jv
dW5kLXJlcGVhdC15JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmlu
ZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWF0dGFjaG1lbnQnOidpbml0aWFsJyBpcy1pbXBv
cnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcG9z
aXRpb24teCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi15JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLW9yaWdpbic6
J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAg
IFsnYmFja2dyb3VuZC1jbGlwJzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11
bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNvbG9yJzonZ3JlZW4nIGlzLWltcG9y
dGFudF0gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1zaXpl
JzonaW5pdGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi19
Ci1ib2R5OjphZnRlcjogW3JlZ3VsYXIsIDI2OjAtMjY6MTFdIHsKLSAgICBbJ2NvbnRlbnQnOici
QWZ0ZXIgYm9keSInXSBAWzI3OjQtMjc6MjZdIGFjdGl2ZQotfQotaDE6IFtyZWd1bGFyLCAzMDow
LTMwOjJdIHsKLSAgICBbJ2hlaWdodCc6JzEwMCUnXSBAWzMxOjQtMzE6MTldIGFjdGl2ZQotICAg
IFsnYm9yZGVyJzonMXB4IHNvbGlkJ10gQFszMToyMC0zMTozOF0gYWN0aXZlCi0gICAgWydib3Jk
ZXItd2lkdGgnOicycHgnXSBAWzMxOjM5LTMxOjU3XSBpbmFjdGl2ZQotICAgIFsnYmFja2dyb3Vu
ZC1jb2xvcic6JyMzM0ZGMzMnXSBAWzMxOjU4LTMxOjg1XSBhY3RpdmUKLSAgICBbJ2dvb2dsZXMn
OidhYnJhJyBub24tcGFyc2VkXSBAWzMxOjg2LTMxOjEwMF0gYWN0aXZlCi0gICAgWydmb28nOicu
YmFyJyBub24tcGFyc2VkXSBAWzMxOjEwMS0zMToxMTFdIGFjdGl2ZQotICAgIFsnLW1vei1nb29n
JzonMSoqKicgbm9uLXBhcnNlZF0gQFszMToxMTItMzE6MTI4XSBhY3RpdmUKLSAgICBbJ2JvcmRl
ci13aWR0aCc6JzBweCddIEBbMzE6MTI5LTMxOjE0N10gYWN0aXZlCi0gICAgWydib3JkZXItdG9w
LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydib3Jk
ZXItcmlnaHQtc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAg
ICBbJ2JvcmRlci1ib3R0b20tc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLSAgICBbJ2JvcmRlci1sZWZ0LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItdG9wLWNvbG9yJzonaW5pdGlhbCddIEBbdW5kZWZp
bmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JvcmRlci1yaWdodC1jb2xvcic6J2luaXRpYWwn
XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItYm90dG9tLWNvbG9y
JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JvcmRlci1s
ZWZ0LWNvbG9yJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBb
J2JvcmRlci1pbWFnZS1zb3VyY2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotICAgIFsnYm9yZGVyLWltYWdlLXNsaWNlJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVu
ZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JvcmRlci1pbWFnZS13aWR0aCc6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydib3JkZXItaW1hZ2Utb3V0c2V0JzonaW5p
dGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JvcmRlci1pbWFnZS1y
ZXBlYXQnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYm9y
ZGVyLXRvcC13aWR0aCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBb
J2JvcmRlci1yaWdodC13aWR0aCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LSAgICBbJ2JvcmRlci1ib3R0b20td2lkdGgnOicwcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCi0gICAgWydib3JkZXItbGVmdC13aWR0aCc6JzBweCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLX0KLQotU3R5bGVTaGVldDogJ0BpbXBvcnQgdXJsKHN0eWxlcy1uZXctQVBJ
LTIuY3NzKTsKLQotQHBhZ2UgeyBtYXJnaW46IDJjbSB9IC8qIEFsbCBtYXJnaW5zIHNldCB0byAy
Y20gKi8KLQotQHBhZ2UgOmZpcnN0IHsKLSAgbWFyZ2luLXRvcDogMTBjbSAgICAvKiBUb3AgbWFy
Z2luIG9uIGZpcnN0IHBhZ2UgMTBjbSAqLwotfQotCi1AbWVkaWEgc2NyZWVuIHsKLQotI2Fic2Vu
dC1pZCB7Ci19Ci0KLUBmb250LWZhY2UgewotICAgIGZvbnQtZmFtaWx5OiAnVGhlRm9udCc7Ci0g
ICAgc3JjOiB1cmwoJ2ZvbnQudXJsJyk7Ci0gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKLSAgICBm
b250LXN0eWxlOiBub3JtYWw7Ci19Ci0KLWJvZHkgewotICAgIHByb3BlcnR5OiBpbXBvcnRlZC1t
ZWRpYS1zY3JlZW4tc3R5bGVzaGVldDsKLX0KLQotfQotJwotI2Fic2VudC1pZDogW3JlZ3VsYXIs
IDEwOjAtMTA6MTBdIHsKLX0KLWJvZHk6IFtyZWd1bGFyLCAyMDowLTIwOjRdIHsKLSAgICBbJ3By
b3BlcnR5JzonaW1wb3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQnIG5vbi1wYXJzZWRdIEBb
MjE6NC0yMTo0N10gYWN0aXZlCi19Ci0KLVN0eWxlU2hlZXQ6ICdAaW1wb3J0IHVybChzdHlsZXMt
bmV3LUFQSS0xLmNzcyk7Ci0KLUBwYWdlIHsgbWFyZ2luOiAyY20gfSAvKiBBbGwgbWFyZ2lucyBz
ZXQgdG8gMmNtICovCi0KLUBwYWdlIDpmaXJzdCB7Ci0gIG1hcmdpbi10b3A6IDEwY20gICAgLyog
VG9wIG1hcmdpbiBvbiBmaXJzdCBwYWdlIDEwY20gKi8KLX0KLQotQG1lZGlhIHNjcmVlbiB7Ci0K
LSNhYnNlbnQtaWQgewotfQotCi1AZm9udC1mYWNlIHsKLSAgICBmb250LWZhbWlseTogJ1RoZUZv
bnQnOwotICAgIHNyYzogdXJsKCdmb250LnVybCcpOwotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7
Ci0gICAgZm9udC1zdHlsZTogbm9ybWFsOwotfQotCi1ib2R5IHsKLSAgICBwcm9wZXJ0eTogaW1w
b3J0ZWQtbWVkaWEtc2NyZWVuLXN0eWxlc2hlZXQ7Ci19Ci0KLX0KLScKLSNhYnNlbnQtaWQ6IFty
ZWd1bGFyLCAxMDowLTEwOjEwXSB7Ci19Ci1ib2R5OiBbcmVndWxhciwgMjA6MC0yMDo0XSB7Ci0g
ICAgWydwcm9wZXJ0eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVlbi1zdHlsZXNoZWV0JyBub24tcGFy
c2VkXSBAWzIxOjQtMjE6NDddIGFjdGl2ZQotfQotCi1TdHlsZVNoZWV0OiAnCi0KLS8qIEFuIGlu
bGluZSBzdHlsZXNoZWV0ICovCi1ib2R5Lm1haW5wYWdlIHsKLSAgICB0ZXh0LWRlY29yYXRpb246
IG5vbmU7IC8qIGF0IGxlYXN0IG9uZSB2YWxpZCBwcm9wZXJ0eSBpcyBuZWNlc3NhcnkgZm9yIFdl
YkNvcmUgdG8gbWF0Y2ggYSBydWxlICovCi0gICAgO2JhZHByb3BlcnR5OiAxYmFkdmFsdWUxOwot
fQotCi1ib2R5Lm1haW5wYWdlIHsKLSAgICBwcm9wMTogdmFsMTsKLSAgICBwcm9wMjogdmFsMjsK
LX0KLQotYm9keTpob3ZlciB7Ci0gIGNvbG9yOiAjQ0RFOwotfQotJwotYm9keS5tYWlucGFnZTog
W3JlZ3VsYXIsIDM6MC0zOjEzXSB7Ci0gICAgWyd0ZXh0LWRlY29yYXRpb24nOidub25lJ10gQFs0
OjQtNDoyNl0gYWN0aXZlCi0gICAgWydiYWRwcm9wZXJ0eSc6JzFiYWR2YWx1ZTEnIG5vbi1wYXJz
ZWRdIEBbNTo1LTU6MjldIGFjdGl2ZQotfQotYm9keS5tYWlucGFnZTogW3JlZ3VsYXIsIDg6MC04
OjEzXSB7Ci0gICAgWydwcm9wMSc6J3ZhbDEnIG5vbi1wYXJzZWRdIEBbOTo0LTk6MTZdIGFjdGl2
ZQotICAgIFsncHJvcDInOid2YWwyJyBub24tcGFyc2VkXSBAWzEwOjQtMTA6MTZdIGFjdGl2ZQot
fQotYm9keTpob3ZlcjogW3JlZ3VsYXIsIDEzOjAtMTM6MTBdIHsKLSAgICBbJ2NvbG9yJzonI0NE
RSddIEBbMTQ6Mi0xNDoxNF0gYWN0aXZlCi19Ci0KLT09PSBMYXN0IHN0eWxlc2hlZXQgcGF0Y2hl
ZCA9PT0KLQotU3R5bGVTaGVldDogJ2JvZHkubWFpbnBhZ2UgeyAgICB0ZXh0LWRlY29yYXRpb246
IHN0cmlrZXRocm91Z2g7ICAgIGJhZHByb3BlcnR5OiAyYmFkdmFsdWUyO31ib2R5IHsgICAgdGV4
dC1hbGlnbjoganVzdGlmeTt9JwotYm9keS5tYWlucGFnZTogW3JlZ3VsYXIsIDA6MC0wOjEzXSB7
Ci0gICAgWyd0ZXh0LWRlY29yYXRpb24nOidzdHJpa2V0aHJvdWdoJyBub24tcGFyc2VkXSBAWzA6
MTktMDo1MF0gYWN0aXZlCi0gICAgWydiYWRwcm9wZXJ0eSc6JzJiYWR2YWx1ZTInIG5vbi1wYXJz
ZWRdIEBbMDo1NC0wOjc4XSBhY3RpdmUKLX0KLWJvZHk6IFtyZWd1bGFyLCAwOjc5LTA6ODNdIHsK
LSAgICBbJ3RleHQtYWxpZ24nOidqdXN0aWZ5J10gQFswOjg5LTA6MTA5XSBhY3RpdmUKLX0KLQot
PT09IEFmdGVyIHNlbGVjdG9yIHNldCA9PT0KLQotU3R5bGVTaGVldDogJ2h0bWwgKiwgYm9keVtm
b289ImJhciJdIHsgICAgdGV4dC1kZWNvcmF0aW9uOiBzdHJpa2V0aHJvdWdoOyAgICBiYWRwcm9w
ZXJ0eTogMmJhZHZhbHVlMjt9Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKLWh0bWwg
KiwgYm9keVtmb289ImJhciJdOiBbcmVndWxhciwgMDowLTA6MjNdIHsKLSAgICBbJ3RleHQtZGVj
b3JhdGlvbic6J3N0cmlrZXRocm91Z2gnIG5vbi1wYXJzZWRdIEBbMDoyOS0wOjYwXSBhY3RpdmUK
LSAgICBbJ2JhZHByb3BlcnR5JzonMmJhZHZhbHVlMicgbm9uLXBhcnNlZF0gQFswOjY0LTA6ODhd
IGFjdGl2ZQotfQotYm9keTogW3JlZ3VsYXIsIDA6ODktMDo5M10gewotICAgIFsndGV4dC1hbGln
bic6J2p1c3RpZnknXSBAWzA6OTktMDoxMTldIGFjdGl2ZQotfQotCi09PT0gQWZ0ZXIgcHJvcGVy
dHkgdGV4dCBzZXQgPT09Ci0KLVN0eWxlU2hlZXQ6ICdodG1sICosIGJvZHlbZm9vPSJiYXIiXSB7
Ci0gICAgY29sb3I6IHdoaXRlOyBiYWNrZ3JvdW5kOiBibGFjazsKLX1ib2R5IHsgICAgdGV4dC1h
bGlnbjoganVzdGlmeTt9JwotaHRtbCAqLCBib2R5W2Zvbz0iYmFyIl06IFtyZWd1bGFyLCAwOjAt
MDoyM10gewotICAgIFsnY29sb3InOid3aGl0ZSddIEBbMTo0LTE6MTddIGFjdGl2ZQotICAgIFsn
YmFja2dyb3VuZCc6J2JsYWNrJ10gQFsxOjE4LTE6MzZdIGFjdGl2ZQotICAgIFsnYmFja2dyb3Vu
ZC1pbWFnZSc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydi
YWNrZ3JvdW5kLXJlcGVhdC14JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLSAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXknOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5k
ZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1hdHRhY2htZW50JzonaW5pdGlhbCddIEBb
dW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teCc6
J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5k
LXBvc2l0aW9uLXknOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAg
IFsnYmFja2dyb3VuZC1vcmlnaW4nOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotICAgIFsnYmFja2dyb3VuZC1jbGlwJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtY29sb3InOidibGFjayddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtc2l6ZSc6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi19Ci1ib2R5OiBbcmVndWxhciwgMjoxLTI6NV0gewot
ICAgIFsndGV4dC1hbGlnbic6J2p1c3RpZnknXSBAWzI6MTEtMjozMV0gYWN0aXZlCi19Ci0KLT09
PSBBZnRlciBmaXJzdCBzdHlsZSB0ZXh0IHNldCA9PT0KLQotU3R5bGVTaGVldDogJ2h0bWwgKiwg
Ym9keVtmb289ImJhciJdIHt9Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKLWh0bWwg
KiwgYm9keVtmb289ImJhciJdOiBbcmVndWxhciwgMDowLTA6MjNdIHsKLX0KLWJvZHk6IFtyZWd1
bGFyLCAwOjI2LTA6MzBdIHsKLSAgICBbJ3RleHQtYWxpZ24nOidqdXN0aWZ5J10gQFswOjM2LTA6
NTZdIGFjdGl2ZQotfQotCi09PT0gQWZ0ZXIgc2Vjb25kIHN0eWxlIHRleHQgc2V0ID09PQotCi1T
dHlsZVNoZWV0OiAnaHRtbCAqLCBib2R5W2Zvbz0iYmFyIl0ge2NvbG9yOiBncmVlbjsgYmFja2dy
b3VuZDogcmVkOyBmb286IGJhcjsgKmJhejogYmFyOyAvKiBDb21tZW50ICovIGZvbnQtd2VpZ2h0
OiBib2xkICFpbXBvcnRhbnR9Ym9keSB7ICAgIHRleHQtYWxpZ246IGp1c3RpZnk7fScKLWh0bWwg
KiwgYm9keVtmb289ImJhciJdOiBbcmVndWxhciwgMDowLTA6MjNdIHsKLSAgICBbJ2NvbG9yJzon
Z3JlZW4nXSBAWzA6MjUtMDozOF0gYWN0aXZlCi0gICAgWydiYWNrZ3JvdW5kJzoncmVkJ10gQFsw
OjM5LTA6NTVdIGFjdGl2ZQotICAgIFsnZm9vJzonYmFyJyBub24tcGFyc2VkXSBAWzA6NTYtMDo2
NV0gYWN0aXZlCi0gICAgWydmb250LXdlaWdodCc6J2JvbGQgIWltcG9ydGFudCcgaXMtaW1wb3J0
YW50XSBAWzA6OTEtMDoxMTldIGFjdGl2ZQotICAgIFsnYmFja2dyb3VuZC1pbWFnZSc6J2luaXRp
YWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXJlcGVh
dC14JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tn
cm91bmQtcmVwZWF0LXknOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
ICAgIFsnYmFja2dyb3VuZC1hdHRhY2htZW50JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcG9zaXRpb24teCc6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXknOidp
bml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1v
cmlnaW4nOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFj
a2dyb3VuZC1jbGlwJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAg
ICBbJ2JhY2tncm91bmQtY29sb3InOidyZWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
Ci0gICAgWydiYWNrZ3JvdW5kLXNpemUnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVk
XSBzdHlsZQotfQotYm9keTogW3JlZ3VsYXIsIDA6MTIwLTA6MTI0XSB7Ci0gICAgWyd0ZXh0LWFs
aWduJzonanVzdGlmeSddIEBbMDoxMzAtMDoxNTBdIGFjdGl2ZQotfQotCi09PT0gTWF0Y2hlZCBy
dWxlcyBhZnRlciBydWxlIGFkZGVkID09PQotYm9keTogW3VzZXItYWdlbnRdIHsKLSAgICBbJ2Rp
c3BsYXknOidibG9jayddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ21hcmdp
bi10b3AnOic4cHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydtYXJnaW4t
cmlnaHQnOic4cHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydtYXJnaW4t
Ym90dG9tJzonOHB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnbWFyZ2lu
LWxlZnQnOic4cHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi19Ci1ib2R5OiBbcmVn
dWxhciwgMjA6MC0yMDo0XSB7Ci0gICAgWydwcm9wZXJ0eSc6J2ltcG9ydGVkLW1lZGlhLXNjcmVl
bi1zdHlsZXNoZWV0JyBub24tcGFyc2VkXSBAWzIxOjQtMjE6NDddIGFjdGl2ZQotfQotYm9keTog
W3JlZ3VsYXIsIDIwOjAtMjA6NF0gewotICAgIFsncHJvcGVydHknOidpbXBvcnRlZC1tZWRpYS1z
Y3JlZW4tc3R5bGVzaGVldCcgbm9uLXBhcnNlZF0gQFsyMTo0LTIxOjQ3XSBhY3RpdmUKLX0KLWJv
ZHk6IFtyZWd1bGFyLCA5OjAtOTo0XSB7Ci0gICAgWydmb250LXNpemUnOicxMnB4J10gQFsxMDo0
LTEwOjIwXSBhY3RpdmUKLSAgICBbJ2Zvbyc6J2JhciAhCi0KLSAgICBpbXBvcnRhbnQgLyogIWlt
cG9ydGFudCBwcm9wZXJ0eSBub3QgcmVjb2duaXplZCBieSBXZWJDb3JlICovJyBpcy1pbXBvcnRh
bnQgbm9uLXBhcnNlZF0gQFsxMTo0LTEzOjY2XSBhY3RpdmUKLSAgICBbJ2hlaWdodCc6JzEwMCUg
IWltcG9ydGFudCcgaXMtaW1wb3J0YW50XSBAWzE0OjQtMTQ6MjhdIGFjdGl2ZQotICAgIFsnY29s
b3J6JzonIiFpbXBvcnRhbnQiJyBub24tcGFyc2VkXSBAWzE1OjQtMTU6MjVdIGFjdGl2ZQotICAg
IFsnaW1wb3J0YW50JzonIWltcG9ydGFudCcgbm9uLXBhcnNlZF0gQFsxNjo0LTE2OjI1XSBhY3Rp
dmUKLSAgICBbJ2NvbG9yJzoneWVsbG93J10gQFsxNzo0LTE3OjE4XSBhY3RpdmUKLSAgICBbJ2Nv
bG9yJzonImJhZGNvbG9yIiAhIGltcG9ydGFudCAvKiBnb29kIHByb3BlcnR5IHdpdGggc3RyYW5n
ZSB2YWx1ZSAqLycgaXMtaW1wb3J0YW50IG5vbi1wYXJzZWRdIEBbMTg6NC0xODo3M10gYWN0aXZl
Ci19Ci1odG1sICosIGJvZHlbZm9vPSJiYXIiXTogW3JlZ3VsYXIsIDA6MC0wOjIzXSB7Ci0gICAg
Wydjb2xvcic6J2dyZWVuJ10gQFswOjI1LTA6MzhdIGFjdGl2ZQotICAgIFsnYmFja2dyb3VuZCc6
J3JlZCddIEBbMDozOS0wOjU1XSBhY3RpdmUKLSAgICBbJ2Zvbyc6J2Jhcicgbm9uLXBhcnNlZF0g
QFswOjU2LTA6NjVdIGFjdGl2ZQotICAgIFsnZm9udC13ZWlnaHQnOidib2xkICFpbXBvcnRhbnQn
IGlzLWltcG9ydGFudF0gQFswOjkxLTA6MTE5XSBhY3RpdmUKLSAgICBbJ2JhY2tncm91bmQtaW1h
Z2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dy
b3VuZC1yZXBlYXQteCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0g
ICAgWydiYWNrZ3JvdW5kLXJlcGVhdC15JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5l
ZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6J2luaXRpYWwnXSBAW3VuZGVm
aW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXBvc2l0aW9uLXgnOidpbml0
aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3Np
dGlvbi15JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2Jh
Y2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LSAgICBbJ2JhY2tncm91bmQtY2xpcCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLWNvbG9yJzoncmVkJ10gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1zaXplJzonaW5pdGlhbCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLX0KLWJvZHk6IFtyZWd1bGFyLCAwOjEyMC0wOjEyNF0gewotICAg
IFsndGV4dC1hbGlnbic6J2p1c3RpZnknXSBAWzA6MTMwLTA6MTUwXSBhY3RpdmUKLX0KLWJvZHk6
IFtpbnNwZWN0b3IsIDA6MC0wOjRdIHsKLSAgICBbJ2ZvbnQtZmFtaWx5Jzonc2VyaWYnXSBAWzE6
NC0xOjIzXSBhY3RpdmUKLX0KLWJvZHkubWFpbjE6IFtyZWd1bGFyLCAyMToyOS0yMTo2N10gewot
ICAgIFsnY29sb3InOicjRjAwQkFBJ10gQFsyMTo4MS0yMTo5Nl0gYWN0aXZlCi0gICAgWyd6b28n
Oidtb28gLyogbm90IGFuICFpbXBvcnRhbnQgdW5yZWNvZ25pemVkIHByb3BlcnR5ICovJyBub24t
cGFyc2VkXSBAWzIxOjk2LTIxOjE0OV0gYWN0aXZlCi19Ci1ib2R5Lm1haW4yOiBbcmVndWxhciwg
MjM6MC0yMzoxMF0gewotICAgIFsnYmFja2dyb3VuZCc6J2dyZWVuIC8qIHZhbHVlICFpbXBvcnRh
bnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAhaW1wb3J0YW50
ICovJyBpcy1pbXBvcnRhbnRdIEBbMjM6MTEtMjM6MTA2XSBhY3RpdmUKLSAgICBbJ2JhY2tncm91
bmQtaW1hZ2UnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXgnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRd
IEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtcmVwZWF0LXkn
Oidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLSAg
ICBbJ2JhY2tncm91bmQtYXR0YWNobWVudCc6J2luaXRpYWwnIGlzLWltcG9ydGFudF0gQFt1bmRl
ZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotICAgIFsnYmFja2dyb3VuZC1wb3NpdGlvbi14JzonaW5p
dGlhbCcgaXMtaW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydi
YWNrZ3JvdW5kLXBvc2l0aW9uLXknOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLSAgICBbJ2JhY2tncm91bmQtb3JpZ2luJzonaW5pdGlhbCcgaXMt
aW1wb3J0YW50XSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5k
LWNsaXAnOidpbml0aWFsJyBpcy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLSAgICBbJ2JhY2tncm91bmQtY29sb3InOidncmVlbicgaXMtaW1wb3J0YW50XSBAW3VuZGVm
aW5lZC11bmRlZmluZWRdIHN0eWxlCi0gICAgWydiYWNrZ3JvdW5kLXNpemUnOidpbml0aWFsJyBp
cy1pbXBvcnRhbnRdIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLX0KLQotPT09IEFmdGVy
IHByb3BlcnR5IG1hbmlwdWxhdGlvbnMgPT09Ci1bdGV4dD0naGVpZ2h0IDogMTAwJSA7J10gZGlz
YWJsZWQKLVsnYm9yZGVyJzonMXB4IHNvbGlkJ10gQFszMDo1LTMwOjIzXSBhY3RpdmUKLVsnYm9y
ZGVyLXdpZHRoJzonMnB4J10gQFszMDoyNC0zMDo0Ml0gaW5hY3RpdmUKLVsnZ29vZ2xlcyc6J2Fi
cmEnIG5vbi1wYXJzZWRdIEBbMzA6NDQtMzA6NThdIGFjdGl2ZQotWydmb28nOicuYmFyJyBub24t
cGFyc2VkXSBAWzMwOjU5LTMwOjY5XSBhY3RpdmUKLVsnLW1vei1nb29nJzonMSoqKicgbm9uLXBh
cnNlZF0gQFszMDo3MC0zMDo4Nl0gYWN0aXZlCi1bJ2ZvbnQtc2l6ZSc6JzEycHgnXSBAWzMxOjQt
MzE6MjBdIGFjdGl2ZQotWydib3JkZXItd2lkdGgnOicxcHgnXSBAWzMyOjQtMzI6MjJdIGFjdGl2
ZQotW3RleHQ9J2ZvbnQtc2l6ZTogMTRweDsnXSBkaXNhYmxlZAotWydib3JkZXItdG9wLXdpZHRo
JzonMXB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItcmlnaHQtd2lk
dGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1ib3R0b20t
d2lkdGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1sZWZ0
LXdpZHRoJzonMXB4J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItdG9w
LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1y
aWdodC1zdHlsZSc6J3NvbGlkJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3Jk
ZXItYm90dG9tLXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1b
J2JvcmRlci1sZWZ0LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
Ci1bJ2JvcmRlci10b3AtY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBz
dHlsZQotWydib3JkZXItcmlnaHQtY29sb3InOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZp
bmVkXSBzdHlsZQotWydib3JkZXItYm90dG9tLWNvbG9yJzonaW5pdGlhbCddIEBbdW5kZWZpbmVk
LXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWxlZnQtY29sb3InOidpbml0aWFsJ10gQFt1bmRl
ZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItaW1hZ2Utc291cmNlJzonaW5pdGlhbCdd
IEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWltYWdlLXNsaWNlJzonaW5p
dGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWltYWdlLXdpZHRo
JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLWltYWdl
LW91dHNldCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRl
ci1pbWFnZS1yZXBlYXQnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
Ci09PT0gQWZ0ZXIgcHJvcGVydHkgZW5hYmxlZCA9PT0KLVt0ZXh0PSdoZWlnaHQgOiAxMDAlIDsn
XSBkaXNhYmxlZAotWydib3JkZXInOicxcHggc29saWQnXSBAWzMwOjUtMzA6MjNdIGFjdGl2ZQot
Wydib3JkZXItd2lkdGgnOicycHgnXSBAWzMwOjI0LTMwOjQyXSBpbmFjdGl2ZQotWydnb29nbGVz
JzonYWJyYScgbm9uLXBhcnNlZF0gQFszMDo0NC0zMDo1OF0gYWN0aXZlCi1bJ2Zvbyc6Jy5iYXIn
IG5vbi1wYXJzZWRdIEBbMzA6NTktMzA6NjldIGFjdGl2ZQotWyctbW96LWdvb2cnOicxKioqJyBu
b24tcGFyc2VkXSBAWzMwOjcwLTMwOjg2XSBhY3RpdmUKLVsnZm9udC1zaXplJzonMTJweCddIEBb
MzE6NC0zMToyMF0gaW5hY3RpdmUKLVsnYm9yZGVyLXdpZHRoJzonMXB4J10gQFszMjo0LTMyOjIy
XSBhY3RpdmUKLVsnZm9udC1zaXplJzonMTRweCddIEBbMzM6NC0zMzoyMF0gYWN0aXZlCi1bJ2Jv
cmRlci10b3Atd2lkdGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2Jv
cmRlci1yaWdodC13aWR0aCc6JzFweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUKLVsn
Ym9yZGVyLWJvdHRvbS13aWR0aCc6JzFweCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5bGUK
LVsnYm9yZGVyLWxlZnQtd2lkdGgnOicxcHgnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxl
Ci1bJ2JvcmRlci10b3Atc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0gc3R5
bGUKLVsnYm9yZGVyLXJpZ2h0LXN0eWxlJzonc29saWQnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRd
IHN0eWxlCi1bJ2JvcmRlci1ib3R0b20tc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVuZGVm
aW5lZF0gc3R5bGUKLVsnYm9yZGVyLWxlZnQtc3R5bGUnOidzb2xpZCddIEBbdW5kZWZpbmVkLXVu
ZGVmaW5lZF0gc3R5bGUKLVsnYm9yZGVyLXRvcC1jb2xvcic6J2luaXRpYWwnXSBAW3VuZGVmaW5l
ZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1yaWdodC1jb2xvcic6J2luaXRpYWwnXSBAW3Vu
ZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1ib3R0b20tY29sb3InOidpbml0aWFs
J10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItbGVmdC1jb2xvcic6J2lu
aXRpYWwnXSBAW3VuZGVmaW5lZC11bmRlZmluZWRdIHN0eWxlCi1bJ2JvcmRlci1pbWFnZS1zb3Vy
Y2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3JkZXItaW1h
Z2Utc2xpY2UnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQotWydib3Jk
ZXItaW1hZ2Utd2lkdGgnOidpbml0aWFsJ10gQFt1bmRlZmluZWQtdW5kZWZpbmVkXSBzdHlsZQot
Wydib3JkZXItaW1hZ2Utb3V0c2V0JzonaW5pdGlhbCddIEBbdW5kZWZpbmVkLXVuZGVmaW5lZF0g
c3R5bGUKLVsnYm9yZGVyLWltYWdlLXJlcGVhdCc6J2luaXRpYWwnXSBAW3VuZGVmaW5lZC11bmRl
ZmluZWRdIHN0eWxlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLW5ldy1BUEkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNjVmNWQyYjkzZjkyOGU0Nzk4MTVlMDJjYjRiNzIyYjc3OTNhNzBkMi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1uZXctQVBJLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0MTggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLQotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJyZXNvdXJjZXMvc3R5bGVzLW5ldy1BUEkuY3NzIj4KLQotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5z
aG93UGFuZWwoImVsZW1lbnRzIik7Ci0KLSAgICB0ZXN0X3N0eWxlcygpOwotCi0gICAgdmFyIGJv
ZHlJZDsKLSAgICBmdW5jdGlvbiB0ZXN0X3N0eWxlcyhub2RlKQotICAgIHsKLSAgICAgICAgZnVu
Y3Rpb24gY2FsbGJhY2soc3R5bGVzKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09IENvbXB1dGVkIHN0eWxlIHByb3BlcnR5IGNvdW50IGZvciBib2R5ID09PSIpOwotICAgICAg
ICAgICAgdmFyIHByb3BDb3VudCA9IHN0eWxlcy5jb21wdXRlZFN0eWxlLmxlbmd0aDsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHByb3BDb3VudCA+IDIwMCA/ICJPSyIgOiAi
RkFJTCAoIiArIHByb3BDb3VudCArICIpIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0g
TWF0Y2hlZCBydWxlcyBmb3IgYm9keSA9PT0iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcFJ1bGVNYXRjaGVzQXJyYXkoc3R5bGVzLm1hdGNoZWRDU1NSdWxlcyk7Ci0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT0gUHNldWRvIHJ1bGVzIGZvciBib2R5ID09PSIpOwotICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMucHNldWRvRWxlbWVudHMubGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUHNldWRvSWQ9IiAr
IHN0eWxlcy5wc2V1ZG9FbGVtZW50c1tpXS5wc2V1ZG9JZCk7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wUnVsZU1hdGNoZXNBcnJheShzdHlsZXMucHNldWRvRWxlbWVudHNbaV0u
bWF0Y2hlcyk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gSW5o
ZXJpdGVkIHN0eWxlcyBmb3IgYm9keSA9PT0iKTsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc3R5bGVzLmluaGVyaXRlZC5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJMZXZlbD0iICsgKGkgKyAxKSk7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGUoc3R5bGVzLmluaGVyaXRlZFtpXS5pbmxpbmVTdHls
ZSk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZU1hdGNoZXNBcnJheShz
dHlsZXMuaW5oZXJpdGVkW2ldLm1hdGNoZWRDU1NSdWxlcyk7Ci0gICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gSW5saW5lIHN0eWxlIGZvciBib2R5ID09PSIpOwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3R5bGUoc3R5bGVzLmlubGluZVN0eWxlKTsKLSAg
ICAgICAgICAgIHRlc3RfZm9yY2VkU3RhdGUoKTsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBy
ZXN1bHRTdHlsZXMgPSB7fTsKLQotICAgICAgICBmdW5jdGlvbiBjb21wdXRlZENhbGxiYWNrKGVy
cm9yLCBjb21wdXRlZFN0eWxlKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoZXJyb3IpIHsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJv
cik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXN1bHRTdHls
ZXMuY29tcHV0ZWRTdHlsZSA9IGNvbXB1dGVkU3R5bGU7Ci0gICAgICAgIH0KLQotICAgICAgICBm
dW5jdGlvbiBpbmxpbmVDYWxsYmFjayhlcnJvciwgaW5saW5lU3R5bGUpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIHJlc3VsdFN0eWxlcy5pbmxpbmVTdHlsZSA9IGlubGluZVN0eWxlOwotICAg
ICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gbWF0Y2hlZENhbGxiYWNrKGVycm9yLCBtYXRjaGVk
Q1NTUnVsZXMsIHBzZXVkb0VsZW1lbnRzLCBpbmhlcml0ZWQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgcmVzdWx0U3R5bGVzLm1hdGNoZWRDU1NSdWxlcyA9IG1hdGNoZWRDU1NSdWxlczsK
LSAgICAgICAgICAgIHJlc3VsdFN0eWxlcy5wc2V1ZG9FbGVtZW50cyA9IHBzZXVkb0VsZW1lbnRz
OwotICAgICAgICAgICAgcmVzdWx0U3R5bGVzLmluaGVyaXRlZCA9IGluaGVyaXRlZDsKLSAgICAg
ICAgICAgIGNhbGxiYWNrKHJlc3VsdFN0eWxlcyk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5j
dGlvbiBub2RlQ2FsbGJhY2sobm9kZSkKLSAgICAgICAgewotICAgICAgICAgICAgYm9keUlkID0g
bm9kZS5pZDsKLSAgICAgICAgICAgIENTU0FnZW50LmdldENvbXB1dGVkU3R5bGVGb3JOb2RlKG5v
ZGUuaWQsIGNvbXB1dGVkQ2FsbGJhY2spOwotICAgICAgICAgICAgQ1NTQWdlbnQuZ2V0SW5saW5l
U3R5bGVzRm9yTm9kZShub2RlLmlkLCBpbmxpbmVDYWxsYmFjayk7Ci0gICAgICAgICAgICBDU1NB
Z2VudC5nZXRNYXRjaGVkU3R5bGVzRm9yTm9kZShub2RlLmlkLCB0cnVlLCB0cnVlLCBtYXRjaGVk
Q2FsbGJhY2spOwotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdp
dGhJZCgibWFpbkJvZHkiLCBub2RlQ2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRl
c3RfZm9yY2VkU3RhdGUoKQotICAgIHsKLSAgICAgICAgQ1NTQWdlbnQuZm9yY2VQc2V1ZG9TdGF0
ZShib2R5SWQsIFsiaG92ZXIiXSk7Ci0gICAgICAgIENTU0FnZW50LmdldE1hdGNoZWRTdHlsZXNG
b3JOb2RlKGJvZHlJZCwgdHJ1ZSwgdHJ1ZSwgbWF0Y2hlZENhbGxiYWNrKTsKLQotICAgICAgICBm
dW5jdGlvbiBtYXRjaGVkQ2FsbGJhY2soZXJyb3IsIG1hdGNoZWRSdWxlcykKLSAgICAgICAgewot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBCT0RZIHdpdGggZm9yY2Vk
IDpob3ZlciA9PT0iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJ1bGVNYXRjaGVz
QXJyYXkobWF0Y2hlZFJ1bGVzKTsKLSAgICAgICAgICAgIENTU0FnZW50LmZvcmNlUHNldWRvU3Rh
dGUoYm9keUlkLCBbImhvdmVyIl0sIHRlc3RfdGFibGVTdHlsZXMpOwotICAgICAgICB9Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gdGVzdF90YWJsZVN0eWxlcygpCi0gICAgewotICAgICAgICBmdW5j
dGlvbiBjYWxsYmFjayhlcnJvciwgaW5saW5lU3R5bGUsIGF0dHJpYnV0ZXNTdHlsZSkKLSAgICAg
ICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIi
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQXR0cmlidXRlcyBz
dHlsZSBmb3IgdGFibGUgPT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTdHls
ZShhdHRyaWJ1dGVzU3R5bGUpOwotICAgICAgICAgICAgdGVzdF9pbmxpbmVTdHlsZVNoZWV0TW9k
aWZpY2F0aW9uKGlubGluZVN0eWxlKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIG5v
ZGVDYWxsYmFjayhub2RlKQotICAgICAgICB7Ci0gICAgICAgICAgICBDU1NBZ2VudC5nZXRJbmxp
bmVTdHlsZXNGb3JOb2RlKG5vZGUuaWQsIGNhbGxiYWNrKTsKLSAgICAgICAgfQotICAgICAgICBJ
bnNwZWN0b3JUZXN0Lm5vZGVXaXRoSWQoInRoZXRhYmxlIiwgbm9kZUNhbGxiYWNrKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X2lubGluZVN0eWxlU2hlZXRNb2RpZmljYXRpb24oaW5saW5l
U3R5bGUpCi0gICAgewotICAgICAgICBDU1NBZ2VudC5nZXRTdHlsZVNoZWV0VGV4dChpbmxpbmVT
dHlsZS5zdHlsZUlkLnN0eWxlU2hlZXRJZCwgdGV4dENhbGxiYWNrKTsKLQotICAgICAgICBmdW5j
dGlvbiB0ZXh0Q2FsbGJhY2soZXJyb3IsIHJlc3VsdCkKLSAgICAgICAgewotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PSBTdHlsZXNoZWV0LWZvci1pbmxpbmUtc3R5bGUgdGV4dCA9PT0iKTsKLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3VsdCk7Ci0gICAgICAgICAgICBD
U1NBZ2VudC5zZXRTdHlsZVNoZWV0VGV4dChpbmxpbmVTdHlsZS5zdHlsZUlkLnN0eWxlU2hlZXRJ
ZCwgIiIsIHNldFRleHRDYWxsYmFjayk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBz
ZXRUZXh0Q2FsbGJhY2soZXJyb3IsIHJlc3VsdCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIj09PSBTdHlsZXNoZWV0LWZvci1pbmxpbmUtc3R5bGUgbW9kaWZpY2F0aW9uIHJlc3Vs
dCA9PT0iKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGVycm9yKTsKLSAg
ICAgICAgICAgIHRlc3Rfc3R5bGVTaGVldHMoKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHRlc3Rfc3R5bGVTaGVldHMoKQotICAgIHsKLSAgICAgICAgdmFyIG5ld1N0eWxlU2hl
ZXRUZXh0ID0KLSAgICAgICAgICAgICJib2R5Lm1haW5wYWdlIHsiICsKLSAgICAgICAgICAgICIg
ICAgdGV4dC1kZWNvcmF0aW9uOiBzdHJpa2V0aHJvdWdoOyIgKwotICAgICAgICAgICAgIiAgICBi
YWRwcm9wZXJ0eTogMmJhZHZhbHVlMjsiICsKLSAgICAgICAgICAgICJ9IiArCi0gICAgICAgICAg
ICAiYm9keSB7IiArCi0gICAgICAgICAgICAiICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IiArCi0g
ICAgICAgICAgICAifSI7Ci0KLSAgICAgICAgZnVuY3Rpb24gcGF0Y2hTdHlsZVNoZWV0KHN0eWxl
U2hlZXQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIi
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gTGFzdCBzdHlsZXNo
ZWV0IHBhdGNoZWQgPT09Iik7Ci0gICAgICAgICAgICBDU1NBZ2VudC5zZXRTdHlsZVNoZWV0VGV4
dChzdHlsZVNoZWV0LnN0eWxlU2hlZXRJZCwgbmV3U3R5bGVTaGVldFRleHQsCi0gICAgICAgICAg
ICAgICAgbG9hZEFuZER1bXBTdHlsZVNoZWV0LmJpbmQobnVsbCwgc3R5bGVTaGVldC5zdHlsZVNo
ZWV0SWQsIHRlc3RfY2hhbmdlU2VsZWN0b3IpKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0
aW9uIHN0eWxlU2hlZXRJbmZvc0xvYWRlZChlcnJvciwgaW5mb3MpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFsbCBzdHlsZXNoZWV0cyA9PT0iKTsK
LSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5mb3MubGVuZ3RoOyArK2kpCi0gICAg
ICAgICAgICAgICAgbG9hZEFuZER1bXBTdHlsZVNoZWV0KGluZm9zW2ldLnN0eWxlU2hlZXRJZCwg
KGkgPCBpbmZvcy5sZW5ndGggLSAxKSA/IG51bGwgOiBwYXRjaFN0eWxlU2hlZXQpOwotICAgICAg
ICB9Ci0gICAgICAgIENTU0FnZW50LmdldEFsbFN0eWxlU2hlZXRzKHN0eWxlU2hlZXRJbmZvc0xv
YWRlZCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdF9jaGFuZ2VTZWxlY3RvcihzdHlsZVNo
ZWV0KQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gZGlkU2V0U2VsZWN0b3IoZXJyb3IsIHJ1bGUp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVy
IHNlbGVjdG9yIHNldCA9PT0iKTsKLSAgICAgICAgICAgIGxvYWRBbmREdW1wU3R5bGVTaGVldChy
dWxlLnJ1bGVJZC5zdHlsZVNoZWV0SWQsIHRlc3Rfc2V0UHJvcGVydHlUZXh0KTsKLSAgICAgICAg
fQotCi0gICAgICAgIENTU0FnZW50LnNldFJ1bGVTZWxlY3RvcihzdHlsZVNoZWV0LnJ1bGVzWzBd
LnJ1bGVJZCwgImh0bWwgKiwgYm9keVtmb289XCJiYXJcIl0iLCBkaWRTZXRTZWxlY3Rvcik7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdF9zZXRQcm9wZXJ0eVRleHQoc3R5bGVTaGVldCkKLSAg
ICB7Ci0gICAgICAgIGZ1bmN0aW9uIGRpZFNldFByb3BlcnR5VGV4dChlcnJvciwgc3R5bGUpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVyIHBy
b3BlcnR5IHRleHQgc2V0ID09PSIpOwotICAgICAgICAgICAgbG9hZEFuZER1bXBTdHlsZVNoZWV0
KHN0eWxlLnN0eWxlSWQuc3R5bGVTaGVldElkLCB0ZXN0X3NldFN0eWxlVGV4dDEpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgQ1NTQWdlbnQuc2V0UHJvcGVydHlUZXh0KHN0eWxlU2hlZXQucnVsZXNb
MF0uc3R5bGUuc3R5bGVJZCwgMCwgIiIsIHRydWUpOwotICAgICAgICBDU1NBZ2VudC5zZXRQcm9w
ZXJ0eVRleHQoc3R5bGVTaGVldC5ydWxlc1swXS5zdHlsZS5zdHlsZUlkLCAwLCAiIiwgdHJ1ZSk7
Ci0KLSAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24gc2hvdWxkIG5vdCB1cGRhdGUgdGhlIHN0eWxl
IGFzIHRoZSBuZXcgcHJvcGVydHkgdGV4dCBpcyBub3QgcGFyc2FibGUuCi0gICAgICAgIENTU0Fn
ZW50LnNldFByb3BlcnR5VGV4dChzdHlsZVNoZWV0LnJ1bGVzWzBdLnN0eWxlLnN0eWxlSWQsIDAs
ICJ6eno7IiwgZmFsc2UpOwotICAgICAgICBDU1NBZ2VudC5zZXRQcm9wZXJ0eVRleHQoc3R5bGVT
aGVldC5ydWxlc1swXS5zdHlsZS5zdHlsZUlkLCAwLCAiY29sb3I6IHdoaXRlOyBiYWNrZ3JvdW5k
OiBibGFjazsiLCBmYWxzZSwgZGlkU2V0UHJvcGVydHlUZXh0KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiB0ZXN0X3NldFN0eWxlVGV4dDEoc3R5bGVTaGVldCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0
aW9uIGRpZFNldFN0eWxlVGV4dDEoZXJyb3IsIHN0eWxlKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBBZnRlciBmaXJzdCBzdHlsZSB0ZXh0IHNldCA9
PT0iKTsKLSAgICAgICAgICAgIGxvYWRBbmREdW1wU3R5bGVTaGVldChzdHlsZS5zdHlsZUlkLnN0
eWxlU2hlZXRJZCwgdGVzdF9zZXRTdHlsZVRleHQyKTsKLSAgICAgICAgfQotCi0gICAgICAgIENT
U0FnZW50LnNldFN0eWxlVGV4dChzdHlsZVNoZWV0LnJ1bGVzWzBdLnN0eWxlLnN0eWxlSWQsICIi
LCBkaWRTZXRTdHlsZVRleHQxKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0X3NldFN0eWxl
VGV4dDIoc3R5bGVTaGVldCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGRpZFNldFN0eWxlVGV4
dDIoZXJyb3IsIHN0eWxlKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoZXJyb3IpIHsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIj09PSBBZnRlciBzZWNvbmQgc3R5bGUgdGV4dCBzZXQgPT09Iik7Ci0gICAgICAgICAg
ICBsb2FkQW5kRHVtcFN0eWxlU2hlZXQoc3R5bGUuc3R5bGVJZC5zdHlsZVNoZWV0SWQsIHRlc3Rf
YWRkUnVsZSk7Ci0gICAgICAgIH0KLQotICAgICAgICBDU1NBZ2VudC5zZXRTdHlsZVRleHQoc3R5
bGVTaGVldC5ydWxlc1swXS5zdHlsZS5zdHlsZUlkLCAiY29sb3I6IGdyZWVuOyBiYWNrZ3JvdW5k
OiByZWQ7IGZvbzogYmFyOyAqYmF6OiBiYXI7IC8qIENvbW1lbnQgKi8gZm9udC13ZWlnaHQ6IGJv
bGQgIWltcG9ydGFudCIsIGRpZFNldFN0eWxlVGV4dDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHRlc3RfYWRkUnVsZSgpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBkaWRHZXRTdHlsZXMoZXJy
b3IsIG1hdGNoZWRDU1NSdWxlcykKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJy
b3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCI9PT0gTWF0Y2hlZCBydWxlcyBhZnRlciBydWxlIGFkZGVkID09PSIpOwotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUnVsZU1hdGNoZXNBcnJheShtYXRjaGVkQ1NTUnVs
ZXMpOwotICAgICAgICAgICAgdGVzdF9kaXNhYmxlUHJvcGVydHkoKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIGZ1bmN0aW9uIGRpZFNldFN0eWxlVGV4dChlcnJvciwgc3R5bGUpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBDU1NBZ2VudC5nZXRNYXRjaGVkU3R5bGVzRm9yTm9k
ZShib2R5SWQsIGZhbHNlLCBmYWxzZSwgZGlkR2V0U3R5bGVzKTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGZ1bmN0aW9uIHJ1bGVBZGRlZChlcnJvciwgcnVsZSkKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
ImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5VGV4dChydWxlLnN0eWxlLnN0eWxl
SWQsIDAsICJmb250LWZhbWlseTogc2VyaWY7IiwgZmFsc2UsIGRpZFNldFN0eWxlVGV4dCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICBDU1NBZ2VudC5hZGRSdWxlKGJvZHlJZCwgImJvZHkiLCBydWxl
QWRkZWQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RfZGlzYWJsZVByb3BlcnR5KCkKLSAg
ICB7Ci0gICAgICAgIGZ1bmN0aW9uIGRpZERpc2FibGVQcm9wZXJ0eShlcnJvciwgc3R5bGUpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvcjogIiArIGVycm9yKTsKLSAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVyIHBy
b3BlcnR5IG1hbmlwdWxhdGlvbnMgPT09Iik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBTdHlsZShzdHlsZSk7Ci0gICAgICAgICAgICB0ZXN0X2VuYWJsZVByb3BlcnR5KHN0eWxlLnN0
eWxlSWQpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3R5bGVzQ2FsbGJhY2soZXJy
b3IsIG1hdGNoZWRDU1NSdWxlcykKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJy
b3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IC8vIGhlaWdodCA6IDEwMCUgOwotICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQ7Ci0g
ICAgICAgICAgICAvLyBib3JkZXItd2lkdGg6IDJweDsKLSAgICAgICAgICAgIC8vIGJhY2tncm91
bmQtY29sb3IgOiAjMzNGRjMzOwotICAgICAgICAgICAgLy8gZ29vZ2xlczogYWJyYTsKLSAgICAg
ICAgICAgIC8vIGZvbzogLmJhcjsKLSAgICAgICAgICAgIC8vIC1tb3otZ29vZzogMSoqKjsKLSAg
ICAgICAgICAgIC8vIGJvcmRlci13aWR0aDogMHB4OwotCi0gICAgICAgICAgICB2YXIgc3R5bGVJ
ZCA9IG1hdGNoZWRDU1NSdWxlc1sxXS5ydWxlLnN0eWxlLnN0eWxlSWQ7Ci0gICAgICAgICAgICBD
U1NBZ2VudC50b2dnbGVQcm9wZXJ0eShzdHlsZUlkLCAwLCB0cnVlKTsgLy8gaGVpZ2h0OiAxMDAl
Ci0gICAgICAgICAgICBDU1NBZ2VudC50b2dnbGVQcm9wZXJ0eShzdHlsZUlkLCA3LCB0cnVlKTsg
Ly8gYm9yZGVyLXdpZHRoOiAwcHgKLSAgICAgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5VGV4
dChzdHlsZUlkLCA3LCAiZm9udC1zaXplOiAxMnB4OyIsIGZhbHNlKTsKLSAgICAgICAgICAgIENT
U0FnZW50LnNldFByb3BlcnR5VGV4dChzdHlsZUlkLCA5LCAiZm9udC1zaXplOiAxNHB4OyIsIGZh
bHNlKTsKLSAgICAgICAgICAgIENTU0FnZW50LnRvZ2dsZVByb3BlcnR5KHN0eWxlSWQsIDksIHRy
dWUpOyAvLyBmb250LXNpemU6IDE0cHgKLSAgICAgICAgICAgIENTU0FnZW50LnNldFByb3BlcnR5
VGV4dChzdHlsZUlkLCA4LCAiYm9yZGVyLXdpZHRoOiAxcHg7IiwgdHJ1ZSk7Ci0gICAgICAgICAg
ICBDU1NBZ2VudC50b2dnbGVQcm9wZXJ0eShzdHlsZUlkLCA4LCBmYWxzZSk7IC8vIGJvcmRlci13
aWR0aDogMXB4Ci0gICAgICAgICAgICAvLyBoZWlnaHQgOiAxMDAlIDsgW2RdCi0gICAgICAgICAg
ICAvLyBib3JkZXI6IDFweCBzb2xpZDsKLSAgICAgICAgICAgIC8vIGJvcmRlci13aWR0aDogMnB4
OwotICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvciA6ICMzM0ZGMzM7Ci0gICAgICAgICAg
ICAvLyBnb29nbGVzOiBhYnJhOwotICAgICAgICAgICAgLy8gZm9vOiAuYmFyOwotICAgICAgICAg
ICAgLy8gLW1vei1nb29nOiAxKioqOwotICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxMnB4Owot
ICAgICAgICAgICAgLy8gYm9yZGVyLXdpZHRoOiAxcHg7Ci0gICAgICAgICAgICAvLyBmb250LXNp
emU6IDE0cHg7IFtkXQotCi0gICAgICAgICAgICBDU1NBZ2VudC5zZXRQcm9wZXJ0eVRleHQoc3R5
bGVJZCwgMywgIiIsIHRydWUsIGRpZERpc2FibGVQcm9wZXJ0eSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBmdW5jdGlvbiBub2RlQ2FsbGJhY2sobm9kZSkKLSAgICAgICAgewotICAgICAgICAgICAg
Q1NTQWdlbnQuZ2V0TWF0Y2hlZFN0eWxlc0Zvck5vZGUobm9kZS5pZCwgZmFsc2UsIGZhbHNlLCBz
dHlsZXNDYWxsYmFjayk7Ci0gICAgICAgIH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ub2RlV2l0
aElkKCJ0b2dnbGUiLCBub2RlQ2FsbGJhY2spOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3Rf
ZW5hYmxlUHJvcGVydHkoc3R5bGVJZCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGRpZEVuYWJs
ZVByb3BlcnR5KGVycm9yLCBzdHlsZSkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9y
KSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsg
ZXJyb3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT0gQWZ0ZXIgcHJvcGVydHkgZW5hYmxlZCA9PT0iKTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlKHN0eWxlKTsKLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBDU1NBZ2VudC50b2dn
bGVQcm9wZXJ0eShzdHlsZUlkLCA2LCBmYWxzZSk7Ci0gICAgICAgIENTU0FnZW50LnRvZ2dsZVBy
b3BlcnR5KHN0eWxlSWQsIDgsIGZhbHNlLCBkaWRFbmFibGVQcm9wZXJ0eSk7Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gbG9hZEFuZER1bXBTdHlsZVNoZWV0KHN0eWxlU2hlZXRJZCwgY29udGludWF0
aW9uLCBlcnJvcikKLSAgICB7Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gc3R5bGVTaGVldExvYWRlZChlcnJv
ciwgc3R5bGVTaGVldCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwot
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJTdHlsZVNoZWV0OiAnIiArIHN0eWxlU2hlZXQudGV4dCArICInIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBSdWxlc0FycmF5KHN0eWxlU2hlZXQucnVsZXMpOwotICAgICAg
ICAgICAgaWYgKGNvbnRpbnVhdGlvbikKLSAgICAgICAgICAgICAgICBjb250aW51YXRpb24oc3R5
bGVTaGVldCk7Ci0gICAgICAgIH0KLQotICAgICAgICBDU1NBZ2VudC5nZXRTdHlsZVNoZWV0KHN0
eWxlU2hlZXRJZCwgc3R5bGVTaGVldExvYWRlZCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLQot
PHN0eWxlPgotCi0vKiBBbiBpbmxpbmUgc3R5bGVzaGVldCAqLwotYm9keS5tYWlucGFnZSB7Ci0g
ICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBhdCBsZWFzdCBvbmUgdmFsaWQgcHJvcGVydHkg
aXMgbmVjZXNzYXJ5IGZvciBXZWJDb3JlIHRvIG1hdGNoIGEgcnVsZSAqLwotICAgIDtiYWRwcm9w
ZXJ0eTogMWJhZHZhbHVlMTsKLX0KLQotYm9keS5tYWlucGFnZSB7Ci0gICAgcHJvcDE6IHZhbDE7
Ci0gICAgcHJvcDI6IHZhbDI7Ci19Ci0KLWJvZHk6aG92ZXIgewotICBjb2xvcjogI0NERTsKLX0K
LTwvc3R5bGU+Ci08L2hlYWQ+Ci0KLTxib2R5IGlkPSJtYWluQm9keSIgY2xhc3M9Im1haW4xIG1h
aW4yIG1haW5wYWdlIiBvbmxvYWQ9InJ1blRlc3QoKSIgc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3Jt
YWw7IHdpZHRoOiA4NSU7IGJhY2tncm91bmQtaW1hZ2U6IHVybChiYXIucG5nKSI+Ci08cD4KLVRl
c3RzIHRoYXQgSW5zcGVjdG9yQ1NTQWdlbnQgQVBJIG1ldGhvZHMgd29yayBhcyBleHBlY3RlZC4K
LTwvcD4KLTx0YWJsZSB3aWR0aD0iNTAlIiBpZD0idGhldGFibGUiPgotPC90YWJsZT4KLTxoMSBp
ZD0idG9nZ2xlIj5IMTwvaDE+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1vdmVycmlkZW4tcHJvcGVydGll
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0
eWxlcy1vdmVycmlkZW4tcHJvcGVydGllcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGM3NjM5NGI5M2JhZWY5MDg3Y2MxODFlNWU4NzYxMWYwZTQxYzY5ODYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGVzdHMgdGhhdCBvdmVy
cmlkaW5nIHNob3J0aGFuZHMgd2l0aGluIHJ1bGUgYXJlIHZpc2libGUuCi0KLVtleHBhbmRlZF0g
Ci1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09
PT09Ci1bZXhwYW5kZWRdIAotI21haW4gIHsgKHN0eWxlcy1vdmVycmlkZW4tcHJvcGVydGllcy5o
dG1sOjQpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gYmFja2dyb3VuZDogIzAwMDsKLWJhY2tncm91bmQ6
ICNiYWRhNTU7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkK
LWRpc3BsYXk6IGJsb2NrOwotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLW92ZXJyaWRlbi1wcm9wZXJ0
aWVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlODUxZmUyYzhlMjEwMWVl
MmMxOWY0YmU1MjM0OTdkZmNkYWYzYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHls
ZXMtb3ZlcnJpZGVuLXByb3BlcnRpZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotI21haW4gewotICAg
IGhlaWdodDogMTAwcHg7Ci0gICAgYmFja2dyb3VuZDogIzAwMDsKLSAgICBiYWNrZ3JvdW5kOiAj
YmFkYTU1OwotfQotPC9zdHlsZT4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdh
aXRGb3JTdHlsZXMoIm1haW4iLCBzdGVwMSk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwg
ZmFsc2UsIHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAg
IH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPgotVGVzdHMgdGhhdCBvdmVycmlkaW5nIHNob3J0aGFuZHMgd2l0aGluIHJ1bGUgYXJlIHZp
c2libGUuCi08L3A+Ci0KLTxkaXYgaWQ9Im1haW4iPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1zb3VyY2UtbGluZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggN2E3ZTQ0NmQ4M2Y0MmUwYzRmODAwZGY2ZjJhYTYwMzhiNWY3YWU1
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2UtbGluZXMtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotVGVzdHMgdGhhdCBwcm9wZXIg
c291cmNlIGxpbmVzIGFyZSByZXBvcnRlZCBmb3IgdGhlIHBhcnNlZCBzdHlsZXMuCi0KLVtleHBh
bmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVz
ID09PT09PT09Ci1bZXhwYW5kZWRdIAotbWVkaWE9InNjcmVlbiIgKHN0eWxlcy1zb3VyY2UtbGlu
ZXMuaHRtbCkKLSNtYWluLCAuYXRfbGluZV81MCAgeyAoc3R5bGVzLXNvdXJjZS1saW5lcy5odG1s
OjUwKQotYm9yZGVyOiAxcHggc29saWQKLSAgICByZWQ7Ci0KLVtleHBhbmRlZF0gCi1tZWRpYT0i
c2NyZWVuIiAoc3R5bGVzLXNvdXJjZS1saW5lcy5odG1sKQotI21haW4sIC5hdF9saW5lXzQzICB7
IChzdHlsZXMtc291cmNlLWxpbmVzLmh0bWw6NDMpCi1mb250LXNpemU6IDEwcHg7Ci0KLVtleHBh
bmRlZF0gCi1tZWRpYT0ic2NyZWVuIiAoc3R5bGVzLXNvdXJjZS1saW5lcy5odG1sKQotI21haW4s
IC5hdF9saW5lXzI5ICB7IChzdHlsZXMtc291cmNlLWxpbmVzLmh0bWw6MjkpCi1mb250LWZhbWls
eTogLyogIENvbW1lbnQgaW4gCi0gICAgICAgICAgICAgICAgICAgICAgdmFsdWUgICovY291cmll
cjsKLQotW2V4cGFuZGVkXSAKLW1lZGlhPSJzY3JlZW4iIChzdHlsZXMtc291cmNlLWxpbmVzLmh0
bWwpCi0jbWFpbiwgLmF0X2xpbmVfMTU6OmJlZm9yZSAgeyAoc3R5bGVzLXNvdXJjZS1saW5lcy5o
dG1sOjE1KQotY29sb3I6IHJlZDsKLWNvbnRlbnQ6ICJCZWZvcmUiOwotCi1bZXhwYW5kZWRdIAot
ZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLXNv
dXJjZS1saW5lcy1pbmxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4MDZkMmU0NWMwMTUzOTAxOTIyYTYxM2IzMTY2
YjZiOTdmMDg3ZDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxp
bmVzLWlubGluZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1U
ZXN0cyB0aGF0IGVsZW1lbnRzIHBhbmVsIHNob3dzIHByb3BlciBpbmxpbmUgc3R5bGUgbG9jYXRp
b25zIGluIHRoZSBzaWRlYmFyIHBhbmVsLgotCi0KLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxl
ICB7ICgpCi1kaXNwbGF5OiBub25lOwotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09
PT09PQotW2V4cGFuZGVkXSAKLS5mb28gIHsgKHN0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLmh0
bWw6NykKLWNvbG9yOiBibHVlOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0
eWxlc2hlZXQpCi0vLS0gb3ZlcmxvYWRlZCAtLS8gZGlzcGxheTogYmxvY2s7Ci0KLQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3Vy
Y2UtbGluZXMtaW5saW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5
bGVzL3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDJkOGQ1OGNkNGYwNWRkYjgwNTM1NGJlYjRmN2Q0MDg1NDQyZGI0NmYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLWlubGluZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLS5mb28gewotICAgIGNvbG9yOiBibHVlOwotfQotPC9z
dHlsZT4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVz
dC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiZm9vIiwgc3RlcDIpOwotCi0gICAgZnVuY3Rp
b24gc3RlcDIoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVt
ZW50U3R5bGVzKHRydWUsIGZhbHNlLCB0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgZWxlbWVudHMgcGFuZWwgc2hvd3MgcHJv
cGVyIGlubGluZSBzdHlsZSBsb2NhdGlvbnMgaW4gdGhlIHNpZGViYXIgcGFuZWwuCi08L3A+Ci0K
LTxkaXYgaWQ9ImZvbyIgY2xhc3M9ImZvbyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Rm9vPC9kaXY+
Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3N0eWxlcy1zb3VyY2UtbGluZXMtaW5saW5lLWlmcmFt
ZS5odG1sIj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy9zdHlsZXMtc291cmNlLWxpbmVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2UtbGluZXMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTI1NGUyZGUyZDZiNjMyYzFjZDE0NGRkM2M0
ZTIyODMxOGNmNmE2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3VyY2Ut
bGluZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08IS0tCi0gICAgTGluZSBudW1iZXJzIGFyZSByZXBvcnRlZCB3cnQgdGhlIG9wZW5lZCBzdHls
ZSB0YWcgYmFzZWxpbmUuCi0gICAgQWxsb3cgc29tZSBzcGFjZSBoZXJlIHRvIGFsaWduIGxvY2Fs
IGxpbmUgbnVtYmVycyB0byBiZSBzdHlsZSArIDEwLgotICAgIFNlbGVjdG9yIHNvdXJjZUxpbmUg
aXMgdGhlIGxpbmUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgeyBmb2xsb3dpbmcgdGhlCi0gICAgc2Vs
ZWN0b3IgdGV4dC4KLS0tPgotCi08c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4i
PgotI21haW4sIC5hdF9saW5lXzE1OjovKgotTXVsdGlsaW5lIGNvbW1lbnQKLWJlZm9yZSBwc2V1
ZG8gZWxlbWVudAotICAgICAgICAgICAgICAqL2JlZm9yZSAKLXsKLSAgICBjb2xvcjpyZWQ7Ci0g
ICAgY29udGVudDogIkJlZm9yZSIKLX0KLS8qCi0KLU11bHRpbGluZSBjb21tZW50IGZvbGxvd2Vk
IHdpdGggd2hpdGVzcGFjZQotCi0KLSovCi0KLSNtYWluLCAuYXRfbGluZV8yOQotCi0KLXsKLSAg
ICAvKiBDb21tZW50IGluIGRlZmluaXRpb24qLwotICAgIC8qIENvbW1lbnQgaW4gZGVmaW5pdGlv
biAyKi8KLQotICAgIC8qIENvbW1lbnQgaW4gZGVmaW5pdGlvbiAzCi0gICAgKi9mb250LWZhbWls
eTovKiAgQ29tbWVudCBpbiAKLSAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSAgKi9jb3VyaWVy
OwotICAgIGNvbG9yIGJsdWU7Ci19LypNdWx0aWxpbmUgY29tbWVudAotCi1mb2xsb3dlZCBieSBz
ZWxlY3RvcgotKi8jbWFpbiwKLS5hdF9saW5lXzQzCi0KLXsKLSAgICBmb250LXNpemU6Ci0gICAg
ICAgIDEwcHg7Ci19Ci0KLQotI21haW4sIC5hdF9saW5lXzUwCi17Ci0gICAgYm9yZGVyOiAxcHgg
c29saWQKLSAgICByZWQ7Ci19Ci08L3N0eWxlPgotCi08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zZWxlY3RO
b2RlQW5kV2FpdEZvclN0eWxlcygibWFpbiIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxl
cyh0cnVlLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IHByb3BlciBzb3VyY2UgbGluZXMgYXJlIHJlcG9ydGVk
IGZvciB0aGUgcGFyc2VkIHN0eWxlcy4KLTwvcD4KLQotPGRpdiBpZD0ibWFpbiI+PC9kaXY+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc3MjcyODJlYWEwNjk5ZjA2
YTIwOTI0OGVhOGI0YjIwNzRkYTJiZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxl
cy1zb3VyY2Utb2Zmc2V0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCww
IEBACi1UZXN0cyB0aGF0IHByb3BlciBkYXRhIGFuZCBzdGFydC9lbmQgb2Zmc2V0IHBvc2l0aW9u
cyBhcmUgcmVwb3J0ZWQgZm9yIENTUyBzdHlsZSBkZWNsYXJhdGlvbnMgYW5kIHByb3BlcnRpZXMu
Ci0KLWJvZHk6IFswOjAtMDo0XSBbMDo2LTk6MF0KLVsnZm9udC1zaXplJzonMTJweCddIEBbMTo0
LTE6MjBdCi1bJ2Zvbyc6J2JhciAhCi0KLSAgICBpbXBvcnRhbnQgLyogIWltcG9ydGFudCBwcm9w
ZXJ0eSBub3QgcmVjb2duaXplZCBieSBXZWJDb3JlICovJyAhaW1wb3J0YW50IG5vbi1wYXJzZWRd
IEBbMjo0LTQ6NjZdCi1bJ2hlaWdodCc6JzEwMCUgIWltcG9ydGFudCcgIWltcG9ydGFudF0gQFs1
OjQtNToyOF0KLVsnY29sb3J6JzonIiFpbXBvcnRhbnQiJyBub24tcGFyc2VkXSBAWzY6NC02OjI1
XQotWydpbXBvcnRhbnQnOichaW1wb3J0YW50JyBub24tcGFyc2VkXSBAWzc6NC03OjI1XQotWydj
b2xvcic6JyJiYWRjb2xvciIgISBpbXBvcnRhbnQgLyogZ29vZCBwcm9wZXJ0eSB3aXRoIHN0cmFu
Z2UgdmFsdWUgKi8nICFpbXBvcnRhbnQgbm9uLXBhcnNlZF0gQFs4OjQtODo3M10KLWJvZHkubWFp
bjE6IFsxMToyOS0xMTo2N10gWzExOjY4LTExOjE0OV0KLVsnY29sb3InOicjRjAwQkFBJ10gQFsx
MTo4MS0xMTo5Nl0KLVsnem9vJzonbW9vIC8qIG5vdCBhbiAhaW1wb3J0YW50IHVucmVjb2duaXpl
ZCBwcm9wZXJ0eSAqLycgbm9uLXBhcnNlZF0gQFsxMTo5Ni0xMToxNDldCi1ib2R5Lm1haW4yOiBb
MTM6MC0xMzoxMF0gWzEzOjExLTEzOjEwNl0KLVsnYmFja2dyb3VuZCc6J2dyZWVuIC8qIHZhbHVl
ICFpbXBvcnRhbnQgY29tbWVudCAqLyAhaW1wb3J0YW50IC8qIG5vIHNlbWljb2xvbiwgdmVyeSAh
aW1wb3J0YW50ICovJyAhaW1wb3J0YW50XSBAWzEzOjExLTEzOjEwNl0KLWJvZHkubWFpbnBhZ2U6
IFsyOjAtMjoxM10gWzI6MTUtNTowXQotWyd0ZXh0LWRlY29yYXRpb24nOidub25lJ10gQFszOjQt
MzoyNl0KLVsnYmFkcHJvcGVydHknOicxYmFkdmFsdWUxJyBub24tcGFyc2VkXSBAWzQ6NC00OjI4
XQotZWxlbWVudC5zdHlsZTogWzA6MC0wOjMxXQotWydmb250LXdlaWdodCc6J25vcm1hbCddIEBb
MDowLTA6MjBdCi1bJ3dpZHRoJzonODAlJ10gQFswOjIxLTA6MzFdCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3N0eWxlcy1zb3Vy
Y2Utb2Zmc2V0cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTk0M2I3MmZm
NzRiMjU4Nzc5MzMzZjYwNTdiMDUyZjJiOGVhNzI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvc3R5bGVzLXNvdXJjZS1vZmZzZXRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotCi08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291
cmNlcy9zdHlsZXMtc291cmNlLW9mZnNldHMuY3NzIj4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGR1bXBTdHls
ZURhdGEocnVsZU9yU3R5bGUpCi0gICAgewotICAgICAgICB2YXIgaXNSdWxlID0gISEocnVsZU9y
U3R5bGUuc3R5bGUpOwotICAgICAgICB2YXIgc3R5bGU7Ci0gICAgICAgIHZhciBoZWFkZXIgPSAi
IjsKLSAgICAgICAgaWYgKGlzUnVsZSkgewotICAgICAgICAgICAgaWYgKHJ1bGVPclN0eWxlLm9y
aWdpbiAhPT0gInJlZ3VsYXIiKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
IHN0eWxlID0gcnVsZU9yU3R5bGUuc3R5bGU7Ci0gICAgICAgICAgICBoZWFkZXIgPSBydWxlT3JT
dHlsZS5zZWxlY3Rvckxpc3QudGV4dCArICI6ICIgKyAocnVsZU9yU3R5bGUuc2VsZWN0b3JMaXN0
LnJhbmdlID8gSW5zcGVjdG9yVGVzdC5yYW5nZVRleHQocnVsZU9yU3R5bGUuc2VsZWN0b3JMaXN0
LnJhbmdlKSA6ICIiKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHN0eWxlID0gcnVs
ZU9yU3R5bGU7Ci0gICAgICAgICAgICBoZWFkZXIgPSAiZWxlbWVudC5zdHlsZToiOwotICAgICAg
ICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGhlYWRlciArICIgIiArIEluc3Bl
Y3RvclRlc3QucmFuZ2VUZXh0KHN0eWxlLnJhbmdlKSk7Ci0gICAgICAgIHZhciBhbGxQcm9wZXJ0
aWVzID0gc3R5bGUuY3NzUHJvcGVydGllczsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBh
bGxQcm9wZXJ0aWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgcHJvcGVydHkgPSBh
bGxQcm9wZXJ0aWVzW2ldOwotICAgICAgICAgICAgaWYgKCFwcm9wZXJ0eS5zdGF0dXMpCi0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiWyciICsgcHJvcGVydHkubmFtZSArICInOiciICsgcHJvcGVydHkudmFsdWUgKyAiJyIgKyAo
cHJvcGVydHkucHJpb3JpdHkgPyAiICFpbXBvcnRhbnQiIDogIiIpICsgKCgicGFyc2VkT2siIGlu
IHByb3BlcnR5KSA/ICIgbm9uLXBhcnNlZCIgOiAiIikgKyJdIEAiICsgSW5zcGVjdG9yVGVzdC5y
YW5nZVRleHQocHJvcGVydHkucmFuZ2UpKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoIm1haW5Cb2R5Iiwgc3RlcDEpOwotCi0gICAg
dmFyIHJlc3VsdFN0eWxlcyA9IHt9OwotCi0gICAgZnVuY3Rpb24gaW5saW5lQ2FsbGJhY2soZXJy
b3IsIGlubGluZVN0eWxlKQotICAgIHsKLSAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yOiAiICsgZXJyb3IpOwotICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9Ci0KLSAgICAgICAgcmVzdWx0U3R5bGVzLmlubGluZVN0eWxlID0gaW5saW5lU3R5
bGU7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbWF0Y2hlZENhbGxiYWNrKGVycm9yLCBtYXRjaGVk
Q1NTUnVsZXMpCi0gICAgewotICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiZXJyb3I6ICIgKyBlcnJvcik7Ci0gICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLSAgICAgICAgcmVzdWx0U3R5bGVzLm1hdGNoZWRDU1NSdWxlcyA9IG1hdGNoZWRDU1NSdWxl
czsKLSAgICAgICAgc3RlcDIoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMShub2RlKQot
ICAgIHsKLSAgICAgICAgQ1NTQWdlbnQuZ2V0SW5saW5lU3R5bGVzRm9yTm9kZShub2RlLmlkLCBp
bmxpbmVDYWxsYmFjayk7Ci0gICAgICAgIENTU0FnZW50LmdldE1hdGNoZWRTdHlsZXNGb3JOb2Rl
KG5vZGUuaWQsIG1hdGNoZWRDYWxsYmFjayk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIo
KQotICAgIHsKLSAgICAgICAgdmFyIG1hdGNoZWRDU1NSdWxlcyA9IHJlc3VsdFN0eWxlcy5tYXRj
aGVkQ1NTUnVsZXM7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF0Y2hlZENTU1J1bGVz
Lmxlbmd0aDsgKytpKQotICAgICAgICAgICAgZHVtcFN0eWxlRGF0YShtYXRjaGVkQ1NTUnVsZXNb
aV0ucnVsZSk7Ci0gICAgICAgIGR1bXBTdHlsZURhdGEocmVzdWx0U3R5bGVzLmlubGluZVN0eWxl
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwv
c2NyaXB0PgotCi08c3R5bGU+Ci0KLWJvZHkubWFpbnBhZ2UgewotICAgIHRleHQtZGVjb3JhdGlv
bjogbm9uZTsgLyogYXQgbGVhc3Qgb25lIHZhbGlkIHByb3BlcnR5IGlzIG5lY2Vzc2FyeSBmb3Ig
V2ViQ29yZSB0byBtYXRjaCBhIHJ1bGUgKi8KLSAgICBiYWRwcm9wZXJ0eTogMWJhZHZhbHVlMTsK
LX0KLQotPC9zdHlsZT4KLTwvaGVhZD4KLQotPGJvZHkgaWQ9Im1haW5Cb2R5IiBjbGFzcz0ibWFp
bjEgbWFpbjIgbWFpbnBhZ2UiIG9ubG9hZD0icnVuVGVzdCgpIiBzdHlsZT0iZm9udC13ZWlnaHQ6
IG5vcm1hbDsgd2lkdGg6IDgwJSI+Ci08cD4KLVRlc3RzIHRoYXQgcHJvcGVyIGRhdGEgYW5kIHN0
YXJ0L2VuZCBvZmZzZXQgcG9zaXRpb25zIGFyZSByZXBvcnRlZCBmb3IgQ1NTIHN0eWxlIGRlY2xh
cmF0aW9ucyBhbmQgcHJvcGVydGllcy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1uZXct
cnVsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVz
L3VuZG8tYWRkLW5ldy1ydWxlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTA3YTYzOGUxNTZjYzc4YTlkMTJiMDBmNzRiNWU4MDkxYzcwZDg3My4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLW5ldy1ydWxlLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDY1ICswLDAgQEAKLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgY2Fu
IGJlIHVuZG9uZS4KLQotVGV4dAotQWZ0ZXIgYWRkaW5nIG5ldyBydWxlOgotW2V4cGFuZGVkXSAK
LWVsZW1lbnQuc3R5bGUgIHsgKCkKLWZvbnQtc2l6ZTogMTJweDsKLQotPT09PT09PT0gTWF0Y2hl
ZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi1kaXYuZm9vICB7IChpbnNwZWN0b3It
c3R5bGVzaGVldDoxKQotCi1bZXhwYW5kZWRdIAotZGl2LmZvbyAgeyAoaW5zcGVjdG9yLXN0eWxl
c2hlZXQ6MSkKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQot
ZGlzcGxheTogYmxvY2s7Ci0KLQotPT09PT0gU3R5bGUgc2hlZXQgdGV4dDogPT09PT0KLWRpdi5m
b28ge30KLWRpdi5mb28ge30KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1BZnRlciB1
bmRvOgotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLWNvbG9yOiByZWQ7Ci0KLT09
PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotZGl2LmZvbyAg
eyAoaW5zcGVjdG9yLXN0eWxlc2hlZXQ6MSkKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBh
Z2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotPT09PT0gU3R5bGUgc2hlZXQg
dGV4dDogPT09PT0KLWRpdi5mb28ge30KLQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LUFmdGVyIHJlZG86Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotZm9udC1zaXpl
OiAxMnB4OwotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVk
XSAKLWRpdi5mb28gIHsgKGluc3BlY3Rvci1zdHlsZXNoZWV0OjEpCi0KLVtleHBhbmRlZF0gCi1k
aXYuZm9vICB7IChpbnNwZWN0b3Itc3R5bGVzaGVldDoxKQotCi1bZXhwYW5kZWRdIAotZGl2ICB7
ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi09PT09PSBTdHls
ZSBzaGVldCB0ZXh0OiA9PT09PQotZGl2LmZvbyB7fQotCi1kaXYuZm9vIHt9Ci09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLW5ldy1ydWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLW5ldy1ydWxlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDZmM2ZlNDJmNDhhYjk0NGE2MmMxNjU3NGQxN2ZiNmU0NzVkYTE3
ZTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1uZXctcnVsZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNw
ZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9k
ZUFuZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKLQotICAgIHZhciB0cmVlRWxl
bWVudDsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIGFkZE5ld1J1bGVB
bmRTZWxlY3ROb2RlKCJvdGhlciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MigpCi0gICAgewotICAgICAgICBhZGROZXdSdWxlQW5kU2VsZWN0Tm9kZSgiaW5zcGVjdGVkIiwg
c3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciBhZGRpbmcgbmV3IHJ1bGU6Iik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwgdHJ1
ZSk7Ci0gICAgICAgIHByaW50U3R5bGVTaGVldEFuZENhbGwoc3RlcDQpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXA0KCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51
bmRvKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMo
Im90aGVyIiwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciB1bmRvOiIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSwgZmFsc2UsIHRydWUp
OwotICAgICAgICBwcmludFN0eWxlU2hlZXRBbmRDYWxsKHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBm
dW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVk
bygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJp
bnNwZWN0ZWQiLCBzdGVwNyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDcoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFmdGVyIHJlZG86Iik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlLCBmYWxzZSwgdHJ1
ZSk7Ci0gICAgICAgIHByaW50U3R5bGVTaGVldEFuZENhbGwoc3RlcDgpOwotICAgIH0KLQotICAg
IGZ1bmN0aW9uIHN0ZXA4KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gYWRkTmV3UnVsZUFuZFNlbGVjdE5vZGUobm9k
ZUlkLCBuZXh0KQotICAgIHsKLSAgICAgICAgLy8gQ2xpY2sgIkFkZCBuZXcgcnVsZSIuCi0gICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhZGQtc3R5bGUtYnV0dG9uLXRlc3QtaWQiKS5j
bGljaygpOwotICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVu
dHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsKLSAgICAgICAgc2VjdGlvbi5f
c2VsZWN0b3JFbGVtZW50LnRleHRDb250ZW50ID0gImRpdi5mb28iOwotICAgICAgICBzZWN0aW9u
Ll9zZWxlY3RvckVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2
ZW50KCJFbnRlciIpKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZv
clN0eWxlcyhub2RlSWQsIG5leHQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByaW50U3R5bGVT
aGVldEFuZENhbGwobmV4dCkKLSAgICB7Ci0gICAgICAgIHZhciBzZWN0aW9uID0gV2ViSW5zcGVj
dG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdWzJdOwot
ICAgICAgICB2YXIgaWQgPSBzZWN0aW9uLnN0eWxlUnVsZS5zdHlsZS5pZC5zdHlsZVNoZWV0SWQ7
Ci0gICAgICAgIENTU0FnZW50LmdldFN0eWxlU2hlZXRUZXh0KGlkLCBjYWxsYmFjayk7Ci0gICAg
ICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHJlc3VsdCwgc3R5bGVTaGVldFRleHQpCi0gICAgICAgIHsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PSBTdHlsZSBzaGVldCB0
ZXh0OiA9PT09PSIpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc3R5bGVT
aGVldFRleHQpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Iik7Ci0gICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgIH0K
LSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IHJ1bGUgY2FuIGJlIHVuZG9uZS4KLTwv
cD4KLQotPGRpdiBjbGFzcz0iZm9vIiBpZD0iaW5zcGVjdGVkIiBzdHlsZT0iZm9udC1zaXplOiAx
MnB4Ij5UZXh0PC9kaXY+Ci08ZGl2IGNsYXNzPSJmb28iIGlkPSJvdGhlciIgc3R5bGU9ImNvbG9y
OnJlZCI+PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQtcHJvcGVydHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0
eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzZWM3ODk0OWIw
OTBmNTQ5MGMzMDgzNjU1ZTAxZmUwMmEzNzczZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy91bmRvLWFkZC1wcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOTIg
KzAsMCBAQAotVGVzdHMgdGhhdCBhZGRpbmcgYSBwcm9wZXJ0eSBpcyB1bmRvbmUgcHJvcGVybHku
Ci0KLT09PSBMYXN0IHByb3BlcnR5ID09PQotKEluaXRpYWwgdmFsdWUpCi1bZXhwYW5kZWRdIAot
ZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09
PQotW2V4cGFuZGVkXSAKLS5jb250YWluZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykK
LWZvbnQtd2VpZ2h0OiBib2xkOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0
eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0oQWZ0ZXIgYWRkaW5nIHByb3BlcnR5KQot
W2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1Mg
UnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9w
ZXJ0eS5odG1sOjcpCi1mb250LXdlaWdodDogYm9sZDsKLW1hcmdpbi1sZWZ0OiAycHg7Ci0KLVtl
eHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2Nr
OwotCi0KLShBZnRlciB1bmRvKQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQot
PT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0uY29udGFp
bmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCi1mb250LXdlaWdodDogYm9sZDsKLQot
W2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxv
Y2s7Ci0KLQotKEFmdGVyIHJlZG8pCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQot
Ci09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250
YWluZXIgIHsgKHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKLWZvbnQtd2VpZ2h0OiBib2xkOwot
bWFyZ2luLWxlZnQ6IDJweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHls
ZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotPT09IEZpcnN0IHByb3BlcnR5ID09PQotKElu
aXRpYWwgdmFsdWUpCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09
PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250YWluZXIgIHsg
KHVuZG8tYWRkLXByb3BlcnR5Lmh0bWw6NykKLWZvbnQtd2VpZ2h0OiBib2xkOwotbWFyZ2luLWxl
ZnQ6IDJweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQot
ZGlzcGxheTogYmxvY2s7Ci0KLQotKEFmdGVyIGFkZGluZyBwcm9wZXJ0eSkKLVtleHBhbmRlZF0g
Ci1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09
PT09Ci1bZXhwYW5kZWRdIAotLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3
KQotbWFyZ2luLXRvcDogMHB4OwotZm9udC13ZWlnaHQ6IGJvbGQ7Ci1tYXJnaW4tbGVmdDogMnB4
OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5
OiBibG9jazsKLQotCi0oQWZ0ZXIgdW5kbykKLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7
ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAot
LmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRtbDo3KQotZm9udC13ZWlnaHQ6IGJv
bGQ7Ci1tYXJnaW4tbGVmdDogMnB4OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50
IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi0oQWZ0ZXIgcmVkbykKLVtleHBhbmRl
ZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09
PT09PT09Ci1bZXhwYW5kZWRdIAotLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHkuaHRt
bDo3KQotbWFyZ2luLXRvcDogMHB4OwotZm9udC13ZWlnaHQ6IGJvbGQ7Ci1tYXJnaW4tbGVmdDog
MnB4OwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNw
bGF5OiBibG9jazsKLQotCi09PT0gTWlkZGxlIHByb3BlcnR5ID09PQotKEluaXRpYWwgdmFsdWUp
Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENT
UyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250YWluZXIgIHsgKHVuZG8tYWRkLXBy
b3BlcnR5Lmh0bWw6NykKLW1hcmdpbi10b3A6IDBweDsKLWZvbnQtd2VpZ2h0OiBib2xkOwotbWFy
Z2luLWxlZnQ6IDJweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNo
ZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotKEFmdGVyIGFkZGluZyBwcm9wZXJ0eSkKLVtleHBh
bmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVz
ID09PT09PT09Ci1bZXhwYW5kZWRdIAotLmNvbnRhaW5lciAgeyAodW5kby1hZGQtcHJvcGVydHku
aHRtbDo3KQotbWFyZ2luLXRvcDogMHB4OwotbWFyZ2luLXJpZ2h0OiAxcHg7Ci1mb250LXdlaWdo
dDogYm9sZDsKLW1hcmdpbi1sZWZ0OiAycHg7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIg
YWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLShBZnRlciB1bmRvKQotW2V4
cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVs
ZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0
eS5odG1sOjcpCi1tYXJnaW4tdG9wOiAwcHg7Ci1mb250LXdlaWdodDogYm9sZDsKLW1hcmdpbi1s
ZWZ0OiAycHg7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkK
LWRpc3BsYXk6IGJsb2NrOwotCi0KLShBZnRlciByZWRvKQotW2V4cGFuZGVkXSAKLWVsZW1lbnQu
c3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0KLVtleHBh
bmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWFkZC1wcm9wZXJ0eS5odG1sOjcpCi1tYXJnaW4t
dG9wOiAwcHg7Ci1tYXJnaW4tcmlnaHQ6IDFweDsKLWZvbnQtd2VpZ2h0OiBib2xkOwotbWFyZ2lu
LWxlZnQ6IDJweDsKLQotW2V4cGFuZGVkXSAKLWRpdiAgeyAodXNlciBhZ2VudCBzdHlsZXNoZWV0
KQotZGlzcGxheTogYmxvY2s7Ci0KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXByb3BlcnR5Lmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMWQzMWMzZmVkZWRlM2JkZWQ5YjIxNjgwZDdmMzM0ZWI3
ZTRmZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1wcm9wZXJ0eS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci0KLTxzdHlsZT4KLS5jb250YWluZXIgewotICBmb250LXdlaWdodDog
Ym9sZAotfQotPC9zdHlsZT4KLQotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgdGVz
dEFwcGVuZFByb3BlcnR5LmJpbmQobnVsbCwgdGVzdEluc2VydEJlZ2luKSk7Ci0KLSAgICBmdW5j
dGlvbiB0ZXN0QXBwZW5kUHJvcGVydHkoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PSBMYXN0IHByb3BlcnR5ID09PSIpOwotICAgICAgICB0ZXN0QWRkUHJvcGVy
dHkoIm1hcmdpbi1sZWZ0OiAycHgiLCB1bmRlZmluZWQsIHRlc3RJbnNlcnRCZWdpbik7Ci0gICAg
fQotCi0gICAgZnVuY3Rpb24gdGVzdEluc2VydEJlZ2luKCkKLSAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gRmlyc3QgcHJvcGVydHkgPT09Iik7Ci0gICAgICAgIHRl
c3RBZGRQcm9wZXJ0eSgibWFyZ2luLXRvcDogMHB4IiwgMCwgdGVzdEluc2VydE1pZGRsZSk7Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gdGVzdEluc2VydE1pZGRsZSgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IE1pZGRsZSBwcm9wZXJ0eSA9PT0iKTsKLSAgICAg
ICAgdGVzdEFkZFByb3BlcnR5KCJtYXJnaW4tcmlnaHQ6IDFweCIsIDEsIEluc3BlY3RvclRlc3Qu
Y29tcGxldGVUZXN0LmJpbmQoSW5zcGVjdG9yVGVzdCkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9u
IHRlc3RBZGRQcm9wZXJ0eShwcm9wZXJ0eVRleHQsIGluZGV4LCBjYWxsYmFjaykKLSAgICB7Ci0K
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIihJbml0aWFsIHZhbHVlKSIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0KLSAg
ICAgICAgdmFyIHRyZWVJdGVtID0gSW5zcGVjdG9yVGVzdC5nZXRNYXRjaGVkU3R5bGVQcm9wZXJ0
eVRyZWVJdGVtKCJmb250LXdlaWdodCIpOwotICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0cmVl
SXRlbS5zZWN0aW9uKCkuYWRkTmV3QmxhbmtQcm9wZXJ0eShpbmRleCk7Ci0gICAgICAgIHRyZWVF
bGVtZW50LmFwcGx5U3R5bGVUZXh0KHByb3BlcnR5VGV4dCwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3Qud2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDEpOwotCi0gICAg
ICAgIGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIihBZnRlciBhZGRpbmcgcHJvcGVydHkpIik7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0KLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXAyKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIihBZnRlciB1bmRvKSIpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotCi0gICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZG9tQWdlbnQucmVkbygpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxl
Y3ROb2RlQW5kV2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3RlcDMpOwotICAgICAgICB9Ci0K
LSAgICAgICAgZnVuY3Rpb24gc3RlcDMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiKEFmdGVyIHJlZG8pIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0gICAgICAgICAgICBjYWxsYmFj
aygpOwotICAgICAgICB9Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhhdCBhZGRpbmcgYSBwcm9wZXJ0eSBpcyB1
bmRvbmUgcHJvcGVybHkuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgY2xhc3M9ImNvbnRh
aW5lciI+PC9kaXY+Ci08ZGl2IGlkPSJvdGhlciIgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Ci0K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS9zdHlsZXMvdW5kby1hZGQtcnVsZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tYWRkLXJ1bGUtY3Jhc2gtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYmUwOGMzMmIwZWMyMzRhNTE0MTE3
NmM5YmViZmVhNjQyZmM0YTAxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1hZGQt
cnVsZS1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRl
c3RzIHRoYXQgdGhlIGluc3BlY3RlZCBwYWdlIGRvZXMgbm90IGNyYXNoIGFmdGVyIHVuZG9pbmcg
YSBuZXcgcnVsZSBhZGRpdGlvbi4gQnVnIDEwNDgwNgotVGhlIHRlc3QgaGFzIHBhc3NlZCAobm8g
Y3Jhc2gpLgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9z
dHlsZXMvdW5kby1hZGQtcnVsZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy91bmRvLWFkZC1ydWxlLWNyYXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDVmZjhhNmE4NDAwZjgwN2RkYWIzNjJiYjkxODZiMjlmMDUxY2I4MTQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWFkZC1ydWxlLWNyYXNoLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Li4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanM+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0uLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5z
ZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiaW5zcGVjdGVkIiwgc3RlcDEpOwotCi0gICAgZnVu
Y3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgYWRkTmV3UnVsZUFuZFNlbGVjdE5vZGUoIm90
aGVyIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC51bmRvKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
d2FpdEZvclN0eWxlcygib3RoZXIiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci0KLSAgICBmdW5jdGlvbiBhZGROZXdSdWxlQW5kU2VsZWN0Tm9kZShub2RlSWQsIG5leHQpCi0g
ICAgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWRkLXN0eWxlLWJ1dHRvbi10
ZXN0LWlkIikuY2xpY2soKTsKLSAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl07Ci0gICAgICAg
IEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JTdHlsZXMobm9kZUlkLCBuZXh0KTsK
LSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci1UZXN0cyB0aGF0IHRoZSBpbnNwZWN0ZWQgcGFnZSBkb2VzIG5vdCBjcmFzaCBhZnRlciB1
bmRvaW5nIGEgbmV3IHJ1bGUgYWRkaXRpb24uIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ4MDYiPkJ1ZyAxMDQ4MDY8L2E+Ci0KLTxwPlRoZSB0ZXN0
IGhhcyBwYXNzZWQgKG5vIGNyYXNoKS48L3A+Ci08ZGl2IGlkPSJpbnNwZWN0ZWQiPjxkaXYgaWQ9
Im90aGVyIiAvPjwvZGl2PgotPHN0eWxlPgotQC13ZWJraXQta2V5ZnJhbWVzIGNmcHVsc2UxIHsg
MCUgeyBvcGFjaXR5OiAwLjE7ICB9IH0KLS5jMSB7IC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNm
cHVsc2UxOyAgfQotPC9zdHlsZT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1jaGFuZ2UtcHJvcGVydHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9w
ZXJ0eS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3MjBkNjhj
N2RiMzE3Nzc5MDhjMTNlZjA4ZWRiM2UwMDAxYjdhYmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0
eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw1OSArMCwwIEBACi1UZXN0cyB0aGF0IGNoYW5naW5nIGEgcHJvcGVydHkgaXMgdW5kb25lIHBy
b3Blcmx5LgotCi1Jbml0aWFsIHZhbHVlCi1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAo
KQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLS5j
b250YWluZXIgIHsgKHVuZG8tY2hhbmdlLXByb3BlcnR5Lmh0bWw6NykKLWZvbnQtd2VpZ2h0OiBi
b2xkOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50IHN0eWxlc2hlZXQpCi1kaXNw
bGF5OiBibG9jazsKLQotCi1BZnRlciBjaGFuZ2luZyBwcm9wZXJ0eQotW2V4cGFuZGVkXSAKLWVs
ZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBDU1MgUnVsZXMgPT09PT09PT0K
LVtleHBhbmRlZF0gCi0uY29udGFpbmVyICB7ICh1bmRvLWNoYW5nZS1wcm9wZXJ0eS5odG1sOjcp
Ci1mb250LXdlaWdodDogbm9ybWFsOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFnZW50
IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi1BZnRlciB1bmRvCi1bZXhwYW5kZWRd
IAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09
PT09PQotW2V4cGFuZGVkXSAKLS5jb250YWluZXIgIHsgKHVuZG8tY2hhbmdlLXByb3BlcnR5Lmh0
bWw6NykKLWZvbnQtd2VpZ2h0OiBib2xkOwotCi1bZXhwYW5kZWRdIAotZGl2ICB7ICh1c2VyIGFn
ZW50IHN0eWxlc2hlZXQpCi1kaXNwbGF5OiBibG9jazsKLQotCi1BZnRlciByZWRvCi1bZXhwYW5k
ZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9
PT09PT09PQotW2V4cGFuZGVkXSAKLS5jb250YWluZXIgIHsgKHVuZG8tY2hhbmdlLXByb3BlcnR5
Lmh0bWw6NykKLWZvbnQtd2VpZ2h0OiBub3JtYWw7Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVz
ZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWNoYW5nZS1wcm9wZXJ0
eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLWNoYW5n
ZS1wcm9wZXJ0eS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MzQxMDJmYmQ3
ZDIwOWY2ZmZjZWU1N2FkYzBjMjNlOTg0NTI3NGE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHls
ZXMvdW5kby1jaGFuZ2UtcHJvcGVydHkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMiPjwvc2NyaXB0PgotCi08c3R5bGU+Ci0u
Y29udGFpbmVyIHsKLSAgZm9udC13ZWlnaHQ6IGJvbGQKLX0KLTwvc3R5bGU+Ci0KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdh
aXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAxKCkK
LSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJJbml0aWFsIHZhbHVlIik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsK
LQotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldE1hdGNoZWRTdHlsZVBy
b3BlcnR5VHJlZUl0ZW0oImZvbnQtd2VpZ2h0Iik7Ci0gICAgICAgIHRyZWVJdGVtLmFwcGx5U3R5
bGVUZXh0KCJmb250LXdlaWdodDogbm9ybWFsIiwgdHJ1ZSwgZmFsc2UpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiQWZ0ZXIgY2hhbmdpbmcgcHJvcGVydHkiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
U2VsZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5kb21B
Z2VudC51bmRvKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRGb3JT
dHlsZXMoIm90aGVyIiwgc3RlcDMpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKCkKLSAg
ICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZnRlciB1bmRvIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLQotICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVkbygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJjb250YWluZXIiLCBzdGVwNCk7Ci0gICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIkFmdGVyIHJlZG8iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRF
bGVtZW50U3R5bGVzKHRydWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08cD4KLVRlc3RzIHRoYXQgY2hhbmdpbmcgYSBwcm9wZXJ0eSBpcyB1bmRvbmUgcHJvcGVy
bHkuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciIgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+
Ci08ZGl2IGlkPSJvdGhlciIgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMv
dW5kby1wcm9wZXJ0eS10b2dnbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2dsZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzY2I3ZTQ0NGE2OTc2OGFjMjJhYTc5YTQxMjM4YjY5
NzU0YzZhZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2ds
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0cyB0aGF0
IGRpc2FibGluZyBzdHlsZSBpcyB1bmRvbmUgcHJvcGVybHkuCi0KLUJlZm9yZSBkaXNhYmxlCi1m
b250LXdlaWdodDogYm9sZDsKLUFmdGVyIGRpc2FibGUKLS8tLSBvdmVybG9hZGVkIC0tLyAvLS0g
ZGlzYWJsZWQgLS0vIGZvbnQtd2VpZ2h0OiBib2xkOwotQWZ0ZXIgdW5kbwotZm9udC13ZWlnaHQ6
IGJvbGQ7Ci1BZnRlciByZWRvCi0vLS0gb3ZlcmxvYWRlZCAtLS8gLy0tIGRpc2FibGVkIC0tLyBm
b250LXdlaWdodDogYm9sZDsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2dsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3N0eWxlcy91bmRvLXByb3BlcnR5LXRvZ2dsZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZThiNjlhNDM2MTQ2N2UxZjI5Y2MwOGZhMzBmODFjNjBm
NDU3ZjgxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1wcm9wZXJ0eS10b2dnbGUu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
LXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlQW5kV2FpdEZvclN0eWxlcygiY29udGFpbmVyIiwgc3Rl
cDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEobm9kZSkKLSAgICB7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJCZWZvcmUgZGlzYWJsZSIpOwotICAgICAgICB2YXIgdHJlZUl0ZW0g
PSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQtd2Vp
Z2h0Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJlZUl0ZW0odHJlZUl0ZW0s
ICIiKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LnRvZ2dsZVN0eWxlUHJvcGVydHkoImZvbnQt
d2VpZ2h0IiwgZmFsc2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNv
bnRhaW5lciIsIHN0ZXAyKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgZGlzYWJsZSIpOwotICAgICAg
ICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJl
ZUl0ZW0oImZvbnQtd2VpZ2h0Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJl
ZUl0ZW0odHJlZUl0ZW0sICIiKTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQudW5k
bygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0
ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQWZ0ZXIgdW5kbyIpOwotICAgICAgICB2YXIgdHJlZUl0ZW0g
PSBJbnNwZWN0b3JUZXN0LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQtd2Vp
Z2h0Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJlZUl0ZW0odHJlZUl0ZW0s
ICIiKTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVkbygpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRGb3JTdHlsZXMoImNvbnRhaW5lciIsIHN0ZXA0KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiQWZ0ZXIgcmVkbyIpOwotICAgICAgICB2YXIgdHJlZUl0ZW0gPSBJbnNwZWN0b3JUZXN0
LmdldEVsZW1lbnRTdHlsZVByb3BlcnR5VHJlZUl0ZW0oImZvbnQtd2VpZ2h0Iik7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZHVtcFN0eWxlVHJlZUl0ZW0odHJlZUl0ZW0sICIiKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IGRpc2FibGlu
ZyBzdHlsZSBpcyB1bmRvbmUgcHJvcGVybHkuCi08L3A+Ci0KLTxkaXYgaWQ9ImNvbnRhaW5lciIg
c3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPgotPC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1zZXQt
c2VsZWN0b3ItdGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvc3R5bGVzL3VuZG8tc2V0LXNlbGVjdG9yLXRleHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzYjg3MTliZjQ1MmJjOWJhMDE1NzgzNTdjOTBjNjBhY2MwYzdk
ZjUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS9zdHlsZXMvdW5kby1zZXQtc2VsZWN0b3ItdGV4dC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1UZXN0cyB0aGF0IHNl
dHRpbmcgc2VsZWN0b3IgdGV4dCBjYW4gYmUgdW5kb25lLgotCi09PT0gQmVmb3JlIHNlbGVjdG9y
IG1vZGlmaWNhdGlvbiA9PT0KLVtleHBhbmRlZF0gCi1lbGVtZW50LnN0eWxlICB7ICgpCi0KLT09
PT09PT09IE1hdGNoZWQgQ1NTIFJ1bGVzID09PT09PT09Ci1bZXhwYW5kZWRdIAotI2luc3BlY3Rl
ZCAgeyAodW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sOjQpCi1jb2xvcjogZ3JlZW47Ci0KLVtl
eHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2Nr
OwotCi0KLT09PSBBZnRlciBzZWxlY3RvciBtb2RpZmljYXRpb24gPT09Ci1bZXhwYW5kZWRdIAot
ZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBNYXRjaGVkIENTUyBSdWxlcyA9PT09PT09
PQotW2V4cGFuZGVkXSAKLSNpbnNwZWN0ZWQsICNvdGhlciAgeyAodW5kby1zZXQtc2VsZWN0b3It
dGV4dC5odG1sOjQpCi1jb2xvcjogZ3JlZW47Ci0KLVtleHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIg
YWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2NrOwotCi0KLT09PSBBZnRlciB1bmRvID09
PQotW2V4cGFuZGVkXSAKLWVsZW1lbnQuc3R5bGUgIHsgKCkKLQotPT09PT09PT0gTWF0Y2hlZCBD
U1MgUnVsZXMgPT09PT09PT0KLVtleHBhbmRlZF0gCi0jaW5zcGVjdGVkICB7ICh1bmRvLXNldC1z
ZWxlY3Rvci10ZXh0Lmh0bWw6NCkKLWNvbG9yOiBncmVlbjsKLQotW2V4cGFuZGVkXSAKLWRpdiAg
eyAodXNlciBhZ2VudCBzdHlsZXNoZWV0KQotZGlzcGxheTogYmxvY2s7Ci0KLQotPT09IEFmdGVy
IHJlZG8gPT09Ci1bZXhwYW5kZWRdIAotZWxlbWVudC5zdHlsZSAgeyAoKQotCi09PT09PT09PSBN
YXRjaGVkIENTUyBSdWxlcyA9PT09PT09PQotW2V4cGFuZGVkXSAKLSNpbnNwZWN0ZWQsICNvdGhl
ciAgeyAodW5kby1zZXQtc2VsZWN0b3ItdGV4dC5odG1sOjQpCi1jb2xvcjogZ3JlZW47Ci0KLVtl
eHBhbmRlZF0gCi1kaXYgIHsgKHVzZXIgYWdlbnQgc3R5bGVzaGVldCkKLWRpc3BsYXk6IGJsb2Nr
OwotCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3N0eWxl
cy91bmRvLXNldC1zZWxlY3Rvci10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvc3R5bGVzL3VuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMzE0MmNkMWRiYTVkZDk4OWQ0OTIzYmYwYThkM2VhYmQxMDVkMjQzNC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvc3R5bGVzL3VuZG8tc2V0LXNlbGVjdG9yLXRleHQuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci0j
aW5zcGVjdGVkIHsKLSAgY29sb3I6IGdyZWVuOwotfQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0
b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwotICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFu
ZFdhaXRGb3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAxKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gQmVmb3JlIHNl
bGVjdG9yIG1vZGlmaWNhdGlvbiA9PT0iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2Vs
ZWN0ZWRFbGVtZW50U3R5bGVzKHRydWUpOwotICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsyXTsK
LSAgICAgICAgc2VjdGlvbi5zdGFydEVkaXRpbmdTZWxlY3RvcigpOwotICAgICAgICBzZWN0aW9u
Ll9zZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSAiI2luc3BlY3RlZCwgI290aGVyIjsKLSAg
ICAgICAgc2VjdGlvbi5fc2VsZWN0b3JFbGVtZW50LmRpc3BhdGNoRXZlbnQoSW5zcGVjdG9yVGVz
dC5jcmVhdGVLZXlFdmVudCgiRW50ZXIiKSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0
Tm9kZUFuZFdhaXRGb3JTdHlsZXMoIm90aGVyIiwgc3RlcDIpOwotICAgIH0KLQotICAgIGZ1bmN0
aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0g
QWZ0ZXIgc2VsZWN0b3IgbW9kaWZpY2F0aW9uID09PSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBTZWxlY3RlZEVsZW1lbnRTdHlsZXModHJ1ZSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC51bmRvKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZUFuZFdhaXRG
b3JTdHlsZXMoImluc3BlY3RlZCIsIHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVw
MygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVyIHVu
ZG8gPT09Iik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxl
cyh0cnVlKTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVkbygpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVBbmRXYWl0Rm9yU3R5bGVzKCJvdGhlciIsIHN0ZXA0
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiPT09IEFmdGVyIHJlZG8gPT09Iik7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudFN0eWxlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoYXQgc2V0dGluZyBzZWxlY3Rv
ciB0ZXh0IGNhbiBiZSB1bmRvbmUuCi08L3A+Ci0KLTxkaXYgaWQ9Imluc3BlY3RlZCI+PC9kaXY+
Ci08ZGl2IGlkPSJvdGhlciI+PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvYW5JbWFn
ZS5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2Vz
L2FuSW1hZ2UucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDFhMGU2YzNmNjVm
N2JlZWViMzliOTU5ZTBkYjQ5ZmY3ZDkzOWY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRl
cmFsIDEzMjU5CnpjbVY7K0djP1NKUCk8aDszS3xMazAwMGUxTkpMVHEwMDZ4SjAwMlA8MV5AczZn
b21ZNDAwMUJXTmtsPFpjJTFGTQp6ZDYtPlFtSCspWWAlSEpmSFAyTl5Ec3V1TTE0KTJEQVEoVSg0
MnF6TCtTOysod240al93KU9TKnZsYVVCZWYjQlkKelRVJStMKjB5bk91Pm9hfUtfSlNNSyomdHl1
fk1uakpsPFAoSWA+VGJ7b354S0JxVHQ5REIhUVkmdlVCb0ohaFoyCnomK3klQXVlSjh0Pm5mWjwl
eCghK3tQfFVye3chajZiLUVeJXB7JWVFY2NtWUVhZCZGLSZjbnIxbytHNl5sYjB9bwp6M0FgYitH
Z1ZQVkxNIXxINFVAbXwjRD9LclBqNEUwejtTKGhXPW5NWHQ9SDlsYWVycy0rZmFQKk90bSRFM0Fg
UGcKekcxNmJVcHpPLVNKLU9eNz4tdjVJNm9Lcm4hYFdSd2MrXipKZDApLVBvXyFAZExIWV4yRUFX
O3t8N3h9NWBVfFNWCno1bVdXMGwhSH1DejNqcylue0dlYWxURm9ETSZkIzxDKUFoO3lsYkdtKWV+
UCQ7elUlTmFtVDBVZVdrTl5iantxIQp6cTAydmItUE5+cjl6RCN5LUNLTFZ7ajA5Tyo/T1N4QzxA
QVBaVGQqdVkqRV44PE43QnNmajVtYU10VmgyUX59ZmUKeipEWHotYztBeGR6bipkNCRJNlUmSndz
aSl5ajtRRXIlRFR5cGc5UXd1am83WjtYKT1vRztydzFWQjV8RW9tKmJuCnpIQHQxaiFUZz80T1hs
QytaQjFZVHVaPVQ4YG1uQWolZyV9e1R7XkdqMTFxbiVfS0hRektSN1I1emZlKEJ7ZEZwXgp6IUxA
TCQ1IWBHeS1zbk13eTdtLX45Tk5Dfnh0STRweCNzMXJON25Bblp9Tk81XnJBbXV5YzI1ZythaTY7
UlAreGwKenVmRzFIKkRVX2ExeHFob1VmcF91cDtuKiZzKiptUW1CT2BCXylaPj5wcnxPU2lPfERu
cC1MMjBNXk9hUUVsP2FlCnpmSFN6MiFNMWdVT2BBOVc/JXQ7a2VnQkNLPV9mMSlAOW97ezFtMkIh
UG16QXIoJlFEbGVSUyFVbXRLN0IjcXI2UAp6cChiYVBqITVqKFZYV2MzV099eGZPPzY+cTF9V3N5
YyVCYzZ6JSZodmExdHxHTUwxcWZDe31AKVhoeDBIVT9pSCsKemo1dXkja2JLdCpqMj5SWWg4LVFk
dyZtWFUjTSNSfmRFZ0EpX1hPVUJ1cE5vKCQ8MEZIO0diUkhuRXBleF5RSzhaCnp4a2w3fkBuZl5e
eSNCZ3RTNjl4eVE1ZTxwMFJedl5CSHkhLXB8PERnWnJqUz9fSUNSRU41flhoSlJnSz1xR35GTgp6
cU0jfU85PWVjMyEjWlc8NipNJDlRe1RgP0J2RlNSdHN6dH5nSytnNlR4KnpJK3ZEXmVfJnZ7ZSZM
Sn1NUSQoVzQKekd5V2haQFhuKHxkVn5WNUNwJW5FS0llTSFMMGAocEs2bTQhR3ZAR2tRPjRGcVZm
NTBrZWRkQ0hLbGBHTyZ5R3g5CnpnJkhvJHZxI0J5emZBWTstP0R4NDMreT4/Z3NkZn5zO3I+Q3Y0
eShZOHROKWRqOEZgcj1fcDhpJiZQOHRpaUlAMgp6TGx5JmxUP2BOUEJSIWs/K0RmTGp3bytESmkz
cFZ1dHlAVUVaYSY0LTBhQU0oVjhpWWRlTn0lPT9XQjJVPktSUG4KelU0ayp2RCs7KS1rSzsqdkEz
Ul5DaT8ofjg/PC0mYihrRUl3LWZsYW1QNU10PVJgS2FDfEo3eVJZQj17VlcwOXRkCnpRR3wqO3ZY
fGFua0Zmc1AyaWczfTBWMSg3PUZGTVIlO31TPEQybyN8VHlvaFEqfU93OFl2RExQUVl0OGx6JVcl
cAp6VlV6TnRpSj1SITE8N0U0QU52aitXdVVLPCtWVClIciUlQiYxZz1PQEo/azNjV2k8QCN7fCRT
MFkre3I1REg+O0EKensmdyR3MGBEVURHOWFXNzNhO200SX0rY1FJRyk2SGVTQ0BTYGAtOE1xSUtz
VHBFLU56dCtzUG9yMm1gaUU1Q1VBCnpyPzAlTGE9fnB4ODxyeTcwe1B5SloyakdUQCR9UEFBPU4x
N0ZJfml9c1pCJmY5d1dtZWJRflJHUzlecntPRHx5ZQp6cCZ9aCE3SyQxTk1hT3FOQnpaST9Qbloh
QlFIeURmNCUxcz5Cb2tvPGhqWi1TZHgpT1NIbHtUdFhzJDEzVX0lKVkKenF+KX1wYnVwdHlVdTU2
NVhaVEk7aGwjZ2RgJlJGTDBgRD4/M1RVYz11OEdxQlU+aDMmI3ZyOH1eKnJ3YCQ1WCFYCnpQayVa
Nk97K2FgTmN6dVRRfU07V1RZY0dHUnA8VUt2QnZaOD9LREZOZSNfR2plMmM5KzRsO2xLZTNtWWxL
e056Pwp6eSo8NEFOYGR4TjZFWlRGYHNQKl5FOyRSXmMxUkNyRDZmb1M3JUdrfWFhPDJZQGZrQEs+
RnBZJV92bTQ9THgtOHMKekZ1LX18Z2xUUnsoOUBTOyVqUyh9ZXV9ZWEpWTkyQWZAZTBkXnBma3k1
QUl8NClAUyp9O2hXSkt1NihvaUolTSpJCno2aEt1S3E5SylOU1M0KCM9JGU5fUQwcUhBZSV0Wk03
bzRAajFEemxJO255IThjKGU3dENUX2VpYEtmPXA/Wlc/Ugp6U28tJU9GP2pgRVZTdWpmenZpS3pl
U15WS2hidllycmxxazhEPzcrYlRTd1Y/YlVIUURFQEpNeW5VcDA+dlQySz0KelJtM1hUUjglTU05
MWtIdEgqfGJKUlJ2T2x1QmpOTlY2ZDtpbypmNWkrcTtjOWxYYGpvI1IoRkw3QEljanFgUTRQCnpp
e3tqRXcwREk1aktPN0ItaGlEdCNNWjV3YEV+emlHMyVEUzwlY3xoY1B8dExPa0VJKlhlNlE8bnlU
UXNsN2o4dwp6STEod251NiQ8citWNmskcUFqT2c9Vzg4VUhZYUAxSCRIZEhXNzk2WUVuWWVJcXF3
O3FqJjhrfDJZPiE7SlEzckgKek9QNWQ/aHB6NV45ezdFZmFMZkJ5dn03VWluMVM+PygmOz9hSEEm
ODBKZTRpJDQ9X0JFTGprZkdpO0J1UFFjPl9xCnolX3xCUkxQMDFCeH5gRzRFU19KcGxpezk/ZURI
bWVNR0k7PGFHLTxqVGhfNX5XKERuQ0RjYnJ4SzZ2ZEZXQ2prZgp6ZXRSIyFjbUZxYHZaLShYRE5v
PkMzODUmTWg5RFlORipGNiZsbFQmbDtRTXxxcEckeEkyVmNHNUEkYn4oZkF2JjUKenN9Z0dFb3Fz
bXpTNyk3ZmVOKitrUHZLY1piWnh0ck19SylZc3VBYj9EO0FMbWQySEY8JWBjeUFXeVNAIUZufDZH
CnpHfnRvWUl+MHA5ZzlBQVYxcVRWdEtldkBvKnIyT0JPKThiZ0cmSDFDQEk0PmpsU29oRUlVYkpW
VmNRLUczUjk9bwp6cVomOy16TlZqaWM5O3YjWWEmK08jSV94S25BPSp4WGVQJm9aM2tGNVojdCRO
QT1SXm9BQGMmbj4mKmdCOzVgY28KenhTcGhGYCM3I2REMW5nbHJOb3p0cCRPeEh2ekZldGAtQVZC
dmhSKk4/cyMzfHBHMH5FeGI1Mk5mNHlTRzs7WlR4CnotLVp3eGVMTF50bk1ifmw8KHBpMyhZZUd6
NGxpeVY8aVNrfnhiKFVrc0lHe1Qmc2h7TDd1V0llOUZKN0dLKyRwOwp6OW0ldDJSflBkYU8kSzFe
JlRoZ1gxMVo2RUppSm5RKlkkQjY0Xj0zezVARD5JTHNlYXJubnt5KmBzb2Yqc1MlYmYKenNVdSQy
el4+Z3BTdmFTRzEwOTFMPyZ4UjF0WGRTU2c5Rl9qQnF2OyVmNjk7JmRfUzFVNE1NcEJKPlFlNG5q
WDEhCnpeNHUkKWB8d3E+SjcxNlpDeXs+WHRtcX1IUzU1bG4pVE4oUHFqaWZJK1dSWkVLSnljTDI2
SFVDOzlNJT11PDRhUwp6OV5OdmEzcyt1QUJCRW1EWkhoJD8kTXZ1c0FKM0VJM29hdT1TKDtsYVgr
Slc9eyhYSjt1MXxrfG1RY2pOYiVMXnYKej9jdW1TdyZVWnZLMzM1fjJuOTE3V15tTUBefXhAbW5i
RjgyWW0+TjY3dDBubXAmQnVjOV5TKkV4aCpgbT0/RHJ3CnpReVc1Zj4zdGszb1Epbz97Nmp3WGNN
TFY8MX1oZC1Gcnl7UHstYn5SbjdsdUJkIzRLdGN6KW8raHJyYi1DM3JyWAp6WVEhIyFscmBNez42
PSQlP3pyUVFRPVdmOUpibDtAYG5CaG1lWUw2ZVkkTWltS0khKH5iOW4xUmJvQ0NmWHUkJWkKeiVP
ZX48K3szUzRuI3xuQSVUYXVYekNJaE5DPHI4PUFRYzReMXl4Wkgyb0FSbXFHfW95UlNCTVp7dCU3
TDwpcmcyCnpOS2xhfEtJMShXMXIjWTYmRztBemk9fl5zI2klc01vcUgzUFV5PGdLTSsoJGVefDFX
Pm5QaygwV1YxKVA7KHtzcwp6PlVSZ0pQMWUmPz1+STI9KkpMWmMkbXdgdlooM1E7bD18PlZgfTs/
MWNDfV5MdT1AYC02YUpQXlUyYnNHJTZiNEUKelVIN0lPN1ZuQW4tVkNHISRNWFMhcTdiTSNKfE1L
Rj05dyUwPm19fkU5dz9tWlR5Z3hEYkVpZSNLV3wjYUJ+YDUjCno8S3piRCt3fnhRb2Q7PWJZXkpg
a25TM3RJRlY7aiEpTGxlYlFqcDJIV081R3F5aEFxY2xGN1NkYX1JP301eXhAfgp6aFlnMU12KjFW
O29qWng8Tm1VZHJrOV5qfiVHdHJCUmx5O2p2bmt8bEA7UkdTVVNSdDxFPyQySiVFKGNrWn5aOU4K
emg9dWViJXMjNz9wRkE5O3FkVXV0dihDZnY0NFB9PiUkU3RxY1V5KWprNz1CaCspODBeKkooWXRE
Zk1DSXcjS0x+CnpIXiVvPm0hI1dtSCV7VjlBOCNjWkk7R2gmZnAtRE1oKEFWbipZb2dQN3RNJVhl
I017djxSKFE/UEhFdGNsaXR1Mgp6YXNKJWNYWF9mTEQ0fmpKMz9GPSkhT21UezdfPn5EajtZeF5e
S3lhUytffWAoTXpBZkY+ZT5YQjwmdyp9PG51MHQKenloRmE9a31KNTM9M08kRGhYfFJkcmNRTnJq
QT03ITcjWCFGU1JSRmZpPE5VSTxYIVJ3bXUke3VzR3QqYWQkQFYpCnoqOWYpbTxsKXhVU2ZofG14
czBUMnMlazJiVykxZn0+N2M1RHJmRXdfa0IpTlR7M1pze0hvZTAoTyUqQy14dUBSTAp6IStVbn41
T0A4b2prfHU8I3V2VmBtJUR6fU0kWW4+K1p5QlEzdXtnKVVzRy17dz44RyhRO1pVNDBAMEFsK303
QmUKej5UcU17JXgjVW10dWtaeFImJCZuY3NEfnpASmpLd3pWRzhwQTFOaD9zQEFYOXZARVB0Nmgq
eEhvTkBKTGEtQWBNCnpSIWR8PlJyQT9jcWRnMjlUMShOa3NqTyl0U3piazdaem5KOFhyZ3N5Sihp
PFQ5V0AhfiZ5JmwkJFQzd3k4QjsxMAp6ZF9fVCNLQDNHV0EoMnV0WEtvJE96dEJjNVlhPGo7ZF9X
MTdReCF5bjhLSiM9ZUNPUjF5VzlCcnl3NVJFdFJOeUsKencmSD9SQFBSNFFZanw7cyE9KG9AJSR3
MG5jQSRva1lCNlVAbDNuZE5SLUlxVD9EIzlKQU1HTlBYbmFjI2EjdmZICnokSlh8OSk1Pn5RRVVN
dFhIOWJIO2gpPUMqSSlPQyhCUWAmSnczQShKU3BkSEFgQn5KSTh7RF8xaGV5ezlQKlpPMwp6am5C
Xmw7Ri08Q3tPSGs2MFJIMWtiSj8mZiY1c2BLV052R1dGTVlmZmZVb31OMGx4SCFWMSZ0ODkoVm47
anJOe1gKemo/ekZ0PGZ8e05WYiF3Z0BxSWJWPEZVMjxDI1dQfWBnclJKKlBYTEc/cHhFdEduPEZV
X3VhSXp7KUJxUT8mO2tRCnpVckpPWm43cn5tQTRPM1JzQGA8WXJKckJAXnA4TEpPPHR3dWpRNF9i
U3xjQip1MXRtXjx0Kz4hZXZhKHU1RDE7Pgp6YFlDOWQmLSgyP0JpPkE7Jj1IelMhUyo/RkcpMUI0
UU01Z1pQVShOcSEhRWttTUd3ZEp1cV91dzJDRD1jPkp6azEKenR8WFQoVmkkYWhNVHUzQXErRjgp
YHBmKnFmJlVNO2B3O2luVXJmODBoZyM0bjdBM2FqPEpka1VEVChoI05tTjk2CnphKHhgbl9vISVe
aHYmSlJKKn1FZCZjXmpNVztZNnkpUH1lOUFqa0NpRzNmfCErbGBaJCtaeUIxYnB3M2omaDZhdwp6
dm8+blY0UXsofSh6cytDQmcqODQyKjMkTW82LT1CNDNxMV9MXztkTytBPTQjZCl0a1pjeExsM0lt
O3MmUWR4RDEKems+K0BlNXE/KSZtZTFhYGkhWGQ8RlMmeHBPKUtrSkdVciR7PmFNbTdVLS1ebUs1
XiVFP3B4Q25iZTNodT5SeiNeCnpmPnEwXj1ed0hBIWd1IWEqfUhicEtsMHZMJD81d05QMVMmYV8p
PCNabGBYZjE8MjRuRXFNUl5mWTU+dSZGc0lhcQp6dUJmVzFNWTxOZj9PUmIqOVdfISR5dTZORnd3
RCluKXwwRipCYWB0K2s3bnJ+JTtTNTNAZTBTPk1gTH4+QSVhZyUKekc0Ukwkc0c4dXNySVhxNihv
c2UmOCZuLU5XXnklO0BxdDc0R3RpJTVPPl8hZCVIRUchT3lDSFJfQCQ4fjJ0RT51CnpxX1ElfS11
NjVsZVVlR193ZDRtWXNJQ35MSmcoQ0A8U31ibjZaUUxFVk10IWJETXEpYCFtRDVTa352OHgqTjRY
Pwp6Qm1ATkN1c2g5P0lZfTtBUkxPbTdkS2VmOV44MVhEZVI2JC17dD1zK2Eke1RfSTsoVy1SRlpV
VClXe2NIWmR6SVkKengrK2RJcT5mQUd8NT8qUiZocDR2OT94emIzWihYaEhSR040YyZVSDVHOyRv
VCFtTDtuYylYdDdKVCFqcTgrTkJ5Cnp2OGR2LXA0WFd+WXd+NVBMTEdSJWRaSXN+TF5sQl8wYExK
dkIyOyojPVI5bnMyX1hjST5qWVlkcVN2M1o7YDNMbgp6Zjg7Q3c0VURePUc9Uz0pS0Uxd05wQSQ+
Z2tzZGg2PTskYndXZUxKJTRWWj8/LWFTNFV1WnJmbExaSndyPWl8QigKempgUH0jS3tyJGkxc0Jp
dGczcCRaVkgjK2ZVXkhFJXdsMjx4S2ZhSjdUXjJwUHtha3FEMlZCem1IMnFvME1uQTs1Cno+Wj5S
ZW49bG14Mk54ODleZ004RWVBbEJtQkcze2wxdmshfjR4aVIwaSV7N2xvUlIlQilrZihWYzM0KEJn
X2goZAp6eTBpVSs7Jm9AX01UYC1vejU3SH1xckUlTmt+enQ3RlZOMW1FSEBEbGEhZnpvKXNgaFhI
I3Q2UEVTWCF6dUNePlcKej4qVTI/WiRfbjwrO0dnTUk5PiVCQmxZbiUkQklRMnRYTmR9bnMmKDh7
PT1gTU84djFncnt4Syp6ZEN7TTgzZkVPCnohSSRJVGdKQGtxKFhrNDw+SFQ/dl9ILWpjUmdwKyFO
IXBqeVBYNz9fdSVhbElsK3VTMT42QHlJTVR3e3VqWUp9Sgp6OU5DVyQyQVQlWldGNnFLciVsSW81
P0MxeiZrWSolUlJJRWdGKHlmYXNvfFIxREEhJiluSEBYJip0MmhkPDskbkEKelVfbTI0e2BvZmM/
SDxJKioobCpTaV9jZDAyanpSMWVRT3g5NFl1ZDxZXnJ9Qkojc3p+U0kwcjNDPCtQXkMhZmJICnoy
SHYyP2BaeF8hRHx6SmNTSi1oViMxLWYxbjZWbiVZJlVnUDM1RV8xcGhse2grN1JaMntmRk4mPX0l
TSp2WnIpeQp6byhrPGZnPmx0biQoJHJMPHB6KVM8aXxVfWw9Pzd9PiUtJXQjVUJHSjdGRj02Ulpa
azlqfl9rU05pP0w2eUNVQz4Keip6cm57M29vcTNRWStDRXxBYj0tSzRPZ2NDP0dWdF84ejlRM3k2
VSNSOCpuaWN0dD5CTWsrMmVMV3hTLThjaEBBCnpWPTlycCtCXyF8M1pwNnhVRVJJWlM0Tk9wb0tV
bV4qVTU2WXgwK0RjQVlUeHJyWDxuQERGbFFoc3R7PHBOPm1mewp6NGRmWH42fWohIV5CRWs8XlU1
b3xlRGB9VkdjY0coXz0wPjxYRj1sO0U/eFQqJT17NWpHUSFKNDhUTGRidihhQmMKeiNFIzx8OGxM
YXR4e3gycWFuYlQ3dURXSWhSbjxgPFFHPF41R2Arbzl1RHA1JSFyWC03KmwxPmd2YSZkaWJDallD
CnpRJlVAdWMlPmI5Xl90eiYhYE5eP1g2VEkjYE52RHc7Q3JDRUExQCk+eTk+OzFqZDRrLWokTGlw
YVZiQnhafDR+Pgp6NXwxQnNDZkEzQHJUdGgzOXM5bXlQOGs0P3Q/bFFUJkJMZWstaSliV1F8aU94
cXN7NGReZlFnb2Zqbig1S1pLfVEKemZYPUp6aW1gd2owd3g7NVYqZzdVQGNrZ3RSIVdIPzZueChn
JHwpaTtXNjNTJj9SQD99eDtjKllpbW9aR3YxcGg9CnpBeH0xJkNFUSQyJFRaTioyJXwkSVdVTWV8
TTQ8UjhqdHg9KU8lPDQ/UEFGLWgzUEdYWmtWK1J4cjtHZntIYG1lRwp6byNFMXByKlAtanBDZERC
cXFyKVRWUkcmNC1QfnpETlRyb3hSRWg5dFNCN0ZkI3tSfUBzMCs2ZTJ9Ti18azNgJWcKem8tbmE8
N1VkT0RJKnctOXk/ZERTTlJlJT9eZjdmPjhRVjdYUU1iJlhHTmh4MSU4NWlgYyVJS19EdXRleWpO
dStWCnp0JXFEKVpqS1k3cnJjbzNvSEZMTiNzVitNeF8lJXFZfTxQWk9zKUBlKTU/MThUaGtNJERz
eihLZGh7NH13UG5XTAp6ZSpHaSVfJT5GNSZobFFAQlhoZFFTc3N0QjgoYEo0WUNnUU9vYDFqcDIr
Xj1RLW14QkMrZHAwb1Y5REd2NCkrdlQKemIoe2VePHxXJEltWmZHPDF5XjVLTG5OI1BCaH1uQFhq
IUhOOTM5PTA9JS1BRUZfdWIzTDZhJiU9d3NQczAlY25TCno2SVB6KmdPbnR5clk7NFpQIXVJMnJT
IUZrc2Y1RloodlhPbXF8IU5UN2F9MUlKcnFZKDZ8I2o4eG5jfVEoR2lNMwp6KWRablg7T1dkfTlG
QkhwJHJOcGhiYFU9IVJEb3N0V0hMNUN7QEhkMGRXd1dZMX07OWcmUik7MEBrZEQoQzMhK1QKeihV
VCtYST1tOVBrZWdQMmx5bTNMI0NCWWU1PXw5IWIhVTBfcEBWR1JHUWh6QHFiTmNfUlJ1RjwqUlgl
ekZuamtOCnpXJTFsPD5ZODxJQmFVZXJYZXRjJUFFQ053SG83LT5URipHcGNUWTZmSHRiR3ctPHFC
aTRCRVNYK1F3fStQR1oldgp6PlR2XmQldz42ZXgjT2smbkFBTDs8UXNPS3h0WlFFSEVHcWRZWDBM
KGJBZTstJFo7Y2ZaVTZZWiFmaUtCOzwyXjsKek9sfUF+TmROSnJ4I0okNERHaDxASFJpPGBiS0Fa
biZgTnAxbHZtQkh6ZERGZzhVSGc1cCMqRU9XaHFYPGo4c2VtCnpxNkE/I3o3e3NyWGg7fDNrIVlO
M3BANUctNipgSUBNK2srWTdzRkZSTlRERyNnTTdpSnQyYSQ1V21CKmBxJVlBNwp6ZmZpRUhHITBN
czJtX2B+dWl9Xlk/SXNjcFFGSnZ2Y0JSNnkjMl5vZTQ+R3g5NldPQ31yMHBWeTs8ST5jfDZGYm4K
eldoQ017Kih+aGRHdDZVO0FMZShAYmtnM0khZ3BPaGBLaHlje2BvRmFzVXAqK21tXmU8Y3pGZHlI
LWUoM1BfIV8qCnpybEpaI3xHKkZwJXtIMiEhUy1CKWRnfDxqfEZmb3RYIXZDQk5QQm5UbHR5T0de
MlhoaSkjVjFjIWxAPHB1Q14/bgp6eE80am5gfSMtaGxsSHd7YEE2M2NvSFhAK3MmV3R6ZX5pZHU8
eGFTdG8mc09eX0ZnNzhndmFtZ25hI3J8c0FAVU8KejxFI0k5QWFKTEspJHV5c2s/O2Q0QGY8KVh5
ZWVxbTd7OD90Q2BjKUErKmNKNU81Z3dxPntjezAoaE5pWjE4Xzc9CnpRXkxCNjhIIWV0JUp3MElp
Y2tmcjl6cWNVU0g+eTI8Pig9d2JnSUNTTHhUKHI8Z2tpOWlLK3pndk18MDZgSFk3aQp6UWtYSGpr
YEcpdmdUfUA8IWBVSz1zaitCJjRYYmFUUGp+LXB1M0wwSVl3cklre3JgU0QjWWg+P2RuPEAwODw5
ZnIKens3YzxEQFpkcFNlen0rNyE2SyVxUUMqKVRvMzs3PWY5KGQ4QWVoWmJiSmpjKSVgbExQanZf
UF4pa0lNPjVHdmA+Cno0MU9fPGxuJWFVemI1SjVzKX0qRXk3RiRwbjJLX2AkNnVAYm5OWWpsRTxD
Qj9jPD9JNjtFN05LREJ5Y3c2X3I9SAp6cmh9OUdsQjU/eEY5WDdxWSotQ1lLPypabzRUR2FXJk9N
PWBZOT5PY3hOZWNvbz8hfnY0Q2dKTGhMdVpqO3FvYWcKelNYakA3bSVJN2gzKkUleEF1ZD9mJFRl
M19XJT1ARTh0VVYwLXF3cHlHfEZwcnpWP3NqRj5QdU11MlckQl5VcUxhCnpjd3t1NnI7WCh9LVlu
YFdEKE1Ae15QXnd2cmhte1BvWWJqfj15Kj14IUhISXlCeEBwQVNyMWhlWHU5Qk53P0oxJAp6JG1k
bj9KJWtvUUNAUXxNa2s1QGBXJjgwdyMoVm4mLWFHS00xanMlUmc0YmxkbHlJRWUoaTcyPmoqcXs0
TVQ3djgKekcxN2EhXmV4K1NqYVdUS0d6MDhJPW47ZS0hNn5HVyNTRkdwTXJXN0Qlaz1aWDgpb3No
eDFZejM5ZlNQeHo1YHNpCnp0ZUg9TGRPbkw1KWUjUD42ZktYQE9wKkdVN3xDI3k+I2t7SyFQJFl+
bCo/dHdxPXAmbD9QNWI+SWZvMDJpRz9kXgp6c0U/RCl5SlUrIzwoMSlKTD15YDUhUEsmJTNDejRp
U0FDRnklVHk+Zmp1WFNzYnYhJFpQQF5EcDlNOHVvPUU8ZjkKekQ3cWx0ZE9vV095aEJoYFFKUSND
MDxYIWJwZVNRakQrcXkpZGVXTzdUU08mNkMpZm1sWDQhdFJVXnhaRnRSIUFECno2R2M3P2ZiWkZP
dTB+YWIlRGw1ME5NKGtaS0QoQ057JD5lM3s+ZUByZGlWZ1RRSE4/NWUhSGZGLSNwUHlZMFdPYQp6
NUFuRmNYSTlUKylzPlMwKnNeJnU+dEIyVXEzVyNQN0g4dyZhO2g3ZmFEMGBPbW96YntJZ1RGRTV2
bzg0NXMtYiUKemgqMTxBZD15b25EMWx8Sj5sdmNiQ3V8bGB2QGtlZTdpfXpDNXtxflk1QXs9VTZV
NDxDT1RqO1pLTmJgVHN3ZiQ7Cnp1YnhwS0JpWSFZVkBwbnRGQyhRdFpwY2N7YnhXbGMwSWc4OzMj
cHRsb1U9UntyPU4lTl9gbCh+NGt7aj1SN29aXgp6ekl3O3xffnxiV141bTA4YztDd1ZTLWlOT1Up
X0hfeVk+dzhIQDgyX2p7TztRRXgwJl5BWjBea01Ub3o+XiZCRCoKemphT2NJaDR0JiM7YHMob0tW
TStpSn05ZWhLfmJZRFVzQT1BYEV8Nm0jUTVfTSYqRXBsWmJLfip6dk8yUDN+SiRfCno4WUxxSWYj
cD9Gb0E5WUJ2cik3ZCFuNFF+RVFVdU5sNXZ4Y28oenVDXz9yNnMxbTR8e0N1RFZKRVpYSlJLRVd8
Kgp6P35mbDAmaDtoSV9zMW9APWVnR0xtMSYrJkF5QEZiTSo3O0FlZVJXTGRZSFdCVmZzRmI4cDhD
YHtQLXVvPVpGOCgKelBpbjtFTjhld2BiPVMxPXVpeElyY21Iei1Ad2g9JVdmV2ZxYG5PYS12d1ho
JTR+d1gpamooJnlFO2cpeDBveVRvCno9KGt4OGNqe0RCT3tUME8lQm1+dFh7ZHx4Jik/bGFaRlBo
ZDd1MiFoezA3ITs4YkgtbEx9QHthNU1ZRTxUdnM5bAp6c0goKXZgQW5VblFCIVdBPXcpQ1hDNl5m
P1F9RDFJTiNDJUFyPFQzdCpxYUh3YkM1b1BUQjlmK1VMKkZYNm42dUgKelFsN3xUaG9weitkKmhQ
Y3ZrUGdDPmxHVHtxO2xUajFOKE0hO1oyUTFzJU1lU2o4STxkcVgtU35Ye3Fke3JvSWwlCnpENjsz
a0RCcnVgMzB+Z1pNe3tHRz5lP2AlQVlfbzREeDNIQyExYitNY2w5ST05WCFCYD56P0NpazdPaGhY
OEE/YQp6Xzs1b3IpcysjPm53QDBwP2gkX1d0SFVVWSFvZWRzNHN7LSlFTV5pODh7PlhqcChyUlNo
PU4zQDU/engtJXJ0SHgKeiE7QzREMiRefSVCUzxHdFNNTFojMmR0dGAqSSpHQClvYCsoY0xNS3Yk
UCQtMSRzPT18WTZCJkd8SyNAQEJwbVJACno0Y1RJVHFeRVMycSpTJSs5YDwofUpnYD8lPzVEMS1m
JlBJKEBHSnR8JGwmYSRFeylYPXQ8eUFxdiE7dUlSRlV9JAp6WXBIS2Nwc0c0VCl6RVl1I31tdylS
P2FgJWJgSEhnb3hKZTtHd2VPJl42MFpKRllrPTdWVyZ4WGQ0d0NUWD1jaSMKejc+NXEkODZBYUMp
Rjc1SGk5fTZgNjc7WitWUUE9dmhIaCMmbVdFdnJYcXR2M003Ql55RypRRjNYTXhae0NfPX17Cnpf
dFZ9cmdyVyNXXkRjdjw1K21PN2g3Yjc4KXk+P3d5N2AyQ3BaaWM5bW9IOV5BMFBZdE0pak9keHZI
ZWJjVzxBPAp6dGRgVEM7PWclaTZgJVhpbn5OYmp6TWE9PV5Rfk9aOX54cTghYnUyOVVKWGhLfEFL
djVYO2Ewa0l6fEJCYk1aVkUKekRUOCQhZy1tfTM7ODV4PTB3OGFUeSQ5UjYyRDxqV05Za3V+PkZ5
aUJ3UjhCY2d8OClQczdQYDRqMGdvUU9kX3NRCnpRPUs0VzhZcnJZcyV2UHZoTjViT0FfaWFueTlN
QTRAdGZafiZXb0VmSmhNP0Y2cWBYVC1hc2JuQCRoZVo9PFh7Wgp6QzF7JDRUaHojPXBsQWk4SGNi
T2YoQC1ASFVESHM3TXpKNz5NTkM0Yk4rPX1wNl5GQj9EQD5fKDVvUWZ8MSV+Pk0KemE9Mj8wKC04
RUgqdGx2ck0hZmw/MlhaUEBDQUhUaT9BUHUmJTJPTlAtVkV3SEw4YCZEJWRPdSQlLSlXNy10VF84
CnpraUwmPT1XJCZKZ2hZQkNwNjhFbXpWRzM/OT07bnlAJW87SjZvS29+YnUzKVJMUHtVa3ZHSDZk
RmxNRkNOWjs7Iwp6MWFVVm1sPkMrPjhLPUUtUH0jUXIqQHJIXz5nSztFQDJDdDg0QTdMIXFRX2hD
b0JeJl9KaT99ZndmT2lMU2BrLXsKejF1ZDBVS0lNSHJgXmcjMW4rWlItPVYyY0Q/RW5MI2J0S0RN
KFR5LXRgYjQ4OW9qbz0kWjVyVyZTSms3YkR3P2swCnpkSUMycUZoZVM0U2Q/NSozSk1DWTN1Uj9H
UShHYiZKWmgwb0FIaF41bW8xLTRHfkFCfWx+V3dxJEhEITM4T3IhWAp6Qk58O3BIZnEmMExiMipv
S0hPSmhaJTJYYUV+O1M1e3YzbnA2UX1wP1Q7MHNOP1Z+KWtGLT11Y1dBJjtVVDUzJT8KemBpZkt+
YilNZHM4dClYJXdJK0EyWmwpQCF2MU5hYntHJSZ9MDAwdylOa2w8WmRtaWx7bShaWDRQI3VHNW0l
QVQwCno3Rn5KV01NM0RwISFIQ3VaM3x+YXhvbU5neVoqY1RxLSVfcmYtbHxES3VmTDNWQXwhTE5C
aW1NRHt9TTdEZ2Y/WAp6R2RPO3xQajVgSV9lZzt8UzJ1SV8xSEJCVW9mR1BzKWU+ZylzdjA2OEt9
WCstendpNkc1N211IygxJXxiZSVsQFgKeiV8WVYoOT00PDZkbkglPUAkKVE3Sz04bW00WUl4WnpD
YEdQTGU/aV9kYm9+KlpDaU01YUw+Tik3Q1FHbHh0Q3p8CnpsblcoRT9AS2NNcXc/QTNvX2h8cCpo
ZndDUz91MXxoSHN+WCswSmtTR3dUT2dHRGt6bTZwQW97TUo3VCtSVyp2WAp6IW1fMXhlRHR+cz8p
bUJDe1FTV0lRcX5sej5nSGdecTZsNH1oQlVPV2g3bUQmPUgoT3glUj4qVGg+KFZBPXhDO2YKekZJ
NjtFTChfRDBPfld2QkpXcip2QjgyMHM2Zjg7SkRQekllXig+czhNdVojaWVWMShpOXlhZWZmKUZh
QkloU0o1CnohPkY4KFd9S2RNLU1ULT0taWB2UlNIMW8hcjdARDtgcHZeVXtLQ2pkJDdpKkt4JWNU
bz8pdlg7N1M0IUxtRElUVgp6Zm5FVWFleFI0SC1FKDM5K304YSRFPDhJdnsoWnJXQ3xtZEVQVDYp
PFFmSitjNDdZeXNGblA9NHZlUXRkVUpJKk4Keikkc0pqNnR7bCFAQ29oQlk2Jnh8Q0N1MEVJbSlm
eUpwOUtjeWN9fmdkYmwhelJnPyhETT1DUGRndjFCQChyMmtpCnpQJGFKRlE3bWU+b3tFJHtqJE9j
WWo/ST9tKTdAS3Imbl4teUJDKzleNlZ3XlokbWUkKz08REE0KHZ2Siljck49Ngp6ND1fQn5nSi04
T2wyY0hIJnhiRFJCYkkyIV49eVF5cXc1O0o2eDI3d2BUTV9ZO2declIkUFhYckx5NjMkcyZPV0kK
eiM2VUd2Ujh2SldHPSEhU2lzYGc8K3c1LTNsWG4jS2tkQUtYMnUoKi1iI3l+UkR7WlEjViV2aHdL
OTcjaEF3MXQ5CnpaZjNkWntaVyNNMnhfUGpGVm4lRT9keGdsRX0oMEhZTkpKS2lQVzYpcmFVK0lL
MFFjRnRAKmxvYE5BMWRvLVBxIwp6WiUyV0FAeDxCUXIjR2c4e2lWMl9zXnNmdVRrR2c2R01JTThK
SUtOclFQJURfYz9sc3ZNfUx2RStrPDI0YzRUTyYKekhCYkJBano+JGFOaEJvMyt1M3ApPXt4JDE0
NW5SSHVjfHBNYHtZYlFtVkUySj1pKWdJcjJ4cio9clVMfTdpMlJGCnplJjR7Q2F5LUQ7YnRScj48
MnByKGcmZEE7am5fTUhXV3pjRiFzajZQMzh5aHVfXkdWQnpjKGVIZGY9aFFYe24xNgp6aWs3aT8r
YUExcFp4SG9aSzlgb1ZlbT01ZDVKaXQrbiFUNzI0PXJNSCtiNWcme21YbSFrRHZEdEUxeUZ9WjdW
YG0KemdINVFWUTkoeWw0Tk9CUHBNIWh2P2A3YktNVyl8RjVofEswQFRFWGVSZGhvfEgjNz5pITFG
V3xNYTZMaWUoP3g1CnpVTmUpa1N7KlBPQFNQbH5xdzg2X2VnfmRaODcrN2VpYXZWZlZxI15kcl9Z
YUpGenhkMjMmVUt0eGE8d2RkTTJAVAp6ZX50dytxNTxLelhVSlBgOTV4WCMtP3woMl8wRyooSzN9
YCVDfG1kRVNULSopdH4maU9wZU8+Tj5QWUVoeThzZWoKekBqI0klaVhTVytefUp3e0pgbmlmSnQ+
aitjJUZ3LUVNVkttcWBkMUMyOU5BYGNwRVNaNnZrRmc5c2RNSWBfdWtJCnomdT94WSs0MElJJlJh
Qi1qa3xqMllUSmRFPiVAI1ZwaFRLakZ9SXRgN3lBQCNtQXRLVCheV09KY1hufiNxWFJUSQp6JV47
ZW5NK2dOPypVKz47UlomJDlwJDVpanU/V0xRMy1vanAkJkdyZlQlNj80dTYhXk8ybzw0ZiEzZzUz
Nm1rI18KenhvRH4rcEhGZWd2YWBBUnliT3ZfZnVmcSZMcCN+PHtCUExibk1XMFpmZXs8a2oxejZU
N3xvMmw9P0RNUiN4KGgmCnpQZ1V+TjZJdmE4TUhiOG1WbXZPSzdrfHhpciRTWlBzbXJlMmt6d0pD
RDloJDBVUUBNIVZBTDNzP2g5cl8qP1N9fgp6UTFlQjl5elpNPFI9d2RoYkBUXjF7RnF2RysyWFIz
JH4/NigmNmZRK1Q1QTY9WCtYazhtZDQwRjhsd0FYUFY2SGcKel9NO1d8NjFGIUl3bGAyND9aVURI
JnhgY15RVSlgTEVKWTxxcjhGfCYxdFdtdFFmS1ZJJGlHT34qLWtfYExROG9FCnpsWntgbXttY2pL
biphTkFsckxKeXhNNmVyNlM5WGg/dnsjfWBzZmV1ZkFRbUFgU2ZCRXVgb30qdSFFMSl4MWRFRQp6
Mi1uUH5JSXh3RUVOZGd7RT9fVjwhdGhXcFlxdCRDd1BpQihiIURgNzYmTShAa3RoaEVsbWd7fmkz
VXdtKnRhWGsKenRqVGUxYCVFKWBfbXg5TEo2eVZaVHFlemlXTXgybi1CaWl1ZTVCQSYrLUB2TzxH
aDhue1ExPW1reXNLWFJFMyp2Cno9Z19BNmQzeDwkUjg0MGY8JmQqSDsqJjJSU3YmaEpQZkZlVV54
JGl7MmslYG8jT2hUd2VFMFMjYm8zUVpPRFk0Ygp6LUphcCpsfnBYNTUjYD5lUG1KLTtUWWlhUD1J
ZVN8QHxNVHlSVygjNEg5R289SmlJbkFlJUVhdXJSQjBKekkqIT0KeileNSs3V1FkPCFrSSVocDJE
eTE8NzF2ITxhWUNFM1RFZ1NecDB8QU5kOT9xdT8oZlpfQ2VxR2x1bFFIWXUjUDdACnpCQjMwTDBs
S2dlaFVDVEg9UXpeWWpPWTQrUn13JiFXQCRZQDFWKmclIUVwdFpIN2Eqfj5gNXg/MWRnTlBORFok
Ygp6ZF9eaU5CbEAlfSg/azdGSE8/UD5abWopUmQtZndgRj5RSDZoNCFESHppRTFOZVl3aGlLWHNI
Vm1lJXE5WWk9YWsKemQ/e01BaEdPM2FHQzdZMngxRyVzJm1CUyFIKTJMQnNqQ2o1WF9Cczk4PSlW
WUk4YUo2dEN9ajx3cWNZKStUKHhVCnotcG1EeVZ8NGYwZUM4azhuTEltMmVXT1d2bk0hM0BwMXVL
dGstOzwpZyhiNVRSJHJHTzdNNiU7QmMzJShANzVvMgp6Ji1jRT0tcChTOUNwcHcqQTxiJVBtd2NK
KD03b1JvPzhSZFF4JSt8TXg5dHtPeXtkK3plWkBicnJ7dFozRGpjUmEKeko7cTwmUWoyTCtBK2ZQ
LTV2VmRLNiFMPWg5cVZ3dGMxJkZqNjFJKz85ZWZnc2tNekx2UjNeN3hOSlZvNUFeY0s0Cno0aD1C
elEwWTRTPGx4MilrQUxpQUEwQiNneSF9XlFrODlhfUs0UGxNIUswYXJFPDhJU2U1dFQkJmskdXNp
dSYzcgp6XmpIJlM8IW0mNm19IStBI0ghfWQtVX4lMWdYZFl+OVRsTzRRQntFPU8ySzE3TGxGV14z
LXREYlo0UX43JiN4WCYKekdqQ1J1d3Ipc1BLczJJYW08RVBjV1ZvKmIpQ2dDZUMlRVBFNVlkUT1o
JjNhZjlPKGxPYk5eNU9qamFiVkNfPlFECnpVJkx9SEB1QGRjR2olei1AI2E7Vik0fUQ3bGlkRTEy
Q2hFOG9UWVBPSmhkXit5NE5yflBadzI1amdNWWQjWFhQcAp6PEdCQjR7NyRyI0R1YnpNOU5Ne183
NHRXc0UxZXVWSUs7P01DcW59ViRQVm5vbXVWRkk7fSVOISRSTlp2MilVNloKekhPS2NFJjM0ayRk
NUZJNXFqWXUqVnQ4RnZSZVlheldiZH1qPVJXdUItK3RxK3BAKXlwVnRsSD0xfTl0YWhmU1VPCnpf
UCprKjMoaVYxRnpUYEEmO2FIN0ZmfSFtWHQ1XjNtMiopUW16bVdeWGw7JSRWJTU+dC07WEN2R31Y
cnQ3TWRvSQp6Tnw9IURxaVlKRHVhUVY8SUY4RGM8fWo3ejJFVGhMan5Yezx0bj1gbEgwZ0FuZUJO
UGRPT2poSWkqbV80aSVgNTAKekhCdHZvaj9zZTteUSlpeUd0WGA3MmNhPkxhdWBsSz1yemx6S2tH
JiFAIURoMm5QKFY+eHtFeWlRZmhxTGNMcFlZCnpAPHBHPVVyUE5TTC09dGhnMkJ2R2pfbGRYdmFe
UFhzQ29NT0M3ellSYk15RmtyVDE5K158aTYhRzZLeSg1KWpfXgp6VHxDIURhY3UwT1BSIThVKjtC
R3dYSXNZcDteJHchXkVZYi1lazckbFZhM20+TmJnRkM/WU9lZl94LXUpb0w0dXEKeklsXiQoPVJr
V081d0RCZCR+YW9JaiFAKys2dGokNHZ5JWw9MkMxdT9MXnxWPCRfUkAyS0JSfnM2cDVpKTIqdHh3
CnpxRylvMmhJKV93T3FmdHVWZXo1fSs1OW0xeW58fkVGe1AhRV9iLTdEVHAoJHclNDMjSUxse1k8
b3VZcnxGWnNtfQp6eytae3ReZG5UQWsmSHVzJTB8U2RROUpMR0ImKDtQWVZWQzRqMXZHdykjKiU0
Q29eej5eVW84Nk9wWDN3Mns8NFcKejZlVnk9MkpURzgkdUZmVzEobz9JcjlSPWZJPy02QVQoVXJs
KVFEOFJAYTJ1KXtwRioqLXZWOzQmUTw/Zj45ZE5xCnpFQXlAXmRvOX5OJDhqakh1UWJUbjNpfVdE
PEIjc0FDTWh0Wm1GViMlXnlFfWJUYCgheCZaNE9XcmNhNnlqaEVwIwp6VT1AcXh2WkVCN0Q4KzBT
I2lFYUd5UW1ffHY/Jm9qXjhSd1ZkaD92IXMmb0ElNnw2ZFVoYEclKztZMmxodksyK3EKekBVbitG
QGNpQlU7UU0jOFg8ciYkKkJRLXc0Mj9SdFNgRm9NSzFFZzJkPC0pLTVuJVFuZ1F8dHQtYHhWKXkp
MFUrCnpWK2Z0VEFzYmNvT1ZTKHwzb3xaRlU8Sk48dU1+c2tCYytPfFNJUSp8T3pGNSVlRE87Z2ZC
Q34td0F+MnxPRFJ1VQp6P0VIRVIoU2I9LTMzWColaDUzSXFSKTszRilFTXtASmxBOCs8UzNXRD8t
SGdpe3hJUiViSjQ8O05hXjlgZGhse2IKenUmbzA1cVFQSjsmZH52fGx7IyFZa0stOT1oUUpVT0g1
RGNeQyNtUnUzWEtBV1hARlVhNzcxb1hXcFM4SD1VU2ZzCnomRyZpbWk1RSViMSV7enY2QEJ7Q0hX
e35xI0g+R351NX1zVlNUJX42MnFTKkMhfWxDfiZrMTdQJDdXJXJrRFdmaQp6VSl9SG1ANEt2O0JN
MC1lYnEhI3NaamoyT3F8NCpgXzxtNDYoMFV8TjNVc1lmRT9IUEVPflYmb3tOZjhRe09mbUsKemBB
NDlRVV94cHZ5MyF9YCl3XiNiN0RLPzRpbnd9bFE/PmNHQHJYOUZxMCVINCo2QDlnYyp0a3p5aClz
WUBsYGE9CnplTHFJITlFMWAwZVdoPlg2XjQ9YTIpO2R2QjglZio5N1J6PChlTT13UGw9KzNsQmw2
XzZjTUN4XlF9UCZlY1Jkbgp6QH4/VTl2QiVrZGFGfXA3akdgek1pWE1ZMGhmISpZd3RqP34kPiRN
QylKYGxHZDU9Syk5KEZOe1R9YjBQN1FXe3EKenthX1dpR3JFSStga1FfaFQrbUdXeyRWO2dkKGxs
NyZ6QUBTcEZPM3g4fGVwcmR8aipkN3RnT0g4ZHQ+RXtfKGozCnpVO2xxTS0wbDE5QSY5a2MydHA0
PWZrN1pBclN3aW03WUc0VTU+YSlAcSNFLXRiV0pSKU5hJDIwYmFZazBhYX02bwp6dTt7R0dvT3xB
S0NlMnd2dG9DZH54Q1hSU2N+TVRXI05CdUJvbClGdTdwYm84P0FgaSUpfiRQaS1HPkhIUkQpPHAK
eiRNR2JFcUVHanJNT3ZMankhQVJOOF95dzxzR0FgQ2RqK0xYVW54QzIqUVNfSFZkYUtPPGFoOHI3
dURMei1Uek9CCnpOd1hUK3YlUU8rekhVT01pfVhSM1F2NH0wU1NYPz9tRn5pR0NXJmFkRGdOX1k+
dzNUTnprZEd7JWtzQVpTcHVAQgp6ZmdXSShwYVhjNik+KWtuT2toJlQ1TkVhMjcjfDIzO3lQMVQ8
Q1JJQmNxcXMkPiRvb1FrazdRSEIockREV2NzWUwKenNBLS08eW1BVT10UDw2VHAkSHZOa2lMdVc2
PnpPbDNad21gMmlvWHYtXzU/Z3lFdTYwMm0+aCMoPT49ajM9eyRSCnpnM247dT1JRF5ac0pWIUVe
UTkhS3J4SzE9QlBRMHN6SzBNKlFBKkZuRTIlbFFtNyRPd3E+dnJKRGR1cFVCR3IqWQp6e1ArajZz
SCg0SiVjZXQmakM1az9eNFJofS07KkomJSRqcjdiUiU5RlMwRE5CNGU4SChfQlJpWFd9S1lfRCRO
a2sKejFAeDdeVExodVM0c2NxTWVoZk5MNEB8OHEqVXpzXlhnNnFAU1FzJT8lMz5QUFBfVUwmYGFi
dmBBO1lJRVpjPFliCnpyTHNJcEJ3bUpUaEVhc1RiNnhDV2p6VFdRTklGakBUZnA7TmJsbzVzR2xA
az84UHhJfnkoMmI8ZGtZKkx0LSo+ZQp6QjNlQ3thSiZ2OW9TYXcrXz98Oyk/Vyp0TGN7Wkx+I0J+
YUlqKWhhcVZyMiY/PTExX3tCNkJCP0BTYDdKTEBaZygKem1Xe2dATip6VTRSZkxrYU9mNnkwbzs1
IWJ0dHIhOWRVQVhJNkNjMCNzb251PUZNKHR+TE99UlkwPlkwNG5efXw9CnpsRHRgMGhYUGFwRXhN
Km1aPlpFU0R2TjA9SEM0PXRnO2tPZmpkKD1HRyptUEpMSypXRTE9R296MDhMV30+NEsxewp6NSh7
Z0BxYjlNaVBDTyNlSEclRThecnN4IWRuXncxNmdXSlRVX19hVG1ZaGk+KFNSQVBFUUpoRGN4bTI/
Mm5eVzMKenp3V3k+b0A/UWBNTGZzQ2IxbSNibnFxIzRWdCQwPmkhSHdVeShgZXYyJTkhK2F4JlJ7
YEgpZDVyJWhpSHQ3QHYmCnpfSDgtZis7cWJhVXViSmpadihvNDRneXNzM3VIPiQ3fnlUZWxUeUFg
UWpzQEEyJmVeYE9rSjUkUT80JjZpKSFiYAp6IXxJJF5NMmpiKThpfXc8QkJCd0dzPkRKbihYZEs5
cTduQFc7dD50Z0ZiRWtjTE97azZqQXJ3NjU5RGQ8RGJVdkEKemRZIyNGbkhBR0M1dUhwcFVXWGEy
S28yRCopUntqNDFacypic2t1JnheYVdnfWZOS308VCNMZUpVb0pEYUtYYiFYCnpPODgmeXo5bmZ9
cDRfbypUZHVDTCQqaUIkcVcyeF9AVUZrXmQrVEBaOXtlNTlObm9nc21iUF4xZjFXX0NAaEF9PAp6
LWshS3IyJEV2ZjA9MjQ4Pkp0JCRyODEkPGpmVGJhXjArPVpZPjB8UEw8PVdsOG5LV3tCJX41SDEq
JVorZUpERFQKek94fEg9dnspRU9kRmllfXRBQjlSP0h4PXhKdzthejhsanx7c0ZgNl9IcU5oQkhQ
Y2xUTU1NJH1aQGxuejBgQ0ZICnpGeyFVKVElQWN6eDJTbElXdSpGYzRgem5qM3l6Z2gwWnJGTT9O
YDNDe0d1Oz5eYGxqfEswO0YmPV52M0Z6MlY+Mgp6Si1mRSFSfE5YfEQzQWgxTzg+SlFeV0tiO2VH
RzR6XmtlbFghQ1l8fEM8aUttM1pZUDtZb2FvMlAqV0R5PnZVQnEKejFIemlYUjBOdElFT3soU0RS
WUlRT3I+JmV6aCVuLSZ6QzEkWS10ayZfSnFtX0R9KlFYbj9EaFpyOHk3O0A3TiZGCnpCKnIhKzl1
LXlwQH52eGN7Pldja1V1Jmxge1BteElAM3t3bHozVWVRPlB3bkglOCEmams0dHk/OGFXLWBIdEEy
Twp6T2k/c340aUUocksmPHFBRVVsViQrKVgraF5QYFIjOD0yQil6ZnsmWj9qYVopQm1RYGJ3aDg9
NnokYU0wRGhifVAKekxoJH0wS3BZNncpcklETWAjVSVPKSVxOVArcklVMEZXa2QxcTdScTBHMlB0
LXs4dmwmPDhla3dlP3JCPDIldkl8Cno+fDtHeURjeihgQWp3XmhyRHIlKnJETnchTmN1bHJqTG4k
SjxHIWx8IVkpYlJKVn08OT4oZ15OQ3ZEcXdiNDtCWAp6PChQS3h4P35ATmF2RWorcCFoPllMezh3
bmYhRT8rPXxfKU1mO3Bsd2lFantlMiNhR3shNzI2aipUViRxQy05RXEKekcmQlo1cGVjLUwzPXBX
cVo8XzRtYi12VDJwVEdwKDIrQT9aSUcpSmh0Jm57VHwzQmhAa2JSdUttV2NvVzAwMm92CkpQREhM
a1YxbkNQey0qIXsKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvcmVzb3VyY2VzL2Fub3RoZXJJbWFnZS5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL2Fub3RoZXJJbWFnZS5wbmcKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkMWEwZTZjM2Y2NWY3YmVlZWIzOWI5NTllMGRiNDlmZjdk
OTM5ZjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTMyNTkKemNtVjsrR2M/U0pQ
KTxoOzNLfExrMDAwZTFOSkxUcTAwNnhKMDAyUDwxXkBzNmdvbVk0MDAxQldOa2w8WmMlMUZNCnpk
Ni0+UW1IKylZYCVISmZIUDJOXkRzdXVNMTQpMkRBUShVKDQycXpMK1M7Kyh3bjRqX3cpT1Mqdmxh
VUJlZiNCWQp6VFUlK0wqMHluT3U+b2F9S19KU01LKiZ0eXV+TW5qSmw8UChJYD5UYntvfnhLQnFU
dDlEQiFRWSZ2VUJvSiFoWjIKeiYreSVBdWVKOHQ+bmZaPCV4KCEre1B8VXJ7dyFqNmItRV4lcHsl
ZUVjY21ZRWFkJkYtJmNucjFvK0c2XmxiMH1vCnozQWBiK0dnVlBWTE0hfEg0VUBtfCNEP0tyUGo0
RTB6O1MoaFc9bk1YdD1IOWxhZXJzLStmYVAqT3RtJEUzQWBQZwp6RzE2YlVwek8tU0otT143Pi12
NUk2b0tybiFgV1J3YyteKkpkMCktUG9fIUBkTEhZXjJFQVc7e3w3eH01YFV8U1YKejVtV1cwbCFI
fUN6M2pzKW57R2VhbFRGb0RNJmQjPEMpQWg7eWxiR20pZX5QJDt6VSVOYW1UMFVlV2tOXmJqe3Eh
CnpxMDJ2Yi1QTn5yOXpEI3ktQ0tMVntqMDlPKj9PU3hDPEBBUFpUZCp1WSpFXjg8TjdCc2ZqNW1h
TXRWaDJRfn1mZQp6KkRYei1jO0F4ZHpuKmQ0JEk2VSZKd3NpKXlqO1FFciVEVHlwZzlRd3Vqbzda
O1gpPW9HO3J3MVZCNXxFb20qYm4KekhAdDFqIVRnPzRPWGxDK1pCMVlUdVo9VDhgbW5BaiVnJX17
VHteR2oxMXFuJV9LSFF6S1I3UjV6ZmUoQntkRnBeCnohTEBMJDUhYEd5LXNuTXd5N20tfjlOTkN+
eHRJNHB4I3Mxck43bkFuWn1OTzVeckFtdXljMjVnK2FpNjtSUCt4bAp6dWZHMUgqRFVfYTF4cWhv
VWZwX3VwO24qJnMqKm1RbUJPYEJfKVo+PnByfE9TaU98RG5wLUwyME1eT2FRRWw/YWUKemZIU3oy
IU0xZ1VPYEE5Vz8ldDtrZWdCQ0s9X2YxKUA5b3t7MW0yQiFQbXpBcigmUURsZVJTIVVtdEs3QiNx
cjZQCnpwKGJhUGohNWooVlhXYzNXT314Zk8/Nj5xMX1Xc3ljJUJjNnolJmh2YTF0fEdNTDFxZkN7
fUApWGh4MEhVP2lIKwp6ajV1eSNrYkt0KmoyPlJZaDgtUWR3Jm1YVSNNI1J+ZEVnQSlfWE9VQnVw
Tm8oJDwwRkg7R2JSSG5FcGV4XlFLOFoKenhrbDd+QG5mXl55I0JndFM2OXh5UTVlPHAwUl52XkJI
eSEtcHw8RGdacmpTP19JQ1JFTjV+WGhKUmdLPXFHfkZOCnpxTSN9Tzk9ZWMzISNaVzw2Kk0kOVF7
VGA/QnZGU1J0c3p0fmdLK2c2VHgqekkrdkReZV8mdntlJkxKfU1RJChXNAp6R3lXaFpAWG4ofGRW
flY1Q3AlbkVLSWVNIUwwYChwSzZtNCFHdkBHa1E+NEZxVmY1MGtlZGRDSEtsYEdPJnlHeDkKemcm
SG8kdnEjQnl6ZkFZOy0/RHg0Myt5Pj9nc2RmfnM7cj5DdjR5KFk4dE4pZGo4RmByPV9wOGkmJlA4
dGlpSUAyCnpMbHkmbFQ/YE5QQlIhaz8rRGZMandvK0RKaTNwVnV0eUBVRVphJjQtMGFBTShWOGlZ
ZGVOfSU9P1dCMlU+S1JQbgp6VTRrKnZEKzspLWtLOyp2QTNSXkNpPyh+OD88LSZiKGtFSXctZmxh
bVA1TXQ9UmBLYUN8Sjd5UllCPXtWVzA5dGQKelFHfCo7dlh8YW5rRmZzUDJpZzN9MFYxKDc9RkZN
UiU7fVM8RDJvI3xUeW9oUSp9T3c4WXZETFBRWXQ4bHolVyVwCnpWVXpOdGlKPVIhMTw3RTRBTnZq
K1d1VUs8K1ZUKUhyJSVCJjFnPU9ASj9rM2NXaTxAI3t8JFMwWSt7cjVESD47QQp6eyZ3JHcwYERV
REc5YVc3M2E7bTRJfStjUUlHKTZIZVNDQFNgYC04TXFJS3NUcEUtTnp0K3NQb3IybWBpRTVDVUEK
enI/MCVMYT1+cHg4PHJ5NzB7UHlKWjJqR1RAJH1QQUE9TjE3Rkl+aX1zWkImZjl3V21lYlF+UkdT
OV5ye09EfHllCnpwJn1oITdLJDFOTWFPcU5CelpJP1BuWiFCUUh5RGY0JTFzPkJva288aGpaLVNk
eClPU0hse1R0WHMkMTNVfSUpWQp6cX4pfXBidXB0eVV1NTY1WFpUSTtobCNnZGAmUkZMMGBEPj8z
VFVjPXU4R3FCVT5oMyYjdnI4fV4qcndgJDVYIVgKelBrJVo2T3srYWBOY3p1VFF9TTtXVFljR0dS
cDxVS3ZCdlo4P0tERk5lI19HamUyYzkrNGw7bEtlM21ZbEt7Tno/Cnp5Kjw0QU5gZHhONkVaVEZg
c1AqXkU7JFJeYzFSQ3JENmZvUzclR2t9YWE8MllAZmtASz5GcFklX3ZtND1MeC04cwp6RnUtfXxn
bFRSeyg5QFM7JWpTKH1ldX1lYSlZOTJBZkBlMGRecGZreTVBSXw0KUBTKn07aFdKS3U2KG9pSiVN
KkkKejZoS3VLcTlLKU5TUzQoIz0kZTl9RDBxSEFlJXRaTTdvNEBqMUR6bEk7bnkhOGMoZTd0Q1Rf
ZWlgS2Y9cD9aVz9SCnpTby0lT0Y/amBFVlN1amZ6dmlLemVTXlZLaGJ2WXJybHFrOEQ/NytiVFN3
Vj9iVUhRREVASk15blVwMD52VDJLPQp6Um0zWFRSOCVNTTkxa0h0SCp8YkpSUnZPbHVCak5OVjZk
O2lvKmY1aStxO2M5bFhgam8jUihGTDdASWNqcWBRNFAKeml7e2pFdzBESTVqS083Qi1oaUR0I01a
NXdgRX56aUczJURTPCVjfGhjUHx0TE9rRUkqWGU2UTxueVRRc2w3ajh3CnpJMSh3bnU2JDxyK1Y2
ayRxQWpPZz1XODhVSFlhQDFIJEhkSFc3OTZZRW5ZZUlxcXc7cWomOGt8Mlk+ITtKUTNySAp6T1A1
ZD9ocHo1Xjl7N0VmYUxmQnl2fTdVaW4xUz4/KCY7P2FIQSY4MEplNGkkND1fQkVMamtmR2k7QnVQ
UWM+X3EKeiVffEJSTFAwMUJ4fmBHNEVTX0pwbGl7OT9lREhtZU1HSTs8YUctPGpUaF81flcoRG5D
RGNicnhLNnZkRldDamtmCnpldFIjIWNtRnFgdlotKFhETm8+QzM4NSZNaDlEWU5GKkY2JmxsVCZs
O1FNfHFwRyR4STJWY0c1QSRifihmQXYmNQp6c31nR0VvcXNtelM3KTdmZU4qK2tQdktjWmJaeHRy
TX1LKVlzdUFiP0Q7QUxtZDJIRjwlYGN5QVd5U0AhRm58NkcKekd+dG9ZSX4wcDlnOUFBVjFxVFZ0
S2V2QG8qcjJPQk8pOGJnRyZIMUNASTQ+amxTb2hFSVViSlZWY1EtRzNSOT1vCnpxWiY7LXpOVmpp
Yzk7diNZYSYrTyNJX3hLbkE9KnhYZVAmb1oza0Y1WiN0JE5BPVJeb0FAYyZuPiYqZ0I7NWBjbwp6
eFNwaEZgIzcjZEQxbmdsck5venRwJE94SHZ6RmV0YC1BVkJ2aFIqTj9zIzN8cEcwfkV4YjUyTmY0
eVNHOztaVHgKei0tWnd4ZUxMXnRuTWJ+bDwocGkzKFllR3o0bGl5VjxpU2t+eGIoVWtzSUd7VCZz
aHtMN3VXSWU5Rko3R0srJHA7Cno5bSV0MlJ+UGRhTyRLMV4mVGhnWDExWjZFSmlKblEqWSRCNjRe
PTN7NUBEPklMc2Vhcm5ue3kqYHNvZipzUyViZgp6c1V1JDJ6Xj5ncFN2YVNHMTA5MUw/JnhSMXRY
ZFNTZzlGX2pCcXY7JWY2OTsmZF9TMVU0TU1wQko+UWU0bmpYMSEKel40dSQpYHx3cT5KNzE2WkN5
ez5YdG1xfUhTNTVsbilUTihQcWppZkkrV1JaRUtKeWNMMjZIVUM7OU0lPXU8NGFTCno5Xk52YTNz
K3VBQkJFbURaSGgkPyRNdnVzQUozRUkzb2F1PVMoO2xhWCtKVz17KFhKO3UxfGt8bVFjak5iJUxe
dgp6P2N1bVN3JlVadkszMzV+Mm45MTdXXm1NQF59eEBtbmJGODJZbT5ONjd0MG5tcCZCdWM5XlMq
RXhoKmBtPT9EcncKelF5VzVmPjN0azNvUSlvP3s2andYY01MVjwxfWhkLUZyeXtQey1iflJuN2x1
QmQjNEt0Y3opbytocnJiLUMzcnJYCnpZUSEjIWxyYE17PjY9JCU/enJRUVE9V2Y5SmJsO0BgbkJo
bWVZTDZlWSRNaW1LSSEofmI5bjFSYm9DQ2ZYdSQlaQp6JU9lfjwrezNTNG4jfG5BJVRhdVh6Q0lo
TkM8cjg9QVFjNF4xeXhaSDJvQVJtcUd9b3lSU0JNWnt0JTdMPClyZzIKek5LbGF8S0kxKFcxciNZ
NiZHO0F6aT1+XnMjaSVzTW9xSDNQVXk8Z0tNKygkZV58MVc+blBrKDBXVjEpUDsoe3NzCno+VVJn
SlAxZSY/PX5JMj0qSkxaYyRtd2B2WigzUTtsPXw+VmB9Oz8xY0N9Xkx1PUBgLTZhSlBeVTJic0cl
NmI0RQp6VUg3SU83Vm5Bbi1WQ0chJE1YUyFxN2JNI0p8TUtGPTl3JTA+bX1+RTl3P21aVHlneERi
RWllI0tXfCNhQn5gNSMKejxLemJEK3d+eFFvZDs9YlleSmBrblMzdElGVjtqISlMbGViUWpwMkhX
TzVHcXloQXFjbEY3U2RhfUk/fTV5eEB+CnpoWWcxTXYqMVY7b2paeDxObVVkcms5Xmp+JUd0ckJS
bHk7anZua3xsQDtSR1NVU1J0PEU/JDJKJUUoY2taflo5Tgp6aD11ZWIlcyM3P3BGQTk7cWRVdXR2
KENmdjQ0UH0+JSRTdHFjVXkpams3PUJoKyk4MF4qSihZdERmTUNJdyNLTH4KekheJW8+bSEjV21I
JXtWOUE4I2NaSTtHaCZmcC1ETWgoQVZuKllvZ1A3dE0lWGUjTXt2PFIoUT9QSEV0Y2xpdHUyCnph
c0olY1hYX2ZMRDR+akozP0Y9KSFPbVR7N18+fkRqO1l4Xl5LeWFTK199YChNekFmRj5lPlhCPCZ3
Kn08bnUwdAp6eWhGYT1rfUo1Mz0zTyREaFh8UmRyY1FOcmpBPTchNyNYIUZTUlJGZmk8TlVJPFgh
UndtdSR7dXNHdCphZCRAVikKeio5ZiltPGwpeFVTZmh8bXhzMFQycyVrMmJXKTFmfT43YzVEcmZF
d19rQilOVHszWnN7SG9lMChPJSpDLXh1QFJMCnohK1VufjVPQDhvamt8dTwjdXZWYG0lRHp9TSRZ
bj4rWnlCUTN1e2cpVXNHLXt3PjhHKFE7WlU0MEAwQWwrfTdCZQp6PlRxTXsleCNVbXR1a1p4UiYk
Jm5jc0R+ekBKakt3elZHOHBBMU5oP3NAQVg5dkBFUHQ2aCp4SG9OQEpMYS1BYE0KelIhZHw+UnJB
P2NxZGcyOVQxKE5rc2pPKXRTemJrN1p6bko4WHJnc3lKKGk8VDlXQCF+JnkmbCQkVDN3eThCOzEw
CnpkX19UI0tAM0dXQSgydXRYS28kT3p0QmM1WWE8ajtkX1cxN1F4IXluOEtKIz1lQ09SMXlXOUJy
eXc1UkV0Uk55Swp6dyZIP1JAUFI0UVlqfDtzIT0ob0AlJHcwbmNBJG9rWUI2VUBsM25kTlItSXFU
P0QjOUpBTUdOUFhuYWMjYSN2ZkgKeiRKWHw5KTU+flFFVU10WEg5Ykg7aCk9QypJKU9DKEJRYCZK
dzNBKEpTcGRIQWBCfkpJOHtEXzFoZXl7OVAqWk8zCnpqbkJebDtGLTxDe09IazYwUkgxa2JKPyZm
JjVzYEtXTnZHV0ZNWWZmZlVvfU4wbHhIIVYxJnQ4OShWbjtqck57WAp6aj96RnQ8Znx7TlZiIXdn
QHFJYlY8RlUyPEMjV1B9YGdyUkoqUFhMRz9weEV0R248RlVfdWFJenspQnFRPyY7a1EKelVySk9a
bjdyfm1BNE8zUnNAYDxZckpyQkBecDhMSk88dHd1alE0X2JTfGNCKnUxdG1ePHQrPiFldmEodTVE
MTs+CnpgWUM5ZCYtKDI/Qmk+QTsmPUh6UyFTKj9GRykxQjRRTTVnWlBVKE5xISFFa21NR3dkSnVx
X3V3MkNEPWM+SnprMQp6dHxYVChWaSRhaE1UdTNBcStGOClgcGYqcWYmVU07YHc7aW5VcmY4MGhn
IzRuN0EzYWo8SmRrVURUKGgjTm1OOTYKemEoeGBuX28hJV5odiZKUkoqfUVkJmNeak1XO1k2eSlQ
fWU5QWprQ2lHM2Z8IStsYFokK1p5QjFicHczaiZoNmF3Cnp2bz5uVjRReyh9KHpzK0NCZyo4NDIq
MyRNbzYtPUI0M3ExX0xfO2RPK0E9NCNkKXRrWmN4TGwzSW07cyZRZHhEMQp6az4rQGU1cT8pJm1l
MWFgaSFYZDxGUyZ4cE8pS2tKR1VyJHs+YU1tN1UtLV5tSzVeJUU/cHhDbmJlM2h1PlJ6I14KemY+
cTBePV53SEEhZ3UhYSp9SGJwS2wwdkwkPzV3TlAxUyZhXyk8I1psYFhmMTwyNG5FcU1SXmZZNT51
JkZzSWFxCnp1QmZXMU1ZPE5mP09SYio5V18hJHl1Nk5Gd3dEKW4pfDBGKkJhYHQrazducn4lO1M1
M0BlMFM+TWBMfj5BJWFnJQp6RzRSTCRzRzh1c3JJWHE2KG9zZSY4Jm4tTldeeSU7QHF0NzRHdGkl
NU8+XyFkJUhFRyFPeUNIUl9AJDh+MnRFPnUKenFfUSV9LXU2NWxlVWVHX3dkNG1Zc0lDfkxKZyhD
QDxTfWJuNlpRTEVWTXQhYkRNcSlgIW1ENVNrfnY4eCpONFg/CnpCbUBOQ3VzaDk/SVl9O0FSTE9t
N2RLZWY5XjgxWERlUjYkLXt0PXMrYSR7VF9JOyhXLVJGWlVUKVd7Y0haZHpJWQp6eCsrZElxPmZB
R3w1PypSJmhwNHY5P3h6YjNaKFhoSFJHTjRjJlVINUc7JG9UIW1MO25jKVh0N0pUIWpxOCtOQnkK
enY4ZHYtcDRYV35Zd341UExMR1IlZFpJc35MXmxCXzBgTEp2QjI7KiM9UjluczJfWGNJPmpZWWRx
U3YzWjtgM0xuCnpmODtDdzRVRF49Rz1TPSlLRTF3TnBBJD5na3NkaDY9OyRid1dlTEolNFZaPz8t
YVM0VXVacmZsTFpKd3I9aXxCKAp6amBQfSNLe3IkaTFzQml0ZzNwJFpWSCMrZlVeSEUld2wyPHhL
ZmFKN1ReMnBQe2FrcUQyVkJ6bUgycW8wTW5BOzUKej5aPlJlbj1sbXgyTng4OV5nTThFZUFsQm1C
RzN7bDF2ayF+NHhpUjBpJXs3bG9SUiVCKWtmKFZjMzQoQmdfaChkCnp5MGlVKzsmb0BfTVRgLW96
NTdIfXFyRSVOa356dDdGVk4xbUVIQERsYSFmem8pc2BoWEgjdDZQRVNYIXp1Q14+Vwp6PipVMj9a
JF9uPCs7R2dNSTk+JUJCbFluJSRCSVEydFhOZH1ucyYoOHs9PWBNTzh2MWdye3hLKnpkQ3tNODNm
RU8KeiFJJElUZ0pAa3EoWGs0PD5IVD92X0gtamNSZ3ArIU4hcGp5UFg3P191JWFsSWwrdVMxPjZA
eUlNVHd7dWpZSn1KCno5TkNXJDJBVCVaV0Y2cUtyJWxJbzU/QzF6JmtZKiVSUklFZ0YoeWZhc298
UjFEQSEmKW5IQFgmKnQyaGQ8OyRuQQp6VV9tMjR7YG9mYz9IPEkqKihsKlNpX2NkMDJqelIxZVFP
eDk0WXVkPFlecn1CSiNzen5TSTByM0M8K1BeQyFmYkgKejJIdjI/YFp4XyFEfHpKY1NKLWhWIzEt
ZjFuNlZuJVkmVWdQMzVFXzFwaGx7aCs3Uloye2ZGTiY9fSVNKnZacil5CnpvKGs8Zmc+bHRuJCgk
ckw8cHopUzxpfFV9bD0/N30+JS0ldCNVQkdKN0ZGPTZSWlprOWp+X2tTTmk/TDZ5Q1VDPgp6Knpy
bnszb29xM1FZK0NFfEFiPS1LNE9nY0M/R1Z0Xzh6OVEzeTZVI1I4Km5pY3R0PkJNaysyZUxXeFMt
OGNoQEEKelY9OXJwK0JfIXwzWnA2eFVFUklaUzROT3BvS1VtXipVNTZZeDArRGNBWVR4cnJYPG5A
REZsUWhzdHs8cE4+bWZ7Cno0ZGZYfjZ9aiEhXkJFazxeVTVvfGVEYH1WR2NjRyhfPTA+PFhGPWw7
RT94VColPXs1akdRIUo0OFRMZGJ2KGFCYwp6I0UjPHw4bExhdHh7eDJxYW5iVDd1RFdJaFJuPGA8
UUc8XjVHYCtvOXVEcDUlIXJYLTcqbDE+Z3ZhJmRpYkNqWUMKelEmVUB1YyU+YjleX3R6JiFgTl4/
WDZUSSNgTnZEdztDckNFQTFAKT55OT47MWpkNGstaiRMaXBhVmJCeFp8NH4+Cno1fDFCc0NmQTNA
clR0aDM5czlteVA4azQ/dD9sUVQmQkxlay1pKWJXUXxpT3hxc3s0ZF5mUWdvZmpuKDVLWkt9UQp6
Zlg9SnppbWB3ajB3eDs1VipnN1VAY2tndFIhV0g/Nm54KGckfClpO1c2M1MmP1JAP314O2MqWWlt
b1pHdjFwaD0KekF4fTEmQ0VRJDIkVFpOKjIlfCRJV1VNZXxNNDxSOGp0eD0pTyU8ND9QQUYtaDNQ
R1haa1YrUnhyO0dme0hgbWVHCnpvI0UxcHIqUC1qcENkREJxcXIpVFZSRyY0LVB+ekROVHJveFJF
aDl0U0I3RmQje1J9QHMwKzZlMn1OLXxrM2AlZwp6by1uYTw3VWRPREkqdy05eT9kRFNOUmUlP15m
N2Y+OFFWN1hRTWImWEdOaHgxJTg1aWBjJUlLX0R1dGV5ak51K1YKenQlcUQpWmpLWTdycmNvM29I
RkxOI3NWK014XyUlcVl9PFBaT3MpQGUpNT8xOFRoa00kRHN6KEtkaHs0fXdQbldMCnplKkdpJV8l
PkY1JmhsUUBCWGhkUVNzc3RCOChgSjRZQ2dRT29gMWpwMitePVEtbXhCQytkcDBvVjlER3Y0KSt2
VAp6Yih7ZV48fFckSW1aZkc8MXleNUtMbk4jUEJofW5AWGohSE45Mzk9MD0lLUFFRl91YjNMNmEm
JT13c1BzMCVjblMKejZJUHoqZ09udHlyWTs0WlAhdUkyclMhRmtzZjVGWih2WE9tcXwhTlQ3YX0x
SUpycVkoNnwjajh4bmN9UShHaU0zCnopZFpuWDtPV2R9OUZCSHAkck5waGJgVT0hUkRvc3RXSEw1
Q3tASGQwZFd3V1kxfTs5ZyZSKTswQGtkRChDMyErVAp6KFVUK1hJPW05UGtlZ1AybHltM0wjQ0JZ
ZTU9fDkhYiFVMF9wQFZHUkdRaHpAcWJOY19SUnVGPCpSWCV6Rm5qa04KelclMWw8Plk4PElCYVVl
clhldGMlQUVDTndIbzctPlRGKkdwY1RZNmZIdGJHdy08cUJpNEJFU1grUXd9K1BHWiV2Cno+VHZe
ZCV3PjZleCNPayZuQUFMOzxRc09LeHRaUUVIRUdxZFlYMEwoYkFlOy0kWjtjZlpVNllaIWZpS0I7
PDJeOwp6T2x9QX5OZE5KcngjSiQ0REdoPEBIUmk8YGJLQVpuJmBOcDFsdm1CSHpkREZnOFVIZzVw
IypFT1docVg8ajhzZW0KenE2QT8jejd7c3JYaDt8M2shWU4zcEA1Ry02KmBJQE0raytZN3NGRlJO
VERHI2dNN2lKdDJhJDVXbUIqYHElWUE3CnpmZmlFSEchME1zMm1fYH51aX1eWT9Jc2NwUUZKdnZj
QlI2eSMyXm9lND5HeDk2V09DfXIwcFZ5OzxJPmN8NkZibgp6V2hDTXsqKH5oZEd0NlU7QUxlKEBi
a2czSSFncE9oYEtoeWN7YG9GYXNVcCorbW1eZTxjekZkeUgtZSgzUF8hXyoKenJsSlojfEcqRnAl
e0gyISFTLUIpZGd8PGp8RmZvdFghdkNCTlBCblRsdHlPR14yWGhpKSNWMWMhbEA8cHVDXj9uCnp4
TzRqbmB9Iy1obGxId3tgQTYzY29IWEArcyZXdHplfmlkdTx4YVN0byZzT15fRmc3OGd2YW1nbmEj
cnxzQUBVTwp6PEUjSTlBYUpMSykkdXlzaz87ZDRAZjwpWHllZXFtN3s4P3RDYGMpQSsqY0o1TzVn
d3E+e2N7MChoTmlaMThfNz0KelFeTEI2OEghZXQlSncwSWlja2ZyOXpxY1VTSD55Mjw+KD13YmdJ
Q1NMeFQocjxna2k5aUsremd2TXwwNmBIWTdpCnpRa1hIamtgRyl2Z1R9QDwhYFVLPXNqK0ImNFhi
YVRQan4tcHUzTDBJWXdySWt7cmBTRCNZaD4/ZG48QDA4PDlmcgp6ezdjPERAWmRwU2V6fSs3ITZL
JXFRQyopVG8zOzc9ZjkoZDhBZWhaYmJKamMpJWBsTFBqdl9QXilrSU0+NUd2YD4KejQxT188bG4l
YVV6YjVKNXMpfSpFeTdGJHBuMktfYCQ2dUBibk5ZamxFPENCP2M8P0k2O0U3TktEQnljdzZfcj1I
CnpyaH05R2xCNT94RjlYN3FZKi1DWUs/KlpvNFRHYVcmT009YFk5Pk9jeE5lY29vPyF+djRDZ0pM
aEx1Wmo7cW9hZwp6U1hqQDdtJUk3aDMqRSV4QXVkP2YkVGUzX1clPUBFOHRVVjAtcXdweUd8RnBy
elY/c2pGPlB1TXUyVyRCXlVxTGEKemN3e3U2cjtYKH0tWW5gV0QoTUB7XlBed3ZyaG17UG9ZYmp+
PXkqPXghSEhJeUJ4QHBBU3IxaGVYdTlCTnc/SjEkCnokbWRuP0ola29RQ0BRfE1razVAYFcmODB3
IyhWbiYtYUdLTTFqcyVSZzRibGRseUlFZShpNzI+aipxezRNVDd2OAp6RzE3YSFeZXgrU2phV1RL
R3owOEk9bjtlLSE2fkdXI1NGR3BNclc3RCVrPVpYOClvc2h4MVl6MzlmU1B4ejVgc2kKenRlSD1M
ZE9uTDUpZSNQPjZmS1hAT3AqR1U3fEMjeT4ja3tLIVAkWX5sKj90d3E9cCZsP1A1Yj5JZm8wMmlH
P2ReCnpzRT9EKXlKVSsjPCgxKUpMPXlgNSFQSyYlM0N6NGlTQUNGeSVUeT5manVYU3NidiEkWlBA
XkRwOU04dW89RTxmOQp6RDdxbHRkT29XT3loQmhgUUpRI0MwPFghYnBlU1FqRCtxeSlkZVdPN1RT
TyY2QylmbWxYNCF0UlVeeFpGdFIhQUQKejZHYzc/ZmJaRk91MH5hYiVEbDUwTk0oa1pLRChDTnsk
PmUzez5lQHJkaVZnVFFITj81ZSFIZkYtI3BQeVkwV09hCno1QW5GY1hJOVQrKXM+UzAqc14mdT50
QjJVcTNXI1A3SDh3JmE7aDdmYUQwYE9tb3pie0lnVEZFNXZvODQ1cy1iJQp6aCoxPEFkPXlvbkQx
bHxKPmx2Y2JDdXxsYHZAa2VlN2l9ekM1e3F+WTVBez1VNlU0PENPVGo7WktOYmBUc3dmJDsKenVi
eHBLQmlZIVlWQHBudEZDKFF0WnBjY3tieFdsYzBJZzg7MyNwdGxvVT1Se3I9TiVOX2BsKH40a3tq
PVI3b1peCnp6SXc7fF9+fGJXXjVtMDhjO0N3VlMtaU5PVSlfSF95WT53OEhAODJfantPO1FFeDAm
XkFaMF5rTVRvej5eJkJEKgp6amFPY0loNHQmIztgcyhvS1ZNK2lKfTllaEt+YllEVXNBPUFgRXw2
bSNRNV9NJipFcGxaYkt+Knp2TzJQM35KJF8KejhZTHFJZiNwP0ZvQTlZQnZyKTdkIW40UX5FUVV1
Tmw1dnhjbyh6dUNfP3I2czFtNHx7Q3VEVkpFWlhKUktFV3wqCno/fmZsMCZoO2hJX3Mxb0A9ZWdH
TG0xJismQXlARmJNKjc7QWVlUldMZFlIV0JWZnNGYjhwOENge1AtdW89WkY4KAp6UGluO0VOOGV3
YGI9UzE9dWl4SXJjbUh6LUB3aD0lV2ZXZnFgbk9hLXZ3WGglNH53WClqaigmeUU7Zyl4MG95VG8K
ej0oa3g4Y2p7REJPe1QwTyVCbX50WHtkfHgmKT9sYVpGUGhkN3UyIWh7MDchOzhiSC1sTH1Ae2E1
TVlFPFR2czlsCnpzSCgpdmBBblVuUUIhV0E9dylDWEM2XmY/UX1EMUlOI0MlQXI8VDN0KnFhSHdi
QzVvUFRCOWYrVUwqRlg2bjZ1SAp6UWw3fFRob3B6K2QqaFBjdmtQZ0M+bEdUe3E7bFRqMU4oTSE7
WjJRMXMlTWVTajhJPGRxWC1Tflh7cWR7cm9JbCUKekQ2OzNrREJydWAzMH5nWk17e0dHPmU/YCVB
WV9vNER4M0hDITFiK01jbDlJPTlYIUJgPno/Q2lrN09oaFg4QT9hCnpfOzVvcilzKyM+bndAMHA/
aCRfV3RIVVVZIW9lZHM0c3stKUVNXmk4OHs+WGpwKHJSU2g9TjNANT96eC0lcnRIeAp6ITtDNEQy
JF59JUJTPEd0U01MWiMyZHR0YCpJKkdAKW9gKyhjTE1LdiRQJC0xJHM9PXxZNkImR3xLI0BAQnBt
UkAKejRjVElUcV5FUzJxKlMlKzlgPCh9SmdgPyU/NUQxLWYmUEkoQEdKdHwkbCZhJEV7KVg9dDx5
QXF2ITt1SVJGVX0kCnpZcEhLY3BzRzRUKXpFWXUjfW13KVI/YWAlYmBISGdveEplO0d3ZU8mXjYw
WkpGWWs9N1ZXJnhYZDR3Q1RYPWNpIwp6Nz41cSQ4NkFhQylGNzVIaTl9NmA2NztaK1ZRQT12aEho
IyZtV0V2clhxdHYzTTdCXnlHKlFGM1hNeFp7Q189fXsKel90Vn1yZ3JXI1deRGN2PDUrbU83aDdi
NzgpeT4/d3k3YDJDcFppYzltb0g5XkEwUFl0TSlqT2R4dkhlYmNXPEE8Cnp0ZGBUQzs9ZyVpNmAl
WGlufk5ianpNYT09XlF+T1o5fnhxOCFidTI5VUpYaEt8QUt2NVg7YTBrSXp8QkJiTVpWRQp6RFQ4
JCFnLW19Mzs4NXg9MHc4YVR5JDlSNjJEPGpXTllrdX4+RnlpQndSOEJjZ3w4KVBzN1BgNGowZ29R
T2Rfc1EKelE9SzRXOFlycllzJXZQdmhONWJPQV9pYW55OU1BNEB0Zlp+JldvRWZKaE0/RjZxYFhU
LWFzYm5AJGhlWj08WHtaCnpDMXskNFRoeiM9cGxBaThIY2JPZihALUBIVURIczdNeko3Pk1OQzRi
Tis9fXA2XkZCP0RAPl8oNW9RZnwxJX4+TQp6YT0yPzAoLThFSCp0bHZyTSFmbD8yWFpQQENBSFRp
P0FQdSYlMk9OUC1WRXdITDhgJkQlZE91JCUtKVc3LXRUXzgKemtpTCY9PVckJkpnaFlCQ3A2OEVt
elZHMz85PTtueUAlbztKNm9Lb35idTMpUkxQe1VrdkdINmRGbE1GQ05aOzsjCnoxYVVWbWw+Qys+
OEs9RS1QfSNRcipAckhfPmdLO0VAMkN0ODRBN0whcVFfaENvQl4mX0ppP31md2ZPaUxTYGstewp6
MXVkMFVLSU1IcmBeZyMxbitaUi09VjJjRD9FbkwjYnRLRE0oVHktdGBiNDg5b2pvPSRaNXJXJlNK
azdiRHc/azAKemRJQzJxRmhlUzRTZD81KjNKTUNZM3VSP0dRKEdiJkpaaDBvQUhoXjVtbzEtNEd+
QUJ9bH5Xd3EkSEQhMzhPciFYCnpCTnw7cEhmcSYwTGIyKm9LSE9KaFolMlhhRX47UzV7djNucDZR
fXA/VDswc04/Vn4pa0YtPXVjV0EmO1VUNTMlPwp6YGlmS35iKU1kczh0KVgld0krQTJabClAIXYx
TmFie0clJn0wMDB3KU5rbDxaZG1pbHttKFpYNFAjdUc1bSVBVDAKejdGfkpXTU0zRHAhIUhDdVoz
fH5heG9tTmd5WipjVHEtJV9yZi1sfERLdWZMM1ZBfCFMTkJpbU1Ee31NN0RnZj9YCnpHZE87fFBq
NWBJX2VnO3xTMnVJXzFIQkJVb2ZHUHMpZT5nKXN2MDY4S31YKy16d2k2RzU3bXUjKDElfGJlJWxA
WAp6JXxZVig5PTQ8NmRuSCU9QCQpUTdLPThtbTRZSXhaekNgR1BMZT9pX2Rib34qWkNpTTVhTD5O
KTdDUUdseHRDenwKemxuVyhFP0BLY01xdz9BM29faHxwKmhmd0NTP3UxfGhIc35YKzBKa1NHd1RP
Z0dEa3ptNnBBb3tNSjdUK1JXKnZYCnohbV8xeGVEdH5zPyltQkN7UVNXSVFxfmx6PmdIZ15xNmw0
fWhCVU9XaDdtRCY9SChPeCVSPipUaD4oVkE9eEM7Zgp6Rkk2O0VMKF9EME9+V3ZCSldyKnZCODIw
czZmODtKRFB6SWVeKD5zOE11WiNpZVYxKGk5eWFlZmYpRmFCSWhTSjUKeiE+RjgoV31LZE0tTVQt
PS1pYHZSU0gxbyFyN0BEO2Bwdl5Ve0tDamQkN2kqS3glY1RvPyl2WDs3UzQhTG1ESVRWCnpmbkVV
YWV4UjRILUUoMzkrfThhJEU8OEl2eyhacldDfG1kRVBUNik8UWZKK2M0N1l5c0ZuUD00dmVRdGRV
SkkqTgp6KSRzSmo2dHtsIUBDb2hCWTYmeHxDQ3UwRUltKWZ5SnA5S2N5Y31+Z2RibCF6Umc/KERN
PUNQZGd2MUJAKHIya2kKelAkYUpGUTdtZT5ve0Uke2okT2NZaj9JP20pN0BLciZuXi15QkMrOV42
VndeWiRtZSQrPTxEQTQodnZKKWNyTj02Cno0PV9CfmdKLThPbDJjSEgmeGJEUkJiSTIhXj15UXlx
dzU7SjZ4Mjd3YFRNX1k7Z15yUiRQWFhyTHk2MyRzJk9XSQp6IzZVR3ZSOHZKV0c9ISFTaXNgZzwr
dzUtM2xYbiNLa2RBS1gydSgqLWIjeX5SRHtaUSNWJXZod0s5NyNoQXcxdDkKelpmM2Rae1pXI00y
eF9QakZWbiVFP2R4Z2xFfSgwSFlOSkpLaVBXNilyYVUrSUswUWNGdEAqbG9gTkExZG8tUHEjCnpa
JTJXQUB4PEJRciNHZzh7aVYyX3Nec2Z1VGtHZzZHTUlNOEpJS05yUVAlRF9jP2xzdk19THZFK2s8
MjRjNFRPJgp6SEJiQkFqej4kYU5oQm8zK3UzcCk9e3gkMTQ1blJIdWN8cE1ge1liUW1WRTJKPWkp
Z0lyMnhyKj1yVUx9N2kyUkYKemUmNHtDYXktRDtidFJyPjwycHIoZyZkQTtqbl9NSFdXemNGIXNq
NlAzOHlodV9eR1ZCemMoZUhkZj1oUVh7bjE2CnppazdpPythQTFwWnhIb1pLOWBvVmVtPTVkNUpp
dCtuIVQ3MjQ9ck1IK2I1ZyZ7bVhtIWtEdkR0RTF5Rn1aN1ZgbQp6Z0g1UVZROSh5bDROT0JQcE0h
aHY/YDdiS01XKXxGNWh8SzBAVEVYZVJkaG98SCM3PmkhMUZXfE1hNkxpZSg/eDUKelVOZSlrU3sq
UE9AU1BsfnF3ODZfZWd+ZFo4Nys3ZWlhdlZmVnEjXmRyX1lhSkZ6eGQyMyZVS3R4YTx3ZGRNMkBU
CnplfnR3K3E1PEt6WFVKUGA5NXhYIy0/fCgyXzBHKihLM31gJUN8bWRFU1QtKil0fiZpT3BlTz5O
PlBZRWh5OHNlagp6QGojSSVpWFNXK159Snd7SmBuaWZKdD5qK2MlRnctRU1WS21xYGQxQzI5TkFg
Y3BFU1o2dmtGZzlzZE1JYF91a0kKeiZ1P3hZKzQwSUkmUmFCLWprfGoyWVRKZEU+JUAjVnBoVEtq
Rn1JdGA3eUFAI21BdEtUKF5XT0pjWG5+I3FYUlRJCnolXjtlbk0rZ04/KlUrPjtSWiYkOXAkNWlq
dT9XTFEzLW9qcCQmR3JmVCU2PzR1NiFeTzJvPDRmITNnNTM2bWsjXwp6eG9EfitwSEZlZ3ZhYEFS
eWJPdl9mdWZxJkxwI348e0JQTGJuTVcwWmZlezxrajF6NlQ3fG8ybD0/RE1SI3goaCYKelBnVX5O
Nkl2YThNSGI4bVZtdk9LN2t8eGlyJFNaUHNtcmUya3p3SkNEOWgkMFVRQE0hVkFMM3M/aDlyXyo/
U31+CnpRMWVCOXl6Wk08Uj13ZGhiQFReMXtGcXZHKzJYUjMkfj82KCY2ZlErVDVBNj1YK1hrOG1k
NDBGOGx3QVhQVjZIZwp6X007V3w2MUYhSXdsYDI0P1pVREgmeGBjXlFVKWBMRUpZPHFyOEZ8JjF0
V210UWZLVkkkaUdPfiota19gTFE4b0UKemxae2Bte21jaktuKmFOQWxyTEp5eE02ZXI2UzlYaD92
eyN9YHNmZXVmQVFtQWBTZkJFdWBvfSp1IUUxKXgxZEVFCnoyLW5QfklJeHdFRU5kZ3tFP19WPCF0
aFdwWXF0JEN3UGlCKGIhRGA3NiZNKEBrdGhoRWxtZ3t+aTNVd20qdGFYawp6dGpUZTFgJUUpYF9t
eDlMSjZ5VlpUcWV6aVdNeDJuLUJpaXVlNUJBJistQHZPPEdoOG57UTE9bWt5c0tYUkUzKnYKej1n
X0E2ZDN4PCRSODQwZjwmZCpIOyomMlJTdiZoSlBmRmVVXngkaXsyayVgbyNPaFR3ZUUwUyNibzNR
Wk9EWTRiCnotSmFwKmx+cFg1NSNgPmVQbUotO1RZaWFQPUllU3xAfE1UeVJXKCM0SDlHbz1KaUlu
QWUlRWF1clJCMEp6SSohPQp6KV41KzdXUWQ8IWtJJWhwMkR5MTw3MXYhPGFZQ0UzVEVnU15wMHxB
TmQ5P3F1PyhmWl9DZXFHbHVsUUhZdSNQN0AKekJCMzBMMGxLZ2VoVUNUSD1Rel5Zak9ZNCtSfXcm
IVdAJFlAMVYqZyUhRXB0Wkg3YSp+PmA1eD8xZGdOUE5EWiRiCnpkX15pTkJsQCV9KD9rN0ZITz9Q
PlptailSZC1md2BGPlFINmg0IURIemlFMU5lWXdoaUtYc0hWbWUlcTlZaT1hawp6ZD97TUFoR08z
YUdDN1kyeDFHJXMmbUJTIUgpMkxCc2pDajVYX0JzOTg9KVZZSThhSjZ0Q31qPHdxY1kpK1QoeFUK
ei1wbUR5Vnw0ZjBlQzhrOG5MSW0yZVdPV3ZuTSEzQHAxdUt0ay07PClnKGI1VFIkckdPN002JTtC
YzMlKEA3NW8yCnomLWNFPS1wKFM5Q3BwdypBPGIlUG13Y0ooPTdvUm8/OFJkUXglK3xNeDl0e095
e2QremVaQGJycnt0WjNEamNSYQp6SjtxPCZRajJMK0ErZlAtNXZWZEs2IUw9aDlxVnd0YzEmRmo2
MUkrPzllZmdza016THZSM143eE5KVm81QV5jSzQKejRoPUJ6UTBZNFM8bHgyKWtBTGlBQTBCI2d5
IX1eUWs4OWF9SzRQbE0hSzBhckU8OElTZTV0VCQmayR1c2l1JjNyCnpeakgmUzwhbSY2bX0hK0Ej
SCF9ZC1VfiUxZ1hkWX45VGxPNFFCe0U9TzJLMTdMbEZXXjMtdERiWjRRfjcmI3hYJgp6R2pDUnV3
cilzUEtzMklhbTxFUGNXVm8qYilDZ0NlQyVFUEU1WWRRPWgmM2FmOU8obE9iTl41T2pqYWJWQ18+
UUQKelUmTH1IQHVAZGNHaiV6LUAjYTtWKTR9RDdsaWRFMTJDaEU4b1RZUE9KaGReK3k0TnJ+UFp3
MjVqZ01ZZCNYWFBwCno8R0JCNHs3JHIjRHViek05Tk17Xzc0dFdzRTFldVZJSzs/TUNxbn1WJFBW
bm9tdVZGSTt9JU4hJFJOWnYyKVU2Wgp6SE9LY0UmMzRrJGQ1Rkk1cWpZdSpWdDhGdlJlWWF6V2Jk
fWo9Uld1Qi0rdHErcEApeXBWdGxIPTF9OXRhaGZTVU8Kel9QKmsqMyhpVjFGelRgQSY7YUg3RmZ9
IW1YdDVeM20yKilRbXptV15YbDslJFYlNT50LTtYQ3ZHfVhydDdNZG9JCnpOfD0hRHFpWUpEdWFR
VjxJRjhEYzx9ajd6MkVUaExqflh7PHRuPWBsSDBnQW5lQk5QZE9PamhJaSptXzRpJWA1MAp6SEJ0
dm9qP3NlO15RKWl5R3RYYDcyY2E+TGF1YGxLPXJ6bHpLa0cmIUAhRGgyblAoVj54e0V5aVFmaHFM
Y0xwWVkKekA8cEc9VXJQTlNMLT10aGcyQnZHal9sZFh2YV5QWHNDb01PQzd6WVJiTXlGa3JUMTkr
XnxpNiFHNkt5KDUpal9eCnpUfEMhRGFjdTBPUFIhOFUqO0JHd1hJc1lwO14kdyFeRVliLWVrNyRs
VmEzbT5OYmdGQz9ZT2VmX3gtdSlvTDR1cQp6SWxeJCg9UmtXTzV3REJkJH5hb0lqIUArKzZ0aiQ0
dnklbD0yQzF1P0xefFY8JF9SQDJLQlJ+czZwNWkpMip0eHcKenFHKW8yaEkpX3dPcWZ0dVZlejV9
KzU5bTF5bnx+RUZ7UCFFX2ItN0RUcCgkdyU0MyNJTGx7WTxvdVlyfEZac219Cnp7K1p7dF5kblRB
ayZIdXMlMHxTZFE5SkxHQiYoO1BZVlZDNGoxdkd3KSMqJTRDb156Pl5Vbzg2T3BYM3cyezw0Vwp6
NmVWeT0ySlRHOCR1RmZXMShvP0lyOVI9Zkk/LTZBVChVcmwpUUQ4UkBhMnUpe3BGKiotdlY7NCZR
PD9mPjlkTnEKekVBeUBeZG85fk4kOGpqSHVRYlRuM2l9V0Q8QiNzQUNNaHRabUZWIyVeeUV9YlRg
KCF4Jlo0T1dyY2E2eWpoRXAjCnpVPUBxeHZaRUI3RDgrMFMjaUVhR3lRbV98dj8mb2peOFJ3VmRo
P3YhcyZvQSU2fDZkVWhgRyUrO1kybGh2SzIrcQp6QFVuK0ZAY2lCVTtRTSM4WDxyJiQqQlEtdzQy
P1J0U2BGb01LMUVnMmQ8LSktNW4lUW5nUXx0dC1geFYpeSkwVSsKelYrZnRUQXNiY29PVlMofDNv
fFpGVTxKTjx1TX5za0JjK098U0lRKnxPekY1JWVETztnZkJDfi13QX4yfE9EUnVVCno/RUhFUihT
Yj0tMzNYKiVoNTNJcVIpOzNGKUVNe0BKbEE4KzxTM1dEPy1IZ2l7eElSJWJKNDw7TmFeOWBkaGx7
Ygp6dSZvMDVxUVBKOyZkfnZ8bHsjIVlrSy05PWhRSlVPSDVEY15DI21SdTNYS0FXWEBGVWE3NzFv
WFdwUzhIPVVTZnMKeiZHJmltaTVFJWIxJXt6djZAQntDSFd7fnEjSD5HfnU1fXNWU1QlfjYycVMq
QyF9bEN+JmsxN1AkN1clcmtEV2ZpCnpVKX1IbUA0S3Y7Qk0wLWVicSEjc1pqajJPcXw0KmBfPG00
NigwVXxOM1VzWWZFP0hQRU9+ViZve05mOFF7T2ZtSwp6YEE0OVFVX3hwdnkzIX1gKXdeI2I3REs/
NGlud31sUT8+Y0dAclg5RnEwJUg0KjZAOWdjKnRrenloKXNZQGxgYT0KemVMcUkhOUUxYDBlV2g+
WDZeND1hMik7ZHZCOCVmKjk3Uno8KGVNPXdQbD0rM2xCbDZfNmNNQ3heUX1QJmVjUmRuCnpAfj9V
OXZCJWtkYUZ9cDdqR2B6TWlYTVkwaGYhKll3dGo/fiQ+JE1DKUpgbEdkNT1LKTkoRk57VH1iMFA3
UVd7cQp6e2FfV2lHckVJK2BrUV9oVCttR1d7JFY7Z2QobGw3JnpBQFNwRk8zeDh8ZXByZHxqKmQ3
dGdPSDhkdD5Fe18oajMKelU7bHFNLTBsMTlBJjlrYzJ0cDQ9Zms3WkFyU3dpbTdZRzRVNT5hKUBx
I0UtdGJXSlIpTmEkMjBiYVlrMGFhfTZvCnp1O3tHR29PfEFLQ2Uyd3Z0b0NkfnhDWFJTY35NVFcj
TkJ1Qm9sKUZ1N3Bibzg/QWBpJSl+JFBpLUc+SEhSRCk8cAp6JE1HYkVxRUdqck1PdkxqeSFBUk44
X3l3PHNHQWBDZGorTFhVbnhDMipRU19IVmRhS088YWg4cjd1REx6LVR6T0IKek53WFQrdiVRTyt6
SFVPTWl9WFIzUXY0fTBTU1g/P21GfmlHQ1cmYWREZ05fWT53M1ROemtkR3sla3NBWlNwdUBCCnpm
Z1dJKHBhWGM2KT4pa25Pa2gmVDVORWEyNyN8MjM7eVAxVDxDUklCY3FxcyQ+JG9vUWtrN1FIQihy
RERXY3NZTAp6c0EtLTx5bUFVPXRQPDZUcCRIdk5raUx1VzY+ek9sM1p3bWAyaW9Ydi1fNT9neUV1
NjAybT5oIyg9Pj1qMz17JFIKemczbjt1PUlEXlpzSlYhRV5ROSFLcnhLMT1CUFEwc3pLME0qUUEq
Rm5FMiVsUW03JE93cT52ckpEZHVwVUJHcipZCnp7UCtqNnNIKDRKJWNldCZqQzVrP140Umh9LTsq
SiYlJGpyN2JSJTlGUzBETkI0ZThIKF9CUmlYV31LWV9EJE5rawp6MUB4N15UTGh1UzRzY3FNZWhm
Tkw0QHw4cSpVenNeWGc2cUBTUXMlPyUzPlBQUF9VTCZgYWJ2YEE7WUlFWmM8WWIKenJMc0lwQndt
SlRoRWFzVGI2eENXanpUV1FOSUZqQFRmcDtOYmxvNXNHbEBrPzhQeEl+eSgyYjxka1kqTHQtKj5l
CnpCM2VDe2FKJnY5b1NhdytfP3w7KT9XKnRMY3taTH4jQn5hSWopaGFxVnIyJj89MTFfe0I2QkI/
QFNgN0pMQFpnKAp6bVd7Z0BOKnpVNFJmTGthT2Y2eTBvOzUhYnR0ciE5ZFVBWEk2Q2MwI3NvbnU9
Rk0odH5MT31SWTA+WTA0bl59fD0KemxEdGAwaFhQYXBFeE0qbVo+WkVTRHZOMD1IQzQ9dGc7a09m
amQoPUdHKm1QSkxLKldFMT1Hb3owOExXfT40SzF7Cno1KHtnQHFiOU1pUENPI2VIRyVFOF5yc3gh
ZG5edzE2Z1dKVFVfX2FUbVloaT4oU1JBUEVRSmhEY3htMj8ybl5XMwp6endXeT5vQD9RYE1MZnND
YjFtI2JucXEjNFZ0JDA+aSFId1V5KGBldjIlOSErYXgmUntgSClkNXIlaGlIdDdAdiYKel9IOC1m
KztxYmFVdWJKalp2KG80NGd5c3MzdUg+JDd+eVRlbFR5QWBRanNAQTImZV5gT2tKNSRRPzQmNmkp
IWJgCnohfEkkXk0yamIpOGl9dzxCQkJ3R3M+REpuKFhkSzlxN25AVzt0PnRnRmJFa2NMT3trNmpB
cnc2NTlEZDxEYlV2QQp6ZFkjI0ZuSEFHQzV1SHBwVVdYYTJLbzJEKilSe2o0MVpzKmJza3UmeF5h
V2d9Zk5LfTxUI0xlSlVvSkRhS1hiIVgKek84OCZ5ejluZn1wNF9vKlRkdUNMJCppQiRxVzJ4X0BV
RmteZCtUQFo5e2U1OU5ub2dzbWJQXjFmMVdfQ0BoQX08CnotayFLcjIkRXZmMD0yNDg+SnQkJHI4
MSQ8amZUYmFeMCs9Wlk+MHxQTDw9V2w4bktXe0IlfjVIMSolWitlSkREVAp6T3h8SD12eylFT2RG
aWV9dEFCOVI/SHg9eEp3O2F6OGxqfHtzRmA2X0hxTmhCSFBjbFRNTU0kfVpAbG56MGBDRkgKekZ7
IVUpUSVBY3p4MlNsSVd1KkZjNGB6bmozeXpnaDBackZNP05gM0N7R3U7Pl5gbGp8SzA7RiY9XnYz
RnoyVj4yCnpKLWZFIVJ8Tlh8RDNBaDFPOD5KUV5XS2I7ZUdHNHpea2VsWCFDWXx8QzxpS20zWllQ
O1lvYW8yUCpXRHk+dlVCcQp6MUh6aVhSME50SUVPeyhTRFJZSVFPcj4mZXpoJW4tJnpDMSRZLXRr
Jl9KcW1fRH0qUVhuP0RoWnI4eTc7QDdOJkYKekIqciErOXUteXBAfnZ4Y3s+V2NrVXUmbGB7UG14
SUAze3dsejNVZVE+UHduSCU4ISZqazR0eT84YVctYEh0QTJPCnpPaT9zfjRpRShySyY8cUFFVWxW
JCspWCtoXlBgUiM4PTJCKXpmeyZaP2phWilCbVFgYndoOD02eiRhTTBEaGJ9UAp6TGgkfTBLcFk2
dylySURNYCNVJU8pJXE5UCtySVUwRldrZDFxN1JxMEcyUHQtezh2bCY8OGVrd2U/ckI8MiV2SXwK
ej58O0d5RGN6KGBBandeaHJEciUqckROdyFOY3VscmpMbiRKPEchbHwhWSliUkpWfTw5PihnXk5D
dkRxd2I0O0JYCno8KFBLeHg/fkBOYXZFaitwIWg+WUx7OHduZiFFPys9fF8pTWY7cGx3aUVqe2Uy
I2FHeyE3MjZqKlRWJHFDLTlFcQp6RyZCWjVwZWMtTDM9cFdxWjxfNG1iLXZUMnBUR3AoMitBP1pJ
RylKaHQmbntUfDNCaEBrYlJ1S21XY29XMDAyb3YKSlBESExrVjFuQ1B7LSohewoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvYmln
LnBuZyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMv
YmlnLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYmVlZWFkYjczYjMyODU3Mzk3
NmUzMmFlMmM2ODZjMjhiZDA1ODA1Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCA3
MDk3NQp6Y21lSTVPPXdoQzc+M1ZlTE5ieER1fXYzKTVEbk5MPXFsNExgbTBWUHtZZVE/WUFCTFlO
U0gjIWpmR2sleypXUUQKenczZVcmNzhpb0VPSSVuZ1I5cUJmTkp8Q15aRCprKFc/QFM9MGg3eyZO
c0diU2JNdDtUSXh8SEdMfl9TQDBgXnt9CnpiRlhLZl5MXilnP3xEQmIkOU1JO3hxaldvYjxWbDxK
I1RmdDw2TFYjXz4qWXp1bHphdU19dDIhZSFRY25LakQ5bAp6QnRIMVV4ZW5MVS1QUWw7PkRsUzck
OCNDPzxGX05qelpPNS1UMVh4cioqTnBiRkU3WFpDSE1YT2JAPWI7aWtJQXgKeihPQ09eWn1GJE9w
S18wdHpmd3EqRGxWSHkmWG04IWpkMj96MC1HPjJoP3xmRUlUZXklcDsjdXRMSl57MXAkSkteCnpQ
PXE4e0QzKGRFUD1xTDBDXylrfTZkPyV+aWUoWms2ZD8qMGlqVntnTU0kRk43Syp8VG0paEk+PXNT
YEZjUTA/Nwp6JTU4RnxFNE9BY1B2XyZ5cEtzfnBxbFE8P1V2T1ZsVVF9cVErYFp8cXk2RC07YHxo
ZmBoYHxVbldHdnVfOEcjXzEKeiNEUjZqNWB6XzNBZ0UyXkstSVJ5S3RjIXY2MmJ4azJfWDxqMnlz
OXtTWWtYdExKU1JUYDctUFV1eTtHK2h4aUYmCnpWZD9tUV96Qi1mJSZjYjJXTih+a0AlUCklYlom
VXg9NF9fYnk7Umo5XkxDfj1XVXUzSWpSKHFLYUwtajspSz1BdAp6USp9e2E8JGQhe1I5P2hqMVI2
M0hhS3d5Mk9wcn1XQWFibFQzSjZ3VWFpQkpkTHlvRX41Sig3ZEt0aE92THFaNHkKejU8KG8xNVNB
RTcyIVRMQ1NZalh7MVJfRWJCNm9nJnZDKXF6Rj94MFRnX0clZ3Ylez5eQnc8I0gxSTxeKTBraElU
CnpVeyhxUSMoXzlzUiQ1fFVIVkZoMExMODZ+bUtZRGMtfDRfYXlqYS1fO0hYbz1QbntBNj5YZkE7
YnhJKHBRe3E2Swp6dmMhMWtiO3x4OHc8QCklYVA0OT9fOyNGUVR7cThNRlEhVXkkNDtYRlZeJihB
TVFFcWQoRnRhZ2ZeJXZoYTgzbVIKej1Uc2JVUEF4SFRQNll4elZ+SyV0RGlHKXlhWD48ZDFJPF4p
MFNPQHhOQypvRUIhb2FqTkowJEdQTiFwalJGbkRuCnpvcGFnYk93NiQoWlBDaCh2X1A7VUVlYEJS
VFZtQUtqPGxuRChCX1EqVWI2c3hBXiFQJFJsTlctQDdhOU42ZEAyYQp6TVRpM3UpRGk7O0RpQkNl
YWlEQCpWand7VTB0c09PUUk4VSRiN0FnT0BiUU9BeDVwUktPfUc1LWl7aElpNmM2aykKemliSTVV
OFhjV3JuaUVHU24xUjRLNiRxU0Qza2FJODFPbiQmOU1DaEM4MFo7K0sramxXKDBuQmpOQzxJMkxX
bCMrCnpTSD1NZUFyS0xnNVVJdDN5PyMpKyZiQGJiRlEoIyR7Q1BjWVRSQj5jRUp5aXVVPFJWRHtH
SCQ1OX5yT2UxPmhUdgp6RUVJNHczPFJZP0FaVXNaMmJ2LSpGPSZicWhgSzc4SHV3STNeKUQ2X057
YX4hcjllPDkjZXFVO2k5dytoaH05XlIKelZARj9vI0B7V0lgdElNZU41XjdZe1cpZihAVXFoPTRp
VmFFcSFVYjI7e1NfdERpaz1VbVpkblMwKWNaWDRtaFhjCnpmU3hmOT1veGBQJnNhYnBBcGA7bVZU
cGwrNUN8bE1JM09YIUF3bSpqPlFafX5BNT0kajtPXnlaUUBLdDRKY2BEXwp6PTx7ejNScmRuJCZw
YSlqcUJ2elhHPUVeNG41S0t0O0xvdCszPHM4K0t3IXk8MUQyZDYyOX0mYXRjRTQkQDVETUkKem9V
QWtBeiZheGlHP3A2JikpfDR8UU47cCtDcld7Y0B9by1qIyklZGAkXy04RGhXQm1HVz9LQ0BKQl53
KWJ7ZlNZCnpMT1lGcUt5LXA+UiZZK20wcTR9UjZ6NWJSYTg0flRhODNtUkp0R2UyOEY0XkQ3elpT
VEtwLUozQW5IZCNkXlVPSQp6WTtgWXlaez8/R0RpJGMzO3Q9N1luTEVGfip5dS1AN2A/anYhcFVe
TCpgS29xdDcmNW9SdmFTUGgtRXxiMmQwVD4KengpJS1wRVhySHVldDArPG5rfVp1cUwhdXpmdUpj
dTlCN0tMI0d2Xn5BUTByQGZZUChYS3RjIXY2MmJ4azJfWD1WCnp5bzR4UnlPP2U4cFk+U1IlYD99
RnNaIWpaVl4oVk4qPkBFT255LXZRZyFmJjg1d2JuNWQxOUlAVVRJNGMyc353Ugp6eipEeHdzMkAr
K0tKZH4zSiEzUiNwaXM2U3teJEd1PmpnbForWis8aXdHKyVYUVhQMUA2YkF5QjA0X182NitnQk4K
eiZRN09le3VZekBgSkhwdzxWPGptKkpEaWFkSVNRbU07ITJhRUhVdFUxT2woZTBzXmxgQVJjK0lD
LXw2QDE1R3lOCnpLcGZ+RUchQiNsMTNAX3UyK0R5dEBJK35lITRzdUdBUil3SSNTKUAoVmVWOUw9
fV90Ul8oSG5yUiZiNmI3ZnxwJgp6U2FSYVBfUDk4KEp1VkooXiUjZDBaO3VEcGt4aW1VSGR6JGFm
YzAtOSlnY0pySiZtUCM9YnJxIXJATzFhPzAtQDsKejRGX3AxNVR2O1VMQGxOe3NtKWlORVhNIT1F
RUszZDNraUM7MSE5ZVF4JVZzez9EWWY0Yj8me2hkb2RNMXZAe3NECnokfjdsIW01VCNnPD5KNl5B
MjFHVmw/JWoqeDV8VWQkUj4qLWozPEYwbzVYPV52YyNhM1E2U2NgY2pkKSpmOE8kMQpUZjJzR1dV
P0BHV19qUH0+VntxZ0BVZmBsVwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5ibXAgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuYm1wCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCA4MDJhMGM5Yjk1Y2JhNGNmODkyNWJhZmRkZjc4NzExNzllNDQzYWY1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDEzMTQKemNtWj9yUmJwaVQxMlo3MDBtUTtV
RURGU28zPSUrK2YjRDRjbV9pfWBsTWZpaypaT317RlkkcGw4ZGpyV2cpME9gCk0oKn59UCE0eml6
MDUrZjBze2pCMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90
aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5naWYgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3QuZ2lmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAzYWEyMDk4ZGM4ODE3ZjUzNjBkMTM0NDBmM2Q2MjQ1YTAzMGRjMzFkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDE5Mgp6Y21aP3diaEVIYjxZTTRySTNtcE98TnM5ZlE+SStJ
YzVUal9JY3dMaGVnRlBfYSZvZWxtc2VDJilWK0s2bzxEIXkKeigkZG4/KTNiSCEqMWRjOFdAbCM/
N1opRXBjSUAxX2F9Mn0qI2gpeVUzPUZ+eUl3MGpCSX5gYlVBREZsWFh9VWdBCnp2RT90Pyk1Q1M5
O1E8ZX4pMT9MPlVYfUk8NGFKVGpPaV8oMGs4ZChAZHBiPj1Ve2ImcW81MFgyNXl1P0ooJlhUOQpK
WHREcjxIMmBMT0tWPCpfCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0LmljbyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGVzdC5pY28KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IGY5NzIzZWVjNjNiN2YzMzkzZDRiNGU2ZTE2YTVhNTU2ZjdkZTFiMGYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMTc0Mgp6Y21aUXpVPDUqOFEzZkVYel81ZGpma0JM
Y2ZrNlheZ0BJVExoKFk0RyEyZU0mOFVtdnNGZDcxKkF1dCpPQiEmUjQKSUkpeEgoMEpJWX4hfmcm
UQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9y
ZXNvdXJjZXMvdGVzdC5qcGcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxp
bmUvcmVzb3VyY2VzL3Rlc3QuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3ZTE0
ZmM2ZjI4ZjkwMzY2NGM0MTRjNDU4MGY2NDFhNWYwMDYyMWEyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpsaXRlcmFsIDY0Mwp6Y21leD08TnBIJjBXVVhDSHdII1YxX25rVFdjWXVaITVQUy00MWYl
dyVta3FCe3w2V1pJVCVENGdxYXpZNz89YloKem5GU2dEQTdQTE94fDA9UkhVa3RlR0JMQlR2YXhl
O2EmWkZ7WSF6VCZWcXw3IVZxcz13V25sclR0Xzh8N3VuNGpXCnpESD1NbTI/ciohRDswX3VIQk1a
fXEzcEVycGxIeT00PVRuPE1OT1BzViZXMiNRbVNnfDhrJC1ycmVAfEFtUjhPIwp6dTVSdWdvP2dL
cnA8Jj8+a3h8SmhzY0dwTW5PVmdwckRmJDZsfnY2eHQhP2Njb240YkFQbmtNeGBpejtnN0E7PH4K
emJsTEoxRF8zcFd5aythUT9LXmh2SSZ9RVIoUFBJP29JR3t1QHxDT0N1SFUkTT4qMXJ2UG82JHx7
Xkk0VWtEb3EmCnpgVEZocWtEdEZseyRnWmNoNmZxTVZgJTtvMXAxNEtnQHVgZzlwbz1Zcmc5KT03
R3o7bkctTU5VM31qQyU2am1+Nwp6PFBkUzF4TnplXlBHI2V1NTI4cyQ3ckRlI09kaEkhMWJHZVlH
dllrZk0zJkZzOXoqISs3NlQ3NkJRV3hxMXNVdWEKUHt7N1FmKVd2e3x8Szlgdis7NzAkCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNl
cy90ZXN0LnBuZyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNv
dXJjZXMvdGVzdC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDZjZmFkYzNjN2Fl
M2QyNGY1ZDY3ZGJkNDhjZWEzYmFlMzdiM2I1NmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxp
dGVyYWwgMTA3CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBeIWF5dl8hM0hGa2E5K0kjcSojaWJK
VlE4dXBvU3gqMUlTbk1iYTQhXgp6PXVRNmZ8TnNBYkhaNFpBRUo+NUI4IUhrUXhBalZ5VyE7IXkl
KV93T21fO3FRUCRtPG9uIShmNiZ0O3VjTEs2VmAKQ3kmTHViCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90ZXN0LndlYnAgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3Rlc3Qud2Vi
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZjY1NmYxNGVmZjNiN2I4NTgyODc0MDdh
ZDM2NWYwYjhjY2VjOGIyOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCA2Mgp6Y21X
SVliYU9MZlV8PE0kYnFXWHp1dSN3ZnZXMXUjPH16dnRHbCgrUylmIUU1VSZRdjhwQFo/R3Reenx5
Z31Ud3kKUVB2IzVefE5mVUx6NXVFTzBKMGtwTiZvLT0KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFtZS1k
YXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvcmVzb3Vy
Y2VzL3RpbWVsaW5lLWlmcmFtZS1kYXRhLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGZmZGFhMjExYWEzZTFiZDhhOGY2MDg3NmQ0MzkyMWYwYTc1YmFjNTMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtZGF0YS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1j
b25zb2xlLnRpbWVTdGFtcCgiU0NSSVBUIFRBRyIpOwotCi1mdW5jdGlvbiBpZnJhbWVPbmxvYWQo
KQotewotICAgIGNvbnNvbGUubG9nKCJpZnJhbWUgbG9hZGVkIik7Ci19Ci08L3NjcmlwdD4KLTwv
aGVhZD4KLQotPGJvZHkgb25sb2FkPSJpZnJhbWVPbmxvYWQoKSI+Ci0gICAgPGRpdj5Gb288L2Rp
dj4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxp
bmUtaWZyYW1lLXBhaW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlYTE3
YzljMGVlZTA5OTI0OTM0ZGNiZjllNTM0ZmYyN2U0YzA2NjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxib2R5IHN0eWxlPSJtYXJnaW46
IDAiPgotICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDE1cHg7IHRvcDogMTVweDsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgYmFja2dy
b3VuZC1jb2xvcjogYmx1ZSI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtYW5pbWF0aW9u
LWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS90aW1lbGluZS1hbmltYXRpb24tZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlZmUwOTM2OWU4ZWJjNzdlNjBmNDYwY2Y0OTgwODVlYTFjOTFhNDhm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1hbmltYXRpb24tZnJhbWUt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotVGVzdHMgdGhlIFRp
bWVsaW5lIGV2ZW50cyBmb3IgQW5pbWF0aW9uIEZyYW1lIGZlYXR1cmUKLQotUmVxdWVzdEFuaW1h
dGlvbkZyYW1lIFByb3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRh
dGEgOiB7Ci0gICAgICAgIGlkIDogPG51bWJlcj4KLSAgICB9Ci0gICAgZnJhbWVJZCA6IDxzdHJp
bmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4K
LSAgICB0eXBlIDogIlJlcXVlc3RBbmltYXRpb25GcmFtZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8
bnVtYmVyPgotfQotRmlyZUFuaW1hdGlvbkZyYW1lIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRy
ZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAg
ICAgICBpZCA6IDxudW1iZXI+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZy
YW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJG
aXJlQW5pbWF0aW9uRnJhbWUiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLUNhbmNl
bEFuaW1hdGlvbkZyYW1lIFByb3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0Pgot
ICAgIGRhdGEgOiB7Ci0gICAgICAgIGlkIDogPG51bWJlcj4KLSAgICB9Ci0gICAgZnJhbWVJZCA6
IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51
bWJlcj4KLSAgICB0eXBlIDogIkNhbmNlbEFuaW1hdGlvbkZyYW1lIgotICAgIHVzZWRIZWFwU2l6
ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS90aW1lbGluZS90aW1lbGluZS1hbmltYXRpb24tZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1hbmltYXRpb24tZnJhbWUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmVhMDI5ZTI0Zjc2MDUzODM4MTI1MDk3
MDYxZDdmNGUyYjQwNjg5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
YW5pbWF0aW9uLWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9u
IHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhbmltYXRpb24iKTsKLSAgICB2YXIgcmVxdWVzdElkID0gd2luZG93LnJlcXVlc3RB
bmltYXRpb25GcmFtZShhbmltYXRpb25GcmFtZUNhbGxiYWNrLCBlbGVtZW50KTsKLSAgICBmdW5j
dGlvbiBhbmltYXRpb25GcmFtZUNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIHdpbmRvdy5jYW5j
ZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0SWQpOwotICAgIH0KLQotICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5kaXNwbGF5KCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3QoKQotewotICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShmdW5jdGlvbigpIHsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIpOwot
ICAgIH0pOwotCi0gICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yUmVjb3JkVHlwZSgiQ2FuY2VsQW5p
bWF0aW9uRnJhbWUiLCBmaW5pc2gpOwotCi0gICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIlJlcXVlc3RBbmltYXRp
b25GcmFtZSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJG
aXJlQW5pbWF0aW9uRnJhbWUiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5l
UmVjb3JkcygiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLWlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAg
c2V0VGltZW91dChwZXJmb3JtQWN0aW9ucywgMjAwMCk7Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgot
Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBldmVu
dHMgZm9yIEFuaW1hdGlvbiBGcmFtZSBmZWF0dXJlCi08L3A+Ci08ZGl2IGlkPSJhbmltYXRpb24i
PgotCi08L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRlY29kZS1yZXNpemUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5l
LWRlY29kZS1yZXNpemUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3NGI4MzM3ZGIyM2Y2OGQ3OWU4Yzk3ZTY5YTJmYWIzYmM0Njg4YTNhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1kZWNvZGUtcmVzaXplLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDE4NiArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3Ry
dW1lbnRhdGlvbiBvZiBhIERlY29kZUltYWdlIGFuZCBSZXNpemVJbWFnZSBldmVudHMKLQotCi1E
ZWNvZGVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBj
b3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaW1hZ2VUeXBlIDogIkJN
UCIKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmpl
Y3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIkRlY29kZUltYWdlIgot
ICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1SZXNpemVJbWFnZSBQcm9wZXJ0aWVzOgot
ewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAg
ZGF0YSA6IHsKLSAgICAgICAgY2FjaGVkIDogdHJ1ZQotICAgIH0KLSAgICBlbmRUaW1lIDogPG51
bWJlcj4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVy
PgotICAgIHR5cGUgOiAiUmVzaXplSW1hZ2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4K
LX0KLURlY29kZUltYWdlIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0Pgot
ICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBpbWFnZVR5cGUg
OiAiR0lGIgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBzdGFja1RyYWNlIDog
PG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiRGVjb2RlSW1h
Z2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLVJlc2l6ZUltYWdlIFByb3BlcnRp
ZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4K
LSAgICBkYXRhIDogewotICAgICAgICBjYWNoZWQgOiB0cnVlCi0gICAgfQotICAgIGVuZFRpbWUg
OiA8bnVtYmVyPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxu
dW1iZXI+Ci0gICAgdHlwZSA6ICJSZXNpemVJbWFnZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVt
YmVyPgotfQotRGVjb2RlSW1hZ2UgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmpl
Y3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGltYWdl
VHlwZSA6ICJJQ08iCi0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIHN0YWNrVHJh
Y2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJEZWNv
ZGVJbWFnZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotUmVzaXplSW1hZ2UgUHJv
cGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2Jq
ZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGNhY2hlZCA6IHRydWUKLSAgICB9Ci0gICAgZW5k
VGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1l
IDogPG51bWJlcj4KLSAgICB0eXBlIDogIlJlc2l6ZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6
IDxudW1iZXI+Ci19Ci1EZWNvZGVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDog
PG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAg
aW1hZ2VUeXBlIDogIkpQRUciCi0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIHN0
YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6
ICJEZWNvZGVJbWFnZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotUmVzaXplSW1h
Z2UgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMg
OiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGNhY2hlZCA6IHRydWUKLSAgICB9Ci0g
ICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3Rh
cnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlJlc2l6ZUltYWdlIgotICAgIHVzZWRIZWFw
U2l6ZSA6IDxudW1iZXI+Ci19Ci1EZWNvZGVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxk
cmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAg
ICAgICAgaW1hZ2VUeXBlIDogIlBORyIKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0g
ICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0
eXBlIDogIkRlY29kZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1SZXNp
emVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3Vu
dGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgY2FjaGVkIDogdHJ1ZQotICAg
IH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAg
ICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzaXplSW1hZ2UiCi0gICAgdXNl
ZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLURlY29kZUltYWdlIFByb3BlcnRpZXM6Ci17Ci0gICAg
Y2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDog
ewotICAgICAgICBpbWFnZVR5cGUgOiAiV0VCUCIKLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1i
ZXI+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4K
LSAgICB0eXBlIDogIkRlY29kZUltYWdlIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19
Ci1SZXNpemVJbWFnZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAg
ICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgY2FjaGVkIDogdHJ1
ZQotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBzdGFja1RyYWNlIDogPG9iamVj
dD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzaXplSW1hZ2UiCi0g
ICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLURlY29kZUltYWdlIFByb3BlcnRpZXM6Ci17
Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBk
YXRhIDogewotICAgICAgICBpbWFnZVR5cGUgOiAiUE5HIgotICAgIH0KLSAgICBlbmRUaW1lIDog
PG51bWJlcj4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVt
YmVyPgotICAgIHR5cGUgOiAiRGVjb2RlSW1hZ2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJl
cj4KLX0KLVJlc2l6ZUltYWdlIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0
PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBjYWNoZWQg
OiBmYWxzZQotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBzdGFja1RyYWNlIDog
PG9iamVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzaXplSW1h
Z2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRlY29kZS1yZXNpemUu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1k
ZWNvZGUtcmVzaXplLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhNDY4OWU4
YjRiMzFiM2VjMWFhYjMxMTQzMWI4M2I4MmVlNWE3OGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Rp
bWVsaW5lL3RpbWVsaW5lLWRlY29kZS1yZXNpemUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gYWRkSW1hZ2Uoc3JjLCB3aWR0aCwgaGVpZ2h0LCBjYWxsYmFjaykKLXsK
LSAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Ci0gICAgaW1nLndp
ZHRoID0gd2lkdGg7Ci0gICAgaW1nLmhlaWdodCA9IGhlaWdodDsKLSAgICBpbWcub25sb2FkID0g
Y2FsbGJhY2s7Ci0gICAgaW1nLnNyYyA9IHNyYzsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGltZyk7Ci19Ci0KLWZ1bmN0aW9uIGFkZEltYWdlMSgpIHsgYWRkSW1hZ2UoInJlc291cmNl
cy90ZXN0LmJtcCIsICIyNSIsICIyNSIsIGFkZEltYWdlMik7IH0KLWZ1bmN0aW9uIGFkZEltYWdl
MigpIHsgYWRkSW1hZ2UoInJlc291cmNlcy90ZXN0LmdpZiIsICIyNSIsICIyNSIsIGFkZEltYWdl
Myk7IH0KLWZ1bmN0aW9uIGFkZEltYWdlMygpIHsgYWRkSW1hZ2UoInJlc291cmNlcy90ZXN0Lmlj
byIsICIyNSIsICIyNSIsIGFkZEltYWdlNCk7IH0KLWZ1bmN0aW9uIGFkZEltYWdlNCgpIHsgYWRk
SW1hZ2UoInJlc291cmNlcy90ZXN0LmpwZyIsICIyNSIsICIyNSIsIGFkZEltYWdlNSk7IH0KLWZ1
bmN0aW9uIGFkZEltYWdlNSgpIHsgYWRkSW1hZ2UoInJlc291cmNlcy90ZXN0LnBuZyIsICIyNSIs
ICIyNSIsIGFkZEltYWdlNik7IH0KLWZ1bmN0aW9uIGFkZEltYWdlNigpIHsgYWRkSW1hZ2UoInJl
c291cmNlcy90ZXN0LndlYnAiLCAiMjUiLCAiMjUiLCBhZGRJbWFnZTcpOyB9Ci1mdW5jdGlvbiBh
ZGRJbWFnZTcoKSB7IGFkZEltYWdlKCJyZXNvdXJjZXMvYmlnLnBuZyIsICI1MDAwIiwgIjUwMDAi
LCBkaXNwbGF5UGFnZSk7IH0KLQotZnVuY3Rpb24gZGlzcGxheVBhZ2UoKQotewotICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsKLSAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotICAgIHRlc3RSdW5uZXIuZXZh
bHVhdGVJbldlYkluc3BlY3RvcigwLCAid2luZG93LnN0ZXAyKCkiKTsKLX0KLQotZnVuY3Rpb24g
dGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKHN0ZXAxKTsKLQotICAg
IGZ1bmN0aW9uIHN0ZXAxKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImFkZEltYWdlMSgpIik7Ci0gICAgfQotCi0gICAgd2luZG93LnN0ZXAyID0gZnVuY3Rp
b24oKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDMpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAzKHJlY29yZHMpCi0gICAgewotICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBy
ZWNvcmQgPSByZWNvcmRzW2ldOwotICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkRlY29kZUltYWdlIHx8IHJlY29yZC50
eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJlc2l6ZUltYWdl
KQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZFByb3Bl
cnRpZXMocmVjb3JkKTsKLSAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRl
VGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24g
b2YgYSBEZWNvZGVJbWFnZSBhbmQgUmVzaXplSW1hZ2UgZXZlbnRzCi08L3A+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS90aW1lbGluZS1kb20tY29udGVudC1sb2FkZWQtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRvbS1jb250ZW50
LWxvYWRlZC1ldmVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRhMGIwYzdlYWIxN2U5MDA2OTAyNjIxYzY5Y2QxNDQxYTUyZjY2NGQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRvbS1jb250ZW50LWxvYWRlZC1ldmVudC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1UZXN0cyB0aGUgRE9NIGNvbnRl
bnQgbG9hZGVkIGV2ZW50LgotCi1QYWdlIHJlbG9hZGVkLgotTWFya0RPTUNvbnRlbnQgUHJvcGVy
dGllczoKLXsKLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAg
aXNNYWluRnJhbWUgOiB0cnVlCi0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0
YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJNYXJrRE9NQ29udGVudCIKLSAgICB1c2Vk
SGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtZG9tLWNvbnRlbnQtbG9hZGVkLWV2ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtZG9t
LWNvbnRlbnQtbG9hZGVkLWV2ZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDllNmY0N2NlMTFjZGI5MTI4ZmFkZWU5MzMzODg2ZjJkYzE2OGY2ODEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWRvbS1jb250ZW50LWxvYWRlZC1ldmVudC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNw
ZWN0b3Iuc2hvd1BhbmVsKCJ0aW1lbGluZSIpOwotICAgIGZpbmlzaENhbGxlZCA9IDA7Ci0KLSAg
ICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoZnVuY3Rpb24oKSB7IEluc3BlY3RvclRlc3Qu
cmVsb2FkUGFnZShmaW5pc2gpOyB9KTsKLSAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRU
eXBlKCJNYXJrRE9NQ29udGVudCIsIGNvbnRlbnRFdmVudCk7Ci0KLSAgICBmdW5jdGlvbiBjb250
ZW50RXZlbnQoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoZmlu
aXNoKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBmaW5pc2goKQotICAgIHsKLSAgICAgICAgaWYg
KCsrZmluaXNoQ2FsbGVkIDwgMikKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiTWFya0RPTUNvbnRlbnQiKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBET00gY29u
dGVudCBsb2FkZWQgZXZlbnQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1ldmVudC1k
aXNwYXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1NDE0MjlkMzg1NjY3ODNhOTE5ODI1MjRiZmM0NWQyMDE2NmIyNWNh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1ldmVudC1kaXNwYXRjaC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UZXN0cyB0aGUgVGlt
ZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIERPTSBEaXNwYXRjaCAobW91c2Vkb3duKQot
Ci1UZXN0IE1vdXNlIFRhcmdldAotRXZlbnREaXNwYXRjaCBQcm9wZXJ0aWVzOgotewotICAgIGNo
aWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsK
LSAgICAgICAgdHlwZSA6ICJtb3VzZWRvd24iCi0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVy
PgotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAg
dHlwZSA6ICJFdmVudERpc3BhdGNoIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1l
bGluZS1ldmVudC1kaXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM5OWZhYjYxMDk4M2FjOGM2MDRlYjYzY2E4YWQyMTk4OTljNmMxNGQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGhhbmRsZU1vdXNlRG93bihldmVu
dCkgCi17Ci0gICAgY29uc29sZS50aW1lU3RhbXAoIkhhbmRsaW5nIG1vdXNlZG93biIpOwotfQot
Ci1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0VGFyZ2V0Iik7Ci0gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVu
ZXIoIm1vdXNlZG93biIsIGhhbmRsZU1vdXNlRG93biwgdHJ1ZSk7Ci0gICAgdmFyIHJlY3QgPSB0
YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0KLSAgICAvLyBTaW11bGF0ZSB0aGUgbW91
c2UgZG93biBvdmVyIHRoZSB0YXJnZXQgdG8gdHJpZ2dlciBhbiBFdmVudERpc3BhdGNoCi0gICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICB3aW5kb3cuZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8ocmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDIsIHJlY3QudG9wICsgcmVjdC5oZWln
aHQgLyAyKTsKLSAgICAgICAgd2luZG93LmV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgIH0K
LX0KLQotZnVuY3Rpb24gdGVzdCgpIAotewotICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlv
bnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJFdmVudERpc3BhdGNoIik7Ci19Ci0KLTwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3Rz
IHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgRE9NIERpc3BhdGNoIChtb3Vz
ZWRvd24pCi08L3A+Ci0KLTxkaXYgaWQ9InRlc3RUYXJnZXQiIHN0eWxlPSJ3aWR0aDo0MDBweDsg
aGVpZ2h0OjQwMHB4OyI+Ci1UZXN0IE1vdXNlIFRhcmdldAotPC9kaXY+Ci0KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGlu
ZS90aW1lbGluZS1mcmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWZyYW1lcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM5ZjQ4ZTkyZTQwYjkyYzJlYTBiMTA1ZDQwN2JhNGE5NmU3MTgx
ZTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWZyYW1lcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRlc3RzIHJlcG9ydGluZyBhbmQg
Y2FuY2VsaW5nIG9mIGRpZEJlZ2luRnJhbWUgZXZlbnRzIGluIFRpbWVsaW5lCi0KLUJlZ2luRnJh
bWUKLVRpbWVTdGFtcCA6IEZSQU1FIDEKLUJlZ2luRnJhbWUKLVRpbWVTdGFtcCA6IEZSQU1FIDIK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Rp
bWVsaW5lLWZyYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVs
aW5lL3RpbWVsaW5lLWZyYW1lcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
NzMyNDVjZTIzMWM4MmQyZWJhNWU3N2ViMzE1NGMyYzg2NzU2NTcyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNv
bGV0ZS90aW1lbGluZS90aW1lbGluZS1mcmFtZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQotewotICAgIHdpbmRvdy5pbnRlcm5hbHMu
ZW1pdEluc3BlY3RvckRpZEJlZ2luRnJhbWUoKTsKLSAgICBjb25zb2xlLnRpbWVTdGFtcCgiRlJB
TUUgMSIpOwotCi0gICAgd2luZG93LmludGVybmFscy5lbWl0SW5zcGVjdG9yRGlkQmVnaW5GcmFt
ZSgpOwotICAgIHdpbmRvdy5pbnRlcm5hbHMuZW1pdEluc3BlY3RvckRpZENhbmNlbEZyYW1lKCk7
Ci0KLSAgICB3aW5kb3cuaW50ZXJuYWxzLmVtaXRJbnNwZWN0b3JEaWRCZWdpbkZyYW1lKCk7Ci0g
ICAgY29uc29sZS50aW1lU3RhbXAoIkZSQU1FIDIiKTsKLSAgICB3aW5kb3cuaW50ZXJuYWxzLmVt
aXRJbnNwZWN0b3JEaWRDYW5jZWxGcmFtZSgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAg
ICBmdW5jdGlvbiBmb3JtYXRSZWNvcmQocmVjb3JkKQotICAgIHsKLSAgICAgICAgaWYgKHJlY29y
ZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVTdGFt
cCB8fAotICAgICAgICAgICAgcmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGUuQmVnaW5GcmFtZSkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5k
dW1wVGltZWxpbmVSZWNvcmQocmVjb3JkKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIEluc3Bl
Y3RvclRlc3Quc3RhcnRUaW1lbGluZShmdW5jdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIsIHN0ZXAyKTsKLSAgICB9KTsKLQot
ICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc3RvcFRp
bWVsaW5lKGZpbmlzaCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZmluaXNoKCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMobnVsbCwgZm9ybWF0UmVj
b3JkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRl
c3RzIHJlcG9ydGluZyBhbmQgY2FuY2VsaW5nIG9mIGRpZEJlZ2luRnJhbWUgZXZlbnRzIGluIFRp
bWVsaW5lCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1pbmplY3RlZC1zY3JpcHQtZXZh
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
dGltZWxpbmUtaW5qZWN0ZWQtc2NyaXB0LWV2YWwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0MTExMzVkODM1ZTRkOTY1ZjI0MDA2NTUyOGE0M2Y2YmZhNTU4ODJl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1pbmplY3RlZC1zY3JpcHQt
ZXZhbC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1UZXN0cyB0
aGUgVGltZWxpbmUgQVBJIGZ1bmN0aW9uIGNhbGwgcmVjb3JkIGZvciBJbmplY3RlZFNjcmlwdC5l
dmFsIGNhbGwgZmVhdHVyZS4KLQotRnVuY3Rpb25DYWxsIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hp
bGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewot
ICAgICAgICBzY3JpcHRMaW5lIDogPG51bWJlcj4KLSAgICAgICAgc2NyaXB0TmFtZSA6IDxzdHJp
bmc+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5n
PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJGdW5jdGlvbkNhbGwiCi0g
ICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLUZ1bmN0aW9uQ2FsbCBQcm9wZXJ0aWVzOgot
ewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAg
ZGF0YSA6IHsKLSAgICAgICAgc2NyaXB0TGluZSA6IDxudW1iZXI+Ci0gICAgICAgIHNjcmlwdE5h
bWUgOiA8c3RyaW5nPgotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBmcmFtZUlk
IDogPHN0cmluZz4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiRnVuY3Rp
b25DYWxsIgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1pbmplY3RlZC1z
Y3JpcHQtZXZhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLWluamVjdGVkLXNjcmlwdC1ldmFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI3YmVhMDI2MDYwYzRjNTkzODk3NGU4OWQ5ZDE4ZmIxMDU0NmJkNDYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWluamVjdGVkLXNjcmlwdC1ldmFsLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkK
LXsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5wZXJmb3JtQWN0
aW9uc0FuZFByaW50KCJwZXJmb3JtQWN0aW9ucygpIiwgIkZ1bmN0aW9uQ2FsbCIpOwotfQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0
cyB0aGUgVGltZWxpbmUgQVBJIGZ1bmN0aW9uIGNhbGwgcmVjb3JkIGZvciBJbmplY3RlZFNjcmlw
dC5ldmFsIGNhbGwgZmVhdHVyZS4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUv
dGltZWxpbmUtbGF5b3V0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjk2ZDliNTExYTA0YTRhMWIxZWM3ODdmNzIxNzA2ZjJiMjNhYjJlYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3It
b2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQyICswLDAgQEAKLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0
aW9uIG9mIGEgTGF5b3V0IGV2ZW50Ci0KLXRleHQKLXRleHQKLXRleHQKLXRleHQKLXRleHQKLUxh
eW91dCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVy
cyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgZGlydHlPYmplY3RzIDogMwotICAg
ICAgICBwYXJ0aWFsTGF5b3V0IDogdHJ1ZQotICAgICAgICByb290IDogPG9iamVjdD4KLSAgICAg
ICAgdG90YWxPYmplY3RzIDogOAotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiTGF5b3V0IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxu
dW1iZXI+Ci19Ci1MYXlvdXQgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJlbiA6IDxvYmplY3Q+
Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIGRpcnR5T2Jq
ZWN0cyA6IDIKLSAgICAgICAgcGFydGlhbExheW91dCA6IHRydWUKLSAgICAgICAgcm9vdCA6IDxv
YmplY3Q+Ci0gICAgICAgIHRvdGFsT2JqZWN0cyA6IDExCi0gICAgfQotICAgIGVuZFRpbWUgOiA8
bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0
PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJMYXlvdXQiCi0gICAgdXNl
ZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91dC1yZWFzb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLWxheW91
dC1yZWFzb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMDAx
ZTBjMTVkZDdkZmY5MzAzMDk3ZGJmYjA0MWQ0OTQ2NWNlODMyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtcmVhc29uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDUgKzAsMCBAQAotVGVzdHMgdGhhdCBMYXlvdXQgcmVjb3JkIGhhcyBjb3JyZWN0
IGxvY2F0aW9ucyBvZiBsYXlvdXQgYmVpbmcgaW52YWxpZGF0ZWQgYW5kIGZvcmNlZC4KLQotbGF5
b3V0IGludmFsaWRhdGVkOiBpbnZhbGlkYXRlU3R5bGUKLWxheW91dCBmb3JjZWQ6IGZvcmNlTGF5
b3V0Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGlu
ZS90aW1lbGluZS1sYXlvdXQtcmVhc29uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvdGltZWxpbmUtbGF5b3V0LXJlYXNvbi5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4NDI4MGE0YTM1ZDkwODQwMjM0ZmIyMzc1MzgyODA4YTkzNmRiODU3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQtcmVhc29uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08aHRtbD4KLTxzdHlsZT4KLS50ZXN0
IHsgaGVpZ2h0OiAyMHB4OyB9Ci08L3N0eWxlPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gaW52YWxpZGF0ZVN0eWxlKCkKLXsKLSAgICB2YXIg
ZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0gICAgZWxlbWVudC5j
bGFzc05hbWUgPSAidGVzdCI7Ci19Ci0KLWZ1bmN0aW9uIGZvcmNlTGF5b3V0KCkKLXsKLSAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7Ci0gICAgdmFyIHVu
dXNlZCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0OwotfQotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9u
cygpCi17Ci0gICAgaW52YWxpZGF0ZVN0eWxlKCk7Ci0gICAgZm9yY2VMYXlvdXQoKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZVdpdGhUaW1lbGlu
ZSgicGVyZm9ybUFjdGlvbnMoKSIsIG9uVGltZWxpbmVSZWNvcmRlZCk7Ci0gICAgZnVuY3Rpb24g
b25UaW1lbGluZVJlY29yZGVkKCkKLSAgICB7Ci0gICAgICAgIHZhciBsYXlvdXRSZWNvcmQgPSBJ
bnNwZWN0b3JUZXN0LmZpbmRQcmVzZW50YXRpb25SZWNvcmQoIkxheW91dCIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibGF5b3V0IGludmFsaWRhdGVkOiAiICsgbGF5b3V0UmVj
b3JkLmNhbGxTaXRlU3RhY2tUcmFjZVswXS5mdW5jdGlvbk5hbWUpOwotICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgibGF5b3V0IGZvcmNlZDogIiArIGxheW91dFJlY29yZC5zdGFja1Ry
YWNlWzBdLmZ1bmN0aW9uTmFtZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGF0IExheW91dCByZWNvcmQgaGFzIGNvcnJlY3QgbG9jYXRp
b25zIG9mIGxheW91dCBiZWluZyBpbnZhbGlkYXRlZCBhbmQgZm9yY2VkLgotPC9wPgotPGRpdiBp
ZD0idGVzdCI+PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sYXlvdXQuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQwZWVmMjFhODZmNzBjMjliNDc5Nzg2
Y2E3NGU0YzE0ZTZkMjAwYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
bGF5b3V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90
aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzdHlsZT4KLS5yZWxheW91dC1ib3VuZGFyeSB7
Ci0gICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICB3aWR0aDogMTAwcHg7Ci0gICAgaGVpZ2h0OiAx
MDBweDsKLX0KLTwvc3R5bGU+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBpbnZhbGlkYXRlQW5kRm9y
Y2VMYXlvdXQoZWxlbWVudCkKLXsKLSAgICBlbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9ICIxMHB4
IjsKLSAgICB2YXIgdW51c2VkID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7Ci19Ci0KLWZ1bmN0aW9u
IHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAgICBpbnZhbGlkYXRlQW5kRm9yY2VMYXlvdXQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImludmFsaWRhdGUxIikpOwotICAgIGludmFsaWRhdGVBbmRGb3Jj
ZUxheW91dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW52YWxpZGF0ZTIiKSk7Ci19Ci0KLWZ1
bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInRlc3RS
dW5uZXIuZGlzcGxheSgpIiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucGVy
Zm9ybUFjdGlvbnNBbmRQcmludCgicGVyZm9ybUFjdGlvbnMoKSIsICJMYXlvdXQiKTsKLSAgICB9
KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwPgotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBMYXlvdXQg
ZXZlbnQKLTwvcD4KLTxkaXYgY2xhc3M9InJlbGF5b3V0LWJvdW5kYXJ5Ij4KLSAgICA8ZGl2PnRl
eHQ8L2Rpdj4KLSAgICA8ZGl2PjwvZGl2PgotICAgIDxkaXY+Ci0gICAgICAgIDxkaXYgaWQ9Imlu
dmFsaWRhdGUxIj48ZGl2PnRleHQ8L2Rpdj48L2Rpdj4KLSAgICA8L2Rpdj4KLTwvZGl2PgotPGRp
diBjbGFzcz0icmVsYXlvdXQtYm91bmRhcnkiPgotICAgIDxkaXY+PC9kaXY+Ci0gICAgPGRpdj50
ZXh0PC9kaXY+Ci0gICAgPGRpdiBpZD0iaW52YWxpZGF0ZTIiPjxkaXY+dGV4dDwvZGl2PjwvZGl2
PgotICAgIDxkaXY+PC9kaXY+Ci0gICAgPGRpdj48L2Rpdj4KLSAgICA8ZGl2PnRleHQ8L2Rpdj4K
LTwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1ldmVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1l
dmVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjNmVlZDdk
OGVjZjc5M2E0MTFmNDg3ZGI1YWFjNjdhYmUwNTA5ZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Rp
bWVsaW5lL3RpbWVsaW5lLWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNTAgKzAsMCBAQAotVGVzdHMgdGhlIGxvYWQgZXZlbnQuCi0KLVBhZ2UgcmVsb2FkZWQuCi1N
b2RlbCByZWNvcmRzOgotTWFya0RPTUNvbnRlbnQgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVy
cyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgaXNNYWluRnJhbWUgOiB0cnVlCi0g
ICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0g
ICAgdHlwZSA6ICJNYXJrRE9NQ29udGVudCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgot
fQotTWFya0xvYWQgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAg
ZGF0YSA6IHsKLSAgICAgICAgaXNNYWluRnJhbWUgOiB0cnVlCi0gICAgfQotICAgIGZyYW1lSWQg
OiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJNYXJrTG9h
ZCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotVGltZXN0YW1wIHJlY29yZHM6Ci1N
YXJrRE9NQ29udGVudCBQcm9wZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAg
ICBkYXRhIDogewotICAgICAgICBpc01haW5GcmFtZSA6IHRydWUKLSAgICB9Ci0gICAgZnJhbWVJ
ZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIk1hcmtE
T01Db250ZW50IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci1NYXJrTG9hZCBQcm9w
ZXJ0aWVzOgotewotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAg
ICBpc01haW5GcmFtZSA6IHRydWUKLSAgICB9Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAg
c3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIk1hcmtMb2FkIgotICAgIHVzZWRIZWFw
U2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbG9hZC1ldmVudC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTk5ZjM4NzcyZGMzZjBhMWRiZTZiM2JjNmY1ZTBm
MzBlMTc3MzRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV2
ZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1l
bGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewot
ICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInRpbWVsaW5lIik7Ci0gICAgZmluaXNoQ2FsbGVk
ID0gMDsKLQotICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShmdW5jdGlvbigpIHsgSW5z
cGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZpbmlzaCk7IH0pOwotICAgIEluc3BlY3RvclRlc3Qud2Fp
dEZvclJlY29yZFR5cGUoIk1hcmtMb2FkIiwgY29udGVudEV2ZW50KTsKLQotICAgIGZ1bmN0aW9u
IGNvbnRlbnRFdmVudCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGlu
ZShmaW5pc2gpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAg
ICBpZiAoKytmaW5pc2hDYWxsZWQgIT09IDIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1vZGVsIHJlY29yZHM6Iik7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIk1hcmtET01Db250ZW50Iik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIk1hcmtMb2FkIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUaW1lc3RhbXAgcmVjb3JkczoiKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVzdGFtcFJlY29yZHMoIk1hcmtET01Db250ZW50Iik7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lc3RhbXBSZWNvcmRzKCJNYXJrTG9hZCIp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhlIGxvYWQgZXZlbnQuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1sb2FkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmEyYzI3
YmY4NTRlYjY1NWZjYjI3MjMwMDdiNTcyMTNjZWZiNjdkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbG9hZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
NCArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxpbmUgc2F2ZS9sb2FkIGZ1bmN0aW9uYWxpdHkuCi0K
LUFsc28gdGVzdHMgc2F2ZS9sb2FkIG9mIHVua25vd24gKGluY29tcGF0aWJsZSkgcmVjb3JkIHR5
cGVzLiAoQnVnIDkxNzE0KQotCi0KLVJ1bm5pbmc6IHRlc3ROb3JtYWwKLXBhc3NlZAotCi1SdW5u
aW5nOiB0ZXN0SW5jb21wYXRpYmxlCi1wYXNzZWQKLQotUnVubmluZzogdGVzdE1hbGZvcm1lZAot
cGFzc2VkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS90aW1lbGluZS1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmMDdlNjk3NjI3ZWI2YmU3NmQ5YmNjNjY0MjQ3MjZkNzA0ODBmZjc3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1sb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5
NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIHJ1blRlc3RXaXRoRGF0YUFu
ZENoZWNrKGlucHV0LCBleHBlY3RlZE91dHB1dCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rv
ci5zaG93UGFuZWwoInRpbWVsaW5lIik7Ci0gICAgICAgIHZhciBtb2RlbCA9IG5ldyBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbCgpOwotCi0gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUZpbGVSZWFk
ZXIoZmlsZSwgZGVsZWdhdGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBuZXcgSW5z
cGVjdG9yVGVzdC5GYWtlRmlsZVJlYWRlcihpbnB1dCwgZGVsZWdhdGUsIG1vZGVsLnNhdmVUb0Zp
bGUuYmluZChtb2RlbCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gY3JlYXRlRmls
ZVdyaXRlcihmaWxlTmFtZSwgY2FsbGJhY2spCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhbGxi
YWNrKG5ldyBJbnNwZWN0b3JUZXN0LlN0cmluZ091dHB1dFN0cmVhbShjaGVja1NhdmVEYXRhKSk7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBjaGVja1NhdmVEYXRhKG91dHB1dCkKLSAg
ICAgICAgewotICAgICAgICAgICAgdmFyIHNhdmVEYXRhID0gSlNPTi5wYXJzZShvdXRwdXQpOwot
ICAgICAgICAgICAgc2F2ZURhdGEuc2hpZnQoKTsgLy8gc3RyaXAgdmVyc2lvbiBpbmZvCi0gICAg
ICAgICAgICBleHBlY3RlZE91dHB1dC5zaGlmdCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRFcXVhbHMoSlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRPdXRwdXQpLCBKU09OLnN0cmlu
Z2lmeShzYXZlRGF0YSksICJzYXZlZCBkYXRhIGlzIG5vdCBlcXVhbCB0byByZXN0b3JlZCIpOwot
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInBhc3NlZCIpOwotICAgICAgICB9
Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShtb2RlbCwgIl9jcmVhdGVGaWxlUmVh
ZGVyIiwgY3JlYXRlRmlsZVJlYWRlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUo
bW9kZWwsICJfY3JlYXRlRmlsZVdyaXRlciIsIGNyZWF0ZUZpbGVXcml0ZXIpOwotCi0gICAgICAg
IG1vZGVsLmxvYWRGcm9tRmlsZSh7fSwgbmV3IFdlYkluc3BlY3Rvci5Qcm9ncmVzcygpKTsKLSAg
ICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCi0gICAgICAgIGZ1bmN0aW9u
IHRlc3ROb3JtYWwobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGRhdGEgPSBbIlZl
cnNpb24iLAotICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU0MzE2Ljg0MDgs
ImRhdGEiOnsicmVxdWVzdElkIjo0MywidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnLyIsInJl
cXVlc3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlJlc291cmNlU2VuZFJlcXVlc3QiLCJ1c2VkSGVh
cFNpemUiOjE4MTk5MzYsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAgICAgICAgICAg
IHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTE4LjkzMjksImRhdGEiOnsicmVxdWVzdElkIjo0Mywi
c3RhdHVzQ29kZSI6MjAwLCJtaW1lVHlwZSI6InRleHQvaHRtbCJ9LCJjaGlsZHJlbiI6W10sImVu
ZFRpbWUiOjEzMTA3NDk4NTUxMTguOTY4LCJ0eXBlIjoiUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2Ui
LCJ1c2VkSGVhcFNpemUiOjE4MTk5MzYsInRvdGFsSGVhcFNpemUiOjc2MjkxMjB9LAotICAgICAg
ICAgICAgICAgIHsic3RhcnRUaW1lIjoxMzEwNzQ5ODU1MTM2LjI0NSwiZGF0YSI6eyJyZXF1ZXN0
SWQiOjQ0LCJ1cmwiOiJodHRwOi8vd3d3LndlYmtpdC5vcmcvY3NzL21haW4uY3NzIiwicmVxdWVz
dE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6
ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCi0gICAgICAgICAgICAgICAgeyJz
dGFydFRpbWUiOjEzMTA3NDk4NTUxMzYuNjU1LCJkYXRhIjp7InJlcXVlc3RJZCI6NDUsInVybCI6
Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvZ3JlZW4uY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdF
VCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5Miwi
dG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCi0gICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjEz
MTA3NDk4NTUxMzcuMDIzLCJkYXRhIjp7InJlcXVlc3RJZCI6NDYsInVybCI6Imh0dHA6Ly93d3cu
d2Via2l0Lm9yZy9jc3MvYmx1ZS5jc3MiLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJS
ZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXpl
Ijo3NjI5MTIwfSwKLSAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEzNy4z
NDIsImRhdGEiOnsicmVxdWVzdElkIjo0NywidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nz
cy95ZWxsb3cuY3NzIiwicmVxdWVzdE1ldGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5k
UmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0s
Ci0gICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjEzMTA3NDk4NTUxMzcuNjU2LCJkYXRhIjp7
InJlcXVlc3RJZCI6NDgsInVybCI6Imh0dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvcGluay5jc3Mi
LCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0sInR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNl
ZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3RhbEhlYXBTaXplIjo3NjI5MTIwfSwKLSAgICAgICAgICAg
ICAgICB7InN0YXJ0VGltZSI6MTMxMDc0OTg1NTEzNy45ODksImRhdGEiOnsicmVxdWVzdElkIjo0
OSwidXJsIjoiaHR0cDovL3d3dy53ZWJraXQub3JnL2Nzcy9wdXJwbGUuY3NzIiwicmVxdWVzdE1l
dGhvZCI6IkdFVCJ9LCJ0eXBlIjoiUmVzb3VyY2VTZW5kUmVxdWVzdCIsInVzZWRIZWFwU2l6ZSI6
MjM2NzE5MiwidG90YWxIZWFwU2l6ZSI6NzYyOTEyMH0sCi0gICAgICAgICAgICAgICAgeyJzdGFy
dFRpbWUiOjEzMTA3NDk4NTUxMzguMzA4LCJkYXRhIjp7InJlcXVlc3RJZCI6NTAsInVybCI6Imh0
dHA6Ly93d3cud2Via2l0Lm9yZy9jc3MvZ3JheS5jc3MiLCJyZXF1ZXN0TWV0aG9kIjoiR0VUIn0s
InR5cGUiOiJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwidXNlZEhlYXBTaXplIjoyMzY3MTkyLCJ0b3Rh
bEhlYXBTaXplIjo3NjI5MTIwfQotICAgICAgICAgICAgXTsKLSAgICAgICAgICAgIHZhciBpbnB1
dCA9IEpTT04uc3RyaW5naWZ5KGRhdGEpOwotICAgICAgICAgICAgcnVuVGVzdFdpdGhEYXRhQW5k
Q2hlY2soaW5wdXQsIGRhdGEpOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0g
ICAgICAgIGZ1bmN0aW9uIHRlc3RJbmNvbXBhdGlibGUobmV4dCkKLSAgICAgICAgewotICAgICAg
ICAgICAgdmFyIGRhdGEgPSBbIlZlcnNpb24iLAotICAgICAgICAgICAgICAgIHsic3RhcnRUaW1l
IjoxMzEwNzQ5ODU0MzE2Ljg0MDgsImRhdGEiOnsicmVxdWVzdElkIjo0MywidXJsIjoiaHR0cDov
L3d3dy53ZWJraXQub3JnLyIsInJlcXVlc3RNZXRob2QiOiJHRVQifSwidHlwZSI6IlVua25vd25S
ZWNvcmRUeXBlIiwidVwic31lfWRIZWFwU2l6ZVxcIjoxODE5OTM2LCJ0b3RhbEhlYXBTaXplIjo3
NjI5MTIwfQotICAgICAgICAgICAgXTsKLSAgICAgICAgICAgIHZhciBpbnB1dCA9IEpTT04uc3Ry
aW5naWZ5KGRhdGEpOwotICAgICAgICAgICAgcnVuVGVzdFdpdGhEYXRhQW5kQ2hlY2soaW5wdXQs
IGRhdGEpOwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RNYWxmb3JtZWQobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGRhdGEg
PSBbIlZlcnNpb24iXTsKLSAgICAgICAgICAgIC8vIEF0IGxlYXN0IDEgcmVjb3JkIGlzIHBhcnNl
ZCBpbiBmaXJzdCBjaHVuay4KLSAgICAgICAgICAgIHZhciBpbnB1dCA9ICdbIlZlcnNpb24iLCcK
LSAgICAgICAgICAgICAgICArJ3sic3RhcnRUaW1lIjoxMzEwNzQ5ODU0MzE2Ljg0MDgsImRhdGEi
OnsicmVxdWVzdElkIjo0M30sInR5cGUiOiJVbmtub3duUmVjb3JkVHlwZSJ9LCcKLSAgICAgICAg
ICAgICAgICArJ3sic3RhcnRUaW1lIjoxMzEwNzQ5ODU0MzE2Ljg1MDgsImRhdGEiOnsicmVxdWVz
dElkIjo0M30sInR5cGUiOiJVbmtub3duUmVjb3JkVHlwZSJ9LCcKLSAgICAgICAgICAgICAgICAr
J3sic3RhcnRUaW1lIjoxMzEwNzQ5ODU0MzE2Ljg2MDgsImRhdGEiOnsicmVxdWVzdElkIjo0M30s
InR5cGUiOiJVbmtub3duUmVjb3JkVHlwZSJ9LCcKLSAgICAgICAgICAgICAgICArJ3sic3RhcnRU
aW1lIjoxMzEwNzQ5ODU0MzE2Ljg3MDgsImRhdGEiOnsicmVxdWVzdElkIjo0M19NQUxGT1JNRURf
SlNPTl99LCJ0eXBlIjoiVW5rbm93blJlY29yZFR5cGUifV0nOwotICAgICAgICAgICAgcnVuVGVz
dFdpdGhEYXRhQW5kQ2hlY2soaW5wdXQsIGRhdGEpOwotICAgICAgICAgICAgbmV4dCgpOwotICAg
ICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBzYXZlL2xvYWQgZnVuY3Rpb25h
bGl0eS4KLTwvcD4KLQotPHA+Ci1BbHNvIHRlc3RzIHNhdmUvbG9hZCBvZiB1bmtub3duIChpbmNv
bXBhdGlibGUpIHJlY29yZCB0eXBlcy4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkxNzE0Ij4oQnVnIDkxNzE0KTwvYT4KLTwvcD4KLQotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVs
aW5lL3RpbWVsaW5lLW5ldHdvcmstcmVjZWl2ZWQtZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZl
ZC1kYXRhLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNmMGUz
NDEyN2M1ZjZiZmM5ODIyZWE0ZmNhYjY4NDA3YmNlOGQzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNlaXZlZC1kYXRhLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IFNjcmlw
dCBldmFsdWF0ZWQKLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEg
bmV0d29yayByZXNvdXJjZSByZWNlaXZlZCBkYXRhCi0KLVNjcmlwdCByZXNvdXJjZSBsb2FkZWQK
LVJlc291cmNlIHJlY2VpdmVkIGRhdGEgaGFzIGxlbmd0aCwgdGVzdCBwYXNzZWQuCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1u
ZXR3b3JrLXJlY2VpdmVkLWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlY2VpdmVkLWRhdGEuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMWJmYjg4YTgxOGIzZjBlYjQzMmI0MjMxYWNjZWQ3ODI1OTQ4
ODQ0MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZWNl
aXZlZC1kYXRhLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciBzY3JpcHRVcmwg
PSAidGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5qcyI7Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rp
b25zKCkgCi17Ci0gICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7Ci0gICAgaW1hZ2Uuc3JjID0g
InJlc291cmNlcy9hbkltYWdlLnBuZyI7Ci0gICAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRVcmw7Ci0gICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICB2YXIgc2NyaXB0VXJsID0gInRpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMiOwotCi0g
ICAgdmFyIGNhbGxlZE9uY2U7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1B
Y3Rpb25zKCkiKTsKLSAgICB9KTsKLQotICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclJlY29yZFR5
cGUoIlJlc291cmNlUmVjZWl2ZWREYXRhIiwgZmluaXNoKTsKLQotICAgIGZ1bmN0aW9uIGZpbmlz
aChvYmplY3QpCi0gICAgewotICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iamVjdCkgewotICAg
ICAgICAgICAgaWYgKCFJbnNwZWN0b3JUZXN0LnRpbWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJzW3By
b3BdKSB7Ci0gICAgICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqZWN0W3Byb3Bd
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gImVuY29kZWREYXRhTGVu
Z3RoIikgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjYWxsZWRPbmNlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGVkT25jZSA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlc291cmNlIHJlY2VpdmVk
IGRhdGEgaGFzIGxlbmd0aCwgdGVzdCBwYXNzZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0K
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3JrIHJl
c291cmNlIHJlY2VpdmVkIGRhdGEKLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1uZXR3b3Jr
LXJlc291cmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90
aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDc4NzNjNGEwMmVlMzliZGU3M2MxNWM0NzljOTljZDEwYzAz
NjkzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNv
dXJjZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNzogU2NyaXB0IGV2YWx1YXRlZAotVGVzdHMgdGhlIFRpbWVsaW5lIEFQ
SSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3JrIHJlc291cmNlIGxvYWQKLQotU2NyaXB0IHJl
c291cmNlIGxvYWRlZAotCi1SZXNvdXJjZVNlbmRSZXF1ZXN0IFByb3BlcnRpZXM6Ci17Ci0gICAg
Y291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIHJlcXVlc3RJZCA6IDxz
dHJpbmc+Ci0gICAgICAgIHJlcXVlc3RNZXRob2QgOiAiR0VUIgotICAgICAgICB1cmwgOiA8c3Ry
aW5nPgotICAgIH0KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9i
amVjdD4KLSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzb3VyY2VTZW5k
UmVxdWVzdCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCi1SZXNvdXJjZVJlY2Vp
dmVSZXNwb25zZSBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBj
b3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgbWltZVR5cGUgOiA8c3Ry
aW5nPgotICAgICAgICByZXF1ZXN0SWQgOiA8c3RyaW5nPgotICAgICAgICBzdGF0dXNDb2RlIDog
MAotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBmcmFtZUlkIDogPHN0cmluZz4K
LSAgICBzdGFydFRpbWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUmVzb3VyY2VSZWNlaXZlUmVz
cG9uc2UiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLQotUmVzb3VyY2VGaW5pc2gg
UHJvcGVydGllczoKLXsKLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAg
ICAgICAgZGlkRmFpbCA6IGZhbHNlCi0gICAgICAgIHJlcXVlc3RJZCA6IDxzdHJpbmc+Ci0gICAg
fQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAg
dHlwZSA6ICJSZXNvdXJjZUZpbmlzaCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGlt
ZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZGExMmI1YjAwM2ZmMWRlNGQzMTVkYWFhNTdjZTUxOTg5YjI5Yjlj
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJj
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotdmFyIHNjcmlwdFVybCA9ICJ0aW1l
bGluZS1uZXR3b3JrLXJlc291cmNlLmpzIjsKLQotZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKSAK
LXsKLSAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0g
ICAgc2NyaXB0LnNyYyA9IHNjcmlwdFVybDsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHNjcmlwdCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHZhciByZXF1ZXN0SWQ7Ci0g
ICAgdmFyIHNjcmlwdFVybCA9ICJ0aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzIjsKLQotICAg
IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInRpbWVsaW5lIik7Ci0gICAgdmFyIG1vZGVsID0gV2Vi
SW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fbW9kZWw7Ci0gICAgdmFyIHByZXNlbnRhdGlvbk1v
ZGVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fcHJlc2VudGF0aW9uTW9kZWw7Ci0g
ICAgcHJlc2VudGF0aW9uTW9kZWwuc2V0R2x1ZVJlY29yZHModHJ1ZSk7Ci0KLSAgICBJbnNwZWN0
b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMo
KSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LnN0b3BUaW1lbGluZShzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAg
IHsKLSAgICAgICAgdmFyIGxhc3RSZWNvcmRTdGFydFRpbWU7Ci0gICAgICAgIGZ1bmN0aW9uIGZv
cm1hdChyZWNvcmQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZVNlbmRSZXF1ZXN0
KQotICAgICAgICAgICAgICAgIHByaW50U2VuZChyZWNvcmQuX3JlY29yZCk7Ci0gICAgICAgICAg
ICBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVj
b3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZSkKLSAgICAgICAgICAgICAgICBwcmludFJl
Y2VpdmUocmVjb3JkLl9yZWNvcmQpOwotICAgICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUg
PT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VGaW5pc2gp
Ci0gICAgICAgICAgICAgICAgcHJpbnRGaW5pc2gocmVjb3JkLl9yZWNvcmQpOwotCi0gICAgICAg
ICAgICBpZiAocmVjb3JkLnBhcmVudCAmJiByZWNvcmQucGFyZW50LnR5cGUgPT09IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUm9vdCkgewotICAgICAgICAgICAgICAgIGlm
IChsYXN0UmVjb3JkU3RhcnRUaW1lKQotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydEdyZWF0ZXJPckVxdWFsKHJlY29yZC5zdGFydFRpbWUsIGxhc3RSZWNvcmRTdGFydFRp
bWUsICJUb3AgbGV2ZWwgcmVjb3JkcyBvcmRlciB2aW9sYXRpb24iKTsKLSAgICAgICAgICAgICAg
ICBsYXN0UmVjb3JkU3RhcnRUaW1lID0gcmVjb3JkLnN0YXJ0VGltZTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5mb3JBbGxSZWNvcmRzKFtwcmVzZW50YXRpb25Nb2RlbC5yb290UmVjb3JkKCldLCBmb3JtYXQp
OwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHByaW50UmVjb3JkKHJlY29yZCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jk
UHJvcGVydGllcyhyZWNvcmQpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHByaW50U2VuZChyZWNv
cmQpCi0gICAgewotICAgICAgICBwcmludFJlY29yZChyZWNvcmQpOwotICAgICAgICByZXF1ZXN0
SWQgPSByZWNvcmQuZGF0YS5yZXF1ZXN0SWQ7Ci0gICAgICAgIGlmIChyZWNvcmQuZGF0YS51cmwg
PT09IHVuZGVmaW5lZCkgCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiKiBO
byAndXJsJyBwcm9wZXJ0eSBpbiByZWNvcmQiKTsKLSAgICAgICAgZWxzZSBpZiAocmVjb3JkLmRh
dGEudXJsLmluZGV4T2Yoc2NyaXB0VXJsKSA9PT0gLTEpCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiKiBEaWRuJ3QgZmluZCBVUkw6ICIgKyBzY3JpcHRVcmwpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHByaW50UmVjZWl2ZShyZWNvcmQpCi0gICAgewotICAgICAgICBwcmlu
dFJlY29yZChyZWNvcmQpOwotICAgICAgICBpZiAocmVxdWVzdElkICE9PSByZWNvcmQuZGF0YS5y
ZXF1ZXN0SWQpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRGlkbid0IGZp
bmQgbWF0Y2hpbmcgcmVxdWVzdElkOiAiICsgcmVxdWVzdElkKTsKLSAgICAgICAgaWYgKHJlY29y
ZC5kYXRhLnN0YXR1c0NvZGUgIT09IDApCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiUmVzcG9uc2UgcmVjZWl2ZWQgc3RhdHVzOiAiICsgcmVjb3JkLmRhdGEuc3RhdHVzQ29k
ZSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcHJpbnRGaW5pc2gocmVjb3JkKQotICAgIHsKLSAg
ICAgICAgcHJpbnRSZWNvcmQocmVjb3JkKTsKLSAgICAgICAgaWYgKHJlcXVlc3RJZCAhPT0gcmVj
b3JkLmRhdGEucmVxdWVzdElkKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IkRpZG4ndCBmaW5kIG1hdGNoaW5nIHJlcXVlc3RJZDogIiArIHJlcXVlc3RJZCk7Ci0gICAgICAg
IGlmIChyZWNvcmQuZGF0YS5kaWRGYWlsKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlJlcXVlc3QgZmFpbGVkLiIpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVsaW5lIEFQ
SSBpbnN0cnVtZW50YXRpb24gb2YgYSBuZXR3b3JrIHJlc291cmNlIGxvYWQKLTwvcD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90
aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0ODk3NmUwMDE5ZmExMDE4YWNlMGU3NTE1ZjZhM2Jh
MDA5ZGY5ZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmst
cmVzb3VyY2UuanMKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLS8vIFNhbXBsZSBzY3Jp
cHQgcmVzb3VyY2UgdG8gZmluZCBpbiB0aW1lbGluZSBkYXRhCi0KLXZhciBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci1lbGVtZW50LmlubmVySFRNTCA9ICJTY3JpcHQg
cmVzb3VyY2UgbG9hZGVkIjsKLWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0K
LWNvbnNvbGUubG9nKCJTY3JpcHQgZXZhbHVhdGVkIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFpbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU4YmVlYTdhNzY0
ZWQwYjNkZDY2ZTk5MzkyZGQxYWFkY2RhZjU5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxp
bmUvdGltZWxpbmUtcGFpbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAs
MCBAQAotVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBwYWludCBl
dmVudAotCi0KLVBhaW50IFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0Pgot
ICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBjbGlwIDogPG9i
amVjdD4KLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJp
bmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4K
LSAgICB0eXBlIDogIlBhaW50IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS1wYWludC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3Rp
bWVsaW5lLXBhaW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3OGVkNTY0
MGIxNDdkNzk2ZGVlZTk0MDE5YjBiYTdhODk3ZjM0MTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3Rp
bWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIGRpc3BsYXkoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
dGVzdFJ1bm5lci5kaXNwbGF5KCk7Ci19Ci0KLWZ1bmN0aW9uIHVwZGF0ZVN1YmZyYW1lQW5kRGlz
cGxheSgpCi17Ci0gICAgZnJhbWVzWzBdLmRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uc3R5bGUu
YmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgIHRlc3RSdW5uZXIuZGlzcGxheUludmFsaWRhdGVkUmVnaW9uKCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIHN0ZXAxKCk7Ci0KLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aFRpbWVsaW5lKCJkaXNwbGF5KCki
LCBzdGVwMik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIocmVjb3JkcykKLSAgICB7Ci0g
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkcy5sZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgdmFyIHJlY29yZCA9IHJlY29yZHNbaV07Ci0gICAgICAgICAgICBpZiAocmVjb3JkLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUGFpbnQpIHsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVz
KHJlY29yZCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZVdpdGhUaW1lbGluZSgidXBkYXRlU3Vi
ZnJhbWVBbmREaXNwbGF5KCkiLCBzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
cmVjb3JkcykKLSAgICB7Ci0gICAgICAgIHZhciBwYWludFJlY29yZDsKLSAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCByZWNvcmRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgcmVj
b3JkID0gcmVjb3Jkc1tpXTsKLSAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5QYWludCAmJiByZWNvcmQuY2hpbGRyZW4g
JiYgcmVjb3JkLmNoaWxkcmVuLmxlbmd0aCkgewotICAgICAgICAgICAgICAgIHBhaW50UmVjb3Jk
ID0gcmVjb3JkOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShwYWludFJlY29yZCwgIlBhaW50
IHJlY29yZCB3aXRoIHN1YmZyYW1lIHBhaW50IG5vdCBmb3VuZCIpOwotICAgICAgICB2YXIgdG9w
UXVhZCA9IHBhaW50UmVjb3JkLmRhdGEuY2xpcDsKLSAgICAgICAgdmFyIHN1YmZyYW1lUGFpbnQg
PSBwYWludFJlY29yZC5jaGlsZHJlblswXTsKLSAgICAgICAgdmFyIHN1YmZyYW1lUXVhZCA9IHN1
YmZyYW1lUGFpbnQuZGF0YS5jbGlwOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cyg4LCB0b3BRdWFkLmxlbmd0aCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxz
KDgsIHN1YmZyYW1lUXVhZC5sZW5ndGgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdy
ZWF0ZXJPckVxdWFsKHN1YmZyYW1lUXVhZFswXSwgdG9wUXVhZFswXSk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwoc3ViZnJhbWVRdWFkWzFdLCB0b3BRdWFkWzFd
KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbCh0b3BRdWFkWzJd
LCBzdWJmcmFtZVF1YWRbMl0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJP
ckVxdWFsKHN1YmZyYW1lUXVhZFszXSwgdG9wUXVhZFszXSk7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwodG9wUXVhZFs0XSwgc3ViZnJhbWVRdWFkWzRdKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbCh0b3BRdWFkWzVdLCBzdWJm
cmFtZVF1YWRbNV0pOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFs
KHN1YmZyYW1lUXVhZFs2XSwgdG9wUXVhZFs2XSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0R3JlYXRlck9yRXF1YWwodG9wUXVhZFs3XSwgc3ViZnJhbWVRdWFkWzddKTsKLQotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVs
aW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBwYWludCBldmVudAotPC9wPgotPGlmcmFtZSBz
cmM9InJlc291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbCIgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgbGVmdDogNDBweDsgdG9wOiA0MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDog
MTAwcHg7IGJvcmRlcjogbm9uZSI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFy
c2UtaHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtcGFyc2UtaHRtbC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDBmOGQ3M2I5NTY2MTc5ODU4YWYyNTE2NjIzZWNjODQ5M2I0MjhmNzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXBhcnNlLWh0bWwtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotVGVzdHMgdGhlIFRpbWVsaW5lIEFQ
SSBpbnN0cnVtZW50YXRpb24gb2YgUGFyc2VIVE1MCi0KLVRlc3QgZGF0YQotUGFyc2VIVE1MIFBy
b3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9i
amVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBlbmRMaW5lIDogMAotICAgICAgICBzdGFydExp
bmUgOiAwCi0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3Ry
aW5nPgotICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+
Ci0gICAgdHlwZSA6ICJQYXJzZUhUTUwiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0K
LVBhcnNlSFRNTCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBj
b3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgZW5kTGluZSA6IDAKLSAg
ICAgICAgc3RhcnRMaW5lIDogMAotICAgIH0KLSAgICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiUGFyc2VIVE1MIgotICAgIHVzZWRIZWFwU2l6ZSA6
IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS1wYXJzZS1odG1sLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcGFyc2UtaHRtbC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2MjYyMWE0ZjYzNTQxYWRmNDc0YTNiMTVmYmZhODUwZTNkNzNl
MDM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1wYXJzZS1odG1sLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkK
LXsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAg
IGVsZW1lbnQuaW5uZXJIVE1MID0gIlRlc3QgZGF0YSI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChlbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9y
VGVzdC5wZXJmb3JtQWN0aW9uc0FuZFByaW50KCJwZXJmb3JtQWN0aW9ucygpIiwgIlBhcnNlSFRN
TCIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBQYXJzZUhU
TUwgCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVs
aW5lLXJlY2FsY3VsYXRlLXN0eWxlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUzNzkzZTliNGRlYmQ0MjE3M2MyY2ZkOGI3NDM1ZjlmZjk1ZDgxZjIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2FsY3VsYXRlLXN0eWxlcy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1UZXN0cyB0aGUgVGltZWxp
bmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBhIHN0eWxlIHJlY2FsY3VsYXRpb24gZXZlbnQKLQot
VGVzdCBkYXRhCi1SZWNhbGN1bGF0ZVN0eWxlcyBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVu
IDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICB9
Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3Rh
cnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlJlY2FsY3VsYXRlU3R5bGVzIgotICAgIHVz
ZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNhbGN1bGF0ZS1zdHlsZXMuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNhbGN1
bGF0ZS1zdHlsZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc2YTM3MzBl
YTMyZjU5OTEzOWIxODI3YWJjYmI0NjA1MDcxNGNkZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtcmVjYWxjdWxhdGUtc3R5bGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwzNiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLQot
PHN0eWxlPgotLnRlc3Qtc3R5bGUgewotICAgIGNvbG9yOiByZWQ7Ci19Ci08L3N0eWxlPgotCi08
c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICBlbGVtZW50LmNsYXNzTmFtZSA9
ICJ0ZXN0LXN0eWxlIjsKLSAgICBlbGVtZW50LmlubmVySFRNTCA9ICJUZXN0IGRhdGEiOwotICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KQotewotICAgIEluc3BlY3RvclRlc3QucGVyZm9ybUFjdGlvbnNBbmRQcmludCgicGVyZm9ybUFj
dGlvbnMoKSIsICJSZWNhbGN1bGF0ZVN0eWxlcyIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4K
LQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgQVBJ
IGluc3RydW1lbnRhdGlvbiBvZiBhIHN0eWxlIHJlY2FsY3VsYXRpb24gZXZlbnQKLTwvcD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2VpdmUtcmVzcG9uc2UtZXZlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXJlY2Vp
dmUtcmVzcG9uc2UtZXZlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhZDlmYTZjMzJiNjRlNjRjNTMxZmRhZDk4NGRmMzUxZjY1NmNkYzBlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRlc3RzIHRoZSBUaW1lbGlu
ZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgU2VuZFJlcXVlc3QsIFJlY2VpdmVSZXNwb25zZSBl
dGMuCi0KLUZ1bmN0aW9uQ2FsbAotRnVuY3Rpb25DYWxsCi1SZXNvdXJjZVNlbmRSZXF1ZXN0Ci0g
ICAgUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UKLSAgICBSZXNvdXJjZVJlY2VpdmVkRGF0YQotICAg
IFJlc291cmNlRmluaXNoCi1FdmVudERpc3BhdGNoCi0gICAgRnVuY3Rpb25DYWxsCi1SZXNvdXJj
ZVNlbmRSZXF1ZXN0Ci0gICAgUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UKLSAgICBSZXNvdXJjZVJl
Y2VpdmVkRGF0YQotICAgIFJlc291cmNlRmluaXNoCi1FdmVudERpc3BhdGNoCi0gICAgRnVuY3Rp
b25DYWxsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS90aW1lbGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtcmVjZWl2ZS1yZXNwb25zZS1ldmVu
dC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmFkNjIyMjU4NjVlMGE0MTll
YmUyMDRmZmU2MjI0MTkwM2UyYmZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1l
bGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2ZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3NyAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAgICB2YXIgaW1hZ2UgPSBuZXcgSW1h
Z2UoKTsKLSAgICBpbWFnZS5vbmxvYWQgPSBiYXI7Ci0gICAgaW1hZ2Uuc3JjID0gInJlc291cmNl
cy9hbkltYWdlLnBuZyI7Ci0KLSAgICBmdW5jdGlvbiBiYXIoKSB7Ci0gICAgICAgIHZhciBpbWFn
ZSA9IG5ldyBJbWFnZSgpOwotICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgdGVz
dFJ1bm5lci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKDAsICJ3aW5kb3cuc3RlcDIoKSIpOyB9Ci0g
ICAgICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvYW5vdGhlckltYWdlLnBuZyI7Ci0gICAgfQot
fQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJ0aW1l
bGluZSIpOwotICAgIFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsLl9jb2xsZWN0
aW9uRW5hYmxlZCA9IHRydWU7Ci0gICAgV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fcHJl
c2VudGF0aW9uTW9kZWwuc2V0R2x1ZVJlY29yZHModHJ1ZSk7Ci0gICAgV2ViSW5zcGVjdG9yLnBh
bmVscy50aW1lbGluZS5fbW9kZWwuX2NvbGxlY3Rpb25FbmFibGVkID0gdHJ1ZTsKLQotICAgIFRp
bWVsaW5lQWdlbnQuc3RhcnQoc3RlcDEpOwotCi0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIp
OwotICAgIH0KLQotICAgIHdpbmRvdy5zdGVwMiA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAg
IFRpbWVsaW5lQWdlbnQuc3RvcChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMo
KQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gZHVtcEZvcm1hdHRlZFJlY29yZChyZWNvcmQsIHBy
ZWZpeCkKLSAgICAgICAgewotICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeCB8fCAiIjsKLSAg
ICAgICAgICAgICAvLyBIZXJlIGFuZCBiZWxvdzogcHJldGVuZCBjb2FsZXNjZWQgcmVjb3JkIGFy
ZSBqdXN0IG5vdCB0aGVyZSwgYXMgY29hbGVzY2F0aW9uIGlzIHRpbWUgZGVwZW5kZW50IGFuZCwg
aGVuY2UsIG5vdCBzdGFibGUuCi0gICAgICAgICAgICAgaWYgKCFyZWNvcmQuY29hbGVzY2VkICYm
IHJlY29yZC50eXBlICE9PSAiR0NFdmVudCIpCi0gICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KHByZWZpeCArIHJlY29yZC50eXBlKTsKLSAgICAgICAgICAgICAvLyBJZ25v
cmUgc3RyYXkgcGFpbnQgJiByZW5kZXJpbmcgZXZlbnRzIGZvciBiZXR0ZXIgc3RhYmlsaXR5Lgot
ICAgICAgICAgICAgIGlmIChyZWNvcmQuY2F0ZWdvcnkubmFtZSAhPT0gImxvYWRpbmciICYmIHJl
Y29yZC5jYXRlZ29yeS5uYW1lICE9PSAic2NyaXB0aW5nIikKLSAgICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgIGlmIChyZWNvcmQuX2NoaWxkcmVuKSB7Ci0gICAgICAgICAgICAg
ICAgIHZhciBjaGlsZFByZWZpeCA9IHByZWZpeCArIChyZWNvcmQuY29hbGVzY2VkID8gIiIgOiAi
ICAgICIpOwotICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZC5fY2hp
bGRyZW4ubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgICAgICBkdW1wRm9ybWF0dGVkUmVj
b3JkKHJlY29yZC5fY2hpbGRyZW5baV0sIGNoaWxkUHJlZml4KTsKLSAgICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy50aW1lbGluZS5fbW9kZWwuX2Nv
bGxlY3Rpb25FbmFibGVkID0gZmFsc2U7Ci0KLSAgICAgICAgdmFyIHJlY29yZHMgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLnRpbWVsaW5lLl9yb290UmVjb3JkKCkuY2hpbGRyZW47Ci0gICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIGR1bXBG
b3JtYXR0ZWRSZWNvcmQocmVjb3Jkc1tpXSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7Ci0gICAgfQotfQotCi1pZiAoIXdpbmRvdy50ZXN0UnVubmVyKQotICAgIHNldFRp
bWVvdXQocGVyZm9ybUFjdGlvbnMsIDMwMDApOwotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3Ry
dW1lbnRhdGlvbiBvZiBhIFNlbmRSZXF1ZXN0LCBSZWNlaXZlUmVzcG9uc2UgZXRjLgotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jz
b2xldGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWU0NTU3MDJhM2Zk
ZjU4MTFiZjEzZGE0OGFjODRkZjM4MmUxM2YxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGlu
ZS90aW1lbGluZS1zY3JpcHQtdGFnLTEtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MjQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IGlmcmFtZSBsb2FkZWQKLVRlc3Rz
IHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGFuIEhUTUwgc2NyaXB0IHRhZy4K
LQotCi1QYXJzZUhUTUwKLVBhcnNlSFRNTAotLS0tLT4gRXZhbHVhdGVTY3JpcHQKLS0tLS0tLS0t
PiBUaW1lU3RhbXAgOiBTQ1JJUFQgVEFHCi1FdmFsdWF0ZVNjcmlwdCBQcm9wZXJ0aWVzOgotewot
ICAgIGNoaWxkcmVuIDogPG9iamVjdD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0
YSA6IHsKLSAgICAgICAgbGluZU51bWJlciA6IDxudW1iZXI+Ci0gICAgICAgIHVybCA6IDxzdHJp
bmc+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5n
PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJFdmFsdWF0ZVNjcmlwdCIK
LSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotUGFyc2VIVE1MCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQt
dGFnLTEuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1l
bGluZS1zY3JpcHQtdGFnLTEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Zh
MjgxYzVhZDU2MmRkNGZiZGVmMjA4YjUzNjhmNTJiMjY0NDYxMC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw1OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAgICB2YXIgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9ICJyZXNv
dXJjZXMvdGltZWxpbmUtaWZyYW1lLWRhdGEuaHRtbCI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWUpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkgCi17Ci0gICAgSW5zcGVjdG9y
VGVzdC5zdGFydFRpbWVsaW5lKHN0ZXAxKTsKLSAgICBmdW5jdGlvbiBzdGVwMSgpCi0gICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXAyKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIpOwotICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc3Rv
cFRpbWVsaW5lKHN0ZXAzKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMygpCi0gICAgewot
ICAgICAgICBmdW5jdGlvbiBmb3JtYXQocmVjb3JkKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUu
RXZhbHVhdGVTY3JpcHQpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVs
aW5lUmVjb3JkUHJvcGVydGllcyhyZWNvcmQpOwotICAgICAgICAgICAgZWxzZSBpZiAocmVjb3Jk
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUGFyc2VIVE1M
KSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gW107Ci0gICAgICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHJlY29yZC5jaGlsZHJlbltpXS50eXBlICE9PSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJlY2FsY3VsYXRlU3R5bGVzKQotICAgICAgICAg
ICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChyZWNvcmQuY2hpbGRyZW5baV0pOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZWNvcmQuY2hpbGRyZW4gPSBjaGlsZHJlbjsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBUaW1lbGluZVJlY29yZChyZWNvcmQp
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRU
aW1lbGluZVJlY29yZHMobnVsbCwgZm9ybWF0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0
aW9uIG9mIGFuIEhUTUwgc2NyaXB0IHRhZy4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5l
LXNjcmlwdC10YWctMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xl
dGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0yLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzQwNmE5MjZlNjFhMzAwNTI2ODk4ZTMwNDIwOWZiYjJlNjc3
OTQzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0y
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxOiBTQ1JJUFQgVEFHCi1UZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1l
bnRhdGlvbiBvZiBhIHNjcmlwdCB0YWcgd2l0aCBhbiBleHRlcm5hbCBzY3JpcHQuCi0KLUV2YWx1
YXRlU2NyaXB0IFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNv
dW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBsaW5lTnVtYmVyIDogPG51
bWJlcj4KLSAgICAgICAgdXJsIDogPHN0cmluZz4KLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1i
ZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAg
ICB0eXBlIDogIkV2YWx1YXRlU2NyaXB0IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOGY2YmVhYmU5YjYzODRmMzRjM2Q1NGQ5NzIwOGRkZmEwMGMyZmQxMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0yLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAg
ICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgc2Ny
aXB0LnNyYyA9ICJ0aW1lbGluZS1zY3JpcHQtdGFnLTIuanMiOwotICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoc2NyaXB0KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpIAotewotICAgIEluc3Bl
Y3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZvcm1BY3Rpb25zKCkiKTsKLSAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LnN0b3BUaW1lbGluZShzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAg
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiRXZhbHVhdGVT
Y3JpcHQiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4K
LVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgc2NyaXB0IHRhZyB3
aXRoIGFuIGV4dGVybmFsIHNjcmlwdC4KLTwvcD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXNj
cmlwdC10YWctMi5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS1zY3JpcHQtdGFnLTIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkw
NTdhMzczZmU1NTAwMzVhMzFmMmQ0MjBmYjYwZDg0NTJkMjJkZWUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMi5qcworKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLWNvbnNvbGUubG9nKCJTQ1JJUFQgVEFHIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxp
bmUtc3RhcnQtdGltZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRmMWFmMmQwODFhOGIyNjljYTIyMmQxOTFhYmQxZDAxMzE5YjFmMjguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9i
c29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi1UZXN0cyBzYW5pdHkgb2YgdGltZWxpbmUgdGltZXN0YW1w
cy4KLQotZG9uZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
LW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXN0YXJ0LXRpbWUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWMyMzdjYjhlNGRlZWUxYTkyM2E2M2I0NGQ5YmI0YTdmYjU5NWFk
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtc3RhcnQtdGltZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17
Ci0gICAgY29uc29sZS50aW1lU3RhbXAoInRpbWUgaXMgYW4gaWxsdXNpb24iKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdCgpCi17Ci0gICAgdmFyIGJlZm9yZVN0YXJ0ID0gRGF0ZS5ub3coKTsKLSAgICBJ
bnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoKTsKLSAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JS
ZWNvcmRUeXBlKCJUaW1lU3RhbXAiLCBvblRpbWVTdGFtcCk7Ci0gICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIpOwotCi0gICAgZnVuY3Rpb24gb25UaW1l
U3RhbXAocmVjb3JkKQotICAgIHsKLSAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7Ci0gICAg
ICAgIHZhciBldmVudFRpbWUgPSByZWNvcmQuc3RhcnRUaW1lOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKGV2ZW50VGltZSwgYmVmb3JlU3RhcnQsICJldmVudCB0
aW1lIHNob3VsZCBiZSBhZnRlciB0aW1lbGluZSBzdGFydCB0aW1lIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwobm93LCBNYXRoLmZsb29yKGV2ZW50VGltZSks
ICJldmVudCB0aW1lIHNob3VsZCBiZSBiZWZvcmUgbm93Iik7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJkb25lIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Quc3RvcFRpbWVsaW5l
KEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0LmJpbmQoSW5zcGVjdG9yVGVzdCkpOwotICAgIH0K
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdHMgc2FuaXR5IG9mIHRpbWVsaW5lIHRpbWVzdGFtcHMuCi08L3A+Ci0KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1l
bGluZS90aW1lbGluZS10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1v
YnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDAwMWM3YzljN2U4MjU1ODM2NWE5Y2M4Mzg5MTA1MmFhYTM2MTI2
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1UZXN0IHRpbWUvdGltZUVuZCBuZXN0aW5n
IChCdWcgMTAwOTM2KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUtc3RhbXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUtc3RhbXAtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTc1Nzc0OTcwODExNmE2ODFiNzQ2
YjFjZjQ5NjQ0N2U5YWE1ZjIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGlu
ZS10aW1lLXN0YW1wLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAK
LVRlc3RzIHRoZSBUaW1lbGluZSBBUEkgdGltZVN0YW1wIGZlYXR1cmUKLQotVGltZVN0YW1wIFBy
b3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAg
ICAgIG1lc3NhZ2UgOiAiVElNRSBTVEFNUCIKLSAgICB9Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+
Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAg
ICB0eXBlIDogIlRpbWVTdGFtcCIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotVGlt
ZXN0YW1wIHJlY29yZHM6IAotVGltZVN0YW1wIFByb3BlcnRpZXM6Ci17Ci0gICAgY291bnRlcnMg
OiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAgICAgIG1lc3NhZ2UgOiAiVElNRSBTVEFNUCIK
LSAgICB9Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+
Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlRpbWVTdGFtcCIKLSAgICB1
c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZS1zdGFtcC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWUtc3RhbXAuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQ2OTI2MGMwNmM0MGZiMDg5OGFlZjM5
ODI4NTcwODMzZGFiNzZkYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
dGltZS1zdGFtcC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBwZXJm
b3JtQWN0aW9ucygpCi17Ci0gICAgY29uc29sZS50aW1lU3RhbXAoIlRJTUUgU1RBTVAiKTsKLX0K
LQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5wZXJmb3JtQWN0aW9uc0Fu
ZFByaW50KCJwZXJmb3JtQWN0aW9ucygpIiwgIlRpbWVTdGFtcCIsIHRydWUpOwotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0cyB0
aGUgVGltZWxpbmUgQVBJIHRpbWVTdGFtcCBmZWF0dXJlCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90
aW1lbGluZS10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxp
bmUvdGltZWxpbmUtdGltZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZTRh
YzRhZmEyYjQwZmY2YzlmOWM2MTg1OWFmNmRlOGFkOWRjNzM2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0
ZS90aW1lbGluZS90aW1lbGluZS10aW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0K
LWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInRpbWVsaW5l
Iik7Ci0KLSAgICB2YXIgZGF0YSA9IFsiVmVyc2lvbiIsCi0gICAgICAgIHsic3RhcnRUaW1lIjox
MywiZGF0YSI6e30sImVuZFRpbWUiOjE5LCJ0eXBlIjoiUHJvZ3JhbSIsImNoaWxkcmVuIjpbCi0g
ICAgICAgICAgICB7InN0YXJ0VGltZSI6MTQsImRhdGEiOnsidHlwZSI6ImNsaWNrIn0sImVuZFRp
bWUiOjE4LCJ0eXBlIjoiRXZlbnREaXNwYXRjaCIsImZyYW1lSWQiOiIyIiwiY2hpbGRyZW4iOlsK
LSAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MTUsImRhdGEiOnsic2NyaXB0TmFtZSI6ImZv
by5odG1sIiwic2NyaXB0TGluZSI6N30sImVuZFRpbWUiOjE3LCJ0eXBlIjoiRnVuY3Rpb25DYWxs
IiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WwotICAgICAgICAgICAgICAgICAgICB7InN0YXJ0
VGltZSI6MTYsImRhdGEiOnsibWVzc2FnZSI6ImhlbGxvIn0sInR5cGUiOiJUaW1lIiwiZnJhbWVJ
ZCI6IjIifQotICAgICAgICAgICAgICAgIF19Ci0gICAgICAgICAgICBdfQotICAgICAgICBdfSwK
LSAgICAgICAgeyJzdGFydFRpbWUiOjI1LCJkYXRhIjp7fSwiZW5kVGltZSI6MzUsInR5cGUiOiJQ
cm9ncmFtIiwiY2hpbGRyZW4iOlsKLSAgICAgICAgICAgIHsic3RhcnRUaW1lIjoyNiwiZGF0YSI6
eyJ0eXBlIjoiY2xpY2sifSwiZW5kVGltZSI6MzQsInR5cGUiOiJFdmVudERpc3BhdGNoIiwiZnJh
bWVJZCI6IjIiLCJjaGlsZHJlbiI6WwotICAgICAgICAgICAgICAgIHsic3RhcnRUaW1lIjoyNywi
ZGF0YSI6eyJzY3JpcHROYW1lIjoiZm9vLmh0bWwiLCJzY3JpcHRMaW5lIjoxNX0sImVuZFRpbWUi
OjMzLCJ0eXBlIjoiRnVuY3Rpb25DYWxsIiwiZnJhbWVJZCI6IjIiLCJjaGlsZHJlbiI6WwotICAg
ICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MjgsImRhdGEiOnsibWVzc2FnZSI6ImJvb20i
fSwidHlwZSI6IlRpbWUiLCJmcmFtZUlkIjoiMiJ9LAotICAgICAgICAgICAgICAgICAgICB7InN0
YXJ0VGltZSI6MjksImRhdGEiOnt9LCJ0eXBlIjoiU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24i
LCJmcmFtZUlkIjoiMiJ9LAotICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MzAsImRh
dGEiOnt9LCJjaGlsZHJlbiI6W10sImVuZFRpbWUiOjMxLCJ0eXBlIjoiUmVjYWxjdWxhdGVTdHls
ZXMiLCJmcmFtZUlkIjoiMiJ9LAotICAgICAgICAgICAgICAgICAgICB7InN0YXJ0VGltZSI6MzIs
ImRhdGEiOnsibWVzc2FnZSI6ImJvb20ifSwidHlwZSI6IlRpbWVFbmQiLCJmcmFtZUlkIjoiMiJ9
Ci0gICAgICAgICAgICAgICAgXX0KLSAgICAgICAgICAgIF19Ci0gICAgICAgIF19LAotICAgICAg
ICB7InN0YXJ0VGltZSI6NDEsImRhdGEiOnt9LCJlbmRUaW1lIjo0NywidHlwZSI6IlByb2dyYW0i
LCJjaGlsZHJlbiI6WwotICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQyLCJkYXRhIjp7InR5cGUi
OiJjbGljayJ9LCJlbmRUaW1lIjo0NiwidHlwZSI6IkV2ZW50RGlzcGF0Y2giLCJmcmFtZUlkIjoi
MiIsImNoaWxkcmVuIjpbCi0gICAgICAgICAgICAgICAgeyJzdGFydFRpbWUiOjQzLCJkYXRhIjp7
InNjcmlwdE5hbWUiOiJmb28uaHRtbCIsInNjcmlwdExpbmUiOjExfSwiZW5kVGltZSI6NDUsInR5
cGUiOiJGdW5jdGlvbkNhbGwiLCJmcmFtZUlkIjoiMiIsImNoaWxkcmVuIjpbCi0gICAgICAgICAg
ICAgICAgICAgIHsic3RhcnRUaW1lIjo0NCwiZGF0YSI6eyJtZXNzYWdlIjoiaGVsbG8ifSwidHlw
ZSI6IlRpbWVFbmQiLCJmcmFtZUlkIjoiMiJ9Ci0gICAgICAgICAgICAgICAgXX0KLSAgICAgICAg
ICAgIF19Ci0gICAgICAgIF19Ci0gICAgXTsKLQotICAgIHZhciBpbnB1dCA9IEpTT04uc3RyaW5n
aWZ5KGRhdGEpOwotICAgIHZhciBtb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUu
X21vZGVsOwotICAgIHZhciBwcmVzZW50YXRpb25Nb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMu
dGltZWxpbmUuX3ByZXNlbnRhdGlvbk1vZGVsOwotICAgIHByZXNlbnRhdGlvbk1vZGVsLnNldEds
dWVSZWNvcmRzKHRydWUpOwotCi0gICAgZnVuY3Rpb24gY3JlYXRlRmlsZVJlYWRlcihmaWxlLCBk
ZWxlZ2F0ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgSW5zcGVjdG9yVGVzdC5GYWtlRmls
ZVJlYWRlcihpbnB1dCwgZGVsZWdhdGUsIG9uRGF0YUxvYWRlZCk7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gb25EYXRhTG9hZGVkKCkKLSAgICB7Ci0gICAgICAgIHZhciByb290ID0gcHJlc2VudGF0
aW9uTW9kZWwucm9vdFJlY29yZCgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFs
cyg0LCByb290LmNoaWxkcmVuLmxlbmd0aCk7Ci0KLSAgICAgICAgdmFyIHRpbWUxID0gcm9vdC5j
aGlsZHJlblsxXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoIlRpbWUiLCB0
aW1lMS50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoMiwgdGltZTEu
Y2hpbGRyZW4ubGVuZ3RoKTsKLSAgICAgICAgdmFyIHRpbWVFbmQxID0gdGltZTEuY2hpbGRyZW5b
MV07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJUaW1lRW5kIiwgdGltZUVu
ZDEudHlwZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRpbWUxLCB0aW1l
RW5kMS50aW1lUmVjb3JkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModGlt
ZUVuZDEsIHRpbWUxLnRpbWVFbmRSZWNvcmQpOwotCi0gICAgICAgIHZhciB0aW1lMiA9IHRpbWUx
LmNoaWxkcmVuWzBdOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygiVGltZSIs
IHRpbWUyLnR5cGUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscygxLCB0aW1l
Mi5jaGlsZHJlbi5sZW5ndGgpOwotICAgICAgICB2YXIgdGltZUVuZDIgPSB0aW1lMi5jaGlsZHJl
blswXTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoIlRpbWVFbmQiLCB0aW1l
RW5kMi50eXBlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHModGltZTIsIHRp
bWVFbmQyLnRpbWVSZWNvcmQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0
aW1lRW5kMiwgdGltZTIudGltZUVuZFJlY29yZCk7Ci0KLSAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKG1vZGVs
LCAiX2NyZWF0ZUZpbGVSZWFkZXIiLCBjcmVhdGVGaWxlUmVhZGVyKTsKLSAgICBtb2RlbC5sb2Fk
RnJvbUZpbGUoe30sIG5ldyBXZWJJbnNwZWN0b3IuUHJvZ3Jlc3MoKSk7Ci19Ci0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRlc3QgdGltZS90
aW1lRW5kIG5lc3RpbmcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMDkzNiI+KEJ1ZyAxMDA5MzYpPC9hPgotPC9wPgotCi08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGlt
ZWxpbmUtdGltZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRl
L3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzVkYTNlMTY0OWMzZWQxZDVkNDQyMmZhZWJmYjU1NzM4YmViZjhmMS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZXItZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTUyICswLDAgQEAKLVRlc3RzIHRoZSBUaW1lbGluZSBldmVudHMg
Zm9yIFRpbWVycwotCi1UaW1lckluc3RhbGwgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVycyA6
IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgc2luZ2xlU2hvdCA6IHRydWUKLSAgICAg
ICAgdGltZW91dCA6IDEwCi0gICAgICAgIHRpbWVySWQgOiA8bnVtYmVyPgotICAgIH0KLSAgICBm
cmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFja1RyYWNlIDogPG9iamVjdD4KLSAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiVGltZXJJbnN0YWxsIgotICAgIHVzZWRIZWFwU2l6
ZSA6IDxudW1iZXI+Ci19Ci1UaW1lckluc3RhbGwgUHJvcGVydGllczoKLXsKLSAgICBjb3VudGVy
cyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgc2luZ2xlU2hvdCA6IGZhbHNlCi0g
ICAgICAgIHRpbWVvdXQgOiAyMAotICAgICAgICB0aW1lcklkIDogPG51bWJlcj4KLSAgICB9Ci0g
ICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhY2tUcmFjZSA6IDxvYmplY3Q+Ci0gICAgc3Rh
cnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlRpbWVySW5zdGFsbCIKLSAgICB1c2VkSGVh
cFNpemUgOiA8bnVtYmVyPgotfQotVGltZXJGaXJlIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRy
ZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAg
ICAgICB0aW1lcklkIDogPG51bWJlcj4KLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0g
ICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBl
IDogIlRpbWVyRmlyZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotVGltZXJGaXJl
IFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDog
PG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICB0aW1lcklkIDogPG51bWJlcj4KLSAgICB9
Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3Rh
cnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIlRpbWVyRmlyZSIKLSAgICB1c2VkSGVhcFNp
emUgOiA8bnVtYmVyPgotfQotVGltZXJGaXJlIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4g
OiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAg
ICB0aW1lcklkIDogPG51bWJlcj4KLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAg
ZnJhbWVJZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDog
IlRpbWVyRmlyZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotVGltZXJSZW1vdmUg
UHJvcGVydGllczoKLXsKLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAg
ICAgICAgdGltZXJJZCA6IDxudW1iZXI+Ci0gICAgfQotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgot
ICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAg
dHlwZSA6ICJUaW1lclJlbW92ZSIKLSAgICB1c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotRnVu
Y3Rpb25DYWxsIFByb3BlcnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNv
dW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRhIDogewotICAgICAgICBzY3JpcHRMaW5lIDogPG51
bWJlcj4KLSAgICAgICAgc2NyaXB0TmFtZSA6IDxzdHJpbmc+Ci0gICAgfQotICAgIGVuZFRpbWUg
OiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1i
ZXI+Ci0gICAgdHlwZSA6ICJGdW5jdGlvbkNhbGwiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJl
cj4KLX0KLUZ1bmN0aW9uQ2FsbCBQcm9wZXJ0aWVzOgotewotICAgIGNoaWxkcmVuIDogPG9iamVj
dD4KLSAgICBjb3VudGVycyA6IDxvYmplY3Q+Ci0gICAgZGF0YSA6IHsKLSAgICAgICAgc2NyaXB0
TGluZSA6IDxudW1iZXI+Ci0gICAgICAgIHNjcmlwdE5hbWUgOiA8c3RyaW5nPgotICAgIH0KLSAg
ICBlbmRUaW1lIDogPG51bWJlcj4KLSAgICBmcmFtZUlkIDogPHN0cmluZz4KLSAgICBzdGFydFRp
bWUgOiA8bnVtYmVyPgotICAgIHR5cGUgOiAiRnVuY3Rpb25DYWxsIgotICAgIHVzZWRIZWFwU2l6
ZSA6IDxudW1iZXI+Ci19Ci1GdW5jdGlvbkNhbGwgUHJvcGVydGllczoKLXsKLSAgICBjaGlsZHJl
biA6IDxvYmplY3Q+Ci0gICAgY291bnRlcnMgOiA8b2JqZWN0PgotICAgIGRhdGEgOiB7Ci0gICAg
ICAgIHNjcmlwdExpbmUgOiA8bnVtYmVyPgotICAgICAgICBzY3JpcHROYW1lIDogPHN0cmluZz4K
LSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJZCA6IDxzdHJpbmc+Ci0g
ICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIkZ1bmN0aW9uQ2FsbCIKLSAgICB1
c2VkSGVhcFNpemUgOiA8bnVtYmVyPgotfQotRnVuY3Rpb25DYWxsIFByb3BlcnRpZXM6Ci17Ci0g
ICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVjdD4KLSAgICBkYXRh
IDogewotICAgICAgICBzY3JpcHRMaW5lIDogPG51bWJlcj4KLSAgICAgICAgc2NyaXB0TmFtZSA6
IDxzdHJpbmc+Ci0gICAgfQotICAgIGVuZFRpbWUgOiA8bnVtYmVyPgotICAgIGZyYW1lSWQgOiA8
c3RyaW5nPgotICAgIHN0YXJ0VGltZSA6IDxudW1iZXI+Ci0gICAgdHlwZSA6ICJGdW5jdGlvbkNh
bGwiCi0gICAgdXNlZEhlYXBTaXplIDogPG51bWJlcj4KLX0KLUV2YWx1YXRlU2NyaXB0IFByb3Bl
cnRpZXM6Ci17Ci0gICAgY2hpbGRyZW4gOiA8b2JqZWN0PgotICAgIGNvdW50ZXJzIDogPG9iamVj
dD4KLSAgICBkYXRhIDogewotICAgICAgICBsaW5lTnVtYmVyIDogPG51bWJlcj4KLSAgICAgICAg
dXJsIDogPHN0cmluZz4KLSAgICB9Ci0gICAgZW5kVGltZSA6IDxudW1iZXI+Ci0gICAgZnJhbWVJ
ZCA6IDxzdHJpbmc+Ci0gICAgc3RhcnRUaW1lIDogPG51bWJlcj4KLSAgICB0eXBlIDogIkV2YWx1
YXRlU2NyaXB0IgotICAgIHVzZWRIZWFwU2l6ZSA6IDxudW1iZXI+Ci19Ci0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lci1m
aXJlZC1mcm9tLWV2YWwtY2FsbC1zaXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10aW1lci1maXJlZC1mcm9tLWV2YWwtY2Fs
bC1zaXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFhOWM3
ZWYwODQyNWU3YzQxODcxYTc0YmMyNWIwNzM5MTA1NTM2Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dGltZWxpbmUvdGltZWxpbmUtdGltZXItZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRlc3RzIHRoZSBUaW1lbGluZSBB
UEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgVGltZXJGaXJlZCBldmVudHMgaW5zaWRlIGV2YWx1YXRl
ZCBzY3JpcHRzLgotCi1UaW1lckZpcmUgOjIKLVRpbWVyRmlyZSA6MQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdGltZXItZmly
ZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRpbWVyLWZpcmVkLWZyb20tZXZhbC1jYWxsLXNpdGUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzlmZWU4NjQ5ODBlZjgzOWNhMDRhM2U2
NTAxNzJlOWQ1MmRlNTU0YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUt
dGltZXItZmlyZWQtZnJvbS1ldmFsLWNhbGwtc2l0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NTcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotCi1mdW5jdGlvbiBwZXJmb3JtQWN0aW9ucygpCi17Ci0gICAgdmFyIGNvbnRlbnQgPSAi
IiArIAotICAgICAgICAidmFyIGZuMiA9IGZ1bmN0aW9uKCkge2NvbnNvbGUudGltZVN0YW1wKFwi
U2NyaXB0IGV2YWx1YXRlZFwiKTt9O1xcbiIgKwotICAgICAgICAidmFyIGZuMSA9IGZ1bmN0aW9u
KCkge3dpbmRvdy5zZXRUaW1lb3V0KGZuMiwgMSk7fTtcXG4iICsKLSAgICAgICAgIndpbmRvdy5z
ZXRUaW1lb3V0KGZuMSwgMSk7XFxuIgotICAgIGNvbnRlbnQgPSAiZXZhbCgnIiArIGNvbnRlbnQg
KyAiLy9AIHNvdXJjZVVSTD1mcm9tRXZhbC5qcyIgKyAiJyk7IjsKLSAgICB2YXIgc2NyaXB0RWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwotICAgIHZhciBjb250ZW50
Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpOwotICAgIHNjcmlwdEVsZW1l
bnQuYXBwZW5kQ2hpbGQoY29udGVudE5vZGUpOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoc2NyaXB0RWxlbWVudCk7Ci0gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JpcHRF
bGVtZW50KTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgSW5zcGVjdG9yVGVzdC5zdGFy
dFRpbWVsaW5lKHN0YXJ0KTsKLSAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKCJU
aW1lU3RhbXAiLCBmaW5pc2gpOwotCi0gICAgZnVuY3Rpb24gc3RhcnQoKQotICAgIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgicGVyZm9ybUFjdGlvbnMoKSIpOwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBmb3Jt
YXR0ZXIocmVjb3JkKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09
ICJUaW1lckZpcmUiKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGZuQ2FsbFNpdGUgPSByZWNvcmQu
Y2hpbGRyZW5bMF0uZGF0YTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChyZWNvcmQudHlwZSArICIgIiArIGZuQ2FsbFNpdGUuc2NyaXB0TmFtZSArICI6IiArIGZuQ2Fs
bFNpdGUuc2NyaXB0TGluZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcyhudWxsLCBmb3JtYXR0ZXIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLQotaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICBzZXRUaW1lb3V0KHBlcmZvcm1BY3Rpb25zLCAzMDAwKTsKLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMg
dGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBUaW1lckZpcmVkIGV2ZW50cyBp
bnNpZGUgZXZhbHVhdGVkIHNjcmlwdHMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS90aW1lbGluZS90aW1lbGluZS10
aW1lci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5lL3RpbWVs
aW5lLXRpbWVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxYWU2ZmM4YjZm
MjE3YWNhZjE1NWViYjY5MGM1NzM3ZjlmNzdjY2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVs
aW5lL3RpbWVsaW5lLXRpbWVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0
aW9uIHBlcmZvcm1BY3Rpb25zKCkKLXsKLSAgICB2YXIgdGltZXJPbmUgPSBzZXRUaW1lb3V0KCIx
ICsgMSIsIDEwKTsKLSAgICB2YXIgdGltZXJUd28gPSBzZXRJbnRlcnZhbChpbnRlcnZhbFRpbWVy
V29yaywgMjApOwotICAgIHZhciBpdGVyYXRpb24gPSAwOwotCi0gICAgZnVuY3Rpb24gaW50ZXJ2
YWxUaW1lcldvcmsoKQotICAgIHsKLSAgICAgICAgaWYgKCsraXRlcmF0aW9uIDwgMikKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lclR3byk7Ci0gICAgfQot
fQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBlcmZv
cm1BY3Rpb25zKCkiKTsKLSAgICB9KTsKLQotICAgIEluc3BlY3RvclRlc3Qud2FpdEZvclJlY29y
ZFR5cGUoIlRpbWVyUmVtb3ZlIiwgZmluaXNoKTsKLQotICAgIGZ1bmN0aW9uIGZpbmlzaCgpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRzKCJUaW1lcklu
c3RhbGwiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcygiVGlt
ZXJGaXJlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMoIlRp
bWVyUmVtb3ZlIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMo
IkZ1bmN0aW9uQ2FsbCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNv
cmRzKCJFdmFsdWF0ZVNjcmlwdCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOwotICAgIH0KLX0KLQotaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKLSAgICBzZXRUaW1lb3V0
KHBlcmZvcm1BY3Rpb25zLCAyMDAwKTsKLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLTxwPgotVGVzdHMgdGhlIFRpbWVsaW5lIGV2ZW50cyBmb3IgVGlt
ZXJzCi08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0M2Y3ZGJkMGVlYjIx
NTQ1NmRkNTM4M2E0MjhhMGZlMGYxZTlkNjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3RpbWVsaW5l
L3RpbWVsaW5lLXRyaXZpYWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCww
IEBACi1Ucml2aWFsIHVzZSBvZiBpbnNwZWN0b3IgZnJvbnRlbmQgdGVzdHMKLQotVGltZWxpbmUg
c3RhcnRlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdGlt
ZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29s
ZXRlL3RpbWVsaW5lL3RpbWVsaW5lLXRyaXZpYWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZTBmZDZjNjVjODIzNWRhYTMxZjc1OTM5OGEyMWNiMWE0ODM0YzRlOC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Itb2Jzb2xldGUvdGltZWxpbmUvdGltZWxpbmUtdHJpdmlhbC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIC8qIFRoaXMgdGVzdCBzZWVt
cyBzaWxseSwgYnV0IG9yaWdpbmFsbHkgaXQgdGlja2xlZCBidWcgMzEwODAgKi8KLSAgICBmdW5j
dGlvbiBjYWxsYmFjaygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
VGltZWxpbmUgc3RhcnRlZCIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoY2FsbGJhY2spOwotfQot
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4g
Ci1Ucml2aWFsIHVzZSBvZiBpbnNwZWN0b3IgZnJvbnRlbmQgdGVzdHMKLTwvcD4KLQotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3V0
aWxpdGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUvdXRp
bGl0aWVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I2NjRk
OGYwMWM1MTkxMTdjYzM4N2I4MzAxNmRlMTU1ODM3MzE4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Itb2Jzb2xldGUv
dXRpbGl0aWVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVRo
aXMgdGVzdCBjaGVja3MgV2ViIEluc3BlY3RvciB1dGlsaXRpZXMuCi0KLQotUnVubmluZzogYmlu
YXJ5SW5kZXhPZlRlc3QKLQotUnVubmluZzogbG93ZXJCb3VuZFRlc3QKLQotUnVubmluZzogdXBw
ZXJCb3VuZFRlc3QKLQotCi1SdW5uaW5nOiBxc2VsZWN0VGVzdAotQXJyYXk6IFtdCi1SZWZlcmVu
Y2U6IHt9Ci1BY3R1YWw6ICAgIHt9Ci1BcnJheTogWzBdCi1SZWZlcmVuY2U6IHsibWluIjowLCJt
ZWRpYW4iOjAsIm1heCI6MH0KLUFjdHVhbDogICAgeyJtaW4iOjAsIm1lZGlhbiI6MCwibWF4Ijow
fQotQXJyYXk6IFswLDAsMCwwLDAsMCwwLDBdCi1SZWZlcmVuY2U6IHsibWluIjowLCJtZWRpYW4i
OjAsIm1heCI6MH0KLUFjdHVhbDogICAgeyJtaW4iOjAsIm1lZGlhbiI6MCwibWF4IjowfQotQXJy
YXk6IFs0LDMsMiwxXQotUmVmZXJlbmNlOiB7Im1pbiI6MSwibWVkaWFuIjozLCJtYXgiOjR9Ci1B
Y3R1YWw6ICAgIHsibWluIjoxLCJtZWRpYW4iOjMsIm1heCI6NH0KLUFycmF5OiBbMSwyLDMsNCw1
XQotUmVmZXJlbmNlOiB7Im1pbiI6MSwibWVkaWFuIjozLCJtYXgiOjV9Ci1BY3R1YWw6ICAgIHsi
bWluIjoxLCJtZWRpYW4iOjMsIm1heCI6NX0KLUFycmF5OiBbLTEsMywyLDcsNyw3LDEwLDEyLDMs
NCwtMSwyXQotUmVmZXJlbmNlOiB7Im1pbiI6LTEsIm1lZGlhbiI6NCwibWF4IjoxMn0KLUFjdHVh
bDogICAgeyJtaW4iOi0xLCJtZWRpYW4iOjQsIm1heCI6MTJ9Ci0KLVJ1bm5pbmc6IHNvcnRSYW5n
ZVRlc3QKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3V0aWxp
dGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLW9ic29sZXRlL3V0aWxpdGllcy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDcxZDU1MDNiYzljMGFlOTcxYmY4OWRl
MWNkYTQ2OGU4YTgzOGM3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1vYnNvbGV0ZS91dGlsaXRpZXMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDE5NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1
aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gYmluYXJ5SW5kZXhPZlRlc3QobmV4dCkKLSAgICAgICAg
ewotICAgICAgICAgICAgdmFyIHRlc3RBcnJheXMgPSBbCi0gICAgICAgICAgICAgICAgW10sCi0g
ICAgICAgICAgICAgICAgWzFdLAotICAgICAgICAgICAgICAgIFsxLCAxMF0sCi0gICAgICAgICAg
ICAgICAgWzEsIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTAwXSwKLSAgICAgICAgICAgICAgICBbLTEw
MCwgLTUwLCAwLCA1MCwgMTAwXSwKLSAgICAgICAgICAgICAgICBbLTEwMCwgLTE0LCAtMTMsIC0x
MiwgLTExLCAtMTAsIC0xXQotICAgICAgICAgICAgXTsKLSAgICAgCi0gICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0QXJyYXkoYXJyYXkpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZnVu
Y3Rpb24gY29tcGFyYXRvcihhLCBiKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGEgPCBiID8gLTEgOiAoYSA+IGIgPyAxIDogMCk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gLTEwMDsgaSA8PSAxMDA7
ICsraSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgcmVmZXJlbmNlID0gYXJyYXkuaW5kZXhP
ZihpKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGFjdHVhbCA9IGFycmF5LmJpbmFyeUluZGV4
T2YoaSwgY29tcGFyYXRvcik7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0RXF1YWxzKHJlZmVyZW5jZSwgYWN0dWFsLCAiYmluYXJ5SW5kZXhPZiIpOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAg
ICAgCi0gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHRlc3RBcnJheXMubGVuZ3RoOyBp
IDwgbDsgKytpKQotICAgICAgICAgICAgICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldKTsKLSAg
ICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwKLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9u
IGxvd2VyQm91bmRUZXN0KG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciB0ZXN0QXJy
YXlzID0gWwotICAgICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgICAgIFsxXSwKLSAgICAg
ICAgICAgICAgICBbLTEsIC0xLCAwLCAwLCAwLCAwLCAyLCAzLCA0LCA0LCA0LCA3LCA5LCA5LCA5
XQotICAgICAgICAgICAgXTsKLSAgICAgICAgCi0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0QXJy
YXkoYXJyYXksIHVzZUNvbXBhcmF0b3IpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ZnVuY3Rpb24gY29tcGFyYXRvcihhLCBiKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGEgPCBiID8gLTEgOiAoYSA+IGIgPyAxIDogMCk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3IgKHZhciB2YWx1ZSA9IC0yOyB2
YWx1ZSA8PSAxMjsgKyt2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSB1
c2VDb21wYXJhdG9yID8gYXJyYXkubG93ZXJCb3VuZCh2YWx1ZSwgY29tcGFyYXRvcikgOiBhcnJh
eS5sb3dlckJvdW5kKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRUcnVlKDAgPD0gaW5kZXggJiYgaW5kZXggPD0gYXJyYXkubGVuZ3RoLCAiaW5kZXggaXMg
d2l0aGluIGJvdW5kcyIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dFRydWUoaW5kZXggPT09IDAgfHwgYXJyYXlbaW5kZXggLSAxXSA8IHZhbHVlLCAiYXJyYXlbaW5k
ZXggLSAxXSA8IHZhbHVlIik7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0VHJ1ZShpbmRleCA9PT0gYXJyYXkubGVuZ3RoIHx8IGFycmF5W2luZGV4XSA+PSB2YWx1ZSwg
ImFycmF5W2luZGV4XSA+PSB2YWx1ZSIpOwotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDAsIGwgPSB0ZXN0QXJyYXlzLmxlbmd0aDsgaSA8IGw7ICsraSkgewotICAgICAgICAgICAg
ICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgdGVz
dEFycmF5KHRlc3RBcnJheXNbaV0sIHRydWUpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
bmV4dCgpOwotICAgICAgICB9LAotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gdXBwZXJCb3Vu
ZFRlc3QobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHRlc3RBcnJheXMgPSBbCi0g
ICAgICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgICAgWzFdLAotICAgICAgICAgICAgICAg
IFstMSwgLTEsIDAsIDAsIDAsIDAsIDIsIDMsIDQsIDQsIDQsIDcsIDksIDksIDldCi0gICAgICAg
ICAgICBdOwotICAgICAgICAKLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcnJheShhcnJheSwg
dXNlQ29tcGFyYXRvcikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBj
b21wYXJhdG9yKGEsIGIpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gYSA8IGIgPyAtMSA6IChhID4gYiA/IDEgOiAwKTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICAgICAgICAgIGZvciAodmFyIHZhbHVlID0gLTI7IHZhbHVlIDw9IDEy
OyArK3ZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHVzZUNvbXBhcmF0
b3IgPyBhcnJheS51cHBlckJvdW5kKHZhbHVlLCBjb21wYXJhdG9yKSA6IGFycmF5LnVwcGVyQm91
bmQodmFsdWUpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUo
MCA8PSBpbmRleCAmJiBpbmRleCA8PSBhcnJheS5sZW5ndGgsICJpbmRleCBpcyB3aXRoaW4gYm91
bmRzIik7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShpbmRl
eCA9PT0gMCB8fCBhcnJheVtpbmRleCAtIDFdIDw9IHZhbHVlLCAiYXJyYXlbaW5kZXggLSAxXSA8
PSB2YWx1ZSIpOwotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUo
aW5kZXggPT09IGFycmF5Lmxlbmd0aCB8fCBhcnJheVtpbmRleF0gPiB2YWx1ZSwgImFycmF5W2lu
ZGV4XSA+IHZhbHVlIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gdGVzdEFycmF5cy5sZW5ndGg7IGkg
PCBsOyArK2kpIHsKLSAgICAgICAgICAgICAgICB0ZXN0QXJyYXkodGVzdEFycmF5c1tpXSwgZmFs
c2UpOwotICAgICAgICAgICAgICAgIHRlc3RBcnJheSh0ZXN0QXJyYXlzW2ldLCB0cnVlKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgfSwKLSAgICAgICAgCi0K
LSAgICAgICAgZnVuY3Rpb24gcXNlbGVjdFRlc3QobmV4dCkKLSAgICAgICAgewotICAgICAgICAg
ICAgdmFyIHRlc3RBcnJheXMgPSBbCi0gICAgICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAg
ICAgWzBdLAotICAgICAgICAgICAgICAgIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSwKLSAgICAg
ICAgICAgICAgICBbNCwgMywgMiwgMV0sCi0gICAgICAgICAgICAgICAgWzEsIDIsIDMsIDQsIDVd
LAotICAgICAgICAgICAgICAgIFstMSwgMywgMiwgNywgNywgNywgMTAsIDEyLCAzLCA0LCAtMSwg
Ml0KLSAgICAgICAgICAgIF07Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RBcnJheShhcnJh
eSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiBjb21wYXJlKGEsIGIp
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gYSAtIGI7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHZhciBzb3J0ZWQgPSBhcnJheS5zbGlj
ZSgwKS5zb3J0KGNvbXBhcmUpOwotCi0gICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IHsK
LSAgICAgICAgICAgICAgICAgICAgbWluOiBzb3J0ZWRbMF0sCi0gICAgICAgICAgICAgICAgICAg
IG1lZGlhbjogc29ydGVkW01hdGguZmxvb3Ioc29ydGVkLmxlbmd0aCAvIDIpXSwKLSAgICAgICAg
ICAgICAgICAgICAgbWF4OiBzb3J0ZWRbc29ydGVkLmxlbmd0aCAtIDFdCi0gICAgICAgICAgICAg
ICAgfTsKLQotICAgICAgICAgICAgICAgIHZhciBhY3R1YWwgPSB7Ci0gICAgICAgICAgICAgICAg
ICAgIG1pbjogYXJyYXkuc2xpY2UoMCkucXNlbGVjdCgwKSwKLSAgICAgICAgICAgICAgICAgICAg
bWVkaWFuOiBhcnJheS5zbGljZSgwKS5xc2VsZWN0KE1hdGguZmxvb3IoYXJyYXkubGVuZ3RoIC8g
MikpLAotICAgICAgICAgICAgICAgICAgICBtYXg6IGFycmF5LnNsaWNlKDApLnFzZWxlY3QoYXJy
YXkubGVuZ3RoIC0gMSkKLSAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJBcnJheTogIiArIEpTT04uc3RyaW5naWZ5KGFycmF5KSk7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlZmVyZW5jZTogIiArIEpT
T04uc3RyaW5naWZ5KHJlZmVyZW5jZSkpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJBY3R1YWw6ICAgICIgKyBKU09OLnN0cmluZ2lmeShhY3R1YWwpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gdGVzdEFycmF5cy5sZW5n
dGg7IGkgPCBsOyArK2kpCi0gICAgICAgICAgICAgICAgdGVzdEFycmF5KHRlc3RBcnJheXNbaV0p
OwotICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0aW9uIHNv
cnRSYW5nZVRlc3QobmV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHRlc3RBcnJheXMg
PSBbCi0gICAgICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgICAgWzFdLAotICAgICAgICAg
ICAgICAgIFsyLCAxXSwKLSAgICAgICAgICAgICAgICBbNiwgNCwgMiwgNywgMTAsIDE1LCAxXSwK
LSAgICAgICAgICAgICAgICBbMTAsIDQ0LCAzLCA2LCA1NiwgNjYsIDEwLCA1NSwgMzIsIDU2LCAy
LCA1XQotICAgICAgICAgICAgXTsKLQotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEFycmF5KGFy
cmF5KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbXBhcmF0b3Io
YSwgYikKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBhIDwg
YiA/IC0xIDogKGEgPiBiID8gMSA6IDApOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uIGNvbXBhcmVBcnJheXMoYSwgYiwgbWVzc2FnZSkKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKEpT
T04uc3RyaW5naWZ5KGEpLCBKU09OLnN0cmluZ2lmeShiKSwgbWVzc2FnZSk7Ci0gICAgICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICAgICAgZm9yICh2YXIgbGVmdCA9IDAsIGwgPSBhcnJheS5s
ZW5ndGggLSAxOyBsZWZ0IDwgbDsgKytsZWZ0KSB7Ci0gICAgICAgICAgICAgICAgICAgICBmb3Ig
KHZhciByaWdodCA9IGxlZnQgKyAxLCByID0gYXJyYXkubGVuZ3RoOyByaWdodCA8IHI7ICsrcmln
aHQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGNvdW50ID0gMSwgayA9IHJp
Z2h0IC0gbGVmdCArIDE7IGNvdW50IDw9IGs7ICsrY291bnQpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciBhY3R1YWwgPSBhcnJheS5zbGljZSgwKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFjdHVhbC5zb3J0UmFuZ2UoY29tcGFyYXRvciwgbGVmdCwgcmlnaHQs
IGNvdW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVBcnJheXMoYXJy
YXkuc2xpY2UoMCwgbGVmdCksIGFjdHVhbC5zbGljZSgwLCBsZWZ0KSwgImxlZnQgIiArIGxlZnQg
KyAiICIgKyByaWdodCArICIgIiArIGNvdW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbXBhcmVBcnJheXMoYXJyYXkuc2xpY2UocmlnaHQgKyAxKSwgYWN0dWFsLnNsaWNlKHJp
Z2h0ICsgMSksICJyaWdodCAiICsgbGVmdCArICIgIiArIHJpZ2h0ICsgIiAiICsgY291bnQpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pZGRsZSA9IGFycmF5LnNsaWNlKGxl
ZnQsIHJpZ2h0ICsgMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaWRkbGUuc29y
dChjb21wYXJhdG9yKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVBcnJh
eXMobWlkZGxlLnNsaWNlKDAsIGNvdW50KSwgYWN0dWFsLnNsaWNlKGxlZnQsIGxlZnQgKyBjb3Vu
dCksICJzb3J0ZWQgIiArIGxlZnQgKyAiICIgKyByaWdodCArICIgIiArIGNvdW50KTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbFJlc3QgPSBhY3R1YWwuc2xpY2UobGVmdCAr
IGNvdW50LCByaWdodCArIDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFs
UmVzdC5zb3J0KGNvbXBhcmF0b3IpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29t
cGFyZUFycmF5cyhtaWRkbGUuc2xpY2UoY291bnQpLCBhY3R1YWxSZXN0LCAidW5zb3J0ZWQgIiAr
IGxlZnQgKyAiICIgKyByaWdodCArICIgIiArIGNvdW50KTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDAsIGxlbiA9IHRlc3RBcnJheXMubGVuZ3RoOyBpIDwgbGVuOyArK2kpCi0g
ICAgICAgICAgICAgICAgdGVzdEFycmF5KHRlc3RBcnJheXNbaV0pOwotICAgICAgICAgICAgbmV4
dCgpOwotICAgICAgICB9Ci0gICAgXSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLVRoaXMgdGVzdCBjaGVja3MgV2ViIEluc3BlY3Rv
ciB1dGlsaXRpZXMuCi08L3A+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
</data>
<flag name="review"
          id="268338"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>