<?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>230641</bug_id>
          
          <creation_ts>2021-09-22 14:36:23 -0700</creation_ts>
          <short_desc>[JSC] Upgrade test262</short_desc>
          <delta_ts>2021-09-22 14:50:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796211</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-22 14:36:23 -0700</bug_when>
    <thetext>[JSC] Upgrade test262</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796215</commentid>
    <comment_count>1</comment_count>
      <attachid>438979</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-22 14:42:56 -0700</bug_when>
    <thetext>Created attachment 438979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796216</commentid>
    <comment_count>2</comment_count>
      <attachid>438979</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-09-22 14:44:06 -0700</bug_when>
    <thetext>Comment on attachment 438979
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796217</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-22 14:44:48 -0700</bug_when>
    <thetext>Will land it immediately since no EWS bots are running test262.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796218</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-22 14:49:55 -0700</bug_when>
    <thetext>Committed r282885 (242014@main): &lt;https://commits.webkit.org/242014@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796219</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-22 14:50:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/83418477&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438979</attachid>
            <date>2021-09-22 14:42:56 -0700</date>
            <delta_ts>2021-09-22 14:44:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230641-20210922144255.patch</filename>
            <type>text/plain</type>
            <size>2800103</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODgzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgxZWU4NjBiZDg2ZTVlODg1NDhhMWMzM2U0ZmFk
YjI2MjY3OTdjZjEuLjI3N2UwMWI0NDI3OTk3NzFkYzM3YjhlNjA5ZWZkMDhhZWJiNzYzN2YgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMDktMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBVcGdyYWRlIHRlc3QyNjIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDY0MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZ3JhZGUgdGVzdDI2MiB0byB0aGUgbGF0ZXN0
IG9uZS4KKworICAgICAgICAqIHRlc3QyNjIvY29uZmlnLnlhbWw6CisgICAgICAgICogdGVzdDI2
Mi9leHBlY3RhdGlvbnMueWFtbDoKKyAgICAgICAgKiB0ZXN0MjYyL3Rlc3QyNjItUmV2aXNpb24u
dHh0OgorCiAyMDIxLTA5LTIxICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0pTQ10gQ29tcGFyZVN0cmljdEVxIGlzIG9taXR0aW5nIFN0cmluZyBjaGVjayBp
bmNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sIGIvSlNU
ZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IGMzMWYzMDc4Zjk1ZjA5ZWRlMDI4YmUxZTVi
MmJjZjQ2OGVhNDZhODguLjMxMmMyNjg2ZjAwNGJiNjEyNGJhN2QwZWI0Y2JiNDlmZTAxMDhkODAg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvY29uZmlnLnlhbWwKQEAgLTIwLDYgKzIwLDcgQEAgc2tpcDoKICAgICAtIGpzb24tbW9k
dWxlcwogICAgIC0gY2xhc3Mtc3RhdGljLWJsb2NrCiAgICAgLSBjYWxsYWJsZS1ib3VuZGFyeS1y
ZWFsbXMKKyAgICAtIFNoYWRvd1JlYWxtCiAgIHBhdGhzOgogICAgIC0gdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvQ2FsZW5kYXIKICAgICAtIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0luc3RhbnQK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVzdHMv
dGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCAyZjlhYzlhOWMzYWE5NGEyNzQ4YWJjNTI1
YzdlZTYxNzdkZDkxOWI0Li43OTY1MGU2ZDRmNTVmYjcwNWVkNGZhOGY5N2EzODM0YjIyZGE0NDQx
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC02MTMsMTEgKzYxMywxMSBAQCB0ZXN0
L2J1aWx0LWlucy9EYXRlL1VUQy9mcC1ldmFsdWF0aW9uLW9yZGVyLmpzOgogICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBvcmRlciBvZiBvcGVyYXRpb25zIC8gcHJlY2lzaW9uIGluIE1ha2VUaW1l
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq05hTsK7LCDCqzI5MzEywrspIHRvIGJlIHRydWUnCiAgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBvcmRlciBvZiBvcGVyYXRpb25zIC8gcHJlY2lzaW9u
IGluIE1ha2VUaW1lIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq05hTsK7LCDCqzI5MzEywrspIHRvIGJl
IHRydWUnCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9pbnRlcm5hbHMvQ29uc3RydWN0L2Rlcml2
ZWQtcmV0dXJuLXZhbC1yZWFsbS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCisgIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBkaWZm
ZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1lJworICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIGRpZmZlcmVu
dCBlcnJvciBjb25zdHJ1Y3RvciB3aXRoIHRoZSBzYW1lIG5hbWUnCiB0ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9pbnRlcm5hbHMvQ29uc3RydWN0L2Rlcml2ZWQtdGhpcy11bmluaXRpYWxpemVkLXJl
YWxtLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJlZmVyZW5jZUVy
cm9yIGJ1dCBnb3QgYSBSZWZlcmVuY2VFcnJvcicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIGEgUmVmZXJlbmNlRXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJlZmVyZW5jZUVycm9yIGJ1dCBn
b3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1lJworICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBSZWZlcmVuY2VFcnJvciBidXQg
Z290IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0cnVjdG9yIHdpdGggdGhlIHNhbWUgbmFtZScKIHRl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9Bc3luY0Z1bmN0aW9uLmpz
OgogICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnLiBFeHBlY3Rl
ZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbi4iCiAgIHN0cmlj
dCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJzsnLiBFeHBlY3RlZCBhICcp
JyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbi4iCkBAIC03NzgsMzggKzc3
OCwzOCBAQCB0ZXN0L2J1aWx0LWlucy9Qcm94eS9hcHBseS9hcmd1bWVudHMtcmVhbG0uanM6CiAg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2Z1bmN0aW9uIEFy
cmF5KCkgeycKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1
ZSjCq2Z1bmN0aW9uIEFycmF5KCkgeycKIHRlc3QvYnVpbHQtaW5zL1Byb3h5L2FwcGx5L251bGwt
aGFuZGxlci1yZWFsbS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBU
eXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCisgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBkaWZmZXJlbnQg
ZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1lJworICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIGRpZmZlcmVudCBlcnJv
ciBjb25zdHJ1Y3RvciB3aXRoIHRoZSBzYW1lIG5hbWUnCiB0ZXN0L2J1aWx0LWlucy9Qcm94eS9h
cHBseS90cmFwLWlzLW5vdC1jYWxsYWJsZS1yZWFsbS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKLSAgc3RyaWN0
IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBl
RXJyb3InCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1
dCBnb3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1lJwor
ICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdv
dCBhIGRpZmZlcmVudCBlcnJvciBjb25zdHJ1Y3RvciB3aXRoIHRoZSBzYW1lIG5hbWUnCiB0ZXN0
L2J1aWx0LWlucy9Qcm94eS9jb25zdHJ1Y3QvYXJndW1lbnRzLXJlYWxtLmpzOgogICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtmdW5jdGlvbiBBcnJheSgpIHsn
CiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtmdW5j
dGlvbiBBcnJheSgpIHsnCiB0ZXN0L2J1aWx0LWlucy9Qcm94eS9jb25zdHJ1Y3QvbnVsbC1oYW5k
bGVyLXJlYWxtLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVF
cnJvciBidXQgZ290IGEgVHlwZUVycm9yJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIGRpZmZlcmVudCBlcnJv
ciBjb25zdHJ1Y3RvciB3aXRoIHRoZSBzYW1lIG5hbWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVyZW50IGVycm9yIGNv
bnN0cnVjdG9yIHdpdGggdGhlIHNhbWUgbmFtZScKIHRlc3QvYnVpbHQtaW5zL1Byb3h5L2NvbnN0
cnVjdC9yZXR1cm4tbm90LW9iamVjdC10aHJvd3MtYm9vbGVhbi1yZWFsbS5qczoKLSAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJv
cicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1
dCBnb3QgYSBUeXBlRXJyb3InCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEg
VHlwZUVycm9yIGJ1dCBnb3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUg
c2FtZSBuYW1lJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBl
RXJyb3IgYnV0IGdvdCBhIGRpZmZlcmVudCBlcnJvciBjb25zdHJ1Y3RvciB3aXRoIHRoZSBzYW1l
IG5hbWUnCiB0ZXN0L2J1aWx0LWlucy9Qcm94eS9jb25zdHJ1Y3QvcmV0dXJuLW5vdC1vYmplY3Qt
dGhyb3dzLW51bGwtcmVhbG0uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBkZWZh
dWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVy
ZW50IGVycm9yIGNvbnN0cnVjdG9yIHdpdGggdGhlIHNhbWUgbmFtZScKKyAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBkaWZmZXJlbnQg
ZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1lJwogdGVzdC9idWlsdC1pbnMvUHJv
eHkvY29uc3RydWN0L3JldHVybi1ub3Qtb2JqZWN0LXRocm93cy1udW1iZXItcmVhbG0uanM6Ci0g
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBU
eXBlRXJyb3InCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVF
cnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0cnVjdG9yIHdp
dGggdGhlIHNhbWUgbmFtZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0
aGUgc2FtZSBuYW1lJwogdGVzdC9idWlsdC1pbnMvUHJveHkvY29uc3RydWN0L3JldHVybi1ub3Qt
b2JqZWN0LXRocm93cy1zdHJpbmctcmVhbG0uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCi0gIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9y
JworICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290
IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0cnVjdG9yIHdpdGggdGhlIHNhbWUgbmFtZScKKyAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBk
aWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1lJwogdGVzdC9idWls
dC1pbnMvUHJveHkvY29uc3RydWN0L3JldHVybi1ub3Qtb2JqZWN0LXRocm93cy1zeW1ib2wtcmVh
bG0uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1
dCBnb3QgYSBUeXBlRXJyb3InCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJworICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0
cnVjdG9yIHdpdGggdGhlIHNhbWUgbmFtZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0
b3Igd2l0aCB0aGUgc2FtZSBuYW1lJwogdGVzdC9idWlsdC1pbnMvUHJveHkvY29uc3RydWN0L3Jl
dHVybi1ub3Qtb2JqZWN0LXRocm93cy11bmRlZmluZWQtcmVhbG0uanM6Ci0gIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCi0g
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290
IGEgVHlwZUVycm9yJworICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVF
cnJvciBidXQgZ290IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0cnVjdG9yIHdpdGggdGhlIHNhbWUg
bmFtZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9y
IGJ1dCBnb3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUgc2FtZSBuYW1l
JwogdGVzdC9idWlsdC1pbnMvUHJveHkvY29uc3RydWN0L3RyYXAtaXMtbm90LWNhbGxhYmxlLXJl
YWxtLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBi
dXQgZ290IGEgVHlwZUVycm9yJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKKyAgZGVmYXVsdDogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIGRpZmZlcmVudCBlcnJvciBjb25z
dHJ1Y3RvciB3aXRoIHRoZSBzYW1lIG5hbWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0cnVj
dG9yIHdpdGggdGhlIHNhbWUgbmFtZScKIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
U3ltYm9sLm1hdGNoL2J1aWx0aW4taW5mZXItdW5pY29kZS5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr77+9wrssIMKrbnVsbMK7KSB0byBiZSB0cnVl
JwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr77+9
wrssIMKrbnVsbMK7KSB0byBiZSB0cnVlJwpAQCAtODM0LDYgKzgzNCw5IEBAIHRlc3QvaW50bDQw
Mi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2UvZnJhY3Rpb25hbFNlY29uZERp
Z2l0cy5qczoKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRP
cHRpb25zL2hvdXJDeWNsZS1kZWZhdWx0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUowqtoMjTCuywgwqtoMjPCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0
IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2gyNMK7LCDCq2gyM8K7
KSB0byBiZSB0cnVlJwordGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvb2YvdHlw
ZS1jYWxlbmRhci1pbnZhbGlkLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiAyIHNlZ21l
bnRzLCBtaW5pbXVtIGxlbmd0aCwgdW5kZXJzY29yZSBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiAyIHNlZ21lbnRzLCBtaW5pbXVtIGxlbmd0aCwgdW5kZXJzY29y
ZSBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2Fz
IHRocm93biBhdCBhbGwnCiB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL25v
bi1pYW5hLWNhbm9uLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBUaGUgdmFsdWUgb2Yg
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKHRhZylbMF0gZXF1YWxzIHRoZSB2YWx1ZSBvZiBgY2Fu
b25pY2FsYCBFeHBlY3RlZCBTYW1lVmFsdWUowqtlbi1VUy11LXZhLXBvc2l4wrssIMKrcG9zaXjC
uykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IFRoZSB2YWx1ZSBv
ZiBJbnRsLmdldENhbm9uaWNhbExvY2FsZXModGFnKVswXSBlcXVhbHMgdGhlIHZhbHVlIG9mIGBj
YW5vbmljYWxgIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2VuLVVTLXUtdmEtcG9zaXjCuywgwqtwb3Np
eMK7KSB0byBiZSB0cnVlJwpAQCAtODQ5LDYgKzg1MiwyMSBAQCB0ZXN0L2ludGw0MDIvSW50bC9n
ZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9uaWNhbGl6ZS1yZWdpb24uanM6CiB0
ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9uaWNh
bGl6ZS1zdWJkaXZpc2lvbi5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrdW5kLU5PLXUtc2Qtbm8yM8K7LCDCq3VuZC1OTy11LXNkLW5vNTDCuykgdG8g
YmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1
ZSjCq3VuZC1OTy11LXNkLW5vMjPCuywgwqt1bmQtTk8tdS1zZC1ubzUwwrspIHRvIGJlIHRydWUn
Cit0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jb2xsYXRpb25zLWFjY2VwdGVk
LWJ5LUNvbGxhdG9yLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBlbW9qaSBzdXBwb3J0
ZWQgYnV0IG5vdCByZXR1cm5lZCBieSBzdXBwb3J0ZWRWYWx1ZXNPZicKKyAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IGVtb2ppIHN1cHBvcnRlZCBidXQgbm90IHJldHVybmVkIGJ5IHN1cHBv
cnRlZFZhbHVlc09mJwordGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY3VycmVu
Y2llcy1hY2NlcHRlZC1ieS1EaXNwbGF5TmFtZXMuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEFEUCBzdXBwb3J0ZWQgYnV0IG5vdCByZXR1cm5lZCBieSBzdXBwb3J0ZWRWYWx1ZXNPZicK
KyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEFEUCBzdXBwb3J0ZWQgYnV0IG5vdCByZXR1
cm5lZCBieSBzdXBwb3J0ZWRWYWx1ZXNPZicKK3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZh
bHVlc09mL251bWJlcmluZ1N5c3RlbXMtYWNjZXB0ZWQtYnktRGF0ZVRpbWVGb3JtYXQuanM6Cisg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGFybW4gaXMgc3VwcG9ydGVkIGJ5IERhdGVUaW1lRm9y
bWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2xhdG7Cuywgwqthcm1uwrspIHRvIGJlIHRydWUnCisg
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBhcm1uIGlzIHN1cHBvcnRlZCBieSBEYXRlVGlt
ZUZvcm1hdCBFeHBlY3RlZCBTYW1lVmFsdWUowqtsYXRuwrssIMKrYXJtbsK7KSB0byBiZSB0cnVl
JwordGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvbnVtYmVyaW5nU3lzdGVtcy1h
Y2NlcHRlZC1ieS1OdW1iZXJGb3JtYXQuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGFy
bW4gaXMgc3VwcG9ydGVkIGJ5IE51bWJlckZvcm1hdCBFeHBlY3RlZCBTYW1lVmFsdWUowqtsYXRu
wrssIMKrYXJtbsK7KSB0byBiZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
YXJtbiBpcyBzdXBwb3J0ZWQgYnkgTnVtYmVyRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2xh
dG7Cuywgwqthcm1uwrspIHRvIGJlIHRydWUnCit0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRW
YWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LVJlbGF0aXZlVGltZUZvcm1hdC5q
czoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogYXJtbiBpcyBzdXBwb3J0ZWQgYnkgUmVsYXRp
dmVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2xhdG7Cuywgwqthcm1uwrspIHRvIGJl
IHRydWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBhcm1uIGlzIHN1cHBvcnRlZCBi
eSBSZWxhdGl2ZVRpbWVGb3JtYXQgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrbGF0bsK7LCDCq2FybW7C
uykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9Mb2NhbGUvZXh0ZW5zaW9ucy1ncmFuZGZhdGhl
cmVkLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtm
ci1DeXJsLUZSLXUtbnUtbGF0bi14LWNlbC1nYXVsaXNowrssIMKrZnItQ3lybC1GUi11LW51LWxh
dG7CuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IFNhbWVWYWx1ZSjCq2ZyLUN5cmwtRlItdS1udS1sYXRuLXgtY2VsLWdhdWxpc2jCuywgwqtmci1D
eXJsLUZSLXUtbnUtbGF0bsK7KSB0byBiZSB0cnVlJwpAQCAtODU4LDYgKzg3NiwzNiBAQCB0ZXN0
L2ludGw0MDIvTG9jYWxlL2xpa2VseS1zdWJ0YWdzLWdyYW5kZmF0aGVyZWQuanM6CiB0ZXN0L2lu
dGw0MDIvTG9jYWxlL3Byb3RvdHlwZS9taW5pbWl6ZS9yZW1vdmluZy1saWtlbHktc3VidGFncy1m
aXJzdC1hZGRzLWxpa2VseS1zdWJ0YWdzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiAi
dW5kIi5taW5pbWl6ZSgpIHNob3VsZCBiZSAiZW4iIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2VuLXUt
dmEtcG9zaXjCuywgwqtlbsK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogInVuZCIubWluaW1pemUoKSBzaG91bGQgYmUgImVuIiBFeHBlY3RlZCBTYW1lVmFsdWUo
wqtlbi11LXZhLXBvc2l4wrssIMKrZW7CuykgdG8gYmUgdHJ1ZScKK3Rlc3QvaW50bDQwMi9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzOgorICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqt1bmRlZmluZWTCuywgwqtmdW5jdGlvbsK7
KSB0byBiZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2Ft
ZVZhbHVlKMKrdW5kZWZpbmVkwrssIMKrZnVuY3Rpb27CuykgdG8gYmUgdHJ1ZScKK3Rlc3QvaW50
bDQwMi9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZXJhWWVhci9icmFuZGluZy5qczoKKyAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kZWZpbmVkwrss
IMKrZnVuY3Rpb27CuykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZGVmaW5lZMK7LCDCq2Z1bmN0aW9uwrspIHRvIGJlIHRy
dWUnCit0ZXN0L2ludGw0MDIvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9lcmEvYnJhbmRp
bmcuanM6CisgIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICdUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlJykiCisgIHN0cmljdCBt
b2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
VGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlwZScpIgordGVzdC9pbnRsNDAyL1RlbXBvcmFsL1Bs
YWluRGF0ZS9wcm90b3R5cGUvZXJhWWVhci9icmFuZGluZy5qczoKKyAgZGVmYXVsdDogIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1RlbXBvcmFsLlBs
YWluRGF0ZS5wcm90b3R5cGUnKSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90
eXBlJykiCit0ZXN0L2ludGw0MDIvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvZXJh
L2JyYW5kaW5nLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUnKSIK
KyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLnByb3RvdHlwZScpIgordGVzdC9pbnRs
NDAyL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanM6
CisgIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICdUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLnByb3RvdHlwZScpIgorICBzdHJpY3QgbW9k
ZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1Rl
bXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlJykiCit0ZXN0L2ludGw0MDIvVGVtcG9yYWwv
UGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qczoKKyAgZGVmYXVsdDogIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1RlbXBvcmFs
LlBsYWluWWVhck1vbnRoLnByb3RvdHlwZScpIgorICBzdHJpY3QgbW9kZTogIlR5cGVFcnJvcjog
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1RlbXBvcmFsLlBsYWluWWVh
ck1vbnRoLnByb3RvdHlwZScpIgordGVzdC9pbnRsNDAyL1RlbXBvcmFsL1BsYWluWWVhck1vbnRo
L3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnVGVtcG9yYWwuUGxhaW5ZZWFy
TW9udGgucHJvdG90eXBlJykiCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJv
dG90eXBlJykiCit0ZXN0L2ludGw0MDIvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUv
ZXJhL2JyYW5kaW5nLmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUn
KSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICdUZW1wb3JhbC5ab25lZERhdGVUaW1lLnByb3RvdHlwZScpIgordGVzdC9p
bnRsNDAyL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcu
anM6CisgIGRlZmF1bHQ6ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICdUZW1wb3JhbC5ab25lZERhdGVUaW1lLnByb3RvdHlwZScpIgorICBzdHJpY3Qg
bW9kZTogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J1RlbXBvcmFsLlpvbmVkRGF0ZVRpbWUucHJvdG90eXBlJykiCiB0ZXN0L2xhbmd1YWdlL2Jsb2Nr
LXNjb3BlL3N5bnRheC9yZWRlY2xhcmF0aW9uL2FzeW5jLWZ1bmN0aW9uLW5hbWUtcmVkZWNsYXJh
dGlvbi1hdHRlbXB0LXdpdGgtYXN5bmMtZnVuY3Rpb24uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYy
OiBUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCiB0ZXN0L2xhbmd1YWdl
L2Jsb2NrLXNjb3BlL3N5bnRheC9yZWRlY2xhcmF0aW9uL2FzeW5jLWZ1bmN0aW9uLW5hbWUtcmVk
ZWNsYXJhdGlvbi1hdHRlbXB0LXdpdGgtYXN5bmMtZ2VuZXJhdG9yLmpzOgpAQCAtMTQyNCwxOCAr
MTQ3Miw2IEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC9ldmFsLXNwcmVhZC1lbXB0
eS10cmFpbGluZy5qczoKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC9ldmFsLXNwcmVh
ZC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrbG9j
YWzCuywgwqsxwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUowqtsb2NhbMK7LCDCqzHCuykgdG8gYmUgdHJ1ZScKLXRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVhbG0tY2xhc3MtY29uc3RydWN0Lmpz
OgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290
IGEgVHlwZUVycm9yJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBU
eXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2FsbC90Y28tY3Jvc3MtcmVhbG0tY2xhc3MtZGVyaXZlZC1jb25zdHJ1Y3QuanM6Ci0gIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJy
b3InCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBi
dXQgZ290IGEgVHlwZUVycm9yJwotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jYWxsL3Rjby1j
cm9zcy1yZWFsbS1mdW4tY2FsbC5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgYSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCi10ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NhbGwvdGNvLWNyb3NzLXJlYWxtLWZ1bi1jb25zdHJ1Y3Qu
anM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBn
b3QgYSBUeXBlRXJyb3InCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9yJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jYWxsL3Rjby1ub24tZXZhbC1mdW5jdGlvbi1keW5hbWljLmpzOgogICBkZWZhdWx0OiAnUmFu
Z2VFcnJvcjogTWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQuJwogdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jYWxsL3Rjby1ub24tZXZhbC1mdW5jdGlvbi5qczoKQEAgLTE1OTAsOCAr
MTYyNiw4IEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xn
Y2wtbnVsbGlzaC1hc3NpZ25tZW50LW9wZXJhdG9yLW5vCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW9yLWFzc2lnbm1lbnQtb3BlcmF0b3Itbm9uLXNp
bXBsZS1saHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQg
bm90IGJlIGV2YWx1YXRlZC4nCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL25ldy9ub24tY3Rv
ci1lcnItcmVhbG0uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IHByb2R1Y3Rpb24gaW5j
bHVkaW5nIEFyZ3VtZW50cyBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgVHlwZUVycm9y
JwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogcHJvZHVjdGlvbiBpbmNsdWRpbmcgQXJn
dW1lbnRzIEV4cGVjdGVkIGEgVHlwZUVycm9yIGJ1dCBnb3QgYSBUeXBlRXJyb3InCisgIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IHByb2R1Y3Rpb24gaW5jbHVkaW5nIEFyZ3VtZW50cyBFeHBlY3Rl
ZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVyZW50IGVycm9yIGNvbnN0cnVjdG9yIHdpdGgg
dGhlIHNhbWUgbmFtZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IHByb2R1Y3Rpb24g
aW5jbHVkaW5nIEFyZ3VtZW50cyBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQgZ290IGEgZGlmZmVy
ZW50IGVycm9yIGNvbnN0cnVjdG9yIHdpdGggdGhlIHNhbWUgbmFtZScKIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLWdlbi1tZXRoLWV2YWwt
dmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93
biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5p
dGlvbi9nZW4tbWV0aC1ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL2hhcm5lc3MvYXNzZXJ0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL2hhcm5l
c3MvYXNzZXJ0LmpzCmluZGV4IDc3MmNlNDk5OTkwZWE2ZGQ1MTg0ZmMwMTk1MTQzZDgzZmZjOGZk
M2MuLjM0ZWVkNTVlZWZiNjdiYTRiOWMwMGU0ZTMxNzUwZTdhMmVkYzQ2N2IgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL2Fzc2VydC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
aGFybmVzcy9hc3NlcnQuanMKQEAgLTY2LDYgKzY2LDcgQEAgZnVuY3Rpb24gYXNzZXJ0KG11c3RC
ZVRydWUsIG1lc3NhZ2UpIHsKIH07CiAKIGFzc2VydC50aHJvd3MgPSBmdW5jdGlvbiAoZXhwZWN0
ZWRFcnJvckNvbnN0cnVjdG9yLCBmdW5jLCBtZXNzYWdlKSB7CisgIHZhciBleHBlY3RlZE5hbWUs
IGFjdHVhbE5hbWU7CiAgIGlmICh0eXBlb2YgZnVuYyAhPT0gImZ1bmN0aW9uIikgewogICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Fzc2VydC50aHJvd3MgcmVxdWlyZXMgdHdvIGFyZ3VtZW50
czogdGhlIGVycm9yIGNvbnN0cnVjdG9yICcgKwogICAgICAgJ2FuZCBhIGZ1bmN0aW9uIHRvIHJ1
bicpOwpAQCAtODQsNyArODUsMTMgQEAgZnVuY3Rpb24gYXNzZXJ0KG11c3RCZVRydWUsIG1lc3Nh
Z2UpIHsKICAgICAgIG1lc3NhZ2UgKz0gJ1Rocm93biB2YWx1ZSB3YXMgbm90IGFuIG9iamVjdCEn
OwogICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcihtZXNzYWdlKTsKICAgICB9IGVsc2UgaWYg
KHRocm93bi5jb25zdHJ1Y3RvciAhPT0gZXhwZWN0ZWRFcnJvckNvbnN0cnVjdG9yKSB7Ci0gICAg
ICBtZXNzYWdlICs9ICdFeHBlY3RlZCBhICcgKyBleHBlY3RlZEVycm9yQ29uc3RydWN0b3IubmFt
ZSArICcgYnV0IGdvdCBhICcgKyB0aHJvd24uY29uc3RydWN0b3IubmFtZTsKKyAgICAgIGV4cGVj
dGVkTmFtZSA9IGV4cGVjdGVkRXJyb3JDb25zdHJ1Y3Rvci5uYW1lOworICAgICAgYWN0dWFsTmFt
ZSA9IHRocm93bi5jb25zdHJ1Y3Rvci5uYW1lOworICAgICAgaWYgKGV4cGVjdGVkTmFtZSA9PT0g
YWN0dWFsTmFtZSkgeworICAgICAgICBtZXNzYWdlICs9ICdFeHBlY3RlZCBhICcgKyBleHBlY3Rl
ZE5hbWUgKyAnIGJ1dCBnb3QgYSBkaWZmZXJlbnQgZXJyb3IgY29uc3RydWN0b3Igd2l0aCB0aGUg
c2FtZSBuYW1lJzsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1lc3NhZ2UgKz0gJ0V4cGVjdGVk
IGEgJyArIGV4cGVjdGVkTmFtZSArICcgYnV0IGdvdCBhICcgKyBhY3R1YWxOYW1lOworICAgICAg
fQogICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcihtZXNzYWdlKTsKICAgICB9CiAgICAgcmV0
dXJuOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2hhcm5lc3MvdGVzdEludGwuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy90ZXN0SW50bC5qcwppbmRleCA3NmNhYjc0MTMxYTJiOWE4
ZTJlNDNhYTQ1MGY2ZWQ1NzkwNDBhYWEwLi5iMWIyNmNlZmJmOWUzYzliZGVkMjczZjk2MGE0MzBj
N2I3MzdiMzYyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy90ZXN0SW50bC5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy90ZXN0SW50bC5qcwpAQCAtMTksNyArMTks
MTIgQEAKICAgLSBnZXRJbnZhbGlkTG9jYWxlQXJndW1lbnRzCiAgIC0gdGVzdE9wdGlvbgogICAt
IHRlc3RGb3JVbndhbnRlZFJlZ0V4cENoYW5nZXMKKyAgLSBhbGxDYWxlbmRhcnMKKyAgLSBhbGxD
b2xsYXRpb25zCisgIC0gYWxsTnVtYmVyaW5nU3lzdGVtcwogICAtIGlzVmFsaWROdW1iZXJpbmdT
eXN0ZW0KKyAgLSBudW1iZXJpbmdTeXN0ZW1EaWdpdHMKKyAgLSBhbGxTaW1wbGVTYW5jdGlvbmVk
VW5pdHMKICAgLSB0ZXN0TnVtYmVyRm9ybWF0CiAgIC0gZ2V0RGF0ZVRpbWVDb21wb25lbnRzCiAg
IC0gZ2V0RGF0ZVRpbWVDb21wb25lbnRWYWx1ZXMKQEAgLTIwMjksMTcgKzIwMzQsNzEgQEAgZnVu
Y3Rpb24gdGVzdEZvclVud2FudGVkUmVnRXhwQ2hhbmdlcyh0ZXN0RnVuYykgewogCiAKIC8qKgot
ICogVGVzdHMgd2hldGhlciBuYW1lIGlzIGEgdmFsaWQgQkNQIDQ3IG51bWJlcmluZyBzeXN0ZW0g
bmFtZQotICogYW5kIG5vdCBleGNsdWRlZCBmcm9tIHVzZSBpbiB0aGUgRUNNQVNjcmlwdCBJbnRl
cm5hdGlvbmFsaXphdGlvbiBBUEkuCi0gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSB0aGUgbmFtZSB0
byBiZSB0ZXN0ZWQuCi0gKiBAcmV0dXJuIHtib29sZWFufSB3aGV0aGVyIG5hbWUgaXMgYSB2YWxp
ZCBCQ1AgNDcgbnVtYmVyaW5nIHN5c3RlbSBuYW1lIGFuZAotICogICBhbGxvd2VkIGZvciB1c2Ug
aW4gdGhlIEVDTUFTY3JpcHQgSW50ZXJuYXRpb25hbGl6YXRpb24gQVBJLgorICogUmV0dXJucyBh
biBhcnJheSBvZiBhbGwga25vd24gY2FsZW5kYXJzLgogICovCitmdW5jdGlvbiBhbGxDYWxlbmRh
cnMoKSB7CisgIC8vIHNvdXJjZTogQ0xEUiBmaWxlIGNvbW1vbi9iY3A0Ny9udW1iZXIueG1sOyB2
ZXJzaW9uIENMRFIgMzkuCisgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9jbGRy
L2Jsb2IvbWFzdGVyL2NvbW1vbi9iY3A0Ny9jYWxlbmRhci54bWwKKyAgcmV0dXJuIFsKKyAgICAi
YnVkZGhpc3QiLAorICAgICJjaGluZXNlIiwKKyAgICAiY29wdGljIiwKKyAgICAiZGFuZ2kiLAor
ICAgICJldGhpb2FhIiwKKyAgICAiZXRoaW9waWMiLAorICAgICJncmVnb3J5IiwKKyAgICAiaGVi
cmV3IiwKKyAgICAiaW5kaWFuIiwKKyAgICAiaXNsYW1pYyIsCisgICAgImlzbGFtaWMtdW1hbHF1
cmEiLAorICAgICJpc2xhbWljLXRibGEiLAorICAgICJpc2xhbWljLWNpdmlsIiwKKyAgICAiaXNs
YW1pYy1yZ3NhIiwKKyAgICAiaXNvODYwMSIsCisgICAgImphcGFuZXNlIiwKKyAgICAicGVyc2lh
biIsCisgICAgInJvYyIsCisgIF07Cit9CisKKworLyoqCisgKiBSZXR1cm5zIGFuIGFycmF5IG9m
IGFsbCBrbm93biBjb2xsYXRpb25zLgorICovCitmdW5jdGlvbiBhbGxDb2xsYXRpb25zKCkgewor
ICAvLyBzb3VyY2U6IENMRFIgZmlsZSBjb21tb24vYmNwNDcvY29sbGF0aW9uLnhtbDsgdmVyc2lv
biBDTERSIDM5LgorICAvLyBodHRwczovL2dpdGh1Yi5jb20vdW5pY29kZS1vcmcvY2xkci9ibG9i
L21hc3Rlci9jb21tb24vYmNwNDcvY29sbGF0aW9uLnhtbAorICByZXR1cm4gWworICAgICJiaWc1
aGFuIiwKKyAgICAiY29tcGF0IiwKKyAgICAiZGljdCIsCisgICAgImRpcmVjdCIsCisgICAgImR1
Y2V0IiwKKyAgICAiZW1vamkiLAorICAgICJlb3IiLAorICAgICJnYjIzMTIiLAorICAgICJwaG9u
ZWJrIiwKKyAgICAicGhvbmV0aWMiLAorICAgICJwaW55aW4iLAorICAgICJyZWZvcm1lZCIsCisg
ICAgInNlYXJjaCIsCisgICAgInNlYXJjaGpsIiwKKyAgICAic3RhbmRhcmQiLAorICAgICJzdHJv
a2UiLAorICAgICJ0cmFkIiwKKyAgICAidW5paGFuIiwKKyAgICAiemh1eWluIiwKKyAgXTsKK30K
IAotZnVuY3Rpb24gaXNWYWxpZE51bWJlcmluZ1N5c3RlbShuYW1lKSB7CiAKLSAgLy8gc291cmNl
OiBDTERSIGZpbGUgY29tbW9uL2JjcDQ3L251bWJlci54bWw7IHZlcnNpb24gQ0xEUiAzNi4xLgot
ICB2YXIgbnVtYmVyaW5nU3lzdGVtcyA9IFsKKy8qKgorICogUmV0dXJucyBhbiBhcnJheSBvZiBh
bGwga25vd24gbnVtYmVyaW5nIHN5c3RlbXMuCisgKi8KK2Z1bmN0aW9uIGFsbE51bWJlcmluZ1N5
c3RlbXMoKSB7CisgIC8vIHNvdXJjZTogQ0xEUiBmaWxlIGNvbW1vbi9iY3A0Ny9udW1iZXIueG1s
OyB2ZXJzaW9uIENMRFIgMzkuCisgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9j
bGRyL2Jsb2IvbWFzdGVyL2NvbW1vbi9iY3A0Ny9udW1iZXIueG1sCisgIHJldHVybiBbCiAgICAg
ImFkbG0iLAogICAgICJhaG9tIiwKICAgICAiYXJhYiIsCkBAIC0yMTI4LDYgKzIxODcsMjAgQEAg
ZnVuY3Rpb24gaXNWYWxpZE51bWJlcmluZ1N5c3RlbShuYW1lKSB7CiAgICAgIndhcmEiLAogICAg
ICJ3Y2hvIiwKICAgXTsKK30KKworCisvKioKKyAqIFRlc3RzIHdoZXRoZXIgbmFtZSBpcyBhIHZh
bGlkIEJDUCA0NyBudW1iZXJpbmcgc3lzdGVtIG5hbWUKKyAqIGFuZCBub3QgZXhjbHVkZWQgZnJv
bSB1c2UgaW4gdGhlIEVDTUFTY3JpcHQgSW50ZXJuYXRpb25hbGl6YXRpb24gQVBJLgorICogQHBh
cmFtIHtzdHJpbmd9IG5hbWUgdGhlIG5hbWUgdG8gYmUgdGVzdGVkLgorICogQHJldHVybiB7Ym9v
bGVhbn0gd2hldGhlciBuYW1lIGlzIGEgdmFsaWQgQkNQIDQ3IG51bWJlcmluZyBzeXN0ZW0gbmFt
ZSBhbmQKKyAqICAgYWxsb3dlZCBmb3IgdXNlIGluIHRoZSBFQ01BU2NyaXB0IEludGVybmF0aW9u
YWxpemF0aW9uIEFQSS4KKyAqLworCitmdW5jdGlvbiBpc1ZhbGlkTnVtYmVyaW5nU3lzdGVtKG5h
bWUpIHsKKworICB2YXIgbnVtYmVyaW5nU3lzdGVtcyA9IGFsbE51bWJlcmluZ1N5c3RlbXMoKTsK
IAogICB2YXIgZXhjbHVkZWQgPSBbCiAgICAgImZpbmFuY2UiLApAQCAtMjIxNSw2ICsyMjg4LDU5
IEBAIGZ1bmN0aW9uIGlzVmFsaWROdW1iZXJpbmdTeXN0ZW0obmFtZSkgewogfTsKIAogCisvKioK
KyAqIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIHNpbXBsZSwgc2FuY3Rpb25lZCB1bml0IGlkZW50
aWZpZXJzLgorICovCitmdW5jdGlvbiBhbGxTaW1wbGVTYW5jdGlvbmVkVW5pdHMoKSB7CisgIC8v
IGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyN0YWJsZS1zYW5jdGlvbmVkLXNpbXBsZS11bml0LWlk
ZW50aWZpZXJzCisgIHJldHVybiBbCisgICAgImFjcmUiLAorICAgICJiaXQiLAorICAgICJieXRl
IiwKKyAgICAiY2Vsc2l1cyIsCisgICAgImNlbnRpbWV0ZXIiLAorICAgICJkYXkiLAorICAgICJk
ZWdyZWUiLAorICAgICJmYWhyZW5oZWl0IiwKKyAgICAiZmx1aWQtb3VuY2UiLAorICAgICJmb290
IiwKKyAgICAiZ2FsbG9uIiwKKyAgICAiZ2lnYWJpdCIsCisgICAgImdpZ2FieXRlIiwKKyAgICAi
Z3JhbSIsCisgICAgImhlY3RhcmUiLAorICAgICJob3VyIiwKKyAgICAiaW5jaCIsCisgICAgImtp
bG9iaXQiLAorICAgICJraWxvYnl0ZSIsCisgICAgImtpbG9ncmFtIiwKKyAgICAia2lsb21ldGVy
IiwKKyAgICAibGl0ZXIiLAorICAgICJtZWdhYml0IiwKKyAgICAibWVnYWJ5dGUiLAorICAgICJt
ZXRlciIsCisgICAgIm1pbGUiLAorICAgICJtaWxlLXNjYW5kaW5hdmlhbiIsCisgICAgIm1pbGxp
bGl0ZXIiLAorICAgICJtaWxsaW1ldGVyIiwKKyAgICAibWlsbGlzZWNvbmQiLAorICAgICJtaW51
dGUiLAorICAgICJtb250aCIsCisgICAgIm91bmNlIiwKKyAgICAicGVyY2VudCIsCisgICAgInBl
dGFieXRlIiwKKyAgICAicG91bmQiLAorICAgICJzZWNvbmQiLAorICAgICJzdG9uZSIsCisgICAg
InRlcmFiaXQiLAorICAgICJ0ZXJhYnl0ZSIsCisgICAgIndlZWsiLAorICAgICJ5YXJkIiwKKyAg
ICAieWVhciIsCisgIF07Cit9CisKKwogLyoqCiAgKiBUZXN0cyB0aGF0IG51bWJlciBmb3JtYXR0
aW5nIGlzIGhhbmRsZWQgY29ycmVjdGx5LiBUaGUgZnVuY3Rpb24gY2hlY2tzIHRoYXQgdGhlCiAg
KiBkaWdpdCBzZXF1ZW5jZXMgaW4gZm9ybWF0dGVkIG91dHB1dCBhcmUgYXMgc3BlY2lmaWVkLCBj
b252ZXJ0ZWQgdG8gdGhlCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvbGF0ZXN0LWNoYW5n
ZXMtc3VtbWFyeS50eHQgYi9KU1Rlc3RzL3Rlc3QyNjIvbGF0ZXN0LWNoYW5nZXMtc3VtbWFyeS50
eHQKaW5kZXggYmZmYzVjZDhjYjM4NjhiOWFkNDY3MTAwZmNkNGEyY2QyOTdhZmJkMy4uYTJjYzIy
ZWY0OGIyMGNkMDlkYTkyZjM3MTYxZmIyZGZkOTgxYjM3ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1bW1hcnkudHh0CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9s
YXRlc3QtY2hhbmdlcy1zdW1tYXJ5LnR4dApAQCAtMSwxMjY3ICsxLDE3MjQgQEAKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvMTUuNC41LTEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvMTUuNC41
LjEtNS0xLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5LzE1LjQuNS4xLTUtMi5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9TMTUuNC4xX0ExLjFfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvUzE1LjQuMV9BMS4xX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjFfQTEu
MV9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9TMTUuNC4xX0ExLjJfVDEuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvUzE1LjQuMV9BMS4zX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L1MxNS40LjFfQTIuMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9TMTUuNC4xX0Ey
LjJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvUzE1LjQuMV9BMy4xX1QxLmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjIuMV9BMS4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L1MxNS40LjIuMV9BMS4xX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40
LjIuMV9BMS4xX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjIuMV9BMS4yX1Qx
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjIuMV9BMS4zX1QxLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L1MxNS40LjIuMV9BMi4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L1MxNS40LjIuMV9BMi4yX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjNf
QTEuMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9TMTUuNC4zX0ExLjFfVDIuanMKLU0g
dGVzdC9idWlsdC1pbnMvQXJyYXkvUzE1LjQuM19BMS4xX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L1MxNS40LjUuMV9BMS4yX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40
LjUuMV9BMi4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjUuMV9BMi4yX1Qx
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjUuMV9BMi4zX1QxLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L1MxNS40LjUuMl9BMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9TMTUuNC41LjJfQTFfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvUzE1LjQuNS4yX0Ey
X1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40LjUuMl9BM19UMS5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9TMTUuNC41LjJfQTNfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvUzE1LjQuNS4yX0EzX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40X0ExLjFf
VDEwLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40X0ExLjFfVDQuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvUzE1LjRfQTEuMV9UNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9T
MTUuNF9BMS4xX1Q2LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L1MxNS40X0ExLjFfVDcuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvUzE1LjRfQTEuMV9UOC5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9TMTUuNF9BMS4xX1Q5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2NvbnN0cnVj
dG9yLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vQXJyYXkuZnJvbS1uYW1lLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vQXJyYXkuZnJvbV9hcml0eS5qcwotTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9mcm9tL0FycmF5LmZyb21fZm9yd2FyZHMtbGVuZ3RoLWZvci1hcnJheS1s
aWtlcy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2NhbGxpbmctZnJvbS12YWxpZC0x
LW5vU3RyaWN0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vY2FsbGluZy1mcm9tLXZh
bGlkLTEtb25seVN0cmljdC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2NhbGxpbmct
ZnJvbS12YWxpZC0yLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vZWxlbWVudHMtYWRk
ZWQtYWZ0ZXIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9lbGVtZW50cy1kZWxldGVk
LWFmdGVyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vZWxlbWVudHMtdXBkYXRlZC1h
ZnRlci5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2Zyb20tYXJyYXkuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvZnJvbS9mcm9tLXN0cmluZy5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9mcm9tL2dldC1pdGVyLW1ldGhvZC1lcnIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
ZnJvbS9pdGVtcy1pcy1hcnJheWJ1ZmZlci5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9t
L2l0ZW1zLWlzLW51bGwtdGhyb3dzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vaXRl
ci1hZHYtZXJyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vaXRlci1jc3RtLWN0b3It
ZXJyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vaXRlci1jc3RtLWN0b3IuanMKLU0g
dGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9pdGVyLWdldC1pdGVyLWVyci5qcwotTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9mcm9tL2l0ZXItZ2V0LWl0ZXItdmFsLWVyci5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9mcm9tL2l0ZXItbWFwLWZuLWFyZ3MuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvZnJvbS9pdGVyLW1hcC1mbi1lcnIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9p
dGVyLW1hcC1mbi1yZXR1cm4uanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9pdGVyLW1h
cC1mbi10aGlzLWFyZy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2l0ZXItbWFwLWZu
LXRoaXMtbm9uLXN0cmljdC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2l0ZXItbWFw
LWZuLXRoaXMtc3RyaWN0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vaXRlci1zZXQt
ZWxlbS1wcm9wLWVyci5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2l0ZXItc2V0LWVs
ZW0tcHJvcC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL2l0ZXItc2V0LWxlbmd0aC1l
cnIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9pdGVyLXNldC1sZW5ndGguanMKLU0g
dGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9tYXBmbi1pcy1ub3QtY2FsbGFibGUtdHlwZWVycm9y
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vbWFwZm4taXMtc3ltYm9sLXRocm93cy5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL21hcGZuLXRocm93cy1leGNlcHRpb24uanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvZnJvbS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9mcm9tL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qcwotTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9mcm9tL3NvdXJjZS1hcnJheS1ib3VuZGFyeS5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9mcm9tL3NvdXJjZS1vYmplY3QtY29uc3RydWN0b3IuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvZnJvbS9zb3VyY2Utb2JqZWN0LWl0ZXJhdG9yLTEuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvZnJvbS9zb3VyY2Utb2JqZWN0LWl0ZXJhdG9yLTIuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvZnJvbS9zb3VyY2Utb2JqZWN0LWxlbmd0aC1zZXQtZWxlbS1wcm9wLWVyci5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL3NvdXJjZS1vYmplY3QtbGVuZ3RoLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vc291cmNlLW9iamVjdC1taXNzaW5nLmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vc291cmNlLW9iamVjdC13aXRob3V0LmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L2Zyb20vdGhpcy1udWxsLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5
L2lzQXJyYXkvMTUuNC4zLjItMC0xLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkv
MTUuNC4zLjItMC0yLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkvMTUuNC4zLjIt
MC0zLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkvMTUuNC4zLjItMC00LmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkvMTUuNC4zLjItMC01LmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L2lzQXJyYXkvMTUuNC4zLjItMC02LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L2lzQXJyYXkvMTUuNC4zLjItMC03LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJy
YXkvMTUuNC4zLjItMS0xLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkvMTUuNC4z
LjItMS0xMC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9pc0FycmF5LzE1LjQuMy4yLTEtMTEu
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMuMi0xLTEyLmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkvMTUuNC4zLjItMS0xMy5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9pc0FycmF5LzE1LjQuMy4yLTEtMTUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvaXNBcnJheS8xNS40LjMuMi0xLTIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJh
eS8xNS40LjMuMi0xLTMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMu
Mi0xLTQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMuMi0xLTUuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMuMi0xLTYuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMuMi0xLTcuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvaXNBcnJheS8xNS40LjMuMi0xLTguanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNB
cnJheS8xNS40LjMuMi0xLTkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40
LjMuMi0yLTEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMuMi0yLTIu
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS8xNS40LjMuMi0yLTMuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS9uYW1lLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5
L2lzQXJyYXkvbm90LWEtY29uc3RydWN0b3IuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNB
cnJheS9wcm94eS1yZXZva2VkLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzQXJyYXkvcHJv
eHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoLzE1LjQuNS4xLTMuZC0xLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L2xlbmd0aC8xNS40LjUuMS0zLmQtMi5qcwotTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9sZW5ndGgvMTUuNC41LjEtMy5kLTMuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvbGVuZ3RoL1MxNS40LjIuMl9BMS4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5
L2xlbmd0aC9TMTUuNC4yLjJfQTEuMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9sZW5n
dGgvUzE1LjQuMi4yX0ExLjFfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL1Mx
NS40LjIuMl9BMS4yX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2xlbmd0aC9TMTUuNC4y
LjJfQTIuMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9sZW5ndGgvUzE1LjQuMi4yX0Ey
LjJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL1MxNS40LjIuMl9BMi4yX1Qy
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2xlbmd0aC9TMTUuNC4yLjJfQTIuMl9UMy5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9sZW5ndGgvUzE1LjQuMi4yX0EyLjNfVDEuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL1MxNS40LjIuMl9BMi4zX1QyLmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L2xlbmd0aC9TMTUuNC4yLjJfQTIuM19UMy5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9sZW5ndGgvUzE1LjQuMi4yX0EyLjNfVDQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvbGVuZ3RoL1MxNS40LjIuMl9BMi4zX1Q1LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2xl
bmd0aC9TMTUuNC40X0ExLjNfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL1Mx
NS40LjUuMV9BMS4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2xlbmd0aC9TMTUuNC41
LjFfQTEuMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9sZW5ndGgvUzE1LjQuNS4xX0Ex
LjJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL1MxNS40LjUuMV9BMS4yX1Qz
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L2xlbmd0aC9TMTUuNC41LjFfQTEuM19UMS5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9sZW5ndGgvUzE1LjQuNS4xX0ExLjNfVDIuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL1MxNS40LjUuMl9BM19UNC5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9sZW5ndGgvZGVmaW5lLW93bi1wcm9wLWxlbmd0aC1jb2VyY2lvbi1vcmRlci1z
ZXQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL2RlZmluZS1vd24tcHJvcC1sZW5n
dGgtY29lcmNpb24tb3JkZXIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL2RlZmlu
ZS1vd24tcHJvcC1sZW5ndGgtbm8tdmFsdWUtb3JkZXIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvbGVuZ3RoL2RlZmluZS1vd24tcHJvcC1sZW5ndGgtb3ZlcmZsb3ctb3JkZXIuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoL2RlZmluZS1vd24tcHJvcC1sZW5ndGgtb3ZlcmZsb3ct
cmVhbG0uanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvbGVuZ3RoLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L25hbWUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvb2YvY29uc3RydWN0LXRo
aXMtd2l0aC10aGUtbnVtYmVyLW9mLWFyZ3VtZW50cy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9vZi9jcmVhdGVzLWEtbmV3LWFycmF5LWZyb20tYXJndW1lbnRzLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L29mL2RvZXMtbm90LXVzZS1wcm90b3R5cGUtcHJvcGVydGllcy5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9vZi9sZW5ndGguanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvb2Yv
bmFtZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9vZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9vZi9wcm90by1mcm9tLWN0b3ItcmVhbG0uanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvb2YvcmV0dXJuLWEtY3VzdG9tLWluc3RhbmNlLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L29mL3JldHVybi1hLW5ldy1hcnJheS1vYmplY3QuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvb2YvcmV0dXJuLWFicnVwdC1mcm9tLWNvbnRydWN0b3IuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvb2YvcmV0dXJuLWFicnVwdC1mcm9tLWRhdGEtcHJvcGVydHktdXNp
bmctcHJveHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvb2YvcmV0dXJuLWFicnVwdC1mcm9t
LWRhdGEtcHJvcGVydHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvb2YvcmV0dXJuLWFicnVw
dC1mcm9tLXNldHRpbmctbGVuZ3RoLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L29mL3NldHMt
bGVuZ3RoLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3BlcnR5LWNhc3QtYm9vbGVhbi1w
cmltaXRpdmUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvcGVydHktY2FzdC1uYW4taW5m
aW5pdHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvcGVydHktY2FzdC1udW1iZXIuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG8tZnJvbS1jdG9yLXJlYWxtLW9uZS5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90by1mcm9tLWN0b3ItcmVhbG0tdHdvLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L3Byb3RvLWZyb20tY3Rvci1yZWFsbS16ZXJvLmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9T
eW1ib2wudW5zY29wYWJsZXMvdmFsdWUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL2F0L2luZGV4LWFyZ3VtZW50LXRvaW50ZWdlci5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvYXQvaW5kZXgtbm9uLW51bWVyaWMtYXJndW1lbnQtdG9pbnRlZ2VyLWludmFs
aWQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2F0L2luZGV4LW5vbi1udW1l
cmljLWFyZ3VtZW50LXRvaW50ZWdlci5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvYXQvbGVuZ3RoLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9hdC9uYW1l
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9hdC9wcm9wLWRlc2MuanMKLU0g
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2F0L3JldHVybi1hYnJ1cHQtZnJvbS10aGlz
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9hdC9yZXR1cm5zLWl0ZW0tcmVs
YXRpdmUtaW5kZXguanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2F0L3JldHVy
bnMtaXRlbS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvYXQvcmV0dXJucy11
bmRlZmluZWQtZm9yLWhvbGVzLWluLXNwYXJzZS1hcnJheXMuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL2F0L3JldHVybnMtdW5kZWZpbmVkLWZvci1vdXQtb2YtcmFuZ2UtaW5k
ZXguanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC8xNS40LjQuNC01
LWMtaS0xLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvQXJyYXku
cHJvdG90eXBlLmNvbmNhdF9hcnJheS1saWtlLWxlbmd0aC10by1zdHJpbmctdGhyb3dzLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBlLmNv
bmNhdF9hcnJheS1saWtlLWxlbmd0aC12YWx1ZS1vZi10aHJvd3MuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X2FycmF5LWxp
a2UtbmVnYXRpdmUtbGVuZ3RoLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9j
b25jYXQvQXJyYXkucHJvdG90eXBlLmNvbmNhdF9hcnJheS1saWtlLXByaW1pdGl2ZS1ub24tbnVt
YmVyLWxlbmd0aC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L0Fy
cmF5LnByb3RvdHlwZS5jb25jYXRfYXJyYXktbGlrZS1zdHJpbmctbGVuZ3RoLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBlLmNvbmNhdF9h
cnJheS1saWtlLXRvLWxlbmd0aC10aHJvd3MuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X2FycmF5LWxpa2UuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0
X2hvbGV5LXNsb3BweS1hcmd1bWVudHMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X2xhcmdlLXR5cGVkLWFycmF5LmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBlLmNv
bmNhdF9sZW5ndGgtdGhyb3dzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9j
b25jYXQvQXJyYXkucHJvdG90eXBlLmNvbmNhdF9uby1wcm90b3R5cGUuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X25vbi1h
cnJheS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L0FycmF5LnBy
b3RvdHlwZS5jb25jYXRfc2xvcHB5LWFyZ3VtZW50cy10aHJvd3MuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X3Nsb3BweS1h
cmd1bWVudHMtd2l0aC1kdXBlcy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
Y29uY2F0L0FycmF5LnByb3RvdHlwZS5jb25jYXRfc2xvcHB5LWFyZ3VtZW50cy5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L0FycmF5LnByb3RvdHlwZS5jb25jYXRf
c21hbGwtdHlwZWQtYXJyYXkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2Nv
bmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X3NwcmVhZGFibGUtYm9vbGVhbi13cmFwcGVyLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBl
LmNvbmNhdF9zcHJlYWRhYmxlLWZ1bmN0aW9uLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBlLmNvbmNhdF9zcHJlYWRhYmxlLWdldHRlci10
aHJvd3MuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9BcnJheS5w
cm90b3R5cGUuY29uY2F0X3NwcmVhZGFibGUtbnVtYmVyLXdyYXBwZXIuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9BcnJheS5wcm90b3R5cGUuY29uY2F0X3NwcmVh
ZGFibGUtcmVnLWV4cC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0
L0FycmF5LnByb3RvdHlwZS5jb25jYXRfc3ByZWFkYWJsZS1zcGFyc2Utb2JqZWN0LmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBlLmNvbmNh
dF9zcHJlYWRhYmxlLXN0cmluZy13cmFwcGVyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9jb25jYXQvQXJyYXkucHJvdG90eXBlLmNvbmNhdF9zdHJpY3QtYXJndW1lbnRzLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvUzE1LjQuNC40X0ExX1Qx
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvUzE1LjQuNC40X0Ex
X1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvUzE1LjQuNC40
X0ExX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvUzE1LjQu
NC40X0ExX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvUzE1
LjQuNC40X0EyX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQv
UzE1LjQuNC40X0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25j
YXQvUzE1LjQuNC40X0EzX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9j
b25jYXQvUzE1LjQuNC40X0EzX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9jb25jYXQvUzE1LjQuNC40X0EzX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9jb25jYXQvYXJnLWxlbmd0aC1leGNlZWRpbmctaW50ZWdlci1saW1pdC5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2FyZy1sZW5ndGgtbmVhci1pbnRlZ2Vy
LWxpbWl0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvY2FsbC13
aXRoLWJvb2xlYW4uanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9j
cmVhdGUtY3Rvci1ub24tb2JqZWN0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9jb25jYXQvY3JlYXRlLWN0b3ItcG9pc29uZWQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL2NvbmNhdC9jcmVhdGUtbm9uLWFycmF5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9jb25jYXQvY3JlYXRlLXByb3RvLWZyb20tY3Rvci1yZWFsbS1hcnJheS5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2NyZWF0ZS1wcm90by1m
cm9tLWN0b3ItcmVhbG0tbm9uLWFycmF5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9jb25jYXQvY3JlYXRlLXByb3h5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9jb25jYXQvY3JlYXRlLXJldm9rZWQtcHJveHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL2NvbmNhdC9jcmVhdGUtc3BlY2llcy1hYnJ1cHQuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9jcmVhdGUtc3BlY2llcy1ub24tY3Rvci5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2NyZWF0ZS1zcGVjaWVzLW5v
bi1leHRlbnNpYmxlLXNwcmVhZGFibGUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL2NvbmNhdC9jcmVhdGUtc3BlY2llcy1ub24tZXh0ZW5zaWJsZS5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2NyZWF0ZS1zcGVjaWVzLW51bGwuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9jcmVhdGUtc3BlY2llcy1wb2lzb25l
ZC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2NyZWF0ZS1zcGVj
aWVzLXVuZGVmLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvY3Jl
YXRlLXNwZWNpZXMtd2l0aC1ub24tY29uZmlndXJhYmxlLXByb3BlcnR5LXNwcmVhZGFibGUuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9jcmVhdGUtc3BlY2llcy13
aXRoLW5vbi1jb25maWd1cmFibGUtcHJvcGVydHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL2NvbmNhdC9jcmVhdGUtc3BlY2llcy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvY29uY2F0L2lzLWNvbmNhdC1zcHJlYWRhYmxlLWdldC1lcnIuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9pcy1jb25jYXQtc3ByZWFkYWJsZS1n
ZXQtb3JkZXIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9pcy1j
b25jYXQtc3ByZWFkYWJsZS1pcy1hcnJheS1wcm94eS1yZXZva2VkLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvaXMtY29uY2F0LXNwcmVhZGFibGUtcHJveHktcmV2
b2tlZC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2lzLWNvbmNh
dC1zcHJlYWRhYmxlLXByb3h5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9j
b25jYXQvaXMtY29uY2F0LXNwcmVhZGFibGUtdmFsLWZhbHNleS5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvY29uY2F0L2lzLWNvbmNhdC1zcHJlYWRhYmxlLXZhbC10cnV0aHku
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9pcy1jb25jYXQtc3By
ZWFkYWJsZS12YWwtdW5kZWZpbmVkLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9jb25jYXQvbGVuZ3RoLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25j
YXQvbmFtZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29uY2F0L25vdC1h
LWNvbnN0cnVjdG9yLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQv
cHJvcC1kZXNjLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGlu
L2NhbGwtd2l0aC1ib29sZWFuLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9j
b3B5V2l0aGluL2NvZXJjZWQtdmFsdWVzLWVuZC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvY29weVdpdGhpbi9jb2VyY2VkLXZhbHVlcy1zdGFydC1jaGFuZ2Utc3RhcnQuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vY29lcmNlZC12YWx1
ZXMtc3RhcnQtY2hhbmdlLXRhcmdldC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvY29weVdpdGhpbi9jb2VyY2VkLXZhbHVlcy1zdGFydC5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvY29weVdpdGhpbi9jb2VyY2VkLXZhbHVlcy10YXJnZXQuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbmVnYXRpdmUtZW5kLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL25lZ2F0aXZlLW91dC1v
Zi1ib3VuZHMtZW5kLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0
aGluL25lZ2F0aXZlLW91dC1vZi1ib3VuZHMtc3RhcnQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbmVnYXRpdmUtb3V0LW9mLWJvdW5kcy10YXJnZXQuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbmVnYXRpdmUtc3Rh
cnQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbmVnYXRp
dmUtdGFyZ2V0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGlu
L25vbi1uZWdhdGl2ZS1vdXQtb2YtYm91bmRzLWVuZC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvY29weVdpdGhpbi9ub24tbmVnYXRpdmUtb3V0LW9mLWJvdW5kcy10YXJnZXQt
YW5kLXN0YXJ0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGlu
L25vbi1uZWdhdGl2ZS10YXJnZXQtYW5kLXN0YXJ0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5
L3Byb3RvdHlwZS9jb3B5V2l0aGluL25vbi1uZWdhdGl2ZS10YXJnZXQtc3RhcnQtYW5kLWVuZC5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29weVdpdGhpbi91bmRlZmluZWQt
ZW5kLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9maWxsL2NvZXJjZWQtaW5k
ZXhlcy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmlsbC9maWxsLXZhbHVl
cy1jdXN0b20tc3RhcnQtYW5kLWVuZC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvZmlsbC9maWxsLXZhbHVlcy1yZWxhdGl2ZS1lbmQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL2ZpbGwvZmlsbC12YWx1ZXMtcmVsYXRpdmUtc3RhcnQuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZpbGwvZmlsbC12YWx1ZXMuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXQvYXJyYXktbGlrZS1vYmplY3RzLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9mbGF0L2JvdW5kLWZ1bmN0aW9uLWNhbGwuanMKLU0g
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXQvZW1wdHktYXJyYXktZWxlbWVudHMu
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXQvZW1wdHktb2JqZWN0LWVs
ZW1lbnRzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9mbGF0L25vbi1udW1l
cmljLWRlcHRoLXNob3VsZC1ub3QtdGhyb3cuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL2ZsYXQvbnVsbC11bmRlZmluZWQtZWxlbWVudHMuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL2ZsYXQvcG9zaXRpdmUtaW5maW5pdHkuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL2ZsYXQvcHJveHktYWNjZXNzLWNvdW50LmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9mbGF0TWFwL2FycmF5LWxpa2Utb2JqZWN0cy1uZXN0ZWQu
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXRNYXAvYXJyYXktbGlrZS1v
YmplY3RzLXR5cGVkYXJyYXlzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9m
bGF0TWFwL2FycmF5LWxpa2Utb2JqZWN0cy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvZmxhdE1hcC9ib3VuZC1mdW5jdGlvbi1hcmd1bWVudC5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvZmxhdE1hcC9kZXB0aC1hbHdheXMtb25lLmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9mbGF0TWFwL3Byb3h5LWFjY2Vzcy1jb3VudC5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmxhdE1hcC90aGlzLXZhbHVlLWN0b3Itbm9u
LW9iamVjdC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmxhdE1hcC90aGlz
LXZhbHVlLWN0b3Itb2JqZWN0LXNwZWNpZXMtYmFkLXRocm93cy5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvZmxhdE1hcC90aGlzLXZhbHVlLWN0b3Itb2JqZWN0LXNwZWNpZXMu
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXRNYXAvdGhpc0FyZy1hcmd1
bWVudC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvaW5jbHVkZXMvZ2V0LXBy
b3AuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vUzE1LjQuNC41X0Ex
LjFfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vUzE1LjQuNC41
X0ExLjJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vUzE1LjQu
NC41X0ExLjJfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vUzE1
LjQuNC41X0ExLjNfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4v
UzE1LjQuNC41X0EyX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9qb2lu
L1MxNS40LjQuNV9BMl9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvam9p
bi9TMTUuNC40LjVfQTJfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pv
aW4vUzE1LjQuNC41X0EyX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9q
b2luL1MxNS40LjQuNV9BMy4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9qb2luL1MxNS40LjQuNV9BMy4xX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9qb2luL1MxNS40LjQuNV9BMy4yX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9qb2luL1MxNS40LjQuNV9BMy4yX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5
L3Byb3RvdHlwZS9qb2luL1MxNS40LjQuNV9BNF9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvam9pbi9TMTUuNC40LjVfQTVfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL2pvaW4vUzE1LjQuNC41X0E2LjYuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL2pvaW4vUzE1LjQuNC41X0E2LjcuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL3BvcC9TMTUuNC40LjZfQTEuMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvcG9wL1MxNS40LjQuNl9BMS4yX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EyX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EyX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EyX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EzX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EzX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0EzX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0E0X1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0E0X1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wb3AvUzE1LjQuNC42X0E1LjcuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL3B1c2gvUzE1LjQuNC43X0ExX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9wdXNoL1MxNS40LjQuN19BMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvcHVzaC9TMTUuNC40LjdfQTJfVDEuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL3B1c2gvUzE1LjQuNC43X0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9wdXNoL1MxNS40LjQuN19BMl9UMy5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvcHVzaC9TMTUuNC40LjdfQTMuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL3B1c2gvUzE1LjQuNC43X0E0X1QxLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9wdXNoL1MxNS40LjQuN19BNF9UMi5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvcHVzaC9TMTUuNC40LjdfQTRfVDMuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL3B1c2gvUzE1LjQuNC43X0E1X1QxLmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9wdXNoL1MxNS40LjQuN19BNi43LmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9sZW5ndGgtbmVhci1pbnRlZ2VyLWxp
bWl0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZXZlcnNlL1MxNS40LjQu
OF9BMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvcmV2ZXJzZS9TMTUu
NC40LjhfQTFfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3JldmVyc2Uv
UzE1LjQuNC44X0EyX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZXZl
cnNlL1MxNS40LjQuOF9BMl9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
cmV2ZXJzZS9TMTUuNC40LjhfQTJfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL3JldmVyc2UvUzE1LjQuNC44X0EzX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9yZXZlcnNlL1MxNS40LjQuOF9BNF9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvcmV2ZXJzZS9TMTUuNC40LjhfQTRfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL3JldmVyc2UvUzE1LjQuNC44X0E1LjcuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL3JldmVyc2UvbGVuZ3RoLWV4Y2VlZGluZy1pbnRlZ2VyLWxpbWl0
LXdpdGgtcHJveHkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NoaWZ0L1Mx
NS40LjQuOV9BMS4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zaGlm
dC9TMTUuNC40LjlfQTEuMl9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
c2hpZnQvUzE1LjQuNC45X0EyX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9zaGlmdC9TMTUuNC40LjlfQTJfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL3NoaWZ0L1MxNS40LjQuOV9BMl9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvc2hpZnQvUzE1LjQuNC45X0EyX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9zaGlmdC9TMTUuNC40LjlfQTJfVDUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL3NoaWZ0L1MxNS40LjQuOV9BM19UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvc2hpZnQvUzE1LjQuNC45X0E0X1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9zaGlmdC9TMTUuNC40LjlfQTRfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL3NoaWZ0L1MxNS40LjQuOV9BNS43LmpzCi1NIHRlc3QvYnVpbHQtaW5z
L0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0ExLjFfVDEuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTEuMV9UMi5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQuNC4xMF9BMS4xX1QzLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0ExLjFfVDQu
anMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTEu
MV9UNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQuNC4x
MF9BMS4xX1Q2LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUu
NC40LjEwX0ExLjFfVDcuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNl
L1MxNS40LjQuMTBfQTEuMl9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
c2xpY2UvUzE1LjQuNC4xMF9BMS4yX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9zbGljZS9TMTUuNC40LjEwX0ExLjJfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTEuMl9UNC5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQuNC4xMF9BMS4zX1QxLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0ExLjNfVDIuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTEuM19UMy5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQuNC4xMF9BMS4zX1Q0Lmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0ExLjRf
VDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBf
QTEuNF9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQu
NC4xMF9BMS40X1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9T
MTUuNC40LjEwX0ExLjRfVDQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3Ns
aWNlL1MxNS40LjQuMTBfQTEuNV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvc2xpY2UvUzE1LjQuNC4xMF9BMS41X1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0EyLjFfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTIuMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQuNC4xMF9BMi4xX1QzLmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0EyLjFfVDQuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTIuMV9UNS5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1LjQuNC4xMF9BMi4yX1Qx
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGljZS9TMTUuNC40LjEwX0Ey
LjJfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQu
MTBfQTIuMl9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvUzE1
LjQuNC4xMF9BMi4yX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zbGlj
ZS9TMTUuNC40LjEwX0EyLjJfVDUuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBl
L3NsaWNlL1MxNS40LjQuMTBfQTJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL3NsaWNlL1MxNS40LjQuMTBfQTJfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTJfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTJfVDQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTJfVDUuanMKLU0gdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTJfVDYuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTNfVDEuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTNfVDIuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTNfVDMuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTRfVDEuanMKLU0g
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL1MxNS40LjQuMTBfQTUuNy5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvbGVuZ3RoLWV4Y2VlZGluZy1p
bnRlZ2VyLWxpbWl0LXByb3hpZWQtYXJyYXkuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3NsaWNlL2xlbmd0aC1leGNlZWRpbmctaW50ZWdlci1saW1pdC5qcwotTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc29ydC9TMTUuNC40LjExX0ExLjFfVDEuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NvcnQvUzE1LjQuNC4xMV9BMS4yX1QxLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb3J0L1MxNS40LjQuMTFfQTEuMl9UMi5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc29ydC9TMTUuNC40LjExX0ExLjNf
VDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NvcnQvUzE1LjQuNC4xMV9B
MS40X1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb3J0L1MxNS40LjQu
MTFfQTEuNF9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc29ydC9TMTUu
NC40LjExX0ExLjVfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NvcnQv
UzE1LjQuNC4xMV9BMi4xX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9z
b3J0L1MxNS40LjQuMTFfQTIuMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvc29ydC9TMTUuNC40LjExX0EyLjFfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3NvcnQvUzE1LjQuNC4xMV9BMi4yX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5
L3Byb3RvdHlwZS9zb3J0L1MxNS40LjQuMTFfQTIuMl9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvc29ydC9TMTUuNC40LjExX0EyLjJfVDMuanMKLU0gdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL3NvcnQvUzE1LjQuNC4xMV9BM19UMS5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvc29ydC9TMTUuNC40LjExX0EzX1QyLmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb3J0L1MxNS40LjQuMTFfQTRfVDMuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NvcnQvUzE1LjQuNC4xMV9BNV9UMS5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc29ydC9TMTUuNC40LjExX0E2X1QyLmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb3J0L1MxNS40LjQuMTFfQTcuNy5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMV9UMS5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEu
MV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQu
MTJfQTEuMV9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1Mx
NS40LjQuMTJfQTEuMV9UNC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3Bs
aWNlL1MxNS40LjQuMTJfQTEuMV9UNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMV9UNi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMl9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMl9UMi5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMl9UMy5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMl9UNC5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuMl9U
NS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJf
QTEuM19UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40
LjQuMTJfQTEuM19UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNl
L1MxNS40LjQuMTJfQTEuM19UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
c3BsaWNlL1MxNS40LjQuMTJfQTEuM19UNC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuM19UNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuNF9UMS5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuNF9UMi5qcwotTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuNF9UMy5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEuNF9UNC5q
cwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTEu
NF9UNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQu
MTJfQTEuNF9UNi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1Mx
NS40LjQuMTJfQTEuNV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3Bs
aWNlL1MxNS40LjQuMTJfQTEuNV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5
cGUvc3BsaWNlL1MxNS40LjQuMTJfQTIuMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTIuMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTIuMV9UMy5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTIuMV9UNC5qcwotTSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTIuMV9UNS5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTIuMl9U
MS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJf
QTIuMl9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40
LjQuMTJfQTIuMl9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNl
L1MxNS40LjQuMTJfQTIuMl9UNC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
c3BsaWNlL1MxNS40LjQuMTJfQTIuMl9UNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL3NwbGljZS9TMTUuNC40LjEyX0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9zcGxpY2UvUzE1LjQuNC4xMl9BMl9UMy5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTJfVDQuanMKLU0gdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL3NwbGljZS9TMTUuNC40LjEyX0EzX1QxLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2UvUzE1LjQuNC4xMl9BM19UMy5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTRfVDEuanMK
LU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NwbGljZS9TMTUuNC40LjEyX0E0X1Qy
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2UvUzE1LjQuNC4xMl9B
NF9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL1MxNS40LjQu
MTJfQTUuNy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL2NyZWF0
ZS1zcGVjaWVzLWxlbmd0aC1leGNlZWRpbmctaW50ZWdlci1saW1pdC5qcwotTSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL2xlbmd0aC1hbmQtZGVsZXRlQ291bnQtZXhjZWVk
aW5nLWludGVnZXItbGltaXQuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3Nw
bGljZS9sZW5ndGgtZXhjZWVkaW5nLWludGVnZXItbGltaXQtc2hyaW5rLWFycmF5LmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2UvbGVuZ3RoLW5lYXItaW50ZWdlci1s
aW1pdC1ncm93LWFycmF5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS90b0xv
Y2FsZVN0cmluZy9TMTUuNC40LjNfQTFfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS40LjQuM19BM19UMS5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjQuNC4zX0E0LjcuanMKLU0gdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS40LjQuMl9BMV9UMS5qcwot
TSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjQuNC4yX0ExX1Qy
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNC40LjJf
QTFfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS40
LjQuMl9BMV9UNC5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvdG9TdHJpbmcv
UzE1LjQuNC4yX0EzX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuNC40LjJfQTQuNy5qcwotTSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
dW5zaGlmdC9TMTUuNC40LjEzX0ExX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS91bnNoaWZ0L1MxNS40LjQuMTNfQTFfVDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL3Vuc2hpZnQvUzE1LjQuNC4xM19BMl9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvdW5zaGlmdC9TMTUuNC40LjEzX0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS91bnNoaWZ0L1MxNS40LjQuMTNfQTJfVDMuanMKLU0gdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3Vuc2hpZnQvUzE1LjQuNC4xM19BM19UMi5qcwotTSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvdW5zaGlmdC9TMTUuNC40LjEzX0E0X1QxLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS91bnNoaWZ0L1MxNS40LjQuMTNfQTRf
VDIuanMKLU0gdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3Vuc2hpZnQvUzE1LjQuNC4x
M19BNS43LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMS4xX0ExX1QxLmpzCi1N
IHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMS4xX0ExX1QyLmpzCi1NIHRlc3QvYnVpbHQt
aW5zL0Jvb2xlYW4vUzE1LjYuMS4xX0ExX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4v
UzE1LjYuMS4xX0ExX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMS4xX0Ex
X1Q1LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMS4xX0EyLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMi4xX0ExLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xl
YW4vUzE1LjYuMi4xX0EyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMi4xX0Ez
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzE1LjYuMi4xX0E0LmpzCi1NIHRlc3QvYnVp
bHQtaW5zL0Jvb2xlYW4vUzE1LjYuM19BMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9Cb29sZWFuL1Mx
NS42LjNfQTIuanMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9TMTUuNi4zX0EzLmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzkuMl9BMV9UMS5qcwotTSB0ZXN0L2J1aWx0LWlucy9Cb29s
ZWFuL1M5LjJfQTJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9TOS4yX0EzX1QxLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzkuMl9BNF9UMS5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9Cb29sZWFuL1M5LjJfQTRfVDMuanMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9TOS4yX0E1
X1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vUzkuMl9BNV9UMy5qcwotTSB0ZXN0L2J1
aWx0LWlucy9Cb29sZWFuL1M5LjJfQTZfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9w
cm90b3R5cGUvUzE1LjYuMy4xX0ExLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90
eXBlL1MxNS42LjMuMV9BMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9Cb29sZWFuL3Byb3RvdHlwZS9T
MTUuNi4zLjFfQTMuanMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9wcm90b3R5cGUvUzE1LjYu
My4xX0E0LmpzCi1EIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL1MxNS42LjRfQTEu
anMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9wcm90b3R5cGUvUzE1LjYuNF9BMi5qcwotTSB0
ZXN0L2J1aWx0LWlucy9Cb29sZWFuL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuNi40LjFfQTEu
anMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjYuNC4y
X0ExX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS42LjQuMl9BMV9UMi5qcwotTSB0ZXN0L2J1aWx0LWlucy9Cb29sZWFuL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuNi40LjJfQTJfVDEuanMKLU0gdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjYuNC4yX0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4v
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS42LjQuMl9BMl9UMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9C
b29sZWFuL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNi40LjJfQTJfVDQuanMKLU0gdGVzdC9idWls
dC1pbnMvQm9vbGVhbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjYuNC4yX0EyX1Q1LmpzCi1NIHRl
c3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjYuNC4zX0ExX1QxLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjYuNC4zX0Ex
X1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjYu
NC4zX0EyX1QxLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2Yv
UzE1LjYuNC4zX0EyX1QyLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3Zh
bHVlT2YvUzE1LjYuNC4zX0EyX1QzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90
eXBlL3ZhbHVlT2YvUzE1LjYuNC4zX0EyX1Q0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4v
cHJvdG90eXBlL3ZhbHVlT2YvUzE1LjYuNC4zX0EyX1Q1LmpzCi1NIHRlc3QvYnVpbHQtaW5zL01h
dGgvYWJzL1MxNS44LjIuMV9BMy5qcwotTSB0ZXN0L2J1aWx0LWlucy9NYXRoL2NlaWwvUzE1Ljgu
Mi42X0E0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvY2VpbC9TMTUuOC4yLjZfQTUuanMKLU0g
dGVzdC9idWlsdC1pbnMvTWF0aC9jZWlsL1MxNS44LjIuNl9BNy5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9NYXRoL2Nvcy9TMTUuOC4yLjdfQTIuanMKLU0gdGVzdC9idWlsdC1pbnMvTWF0aC9jb3MvUzE1
LjguMi43X0EzLmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvZXhwL1MxNS44LjIuOF9BMi5qcwot
TSB0ZXN0L2J1aWx0LWlucy9NYXRoL2V4cC9TMTUuOC4yLjhfQTMuanMKLU0gdGVzdC9idWlsdC1p
bnMvTWF0aC9leHAvUzE1LjguMi44X0E0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvZmxvb3Iv
UzE1LjguMi45X0E0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvZmxvb3IvUzE1LjguMi45X0E1
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvZmxvb3IvUzE1LjguMi45X0E3LmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL01hdGgvbG9nL1MxNS44LjIuMTBfQTMuanMKLU0gdGVzdC9idWlsdC1pbnMvTWF0
aC9sb2cvUzE1LjguMi4xMF9BNS5qcwotTSB0ZXN0L2J1aWx0LWlucy9NYXRoL21heC9TMTUuOC4y
LjExX0ExLmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvbWF4L1MxNS44LjIuMTFfQTQuanMKLU0g
dGVzdC9idWlsdC1pbnMvTWF0aC9taW4vUzE1LjguMi4xMl9BMS5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9NYXRoL21pbi9TMTUuOC4yLjEyX0E0LmpzCi1NIHRlc3QvYnVpbHQtaW5zL01hdGgvcm91bmQv
UzE1LjguMi4xNV9BNC5qcwotTSB0ZXN0L2J1aWx0LWlucy9NYXRoL3JvdW5kL1MxNS44LjIuMTVf
QTUuanMKLU0gdGVzdC9idWlsdC1pbnMvTWF0aC9yb3VuZC9TMTUuOC4yLjE1X0E2LmpzCi1NIHRl
c3QvYnVpbHQtaW5zL01hdGgvcm91bmQvUzE1LjguMi4xNV9BNy5qcwotTSB0ZXN0L2J1aWx0LWlu
cy9NYXRoL3NxcnQvUzE1LjguMi4xN19BNS5qcwotQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvZW50
cmllcy9vcmRlci1hZnRlci1kZWZpbmUtcHJvcGVydHktd2l0aC1mdW5jdGlvbi5qcwotTSB0ZXN0
L2J1aWx0LWlucy9PYmplY3QvZW50cmllcy9vcmRlci1hZnRlci1kZWZpbmUtcHJvcGVydHkuanMK
LUEgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvb3JkZXItYWZ0ZXItZGVmaW5lLXByb3BlcnR5
LXdpdGgtZnVuY3Rpb24uanMKLU0gdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvb3JkZXItYWZ0
ZXItZGVmaW5lLXByb3BlcnR5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9l
dmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1uZXctd3JhcHBpbmctb24tZWFjaC1ldmFsdWF0aW9u
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlQWRk
L2FkZC1kYXlzLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS9kYXRlQWRkL2FkZC1tb250aHMtd2Vla3MuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RhdGVBZGQvYWRkLW1vbnRocy5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF0ZUFkZC9hZGQtd2Vla3MtZGF5cy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF0ZUFkZC9hZGQt
d2Vla3MuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2Rh
dGVBZGQvYWRkLXllYXJzLW1vbnRocy1kYXlzLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlQWRkL2FkZC15ZWFycy1tb250aHMuanMKLUEgdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVBZGQvYWRkLXllYXJzLXdl
ZWtzLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRl
QWRkL2FkZC15ZWFycy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvZGF0ZUFkZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF0ZUFkZC90aHJvdy1yYW5nZS1lcnJvci1mcm9tLVRvVGVtcG9yYWxE
YXRlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRl
QWRkL3Rocm93LXJhbmdlLWVycm9yLWZyb20tVG9UZW1wb3JhbER1cmF0aW9uLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlQWRkL3Rocm93LXJhbmdl
LWVycm9yLWZyb20tVG9UZW1wb3JhbE92ZXJmbG93LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlQWRkL3Rocm93LXR5cGUtZXJyb3ItZnJvbS1HZXRP
cHRpb25zT2JqZWN0LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3Rv
dHlwZS9kYXRlQWRkL3Rocm93LXR5cGUtZXJyb3ItZnJvbS1SZXF1aXJlSW50ZXJuYWxTbG90Lmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJvbUZp
ZWxkcy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvZGF0ZUZyb21GaWVsZHMvdGhyb3ctcmFuZ2UtZXJyb3ItZnJvbS1JU09EYXRlRnJvbUZp
ZWxkcy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF0
ZUZyb21GaWVsZHMvdGhyb3ctdHlwZS1lcnJvci1maWVsZHMtaXMtbm90LW9iamVjdC5qcwotQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF0ZUZyb21GaWVsZHMv
dGhyb3ctdHlwZS1lcnJvci1mcm9tLUdldE9wdGlvbnNPYmplY3QuanMKLUEgdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVGcm9tRmllbGRzL3Rocm93LXR5cGUt
ZXJyb3ItZnJvbS1SZXF1aXJlSW50ZXJuYWxTbG90LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJvbUZpZWxkcy90aHJvd3MtcmFuZ2UtZXJyb3Iu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVGcm9t
RmllbGRzL3Rocm93cy10eXBlLWVycm9yLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJvbUZpZWxkcy93aXRoLXllYXItbW9udGgtZGF5LW5lZWQt
Y29uc3RyYWluLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS9kYXRlRnJvbUZpZWxkcy93aXRoLXllYXItbW9udGgtZGF5LmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJvbUZpZWxkcy93aXRoLXllYXItbW9u
dGhDb2RlLWRheS1uZWVkLWNvbnN0cmFpbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9D
YWxlbmRhci9wcm90b3R5cGUvZGF0ZUZyb21GaWVsZHMvd2l0aC15ZWFyLW1vbnRoQ29kZS1kYXku
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVVbnRp
bC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvZGF0ZVVudGlsL2xhcmdlc3QtdW5pdC1kYXkuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVVbnRpbC9sYXJnZXN0LXVuaXQtbW9udGguanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVVbnRpbC9sYXJn
ZXN0LXVuaXQtd2Vlay5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvZGF0ZVVudGlsL2xhcmdlc3QtdW5pdC15ZWFyLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlVW50aWwvbm8tb3B0aW9ucy5qcwotQSB0ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF0ZVVudGlsL3Rocm93cy1y
YW5nZS1lcnJvci1Ub0xhcmdlc3RUZW1wb3JhbFVuaXQuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RhdGVVbnRpbC90aHJvd3MtcmFuZ2UtZXJyb3ItVG9U
ZW1wb3JhbERhdGUuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RhdGVVbnRpbC90aHJvd3MtdHlwZS1lcnJvci1HZXRPcHRpb25zT2JqZWN0LmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlVW50aWwvdGhyb3dz
LXR5cGUtZXJyb3ItUmVxdWlyZUludGVybmFsU2xvdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvZGF0ZS10aW1lLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvZGF0ZS5qcwotQSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L21vbnRoLWRheS5qcwotQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L3N0cmluZy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L3Rocm93LXJh
bmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXkvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxTbG90
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZldl
ZWsvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLXRpbWUuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsvc3RyaW5nLmpzCi1B
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsvdGhy
b3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJ
bnRlcm5hbFNsb3QuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mWWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF5T2ZZZWFyL3BsYWluLWRhdGUtdGltZS5qcwotQSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZZZWFyL3BsYWluLWRhdGUuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci9z
dHJpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2Rh
eU9mWWVhci90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcwotQSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZZZWFyL3Rocm93LXR5cGUtZXJy
b3ItUmVxdWlyZUludGVybmFsU2xvdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF5c0luTW9udGgvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3BsYWluLWRhdGUtdGltZS5q
cwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luTW9u
dGgvcGxhaW4tZGF0ZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvZGF5c0luTW9udGgvc3RyaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFs
RGF0ZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5
c0luTW9udGgvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxTbG90LmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5XZWVrL2JyYW5kaW5n
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5X
ZWVrL2RhdGUtdGltZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvZGF5c0luV2Vlay9kYXRlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS9kYXlzSW5XZWVrL3N0cmluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luV2Vlay90aHJvdy1yYW5nZS1lcnJvci1Ub1Rl
bXBvcmFsRGF0ZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvZGF5c0luV2Vlay90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5hbFNsb3QuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvYnJh
bmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2Rh
eXNJblllYXIvcGxhaW4tZGF0ZS10aW1lLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3BsYWluLWRhdGUuanMKLUEgdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvc3RyaW5nLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3Rocm93
LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3Rocm93LXR5cGUtZXJyb3ItUmVxdWlyZUlu
dGVybmFsU2xvdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvZXJhL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9maWVsZHMvYnJhbmRpbmcuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2ZpZWxkcy9sb25nLWlucHV0LmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9pbkxlYXBZZWFyL2JyYW5kaW5nLmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tZXJnZUZpZWxk
cy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvbW9udGgvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIv
cHJvdG90eXBlL21vbnRoL2RhdGUtdGltZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9D
YWxlbmRhci9wcm90b3R5cGUvbW9udGgvZGF0ZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvbW9udGgtZGF5LXRocm93LXR5cGUtZXJyb3IuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoL3N0cmlu
Zy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgv
dGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoL3Rocm93LXR5cGUtZXJyb3ItUmVxdWlyZUlu
dGVybmFsU2xvdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvbW9udGgveWVhci1tb250aC5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRh
ci9wcm90b3R5cGUvbW9udGhDb2RlL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUvZGF0ZS10aW1lLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUvZGF0ZS5qcwotQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL21vbnRo
LWRheS5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9u
dGhDb2RlL3N0cmluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvbW9udGhDb2RlL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUvdGhyb3ct
dHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxTbG90LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUveWVhci1tb250aC5qcwotQSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhEYXlGcm9tRmllbGRzL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9t
b250aHNJblllYXIvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL3RvU3RyaW5nL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS93ZWVrT2ZZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL2JyYW5kaW5nLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL2RhdGUtdGltZS5q
cwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci9kYXRl
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL3N0
cmluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVh
ci90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJ
bnRlcm5hbFNsb3QuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL3llYXIveWVhci1tb250aC5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRh
ci9wcm90b3R5cGUveWVhck1vbnRoRnJvbUZpZWxkcy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9EdXJhdGlvbi9wcm90b3R5cGUvYWJzL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS9hZGQvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvRHVyYXRpb24vcHJvdG90eXBlL2JsYW5rL2JyYW5kaW5n
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS9kYXlzL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS9o
b3Vycy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9EdXJhdGlvbi9wcm90
b3R5cGUvbWljcm9zZWNvbmRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0R1cmF0aW9uL3Byb3RvdHlwZS9taWxsaXNlY29uZHMvYnJhbmRpbmcuanMKLUEgdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvRHVyYXRpb24vcHJvdG90eXBlL21pbnV0ZXMvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvRHVyYXRpb24vcHJvdG90eXBlL21vbnRocy9icmFuZGlu
Zy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9EdXJhdGlvbi9wcm90b3R5cGUvbmFub3Nl
Y29uZHMvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvRHVyYXRpb24vcHJv
dG90eXBlL25lZ2F0ZWQvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvRHVy
YXRpb24vcHJvdG90eXBlL3JvdW5kL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0R1cmF0aW9uL3Byb3RvdHlwZS9zZWNvbmRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS9zaWduL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS9zdWJ0cmFjdC9icmFuZGluZy5q
cwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9EdXJhdGlvbi9wcm90b3R5cGUvdG9KU09OL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS90
b0xvY2FsZVN0cmluZy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9EdXJh
dGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvRHVyYXRpb24vcHJvdG90eXBlL3RvdGFsL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS92YWx1ZU9mL2JyYW5kaW5nLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0R1cmF0aW9uL3Byb3RvdHlwZS93ZWVrcy9icmFuZGluZy5q
cwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9EdXJhdGlvbi9wcm90b3R5cGUvd2l0aC9icmFu
ZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9EdXJhdGlvbi9wcm90b3R5cGUveWVh
cnMvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvSW5zdGFudC9wcm90b3R5
cGUvYWRkL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0luc3RhbnQvcHJv
dG90eXBlL2Vwb2NoTWljcm9zZWNvbmRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL0luc3RhbnQvcHJvdG90eXBlL2Vwb2NoTWlsbGlzZWNvbmRzL2JyYW5kaW5nLmpzCi1B
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0luc3RhbnQvcHJvdG90eXBlL2Vwb2NoTmFub3NlY29u
ZHMvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvSW5zdGFudC9wcm90b3R5
cGUvZXBvY2hTZWNvbmRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0lu
c3RhbnQvcHJvdG90eXBlL2VxdWFscy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9JbnN0YW50L3Byb3RvdHlwZS9yb3VuZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9JbnN0YW50L3Byb3RvdHlwZS9zaW5jZS9icmFuZGluZy5qcwotQSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9JbnN0YW50L3Byb3RvdHlwZS9zdWJ0cmFjdC9icmFuZGluZy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9JbnN0YW50L3Byb3RvdHlwZS90b0pTT04vYnJhbmRp
bmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvSW5zdGFudC9wcm90b3R5cGUvdG9Mb2Nh
bGVTdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvSW5zdGFudC9w
cm90b3R5cGUvdG9TdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
SW5zdGFudC9wcm90b3R5cGUvdG9ab25lZERhdGVUaW1lL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0luc3RhbnQvcHJvdG90eXBlL3RvWm9uZWREYXRlVGltZUlTTy9icmFu
ZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9JbnN0YW50L3Byb3RvdHlwZS91bnRp
bC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9JbnN0YW50L3Byb3RvdHlw
ZS92YWx1ZU9mL2JyYW5kaW5nLmpzCi1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9pbnN0
YW50L2V4dGVuc2libGUuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L2luc3RhbnQv
bmFtZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvaW5zdGFudC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvaW5zdGFudC9yZXR1cm4t
dmFsdWUtZGlzdGluY3QuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L2luc3RhbnQv
cmV0dXJuLXZhbHVlLXByb3RvdHlwZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cv
aW5zdGFudC9yZXR1cm4tdmFsdWUtdmFsdWUuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Tm93L3BsYWluRGF0ZVRpbWUvY2FsZW5kYXItZnVuY3Rpb24uanMKLU0gdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtY2FsbC10b3N0
cmluZy5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZS9jYWxl
bmRhci1vYmplY3QtZmFpbC1nZXQtY2FsZW5kYXIuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvTm93L3BsYWluRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtaGFzLWNhbGVuZGFyLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL2NhbGVuZGFyLW9i
amVjdC1mYWlsLWhhcy1uZXN0ZWQtY2FsZW5kYXIuanMKK00gaGFybmVzcy9hc3NlcnQuanMKK00g
aGFybmVzcy90ZXN0SW50bC5qcworTSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9jb21waWxlL3RoaXMtY3Jvc3MtcmVhbG0taW5zdGFuY2UuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0YVZpZXcvcHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1RhZy5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL1MxNS45LjIuMV9BMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjIu
MV9BMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9U
NC5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UNS5qcworTSB0ZXN0L2J1
aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMV9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UMi5q
cworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UMy5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45
LjMuMV9BMl9UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UNi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UMS4xLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QxLjIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUu
OS4zLjFfQTNfVDIuMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UMi4y
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QzLjEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDMuMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BM19UNC4xLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0Ez
X1Q0LjIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDUuMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UNS4yLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvUzE1LjkuMy4xX0EzX1Q2LjEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4z
LjFfQTNfVDYuMi5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL1MxNS45LjMuMV9BNF9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMu
MV9BNF9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UNC5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL1MxNS45LjMuMV9BNF9UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9B
Nl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNl9UMi5qcworTSB0ZXN0
L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNl9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BNl9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNl9U
NS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMl9BMV9UMS5qcworTSB0ZXN0L2J1
aWx0LWlucy9EYXRlL1MxNS45LjMuMl9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMl9BM19UMS4xLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4yX0EzX1Qx
LjIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS40X0ExLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuNF9BMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjRfQTMu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS40X0E0LmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvUzE1LjkuNF9BNS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNf
QTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0ExX1QyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BMV9UMy5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9V
VEMvUzE1LjkuNC4zX0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQu
M19BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTNfVDMuanMK
K00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTFfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMv
RGF0ZS9wYXJzZS9TMTUuOS40LjJfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJz
ZS9TMTUuOS40LjJfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40
LjJfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTNfVDIu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTNfVDMuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNC4xX0ExX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjQuMV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9TMTUuOS40LjFfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvUzE1LjkuNV9BMDJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BMDNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1Ljku
NV9BMDRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDVf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDZfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDdfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDhfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDlfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTBfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BMTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BMTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1
LjkuNV9BMTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MTRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTVfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTZfVDEuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTdfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMThfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTlfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjBfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvUzE1LjkuNV9BMjFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BMjJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1Ljku
NV9BMjNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjRf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjVfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjZfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjdfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjhfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjlfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BMzBfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BMzFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1
LjkuNV9BMzJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MzNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzRfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzVfVDEuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzZfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzdfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzhfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzlfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvUzE1LjkuNV9BNDBfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BNDFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1Ljku
NV9BNDJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3Iv
UzE1LjkuNS4xX0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0
cnVjdG9yL1MxNS45LjUuMV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BM19UMS5qcworTSB0ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTNfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0EzX1Qz
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9B
MV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXRlL1MxNS45LjUu
MTRfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF0ZS9TMTUu
OS41LjE0X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUv
UzE1LjkuNS4xNF9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRE
YXRlL1MxNS45LjUuMTRfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0RGF0ZS9TMTUuOS41LjE0X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMl9UMS5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BM19UMS5qcworTSB0ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BM19UMi5qcworTSB0ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BM19UMy5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRGdWxsWWVhci9TMTUuOS41LjEwX0ExX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUu
MTBfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIv
UzE1LjkuNS4xMF9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRG
dWxsWWVhci9TMTUuOS41LjEwX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BM19UMi5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRGdWxsWWVhci9TMTUuOS41LjEwX0EzX1QzLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhvdXJzL1MxNS45LjUuMThfQTFfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvUzE1LjkuNS4xOF9BMV9U
Mi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4
X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhvdXJzL1MxNS45
LjUuMThfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMv
UzE1LjkuNS4xOF9BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRI
b3Vycy9TMTUuOS41LjE4X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldEhvdXJzL1MxNS45LjUuMThfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTFfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTFfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRf
QTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRz
L1MxNS45LjUuMjRfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTNfVDIuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTNfVDMuanMK
K00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0Ex
X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1Ljku
NS4yMF9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaW51dGVz
L1MxNS45LjUuMjBfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
TWludXRlcy9TMTUuOS41LjIwX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTNfVDIuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0EzX1QzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJfQTFfVDEuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BMV9UMi5q
cworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUuOS41LjEyX0Ex
X1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUu
MTJfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1
LjkuNS4xMl9BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250
aC9TMTUuOS41LjEyX0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dE1vbnRoL1MxNS45LjUuMTJfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRTZWNvbmRzL1MxNS45LjUuMjJfQTFfVDMuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0EyX1QxLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BM19U
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRTZWNvbmRzL1MxNS45LjUu
MjJfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9T
MTUuOS41LjIyX0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRp
bWUvUzE1LjkuNS45X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFRpbWUvUzE1LjkuNS45X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldFRpbWUvUzE1LjkuNS45X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFRpbWUvUzE1LjkuNS45X0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDEuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvUzE1LjkuNS4y
Nl9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9m
ZnNldC9TMTUuOS41LjI2X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvUzE1LjkuNS4yNl9BM19UMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9mZnNldC9TMTUuOS41LjI2
X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zm
c2V0L1MxNS45LjUuMjZfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDRGF0ZS9TMTUuOS41LjE1X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ0RhdGUvUzE1LjkuNS4xNV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVfQTFfVDMuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0EyX1QxLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0RhdGUvUzE1LjkuNS4xNV9BM19UMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVf
QTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUu
OS41LjE1X0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Rh
eS9TMTUuOS41LjE3X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ0RheS9TMTUuOS41LjE3X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EzX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EzX1QyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EzX1QzLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUu
MTFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFll
YXIvUzE1LjkuNS4xMV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENGdWxsWWVhci9TMTUuOS41LjExX0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUuMTFfQTJfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BM19UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENGdWxsWWVhci9TMTUuOS41LjEx
X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFy
L1MxNS45LjUuMTFfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlfQTFfVDMuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BMl9UMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5X0EzX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUu
MTlfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMv
UzE1LjkuNS4xOV9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BMV9UMi5qcworTSB0ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9B
MV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29u
ZHMvUzE1LjkuNS4yNV9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BM19UMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4y
NV9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVz
L1MxNS45LjUuMjFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
VVRDTWludXRlcy9TMTUuOS41LjIxX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL1MxNS45LjUuMjFfQTJfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0EzX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1Ljku
NS4yMV9BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51
dGVzL1MxNS45LjUuMjFfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDTW9udGgvUzE1LjkuNS4xM19BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNfQTFfVDMuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9udGgvUzE1LjkuNS4xM19BMl9UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0Ez
X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45
LjUuMTNfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9u
dGgvUzE1LjkuNS4xM19BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19BMV9UMy5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTJf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUu
OS41LjIzX0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1Nl
Y29uZHMvUzE1LjkuNS4yM19BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BMV9UMi5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTFfVDMuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0EyX1QxLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BM19UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTNfVDIu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0Ez
X1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45
LjUuNDBfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFll
YXIvUzE1LjkuNS40MF9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRGdWxsWWVhci9TMTUuOS41LjQwX0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BM19UMS5qcworTSB0ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0EzX1QyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTNf
VDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1LjkuNS4z
NF9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUu
OS41LjM0X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJz
L1MxNS45LjUuMzRfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
SG91cnMvUzE1LjkuNS4zNF9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXRIb3Vycy9TMTUuOS41LjM0X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1LjkuNS4zNF9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BMV9UMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9B
MV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMv
UzE1LjkuNS4yOF9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRN
aWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BM19UMS5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BM19UMi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4y
OF9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1Mx
NS45LjUuMzJfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlu
dXRlcy9TMTUuOS41LjMyX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0TWludXRlcy9TMTUuOS41LjMyX0EzX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9BM19UMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTNfVDMu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9B
MV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNb250aC9TMTUuOS41
LjM4X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1vbnRoL1Mx
NS45LjUuMzhfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9u
dGgvUzE1LjkuNS4zOF9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRNb250aC9TMTUuOS41LjM4X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTFfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9TMTUuOS41LjMwX0ExX1QyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BMV9UMy5q
cworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBf
QTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9TMTUu
OS41LjMwX0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29u
ZHMvUzE1LjkuNS4zMF9BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRTZWNvbmRzL1MxNS45LjUuMzBfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldFRpbWUvUzE1LjkuNS4yN19BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTFfVDMuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0EyX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUvUzE1LjkuNS4yN19BM19UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTNfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0EzX1QzLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvUzE1LjkuNS4zN19B
MV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45
LjUuMzdfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRGF0
ZS9TMTUuOS41LjM3X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ0RhdGUvUzE1LjkuNS4zN19BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0VVRDRGF0ZS9TMTUuOS41LjM3X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvUzE1LjkuNS4zN19BM19UMy5qcworTSB0ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0ExX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45
LjUuNDFfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVs
bFllYXIvUzE1LjkuNS40MV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTNfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9BM19UMi5q
cworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41
LjQxX0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJz
L1MxNS45LjUuMzVfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDSG91cnMvUzE1LjkuNS4zNV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUuMzVfQTJfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4zNV9BM19UMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0EzX1Qy
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUu
MzVfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlz
ZWNvbmRzL1MxNS45LjUuMjlfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTFfVDIuanMKK00gdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTFfVDMuanMK
K00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45
LjUuMjlfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWls
bGlzZWNvbmRzL1MxNS45LjUuMjlfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTNfVDIuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTNfVDMu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRlcy9TMTUuOS41
LjMzX0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0
ZXMvUzE1LjkuNS4zM19BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRVVENNaW51dGVzL1MxNS45LjUuMzNfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0VVRDTWludXRlcy9TMTUuOS41LjMzX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BM19UMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45LjUuMzNfQTNf
VDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRlcy9TMTUu
OS41LjMzX0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01v
bnRoL1MxNS45LjUuMzlfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL1MxNS45LjUuMzlfQTJfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BM19UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0Ez
X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL1MxNS45
LjUuMzlfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vj
b25kcy9TMTUuOS41LjMxX0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldFVUQ1NlY29uZHMvUzE1LjkuNS4zMV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUuMzFfQTFfVDMuanMKK00gdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EyX1QxLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ1NlY29uZHMvUzE1LjkuNS4zMV9B
M19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1Mx
NS45LjUuMzFfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
U2Vjb25kcy9TMTUuOS41LjMxX0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvRGF0ZVN0cmluZy9TMTUuOS41LjNfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BMV9UMi5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0ExX1QzLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0ZVN0cmluZy9TMTUuOS41LjNfQTJfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUu
M19BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcv
UzE1LjkuNS4zX0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0
ZVN0cmluZy9TMTUuOS41LjNfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45LjUuNl9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0ExX1QyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41
LjZfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRl
U3RyaW5nL1MxNS45LjUuNl9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41LjZfQTNfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45LjUu
Nl9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmlu
Zy9TMTUuOS41LjVfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9M
b2NhbGVTdHJpbmcvUzE1LjkuNS41X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuOS41LjVfQTJfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41X0EzX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45
LjUuNV9BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0
cmluZy9TMTUuOS41LjVfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1LjkuNS43X0ExX1QyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlVGltZVN0cmluZy9TMTUuOS41Ljdf
QTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3Ry
aW5nL1MxNS45LjUuN19BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90
b0xvY2FsZVRpbWVTdHJpbmcvUzE1LjkuNS43X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvTG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTNfVDIuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19B
M19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41
LjJfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1
LjkuNS4yX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS45LjUuMl9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuOS41LjJfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjkuNS4yX0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS45LjUuMl9BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuOS41LjJfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BMV9UMS5qcworTSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0ExX1QyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRfQTFfVDMu
anMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUu
NF9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcv
UzE1LjkuNS40X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGlt
ZVN0cmluZy9TMTUuOS41LjRfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41LjQyX0ExX1QxLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1MxNS45LjUuNDJfQTFfVDIuanMKK00gdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BMV9UMy5q
cworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41LjQy
X0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1Mx
NS45LjUuNDJfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENT
dHJpbmcvUzE1LjkuNS40Ml9BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS90b1VUQ1N0cmluZy9TMTUuOS41LjQyX0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0EyX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0EzX1QxLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0EzX1QyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0EzX1QzLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzkuNF9BM19UMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS92YWx1ZU9mL1M5LjRfQTNfVDIuanMKK00gdGVz
dC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS4zLjFfQTFfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS4zLjFfQTJfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS4zLjFfQTNfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS4zLjFfQTRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RXJyb3IvcHJvdG90eXBlL1MxNS4xMS40X0ExLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Vycm9yL3By
b3RvdHlwZS9TMTUuMTEuNF9BMi5qcworTSB0ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUv
UzE1LjExLjRfQTMuanMKK00gdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS40
X0E0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUu
MTEuNC4xX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS90b1N0cmlu
Zy9TMTUuMTEuNC40X0EyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxMC4xLjFfQTFf
VDMuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMV9BMV9UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QxMC5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuMy4yLjFfQTFfVDExLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9B
MV9UMTIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QxMy5qcwor
TSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDIuanMKK00gdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL1MxNS4zLjIuMV9BMV9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4y
LjFfQTFfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1Q2Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UNy5qcworTSB0ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDguanMKK00gdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuMi4xX0ExX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4z
LjIuMV9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTJfVDIu
anMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EyX1QzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMl9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuMy4yLjFfQTJfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1
LjMuMi4xX0EyX1Q2LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19U
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDEwLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMTEuanMKK00gdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QxMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yLjFfQTNfVDEzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIu
MV9BM19UMTQuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QxNS5q
cworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDIuanMKK00gdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL1MxNS4zLjIuMV9BM19UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUu
My4yLjFfQTNfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1Q2
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UNy5qcworTSB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDguanMKK00gdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuMi4xX0EzX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjJfQTEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuM19BMS5qcworTSB0
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4zX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zLjNfQTJfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1
LjMuM19BMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy41X0ExX1QxLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjVfQTFfVDIuanMKK00gdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuNV9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuMy41X0EyX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjVfQTNfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMi5qcworTSB0ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BMS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuM19BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BMl9UMi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9TMTUuM19BM19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUu
M19BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BM19UNC5qcworTSB0
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BM19UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuM19BM19UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TdHJpY3RG
dW5jdGlvbl9yZXNlcnZlZHdvcmRzX3dpdGguanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
U3RyaWN0RnVuY3Rpb25fcmVzdHJpY3RlZC1wcm9wZXJ0aWVzLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9sZW5ndGgvUzE1LjMuNS4xX0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xl
bmd0aC9TMTUuMy41LjFfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3Ro
L1MxNS4zLjUuMV9BMl9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1
LjMuNS4xX0EyX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41
LjFfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9B
M19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0EzX1Qz
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTRfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BNF9UMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0E0X1QzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTEuanMKK00gdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjMuMV9BMi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTQuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL1MxNS4zLjRfQTEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL1MxNS4zLjRfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL1MxNS4zLjRfQTJfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L1MxNS4zLjRfQTJfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1Mx
NS4zLjRfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4z
LjRfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRf
QTQuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTUuanMK
K00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjUuMl9BMV9UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNS4yX0ExX1QyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTEyLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTFf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQu
M19BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1
LjMuNC4zX0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBs
eS9TMTUuMy40LjNfQTNfVDEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9hcHBseS9TMTUuMy40LjNfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDUuanMKK00gdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UNi5qcworTSB0ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1Q3LmpzCitNIHRl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDguanMK
K00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19U
OS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E1X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUu
My40LjNfQTVfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5
L1MxNS4zLjQuM19BNV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
YXBwbHkvUzE1LjMuNC4zX0E1X1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDguanMKK00gdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1QxMC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1Qy
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNf
QTdfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4z
LjQuM19BN19UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0E3X1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9h
cHBseS9TMTUuMy40LjNfQTdfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UNy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1Q4LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDkuanMKK00gdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BOF9UMS5qcworTSB0ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4X1QyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQThfVDMuanMKK00g
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BOF9UNC5q
cworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4
X1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40
LjNfQThfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1
LjMuNC41X0ExLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1Mx
NS4zLjQuNV9BMTMuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQv
UzE1LjMuNC41X0ExNC5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmlu
ZC9TMTUuMy40LjVfQTE1LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9i
aW5kL1MxNS4zLjQuNV9BMTYuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2JpbmQvUzE1LjMuNC41X0EyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9iaW5kL1MxNS4zLjQuNV9BMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5
cGUvYmluZC9TMTUuMy40LjVfQTUuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2NhbGwvUzE1LjMuNC40X0ExMC5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvY2FsbC9TMTUuMy40LjRfQTExLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3By
b3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMTIuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0ExMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTE0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMTUuanMKK00gdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0ExNi5qcworTSB0ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTFfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0ExX1QyLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMl9UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTJfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1QxLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19U
MTAuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40
X0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4z
LjQuNF9BM19UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9T
MTUuMy40LjRfQTNfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0EzX1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jYWxsL1MxNS4zLjQuNF9BM19UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1Q4LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UOS5qcworTSB0ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTVfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1QyLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UMy5qcworTSB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTVfVDQuanMKK00g
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1Q1Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9U
Ni5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRf
QTVfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMu
NC40X0E1X1Q4LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1Mx
NS4zLjQuNF9BNl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2Fs
bC9TMTUuMy40LjRfQTZfVDEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jYWxsL1MxNS4zLjQuNF9BNl9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDYuanMKK00gdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Q3LmpzCitNIHRlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UOC5qcworTSB0ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDkuanMKK00g
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E3X1QxLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19U
Mi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRf
QTdfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMu
NC40X0E3X1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1Mx
NS4zLjQuNF9BN19UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2Fs
bC9TMTUuMy40LjRfQTdfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2NhbGwvUzE1LjMuNC40X0E5LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jb25zdHJ1Y3Rvci9TMTUuMy40LjFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTAuanMKK00gdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTEuanMKK00gdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTIuanMKK00gdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTMuanMK
K00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9B
MTQuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4z
LjQuMl9BMTYuanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS4zLjQuMl9BNi5qcworTSB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9T
dHJpbmcvUzE1LjMuNC4yX0E3LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS90b1N0cmluZy9TMTUuMy40LjJfQTguanMKK00gdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BOS5qcworTSB0ZXN0L2J1aWx0LWlucy9JbmZpbml0
eS9TMTUuMS4xLjJfQTEuanMKK00gdGVzdC9idWlsdC1pbnMvSW5maW5pdHkvUzE1LjEuMS4yX0Ey
X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL0luZmluaXR5L1MxNS4xLjEuMl9BM19UMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9JbmZpbml0eS9TMTUuMS4xLjJfQTQuanMKK00gdGVzdC9idWlsdC1pbnMv
SlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL2h5cG90L01h
dGguaHlwb3RfVG9OdW1iZXJFcnIuanMKK00gdGVzdC9idWlsdC1pbnMvTWF0aC9oeXBvdC9NYXRo
Lmh5cG90X1plcm9fMi5qcworTSB0ZXN0L2J1aWx0LWlucy9OYU4vUzE1LjEuMS4xX0EyX1QyLmpz
CitNIHRlc3QvYnVpbHQtaW5zL05hTi9TMTUuMS4xLjFfQTNfVDIuanMKK00gdGVzdC9idWlsdC1p
bnMvTmFOL1MxNS4xLjEuMV9BNC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUFYX1ZBTFVF
L1MxNS43LjMuMl9BMi5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUFYX1ZBTFVFL1MxNS43
LjMuMl9BMy5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUFYX1ZBTFVFL1MxNS43LjMuMl9B
NC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUlOX1ZBTFVFL1MxNS43LjMuM19BMi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUlOX1ZBTFVFL1MxNS43LjMuM19BMy5qcworTSB0ZXN0
L2J1aWx0LWlucy9OdW1iZXIvTUlOX1ZBTFVFL1MxNS43LjMuM19BNC5qcworTSB0ZXN0L2J1aWx0
LWlucy9OdW1iZXIvTkVHQVRJVkVfSU5GSU5JVFkvUzE1LjcuMy41X0ExLmpzCitNIHRlc3QvYnVp
bHQtaW5zL051bWJlci9ORUdBVElWRV9JTkZJTklUWS9TMTUuNy4zLjVfQTIuanMKK00gdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL1BPU0lUSVZFX0lORklOSVRZL1MxNS43LjMuNl9BMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9OdW1iZXIvUE9TSVRJVkVfSU5GSU5JVFkvUzE1LjcuMy42X0EyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4xLjFfQTEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVt
YmVyL1MxNS43LjEuMV9BMi5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuMi4xX0Ex
LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTIuanMKK00gdGVzdC9idWls
dC1pbnMvTnVtYmVyL1MxNS43LjIuMV9BMy5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1
LjcuMi4xX0E0LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0ExLmpzCitNIHRl
c3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0EyLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJl
ci9TMTUuNy4zX0EzLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E0LmpzCitN
IHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E1LmpzCitNIHRlc3QvYnVpbHQtaW5zL051
bWJlci9TMTUuNy4zX0E2LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E3Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E4LmpzCitNIHRlc3QvYnVpbHQtaW5z
L051bWJlci9TMTUuNy41X0ExX1QwMS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1Ljcu
NV9BMV9UMDIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVfQTFfVDAzLmpzCitN
IHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41X0ExX1QwNC5qcworTSB0ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvUzE1LjcuNV9BMV9UMDUuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43
LjVfQTFfVDA2LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41X0ExX1QwNy5qcwor
TSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzguMTIuOF9BMy5qcworTSB0ZXN0L2J1aWx0LWlucy9O
dW1iZXIvUzguMTIuOF9BNC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMV9BMV9UMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExLmpzCitNIHRlc3QvYnVpbHQtaW5z
L051bWJlci9TOS4zLjFfQTEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTEx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTEyLmpzCitNIHRlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zLjFfQTEzLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFf
QTE0LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE1LmpzCitNIHRlc3QvYnVp
bHQtaW5zL051bWJlci9TOS4zLjFfQTE2LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4z
LjFfQTE3LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE4LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE5LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjAuanMKK00gdGVz
dC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1M5LjMuMV9BMjIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjMuanMKK00g
dGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjQuanMKK00gdGVzdC9idWlsdC1pbnMvTnVt
YmVyL1M5LjMuMV9BMjUuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjYuanMK
K00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjcuanMKK00gdGVzdC9idWlsdC1pbnMv
TnVtYmVyL1M5LjMuMV9BMjguanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjku
anMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMzAuanMKK00gdGVzdC9idWlsdC1p
bnMvTnVtYmVyL1M5LjMuMV9BMzEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
MzIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BM19UMS5qcworTSB0ZXN0L2J1
aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BNF9UMi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E1X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L051bWJlci9TOS4zLjFfQTVfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
NV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E2X1QxLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTZfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1M5LjMuMV9BNy5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E4LmpzCitNIHRl
c3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTkuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1M5LjNfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjNfQTNfVDEuanMKK00g
dGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjNfQTQuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9O
dW1iZXIvUzkuM19BNC4yX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zX0E1X1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuMy4xX0EyX1QxLmpz
CitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuMy4xX0EyX1QyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuMy4xX0EzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRfQTIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS9TMTUuNy40X0EzLjEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3Rv
dHlwZS9TMTUuNy40X0EzLjIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9T
MTUuNy40X0EzLjMuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40
X0EzLjQuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjUu
anMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjYuanMKK00g
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjcuanMKK00gdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0ZpeGVkL1MxNS43LjQuNV9BMS4xX1QwMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4ZWQvUzE1LjcuNC41X0ExLjFf
VDAyLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40
LjVfQTEuM19UMDEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0ZpeGVk
L1MxNS43LjQuNV9BMS4zX1QwMi5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3RvRml4ZWQvUzE1LjcuNC41X0ExLjRfVDAxLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTJfVDAxLmpzCitNIHRlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0ExX1QwMS5qcworTSB0ZXN0L2J1aWx0
LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMV9UMDIuanMKK00gdGVz
dC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTFfVDAzLmpz
CitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0Ey
X1QwMS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43
LjQuMl9BMl9UMDIuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmlu
Zy9TMTUuNy40LjJfQTJfVDAzLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwNC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDUuanMKK00gdGVzdC9idWlsdC1pbnMvTnVt
YmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDA2LmpzCitNIHRlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwNy5qcworTSB0ZXN0
L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDguanMK
K00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJf
VDA5LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1Ljcu
NC4yX0EyX1QxMC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS43LjQuMl9BMl9UMTEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90
b1N0cmluZy9TMTUuNy40LjJfQTJfVDEyLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxMy5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTQuanMKK00gdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDE1LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxNi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9U
MTcuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40
LjJfQTJfVDE4LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcv
UzE1LjcuNC4yX0EyX1QxOS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3Rv
U3RyaW5nL1MxNS43LjQuMl9BMl9UMjAuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3Rv
dHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDIxLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJl
ci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyMi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMjMuanMKK00gdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDI0LmpzCitN
IHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1Qy
NS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQu
Ml9BMl9UMjYuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9T
MTUuNy40LjJfQTJfVDI3LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9T
dHJpbmcvUzE1LjcuNC4yX0EyX1QyOC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMjkuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDMwLmpzCitNIHRlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QzMS5qcworTSB0ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMzIuanMKK00g
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDMz
LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4y
X0EyX1QzNC5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS43LjQuMl9BM19UMDEuanMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuNy40LjJfQTNfVDAyLmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EzX1QwMy5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIv
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BM19UMDQuanMKK00gdGVzdC9idWlsdC1pbnMv
TnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDAxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0X1QwMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BNF9UMDMu
anMKK00gdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTRfVDA0LmpzCitNIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1
LjcuNC4yX0E0X1QwNS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVl
T2YvUzE1LjcuNC40X0ExX1QwMS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3ZhbHVlT2YvUzE1LjcuNC40X0ExX1QwMi5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwMS5qcworTSB0ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwMi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwMy5qcworTSB0ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwNC5qcworTSB0
ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwNS5q
cworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0ExX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0
L1MxNS4yLjEuMV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0Ex
X1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDUuanMKK00gdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9P
YmplY3QvUzE1LjIuMS4xX0EyX1QxMC5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIu
MS4xX0EyX1QxMS5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxMi5q
cworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxMy5qcworTSB0ZXN0L2J1
aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxNC5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvUzE1LjIuMS4xX0EyX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFf
QTJfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNC5qcworTSB0
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5z
L09iamVjdC9TMTUuMi4xLjFfQTJfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4y
LjEuMV9BMl9UNy5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1Q4Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDkuanMKK00gdGVzdC9idWls
dC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
UzE1LjIuMS4xX0EzX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTNf
VDMuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BMV9UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL09i
amVjdC9TMTUuMi4yLjFfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIu
MV9BMV9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q1LmpzCitN
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvT2JqZWN0L1MxNS4yLjIuMV9BMl9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1
LjIuMi4xX0EyX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJfVDUu
anMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BMl9UNi5qcworTSB0ZXN0L2J1
aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9TMTUuMi4yLjFfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9B
M19UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EzX1QzLmpzCitNIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
T2JqZWN0L1MxNS4yLjIuMV9BNF9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIu
Mi4xX0E0X1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNV9UMi5qcworTSB0ZXN0L2J1aWx0
LWlucy9PYmplY3QvUzE1LjIuMi4xX0E1X1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9T
MTUuMi4yLjFfQTVfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNl9U
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E2X1QyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTZfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L1MxNS4yLjNfQTEuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjNfQTIuanMK
K00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjNfQTMuanMKK00gdGVzdC9idWlsdC1pbnMv
T2JqZWN0L1MxNS4yX0ExLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TOS45X0EzLmpzCitN
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9TOS45X0E0LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9TOS45X0E1LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9TOS45X0E2LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNlLU51bGwtVW5kZWZpbmVkLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNlLU51bWJlci1Cb29sZW4tU3ltYm9sLmpzCitN
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNlLVN0cmluZy5qcworTSB0ZXN0L2J1
aWx0LWlucy9PYmplY3QvZGVmaW5lUHJvcGVydHkvUzE1LjIuMy42X0ExLmpzCitNIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9kZWZpbmVQcm9wZXJ0eS9TMTUuMi4zLjZfQTIuanMKK00gdGVzdC9idWls
dC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5TmFtZXMvUzE1LjIuMy40X0ExX1QxLmpzCitNIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuMy4xX0ExLmpzCitNIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuMy4xX0EyLmpzCitNIHRlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvUzE1LjIuMy4xX0EzLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvUzE1LjIuNF9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL1MxNS4yLjRfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9TMTUuMi40X0EyLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIu
NF9BMy5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1MxNS4yLjRfQTQuanMK
K00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuMi40LjFf
QTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9T
MTUuMi40LjFfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNP
d25Qcm9wZXJ0eS9TMTUuMi40LjVfQTEyLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvaGFzT3duUHJvcGVydHkvUzE1LjIuNC41X0ExMy5qcworTSB0ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BMV9UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BMV9U
Mi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1Mx
NS4yLjQuNV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093
blByb3BlcnR5L1MxNS4yLjQuNV9BNi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BNy5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMTAuanMKK00gdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40
LjdfQTExLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0Vu
dW1lcmFibGUvUzE1LjIuNC43X0ExMi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMTMuanMKK00gdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTFfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJs
ZS9TMTUuMi40LjdfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9w
cm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTJfVDIuanMKK00gdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTYuanMKK00g
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUu
Mi40LjdfQTcuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlz
RW51bWVyYWJsZS9TMTUuMi40LjdfQTguanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTkuanMKK00gdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEuanMKK00gdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEw
LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1
LjIuNC4zX0ExMS5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxl
U3RyaW5nL1MxNS4yLjQuM19BMTIuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS90b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEzLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E2LmpzCitNIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E3LmpzCitNIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E4
LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1
LjIuNC4zX0E5LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9T
MTUuMi40LjRfQTEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVP
Zi9TMTUuMi40LjRfQTExLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFs
dWVPZi9TMTUuMi40LjRfQTEyLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
dmFsdWVPZi9TMTUuMi40LjRfQTEzLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvdmFsdWVPZi9TMTUuMi40LjRfQTE0LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTE1LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1QzLmpzCitNIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTFfVDQuanMKK00gdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UNS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1Q2
LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRf
QTFfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4y
LjQuNF9BNi5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1
LjIuNC40X0E3LmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9T
MTUuMi40LjRfQTguanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9m
L1MxNS4yLjQuNF9BOS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFf
QTEuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTIuMV9U
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTIuM19UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTIuM19UMi5qcworTSB0ZXN0
L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTIuM19UMy5qcworTSB0ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTMuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Q
cm9taXNlL2FsbC9TMjUuNC40LjFfQTMuMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNl
L2FsbC9TMjUuNC40LjFfQTMuMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9T
MjUuNC40LjFfQTUuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40
LjFfQTcuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTgu
Ml9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTguMl9UMi5q
cworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9TMjUuNC40LjJfQTEuMV9UMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9TMjUuNC41X0EzLjFfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0Y2gvUzI1LjQuNS4xX0ExLjFf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0Y2gvUzI1LjQuNS4x
X0EyLjFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0Y2gvUzI1
LjQuNS4xX0EzLjFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0
Y2gvUzI1LjQuNS4xX0EzLjFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5
cGUvdGhlbi9TMjUuNC41LjNfQTEuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3By
b3RvdHlwZS90aGVuL1MyNS40LjUuM19BMS4xX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E0LjFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
UHJvbWlzZS9wcm90b3R5cGUvdGhlbi9TMjUuNC41LjNfQTQuMV9UMi5qcworTSB0ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUuM19BNC4yX1QxLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E0LjJfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvdGhlbi9TMjUuNC41LjNfQTUuM19UMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0ExLjFfVDEuanMKK00g
dGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4xX1QxLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTIuMl9UMS5qcworTSB0ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0EyLjJfVDIuanMKK00gdGVzdC9idWlsdC1pbnMv
UHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4yX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmFjZS9TMjUuNC40LjNfQTQuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Jh
Y2UvUzI1LjQuNC4zX0E0LjFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1My
NS40LjQuM19BNi4yX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40
LjNfQTcuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E3
LjFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4xX1Qz
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTcuMl9UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E3LjNfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4zX1QyLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1Byb21pc2UvcmVqZWN0L1MyNS40LjQuNF9BMS4xX1QxLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1Byb21pc2UvcmVqZWN0L1MyNS40LjQuNF9BMi4xX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1Byb21pc2UvcmVzb2x2ZS9TMjUuNC40LjVfQTEuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Q
cm9taXNlL3Jlc29sdmUvUzI1LjQuNC41X0EyLjFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BMi4yX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmVzb2x2ZS9TMjUuNC40LjVfQTIuM19UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNl
L3Jlc29sdmUvUzI1LjQuNC41X0E0LjFfVDEuanMKK0EgdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2
b2NhYmxlL3Rjby1mbi1yZWFsbS5qcworRCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9jb25zdHJ1Y3Rv
ci5qcworRCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9pbnN0YW5jZS5qcworRCB0ZXN0L2J1aWx0LWlu
cy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvZXJyb3JzLWZyb20tdGhlLW90aGVyLXJlYWxtLWlz
LXdyYXBwZWQtaW50by1hLXR5cGVlcnJvci5qcworRCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90
b3R5cGUvZXZhbHVhdGUvcmV0dXJucy1zeW1ib2wtdmFsdWVzLmpzCitEIHRlc3QvYnVpbHQtaW5z
L1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS92YWxpZGF0ZXMtcmVhbG0tb2JqZWN0LmpzCitEIHRl
c3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9ub3QtY29uc3RydWN0b3Iu
anMKK0QgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3NwZWNpZmll
ci10b3N0cmluZy5qcworRCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFs
dWUvdmFsaWRhdGVzLXJlYWxtLW9iamVjdC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxMC5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDExLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4xX0ExX1QxMy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFf
VDE0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTUuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxNi5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjFfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4x
X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UNC5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDUuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4xX0ExX1Q2LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
MV9BMV9UNy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDguanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4xMF9BMS4xX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xMF9BMS4yX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4x
MF9BMS4zX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMS40X1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMS41X1QxLmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMi4xX1QxLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMi4xX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xMF9BMy4xX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4xMF9BMy4xX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BNC4x
X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BNC4xX1QyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BNC4xX1QzLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BNS4xX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xMV9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTFfQTFfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q1
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMV9BMV9UNi5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDcuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xMV9BMV9UOS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTJfQTNf
VDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEyX0E0X1Q1LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xM19BMV9UMTEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEz
X0ExX1QxMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDEzLmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMTQuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxNS5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDE3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFf
VDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q0LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UNS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjEzX0ExX1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19B
MV9UOC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDkuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1QxLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTNfQTJfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEz
X0EyX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UNS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDYuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xM19BMl9UOC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
MTNfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EzX1QyLmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BM19UMy5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTNfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjE1X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4xNV9BMV9UMTAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Qx
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDEyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTMuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTVfQTFfVDE1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4x
NV9BMV9UMTYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNy5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE4LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTkuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xNV9BMV9UMjAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0Ex
X1QyMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDIyLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjMuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyNC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTVfQTFfVDI1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4xNV9BMV9UMjYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Qy
Ny5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI4LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjkuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xNV9BMV9UMzAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1
X0ExX1QzMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDMyLmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzMuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzNC5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xNV9BMV9UMzYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0Ex
X1QzNy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM4LmpzCitN
IHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzkuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xNV9BMV9UNDAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjE1X0ExX1Q0MS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDUu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q2LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UNy5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjE1X0ExX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxMC5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTEuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjNfQTFfVDEyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4zX0ExX1QxMy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9U
MTQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDE1LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxNi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjNfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFf
VDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDQuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDUuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjNfQTFfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjNfQTFfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDgu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDkuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjVfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjVfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjVfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjVfQTFfVDQuanMK
K00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjVfQTFfVDUuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjZfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZf
QTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDQuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDUuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjZfQTJfVDEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0Ey
X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1QzLmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi42X0EyX1Q2LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q3
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q4LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0EzX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi42X0EzX1QxMC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UMTEu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDEyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxMy5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuNl9BM19UMTQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjZfQTNfVDE1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Qy
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0EzX1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi42X0EzX1Q2LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q3Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q4LmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi42X0E0X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42
X0E0X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1QzLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q0LmpzCitNIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q1LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi42X0E0X1Q2LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0
X1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q4LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E1X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0E1X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi42X0E2X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E2X1Qy
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E2X1QzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E2X1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0ExX1QxMC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UMTEu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDEyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0ExX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0ExX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q1Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q2LmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0ExX1Q4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43
X0ExX1Q5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EyX1QxLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EyX1QyLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EyX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi43X0EyX1Q0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0Ez
X1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxMC5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTEuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDEyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi43X0EzX1QxMy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19B
M19UMTQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDMuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjdfQTNfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNf
VDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDcuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDguanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTNfVDkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjdfQTRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDEw
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMTIuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTRfVDEzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi43X0E0X1QxNC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9U
MTUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDE2LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxNy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMTguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjdfQTRfVDE5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0
X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QyMC5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMjEuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjdfQTRfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRf
VDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDYuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDcuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTRfVDguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjdfQTRfVDkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDEwLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1QxMS5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BNV9UMTIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjdfQTVfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDMu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDQuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTVfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjdfQTVfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDguanMK
K00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDkuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjdfQTZfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdf
QTZfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDQuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDUuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjhfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFf
VDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFfVDMuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFfVDQuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTFfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTJfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDEw
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QxMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BMl9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BMl9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UNS5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UNi5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UNy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BMl9UOC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
OF9BMl9UOS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTAuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDExLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EzX1QxMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
OF9BM19UMTMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE0Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxNS5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTNfVDE3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi44X0EzX1QxOC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTku
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDIuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDIwLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi44X0EzX1QyMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BM19UMjIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDIz
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QyNC5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjUuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI2LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0EzX1QyNy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19U
MjguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI5LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QzLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QzMC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuOF9BM19UMzEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNf
VDMyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QzMy5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UNC5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuOF9BM19UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19U
Ny5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UOC5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UOS5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BNF9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BNF9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UMy5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UNC5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BNF9UNi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
OF9BNF9UNy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UOC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UOS5qcworTSB0ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuOF9BNV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9B
MV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UNS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjJfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTFfVDEu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTFfVDIuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTFfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4zLjFfQTFfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4z
LjFfQTFfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTJfVDEuanMK
K00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTJfVDIuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4zLjFfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFf
QTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDIuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDMuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC40LjFfQTFfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTJf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTJfVDIuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC40LjFfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC40LjFfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDQu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDUuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC40LjFfQTRfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40
LjFfQTRfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDQuanMK
K00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDUuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC40LjFfQTVfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFf
QTVfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDYuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDcuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC40LjFfQTVfVDkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTZf
VDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTdfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTdfVDIuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC40LjFfQThfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC40LjFfQThfVDEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Qx
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTIuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDEzLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuNC4xX0E4X1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Q0
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Q1LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Q2LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0E4X1Q3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
NC4xX0E4X1Q4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Q5Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E5X1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E5X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuNC4xX0E5X1QzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNV9B
MS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjVfQTJfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC41X0EyX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuN19BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjdfQTFf
VDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0EyX1QxLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BMl9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjdfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0Ez
X1QyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1LjEwLjUuMV9BMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC41LjFfQTIuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNS4xX0EzLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1LjEwLjUuMV9BNC5qcworTSB0ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC42LjFfQTFfVDEuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNi4xX0ExX1QyLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvUzE1LjEwLjZfQTFfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9TMTUuMTAuNl9BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMTAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTExLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTAuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDExLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxMi5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTMuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE0Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Qx
NS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9B
MV9UMTYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTFfVDE3LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUu
MTAuNi4yX0ExX1QxOC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMv
UzE1LjEwLjYuMl9BMV9UMTkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS9leGVjL1MxNS4xMC42LjJfQTFfVDIwLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QyMS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UNC5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UNS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UNi5qcworTSB0ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UNy5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UOC5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UOS5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMTAu
anMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJf
VDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTJfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTJfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4x
MC42LjJfQTJfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1Mx
NS4xMC42LjJfQTJfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVj
L1MxNS4xMC42LjJfQTJfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTJfVDguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS9leGVjL1MxNS4xMC42LjJfQTJfVDkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDQuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDUuanMKK00gdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDYuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDcuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDEuanMKK00gdGVz
dC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDEwLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QxMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9U
MTIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTRfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTRfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4x
MC42LjJfQTRfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1Mx
NS4xMC42LjJfQTRfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVj
L1MxNS4xMC42LjJfQTRfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTRfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS9leGVjL1MxNS4xMC42LjJfQTRfVDguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTVfVDEuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTVfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTVfVDMuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTYuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTcuanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTguanMKK00gdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTkuanMKK0EgdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL2ZhaWx1cmUtbGFzdGluZGV4LXNldC5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUuMTAuNy4yX0ExMC5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUuMTAuNy4yX0E4LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZ2xvYmFsL1MxNS4xMC43LjJfQTkuanMKK00g
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9pZ25vcmVDYXNlL1MxNS4xMC43LjNfQTEw
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaWdub3JlQ2FzZS9TMTUuMTAu
Ny4zX0E4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaWdub3JlQ2FzZS9T
MTUuMTAuNy4zX0E5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvbXVsdGls
aW5lL1MxNS4xMC43LjRfQTEwLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
bXVsdGlsaW5lL1MxNS4xMC43LjRfQTguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9tdWx0aWxpbmUvUzE1LjEwLjcuNF9BOS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMTAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTExLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxMC5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTEuanMKK00gdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDEyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxMy5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTQuanMK
K00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE1
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ex
X1QxNi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYu
M19BMV9UMTcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4x
MC42LjNfQTFfVDE4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9T
MTUuMTAuNi4zX0ExX1QxOS5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rl
c3QvUzE1LjEwLjYuM19BMV9UMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L3Rlc3QvUzE1LjEwLjYuM19BMV9UMjAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDIxLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QyMi5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMy5qcworTSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNC5qcworTSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNS5qcworTSB0ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNi5qcworTSB0ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNy5qcworTSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UOC5qcworTSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UOS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UMS5q
cworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9U
MTAuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNf
QTJfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42
LjNfQTJfVDMuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4x
MC42LjNfQTJfVDQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1Mx
NS4xMC42LjNfQTJfVDUuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0
L1MxNS4xMC42LjNfQTJfVDYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90
ZXN0L1MxNS4xMC42LjNfQTJfVDcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS90ZXN0L1MxNS4xMC42LjNfQTJfVDguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTYuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTcuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTguanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTkuanMKK00gdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuMTAuNi40X0ExMC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTExLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BNi5qcworTSB0ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTcuanMKK00gdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMTAuNi40X0E4LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BOS5qcwor
QSB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9jb25zdHJ1Y3Rvci5qcworUjA1NSB0ZXN0L2J1
aWx0LWlucy9SZWFsbS9kZXNjcmlwdG9yLmpzIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2Rl
c2NyaXB0b3IuanMKK1IwNjYgdGVzdC9idWlsdC1pbnMvUmVhbG0vZXh0ZW5zaWJpbGl0eS5qcyB0
ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9leHRlbnNpYmlsaXR5LmpzCitSMDczIHRlc3QvYnVp
bHQtaW5zL1JlYWxtL2luc3RhbmNlLWV4dGVuc2liaWxpdHkuanMgdGVzdC9idWlsdC1pbnMvU2hh
ZG93UmVhbG0vaW5zdGFuY2UtZXh0ZW5zaWJpbGl0eS5qcworQSB0ZXN0L2J1aWx0LWlucy9TaGFk
b3dSZWFsbS9pbnN0YW5jZS5qcworUjA4NCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9sZW5ndGguanMg
dGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vbGVuZ3RoLmpzCitSMDY5IHRlc3QvYnVpbHQtaW5z
L1JlYWxtL25hbWUuanMgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vbmFtZS5qcworUjA2NSB0
ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90by5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9w
cm90by5qcworUjA3MSB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvU3ltYm9sLnRvU3Ry
aW5nVGFnLmpzIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9TeW1ib2wudG9T
dHJpbmdUYWcuanMKK1IwNTUgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L2Rlc2NyaXB0b3IuanMgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1
YXRlL2Rlc2NyaXB0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBl
L2V2YWx1YXRlL2Vycm9ycy1mcm9tLXRoZS1vdGhlci1yZWFsbS1pcy13cmFwcGVkLWludG8tYS10
eXBlZXJyb3IuanMKK1IwNzcgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L2xlbmd0aC5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUv
bGVuZ3RoLmpzCitSMDYzIHRlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9u
YW1lLmpzIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uYW1l
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uZXN0
ZWQtcmVhbG1zLmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS9uby1jb25kaXRpb25hbC1zdHJpY3QtbW9kZS5qcworUjA1MSB0ZXN0L2J1aWx0LWlucy9S
ZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbm90LWNvbnN0cnVjdG9yLmpzIHRlc3QvYnVpbHQtaW5z
L1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9ub3QtY29uc3RydWN0b3IuanMKK1IwNjIg
dGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3Byb3RvLmpzIHRlc3QvYnVp
bHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9wcm90by5qcworUjA3NSB0ZXN0
L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvcmV0dXJucy1wcmltaXRpdmUtdmFs
dWVzLmpzIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9yZXR1
cm5zLXByaW1pdGl2ZS12YWx1ZXMuanMKK0EgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJv
dG90eXBlL2V2YWx1YXRlL3JldHVybnMtcHJveHktY2FsbGFibGUtb2JqZWN0LmpzCitBIHRlc3Qv
YnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9yZXR1cm5zLXN5bWJvbC12
YWx1ZXMuanMKK0EgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L3Rocm93cy1zeW50YXhlcnJvci1vbi1iYWQtc3ludGF4LmpzCitSMDY4IHRlc3QvYnVpbHQtaW5z
L1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS90aHJvd3MtdHlwZWVycm9yLWlmLWV2YWx1YXRpb24t
cmVzb2x2ZXMtdG8tbm9uLXByaW1pdGl2ZS5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9w
cm90b3R5cGUvZXZhbHVhdGUvdGhyb3dzLXR5cGVlcnJvci1pZi1ldmFsdWF0aW9uLXJlc29sdmVz
LXRvLW5vbi1wcmltaXRpdmUuanMKK1IwNjkgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBl
L2V2YWx1YXRlL3Rocm93cy13aGVuLWFyZ3VtZW50LWlzLW5vdC1hLXN0cmluZy5qcyB0ZXN0L2J1
aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvdGhyb3dzLXdoZW4tYXJndW1l
bnQtaXMtbm90LWEtc3RyaW5nLmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3Rv
dHlwZS9ldmFsdWF0ZS92YWxpZGF0ZXMtcmVhbG0tb2JqZWN0LmpzCitSMDcyIHRlc3QvYnVpbHQt
aW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9uLWFyZ3VtZW50cy1h
cmUtd3JhcHBlZC1pbnRvLXRoZS1pbm5lci1yZWFsbS1leHRlbmRlZC5qcyB0ZXN0L2J1aWx0LWlu
cy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbi1hcmd1bWVu
dHMtYXJlLXdyYXBwZWQtaW50by10aGUtaW5uZXItcmVhbG0tZXh0ZW5kZWQuanMKK1IwNTYgdGVz
dC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tYXJn
dW1lbnRzLWFyZS13cmFwcGVkLWludG8tdGhlLWlubmVyLXJlYWxtLmpzIHRlc3QvYnVpbHQtaW5z
L1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9uLWFyZ3VtZW50
cy1hcmUtd3JhcHBlZC1pbnRvLXRoZS1pbm5lci1yZWFsbS5qcworUjA5MCB0ZXN0L2J1aWx0LWlu
cy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbi1mcm9tLXJldHVybi12
YWx1ZXMtc2hhcmUtbm8taWRlbnRpdHkuanMgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJv
dG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tZnJvbS1yZXR1cm4tdmFsdWVzLXNoYXJl
LW5vLWlkZW50aXR5LmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9l
dmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9uLW11bHRpcGxlLWRpZmZlcmVudC1yZWFsbXMtbmVzdGVk
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFw
cGVkLWZ1bmN0aW9uLW11bHRpcGxlLWRpZmZlcmVudC1yZWFsbXMuanMKK1IwNTYgdGVzdC9idWls
dC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tb2JzZXJ2aW5n
LXRoZWlyLXNjb3Blcy5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvd3JhcHBlZC1mdW5jdGlvbi1vYnNlcnZpbmctdGhlaXItc2NvcGVzLmpzCitSMDc0IHRl
c3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1h
Y2NlcHRzLWNhbGxhYmxlLW9iamVjdHMuanMgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJv
dG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb25zLWFjY2VwdHMtY2FsbGFibGUtb2JqZWN0
cy5qcworUjA2MiB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBl
ZC1mdW5jdGlvbnMtY2FuLXJlc29sdmUtY2FsbGFibGUtcmV0dXJucy5qcyB0ZXN0L2J1aWx0LWlu
cy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtY2FuLXJl
c29sdmUtY2FsbGFibGUtcmV0dXJucy5qcworUjA2MCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90
b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtbmV3LXdyYXBwaW5nLW9uLWVhY2gtZXZh
bHVhdGlvbi5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUv
d3JhcHBlZC1mdW5jdGlvbnMtbmV3LXdyYXBwaW5nLW9uLWVhY2gtZXZhbHVhdGlvbi5qcworUjA4
NyB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlv
bnMtc2hhcmUtbm8tcHJvcGVydGllcy1leHRlbmRlZC5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dS
ZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJvcGVy
dGllcy1leHRlbmRlZC5qcworUjA1OCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJvcGVydGllcy5qcyB0ZXN0L2J1aWx0
LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hh
cmUtbm8tcHJvcGVydGllcy5qcworUjA1NCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUv
aW1wb3J0VmFsdWUvZGVzY3JpcHRvci5qcyB0ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90
b3R5cGUvaW1wb3J0VmFsdWUvZGVzY3JpcHRvci5qcworUjA1OCB0ZXN0L2J1aWx0LWlucy9SZWFs
bS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvZXhwb3J0TmFtZS10b3N0cmluZy5qcyB0ZXN0L2J1aWx0
LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvZXhwb3J0TmFtZS10b3N0cmlu
Zy5qcworUjA1NCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvaW1w
b3J0LXZhbHVlLmpzIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRW
YWx1ZS9pbXBvcnQtdmFsdWUuanMKK1IxMDAgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBl
L2ltcG9ydFZhbHVlL2ltcG9ydC12YWx1ZV9GSVhUVVJFLmpzIHRlc3QvYnVpbHQtaW5zL1NoYWRv
d1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9pbXBvcnQtdmFsdWVfRklYVFVSRS5qcworUjA4
MCB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvbGVuZ3RoLmpzIHRl
c3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9sZW5ndGguanMK
K1IwNjAgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL25hbWUuanMg
dGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL25hbWUuanMK
K0EgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL25vdC1j
b25zdHJ1Y3Rvci5qcworUjA2MSB0ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0
VmFsdWUvcHJvdG8uanMgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9y
dFZhbHVlL3Byb3RvLmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9p
bXBvcnRWYWx1ZS9zcGVjaWZpZXItdG9zdHJpbmcuanMKK1IwODEgdGVzdC9idWlsdC1pbnMvUmVh
bG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3Rocm93cy1pZi1pbXBvcnQtdmFsdWUtZG9lcy1ub3Qt
ZXhpc3QuanMgdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVl
L3Rocm93cy1pZi1pbXBvcnQtdmFsdWUtZG9lcy1ub3QtZXhpc3QuanMKK0EgdGVzdC9idWlsdC1p
bnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3ZhbGlkYXRlcy1yZWFsbS1vYmpl
Y3QuanMKK1IwNzMgdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL3Byb3RvLmpzIHRlc3Qv
YnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9wcm90by5qcworTSB0ZXN0L2J1aWx0LWlu
cy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtZGltaW51aXRpdmUuanMK
K00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3Ro
LWV4Y2Vzc2l2ZS5qcworTSB0ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25z
LW1heGJ5dGVsZW5ndGgtbmVnYXRpdmUuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlC
dWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLW9iamVjdC5qcworTSB0ZXN0L2J1aWx0LWlucy9T
aGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtcG9pc29uZWQuanMKK00gdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLXVuZGVm
aW5lZC5qcworTSB0ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW5vbi1v
YmplY3QuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dy
b3cvZGVzY3JpcHRvci5qcworTSB0ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90
b3R5cGUvZ3Jvdy9leHRlbnNpYmxlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVm
ZmVyL3Byb3RvdHlwZS9ncm93L2dyb3ctbGFyZ2VyLXNpemUuanMKK00gdGVzdC9idWlsdC1pbnMv
U2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvZ3Jvdy1zYW1lLXNpemUuanMKK00gdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvZ3Jvdy1zbWFsbGVy
LXNpemUuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dy
b3cvbGVuZ3RoLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlw
ZS9ncm93L25hbWUuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90
eXBlL2dyb3cvbmV3LWxlbmd0aC1leGNlc3NpdmUuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVk
QXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbmV3LWxlbmd0aC1uZWdhdGl2ZS5qcworTSB0ZXN0
L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy9uZXctbGVuZ3RoLW5v
bi1udW1iZXIuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBl
L2dyb3cvbm9uY29uc3RydWN0b3IuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZm
ZXIvcHJvdG90eXBlL2dyb3cvdGhpcy1pcy1ub3QtYXJyYXlidWZmZXItb2JqZWN0LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtbm90
LW9iamVjdC5qcworTSB0ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUv
Z3Jvdy90aGlzLWlzLW5vdC1yZXNpemFibGUtYXJyYXlidWZmZXItb2JqZWN0LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtc2hhcmVk
YXJyYXlidWZmZXIuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90
eXBlL2dyb3dhYmxlL2ludm9rZWQtYXMtYWNjZXNzb3IuanMKK00gdGVzdC9idWlsdC1pbnMvU2hh
cmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL2ludm9rZWQtYXMtZnVuYy5qcworTSB0
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUvbGVuZ3Ro
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJs
ZS9uYW1lLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9n
cm93YWJsZS9wcm9wLWRlc2MuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
cHJvdG90eXBlL2dyb3dhYmxlL3JldHVybi1ncm93YWJsZS5qcworTSB0ZXN0L2J1aWx0LWlucy9T
aGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUvdGhpcy1oYXMtbm8tYXJyYXlidWZm
ZXJkYXRhLWludGVybmFsLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3By
b3RvdHlwZS9ncm93YWJsZS90aGlzLWlzLWFycmF5YnVmZmVyLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS90aGlzLWlzLW5vdC1vYmplY3Qu
anMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVM
ZW5ndGgvaW52b2tlZC1hcy1hY2Nlc3Nvci5qcworTSB0ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJh
eUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9pbnZva2VkLWFzLWZ1bmMuanMKK00gdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvbGVu
Z3RoLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhC
eXRlTGVuZ3RoL25hbWUuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJv
dG90eXBlL21heEJ5dGVMZW5ndGgvcHJvcC1kZXNjLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJl
ZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL3JldHVybi1tYXhieXRlbGVuZ3Ro
LWdyb3dhYmxlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlw
ZS9tYXhCeXRlTGVuZ3RoL3JldHVybi1tYXhieXRlbGVuZ3RoLW5vbi1ncm93YWJsZS5qcworTSB0
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC90
aGlzLWhhcy1uby1hcnJheWJ1ZmZlcmRhdGEtaW50ZXJuYWwuanMKK00gdGVzdC9idWlsdC1pbnMv
U2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvdGhpcy1pcy1hcnJheWJ1
ZmZlci5qcworTSB0ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4
Qnl0ZUxlbmd0aC90aGlzLWlzLW5vdC1vYmplY3QuanMKK00gdGVzdC9idWlsdC1pbnMvU2hhcmVk
QXJyYXlCdWZmZXIvcHJvdG90eXBlL3NsaWNlL3RoaXMtaXMtYXJyYXlidWZmZXIuanMKK00gdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlLWZyb20tbmV3dGFyZ2V0Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJvbUZp
ZWxkcy90aHJvd3MtcmFuZ2UtZXJyb3IuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2Fs
ZW5kYXIvcHJvdG90eXBlL2RheS9kYXRlLXRpbWUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheS9kYXRlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvbW9udGgtZGF5LmpzCitNIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvc3RyaW5nLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvdGhyb3ctcmFuZ2UtZXJyb3ItVG9U
ZW1wb3JhbERhdGUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLXRpbWUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsvc3RyaW5nLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsvdGhy
b3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJ
bnRlcm5hbFNsb3QuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mWWVhci9wbGFpbi1kYXRlLXRpbWUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci9wbGFpbi1kYXRlLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZlllYXIvc3RyaW5nLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZlllYXIvdGhy
b3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJ
bnRlcm5hbFNsb3QuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheXNJbk1vbnRoL3BsYWluLWRhdGUtdGltZS5qcworTSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luTW9udGgvcGxhaW4tZGF0ZS5qcworTSB0ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luTW9udGgvc3RyaW5n
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5N
b250aC90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luTW9udGgvdGhyb3ctdHlwZS1lcnJv
ci1SZXF1aXJlSW50ZXJuYWxTbG90LmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS9kYXlzSW5XZWVrL3N0cmluZy5qcworTSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luV2Vlay90aHJvdy1yYW5nZS1lcnJvci1Ub1Rl
bXBvcmFsRGF0ZS5qcworTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvZGF5c0luV2Vlay90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5hbFNsb3QuanMKK00g
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvcGxh
aW4tZGF0ZS10aW1lLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3Rv
dHlwZS9kYXlzSW5ZZWFyL3BsYWluLWRhdGUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvc3RyaW5nLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3Rocm93LXJhbmdlLWVycm9y
LVRvVGVtcG9yYWxEYXRlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9kYXlzSW5ZZWFyL3Rocm93LXR5cGUtZXJyb3ItUmVxdWlyZUludGVybmFsU2xvdC5q
cworTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvZGF0
ZS10aW1lLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9t
b250aC9kYXRlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS9tb250aC9tb250aC1kYXktdGhyb3ctdHlwZS1lcnJvci5qcworTSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvc3RyaW5nLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC90aHJvdy1yYW5nZS1lcnJvci1U
b1RlbXBvcmFsRGF0ZS5qcworTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvbW9udGgveWVhci1tb250aC5qcworTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvbW9udGhDb2RlL2RhdGUtdGltZS5qcworTSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL2RhdGUuanMKK00gdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29kZS9tb250aC1kYXkuanMK
K00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29kZS9z
dHJpbmcuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21v
bnRoQ29kZS90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcworTSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL3llYXItbW9udGguanMK
K00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3llYXIvZGF0ZS10
aW1lLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFy
L2RhdGUuanMKK00gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3ll
YXIvc3RyaW5nLmpzCitNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS95ZWFyL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL3Rocm93LXR5cGUtZXJyb3ItUmVx
dWlyZUludGVybmFsU2xvdC5qcworTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9w
cm90b3R5cGUveWVhci95ZWFyLW1vbnRoLmpzCiBNIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05v
dy9wbGFpbkRhdGVUaW1lL2NhbGVuZGFyLW9iamVjdC5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvcGxhaW5EYXRlVGltZS9jYWxlbmRhci10ZW1wb3JhbC1vYmplY3QuanMKLU0gdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvZXh0ZW5zaWJsZS5qcwotTSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZS9uYW1lLmpzCi1NIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL25vdC1hLWNvbnN0cnVjdG9yLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL3JldHVybi12YWx1
ZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZS90aW1lLXpv
bmUtdW5kZWZpbmVkLmpzCi1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVU
aW1lL3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNvbmRzZm9yLWludm9jYXRpb24uanMKLU0gdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvdGltZXpvbmUtZ2V0b2Zmc2V0
bmFub3NlY29uZHNmb3Itbm9uLWludGVnZXIuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Tm93L3BsYWluRGF0ZVRpbWUvdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itbm9uLW1l
dGhvZC5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZS90aW1l
em9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1ub3QtYS1udW1iZXIuanMKLU0gdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3Nl
Y29uZHNmb3Itb3V0LW9mLXJhbmdlLmpzCi1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9w
bGFpbkRhdGVUaW1lL3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNvbmRzZm9yLXBvaXNvbmVkLmpz
Ci1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL3RpbWV6b25lLWdl
dG9mZnNldG5hbm9zZWNvbmRzZm9yLXRocm93cy5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9Ob3cvcGxhaW5EYXRlVGltZS90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci13cm9u
Zy10eXBlLmpzCi1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL3Rp
bWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0LXRpbWV6b25l
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL3RpbWV6b25l
LW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtdGltZXpvbmUuanMKLU0gdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0LWZhaWwtaGFzLXRpbWV6b25l
LmpzCi1NIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL3RpbWV6b25l
LW9iamVjdC5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvdGltZVpvbmUvZXh0ZW5z
aWJsZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvdGltZVpvbmUvbmFtZS5qcwot
TSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvdGltZVpvbmUvbmV3LW9iamVjdC5qcwotTSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvdGltZVpvbmUvbm90LWEtY29uc3RydWN0b3IuanMK
LU0gdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3RpbWVab25lL3JldHVybi12YWx1ZS5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2FkZC9icmFuZGlu
Zy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2NhbGVu
ZGFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90
b3R5cGUvZGF5L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0
ZS9wcm90b3R5cGUvZGF5T2ZXZWVrL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvZGF5T2ZZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvZGF5c0luTW9udGgvYnJhbmRpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9kYXlzSW5X
ZWVrL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90
b3R5cGUvZGF5c0luWWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Q
bGFpbkRhdGUvcHJvdG90eXBlL2VxdWFscy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9nZXRJU09GaWVsZHMv
YnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlw
ZS9pbkxlYXBZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
RGF0ZS9wcm90b3R5cGUvbW9udGgvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9tb250aENvZGUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9tb250aHNJblllYXIvYnJhbmRpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9zaW5jZS9i
cmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBl
L3N1YnRyYWN0L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0
ZS9wcm90b3R5cGUvdG9KU09OL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1BsYWluRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS90b1BsYWluRGF0ZVRpbWUvYnJh
bmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS90
b1BsYWluTW9udGhEYXkvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxh
aW5EYXRlL3Byb3RvdHlwZS90b1BsYWluWWVhck1vbnRoL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvYnJhbmRpbmcuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS90b1pvbmVkRGF0
ZVRpbWUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3By
b3RvdHlwZS91bnRpbC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFp
bkRhdGUvcHJvdG90eXBlL3ZhbHVlT2YvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS93ZWVrT2ZZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvd2l0aC9icmFuZGluZy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL3dpdGhDYWxlbmRh
ci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90
eXBlL3llYXIvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRl
VGltZS9wcm90b3R5cGUvYWRkL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2NhbGVuZGFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2RheS9icmFuZGluZy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS9kYXlPZldl
ZWsvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9w
cm90b3R5cGUvZGF5T2ZZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2RheXNJbk1vbnRoL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2RheXNJbldlZWsvYnJh
bmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5
cGUvZGF5c0luWWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFp
bkRhdGVUaW1lL3Byb3RvdHlwZS9lcXVhbHMvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRp
bmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUv
Z2V0SVNPRmllbGRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
RGF0ZVRpbWUvcHJvdG90eXBlL2hvdXIvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvaW5MZWFwWWVhci9icmFuZGluZy5qcwotQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS9taWNyb3NlY29u
ZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3By
b3RvdHlwZS9taWxsaXNlY29uZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS9taW51dGUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvbW9udGgvYnJhbmRpbmcuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvbW9udGhD
b2RlL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUv
cHJvdG90eXBlL21vbnRoc0luWWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS9uYW5vc2Vjb25kL2JyYW5kaW5nLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL3JvdW5kL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBl
L3NlY29uZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVU
aW1lL3Byb3RvdHlwZS9zaW5jZS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS9zdWJ0cmFjdC9icmFuZGluZy5qcwotQSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS90b0pTT04vYnJhbmRpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvdG9M
b2NhbGVTdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5E
YXRlVGltZS9wcm90b3R5cGUvdG9QbGFpbkRhdGUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvdG9QbGFpbk1vbnRoRGF5L2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBl
L3RvUGxhaW5UaW1lL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
RGF0ZVRpbWUvcHJvdG90eXBlL3RvUGxhaW5ZZWFyTW9udGgvYnJhbmRpbmcuanMKLUEgdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvdG9TdHJpbmcvYnJhbmRp
bmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUv
dG9ab25lZERhdGVUaW1lL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1Bs
YWluRGF0ZVRpbWUvcHJvdG90eXBlL3VudGlsL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL3ZhbHVlT2YvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvd2Vla09mWWVh
ci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3By
b3RvdHlwZS93aXRoL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
RGF0ZVRpbWUvcHJvdG90eXBlL3dpdGhDYWxlbmRhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS93aXRoUGxhaW5EYXRlL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBl
L3dpdGhQbGFpblRpbWUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxh
aW5EYXRlVGltZS9wcm90b3R5cGUveWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9QbGFpbk1vbnRoRGF5L3Byb3RvdHlwZS9jYWxlbmRhci9icmFuZGluZy5qcwotQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbk1vbnRoRGF5L3Byb3RvdHlwZS9kYXkvYnJhbmRp
bmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5Nb250aERheS9wcm90b3R5cGUv
ZXF1YWxzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluTW9udGhE
YXkvcHJvdG90eXBlL2dldElTT0ZpZWxkcy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9QbGFpbk1vbnRoRGF5L3Byb3RvdHlwZS9tb250aENvZGUvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5Nb250aERheS9wcm90b3R5cGUvdG9KU09OL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluTW9udGhEYXkvcHJvdG90
eXBlL3RvTG9jYWxlU3RyaW5nL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1BsYWluTW9udGhEYXkvcHJvdG90eXBlL3RvUGxhaW5EYXRlL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluTW9udGhEYXkvcHJvdG90eXBlL3RvU3RyaW5nL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluTW9udGhEYXkvcHJvdG90eXBl
L3ZhbHVlT2YvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5Nb250
aERheS9wcm90b3R5cGUvd2l0aC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9QbGFpblRpbWUvcHJvdG90eXBlL2FkZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9QbGFpblRpbWUvcHJvdG90eXBlL2NhbGVuZGFyL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9wcm90b3R5cGUvZXF1YWxzL2JyYW5kaW5nLmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9wcm90b3R5cGUvZ2V0SVNPRmll
bGRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9wcm90
b3R5cGUvaG91ci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblRp
bWUvcHJvdG90eXBlL21pY3Jvc2Vjb25kL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL1BsYWluVGltZS9wcm90b3R5cGUvbWlsbGlzZWNvbmQvYnJhbmRpbmcuanMKLUEgdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5UaW1lL3Byb3RvdHlwZS9taW51dGUvYnJhbmRpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5UaW1lL3Byb3RvdHlwZS9uYW5vc2Vj
b25kL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9wcm90
b3R5cGUvcm91bmQvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5U
aW1lL3Byb3RvdHlwZS9zZWNvbmQvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvUGxhaW5UaW1lL3Byb3RvdHlwZS9zaW5jZS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9QbGFpblRpbWUvcHJvdG90eXBlL3N1YnRyYWN0L2JyYW5kaW5nLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9wcm90b3R5cGUvdG9KU09OL2JyYW5kaW5n
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9wcm90b3R5cGUvdG9Mb2Nh
bGVTdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5UaW1l
L3Byb3RvdHlwZS90b1BsYWluRGF0ZVRpbWUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvUGxhaW5UaW1lL3Byb3RvdHlwZS90b1N0cmluZy9icmFuZGluZy5qcwotQSB0ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblRpbWUvcHJvdG90eXBlL3RvWm9uZWREYXRlVGltZS9i
cmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblRpbWUvcHJvdG90eXBl
L3VudGlsL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluVGltZS9w
cm90b3R5cGUvdmFsdWVPZi9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Q
bGFpblRpbWUvcHJvdG90eXBlL3dpdGgvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2FkZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvY2FsZW5kYXIvYnJhbmRp
bmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBl
L2RheXNJbk1vbnRoL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWlu
WWVhck1vbnRoL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9lcXVhbHMvYnJhbmRpbmcuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2VyYS9i
cmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90
b3R5cGUvZXJhWWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFp
blllYXJNb250aC9wcm90b3R5cGUvZ2V0SVNPRmllbGRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9pbkxlYXBZZWFyL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlw
ZS9tb250aC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJN
b250aC9wcm90b3R5cGUvbW9udGhDb2RlL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9tb250aHNJblllYXIvYnJhbmRpbmcuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL3NpbmNl
L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3By
b3RvdHlwZS9zdWJ0cmFjdC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Q
bGFpblllYXJNb250aC9wcm90b3R5cGUvdG9KU09OL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9icmFu
ZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5
cGUvdG9QbGFpbkRhdGUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxh
aW5ZZWFyTW9udGgvcHJvdG90eXBlL3RvU3RyaW5nL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS91bnRpbC9icmFuZGluZy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvdmFsdWVP
Zi9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9w
cm90b3R5cGUvd2l0aC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFp
blllYXJNb250aC9wcm90b3R5cGUveWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9UaW1lWm9uZS9wcm90b3R5cGUvZ2V0SW5zdGFudEZvci9icmFuZGluZy5qcwotQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9UaW1lWm9uZS9wcm90b3R5cGUvZ2V0TmV4dFRyYW5zaXRp
b24vYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvVGltZVpvbmUvcHJvdG90
eXBlL2dldE9mZnNldE5hbm9zZWNvbmRzRm9yL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL1RpbWVab25lL3Byb3RvdHlwZS9nZXRPZmZzZXRTdHJpbmdGb3IvYnJhbmRpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvVGltZVpvbmUvcHJvdG90eXBlL2dldFBvc3Np
YmxlSW5zdGFudHNGb3IvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvVGlt
ZVpvbmUvcHJvdG90eXBlL2dldFByZXZpb3VzVHJhbnNpdGlvbi9icmFuZGluZy5qcwotQSB0ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9UaW1lWm9uZS9wcm90b3R5cGUvdG9TdHJpbmcvYnJhbmRpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvYWRk
L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJv
dG90eXBlL2NhbGVuZGFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pv
bmVkRGF0ZVRpbWUvcHJvdG90eXBlL2RheS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9kYXlPZldlZWsvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZGF5T2ZZZWFy
L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJv
dG90eXBlL2RheXNJbk1vbnRoL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2RheXNJbldlZWsvYnJhbmRpbmcuanMKLUEgdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZGF5c0luWWVhci9icmFu
ZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlw
ZS9lcG9jaE1pY3Jvc2Vjb25kcy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9lcG9jaE1pbGxpc2Vjb25kcy9icmFuZGluZy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9lcG9jaE5h
bm9zZWNvbmRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0
ZVRpbWUvcHJvdG90eXBlL2Vwb2NoU2Vjb25kcy9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9lcXVhbHMvYnJhbmRpbmcuanMKLUEg
dGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZXJhL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBl
L2VyYVllYXIvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRl
VGltZS9wcm90b3R5cGUvZ2V0SVNPRmllbGRzL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2hvdXIvYnJhbmRpbmcuanMKLUEgdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvaG91cnNJbkRheS9i
cmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3Rv
dHlwZS9pbkxlYXBZZWFyL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pv
bmVkRGF0ZVRpbWUvcHJvdG90eXBlL21pY3Jvc2Vjb25kL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL21pbGxpc2Vjb25kL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBl
L21pbnV0ZS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVU
aW1lL3Byb3RvdHlwZS9tb250aC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9tb250aENvZGUvYnJhbmRpbmcuanMKLUEgdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvbW9udGhzSW5ZZWFyL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90
eXBlL25hbm9zZWNvbmQvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9u
ZWREYXRlVGltZS9wcm90b3R5cGUvb2Zmc2V0L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL29mZnNldE5hbm9zZWNvbmRzL2JyYW5k
aW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBl
L3JvdW5kL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRp
bWUvcHJvdG90eXBlL3NlY29uZC9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9zaW5jZS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS9zdGFydE9mRGF5L2JyYW5kaW5n
LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL3N1
YnRyYWN0L2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRp
bWUvcHJvdG90eXBlL3RpbWVab25lL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL3RvSW5zdGFudC9icmFuZGluZy5qcwotQSB0ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS90b0pTT04vYnJhbmRp
bmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUv
dG9Mb2NhbGVTdHJpbmcvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9u
ZWREYXRlVGltZS9wcm90b3R5cGUvdG9QbGFpbkRhdGUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvdG9QbGFpbkRhdGVUaW1lL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90
eXBlL3RvUGxhaW5Nb250aERheS9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS90b1BsYWluVGltZS9icmFuZGluZy5qcwotQSB0ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS90b1BsYWluWWVhck1v
bnRoL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUv
cHJvdG90eXBlL3RvU3RyaW5nL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL3VudGlsL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL3ZhbHVlT2YvYnJhbmRpbmcuanMK
LUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvd2Vla09m
WWVhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1l
L3Byb3RvdHlwZS93aXRoL2JyYW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pv
bmVkRGF0ZVRpbWUvcHJvdG90eXBlL3dpdGhDYWxlbmRhci9icmFuZGluZy5qcwotQSB0ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3RvdHlwZS93aXRoUGxhaW5EYXRlL2Jy
YW5kaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90
eXBlL3dpdGhQbGFpblRpbWUvYnJhbmRpbmcuanMKLUEgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Wm9uZWREYXRlVGltZS9wcm90b3R5cGUvd2l0aFRpbWVab25lL2JyYW5kaW5nLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL3llYXIvYnJhbmRpbmcu
anMKLU0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYnl0ZUxlbmd0aC9yZXNp
emFibGUtYXJyYXktYnVmZmVyLWF1dG8uanMKLU0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvYnl0ZU9mZnNldC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWF1dG8uanMKLU0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGVuZ3RoL3Jlc2l6YWJsZS1hcnJheS1i
dWZmZXItYXV0by5qcwotTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2N0
b3JzL3R5cGVkYXJyYXktYXJnL291dC1vZi1ib3VuZHMtd2hlbi1zcGVjaWVzLXJldHJpZXZlZC1k
aWZmZXJlbnQtdHlwZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2N0b3JzL3R5cGVkYXJyYXktYXJnL291dC1vZi1ib3VuZHMtd2hlbi1zcGVjaWVzLXJldHJpZXZl
ZC1zYW1lLXR5cGUuanMKLU0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvSGFzUHJvcGVydHkvcmVzaXphYmxlLWFycmF5LWJ1ZmZlci1hdXRvLmpzCi1NIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL093blByb3BlcnR5
S2V5cy9pbnRlZ2VyLWluZGV4ZXMtcmVzaXphYmxlLWFycmF5LWJ1ZmZlci1hdXRvLmpzCitBIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL2V4dGVuc2libGUuanMK
K0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vbGVuZ3RoLmpz
CitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL25hbWUuanMK
K0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vbm90LWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJ
U08vcHJvcC1kZXNjLmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVU
aW1lSVNPL3JldHVybi12YWx1ZS5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxh
aW5EYXRlVGltZUlTTy90aW1lLXpvbmUtdW5kZWZpbmVkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNvbmRz
Zm9yLWludm9jYXRpb24uanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0
ZVRpbWVJU08vdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itbm9uLWludGVnZXIuanMK
K0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vdGltZXpvbmUt
Z2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itbm9uLW1ldGhvZC5qcworQSB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25k
c2Zvci1ub3QtYS1udW1iZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWlu
RGF0ZVRpbWVJU08vdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itb3V0LW9mLXJhbmdl
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6
b25lLWdldG9mZnNldG5hbm9zZWNvbmRzZm9yLXBvaXNvbmVkLmpzCitBIHRlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNv
bmRzZm9yLXRocm93cy5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRl
VGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci13cm9uZy10eXBlLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLW9i
amVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93
L3BsYWluRGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0LXRpbWV6b25lLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLW9i
amVjdC1mYWlsLWhhcy1uZXN0ZWQtdGltZXpvbmUuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvTm93L3BsYWluRGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LWZhaWwtaGFzLXRpbWV6b25l
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6
b25lLW9iamVjdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGlt
ZUlTTy90aW1lem9uZS1zdHJpbmctZGF0ZXRpbWUuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvTm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXItZnVuY3Rpb24uanMKK0EgdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtY2FsbC10
b3N0cmluZy5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS9j
YWxlbmRhci1vYmplY3QtZmFpbC1nZXQtY2FsZW5kYXIuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtaGFzLWNhbGVuZGFy
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2NhbGVuZGFy
LW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtY2FsZW5kYXIuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LmpzCitBIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2NhbGVuZGFyLXRlbXBvcmFsLW9iamVjdC5q
cworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS9leHRlbnNpYmxl
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2xlbmd0aC5q
cworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS9uYW1lLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL3Byb3At
ZGVzYy5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS90aW1l
LXpvbmUtdW5kZWZpbmVkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERh
dGVUaW1lL3RpbWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKK0EgdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0
LXRpbWV6b25lLmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1l
L3RpbWV6b25lLW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtdGltZXpvbmUuanMKK0EgdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0LWZhaWwtaGFz
LXRpbWV6b25lLmpzCitBIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1l
L3RpbWV6b25lLW9iamVjdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWRE
YXRlVGltZS90aW1lem9uZS1zdHJpbmctZGF0ZXRpbWUuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3pvbmVkRGF0ZVRpbWVJU08vZXh0ZW5zaWJsZS5qcworQSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9sZW5ndGguanMKK0EgdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWVJU08vbmFtZS5qcworQSB0ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9wcm9wLWRlc2MuanMK
K0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWVJU08vdGltZS16b25l
LXVuZGVmaW5lZC5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGlt
ZUlTTy90aW1lem9uZS1vYmplY3QtZmFpbC1jYWxsLXRvc3RyaW5nLmpzCitBIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWdl
dC10aW1lem9uZS5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGlt
ZUlTTy90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRpbWV6b25lLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1m
YWlsLWhhcy10aW1lem9uZS5qcworQSB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWRE
YXRlVGltZUlTTy90aW1lem9uZS1vYmplY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Tm93L3pvbmVkRGF0ZVRpbWVJU08vdGltZXpvbmUtc3RyaW5nLWRhdGV0aW1lLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2F0L0JpZ0ludC9yZXR1cm4tYWJydXB0LWZy
b20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJv
dG90eXBlL2J5dGVMZW5ndGgvQmlnSW50L3Jlc2l6YWJsZS1hcnJheS1idWZmZXItYXV0by5qcwor
QSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlTGVuZ3RoL0JpZ0ludC9y
ZXNpemFibGUtYXJyYXktYnVmZmVyLWZpeGVkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL2J5dGVPZmZzZXQvQmlnSW50L3Jlc2l6YWJsZS1hcnJheS1idWZmZXItYXV0
by5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlT2Zmc2V0L0Jp
Z0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWZpeGVkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10
aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvY29weVdpdGhpbi9ieXRlb2Zmc2V0LmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2VudHJpZXMvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1i
b3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZXZlcnkvQmln
SW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsbC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9t
LXRoaXMtb3V0LW9mLWJvdW5kcy5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9maWx0ZXIvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMu
anMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZC9CaWdJbnQvcmV0
dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworQSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10
aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvZmluZExhc3QvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMu
anMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZExhc3RJbmRleC9C
aWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworQSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9mb3JFYWNoL0JpZ0ludC9yZXR1cm4tYWJydXB0
LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2luY2x1ZGVzL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2Yt
Ym91bmRzLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luZGV4T2Yv
QmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvam9pbi9CaWdJbnQvcmV0dXJuLWFicnVwdC1m
cm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9rZXlzL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRz
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRleE9mL0Jp
Z0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRleE9mL3JldHVybi1hYnJ1cHQtZnJv
bS10aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvbGVuZ3RoL0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWF1dG8uanMKK0EgdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGVuZ3RoL0JpZ0ludC9yZXNpemFibGUt
YXJyYXktYnVmZmVyLWZpeGVkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL21hcC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwor
TSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAvcmV0dXJuLWFicnVwdC1m
cm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9yZWR1Y2UvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3Vu
ZHMuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlL3JldHVy
bi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlUmlnaHQvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10
aGlzLW91dC1vZi1ib3VuZHMuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvcmVkdWNlUmlnaHQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwor
QSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZXZlcnNlL0JpZ0ludC9yZXR1
cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL3NldC9CaWdJbnQvdHlwZWRhcnJheS1hcmctc2V0LXZhbHVlcy1z
YW1lLWJ1ZmZlci1zYW1lLXR5cGUtcmVzaXplZC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5L3Byb3RvdHlwZS9zZXQvQmlnSW50L3R5cGVkYXJyYXktYXJnLXRhcmdldC1vdXQtb2YtYm91
bmRzLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0lu
dC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91
dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29t
ZS9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworTSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb21lL3JldHVybi1hYnJ1cHQtZnJvbS10
aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc29ydC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwor
TSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0L3JldHVybi1hYnJ1cHQt
ZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91
dC1vZi1ib3VuZHMuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdG9M
b2NhbGVTdHJpbmcvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworQSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS92YWx1ZXMvQmlnSW50L3JldHVybi1h
YnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheS9wcm90b3R5cGUvdmFsdWVzL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3Vu
ZHMuanMKIE0gdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJL1MxNS4xLjMuMV9BMi4xX1QxLmpzCiBN
IHRlc3QvYnVpbHQtaW5zL2RlY29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjJfQTIuMV9UMS5qcwot
TSB0ZXN0L2J1aWx0LWlucy9wYXJzZUZsb2F0L1MxNS4xLjIuM19BMl9UMTAuanMKLU0gdGVzdC9s
YW5ndWFnZS9jb21tZW50cy9TNy40X0E1LmpzCitNIHRlc3QvYnVpbHQtaW5zL2VuY29kZVVSSS9T
MTUuMS4zLjNfQTEuMV9UMS5qcworTSB0ZXN0L2J1aWx0LWlucy9lbmNvZGVVUkkvUzE1LjEuMy4z
X0ExLjFfVDIuanMKK00gdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJL1MxNS4xLjMuM19BMS4yX1Qx
LmpzCitNIHRlc3QvYnVpbHQtaW5zL2VuY29kZVVSSS9TMTUuMS4zLjNfQTEuMl9UMi5qcworTSB0
ZXN0L2J1aWx0LWlucy9lbmNvZGVVUkkvUzE1LjEuMy4zX0ExLjNfVDEuanMKK00gdGVzdC9idWls
dC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4xX1QxLmpzCitNIHRlc3QvYnVp
bHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjRfQTEuMV9UMi5qcworTSB0ZXN0L2J1
aWx0LWlucy9lbmNvZGVVUklDb21wb25lbnQvUzE1LjEuMy40X0ExLjJfVDEuanMKK00gdGVzdC9i
dWlsdC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4yX1QyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjRfQTEuM19UMS5qcworTSB0ZXN0
L2J1aWx0LWlucy9pc0Zpbml0ZS9TMTUuMS4yLjVfQTIuNi5qcworTSB0ZXN0L2J1aWx0LWlucy9p
c0Zpbml0ZS9TMTUuMS4yLjVfQTIuNy5qcworTSB0ZXN0L2J1aWx0LWlucy9pc05hTi9TMTUuMS4y
LjRfQTIuNi5qcworTSB0ZXN0L2J1aWx0LWlucy9pc05hTi9TMTUuMS4yLjRfQTIuNy5qcworTSB0
ZXN0L2J1aWx0LWlucy9wYXJzZUZsb2F0L1MxNS4xLjIuM19BNi5qcworTSB0ZXN0L2J1aWx0LWlu
cy9wYXJzZUludC9TMTUuMS4yLjJfQTguanMKK0EgdGVzdC9oYXJuZXNzL2Fzc2VydC10aHJvd3Mt
Y3VzdG9tLXR5cGVlcnJvci5qcworQSB0ZXN0L2hhcm5lc3MvYXNzZXJ0LXRocm93cy1zYW1lLXJl
YWxtLmpzCitNIHRlc3QvaW50bDQwMi9Db2xsYXRvci9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25z
L2Jhc2ljLmpzCitNIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0
UmFuZ2VUb1BhcnRzL3BhdHRlcm4tb24tY2FsZW5kYXIuanMKK00gdGVzdC9pbnRsNDAyL0RhdGVU
aW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3BhdHRlcm4tb24tY2FsZW5kYXIuanMK
K00gdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMv
YmFzaWMuanMKK00gdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvb2YvdHlwZS1j
YWxlbmRhci1pbnZhbGlkLmpzCitNIHRlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBl
L29mL3R5cGUtY2FsZW5kYXItdmFsaWQuanMKK0EgdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVk
VmFsdWVzT2YvYnVpbHRpbi5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNP
Zi9jYWxlbmRhcnMtYWNjZXB0ZWQtYnktRGF0ZVRpbWVGb3JtYXQuanMKK0EgdGVzdC9pbnRsNDAy
L0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY2FsZW5kYXJzLWFjY2VwdGVkLWJ5LURpc3BsYXlOYW1l
cy5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jYWxlbmRhcnMuanMK
K0EgdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY29lcmNlZC10by1zdHJpbmcu
anMKK0EgdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY29sbGF0aW9ucy1hY2Nl
cHRlZC1ieS1Db2xsYXRvci5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNP
Zi9jb2xsYXRpb25zLmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2N1
cnJlbmNpZXMtYWNjZXB0ZWQtYnktRGlzcGxheU5hbWVzLmpzCitBIHRlc3QvaW50bDQwMi9JbnRs
L3N1cHBvcnRlZFZhbHVlc09mL2N1cnJlbmNpZXMtYWNjZXB0ZWQtYnktTnVtYmVyRm9ybWF0Lmpz
CitBIHRlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2N1cnJlbmNpZXMuanMKK0Eg
dGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvaW52YWxpZC1rZXkuanMKK0EgdGVz
dC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvbGVuZ3RoLmpzCitBIHRlc3QvaW50bDQw
Mi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL25hbWUuanMKK0EgdGVzdC9pbnRsNDAyL0ludGwvc3Vw
cG9ydGVkVmFsdWVzT2YvbnVtYmVyaW5nU3lzdGVtcy1hY2NlcHRlZC1ieS1EYXRlVGltZUZvcm1h
dC5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0
ZW1zLWFjY2VwdGVkLWJ5LU51bWJlckZvcm1hdC5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9zdXBw
b3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LVJlbGF0aXZlVGltZUZv
cm1hdC5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdT
eXN0ZW1zLXdpdGgtc2ltcGxlLWRpZ2l0LW1hcHBpbmdzLmpzCitBIHRlc3QvaW50bDQwMi9JbnRs
L3N1cHBvcnRlZFZhbHVlc09mL251bWJlcmluZ1N5c3RlbXMuanMKK0EgdGVzdC9pbnRsNDAyL0lu
dGwvc3VwcG9ydGVkVmFsdWVzT2YvcHJvcC1kZXNjLmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL3N1
cHBvcnRlZFZhbHVlc09mL3RpbWVab25lcy1hY2NlcHRlZC1ieS1EYXRlVGltZUZvcm1hdC5qcwor
QSB0ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi90aW1lWm9uZXMuanMKK0EgdGVz
dC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvdW5pdHMtYWNjZXB0ZWQtYnktTnVtYmVy
Rm9ybWF0LmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL3VuaXRzLmpz
CitNIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvY29uc3RydWN0b3ItdW5pdC5qcworTSB0ZXN0
L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvbnVtYmVyaW5nLXN5c3RlbXMu
anMKK00gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3VuaXRzLmpz
CitSMTAwIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9lcmEvYnJh
bmRpbmcuanMgdGVzdC9pbnRsNDAyL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9lcmEvYnJh
bmRpbmcuanMKK1IxMDAgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBl
L2VyYVllYXIvYnJhbmRpbmcuanMgdGVzdC9pbnRsNDAyL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3Rv
dHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCitSMTAwIHRlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1Bs
YWluRGF0ZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzIHRlc3QvaW50bDQwMi9UZW1wb3JhbC9Q
bGFpbkRhdGUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcworUjEwMCB0ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMgdGVzdC9pbnRs
NDAyL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvZXJhWWVhci9icmFuZGluZy5qcworUjEw
MCB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL3Byb3RvdHlwZS9lcmEvYnJh
bmRpbmcuanMgdGVzdC9pbnRsNDAyL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2Vy
YS9icmFuZGluZy5qcworUjEwMCB0ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1l
L3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzIHRlc3QvaW50bDQwMi9UZW1wb3JhbC9QbGFp
bkRhdGVUaW1lL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCitSMTAwIHRlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9lcmEvYnJhbmRpbmcuanMgdGVz
dC9pbnRsNDAyL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9lcmEvYnJhbmRpbmcu
anMKK1IxMDAgdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBl
L2VyYVllYXIvYnJhbmRpbmcuanMgdGVzdC9pbnRsNDAyL1RlbXBvcmFsL1BsYWluWWVhck1vbnRo
L3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCitSMTAwIHRlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcyB0ZXN0L2ludGw0MDIv
VGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzCitSMTAwIHRl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJh
bmRpbmcuanMgdGVzdC9pbnRsNDAyL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2Vy
YVllYXIvYnJhbmRpbmcuanMKIE0gdGVzdC9sYW5ndWFnZS9jb21tZW50cy9TNy40X0E2LmpzCi1B
IHRlc3QvbGFuZ3VhZ2UvY29tcHV0ZWQtcHJvcGVydHktbmFtZXMvY2xhc3Mvc3RhdGljL21ldGhv
ZC1udW1iZXItb3JkZXIuanMKLU0gdGVzdC9sYW5ndWFnZS9jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
cy9jbGFzcy9zdGF0aWMvbWV0aG9kLW51bWJlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2NvbXB1dGVk
LXByb3BlcnR5LW5hbWVzL2NsYXNzL3N0YXRpYy9tZXRob2Qtc3RyaW5nLW9yZGVyLmpzCi1NIHRl
c3QvbGFuZ3VhZ2UvY29tcHV0ZWQtcHJvcGVydHktbmFtZXMvY2xhc3Mvc3RhdGljL21ldGhvZC1z
dHJpbmcuanMKLUEgdGVzdC9sYW5ndWFnZS9jb21wdXRlZC1wcm9wZXJ0eS1uYW1lcy9jbGFzcy9z
dGF0aWMvbWV0aG9kLXN5bWJvbC1vcmRlci5qcwotTSB0ZXN0L2xhbmd1YWdlL2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzL2NsYXNzL3N0YXRpYy9tZXRob2Qtc3ltYm9sLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFkZGl0aXZlZXhwcmVz
c2lvbi1taW51cy1tdWx0aXBsaWNhdGl2ZWV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hZGRpdGl2ZWV4cHJlc3Np
b24tbWludXMtbXVsdGlwbGljYXRpdmVleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtYWRkaXRpdmVleHByZXNzaW9u
LW1pbnVzLW11bHRpcGxpY2F0aXZlZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFkZGl0aXZlZXhwcmVzc2lvbi1w
bHVzLW11bHRpcGxpY2F0aXZlZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFkZGl0aXZlZXhwcmVzc2lvbi1wbHVz
LW11bHRpcGxpY2F0aXZlZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFkZGl0aXZlZXhwcmVzc2lvbi1wbHVzLW11
bHRpcGxpY2F0aXZlZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFycm93ZnVuY3Rpb24tMC5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hcnJvd2Z1bmN0
aW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QtYXJyb3dmdW5jdGlvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFycm93ZnVuY3Rpb24tMy5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hcnJvd2Z1bmN0
aW9uLTQuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QtYXJyb3dmdW5jdGlvbi01LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWFycm93ZnVuY3Rpb24tNi5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hc3luY2Fycm93
ZnVuY3Rpb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL2RpcmVjdC1hc3luY2Fycm93ZnVuY3Rpb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hc3luY2Fycm93ZnVuY3Rpb24t
Mi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2Rp
cmVjdC1hc3luY2Fycm93ZnVuY3Rpb24tMy5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hc3luY2Fycm93ZnVuY3Rpb24tNC5qcwotTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1hc3lu
Y2Fycm93ZnVuY3Rpb24tNS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnR0YXJnZXR0eXBlL2RpcmVjdC1hc3luY2Fycm93ZnVuY3Rpb24tNi5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNlYW5kZXhw
cmVzc2lvbi1iaXR3aXNlLWFuZC1lcXVhbGl0eWV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNlYW5kZXhw
cmVzc2lvbi1iaXR3aXNlLWFuZC1lcXVhbGl0eWV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNlYW5kZXhw
cmVzc2lvbi1iaXR3aXNlLWFuZC1lcXVhbGl0eWV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNlb3JleHBy
ZXNzaW9uLWJpdHdpc2Utb3ItYml0d2lzZXhvcmV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNlb3JleHBy
ZXNzaW9uLWJpdHdpc2Utb3ItYml0d2lzZXhvcmV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNlb3JleHBy
ZXNzaW9uLWJpdHdpc2Utb3ItYml0d2lzZXhvcmV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1iaXR3aXNleG9yZXhw
cmVzc2lvbi1iaXR3aXNlLXhvci1iaXR3aXNlYW5kZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWJpdHdpc2V4b3Jl
eHByZXNzaW9uLWJpdHdpc2UteG9yLWJpdHdpc2VhbmRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtYml0d2lzZXhv
cmV4cHJlc3Npb24tYml0d2lzZS14b3ItYml0d2lzZWFuZGV4cHJlc3Npb24tMi5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1jYWxsZXhw
cmVzc2lvbi1hcmd1bWVudHMuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25t
ZW50dGFyZ2V0dHlwZS9kaXJlY3QtY2FsbGV4cHJlc3Npb24tdGVtcGxhdGVsaXRlcmFsLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWNv
YWxlc2NlZXhwcmVzc2lvbmhlYWQtY29hbGVzY2UtYml0d2lzZW9yZXhwcmVzc2lvbi0wLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWNv
YWxlc2NlZXhwcmVzc2lvbmhlYWQtY29hbGVzY2UtYml0d2lzZW9yZXhwcmVzc2lvbi0xLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWNv
YWxlc2NlZXhwcmVzc2lvbmhlYWQtY29hbGVzY2UtYml0d2lzZW9yZXhwcmVzc2lvbi0yLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWVx
dWFsaXR5ZXhwcmVzc2lvbi1hYnN0cmFjdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0wLmpz
Ci1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0
LWVxdWFsaXR5ZXhwcmVzc2lvbi1hYnN0cmFjdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0x
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGly
ZWN0LWVxdWFsaXR5ZXhwcmVzc2lvbi1hYnN0cmFjdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lv
bi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUv
ZGlyZWN0LWVxdWFsaXR5ZXhwcmVzc2lvbi1hYnN0cmFjdC1ub3QtZXF1YWwtcmVsYXRpb25hbGV4
cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL2RpcmVjdC1lcXVhbGl0eWV4cHJlc3Npb24tYWJzdHJhY3Qtbm90LWVxdWFsLXJlbGF0
aW9uYWxleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25t
ZW50dGFyZ2V0dHlwZS9kaXJlY3QtZXF1YWxpdHlleHByZXNzaW9uLWFic3RyYWN0LW5vdC1lcXVh
bC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWVxdWFsaXR5ZXhwcmVzc2lvbi1zdHJpY3QtZXF1
YWwtcmVsYXRpb25hbGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1lcXVhbGl0eWV4cHJlc3Npb24tc3RyaWN0LWVx
dWFsLXJlbGF0aW9uYWxleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtZXF1YWxpdHlleHByZXNzaW9uLXN0cmljdC1l
cXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWVxdWFsaXR5ZXhwcmVzc2lvbi1zdHJpY3Qt
bm90LWVxdWFsLXJlbGF0aW9uYWxleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtZXF1YWxpdHlleHByZXNzaW9uLXN0
cmljdC1ub3QtZXF1YWwtcmVsYXRpb25hbGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1lcXVhbGl0eWV4cHJlc3Np
b24tc3RyaWN0LW5vdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWV4cHJlc3Npb24t
Y29tbWEtYXNzaWdubWVudGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1leHByZXNzaW9uLWNvbW1hLWFzc2lnbm1l
bnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50
dGFyZ2V0dHlwZS9kaXJlY3QtZXhwcmVzc2lvbi1jb21tYS1hc3NpZ25tZW50ZXhwcmVzc2lvbi0y
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGly
ZWN0LWlkZW50aWZpZXJyZWZlcmVuY2UtYXJndW1lbnRzLXN0cmljdC5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1pZGVudGlmaWVycmVm
ZXJlbmNlLWV2YWwtc3RyaWN0LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdu
bWVudHRhcmdldHR5cGUvZGlyZWN0LWltcG9ydC5tZXRhLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWltcG9ydGNhbGwuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbGVmdGhh
bmRzaWRlZXhwcmVzc2lvbi1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTAuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbGVm
dGhhbmRzaWRlZXhwcmVzc2lvbi1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTEuanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qt
bGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTIu
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJl
Y3QtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1jb2FsZXNjZS1hc3NpZ25tZW50LWFzc2lnbm1lbnRl
eHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFy
Z2V0dHlwZS9kaXJlY3QtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1jb2FsZXNjZS1hc3NpZ25tZW50
LWFzc2lnbm1lbnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1jb2FsZXNj
ZS1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbGVmdGhhbmRzaWRlZXhwcmVz
c2lvbi1sb2dpY2FsLWFuZC1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTAuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbGVm
dGhhbmRzaWRlZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHBy
ZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0
dHlwZS9kaXJlY3QtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC1hc3NpZ25tZW50
LWFzc2lnbm1lbnRleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1sb2dpY2Fs
LW9yLWFzc2lnbm1lbnQtYXNzaWdubWVudGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1sZWZ0aGFuZHNpZGVleHBy
ZXNzaW9uLWxvZ2ljYWwtb3ItYXNzaWdubWVudC1hc3NpZ25tZW50ZXhwcmVzc2lvbi0xLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWxl
ZnRoYW5kc2lkZWV4cHJlc3Npb24tbG9naWNhbC1vci1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHBy
ZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0
dHlwZS9kaXJlY3QtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1taW51cy1taW51cy5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1sZWZ0aGFu
ZHNpZGVleHByZXNzaW9uLXBsdXMtcGx1cy5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1sb2dpY2FsYW5kZXhwcmVzc2lvbi1sb2dpY2Fs
LWFuZC1iaXR3aXNlb3JleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbG9naWNhbGFuZGV4cHJlc3Npb24tbG9naWNh
bC1hbmQtYml0d2lzZW9yZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LWxvZ2ljYWxhbmRleHByZXNzaW9uLWxvZ2lj
YWwtYW5kLWJpdHdpc2VvcmV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1sb2dpY2Fsb3JleHByZXNzaW9uLWxvZ2lj
YWwtb3ItbG9naWNhbGFuZGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1sb2dpY2Fsb3JleHByZXNzaW9uLWxvZ2lj
YWwtb3ItbG9naWNhbGFuZGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1sb2dpY2Fsb3JleHByZXNzaW9uLWxvZ2lj
YWwtb3ItbG9naWNhbGFuZGV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1tZW1iZXJleHByZXNzaW9uLXRlbXBsYXRl
bGl0ZXJhbC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0
eXBlL2RpcmVjdC1taW51cy1taW51cy11bmFyeWV4cHJlc3Npb24uanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbXVsdGlwbGljYXRpdmVl
eHByZXNzaW9uLW11bHRpcGxpY2F0aXZlb3BlcmF0b3ItZXhwb25lbnRpYXRpb25leHByZXNzaW9u
LTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9k
aXJlY3QtbXVsdGlwbGljYXRpdmVleHByZXNzaW9uLW11bHRpcGxpY2F0aXZlb3BlcmF0b3ItZXhw
b25lbnRpYXRpb25leHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbXVsdGlwbGljYXRpdmVleHByZXNzaW9uLW11bHRp
cGxpY2F0aXZlb3BlcmF0b3ItZXhwb25lbnRpYXRpb25leHByZXNzaW9uLTIuanMKLU0gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbXVsdGlwbGlj
YXRpdmVleHByZXNzaW9uLW11bHRpcGxpY2F0aXZlb3BlcmF0b3ItZXhwb25lbnRpYXRpb25leHBy
ZXNzaW9uLTMuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0
dHlwZS9kaXJlY3QtbXVsdGlwbGljYXRpdmVleHByZXNzaW9uLW11bHRpcGxpY2F0aXZlb3BlcmF0
b3ItZXhwb25lbnRpYXRpb25leHByZXNzaW9uLTQuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbXVsdGlwbGljYXRpdmVleHByZXNzaW9u
LW11bHRpcGxpY2F0aXZlb3BlcmF0b3ItZXhwb25lbnRpYXRpb25leHByZXNzaW9uLTUuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtbmV3
LW1lbWJlcmV4cHJlc3Npb24tYXJndW1lbnRzLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LW5ldy1uZXdleHByZXNzaW9uLmpzCi1NIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LW9wdGlv
bmFsZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL2RpcmVjdC1wbHVzLXBsdXMtdW5hcnlleHByZXNzaW9uLmpzCi1NIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LXByaW1hcnlleHBy
ZXNzaW9uLWFzeW5jZnVuY3Rpb25leHByZXNzaW9uLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LXByaW1hcnlleHByZXNzaW9uLWFzeW5j
Z2VuZXJhdG9yZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2ln
bm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1wcmltYXJ5ZXhwcmVzc2lvbi1jbGFzc2V4cHJlc3Npb24u
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJl
Y3QtcHJpbWFyeWV4cHJlc3Npb24tZnVuY3Rpb25leHByZXNzaW9uLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LXByaW1hcnlleHByZXNz
aW9uLWdlbmVyYXRvcmV4cHJlc3Npb24uanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcHJpbWFyeWV4cHJlc3Npb24tbGl0ZXJhbC1ib29s
ZWFuLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUv
ZGlyZWN0LXByaW1hcnlleHByZXNzaW9uLWxpdGVyYWwtbnVsbC5qcwotTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1wcmltYXJ5ZXhwcmVzc2lv
bi1saXRlcmFsLW51bWVyaWMuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25t
ZW50dGFyZ2V0dHlwZS9kaXJlY3QtcHJpbWFyeWV4cHJlc3Npb24tbGl0ZXJhbC1zdHJpbmcuanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qt
cHJpbWFyeWV4cHJlc3Npb24tb2JqZWN0bGl0ZXJhbC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1wcmltYXJ5ZXhwcmVzc2lvbi1yZWd1
bGFyZXhwcmVzc2lvbmxpdGVyYWwuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcHJpbWFyeWV4cHJlc3Npb24tdGVtcGxhdGVsaXRlcmFs
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGly
ZWN0LXByaW1hcnlleHByZXNzaW9uLXRoaXMuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcmVsYXRpb25hbGV4cHJlc3Npb24tZ3JlYXRl
ci10aGFuLW9yLWVxdWFsLXRvLXNoaWZ0ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LXJlbGF0aW9uYWxleHByZXNz
aW9uLWdyZWF0ZXItdGhhbi1vci1lcXVhbC10by1zaGlmdGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1yZWxhdGlv
bmFsZXhwcmVzc2lvbi1ncmVhdGVyLXRoYW4tb3ItZXF1YWwtdG8tc2hpZnRleHByZXNzaW9uLTIu
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJl
Y3QtcmVsYXRpb25hbGV4cHJlc3Npb24tZ3JlYXRlci10aGFuLXNoaWZ0ZXhwcmVzc2lvbi0wLmpz
Ci1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0
LXJlbGF0aW9uYWxleHByZXNzaW9uLWdyZWF0ZXItdGhhbi1zaGlmdGV4cHJlc3Npb24tMS5qcwot
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC1y
ZWxhdGlvbmFsZXhwcmVzc2lvbi1ncmVhdGVyLXRoYW4tc2hpZnRleHByZXNzaW9uLTIuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcmVs
YXRpb25hbGV4cHJlc3Npb24taW4tc2hpZnRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcmVsYXRpb25hbGV4cHJl
c3Npb24taW4tc2hpZnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcmVsYXRpb25hbGV4cHJlc3Npb24taW4tc2hp
ZnRleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50
dGFyZ2V0dHlwZS9kaXJlY3QtcmVsYXRpb25hbGV4cHJlc3Npb24taW5zdGFuY2VvZi1zaGlmdGV4
cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL2RpcmVjdC1yZWxhdGlvbmFsZXhwcmVzc2lvbi1pbnN0YW5jZW9mLXNoaWZ0ZXhwcmVz
c2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5
cGUvZGlyZWN0LXJlbGF0aW9uYWxleHByZXNzaW9uLWluc3RhbmNlb2Ytc2hpZnRleHByZXNzaW9u
LTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9k
aXJlY3QtcmVsYXRpb25hbGV4cHJlc3Npb24tbGVzcy10aGFuLW9yLWVxdWFsLXRvLXNoaWZ0ZXhw
cmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdl
dHR5cGUvZGlyZWN0LXJlbGF0aW9uYWxleHByZXNzaW9uLWxlc3MtdGhhbi1vci1lcXVhbC10by1z
aGlmdGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnR0YXJnZXR0eXBlL2RpcmVjdC1yZWxhdGlvbmFsZXhwcmVzc2lvbi1sZXNzLXRoYW4tb3ItZXF1
YWwtdG8tc2hpZnRleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtcmVsYXRpb25hbGV4cHJlc3Npb24tbGVzcy10aGFu
LXNoaWZ0ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdu
bWVudHRhcmdldHR5cGUvZGlyZWN0LXJlbGF0aW9uYWxleHByZXNzaW9uLWxlc3MtdGhhbi1zaGlm
dGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL2RpcmVjdC1yZWxhdGlvbmFsZXhwcmVzc2lvbi1sZXNzLXRoYW4tc2hpZnRleHBy
ZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0
dHlwZS9kaXJlY3Qtc2hpZnRleHByZXNzaW9uLWJpdHdpc2UtbGVmdC1hZGRpdGl2ZWV4cHJlc3Np
b24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBl
L2RpcmVjdC1zaGlmdGV4cHJlc3Npb24tYml0d2lzZS1sZWZ0LWFkZGl0aXZlZXhwcmVzc2lvbi0x
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGly
ZWN0LXNoaWZ0ZXhwcmVzc2lvbi1iaXR3aXNlLWxlZnQtYWRkaXRpdmVleHByZXNzaW9uLTIuanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qt
c2hpZnRleHByZXNzaW9uLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNzaW9uLTAuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qtc2hp
ZnRleHByZXNzaW9uLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNzaW9uLTEuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qtc2hpZnRl
eHByZXNzaW9uLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNzaW9uLTIuanMKLU0gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qtc2hpZnRleHBy
ZXNzaW9uLXVuc2lnbmVkLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNzaW9uLTAuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qtc2hp
ZnRleHByZXNzaW9uLXVuc2lnbmVkLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNzaW9uLTEu
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJl
Y3Qtc2hpZnRleHByZXNzaW9uLXVuc2lnbmVkLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNz
aW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3Qtc2hvcnRjaXJjdWl0ZXhwcmVzc2lvbi1xdWVzdGlvbi1hc3NpZ25tZW50ZXhwcmVz
c2lvbi1lbHNlLWFzc2lnbm1lbnRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3Qtc2hvcnRjaXJjdWl0ZXhwcmVzc2lv
bi1xdWVzdGlvbi1hc3NpZ25tZW50ZXhwcmVzc2lvbi1lbHNlLWFzc2lnbm1lbnRleHByZXNzaW9u
LTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9k
aXJlY3Qtc2hvcnRjaXJjdWl0ZXhwcmVzc2lvbi1xdWVzdGlvbi1hc3NpZ25tZW50ZXhwcmVzc2lv
bi1lbHNlLWFzc2lnbm1lbnRleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLWRlbGV0ZS11
bmFyeWV4cHJlc3Npb24uanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50
dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLWV4Y2xhbWF0aW9uLXVuYXJ5ZXhwcmVz
c2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5
cGUvZGlyZWN0LXVuYXJ5ZXhwcmVzc2lvbi1leGNsYW1hdGlvbi11bmFyeWV4cHJlc3Npb24tMS5q
cwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVj
dC11bmFyeWV4cHJlc3Npb24tZXhjbGFtYXRpb24tdW5hcnlleHByZXNzaW9uLTIuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnll
eHByZXNzaW9uLW1pbnVzLXVuYXJ5ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvZGlyZWN0LXVuYXJ5ZXhwcmVzc2lvbi1taW51
cy11bmFyeWV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2ln
bm1lbnR0YXJnZXR0eXBlL2RpcmVjdC11bmFyeWV4cHJlc3Npb24tbWludXMtdW5hcnlleHByZXNz
aW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLXBsdXMtdW5hcnlleHByZXNzaW9uLTAuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnll
eHByZXNzaW9uLXBsdXMtdW5hcnlleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLXBsdXMt
dW5hcnlleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25t
ZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLXRpbGRlLXVuYXJ5ZXhwcmVzc2lv
bi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUv
ZGlyZWN0LXVuYXJ5ZXhwcmVzc2lvbi10aWxkZS11bmFyeWV4cHJlc3Npb24tMS5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL2RpcmVjdC11bmFyeWV4
cHJlc3Npb24tdGlsZGUtdW5hcnlleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLXR5cGVv
Zi11bmFyeWV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2ln
bm1lbnR0YXJnZXR0eXBlL2RpcmVjdC11bmFyeWV4cHJlc3Npb24tdHlwZW9mLXVuYXJ5ZXhwcmVz
c2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5
cGUvZGlyZWN0LXVuYXJ5ZXhwcmVzc2lvbi10eXBlb2YtdW5hcnlleHByZXNzaW9uLTIuanMKLU0g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5h
cnlleHByZXNzaW9uLXZvaWQtdW5hcnlleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLXZv
aWQtdW5hcnlleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9kaXJlY3QtdW5hcnlleHByZXNzaW9uLXZvaWQtdW5hcnlleHByZXNz
aW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QtdXBkYXRlZXhwcmVzc2lvbi1zdGFyLXN0YXItZXhwb25lbnRpYXRpb25leHByZXNz
aW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QtdXBkYXRlZXhwcmVzc2lvbi1zdGFyLXN0YXItZXhwb25lbnRpYXRpb25leHByZXNz
aW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QtdXBkYXRlZXhwcmVzc2lvbi1zdGFyLXN0YXItZXhwb25lbnRpYXRpb25leHByZXNz
aW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9kaXJlY3QteWllbGRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9kaXJlY3QteWllbGRleHByZXNzaW9uLTEuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVk
LWFkZGl0aXZlZXhwcmVzc2lvbi1taW51cy1tdWx0aXBsaWNhdGl2ZWV4cHJlc3Npb24tMC5qcwot
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhl
c2l6ZWQtYWRkaXRpdmVleHByZXNzaW9uLW1pbnVzLW11bHRpcGxpY2F0aXZlZXhwcmVzc2lvbi0x
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFy
ZW50aGVzaXplZC1hZGRpdGl2ZWV4cHJlc3Npb24tbWludXMtbXVsdGlwbGljYXRpdmVleHByZXNz
aW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9wYXJlbnRoZXNpemVkLWFkZGl0aXZlZXhwcmVzc2lvbi1wbHVzLW11bHRpcGxpY2F0aXZlZXhw
cmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdl
dHR5cGUvcGFyZW50aGVzaXplZC1hZGRpdGl2ZWV4cHJlc3Npb24tcGx1cy1tdWx0aXBsaWNhdGl2
ZWV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtYWRkaXRpdmVleHByZXNzaW9uLXBsdXMtbXVsdGlwbGlj
YXRpdmVleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25t
ZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWFycm93ZnVuY3Rpb24tMC5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtYXJy
b3dmdW5jdGlvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRh
cmdldHR5cGUvcGFyZW50aGVzaXplZC1hcnJvd2Z1bmN0aW9uLTIuanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWFycm93ZnVu
Y3Rpb24tMy5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0
eXBlL3BhcmVudGhlc2l6ZWQtYXJyb3dmdW5jdGlvbi00LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1hcnJvd2Z1bmN0aW9u
LTUuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9w
YXJlbnRoZXNpemVkLWFycm93ZnVuY3Rpb24tNi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtYXN5bmNhcnJvd2Z1bmN0aW9u
LTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9w
YXJlbnRoZXNpemVkLWFzeW5jYXJyb3dmdW5jdGlvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1hc3luY2Fycm93ZnVu
Y3Rpb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0
eXBlL3BhcmVudGhlc2l6ZWQtYXN5bmNhcnJvd2Z1bmN0aW9uLTMuanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWFzeW5jYXJy
b3dmdW5jdGlvbi00LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRh
cmdldHR5cGUvcGFyZW50aGVzaXplZC1hc3luY2Fycm93ZnVuY3Rpb24tNS5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtYXN5
bmNhcnJvd2Z1bmN0aW9uLTYuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25t
ZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWJpdHdpc2VhbmRleHByZXNzaW9uLWJpdHdpc2Ut
YW5kLWVxdWFsaXR5ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1iaXR3aXNlYW5kZXhwcmVzc2lvbi1i
aXR3aXNlLWFuZC1lcXVhbGl0eWV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtYml0d2lzZWFuZGV4cHJl
c3Npb24tYml0d2lzZS1hbmQtZXF1YWxpdHlleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWJpdHdpc2Vv
cmV4cHJlc3Npb24tYml0d2lzZS1vci1iaXR3aXNleG9yZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1i
aXR3aXNlb3JleHByZXNzaW9uLWJpdHdpc2Utb3ItYml0d2lzZXhvcmV4cHJlc3Npb24tMS5qcwot
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhl
c2l6ZWQtYml0d2lzZW9yZXhwcmVzc2lvbi1iaXR3aXNlLW9yLWJpdHdpc2V4b3JleHByZXNzaW9u
LTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9w
YXJlbnRoZXNpemVkLWJpdHdpc2V4b3JleHByZXNzaW9uLWJpdHdpc2UteG9yLWJpdHdpc2VhbmRl
eHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFy
Z2V0dHlwZS9wYXJlbnRoZXNpemVkLWJpdHdpc2V4b3JleHByZXNzaW9uLWJpdHdpc2UteG9yLWJp
dHdpc2VhbmRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWJpdHdpc2V4b3JleHByZXNzaW9uLWJpdHdp
c2UteG9yLWJpdHdpc2VhbmRleHByZXNzaW9uLTIuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWNhbGxleHByZXNzaW9uLWFy
Z3VtZW50cy5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0
eXBlL3BhcmVudGhlc2l6ZWQtY2FsbGV4cHJlc3Npb24tdGVtcGxhdGVsaXRlcmFsLmpzCi1NIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXpl
ZC1jb2FsZXNjZWV4cHJlc3Npb25oZWFkLWNvYWxlc2NlLWJpdHdpc2VvcmV4cHJlc3Npb24tMC5q
cwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVu
dGhlc2l6ZWQtY29hbGVzY2VleHByZXNzaW9uaGVhZC1jb2FsZXNjZS1iaXR3aXNlb3JleHByZXNz
aW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9wYXJlbnRoZXNpemVkLWNvYWxlc2NlZXhwcmVzc2lvbmhlYWQtY29hbGVzY2UtYml0d2lzZW9y
ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRh
cmdldHR5cGUvcGFyZW50aGVzaXplZC1lcXVhbGl0eWV4cHJlc3Npb24tYWJzdHJhY3QtZXF1YWwt
cmVsYXRpb25hbGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
c2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtZXF1YWxpdHlleHByZXNzaW9uLWFic3Ry
YWN0LWVxdWFsLXJlbGF0aW9uYWxleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWVxdWFsaXR5ZXhwcmVz
c2lvbi1hYnN0cmFjdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1lcXVh
bGl0eWV4cHJlc3Npb24tYWJzdHJhY3Qtbm90LWVxdWFsLXJlbGF0aW9uYWxleHByZXNzaW9uLTAu
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJl
bnRoZXNpemVkLWVxdWFsaXR5ZXhwcmVzc2lvbi1hYnN0cmFjdC1ub3QtZXF1YWwtcmVsYXRpb25h
bGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtZXF1YWxpdHlleHByZXNzaW9uLWFic3RyYWN0LW5vdC1l
cXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1lcXVhbGl0eWV4cHJlc3Npb24t
c3RyaWN0LWVxdWFsLXJlbGF0aW9uYWxleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWVxdWFsaXR5ZXhw
cmVzc2lvbi1zdHJpY3QtZXF1YWwtcmVsYXRpb25hbGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtZXF1
YWxpdHlleHByZXNzaW9uLXN0cmljdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVz
aXplZC1lcXVhbGl0eWV4cHJlc3Npb24tc3RyaWN0LW5vdC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVz
c2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5
cGUvcGFyZW50aGVzaXplZC1lcXVhbGl0eWV4cHJlc3Npb24tc3RyaWN0LW5vdC1lcXVhbC1yZWxh
dGlvbmFsZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdu
bWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1lcXVhbGl0eWV4cHJlc3Npb24tc3RyaWN0LW5v
dC1lcXVhbC1yZWxhdGlvbmFsZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1leHByZXNzaW9uLWNvbW1h
LWFzc2lnbm1lbnRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWV4cHJlc3Npb24tY29tbWEtYXNzaWdu
bWVudGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtZXhwcmVzc2lvbi1jb21tYS1hc3NpZ25tZW50ZXhw
cmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdl
dHR5cGUvcGFyZW50aGVzaXplZC1pZGVudGlmaWVycmVmZXJlbmNlLWFyZ3VtZW50cy1zdHJpY3Qu
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJl
bnRoZXNpemVkLWlkZW50aWZpZXJyZWZlcmVuY2UtZXZhbC1zdHJpY3QuanMKLU0gdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWltcG9y
dC5tZXRhLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5
cGUvcGFyZW50aGVzaXplZC1pbXBvcnRjYWxsLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHByZXNz
aW9uLWFzc2lnbm1lbnQtYXNzaWdubWVudGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtbGVmdGhhbmRz
aWRlZXhwcmVzc2lvbi1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTEuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVk
LWxlZnRoYW5kc2lkZWV4cHJlc3Npb24tYXNzaWdubWVudC1hc3NpZ25tZW50ZXhwcmVzc2lvbi0y
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFy
ZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHByZXNzaW9uLWNvYWxlc2NlLWFzc2lnbm1lbnQtYXNz
aWdubWVudGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2ln
bm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1jb2Fs
ZXNjZS1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWxlZnRoYW5k
c2lkZWV4cHJlc3Npb24tY29hbGVzY2UtYXNzaWdubWVudC1hc3NpZ25tZW50ZXhwcmVzc2lvbi0y
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFy
ZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHByZXNzaW9uLWxvZ2ljYWwtYW5kLWFzc2lnbm1lbnQt
YXNzaWdubWVudGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
c2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtbGVmdGhhbmRzaWRlZXhwcmVzc2lvbi1s
b2dpY2FsLWFuZC1hc3NpZ25tZW50LWFzc2lnbm1lbnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWxl
ZnRoYW5kc2lkZWV4cHJlc3Npb24tbG9naWNhbC1hbmQtYXNzaWdubWVudC1hc3NpZ25tZW50ZXhw
cmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdl
dHR5cGUvcGFyZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHByZXNzaW9uLWxvZ2ljYWwtb3ItYXNz
aWdubWVudC1hc3NpZ25tZW50ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHBy
ZXNzaW9uLWxvZ2ljYWwtb3ItYXNzaWdubWVudC1hc3NpZ25tZW50ZXhwcmVzc2lvbi0xLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVz
aXplZC1sZWZ0aGFuZHNpZGVleHByZXNzaW9uLWxvZ2ljYWwtb3ItYXNzaWdubWVudC1hc3NpZ25t
ZW50ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVu
dHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHByZXNzaW9uLW1pbnVzLW1p
bnVzLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUv
cGFyZW50aGVzaXplZC1sZWZ0aGFuZHNpZGVleHByZXNzaW9uLXBsdXMtcGx1cy5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQt
bG9naWNhbGFuZGV4cHJlc3Npb24tbG9naWNhbC1hbmQtYml0d2lzZW9yZXhwcmVzc2lvbi0wLmpz
Ci1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50
aGVzaXplZC1sb2dpY2FsYW5kZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC1iaXR3aXNlb3JleHByZXNz
aW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9wYXJlbnRoZXNpemVkLWxvZ2ljYWxhbmRleHByZXNzaW9uLWxvZ2ljYWwtYW5kLWJpdHdpc2Vv
cmV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtbG9naWNhbG9yZXhwcmVzc2lvbi1sb2dpY2FsLW9yLWxv
Z2ljYWxhbmRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLWxvZ2ljYWxvcmV4cHJlc3Npb24tbG9naWNh
bC1vci1sb2dpY2FsYW5kZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1sb2dpY2Fsb3JleHByZXNzaW9u
LWxvZ2ljYWwtb3ItbG9naWNhbGFuZGV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtbWVtYmVyZXhwcmVz
c2lvbi10ZW1wbGF0ZWxpdGVyYWwuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLW1pbnVzLW1pbnVzLXVuYXJ5ZXhwcmVzc2lv
bi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3Bh
cmVudGhlc2l6ZWQtbXVsdGlwbGljYXRpdmVleHByZXNzaW9uLW11bHRpcGxpY2F0aXZlb3BlcmF0
b3ItZXhwb25lbnRpYXRpb25leHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLW11bHRpcGxpY2F0aXZlZXhw
cmVzc2lvbi1tdWx0aXBsaWNhdGl2ZW9wZXJhdG9yLWV4cG9uZW50aWF0aW9uZXhwcmVzc2lvbi0x
LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFy
ZW50aGVzaXplZC1tdWx0aXBsaWNhdGl2ZWV4cHJlc3Npb24tbXVsdGlwbGljYXRpdmVvcGVyYXRv
ci1leHBvbmVudGlhdGlvbmV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtbXVsdGlwbGljYXRpdmVleHBy
ZXNzaW9uLW11bHRpcGxpY2F0aXZlb3BlcmF0b3ItZXhwb25lbnRpYXRpb25leHByZXNzaW9uLTMu
anMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJl
bnRoZXNpemVkLW11bHRpcGxpY2F0aXZlZXhwcmVzc2lvbi1tdWx0aXBsaWNhdGl2ZW9wZXJhdG9y
LWV4cG9uZW50aWF0aW9uZXhwcmVzc2lvbi00LmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1tdWx0aXBsaWNhdGl2ZWV4cHJl
c3Npb24tbXVsdGlwbGljYXRpdmVvcGVyYXRvci1leHBvbmVudGlhdGlvbmV4cHJlc3Npb24tNS5q
cwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVu
dGhlc2l6ZWQtbmV3LW1lbWJlcmV4cHJlc3Npb24tYXJndW1lbnRzLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1uZXctbmV3
ZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL3BhcmVudGhlc2l6ZWQtb3B0aW9uYWxleHByZXNzaW9uLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1wbHVzLXBs
dXMtdW5hcnlleHByZXNzaW9uLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdu
bWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1wcmltYXJ5ZXhwcmVzc2lvbi1hc3luY2Z1bmN0
aW9uZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcHJpbWFyeWV4cHJlc3Npb24tYXN5bmNnZW5lcmF0b3Jl
eHByZXNzaW9uLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdl
dHR5cGUvcGFyZW50aGVzaXplZC1wcmltYXJ5ZXhwcmVzc2lvbi1jbGFzc2V4cHJlc3Npb24uanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRo
ZXNpemVkLXByaW1hcnlleHByZXNzaW9uLWZ1bmN0aW9uZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcHJp
bWFyeWV4cHJlc3Npb24tZ2VuZXJhdG9yZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcHJpbWFyeWV4cHJl
c3Npb24tbGl0ZXJhbC1ib29sZWFuLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNz
aWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1wcmltYXJ5ZXhwcmVzc2lvbi1saXRlcmFs
LW51bGwuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlw
ZS9wYXJlbnRoZXNpemVkLXByaW1hcnlleHByZXNzaW9uLWxpdGVyYWwtbnVtZXJpYy5qcwotTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6
ZWQtcHJpbWFyeWV4cHJlc3Npb24tbGl0ZXJhbC1zdHJpbmcuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXByaW1hcnlleHBy
ZXNzaW9uLW9iamVjdGxpdGVyYWwuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXByaW1hcnlleHByZXNzaW9uLXJlZ3VsYXJl
eHByZXNzaW9ubGl0ZXJhbC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcHJpbWFyeWV4cHJlc3Npb24tdGVtcGxhdGVsaXRl
cmFsLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUv
cGFyZW50aGVzaXplZC1wcmltYXJ5ZXhwcmVzc2lvbi10aGlzLmpzCi1NIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlvbmFs
ZXhwcmVzc2lvbi1ncmVhdGVyLXRoYW4tb3ItZXF1YWwtdG8tc2hpZnRleHByZXNzaW9uLTAuanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRo
ZXNpemVkLXJlbGF0aW9uYWxleHByZXNzaW9uLWdyZWF0ZXItdGhhbi1vci1lcXVhbC10by1zaGlm
dGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcmVsYXRpb25hbGV4cHJlc3Npb24tZ3JlYXRlci10aGFu
LW9yLWVxdWFsLXRvLXNoaWZ0ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlvbmFsZXhwcmVz
c2lvbi1ncmVhdGVyLXRoYW4tc2hpZnRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXJlbGF0aW9uYWxl
eHByZXNzaW9uLWdyZWF0ZXItdGhhbi1zaGlmdGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcmVsYXRp
b25hbGV4cHJlc3Npb24tZ3JlYXRlci10aGFuLXNoaWZ0ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1y
ZWxhdGlvbmFsZXhwcmVzc2lvbi1pbi1zaGlmdGV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcmVsYXRp
b25hbGV4cHJlc3Npb24taW4tc2hpZnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXJlbGF0aW9uYWxl
eHByZXNzaW9uLWluLXNoaWZ0ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlvbmFsZXhwcmVz
c2lvbi1pbnN0YW5jZW9mLXNoaWZ0ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlvbmFsZXhw
cmVzc2lvbi1pbnN0YW5jZW9mLXNoaWZ0ZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlvbmFs
ZXhwcmVzc2lvbi1pbnN0YW5jZW9mLXNoaWZ0ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlv
bmFsZXhwcmVzc2lvbi1sZXNzLXRoYW4tb3ItZXF1YWwtdG8tc2hpZnRleHByZXNzaW9uLTAuanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRo
ZXNpemVkLXJlbGF0aW9uYWxleHByZXNzaW9uLWxlc3MtdGhhbi1vci1lcXVhbC10by1zaGlmdGV4
cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL3BhcmVudGhlc2l6ZWQtcmVsYXRpb25hbGV4cHJlc3Npb24tbGVzcy10aGFuLW9yLWVx
dWFsLXRvLXNoaWZ0ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1yZWxhdGlvbmFsZXhwcmVzc2lvbi1s
ZXNzLXRoYW4tc2hpZnRleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXJlbGF0aW9uYWxleHByZXNzaW9u
LWxlc3MtdGhhbi1zaGlmdGV4cHJlc3Npb24tMS5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtcmVsYXRpb25hbGV4cHJlc3Np
b24tbGVzcy10aGFuLXNoaWZ0ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1zaGlmdGV4cHJlc3Npb24t
Yml0d2lzZS1sZWZ0LWFkZGl0aXZlZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1zaGlmdGV4cHJlc3Np
b24tYml0d2lzZS1sZWZ0LWFkZGl0aXZlZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1zaGlmdGV4cHJl
c3Npb24tYml0d2lzZS1sZWZ0LWFkZGl0aXZlZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1zaGlmdGV4
cHJlc3Npb24tYml0d2lzZS1yaWdodC1hZGRpdGl2ZWV4cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtc2hp
ZnRleHByZXNzaW9uLWJpdHdpc2UtcmlnaHQtYWRkaXRpdmVleHByZXNzaW9uLTEuanMKLU0gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVk
LXNoaWZ0ZXhwcmVzc2lvbi1iaXR3aXNlLXJpZ2h0LWFkZGl0aXZlZXhwcmVzc2lvbi0yLmpzCi1N
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVz
aXplZC1zaGlmdGV4cHJlc3Npb24tdW5zaWduZWQtYml0d2lzZS1yaWdodC1hZGRpdGl2ZWV4cHJl
c3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0
eXBlL3BhcmVudGhlc2l6ZWQtc2hpZnRleHByZXNzaW9uLXVuc2lnbmVkLWJpdHdpc2UtcmlnaHQt
YWRkaXRpdmVleHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3Np
Z25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXNoaWZ0ZXhwcmVzc2lvbi11bnNpZ25lZC1i
aXR3aXNlLXJpZ2h0LWFkZGl0aXZlZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC1zaG9ydGNpcmN1aXRl
eHByZXNzaW9uLXF1ZXN0aW9uLWFzc2lnbm1lbnRleHByZXNzaW9uLWVsc2UtYXNzaWdubWVudGV4
cHJlc3Npb24tMC5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL3BhcmVudGhlc2l6ZWQtc2hvcnRjaXJjdWl0ZXhwcmVzc2lvbi1xdWVzdGlvbi1hc3Np
Z25tZW50ZXhwcmVzc2lvbi1lbHNlLWFzc2lnbm1lbnRleHByZXNzaW9uLTEuanMKLU0gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXNo
b3J0Y2lyY3VpdGV4cHJlc3Npb24tcXVlc3Rpb24tYXNzaWdubWVudGV4cHJlc3Npb24tZWxzZS1h
c3NpZ25tZW50ZXhwcmVzc2lvbi0yLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNz
aWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC11bmFyeWV4cHJlc3Npb24tZGVsZXRlLXVu
YXJ5ZXhwcmVzc2lvbi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0
YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtdW5hcnlleHByZXNzaW9uLWV4Y2xhbWF0aW9uLXVuYXJ5
ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRh
cmdldHR5cGUvcGFyZW50aGVzaXplZC11bmFyeWV4cHJlc3Npb24tZXhjbGFtYXRpb24tdW5hcnll
eHByZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFy
Z2V0dHlwZS9wYXJlbnRoZXNpemVkLXVuYXJ5ZXhwcmVzc2lvbi1leGNsYW1hdGlvbi11bmFyeWV4
cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJn
ZXR0eXBlL3BhcmVudGhlc2l6ZWQtdW5hcnlleHByZXNzaW9uLW1pbnVzLXVuYXJ5ZXhwcmVzc2lv
bi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUv
cGFyZW50aGVzaXplZC11bmFyeWV4cHJlc3Npb24tbWludXMtdW5hcnlleHByZXNzaW9uLTEuanMK
LU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRo
ZXNpemVkLXVuYXJ5ZXhwcmVzc2lvbi1taW51cy11bmFyeWV4cHJlc3Npb24tMi5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQt
dW5hcnlleHByZXNzaW9uLXBsdXMtdW5hcnlleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXVuYXJ5ZXhw
cmVzc2lvbi1wbHVzLXVuYXJ5ZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC11bmFyeWV4cHJlc3Npb24t
cGx1cy11bmFyeWV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
c2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtdW5hcnlleHByZXNzaW9uLXRpbGRlLXVu
YXJ5ZXhwcmVzc2lvbi0wLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVu
dHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC11bmFyeWV4cHJlc3Npb24tdGlsZGUtdW5hcnlleHBy
ZXNzaW9uLTEuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0
dHlwZS9wYXJlbnRoZXNpemVkLXVuYXJ5ZXhwcmVzc2lvbi10aWxkZS11bmFyeWV4cHJlc3Npb24t
Mi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3Bh
cmVudGhlc2l6ZWQtdW5hcnlleHByZXNzaW9uLXR5cGVvZi11bmFyeWV4cHJlc3Npb24tMC5qcwot
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhl
c2l6ZWQtdW5hcnlleHByZXNzaW9uLXR5cGVvZi11bmFyeWV4cHJlc3Npb24tMS5qcwotTSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQt
dW5hcnlleHByZXNzaW9uLXR5cGVvZi11bmFyeWV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtdW5hcnll
eHByZXNzaW9uLXZvaWQtdW5hcnlleHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXVuYXJ5ZXhwcmVzc2lv
bi12b2lkLXVuYXJ5ZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC11bmFyeWV4cHJlc3Npb24tdm9pZC11
bmFyeWV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQtdXBkYXRlZXhwcmVzc2lvbi1zdGFyLXN0YXItZXhw
b25lbnRpYXRpb25leHByZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3NpZ25tZW50dGFyZ2V0dHlwZS9wYXJlbnRoZXNpemVkLXVwZGF0ZWV4cHJlc3Npb24tc3Rhci1z
dGFyLWV4cG9uZW50aWF0aW9uZXhwcmVzc2lvbi0xLmpzCi1NIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXNzaWdubWVudHRhcmdldHR5cGUvcGFyZW50aGVzaXplZC11cGRhdGVleHByZXNzaW9u
LXN0YXItc3Rhci1leHBvbmVudGlhdGlvbmV4cHJlc3Npb24tMi5qcwotTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2Fzc2lnbm1lbnR0YXJnZXR0eXBlL3BhcmVudGhlc2l6ZWQteWllbGRleHBy
ZXNzaW9uLTAuanMKLU0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50dGFyZ2V0
dHlwZS9wYXJlbnRoZXNpemVkLXlpZWxkZXhwcmVzc2lvbi0xLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvaW4vcHJpdmF0ZS1maWVsZC1pbi1uZXN0ZWQuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9pbi9wcml2YXRlLWZpZWxkLWludmFsaWQtYXNzaWdubWVudC1yZWZlcmVu
Y2UuanMKLU0gdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9lYXJseS1kdXAtbGV4LmpzCi1BIHRl
c3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZWFybHktZHVwLXRvcC1mdW5jdGlvbi1hc3luYy1nZW5l
cmF0b3IuanMKLUEgdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9lYXJseS1kdXAtdG9wLWZ1bmN0
aW9uLWFzeW5jLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZWFybHktZHVwLXRvcC1m
dW5jdGlvbi1nZW5lcmF0b3IuanMKLUEgdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9lYXJseS1k
dXAtdG9wLWZ1bmN0aW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZp
bml0aW9uL2ZuLWxlbmd0aC1zdGF0aWMtcHJlY2VkZW5jZS1vcmRlci5qcwotTSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9mbi1sZW5ndGgtc3RhdGljLXByZWNlZGVu
Y2UuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2RlZmluaXRpb24vZm4tbmFt
ZS1zdGF0aWMtcHJlY2VkZW5jZS1vcmRlci5qcwotTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZGVmaW5pdGlvbi9mbi1uYW1lLXN0YXRpYy1wcmVjZWRlbmNlLmpzCi1BIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9nZXQtYWNjZXNzLW9mLW1pc3NpbmctcHJp
dmF0ZS1zdGF0aWMtZ2V0dGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9l
bGVtZW50cy9wcml2YXRlLW1ldGhvZC1kb3VibGUtaW5pdGlhbGlzYXRpb24tZ2V0LWFuZC1zZXQu
anMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtbWV0
aG9kLWRvdWJsZS1pbml0aWFsaXNhdGlvbi1nZXQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtbWV0aG9kLWRvdWJsZS1pbml0aWFsaXNhdGlvbi1z
ZXQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUt
bWV0aG9kLWRvdWJsZS1pbml0aWFsaXNhdGlvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1tZXRob2Qtbm90LXdyaXRhYmxlLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlLXN0YXRpYy1tZXRob2Qt
bm90LXdyaXRhYmxlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50
cy9wcml2YXRlZmllbGRzZXQtZXZhbHVhdGlvbi1vcmRlci0xLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlZmllbGRzZXQtZXZhbHVhdGlvbi1vcmRl
ci0yLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRl
ZmllbGRzZXQtZXZhbHVhdGlvbi1vcmRlci0zLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlZmllbGRzZXQtdHlwZWVycm9yLTEwLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlZmllbGRzZXQtdHlwZWVy
cm9yLTExLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2
YXRlZmllbGRzZXQtdHlwZWVycm9yLTYuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL3ByaXZhdGVmaWVsZHNldC10eXBlZXJyb3ItNy5qcwotQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZWZpZWxkc2V0LXR5cGVlcnJvci04
LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlZmll
bGRzZXQtdHlwZWVycm9yLTkuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Vs
ZW1lbnRzL3NldC1hY2Nlc3Mtb2YtbWlzc2luZy1wcml2YXRlLXN0YXRpYy1zZXR0ZXIuanMKLUEg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2Rlcml2ZWQtY2xhc3MtcmV0
dXJuLW92ZXJyaWRlLWNhdGNoLWZpbmFsbHktYXJyb3cuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2Rlcml2ZWQtY2xhc3MtcmV0dXJuLW92ZXJyaWRlLWNhdGNo
LWZpbmFsbHkuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2Rl
cml2ZWQtY2xhc3MtcmV0dXJuLW92ZXJyaWRlLWNhdGNoLXN1cGVyLWFycm93LmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy9kZXJpdmVkLWNsYXNzLXJldHVybi1v
dmVycmlkZS1jYXRjaC1zdXBlci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
c3ViY2xhc3MvZGVyaXZlZC1jbGFzcy1yZXR1cm4tb3ZlcnJpZGUtY2F0Y2guanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2Rlcml2ZWQtY2xhc3MtcmV0dXJuLW92
ZXJyaWRlLWZpbmFsbHktc3VwZXItYXJyb3cuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL3N1YmNsYXNzL2Rlcml2ZWQtY2xhc3MtcmV0dXJuLW92ZXJyaWRlLWZpbmFsbHktc3Vw
ZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzL2Rlcml2ZWQt
Y2xhc3MtcmV0dXJuLW92ZXJyaWRlLWZvci1vZi1hcnJvdy5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MvZGVyaXZlZC1jbGFzcy1yZXR1cm4tb3ZlcnJpZGUtZm9y
LW9mLmpzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NhbGwvdGNvLWNyb3NzLXJlYWxtLWNsYXNzLWNvbnN0cnVjdC5qcworRCB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NhbGwvdGNvLWNyb3NzLXJlYWxtLWNsYXNzLWRlcml2ZWQtY29u
c3RydWN0LmpzCitEIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVh
bG0tZnVuLWNhbGwuanMKK0QgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jYWxsL3Rjby1jcm9z
cy1yZWFsbS1mdW4tY29uc3RydWN0LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZGl2
aXNpb24vUzExLjUuMl9BNF9UOC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9u
ZW50aWF0aW9uL2FwcGx5aW5nLXRoZS1leHAtb3BlcmF0b3JfQTE1LmpzCitNIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYXBwbHlpbmctdGhlLWV4cC1vcGVyYXRvcl9B
MTkuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Jsb2NrL2xhYmVsZWQtY29udGludWUu
anMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3Rocm93L1MxMi4xM19BMl9UNS5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdHJ5L1MxMi4xNF9BMThfVDUuanMKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvY29tcGlsZS90aGlzLWNyb3NzLXJlYWxtLWluc3Rh
bmNlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL2NvbXBpbGUvdGhpcy1jcm9zcy1yZWFsbS1pbnN0YW5jZS5qcwppbmRleCBjYWI2MDk5
NjdmZTJkMzJmYjAxYjFlOGRhMjRmZDE1OTAxYTdhZjJkLi5jOGExZjc4OWVkMDdmNDc5NDBiODIx
ZTc3NGUyMDMxMDRhZWIwZGIzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5l
eEIvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvY29tcGlsZS90aGlzLWNyb3NzLXJlYWxtLWlu
c3RhbmNlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9jb21waWxlL3RoaXMtY3Jvc3MtcmVhbG0taW5zdGFuY2UuanMKQEAgLTIw
LDcgKzIwLDcgQEAKICk7CiAKIGFzc2VydC50aHJvd3MoCi0gIFR5cGVFcnJvciwKKyAgb3RoZXIu
VHlwZUVycm9yLAogICBmdW5jdGlvbiAoKSB7CiAgICAgb3RoZXIuUmVnRXhwLnByb3RvdHlwZS5j
b21waWxlLmNhbGwocmVnZXhwKTsKICAgfSwKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvU3ltYm9sLnRvU3RyaW5nVGFnLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9TeW1ib2wu
dG9TdHJpbmdUYWcuanMKaW5kZXggZWI3MWM0OWI1MGE3ZDc2NThlYjg5NWI1NDBlZDBmZWEzOTRl
ZDk0NS4uMGI4ZTVkNDNjOGVkNDk0ZTI3NTgzMzI5ZTM1NTc3MTY2OGY5MDU4MyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9TeW1i
b2wudG9TdHJpbmdUYWcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGFWaWV3L3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcuanMKQEAgLTE0LDcgKzE0LDExIEBA
CiBmZWF0dXJlczogW1N5bWJvbC50b1N0cmluZ1RhZ10KIC0tLSovCiAKLWFzc2VydC5zYW1lVmFs
dWUoRGF0YVZpZXcucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10sICdEYXRhVmlldycpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0YVZpZXcucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1Rh
Z10sCisgICdEYXRhVmlldycsCisgICdUaGUgdmFsdWUgb2YgRGF0YVZpZXcucHJvdG90eXBlW1N5
bWJvbC50b1N0cmluZ1RhZ10gaXMgZXhwZWN0ZWQgdG8gYmUgIkRhdGFWaWV3IicKKyk7CiAKIHZl
cmlmeU5vdEVudW1lcmFibGUoRGF0YVZpZXcucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcp
OwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0YVZpZXcucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdU
YWcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1
LjkuMi4xX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1Ljku
Mi4xX0ExLmpzCmluZGV4IDQwY2E5Y2JkNzk2ODc1MWEwNmMwYjZhMWI3ODk4MzljMDI4Y2FiN2Mu
LmYyOThhYmMyZjA1NWNjNmQyOTI4Y2VmM2NjM2FkNTVkMWI5M2MxOGIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjIuMV9BMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4yLjFfQTEuanMKQEAgLTks
NzMgKzksNjMgQEAKIGVzNWlkOiAxNS45LjIuMV9BMQogZGVzY3JpcHRpb246IENoZWNraW5nIHR5
cGUgb2YgcmV0dXJuZWQgdmFsdWUKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBEYXRl
KCksICJzdHJpbmciLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgRGF0ZSgpYCBpcyBleHBlY3RlZCB0
byBiZSAic3RyaW5nIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgRGF0ZSgxKSwgInN0cmlu
ZyIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBEYXRlKDEpYCBpcyBleHBlY3RlZCB0byBiZSAic3Ry
aW5nIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgRGF0ZSgxOTcwLCAxKSwgInN0cmluZyIs
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBEYXRlKDE5NzAsIDEpYCBpcyBleHBlY3RlZCB0byBiZSAi
c3RyaW5nIicpOwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgRGF0ZSgpICE9PSAic3RyaW5nIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdHlwZW9mIERhdGUoKSBzaG91bGQgYmUg
InN0cmluZyIsIGFjdHVhbCBpcyAnICsgKHR5cGVvZiBEYXRlKCkpKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEpLAorICAic3RyaW5nIiwKKyAgJ1RoZSB2
YWx1ZSBvZiBgdHlwZW9mIERhdGUoMTk3MCwgMSwgMSlgIGlzIGV4cGVjdGVkIHRvIGJlICJzdHJp
bmciJworKTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIERhdGUoMSkgIT09ICJzdHJpbmciKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0eXBlb2YgRGF0ZSgxKSBzaG91bGQgYmUg
InN0cmluZyIsIGFjdHVhbCBpcyAnICsgKHR5cGVvZiBEYXRlKDEpKSk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSwKKyAgInN0cmluZyIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEpYCBpcyBleHBlY3RlZCB0byBi
ZSAic3RyaW5nIicKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBEYXRlKDE5NzAsIDEpICE9
PSAic3RyaW5nIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogdHlwZW9mIERhdGUo
MTk3MCwgMSkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMgJyArICh0eXBlb2YgRGF0ZSgx
OTcwLCAxKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIERhdGUoMTk3MCwgMSwg
MSwgMSksCisgICJzdHJpbmciLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgRGF0ZSgxOTcwLCAx
LCAxLCAxKWAgaXMgZXhwZWN0ZWQgdG8gYmUgInN0cmluZyInCispOwogCi0vL0NIRUNLIzQKLWlm
ICh0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxKSAhPT0gInN0cmluZyIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEpIHNob3VsZCBiZSAic3RyaW5n
IiwgYWN0dWFsIGlzICcgKyAodHlwZW9mIERhdGUoMTk3MCwgMSwgMSkpKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDApLAorICAic3RyaW5nIiwK
KyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMClgIGlzIGV4cGVj
dGVkIHRvIGJlICJzdHJpbmciJworKTsKIAotLy9DSEVDSyM1Ci1pZiAodHlwZW9mIERhdGUoMTk3
MCwgMSwgMSwgMSkgIT09ICJzdHJpbmciKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1
OiB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBp
cyAnICsgKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwKSwKKyAgInN0cmluZyIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApYCBpcyBleHBlY3Rl
ZCB0byBiZSAic3RyaW5nIicKKyk7CiAKLS8vQ0hFQ0sjNgotaWYgKHR5cGVvZiBEYXRlKDE5NzAs
IDEsIDEsIDEpICE9PSAic3RyaW5nIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzog
dHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMg
JyArICh0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCwgMCksCisgICJzdHJpbmciLAorICAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwLCAwKWAgaXMgZXhw
ZWN0ZWQgdG8gYmUgInN0cmluZyInCispOwogCi0vL0NIRUNLIzgKLWlmICh0eXBlb2YgRGF0ZSgx
OTcwLCAxLCAxLCAxLCAwKSAhPT0gInN0cmluZyIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzg6IHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDApIHNob3VsZCBiZSAic3RyaW5nIiwg
YWN0dWFsIGlzICcgKyAodHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCkpKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiBEYXRlKE51bWJlci5OYU4pLAorICAic3RyaW5nIiwKKyAg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIERhdGUoTnVtYmVyLk5hTilgIGlzIGV4cGVjdGVkIHRvIGJl
ICJzdHJpbmciJworKTsKIAotLy9DSEVDSyM5Ci1pZiAodHlwZW9mIERhdGUoMTk3MCwgMSwgMSwg
MSwgMCwgMCkgIT09ICJzdHJpbmciKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5OiB0
eXBlb2YgRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVh
bCBpcyAnICsgKHR5cGVvZiBEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApKSk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICB0eXBlb2YgRGF0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLAorICAi
c3RyaW5nIiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIERhdGUoTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKWAgaXMgZXhwZWN0ZWQgdG8gYmUgInN0cmluZyInCispOwogCi0vL0NIRUNLIzEwCi1p
ZiAodHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCwgMCkgIT09ICJzdHJpbmciKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMDogdHlwZW9mIERhdGUoMTk3MCwgMSwgMSwgMSwg
MCwgMCwgMCkgc2hvdWxkIGJlICJzdHJpbmciLCBhY3R1YWwgaXMgJyArICh0eXBlb2YgRGF0ZSgx
OTcwLCAxLCAxLCAxLCAwLCAwLCAwKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9m
IERhdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSwKKyAgInN0cmluZyIsCisgICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBEYXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSlgIGlzIGV4cGVjdGVk
IHRvIGJlICJzdHJpbmciJworKTsKIAotLy9DSEVDSyMxMQotaWYgKHR5cGVvZiBEYXRlKE51bWJl
ci5OYU4pICE9PSAic3RyaW5nIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTE6IHR5
cGVvZiBEYXRlKE51bWJlci5OYU4pIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcgKyAo
dHlwZW9mIERhdGUoTnVtYmVyLk5hTikpKTsKLX0KLQotLy9DSEVDSyMxMgotaWYgKHR5cGVvZiBE
YXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09ICJzdHJpbmciKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxMjogdHlwZW9mIERhdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
KSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnICsgKHR5cGVvZiBEYXRlKE51bWJlci5Q
T1NJVElWRV9JTkZJTklUWSkpKTsKLX0KLQotLy9DSEVDSyMxMwotaWYgKHR5cGVvZiBEYXRlKE51
bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09ICJzdHJpbmciKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxMzogdHlwZW9mIERhdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSBzaG91
bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnICsgKHR5cGVvZiBEYXRlKE51bWJlci5ORUdBVElW
RV9JTkZJTklUWSkpKTsKLX0KLQotLy9DSEVDSyMxNAotaWYgKHR5cGVvZiBEYXRlKHVuZGVmaW5l
ZCkgIT09ICJzdHJpbmciKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxNDogdHlwZW9m
IERhdGUodW5kZWZpbmVkKSBzaG91bGQgYmUgInN0cmluZyIsIGFjdHVhbCBpcyAnICsgKHR5cGVv
ZiBEYXRlKHVuZGVmaW5lZCkpKTsKLX0KLQotLy9DSEVDSyMxNQotaWYgKHR5cGVvZiBEYXRlKG51
bGwpICE9PSAic3RyaW5nIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTU6IHR5cGVv
ZiBEYXRlKG51bGwpIHNob3VsZCBiZSAic3RyaW5nIiwgYWN0dWFsIGlzICcgKyAodHlwZW9mIERh
dGUobnVsbCkpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIERhdGUodW5kZWZpbmVkKSwg
InN0cmluZyIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBEYXRlKHVuZGVmaW5lZClgIGlzIGV4cGVj
dGVkIHRvIGJlICJzdHJpbmciJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBEYXRlKG51bGwp
LCAic3RyaW5nIiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIERhdGUobnVsbClgIGlzIGV4cGVjdGVk
IHRvIGJlICJzdHJpbmciJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9TMTUuOS4yLjFfQTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS4yLjFfQTIuanMKaW5kZXggM2IwNmRmYjBjOTBkNzk3ZTdiZWRkYjVjNzhk
ODg3Yjc1YTk4M2IzYy4uNjJhN2E1ZmQyZjhkNWRkZTJkZGIxM2Y2Yjk5NWI1YjIwMmQ2N2U3ZCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMi4x
X0EyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjIu
MV9BMi5qcwpAQCAtMjEsNzIgKzIxLDcyIEBAIGZ1bmN0aW9uIGlzRXF1YWwoZDEsIGQyKSB7CiAg
IH0KIH0KIAotLy9DSEVDSyMxCi1pZiAoIWlzRXF1YWwoRGF0ZSgpLCAobmV3IERhdGUoKSkudG9T
dHJpbmcoKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IERhdGUoKSBpcyBlcXVh
bCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwotfQotCi0vL0NIRUNLIzIKLWlmICghaXNF
cXVhbChEYXRlKDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IERhdGUoMSkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5n
KCknKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoIWlzRXF1YWwoRGF0ZSgxOTcwLCAxKSwgKG5ldyBE
YXRlKCkpLnRvU3RyaW5nKCkpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBEYXRl
KDE5NzAsIDEpIGlzIGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Ci19Ci0KLS8v
Q0hFQ0sjNAotaWYgKCFpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSksIChuZXcgRGF0ZSgpKS50b1N0
cmluZygpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogRGF0ZSgxOTcwLCAxLCAx
KSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwotfQotCi0vL0NIRUNLIzUK
LWlmICghaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmco
KSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IERhdGUoMTk3MCwgMSwgMSwgMSkg
aXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKLX0KLQotLy9DSEVDSyM2Ci1p
ZiAoIWlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxLCAxKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiBEYXRlKDE5NzAsIDEsIDEsIDEpIGlz
IGVxdWFsIHRvIChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYg
KCFpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSwgMSwgMCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygp
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjODogRGF0ZSgxOTcwLCAxLCAxLCAxLCAw
KSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwotfQotCi0vL0NIRUNLIzkK
LWlmICghaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApLCAobmV3IERhdGUoKSkudG9T
dHJpbmcoKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzk6IERhdGUoMTk3MCwgMSwg
MSwgMSwgMCwgMCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKLX0KLQot
Ly9DSEVDSyMxMAotaWYgKCFpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCwgMCksIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6
IERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCwgMCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRv
U3RyaW5nKCknKTsKLX0KLQotLy9DSEVDSyMxMQotaWYgKCFpc0VxdWFsKERhdGUoTnVtYmVyLk5h
TiksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTE6IERhdGUoTnVtYmVyLk5hTikgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5n
KCknKTsKLX0KLQotLy9DSEVDSyMxMgotaWYgKCFpc0VxdWFsKERhdGUoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxMjogRGF0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIGlzIGVxdWFsIHRv
IChuZXcgRGF0ZSgpKS50b1N0cmluZygpJyk7Ci19Ci0KLS8vQ0hFQ0sjMTMKLWlmICghaXNFcXVh
bChEYXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygp
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTM6IERhdGUoTnVtYmVyLk5FR0FUSVZF
X0lORklOSVRZKSBpcyBlcXVhbCB0byAobmV3IERhdGUoKSkudG9TdHJpbmcoKScpOwotfQotCi0v
L0NIRUNLIzE0Ci1pZiAoIWlzRXF1YWwoRGF0ZSh1bmRlZmluZWQpLCAobmV3IERhdGUoKSkudG9T
dHJpbmcoKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE0OiBEYXRlKHVuZGVmaW5l
ZCkgaXMgZXF1YWwgdG8gKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKLX0KLQotLy9DSEVDSyMx
NQotaWYgKCFpc0VxdWFsKERhdGUobnVsbCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTU6IERhdGUobnVsbCkgaXMgZXF1YWwgdG8gKG5l
dyBEYXRlKCkpLnRvU3RyaW5nKCknKTsKLX0KK2Fzc2VydCgKKyAgaXNFcXVhbChEYXRlKCksIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpKSwKKyAgJ2lzRXF1YWwoRGF0ZSgpLCAobmV3IERhdGUoKSku
dG9TdHJpbmcoKSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fzc2VydCgKKyAgaXNFcXVhbChE
YXRlKDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSksCisgICdpc0VxdWFsKERhdGUoMSksIChu
ZXcgRGF0ZSgpKS50b1N0cmluZygpKSBtdXN0IHJldHVybiB0cnVlJworKTsKKworYXNzZXJ0KAor
ICBpc0VxdWFsKERhdGUoMTk3MCwgMSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSwKKyAgJ2lz
RXF1YWwoRGF0ZSgxOTcwLCAxKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpIG11c3QgcmV0dXJu
IHRydWUnCispOworCithc3NlcnQoCisgIGlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxKSwgKG5ldyBE
YXRlKCkpLnRvU3RyaW5nKCkpLAorICAnaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEpLCAobmV3IERh
dGUoKSkudG9TdHJpbmcoKSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fzc2VydCgKKyAgaXNF
cXVhbChEYXRlKDE5NzAsIDEsIDEsIDEpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSksCisgICdp
c0VxdWFsKERhdGUoMTk3MCwgMSwgMSwgMSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSBtdXN0
IHJldHVybiB0cnVlJworKTsKKworYXNzZXJ0KAorICBpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSwg
MSksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSwKKyAgJ2lzRXF1YWwoRGF0ZSgxOTcwLCAxLCAx
LCAxKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpIG11c3QgcmV0dXJuIHRydWUnCispOworCith
c3NlcnQoCisgIGlzRXF1YWwoRGF0ZSgxOTcwLCAxLCAxLCAxLCAwKSwgKG5ldyBEYXRlKCkpLnRv
U3RyaW5nKCkpLAorICAnaXNFcXVhbChEYXRlKDE5NzAsIDEsIDEsIDEsIDApLCAobmV3IERhdGUo
KSkudG9TdHJpbmcoKSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fzc2VydCgKKyAgaXNFcXVh
bChEYXRlKDE5NzAsIDEsIDEsIDEsIDAsIDApLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSksCisg
ICdpc0VxdWFsKERhdGUoMTk3MCwgMSwgMSwgMSwgMCwgMCksIChuZXcgRGF0ZSgpKS50b1N0cmlu
ZygpKSBtdXN0IHJldHVybiB0cnVlJworKTsKKworYXNzZXJ0KAorICBpc0VxdWFsKERhdGUoMTk3
MCwgMSwgMSwgMSwgMCwgMCwgMCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygpKSwKKyAgJ2lzRXF1
YWwoRGF0ZSgxOTcwLCAxLCAxLCAxLCAwLCAwLCAwKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkp
IG11c3QgcmV0dXJuIHRydWUnCispOworCithc3NlcnQoCisgIGlzRXF1YWwoRGF0ZShOdW1iZXIu
TmFOKSwgKG5ldyBEYXRlKCkpLnRvU3RyaW5nKCkpLAorICAnaXNFcXVhbChEYXRlKE51bWJlci5O
YU4pLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fz
c2VydCgKKyAgaXNFcXVhbChEYXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSksIChuZXcgRGF0
ZSgpKS50b1N0cmluZygpKSwKKyAgJ2lzRXF1YWwoRGF0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5J
VFkpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fz
c2VydCgKKyAgaXNFcXVhbChEYXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSksIChuZXcgRGF0
ZSgpKS50b1N0cmluZygpKSwKKyAgJ2lzRXF1YWwoRGF0ZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5J
VFkpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fz
c2VydCgKKyAgaXNFcXVhbChEYXRlKHVuZGVmaW5lZCksIChuZXcgRGF0ZSgpKS50b1N0cmluZygp
KSwKKyAgJ2lzRXF1YWwoRGF0ZSh1bmRlZmluZWQpLCAobmV3IERhdGUoKSkudG9TdHJpbmcoKSkg
bXVzdCByZXR1cm4gdHJ1ZScKKyk7CisKK2Fzc2VydCgKKyAgaXNFcXVhbChEYXRlKG51bGwpLCAo
bmV3IERhdGUoKSkudG9TdHJpbmcoKSksCisgICdpc0VxdWFsKERhdGUobnVsbCksIChuZXcgRGF0
ZSgpKS50b1N0cmluZygpKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UMS5qcwppbmRleCA3
ZTM5MzRmYjRiNGE5M2UxMGZlMDRjMjJlNGMxYjYwN2RhMWU0ZjY4Li5hM2E0ODFjMzRmZTA3ZDcw
YTQxYzAzNmI1Y2E5ZTIxNzcwYTliNzU3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0ExX1QxLmpzCkBAIC05LDIxOCArOSwxNzAg
QEAKIGRlc2NyaXB0aW9uOiAyIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoKQogLS0tKi8KIAotaWYg
KHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiMxLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSkgc2hvdWxkIGJlICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMTg5OSwg
MTEpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE4OTks
IDExKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTg5
OSwgMTEpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMjog
bmV3IERhdGUoMTg5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQu
bm90U2FtZVZhbHVlKG5ldyBEYXRlKDE4OTksIDExKSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMTg5
OSwgMTEpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKIHZhciB4
MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSk7Ci1pZiAodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEx
KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgxMywg
Im9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTNgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJyk7CiAKIHZhciB4MTQgPSBuZXcgRGF0ZSgxODk5LCAxMSk7Ci1pZiAoeDE0ID09PSB1
bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuNDogbmV3IERhdGUoMTg5
OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVl
KHgxNCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHgxNCBpcyBleHBlY3RlZCB0byBub3QgZXF1
YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyKSAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIG5ldyBE
YXRlKDE4OTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVl
IG9mIGB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxODk5LCAxMikgPT09IHVuZGVmaW5lZCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjMi4yOiBuZXcgRGF0ZSgxODk5LCAxMikgc2hvdWxkIG5vdCBi
ZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUobmV3IERhdGUoMTg5OSwgMTIp
LCB1bmRlZmluZWQsICduZXcgRGF0ZSgxODk5LCAxMikgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFs
IGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyKTsKLWlmICh0
eXBlb2YgeDIzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi4z
OiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDIzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IHgyM2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgyNCA9IG5ldyBEYXRl
KDE4OTksIDEyKTsKLWlmICh4MjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQi
KTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDI0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Yg
eDI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBl
b2YgbmV3IERhdGUoMTkwMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCci
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSwKKyAg
Im9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKWAgaXMg
ZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTkwMCwgMCkgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4yOiBuZXcgRGF0ZSgx
OTAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1
ZShuZXcgRGF0ZSgxOTAwLCAwKSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMTkwMCwgMCkgaXMgZXhw
ZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHgzMyA9IG5ldyBEYXRl
KDE5MDAsIDApOwotaWYgKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiMzLjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgzMywgIm9iamVjdCIsICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiB4MzNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZh
ciB4MzQgPSBuZXcgRGF0ZSgxOTAwLCAwKTsKLWlmICh4MzQgPT09IHVuZGVmaW5lZCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy40OiBuZXcgRGF0ZSgxOTAwLCAwKSBzaG91bGQgbm90
IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MzQsIHVuZGVmaW5lZCwg
J1RoZSB2YWx1ZSBvZiB4MzQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAn
KTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSkgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSkgc2hv
dWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERh
dGUoMTk2OSwgMTEpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBE
YXRlKDE5NjksIDExKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3
IERhdGUoMTk2OSwgMTEpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzQuMjogbmV3IERhdGUoMTk2OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19
Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKDE5NjksIDExKSwgdW5kZWZpbmVkLCAnbmV3
IERhdGUoMTk2OSwgMTEpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7
CiAKIHZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7Ci1pZiAodHlwZW9mIHg0MyAhPT0gIm9i
amVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMzogdHlwZW9mIG5ldyBEYXRl
KDE5NjksIDExKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIHg0MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4NDNgIGlzIGV4cGVjdGVk
IHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4NDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7Ci1pZiAo
eDQ0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuNDogbmV3
IERhdGUoMTk2OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90
U2FtZVZhbHVlKHg0NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg0NCBpcyBleHBlY3RlZCB0
byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5Njks
IDEyKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlw
ZW9mIG5ldyBEYXRlKDE5NjksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiksCisgICJvYmplY3QiLAorICAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIpYCBpcyBleHBlY3RlZCB0byBi
ZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxOTY5LCAxMikgPT09IHVuZGVmaW5lZCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMikgc2hv
dWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUobmV3IERhdGUo
MTk2OSwgMTIpLCB1bmRlZmluZWQsICduZXcgRGF0ZSgxOTY5LCAxMikgaXMgZXhwZWN0ZWQgdG8g
bm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEy
KTsKLWlmICh0eXBlb2YgeDUzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIpIHNob3VsZCBiZSAnb2JqZWN0JyIp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDUzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIHg1M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg1NCA9
IG5ldyBEYXRlKDE5NjksIDEyKTsKLWlmICh4NTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMikgc2hvdWxkIG5vdCBiZSB1
bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDU0LCB1bmRlZmluZWQsICdUaGUg
dmFsdWUgb2YgeDU0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAK
LWlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwKSBzaG91bGQgYmUg
J29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTcw
LCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTcw
LCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTk3
MCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi4yOiBu
ZXcgRGF0ZSgxOTcwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5v
dFNhbWVWYWx1ZShuZXcgRGF0ZSgxOTcwLCAwKSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMTk3MCwg
MCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg2MyA9
IG5ldyBEYXRlKDE5NzAsIDApOwotaWYgKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwKSBzaG91
bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg2MywgIm9iamVj
dCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4NjNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3Qi
Jyk7CiAKIHZhciB4NjQgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKLWlmICh4NjQgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwKSBz
aG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4NjQsIHVu
ZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4NjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5k
ZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSkgIT09ICJvYmplY3Qi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5
LCAxMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBl
b2YgbmV3IERhdGUoMTk5OSwgMTEpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIG5ldyBEYXRlKDE5OTksIDExKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwog
Ci1pZiAobmV3IERhdGUoMTk5OSwgMTEpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzcuMjogbmV3IERhdGUoMTk5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZp
bmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKDE5OTksIDExKSwgdW5kZWZp
bmVkLCAnbmV3IERhdGUoMTk5OSwgMTEpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVm
aW5lZGBgJyk7CiAKIHZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7Ci1pZiAodHlwZW9mIHg3
MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcuMzogdHlwZW9m
IG5ldyBEYXRlKDE5OTksIDExKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUodHlwZW9mIHg3MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4NzNgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4NzQgPSBuZXcgRGF0ZSgxOTk5LCAx
MSk7Ci1pZiAoeDc0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzcuNDogbmV3IERhdGUoMTk5OSwgMTEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKHg3NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg3NCBpcyBl
eHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBE
YXRlKDE5OTksIDEyKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiksCisgICJvYmpl
Y3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIpYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxOTk5LCAxMikgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC4yOiBuZXcgRGF0ZSgxOTk5
LCAxMikgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
bmV3IERhdGUoMTk5OSwgMTIpLCB1bmRlZmluZWQsICduZXcgRGF0ZSgxOTk5LCAxMikgaXMgZXhw
ZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg4MyA9IG5ldyBEYXRl
KDE5OTksIDEyKTsKLWlmICh0eXBlb2YgeDgzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjOC4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIpIHNob3VsZCBiZSAn
b2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDgzLCAib2JqZWN0IiwgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIHg4M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAog
dmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyKTsKLWlmICh4ODQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC40OiBuZXcgRGF0ZSgxOTk5LCAxMikgc2hvdWxk
IG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDg0LCB1bmRlZmlu
ZWQsICdUaGUgdmFsdWUgb2YgeDg0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5l
ZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwKSBz
aG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcg
RGF0ZSgyMDAwLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcg
RGF0ZSgyMDAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3
IERhdGUoMjAwMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgyMDAwLCAwKSwgdW5kZWZpbmVkLCAnbmV3IERh
dGUoMjAwMCwgMCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAog
dmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDApOwotaWYgKHR5cGVvZiB4OTMgIT09ICJvYmplY3Qi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAw
LCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg5
MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTNgIGlzIGV4cGVjdGVkIHRvIGJl
ICJvYmplY3QiJyk7CiAKIHZhciB4OTQgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKLWlmICh4OTQgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS40OiBuZXcgRGF0ZSgy
MDAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1
ZSh4OTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4OTQgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSkgIT09
ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4xOiB0eXBlb2YgbmV3
IERhdGUoMjA5OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmpl
Y3QiJworKTsKIAotaWYgKG5ldyBEYXRlKDIwOTksIDExKSA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSkgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUobmV3IERhdGUoMjA5OSwg
MTEpLCB1bmRlZmluZWQsICduZXcgRGF0ZSgyMDk5LCAxMSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSk7Ci1p
ZiAodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiMxMC4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDEwMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiB4MTAzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDEwNCA9
IG5ldyBEYXRlKDIwOTksIDExKTsKLWlmICh4MTA0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzEwLjQ6IG5ldyBEYXRlKDIwOTksIDExKSBzaG91bGQgbm90IGJl
IHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MTA0LCB1bmRlZmluZWQsICdU
aGUgdmFsdWUgb2YgeDEwNCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcp
OwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMikgc2hv
dWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERh
dGUoMjA5OSwgMTIpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBE
YXRlKDIwOTksIDEyKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3
IERhdGUoMjA5OSwgMTIpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgyMDk5LCAxMiksIHVuZGVmaW5lZCwgJ25l
dyBEYXRlKDIwOTksIDEyKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcp
OwogCiB2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyKTsKLWlmICh0eXBlb2YgeDExMyAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjM6IHR5cGVvZiBuZXcg
RGF0ZSgyMDk5LCAxMikgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiB4MTEzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMTNgIGlzIGV4
cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIp
OwotaWYgKHgxMTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MTEuNDogbmV3IERhdGUoMjA5OSwgMTIpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKHgxMTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MTE0IGlz
IGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3
IERhdGUoMjEwMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCksCisgICJvYmpl
Y3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMClgIGlzIGV4cGVj
dGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5ldyBEYXRlKDIxMDAsIDApID09PSB1bmRl
ZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEyLjI6IG5ldyBEYXRlKDIxMDAs
IDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5l
dyBEYXRlKDIxMDAsIDApLCB1bmRlZmluZWQsICduZXcgRGF0ZSgyMTAwLCAwKSBpcyBleHBlY3Rl
ZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCiB2YXIgeDEyMyA9IG5ldyBEYXRlKDIx
MDAsIDApOwotaWYgKHR5cGVvZiB4MTIzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDApIHNob3VsZCBiZSAnb2Jq
ZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDEyMywgIm9iamVjdCIsICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiB4MTIzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2
YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDApOwotaWYgKHgxMjQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCkgc2hvdWxk
IG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDEyNCwgdW5kZWZp
bmVkLCAnVGhlIHZhbHVlIG9mIHgxMjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZp
bmVkYGAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BMV9UMi5qcwppbmRleCBmY2MyODFlMzg0Nzk4NDdjYTc3MzliYjVlZjhlNjgy
MTFhYzBjYzg2Li40YjEyZTk1MTYyYTU5NWZmMDNkMzkxNmYwMjQxZWM3OTY5ZmY0ZjNmIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTFf
VDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4x
X0ExX1QyLmpzCkBAIC05LDIxOCArOSwxNzAgQEAKIGRlc2NyaXB0aW9uOiAzIGFyZ3VtZW50cywg
KHllYXIsIG1vbnRoLCBkYXRlKQogLS0tKi8KIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAx
MSwgMzEpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMS4xOiB0
eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpLAorICAib2Jq
ZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSlgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5ldyBEYXRlKDE4OTksIDExLCAz
MSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMS4yOiBuZXcg
RGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQu
bm90U2FtZVZhbHVlKG5ldyBEYXRlKDE4OTksIDExLCAzMSksIHVuZGVmaW5lZCwgJ25ldyBEYXRl
KDE4OTksIDExLCAzMSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsK
IAogdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSk7Ci1pZiAodHlwZW9mIHgxMyAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMzogdHlwZW9mIG5ldyBE
YXRlKDE4OTksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiB4MTMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEzYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEs
IDMxKTsKLWlmICh4MTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMS40OiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7
Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxNCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHgx
NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9m
IG5ldyBEYXRlKDE4OTksIDEyLCAxKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxKSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAx
MiwgMSksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTg5
OSwgMTIsIDEpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0
ZSgxODk5LCAxMiwgMSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMi4yOiBuZXcgRGF0ZSgxODk5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsK
LX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUobmV3IERhdGUoMTg5OSwgMTIsIDEpLCB1bmRlZmluZWQs
ICduZXcgRGF0ZSgxODk5LCAxMiwgMSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZp
bmVkYGAnKTsKIAogdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyLCAxKTsKLWlmICh0eXBlb2Yg
eDIzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi4zOiB0eXBl
b2YgbmV3IERhdGUoMTg5OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSh0eXBlb2YgeDIzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgy
M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgyNCA9IG5ldyBEYXRlKDE4
OTksIDEyLCAxKTsKLWlmICh4MjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmlu
ZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDI0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUg
b2YgeDI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0
eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSBzaG91bGQgYmUg
J29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTAw
LCAwLCAxKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgx
OTAwLCAwLCAxKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERh
dGUoMTkwMCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgxOTAwLCAwLCAxKSwgdW5kZWZpbmVkLCAn
bmV3IERhdGUoMTkwMCwgMCwgMSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVk
YGAnKTsKIAogdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEpOwotaWYgKHR5cGVvZiB4MzMg
IT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjM6IHR5cGVvZiBu
ZXcgRGF0ZSgxOTAwLCAwLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUodHlwZW9mIHgzMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzNgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MzQgPSBuZXcgRGF0ZSgxOTAwLCAw
LCAxKTsKLWlmICh4MzQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMy40OiBuZXcgRGF0ZSgxOTAwLCAwLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MzQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MzQg
aXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBu
ZXcgRGF0ZSgxOTY5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjNC4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAx
MSwgMzEpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5
NjksIDExLCAzMSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5ldyBE
YXRlKDE5NjksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVk
Iik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKDE5NjksIDExLCAzMSksIHVuZGVm
aW5lZCwgJ25ldyBEYXRlKDE5NjksIDExLCAzMSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBg
dW5kZWZpbmVkYGAnKTsKIAogdmFyIHg0MyA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSk7Ci1pZiAo
dHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQu
MzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4NDMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0
eXBlb2YgeDQzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDQ0ID0gbmV3
IERhdGUoMTk2OSwgMTEsIDMxKTsKLWlmICh4NDQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNC40OiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpIHNob3VsZCBub3Qg
YmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHg0NCwgdW5kZWZpbmVkLCAn
VGhlIHZhbHVlIG9mIHg0NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcp
OwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxKSAhPT0gIm9iamVjdCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAx
KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBu
ZXcgRGF0ZSgxOTY5LCAxMiwgMSksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgbmV3IERhdGUoMTk2OSwgMTIsIDEpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7
CiAKLWlmIChuZXcgRGF0ZSgxOTY5LCAxMiwgMSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSkgc2hvdWxkIG5vdCBi
ZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUobmV3IERhdGUoMTk2OSwgMTIs
IDEpLCB1bmRlZmluZWQsICduZXcgRGF0ZSgxOTY5LCAxMiwgMSkgaXMgZXhwZWN0ZWQgdG8gbm90
IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyLCAx
KTsKLWlmICh0eXBlb2YgeDUzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEpIHNob3VsZCBiZSAnb2JqZWN0
JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDUzLCAib2JqZWN0IiwgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIHg1M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg1
NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKLWlmICh4NTQgPT09IHVuZGVmaW5lZCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSkgc2hvdWxk
IG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDU0LCB1bmRlZmlu
ZWQsICdUaGUgdmFsdWUgb2YgeDU0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5l
ZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSkgIT09ICJvYmplY3QiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAw
LCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCisp
OwogCi1pZiAobmV3IERhdGUoMTk3MCwgMCwgMSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSBzaG91bGQgbm90IGJl
IHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgxOTcwLCAwLCAx
KSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMTk3MCwgMCwgMSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEpOwot
aWYgKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg2MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiB4NjNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4NjQgPSBu
ZXcgRGF0ZSgxOTcwLCAwLCAxKTsKLWlmICh4NjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSBzaG91bGQgbm90IGJl
IHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4NjQsIHVuZGVmaW5lZCwgJ1Ro
ZSB2YWx1ZSBvZiB4NjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsK
IAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpICE9PSAib2JqZWN0IikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMx
KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBu
ZXcgRGF0ZSgxOTk5LCAxMSwgMzEpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJwor
KTsKIAotaWYgKG5ldyBEYXRlKDE5OTksIDExLCAzMSkgPT09IHVuZGVmaW5lZCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjNy4yOiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpIHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKDE5OTks
IDExLCAzMSksIHVuZGVmaW5lZCwgJ25ldyBEYXRlKDE5OTksIDExLCAzMSkgaXMgZXhwZWN0ZWQg
dG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg3MyA9IG5ldyBEYXRlKDE5OTks
IDExLCAzMSk7Ci1pZiAodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzcuMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSkgc2hvdWxkIGJl
ICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4NzMsICJvYmplY3QiLCAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgeDczYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwog
CiB2YXIgeDc0ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKLWlmICh4NzQgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwg
MzEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHg3
NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg3NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwg
YGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxKSAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIG5ldyBE
YXRlKDE5OTksIDEyLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSksCisgICJvYmplY3QiLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEpYCBpcyBleHBlY3RlZCB0byBi
ZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxOTk5LCAxMiwgMSkgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC4yOiBuZXcgRGF0ZSgxOTk5LCAxMiwg
MSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUobmV3
IERhdGUoMTk5OSwgMTIsIDEpLCB1bmRlZmluZWQsICduZXcgRGF0ZSgxOTk5LCAxMiwgMSkgaXMg
ZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg4MyA9IG5ldyBE
YXRlKDE5OTksIDEyLCAxKTsKLWlmICh0eXBlb2YgeDgzICE9PSAib2JqZWN0IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjOC4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEpIHNo
b3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDgzLCAib2Jq
ZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg4M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInKTsKIAogdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsKLWlmICh4ODQgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC40OiBuZXcgRGF0ZSgxOTk5
LCAxMiwgMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFs
dWUoeDg0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDg0IGlzIGV4cGVjdGVkIHRvIG5vdCBl
cXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSkg
IT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjE6IHR5cGVvZiBu
ZXcgRGF0ZSgyMDAwLCAwLCAxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxKSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxKWAgaXMgZXhwZWN0ZWQgdG8g
YmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMjAwMCwgMCwgMSkgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwLCAx
KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcg
RGF0ZSgyMDAwLCAwLCAxKSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMjAwMCwgMCwgMSkgaXMgZXhw
ZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg5MyA9IG5ldyBEYXRl
KDIwMDAsIDAsIDEpOwotaWYgKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxKSBzaG91bGQg
YmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg5MywgIm9iamVjdCIs
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7
CiAKIHZhciB4OTQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKLWlmICh4OTQgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS40OiBuZXcgRGF0ZSgyMDAwLCAwLCAx
KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4OTQs
IHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4OTQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBg
dW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpICE9PSAi
b2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTAuMTogdHlwZW9mIG5ldyBE
YXRlKDIwOTksIDExLCAzMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxKSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpYCBpcyBleHBlY3RlZCB0
byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEpID09PSB1bmRl
ZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwLjI6IG5ldyBEYXRlKDIwOTks
IDExLCAzMSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFs
dWUobmV3IERhdGUoMjA5OSwgMTEsIDMxKSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMjA5OSwgMTEs
IDMxKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCiB2YXIgeDEw
MyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSk7Ci1pZiAodHlwZW9mIHgxMDMgIT09ICJvYmplY3Qi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4zOiB0eXBlb2YgbmV3IERhdGUoMjA5
OSwgMTEsIDMxKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIHgxMDMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEwM2AgaXMgZXhwZWN0
ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgxMDQgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEp
OwotaWYgKHgxMDQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MTAuNDogbmV3IERhdGUoMjA5OSwgMTEsIDMxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MTA0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDEw
NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9m
IG5ldyBEYXRlKDIwOTksIDEyLCAxKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSkgc2hvdWxkIGJlICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjA5OSwg
MTIsIDEpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDIw
OTksIDEyLCAxKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERh
dGUoMjA5OSwgMTIsIDEpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIp
OwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgyMDk5LCAxMiwgMSksIHVuZGVmaW5l
ZCwgJ25ldyBEYXRlKDIwOTksIDEyLCAxKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRl
ZmluZWRgYCcpOwogCiB2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxKTsKLWlmICh0eXBl
b2YgeDExMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjM6
IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MTEzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIHgxMTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MTE0ID0gbmV3
IERhdGUoMjA5OSwgMTIsIDEpOwotaWYgKHgxMTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEpIHNob3VsZCBub3Qg
YmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxMTQsIHVuZGVmaW5lZCwg
J1RoZSB2YWx1ZSBvZiB4MTE0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBg
Jyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSkgIT09ICJvYmplY3QiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwg
MSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
bmV3IERhdGUoMjEwMCwgMCwgMSksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgbmV3IERhdGUoMjEwMCwgMCwgMSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsK
IAotaWYgKG5ldyBEYXRlKDIxMDAsIDAsIDEpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEyLjI6IG5ldyBEYXRlKDIxMDAsIDAsIDEpIHNob3VsZCBub3QgYmUg
dW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKDIxMDAsIDAsIDEp
LCB1bmRlZmluZWQsICduZXcgRGF0ZSgyMTAwLCAwLCAxKSBpcyBleHBlY3RlZCB0byBub3QgZXF1
YWwgYGB1bmRlZmluZWRgYCcpOwogCiB2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwot
aWYgKHR5cGVvZiB4MTIzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEpIHNob3VsZCBiZSAnb2JqZWN0JyIp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDEyMywgIm9iamVjdCIsICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiB4MTIzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDEy
NCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwotaWYgKHgxMjQgPT09IHVuZGVmaW5lZCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSkgc2hvdWxk
IG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDEyNCwgdW5kZWZp
bmVkLCAnVGhlIHZhbHVlIG9mIHgxMjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZp
bmVkYGAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L1MxNS45LjMuMV9BMV9UMy5qcwppbmRleCBjYTgzZTFjZjZjZmQ1OWRhN2UyMjAxMTk2N2EzNTc2
ZmYxNDE5NmM3Li5kNDQ0MTczNjdhMmJjZTBhNjZlM2U2ZTkwM2I0NTRjMzQ2OTMxM2YzIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTFf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4x
X0ExX1QzLmpzCkBAIC04LDIxOSArOCwyMDIgQEAKIGVzaWQ6IHNlYy1kYXRlLXllYXItbW9udGgt
ZGF0ZS1ob3Vycy1taW51dGVzLXNlY29uZHMtbXMKIGRlc2NyaXB0aW9uOiA0IGFyZ3VtZW50cywg
KHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKIC0tLSovCi0KLWlmICh0eXBlb2YgbmV3IERhdGUo
MTg5OSwgMTEsIDMxLCAyMykgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMxLjE6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KLQotaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpID09PSB1bmRlZmlu
ZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEs
IDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKWAgaXMgZXhwZWN0
ZWQgdG8gYmUgIm9iamVjdCInCispOworCithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0
ZSgxODk5LCAxMSwgMzEsIDIzKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTg5OSwgMTEs
IDMxLCAyMykgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2
YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMyk7Ci1pZiAodHlwZW9mIHgxMyAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMzogdHlwZW9mIG5ldyBE
YXRlKDE4OTksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgeDEzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxM2Ag
aXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgxNCA9IG5ldyBEYXRlKDE4OTks
IDExLCAzMSwgMjMpOwotaWYgKHgxNCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMxLjQ6IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUg
dW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxNCwgdW5kZWZpbmVkLCAnVGhl
IHZhbHVlIG9mIHgxNCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwog
Ci1pZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAx
LCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9m
IGB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2Jq
ZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCkgPT09IHVuZGVmaW5lZCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi4yOiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwg
MCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisg
IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTg5
OSwgMTIsIDEsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsK
IAogdmFyIHgyMyA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2YgeDIzICE9
PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi4zOiB0eXBlb2YgbmV3
IERhdGUoMTg5OSwgMTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgeDIzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyM2Ag
aXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTks
IDEyLCAxLCAwKTsKLWlmICh4MjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRl
ZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDI0LCB1bmRlZmluZWQsICdUaGUgdmFs
dWUgb2YgeDI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlm
ICh0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSBz
aG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcg
RGF0ZSgxOTAwLCAwLCAxLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCisp
OwogCi1pZiAobmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSBzaG91bGQg
bm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgxOTAw
LCAwLCAxLCAwKSwgdW5kZWZpbmVkLCAnbmV3IERhdGUoMTkwMCwgMCwgMSwgMCkgaXMgZXhwZWN0
ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHgzMyA9IG5ldyBEYXRlKDE5
MDAsIDAsIDEsIDApOwotaWYgKHR5cGVvZiB4MzMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiMzLjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKSBzaG91
bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgzMywgIm9iamVj
dCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3Qi
Jyk7CiAKIHZhciB4MzQgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKTsKLWlmICh4MzQgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy40OiBuZXcgRGF0ZSgxOTAw
LCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVW
YWx1ZSh4MzQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MzQgaXMgZXhwZWN0ZWQgdG8gbm90
IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwg
MzEsIDIzKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMTog
dHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMp
LAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEx
LCAzMSwgMjMpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0
ZSgxOTY5LCAxMSwgMzEsIDIzKSA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM0LjI6IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5k
ZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgxOTY5LCAxMSwg
MzEsIDIzKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMykgaXMg
ZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIgeDQzID0gbmV3
IERhdGUoMTk2OSwgMTEsIDMxLCAyMyk7Ci1pZiAodHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEx
LCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgeDQzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg0M2AgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg0NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMp
OwotaWYgKHg0NCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0
LjQ6IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7
Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHg0NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg0
NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9m
IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKSBzaG91bGQg
YmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgx
OTY5LCAxMiwgMSwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3
IERhdGUoMTk2OSwgMTIsIDEsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAK
LWlmIChuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE5
NjksIDEyLCAxLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAp
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg1MyA9
IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2YgeDUzICE9PSAib2JqZWN0Iikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwg
MTIsIDEsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgeDUzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1M2AgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg1NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsK
LWlmICh4NTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS40
OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0K
K2Fzc2VydC5ub3RTYW1lVmFsdWUoeDU0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDU0IGlz
IGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3
IERhdGUoMTk3MCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAw
LCAxLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgx
OTcwLCAwLCAxLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3
IERhdGUoMTk3MCwgMCwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVm
aW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSwg
dW5kZWZpbmVkLCAnbmV3IERhdGUoMTk3MCwgMCwgMSwgMCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKIAogdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAp
OwotaWYgKHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM2LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVj
dCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg2MywgIm9iamVjdCIsICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiB4NjNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4
NjQgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKLWlmICh4NjQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSBz
aG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4NjQsIHVu
ZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4NjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5k
ZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKSAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcuMTogdHlwZW9mIG5ldyBE
YXRlKDE5OTksIDExLCAzMSwgMjMpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpLAorICAib2JqZWN0
IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpYCBp
cyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxOTk5LCAxMSwg
MzEsIDIzKSA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjI6
IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19
Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKSwKKyAg
dW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMykgaXMgZXhwZWN0ZWQgdG8g
bm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIgeDczID0gbmV3IERhdGUoMTk5OSwg
MTEsIDMxLCAyMyk7Ci1pZiAodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzcuMzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpIHNo
b3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDczLCAib2Jq
ZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg3M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInKTsKIAogdmFyIHg3NCA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpOwotaWYgKHg3NCA9
PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjQ6IG5ldyBEYXRl
KDE5OTksIDExLCAzMSwgMjMpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQu
bm90U2FtZVZhbHVlKHg3NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg3NCBpcyBleHBlY3Rl
ZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5
OTksIDEyLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzguMTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCci
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwg
MCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk5OSwg
MTIsIDEsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0
ZSgxOTk5LCAxMiwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjOC4yOiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmlu
ZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAw
KSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApIGlzIGV4cGVjdGVk
IHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg4MyA9IG5ldyBEYXRlKDE5
OTksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2YgeDgzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjOC4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEsIDApIHNo
b3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDgzLCAib2Jq
ZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg4M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInKTsKIAogdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsKLWlmICh4ODQgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC40OiBuZXcgRGF0ZSgx
OTk5LCAxMiwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RT
YW1lVmFsdWUoeDg0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDg0IGlzIGV4cGVjdGVkIHRv
IG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwg
MCwgMSwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjE6
IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSwKKyAg
Im9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAw
KWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMjAwMCwg
MCwgMSwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4y
OiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSwgdW5kZWZpbmVkLCAn
bmV3IERhdGUoMjAwMCwgMCwgMSwgMCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZp
bmVkYGAnKTsKIAogdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwotaWYgKHR5cGVv
ZiB4OTMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjM6IHR5
cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUodHlwZW9mIHg5MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiB4OTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4OTQgPSBuZXcgRGF0
ZSgyMDAwLCAwLCAxLCAwKTsKLWlmICh4OTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjOS40OiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKSBzaG91bGQgbm90IGJl
IHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4OTQsIHVuZGVmaW5lZCwgJ1Ro
ZSB2YWx1ZSBvZiB4OTQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsK
IAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAx
MSwgMzEsIDIzKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSwKKyAgIm9iamVjdCIsCisgICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTAuMjogbmV3IERhdGUo
MjA5OSwgMTEsIDMxLCAyMykgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5u
b3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMpLAorICB1bmRlZmluZWQs
CisgICduZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwg
YGB1bmRlZmluZWRgYCcKKyk7CiAKIHZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAy
Myk7Ci1pZiAodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiMxMC4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykgc2hvdWxkIGJl
ICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MTAzLCAib2JqZWN0Iiwg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMDNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7
CiAKIHZhciB4MTA0ID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMyk7Ci1pZiAoeDEwNCA9PT0g
dW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC40OiBuZXcgRGF0ZSgy
MDk5LCAxMSwgMzEsIDIzKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5v
dFNhbWVWYWx1ZSh4MTA0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDEwNCBpcyBleHBlY3Rl
ZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDIw
OTksIDEyLCAxLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCkgc2hvdWxkIGJlICdvYmplY3Qn
Iik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEs
IDApLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDIwOTks
IDEyLCAxLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERh
dGUoMjA5OSwgMTIsIDEsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwKSBzaG91bGQgbm90IGJlIHVuZGVm
aW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERhdGUoMjA5OSwgMTIsIDEs
IDApLAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCkgaXMgZXhwZWN0
ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIgeDExMyA9IG5ldyBEYXRl
KDIwOTksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2YgeDExMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwg
MCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MTEz
LCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMTNgIGlzIGV4cGVjdGVkIHRvIGJl
ICJvYmplY3QiJyk7CiAKIHZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDApOwotaWYg
KHgxMTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuNDog
bmV3IERhdGUoMjA5OSwgMTIsIDEsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKHgxMTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MTE0IGlz
IGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3
IERhdGUoMjEwMCwgMCwgMSwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCkgc2hvdWxkIGJlICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjEwMCwg
MCwgMSwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUo
MjEwMCwgMCwgMSwgMClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5l
dyBEYXRlKDIxMDAsIDAsIDEsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzEyLjI6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApIHNob3VsZCBub3QgYmUgdW5k
ZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAp
LCB1bmRlZmluZWQsICduZXcgRGF0ZSgyMTAwLCAwLCAxLCAwKSBpcyBleHBlY3RlZCB0byBub3Qg
ZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCiB2YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEs
IDApOwotaWYgKHR5cGVvZiB4MTIzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMTIuMzogdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApIHNob3VsZCBiZSAn
b2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDEyMywgIm9iamVjdCIsICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiB4MTIzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwog
CiB2YXIgeDEyNCA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwotaWYgKHgxMjQgPT09IHVuZGVm
aW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuNDogbmV3IERhdGUoMjEwMCwg
MCwgMSwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFs
dWUoeDEyNCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHgxMjQgaXMgZXhwZWN0ZWQgdG8gbm90
IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UNC5qcwppbmRleCA4OGQ1ZmZiMjYxZmUxMmFl
YTIyMzE3ODFmMDBjOWYyNTM5ZGE0ZWVkLi42YTcxMDQwMDc0ZDk0MmQ4ZWY0OGUzOWZmMDNhYzZk
MmNjYmIzMjc3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9TMTUuOS4zLjFfQTFfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvUzE1LjkuMy4xX0ExX1Q0LmpzCkBAIC04LDIxOSArOCwyMTggQEAKIGVzaWQ6IHNlYy1k
YXRlLXllYXItbW9udGgtZGF0ZS1ob3Vycy1taW51dGVzLXNlY29uZHMtbXMKIGRlc2NyaXB0aW9u
OiA1IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKIC0tLSov
Ci0KLWlmICh0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpICE9PSAib2JqZWN0
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMS4xOiB0eXBlb2YgbmV3IERhdGUoMTg5
OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQotCi1pZiAobmV3IERh
dGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERh
dGUoMTg5OSwgMTEsIDMxLCAyMywgNTkpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KWAgaXMgZXhwZWN0ZWQgdG8gYmUg
Im9iamVjdCInCispOworCithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgxODk5LCAx
MSwgMzEsIDIzLCA1OSksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE4OTksIDExLCAzMSwg
MjMsIDU5KSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcKKyk7CiAKIHZh
ciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAodHlwZW9mIHgxMyAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMzogdHlwZW9mIG5l
dyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUodHlwZW9mIHgxMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiB4MTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MTQgPSBuZXcgRGF0
ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoeDE0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuNDogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTkp
IHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxNCwg
dW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHgxNCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1
bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKSAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIG5l
dyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCksCisgICJv
YmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAs
IDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxODk5
LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMi4yOiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmlu
ZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAw
LCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDApIGlzIGV4
cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgyMyA9IG5ldyBE
YXRlKDE4OTksIDEyLCAxLCAwLCAwKTsKLWlmICh0eXBlb2YgeDIzICE9PSAib2JqZWN0Iikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi4zOiB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIs
IDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgeDIzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyM2AgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAw
KTsKLWlmICh4MjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
Mi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQi
KTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDI0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Yg
eDI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBl
b2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSBz
aG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcg
RGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInCispOwogCi1pZiAobmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAw
LCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgK
KyAgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRl
KDE5MDAsIDAsIDEsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBg
JworKTsKIAogdmFyIHgzMyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApOwotaWYgKHR5cGVv
ZiB4MzMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjM6IHR5
cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgzMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiB4MzNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MzQgPSBuZXcg
RGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKLWlmICh4MzQgPT09IHVuZGVmaW5lZCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjMy40OiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKSBzaG91
bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MzQsIHVuZGVm
aW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MzQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZp
bmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSkgIT09
ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjE6IHR5cGVvZiBuZXcg
RGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpLAor
ICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAz
MSwgMjMsIDU5KWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERh
dGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzQuMjogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgx
OTY5LCAxMSwgMzEsIDIzLCA1OSksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE5NjksIDEx
LCAzMSwgMjMsIDU5KSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcKKyk7
CiAKIHZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAodHlwZW9m
IHg0MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMzogdHlw
ZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg0MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiB4NDNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4NDQgPSBu
ZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoeDQ0ID09PSB1bmRlZmluZWQpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuNDogbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAy
MywgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVl
KHg0NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg0NCBpcyBleHBlY3RlZCB0byBub3QgZXF1
YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAw
LCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlw
ZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCks
CisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIs
IDEsIDAsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0
ZSgxOTY5LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1
bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE5NjksIDEy
LCAxLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAp
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg1MyA9
IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKTsKLWlmICh0eXBlb2YgeDUzICE9PSAib2JqZWN0
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS4zOiB0eXBlb2YgbmV3IERhdGUoMTk2
OSwgMTIsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgeDUzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1M2AgaXMgZXhw
ZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg1NCA9IG5ldyBEYXRlKDE5NjksIDEyLCAx
LCAwLCAwKTsKLWlmICh4NTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRl
ZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDU0LCB1bmRlZmluZWQsICdUaGUgdmFs
dWUgb2YgeDU0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlm
ICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAw
LCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUg
Im9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCkgPT09IHVuZGVm
aW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAw
LCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVW
YWx1ZSgKKyAgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25l
dyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVm
aW5lZGBgJworKTsKIAogdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDApOwotaWYg
KHR5cGVvZiB4NjMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2
LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCci
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg2MywgIm9iamVjdCIsICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiB4NjNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4NjQg
PSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKTsKLWlmICh4NjQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAw
KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4NjQs
IHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4NjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBg
dW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1
OSkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjE6IHR5cGVv
ZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywg
NTkpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5OTks
IDExLCAzMSwgMjMsIDU5KWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAo
bmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzcuMjogbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTkpIHNo
b3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcg
RGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE5
OTksIDExLCAzMSwgMjMsIDU5KSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRg
YCcKKyk7CiAKIHZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAo
dHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcu
MzogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgYmUgJ29iamVj
dCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg3MywgIm9iamVjdCIsICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiB4NzNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4
NzQgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoeDc0ID09PSB1bmRlZmlu
ZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcuNDogbmV3IERhdGUoMTk5OSwgMTEs
IDMxLCAyMywgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2Ft
ZVZhbHVlKHg3NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg3NCBpcyBleHBlY3RlZCB0byBu
b3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEy
LCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzgu
MTogdHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCci
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwg
MCwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk5
OSwgMTIsIDEsIDAsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChu
ZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjOC4yOiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE5
OTksIDEyLCAxLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk5OSwgMTIsIDEs
IDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFy
IHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKTsKLWlmICh0eXBlb2YgeDgzICE9PSAi
b2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC4zOiB0eXBlb2YgbmV3IERh
dGUoMTk5OSwgMTIsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgeDgzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg4M2Ag
aXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg4NCA9IG5ldyBEYXRlKDE5OTks
IDEyLCAxLCAwLCAwKTsKLWlmICh4ODQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjOC40OiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIG5vdCBi
ZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDg0LCB1bmRlZmluZWQsICdU
aGUgdmFsdWUgb2YgeDg0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7
CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAw
LCAxLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4yOiBuZXcgRGF0ZSgy
MDAwLCAwLCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5v
dFNhbWVWYWx1ZSgKKyAgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCksCisgIHVuZGVmaW5lZCwK
KyAgJ25ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBg
YHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAp
OwotaWYgKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg5MywgIm9iamVjdCIsICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiB4OTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZh
ciB4OTQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKTsKLWlmICh4OTQgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS40OiBuZXcgRGF0ZSgyMDAwLCAwLCAx
LCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1
ZSh4OTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4OTQgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEs
IDIzLCA1OSkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4x
OiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpIHNob3VsZCBiZSAnb2JqZWN0
JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAz
MSwgMjMsIDU5KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0
ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsK
IAotaWYgKG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSA9PT0gdW5kZWZpbmVkKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4yOiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIz
LCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
CisgIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSwKKyAgdW5kZWZpbmVkLAorICAnbmV3
IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVu
ZGVmaW5lZGBgJworKTsKIAogdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1
OSk7Ci1pZiAodHlwZW9mIHgxMDMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiMxMC4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpIHNob3Vs
ZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDEwMywgIm9iamVj
dCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTAzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicpOwogCiB2YXIgeDEwNCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKLWlmICh4
MTA0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwLjQ6IG5l
dyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MTA0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDEw
NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9m
IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkg
c2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3
IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9i
amVjdCInCispOwogCi1pZiAobmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApID09PSB1bmRlZmlu
ZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjI6IG5ldyBEYXRlKDIwOTksIDEy
LCAxLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVW
YWx1ZSgKKyAgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApLAorICB1bmRlZmluZWQsCisgICdu
ZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5k
ZWZpbmVkYGAnCispOwogCiB2YXIgeDExMyA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKTsK
LWlmICh0eXBlb2YgeDExMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCkgc2hvdWxkIGJlICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MTEzLCAib2JqZWN0IiwgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAK
IHZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApOwotaWYgKHgxMTQgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuNDogbmV3IERhdGUoMjA5
OSwgMTIsIDEsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90
U2FtZVZhbHVlKHgxMTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MTE0IGlzIGV4cGVjdGVk
IHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjEw
MCwgMCwgMSwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiMxMi4xOiB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIGJlICdvYmpl
Y3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwg
MSwgMCwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUo
MjEwMCwgMCwgMSwgMCwgMClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYg
KG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEyLjI6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApIHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgy
MTAwLCAwLCAxLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMjEwMCwgMCwgMSwg
MCwgMCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIg
eDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwotaWYgKHR5cGVvZiB4MTIzICE9PSAi
b2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuMzogdHlwZW9mIG5ldyBE
YXRlKDIxMDAsIDAsIDEsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgeDEyMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTIz
YCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDEyNCA9IG5ldyBEYXRlKDIx
MDAsIDAsIDEsIDAsIDApOwotaWYgKHgxMjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCkgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDEyNCwgdW5kZWZpbmVk
LCAnVGhlIHZhbHVlIG9mIHgxMjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVk
YGAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMV9BMV9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMV9BMV9UNS5qcwppbmRleCA0ZTJjNzkxY2YxZWE5ODcwMWQ1MGIxNDE4NjBiMGVlZjY1
YmEwMzJkLi45MWIzMjNiOWRjMmU0MWFmNjI3YzcxNjYwYjQxNGNhOTQxZTIzNzQ1IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTFfVDUu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0Ex
X1Q1LmpzCkBAIC04LDIxOSArOCwyMTggQEAKIGVzaWQ6IHNlYy1kYXRlLXllYXItbW9udGgtZGF0
ZS1ob3Vycy1taW51dGVzLXNlY29uZHMtbXMKIGRlc2NyaXB0aW9uOiA2IGFyZ3VtZW50cywgKHll
YXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcykKIC0tLSovCi0KLWlmICh0
eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEx
LCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Ci0KLWlmIChuZXcgRGF0
ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEuMjogbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBz
aG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9m
IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSksCisgICJvYmplY3QiLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KWAgaXMg
ZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOworCithc3NlcnQubm90U2FtZVZhbHVlKAorICBu
ZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpLAorICB1bmRlZmluZWQsCisgICduZXcg
RGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBg
YHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMs
IDU5LCA1OSk7Ci1pZiAodHlwZW9mIHgxMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzEuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1
OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MTMs
ICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEzYCBpcyBleHBlY3RlZCB0byBiZSAi
b2JqZWN0IicpOwogCiB2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5
KTsKLWlmICh4MTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MS40OiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5k
ZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxNCwgdW5kZWZpbmVkLCAnVGhlIHZh
bHVlIG9mIHgxNCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1p
ZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEy
LCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCksCisgICJvYmplY3QiLAor
ICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDApYCBp
cyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgxODk5LCAxMiwg
MSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
Mi4yOiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmlu
ZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE4OTksIDEyLCAxLCAw
LCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAp
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgyMyA9
IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICh0eXBlb2YgeDIzICE9PSAib2Jq
ZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi4zOiB0eXBlb2YgbmV3IERhdGUo
MTg5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgeDIzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyM2Ag
aXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgyNCA9IG5ldyBEYXRlKDE4OTks
IDEyLCAxLCAwLCAwLCAwKTsKLWlmICh4MjQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMi40OiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxk
IG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDI0LCB1bmRlZmlu
ZWQsICdUaGUgdmFsdWUgb2YgeDI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5l
ZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCkgIT09ICJv
YmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiBuZXcgRGF0
ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSwKKyAgIm9i
amVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAw
LCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTkw
MCwgMCwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjMy4yOiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVu
ZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERhdGUoMTkwMCwgMCwg
MSwgMCwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAs
IDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgz
MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDApOwotaWYgKHR5cGVvZiB4MzMgIT09ICJv
YmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjM6IHR5cGVvZiBuZXcgRGF0
ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIHgzMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzNg
IGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MzQgPSBuZXcgRGF0ZSgxOTAw
LCAwLCAxLCAwLCAwLCAwKTsKLWlmICh4MzQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMy40OiBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQg
bm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MzQsIHVuZGVmaW5l
ZCwgJ1RoZSB2YWx1ZSBvZiB4MzQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVk
YGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpICE9
PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNC4xOiB0eXBlb2YgbmV3
IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1
OSwgNTkpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5
NjksIDExLCAzMSwgMjMsIDU5LCA1OSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsK
IAotaWYgKG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSkgPT09IHVuZGVmaW5lZCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNC4yOiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEs
IDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2Ft
ZVZhbHVlKAorICBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpLAorICB1bmRlZmlu
ZWQsCisgICduZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIGlzIGV4cGVjdGVkIHRv
IG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg0MyA9IG5ldyBEYXRlKDE5Njks
IDExLCAzMSwgMjMsIDU5LCA1OSk7Ci1pZiAodHlwZW9mIHg0MyAhPT0gIm9iamVjdCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAz
MSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiB4NDMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDQzYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMx
LCAyMywgNTksIDU5KTsKLWlmICh4NDQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjNC40OiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3Vs
ZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHg0NCwgdW5kZWZp
bmVkLCAnVGhlIHZhbHVlIG9mIHg0NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmlu
ZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIG5ldyBE
YXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCksCisg
ICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEs
IDAsIDAsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0
ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjNS4yOiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE5
NjksIDEyLCAxLCAwLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMTk2OSwgMTIs
IDEsIDAsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsK
IAogdmFyIHg1MyA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICh0eXBlb2Yg
eDUzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS4zOiB0eXBl
b2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDUzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIHg1M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg1NCA9IG5l
dyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICh4NTQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS40OiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwg
MCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
eDU0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDU0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVh
bCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwg
MCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5
cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAw
LCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTcw
LCAwLCAxLCAwLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAo
bmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjNi4yOiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91
bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERh
dGUoMTk3MCwgMCwgMSwgMCwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE5NzAs
IDAsIDEsIDAsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJwor
KTsKIAogdmFyIHg2MyA9IG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDApOwotaWYgKHR5cGVv
ZiB4NjMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjM6IHR5
cGVvZiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg2MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiB4NjNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4NjQgPSBu
ZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKTsKLWlmICh4NjQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi40OiBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAw
LCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4
NjQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4NjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFs
IGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIz
LCA1OSwgNTkpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy4x
OiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAx
MSwgMzEsIDIzLCA1OSwgNTkpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSlgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJworKTsKIAotaWYgKG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSkgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy4yOiBuZXcgRGF0ZSgx
OTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkp
LAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpIGlz
IGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg3MyA9IG5l
dyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSk7Ci1pZiAodHlwZW9mIHg3MyAhPT0gIm9i
amVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcuMzogdHlwZW9mIG5ldyBEYXRl
KDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiB4NzMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
eDczYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDc0ID0gbmV3IERhdGUo
MTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWlmICh4NzQgPT09IHVuZGVmaW5lZCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy40OiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1
OSwgNTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVl
KHg3NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg3NCBpcyBleHBlY3RlZCB0byBub3QgZXF1
YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAw
LCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMTog
dHlwZW9mIG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCci
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwg
MCwgMCwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUo
MTk5OSwgMTIsIDEsIDAsIDAsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAK
LWlmIChuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC4yOiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwg
MCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisg
IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERh
dGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVm
aW5lZGBgJworKTsKIAogdmFyIHg4MyA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKTsK
LWlmICh0eXBlb2YgeDgzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjOC4zOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAn
b2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDgzLCAib2JqZWN0IiwgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIHg4M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAog
dmFyIHg4NCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICh4ODQgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOC40OiBuZXcgRGF0ZSgxOTk5
LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5u
b3RTYW1lVmFsdWUoeDg0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDg0IGlzIGV4cGVjdGVk
IHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjAw
MCwgMCwgMSwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM5LjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUg
J29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgyMDAw
LCAwLCAxLCAwLCAwLCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBu
ZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCIn
CispOwogCi1pZiAobmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCkgPT09IHVuZGVmaW5lZCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4yOiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAw
LCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1
ZSgKKyAgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25l
dyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVu
ZGVmaW5lZGBgJworKTsKIAogdmFyIHg5MyA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAp
OwotaWYgKHR5cGVvZiB4OTMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM5LjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgYmUg
J29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg5MywgIm9iamVjdCIsICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiB4OTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAK
IHZhciB4OTQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmICh4OTQgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS40OiBuZXcgRGF0ZSgyMDAw
LCAwLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5v
dFNhbWVWYWx1ZSh4OTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4OTQgaXMgZXhwZWN0ZWQg
dG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5
LCAxMSwgMzEsIDIzLCA1OSwgNTkpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMTAuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSkg
c2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3
IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIz
LCA1OSwgNTkpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEw
LjI6IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSkgc2hvdWxkIG5vdCBiZSB1bmRl
ZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDIwOTksIDExLCAz
MSwgMjMsIDU5LCA1OSksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDIwOTksIDExLCAzMSwg
MjMsIDU5LCA1OSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwog
CiB2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSk7Ci1pZiAodHlw
ZW9mIHgxMDMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4z
OiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgYmUgJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgxMDMsICJvYmplY3QiLCAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgeDEwM2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAog
dmFyIHgxMDQgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwotaWYgKHgxMDQg
PT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTAuNDogbmV3IERh
dGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MTA0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDEw
NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9m
IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzExLjE6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwg
MCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBl
b2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2
YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKWAgaXMgZXhwZWN0
ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAs
IDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjI6IG5l
dyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwot
fQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAp
LAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCkgaXMgZXhw
ZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIgeDExMyA9IG5ldyBE
YXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICh0eXBlb2YgeDExMyAhPT0gIm9iamVjdCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMDk5
LCAxMiwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiB4MTEzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMTNgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MTE0ID0gbmV3IERhdGUoMjA5OSwg
MTIsIDEsIDAsIDAsIDApOwotaWYgKHgxMTQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMTEuNDogbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApIHNob3Vs
ZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxMTQsIHVuZGVm
aW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MTE0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVm
aW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkgIT09
ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMi4xOiB0eXBlb2YgbmV3
IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCksCisg
ICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMjEwMCwgMCwgMSwg
MCwgMCwgMClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5ldyBEYXRl
KDIxMDAsIDAsIDEsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzEyLjI6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBub3Qg
YmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgyMTAw
LCAwLCAxLCAwLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAorICAnbmV3IERhdGUoMjEwMCwgMCwgMSwg
MCwgMCwgMCkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2
YXIgeDEyMyA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApOwotaWYgKHR5cGVvZiB4MTIz
ICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuMzogdHlwZW9m
IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDEyMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiB4MTIzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDEyNCA9IG5l
dyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDApOwotaWYgKHgxMjQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuNDogbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwg
MCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
eDEyNCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHgxMjQgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMV9UNi5qcwppbmRleCAxZmRhNDNiYTIwOTIxNjAxOWU1
ZTk5NjdhMTYzM2FiY2FjY2VkYjJkLi45ODUwODE3MGRjOGZhYThjY2JhNDkzNjdlNTI0MTI0Y2Fj
ZDBmMzBkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9T
MTUuOS4zLjFfQTFfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvUzE1LjkuMy4xX0ExX1Q2LmpzCkBAIC04LDIxOSArOCwyMTggQEAKIGVzaWQ6IHNlYy1kYXRl
LXllYXItbW9udGgtZGF0ZS1ob3Vycy1taW51dGVzLXNlY29uZHMtbXMKIGRlc2NyaXB0aW9uOiA3
IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywg
bXMpCiAtLS0qLwotCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1
OSwgOTk5KSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMTog
dHlwZW9mIG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUg
J29iamVjdCciKTsKLX0KLQotaWYgKG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwg
OTk5KSA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjI6IG5l
dyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVm
aW5lZCIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEx
LCAzMSwgMjMsIDU5LCA1OSwgOTk5KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSlgIGlzIGV4cGVjdGVk
IHRvIGJlICJvYmplY3QiJworKTsKKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERhdGUo
MTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpLAorICB1bmRlZmluZWQsCisgICduZXcgRGF0
ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFs
IGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAy
MywgNTksIDU5LCA5OTkpOwotaWYgKHR5cGVvZiB4MTMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjM6IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIz
LCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiB4MTMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEzYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDE0ID0gbmV3IERhdGUoMTg5OSwgMTEsIDMx
LCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHgxNCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiMxLjQ6IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSwg
OTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4
MTQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4MTQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFs
IGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwg
MCwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyLjE6
IHR5cGVvZiBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmpl
Y3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMTg5OSwgMTIs
IDEsIDAsIDAsIDAsIDApLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5l
dyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInCispOwogCi1pZiAobmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1bmRl
ZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMjogbmV3IERhdGUoMTg5OSwg
MTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQu
bm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCksCisgIHVu
ZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKSBpcyBleHBlY3Rl
ZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcKKyk7CiAKIHZhciB4MjMgPSBuZXcgRGF0ZSgx
ODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHgyMyAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMzogdHlwZW9mIG5ldyBEYXRlKDE4OTksIDEy
LCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUodHlwZW9mIHgyMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MjNgIGlzIGV4
cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4MjQgPSBuZXcgRGF0ZSgxODk5LCAxMiwg
MSwgMCwgMCwgMCwgMCk7Ci1pZiAoeDI0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzIuNDogbmV3IERhdGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3Vs
ZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgyNCwgdW5kZWZp
bmVkLCAnVGhlIHZhbHVlIG9mIHgyNCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmlu
ZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApICE9
PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4xOiB0eXBlb2YgbmV3
IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwg
MCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTkwMCwg
MCwgMSwgMCwgMCwgMCwgMClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYg
KG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzMuMjogbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwg
MCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisg
IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDAsIDAsIDApLAorICB1bmRlZmluZWQsCisgICduZXcg
RGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1
bmRlZmluZWRgYCcKKyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAw
LCAwKTsKLWlmICh0eXBlb2YgeDMzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMy4zOiB0eXBlb2YgbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hv
dWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MzMsICJvYmpl
Y3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDMzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicpOwogCiB2YXIgeDM0ID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAo
eDM0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzMuNDogbmV3
IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsK
LX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDM0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDM0
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2Yg
bmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpICE9PSAib2JqZWN0Iikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNC4xOiB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTEs
IDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5
KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAx
MSwgMzEsIDIzLCA1OSwgNTksIDk5OSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsK
IAotaWYgKG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSA9PT0gdW5kZWZp
bmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjI6IG5ldyBEYXRlKDE5NjksIDEx
LCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5
OTkpLAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTks
IDk5OSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIg
eDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHR5cGVv
ZiB4NDMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjM6IHR5
cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4NDMsICJvYmplY3QiLCAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgeDQzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2
YXIgeDQ0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHg0
NCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjQ6IG5ldyBE
YXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5l
ZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4NDQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBv
ZiB4NDQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5
cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM1LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTY5LCAxMiwg
MSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApLAorICAib2JqZWN0
IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAw
LCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTk2
OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzUuMjogbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgx
OTY5LCAxMiwgMSwgMCwgMCwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE5Njks
IDEyLCAxLCAwLCAwLCAwLCAwKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRg
YCcKKyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1p
ZiAodHlwZW9mIHg1MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzUuMzogdHlwZW9mIG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUg
J29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHg1MywgIm9iamVjdCIsICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiB4NTNgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAK
IHZhciB4NTQgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoeDU0ID09
PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuNDogbmV3IERhdGUo
MTk2OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKHg1NCwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg1NCBpcyBl
eHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBE
YXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjNi4xOiB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwg
MCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
bmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMClgIGlzIGV4cGVj
dGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAs
IDAsIDApID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzYuMjog
bmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQi
KTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIG5ldyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAs
IDAsIDApLAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAw
KSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcKKyk7CiAKIHZhciB4NjMg
PSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKLWlmICh0eXBlb2YgeDYzICE9PSAi
b2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi4zOiB0eXBlb2YgbmV3IERh
dGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiB4NjMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
eDYzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDY0ID0gbmV3IERhdGUo
MTk3MCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoeDY0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzYuNDogbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwg
MCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDY0
LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDY0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBg
YHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywg
NTksIDU5LCA5OTkpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
Ny4xOiB0eXBlb2YgbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3Vs
ZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRl
KDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSlgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKG5ldyBEYXRlKDE5OTksIDExLCAz
MSwgMjMsIDU5LCA1OSwgOTk5KSA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM3LjI6IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91
bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgbmV3IERh
dGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpLAorICB1bmRlZmluZWQsCisgICduZXcg
RGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnCispOwogCiB2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEsIDMx
LCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHR5cGVvZiB4NzMgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjM6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEs
IDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiB4NzMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDczYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDc0ID0gbmV3IERhdGUoMTk5OSwgMTEs
IDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHg3NCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjQ6IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1
OSwgOTk5KSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1
ZSh4NzQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4NzQgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIGBgdW5kZWZpbmVkYGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwg
MCwgMCwgMCwgMCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM4
LjE6IHR5cGVvZiBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMTk5OSwg
MTIsIDEsIDAsIDAsIDAsIDApLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9i
amVjdCInCispOwogCi1pZiAobmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApID09PSB1
bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMjogbmV3IERhdGUoMTk5
OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3Nl
cnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCksCisg
IHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKSBpcyBleHBl
Y3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcKKyk7CiAKIHZhciB4ODMgPSBuZXcgRGF0
ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHg4MyAhPT0gIm9iamVjdCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzogdHlwZW9mIG5ldyBEYXRlKDE5OTks
IDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUodHlwZW9mIHg4MywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4ODNgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciB4ODQgPSBuZXcgRGF0ZSgxOTk5LCAx
MiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoeDg0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzguNDogbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNo
b3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHg4NCwgdW5k
ZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHg4NCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRl
ZmluZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDAp
ICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4xOiB0eXBlb2Yg
bmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIGJlICdvYmplY3QnIik7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwg
MCwgMCksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMjAw
MCwgMCwgMSwgMCwgMCwgMCwgMClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAot
aWYgKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApID09PSB1bmRlZmluZWQpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzkuMjogbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwg
MCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
CisgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApLAorICB1bmRlZmluZWQsCisgICdu
ZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwg
YGB1bmRlZmluZWRgYCcKKyk7CiAKIHZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAw
LCAwLCAwKTsKLWlmICh0eXBlb2YgeDkzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjOS4zOiB0eXBlb2YgbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkg
c2hvdWxkIGJlICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4OTMsICJv
YmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDkzYCBpcyBleHBlY3RlZCB0byBiZSAib2Jq
ZWN0IicpOwogCiB2YXIgeDk0ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1p
ZiAoeDk0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzkuNDog
bmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQi
KTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDk0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Yg
eDk0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBl
b2YgbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpICE9PSAib2JqZWN0Iikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTAuMTogdHlwZW9mIG5ldyBEYXRlKDIwOTks
IDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTks
IDk5OSksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoMjA5
OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicK
Kyk7CiAKLWlmIChuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTAuMjogbmV3IERhdGUoMjA5
OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19
Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwg
NTksIDk5OSksCisgIHVuZGVmaW5lZCwKKyAgJ25ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5
LCA1OSwgOTk5KSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcKKyk7CiAK
IHZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYg
KHR5cGVvZiB4MTAzICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MTAuMzogdHlwZW9mIG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSBzaG91
bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgxMDMsICJvYmpl
Y3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEwM2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInKTsKIAogdmFyIHgxMDQgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5
OSk7Ci1pZiAoeDEwNCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiMxMC40OiBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSkgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDEwNCwgdW5kZWZpbmVk
LCAnVGhlIHZhbHVlIG9mIHgxMDQgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVk
YGAnKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCkgIT09
ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMS4xOiB0eXBlb2YgbmV3
IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAw
LCAwKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZSgyMDk5
LCAxMiwgMSwgMCwgMCwgMCwgMClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAot
aWYgKG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMS4yOiBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwg
MCwgMCwgMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFs
dWUoCisgIG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSwKKyAgdW5kZWZpbmVkLAor
ICAnbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBl
cXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgxMTMgPSBuZXcgRGF0ZSgyMDk5LCAxMiwg
MSwgMCwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHgxMTMgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiMxMS4zOiB0eXBlb2YgbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAs
IDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgeDExMywgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTEzYCBpcyBleHBlY3Rl
ZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDExNCA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAw
LCAwLCAwLCAwKTsKLWlmICh4MTE0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzExLjQ6IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKSBzaG91bGQg
bm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4MTE0LCB1bmRlZmlu
ZWQsICdUaGUgdmFsdWUgb2YgeDExNCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmlu
ZWRgYCcpOwogCi1pZiAodHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApICE9
PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTIuMTogdHlwZW9mIG5l
dyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBiZSAnb2JqZWN0JyIpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAs
IDApLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5ldyBEYXRlKDIxMDAs
IDAsIDEsIDAsIDAsIDAsIDApYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlm
IChuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKSA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMi4yOiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAw
LCAwKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgK
KyAgbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCksCisgIHVuZGVmaW5lZCwKKyAgJ25l
dyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBg
YHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgxMjMgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAw
LCAwLCAwKTsKLWlmICh0eXBlb2YgeDEyMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzEyLjM6IHR5cGVvZiBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAw
KSBzaG91bGQgYmUgJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHgxMjMs
ICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEyM2AgaXMgZXhwZWN0ZWQgdG8gYmUg
Im9iamVjdCInKTsKIAogdmFyIHgxMjQgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAw
KTsKLWlmICh4MTI0ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzEyLjQ6IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApIHNob3VsZCBub3QgYmUgdW5k
ZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKHgxMjQsIHVuZGVmaW5lZCwgJ1RoZSB2
YWx1ZSBvZiB4MTI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFf
QTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFf
QTJfVDEuanMKaW5kZXggNTRhN2M3MzEzY2I1YWM4MzI1YjFiY2JhMzI5NTYyNTAzZDA1ZmIwOC4u
Yjc2MDc3OTU3ZDQyNjI2MjRlZDZlOTg3OTJlYWZlZGE1MTExZDVhZCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EyX1QxLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UMS5qcwpA
QCAtMTEsMTgxICsxMSwyMjkgQEAKIC0tLSovCiAKIHZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAx
MSk7Ci1pZiAodHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3Iu
cHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBl
b2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAi
b2JqZWN0IicKKyk7CiAKIHZhciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSk7Ci1pZiAoIURhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiknKTsKLX0KK2Fzc2VydChE
YXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3Rv
dHlwZU9mKHgxMikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDEzID0gbmV3IERhdGUoMTg5
OSwgMTEpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBl
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4
MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERh
dGUucHJvdG90eXBlLAorICB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVl
IG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTMu
Y29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgyMSA9IG5ldyBEYXRlKDE4OTksIDEy
KTsKLWlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJworKTsKIAogdmFyIHgyMiA9IG5ldyBEYXRlKDE4OTksIDEyKTsKLWlmICghRGF0ZS5w
cm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKScpOwotfQorYXNzZXJ0KERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MjMgPSBuZXcgRGF0ZSgxODk5
LCAxMik7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgy
My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0
ZS5wcm90b3R5cGUsCisgIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgyMy5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCk7
Ci1pZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJv
dG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
eDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2Jq
ZWN0IicKKyk7CiAKIHZhciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwKTsKLWlmICghRGF0ZS5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwotfQorYXNzZXJ0KERhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDMyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAw
KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnBy
b3RvdHlwZSwKKyAgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7Ci1p
ZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjE6IHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90
eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDQx
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicKKyk7CiAKIHZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7Ci1pZiAoIURhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNC4y
OiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MiknKTsKLX0KK2Fzc2VydChEYXRlLnBy
b3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9m
KHg0MikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEp
OwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29u
c3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJv
dG90eXBlLAorICB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERh
dGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NDMuY29uc3Ry
dWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyKTsKLWlm
ICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NTEu
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3Qi
JworKTsKIAogdmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyKTsKLWlmICghRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1LjI6
IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwotfQorYXNzZXJ0KERhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDUyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMik7
Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUsCisgIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0
ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg1My5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCk7Ci1pZiAo
dHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBl
ID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDYxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicK
Kyk7CiAKIHZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUu
aXNQcm90b3R5cGVPZih4NjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2LjI6IERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDYyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYy
KSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKLWlm
IChEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjNi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZSwKKyAgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnBy
b3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDYzLmNvbnN0cnVjdG9y
LnByb3RvdHlwZScKKyk7CiAKIHZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7Ci1pZiAodHlw
ZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlID09
PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDcxLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4
NzEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7
CiAKIHZhciB4NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDcyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNy4yOiBEYXRl
LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlw
ZS5pc1Byb3RvdHlwZU9mKHg3MiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3Mikg
bXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEpOwotaWYg
KERhdGUucHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0
b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBl
LAorICB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJv
dG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NzMuY29uc3RydWN0b3Iu
cHJvdG90eXBlJworKTsKIAogdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTksIDEyKTsKLWlmICh0eXBl
b2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09
ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4ODEuY29uc3Ry
dWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg4
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsK
IAogdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4ODIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4LjI6IERhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDgyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSBt
dXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMik7Ci1pZiAo
RGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUs
CisgIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90
b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUnCispOwogCiB2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCk7Ci1pZiAodHlwZW9m
IHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAn
b2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDkxLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTEu
Y29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAK
IHZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90
b3R5cGVPZih4OTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5LjI6IERhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDkyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSBtdXN0
IHJldHVybiB0cnVlJyk7CiAKIHZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwKTsKLWlmIChEYXRl
LnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDkzLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAg
eDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlw
ZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDkzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZScKKyk7CiAKIHZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEpOwotaWYgKHR5cGVvZiB4
MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzEwLjE6IHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0g
J29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMDEuY29uc3Ry
dWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgx
MDEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7
CiAKIHZhciB4MTAyID0gbmV3IERhdGUoMjA5OSwgMTEpOwotaWYgKCFEYXRlLnByb3RvdHlwZS5p
c1Byb3RvdHlwZU9mKHgxMDIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMC4yOiBE
YXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDEwMikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDEx
KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAz
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZSwKKyAgeDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgxMDMu
Y29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAx
Mik7Ci1pZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0Iikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0
b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRv
IGJlICJvYmplY3QiJworKTsKIAogdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMik7Ci1pZiAo
IURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKLX0K
K2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpLCAnRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4MTEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTEzID0g
bmV3IERhdGUoMjA5OSwgMTIpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMzogRGF0ZS5w
cm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgeDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDEyMSA9
IG5ldyBEYXRlKDIxMDAsIDApOwotaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEyLjE6IHR5cGVv
ZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2Jq
ZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBl
YCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MTIyID0gbmV3IERhdGUo
MjEwMCwgMCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDEyMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIp
LCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSBtdXN0IHJldHVybiB0cnVlJyk7
CiAKIHZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09
IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgxMjMuY29uc3Ry
dWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4z
LjFfQTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4z
LjFfQTJfVDIuanMKaW5kZXggYjA3MWI2ZGZhM2ZhY2EyNWQyNzEzOTYyZDVkNjIxY2NkMzFjOTkw
OC4uMWVmZTk3YTQ4MDA0ZGY4MTdhMzNhYTFiN2RmNDAzOWQxNWQ2OGNhMyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EyX1QyLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UMi5q
cwpAQCAtMTEsMTgxICsxMSwyMjkgQEAKIC0tLSovCiAKIHZhciB4MTEgPSBuZXcgRGF0ZSgxODk5
LCAxMSwgMzEpOwotaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2Jq
ZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDEyID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxKTsK
LWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKScpOwot
fQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSwgJ0RhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTMgPSBu
ZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTMuY29uc3Ry
dWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjM6IERhdGUu
cHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTMuY29uc3RydWN0b3IucHJvdG90eXBl
LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgyMSA9IG5l
dyBEYXRlKDE4OTksIDEyLCAxKTsKLWlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9m
IHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0
IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHgyMiA9IG5ldyBEYXRlKDE4OTks
IDEyLCAxKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDIyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSwgJ0Rh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZh
ciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgy
My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIu
MzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgyMy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIg
eDMxID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7Ci1pZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6
IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAg
Im9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90
eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MzIgPSBuZXcgRGF0
ZSgxOTAwLCAwLCAxKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDMyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMy
KSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSBtdXN0IHJldHVybiB0cnVlJyk7
CiAKIHZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZSAh
PT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwot
fQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDMzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAK
IHZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwotaWYgKHR5cGVvZiB4NDEuY29uc3Ry
dWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjNC4xOiB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDQxLmNvbnN0cnVjdG9y
LnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDQyID0g
bmV3IERhdGUoMTk2OSwgMTEsIDMxKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVP
Zih4NDIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0LjI6IERhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDQyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDQyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSBtdXN0IHJldHVy
biB0cnVlJyk7CiAKIHZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwotaWYgKERhdGUu
cHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJv
dG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4
NDMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NDMuY29uc3RydWN0b3IucHJvdG90
eXBlJworKTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKLWlmICh0eXBlb2Yg
eDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdv
YmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NTEuY29uc3RydWN0
b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1MS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAog
dmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyLCAxKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4NTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1LjI6IERhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDUyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSBt
dXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSk7Ci1p
ZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUsCisgIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg1My5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUnCispOwogCiB2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7Ci1pZiAo
dHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBl
ID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDYxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicK
Kyk7CiAKIHZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxKTsKLWlmICghRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2LjI6
IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwotfQorYXNzZXJ0KERhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDYyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAx
KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnBy
b3RvdHlwZSwKKyAgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDYzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEp
OwotaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0Iikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9m
IHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9m
IGB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9i
amVjdCInCispOwogCiB2YXIgeDcyID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKLWlmICghRGF0
ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM3LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKScpOwotfQorYXNzZXJ0
KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDcyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NzMgPSBuZXcgRGF0ZSgx
OTk5LCAxMSwgMzEpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJv
dG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjM6IERhdGUucHJvdG90eXBl
ID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLAorICB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhl
IHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHg4MSA9IG5ldyBEYXRlKDE5
OTksIDEyLCAxKTsKLWlmICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9i
amVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIHg4MS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVk
IHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAxKTsK
LWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM4LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwot
fQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSwgJ0RhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDgyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4ODMgPSBu
ZXcgRGF0ZSgxOTk5LCAxMiwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzogRGF0ZS5w
cm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUs
CisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDkxID0gbmV3
IERhdGUoMjAwMCwgMCwgMSk7Ci1pZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUg
IT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjE6IHR5cGVvZiB4
OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIs
CisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAw
LCAxKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM5LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDky
KScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSwgJ0RhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4
OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4zOiBE
YXRlLnByb3RvdHlwZSA9PT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3Nl
cnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDkzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgeDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4MTAx
ID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxKTsKLWlmICh0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4x
OiB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwK
KyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDEwMiA9IG5l
dyBEYXRlKDIwOTksIDExLCAzMSk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDEwMikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEwLjI6IERhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDEwMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3Rv
dHlwZU9mKHgxMDIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxKTsKLWlmIChE
YXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZSwKKyAgeDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgxMDMuY29uc3RydWN0
b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSk7Ci1p
ZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJv
dG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
eDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9m
IGB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJworKTsKIAogdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSk7Ci1pZiAoIURh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKLX0KK2Fz
c2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpLCAnRGF0ZS5wcm90b3R5cGUu
aXNQcm90b3R5cGVPZih4MTEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTEzID0gbmV3
IERhdGUoMjA5OSwgMTIsIDEpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMzogRGF0ZS5w
cm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgeDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDEyMSA9
IG5ldyBEYXRlKDIxMDAsIDAsIDEpOwotaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEyLjE6IHR5
cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAi
b2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90
eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MTIyID0gbmV3IERh
dGUoMjEwMCwgMCwgMSk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDEyMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9m
KHgxMjIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSBtdXN0IHJldHVybiB0
cnVlJyk7CiAKIHZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSk7Ci1pZiAoRGF0ZS5wcm90
b3R5cGUgIT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgx
MjMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTIzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9TMTUuOS4zLjFfQTJfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9TMTUuOS4zLjFfQTJfVDMuanMKaW5kZXggZGNkMTNjYTgzNGUzY2ZjMTRkMWNmYWE4YjJiZjAz
N2YyMDNjYjY5Zi4uMTI2NGNhZWEyZDcxMjRlNWI5ZjU3NTBiNmNmZjRjMzYyYTFlMmVlMiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0Ey
X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMu
MV9BMl9UMy5qcwpAQCAtMTEsMTgxICsxMSwyMjkgQEAKIC0tLSovCiAKIHZhciB4MTEgPSBuZXcg
RGF0ZSgxODk5LCAxMSwgMzEsIDIzKTsKLWlmICh0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMTogdHlw
ZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2Jq
ZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVg
IGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHgxMiA9IG5ldyBEYXRlKDE4
OTksIDExLCAzMSwgMjMpOwotaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMikp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90
b3R5cGVPZih4MTIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4
MTIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpIG11c3QgcmV0dXJuIHRydWUn
KTsKIAogdmFyIHgxMyA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMpOwotaWYgKERhdGUucHJv
dG90eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90
eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTMu
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTMuY29uc3RydWN0b3IucHJvdG90eXBl
JworKTsKIAogdmFyIHgyMSA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2Yg
eDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdv
YmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4MjEuY29uc3RydWN0
b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyMS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAog
dmFyIHgyMiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUu
aXNQcm90b3R5cGVPZih4MjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyLjI6IERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDIyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIy
KSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwg
MCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUsCisgIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2Yg
RGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgyMy5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCwgMSwg
MCk7Ci1pZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3Iu
cHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBl
b2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAi
b2JqZWN0IicKKyk7CiAKIHZhciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKTsKLWlmICgh
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwotfQorYXNz
ZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSwgJ0RhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDMyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0
ZSgxOTAwLCAwLCAxLCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4zOiBEYXRlLnByb3Rv
dHlwZSA9PT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZh
bHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAg
J1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NDEgPSBuZXcgRGF0
ZSgxOTY5LCAxMSwgMzEsIDIzKTsKLWlmICh0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMTogdHlwZW9m
IHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0
IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg0MiA9IG5ldyBEYXRlKDE5Njks
IDExLCAzMSwgMjMpOwotaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZih4NDIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIp
LCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpIG11c3QgcmV0dXJuIHRydWUnKTsK
IAogdmFyIHg0MyA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpOwotaWYgKERhdGUucHJvdG90
eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBl
Iik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4NDMuY29u
c3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlJwor
KTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2YgeDUx
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmpl
Y3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NTEuY29uc3RydWN0b3Iu
cHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1MS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFy
IHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4NTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1LjI6IERhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDUyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSBt
dXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCk7
Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUsCisgIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0
ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg1My5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCk7
Ci1pZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJv
dG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
eDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2Jq
ZWN0IicKKyk7CiAKIHZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKTsKLWlmICghRGF0
ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwotfQorYXNzZXJ0
KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDYyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NjMgPSBuZXcgRGF0ZSgx
OTcwLCAwLCAxLCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi4zOiBEYXRlLnByb3RvdHlw
ZSA9PT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NzEgPSBuZXcgRGF0ZSgx
OTk5LCAxMSwgMzEsIDIzKTsKLWlmICh0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcuMTogdHlwZW9mIHg3
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwK
KyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4
cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg3MiA9IG5ldyBEYXRlKDE5OTksIDEx
LCAzMSwgMjMpOwotaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MikpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzcuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVP
Zih4NzIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpLCAn
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpIG11c3QgcmV0dXJuIHRydWUnKTsKIAog
dmFyIHg3MyA9IG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMpOwotaWYgKERhdGUucHJvdG90eXBl
ICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7
Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4NzMuY29uc3Ry
dWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsK
IAogdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsKLWlmICh0eXBlb2YgeDgxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3Qn
Iik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJv
dG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg4MS5jb25zdHJ1
Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg4
MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90
b3R5cGVPZih4ODIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4LjI6IERhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDgyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSBtdXN0
IHJldHVybiB0cnVlJyk7CiAKIHZhciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCk7Ci1p
ZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUsCisgIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUnCispOwogCiB2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCk7Ci1p
ZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90
eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDkx
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicKKyk7CiAKIHZhciB4OTIgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwKTsKLWlmICghRGF0ZS5w
cm90b3R5cGUuaXNQcm90b3R5cGVPZih4OTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM5LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwotfQorYXNzZXJ0KERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDkyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4OTMgPSBuZXcgRGF0ZSgyMDAw
LCAwLCAxLCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9
PT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAor
ICBEYXRlLnByb3RvdHlwZSwKKyAgeDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2
YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
eDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4MTAxID0gbmV3IERhdGUoMjA5
OSwgMTEsIDMxLCAyMyk7Ci1pZiAodHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9
PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTAuMTogdHlwZW9mIHgx
MDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3Qi
LAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHgxMDIgPSBuZXcgRGF0ZSgyMDk5
LCAxMSwgMzEsIDIzKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTAuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90
b3R5cGVPZih4MTAyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDEwMiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpIG11c3QgcmV0dXJuIHRy
dWUnKTsKIAogdmFyIHgxMDMgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzKTsKLWlmIChEYXRl
LnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwK
KyAgeDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90
b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgxMDMuY29uc3RydWN0b3Iu
cHJvdG90eXBlJworKTsKIAogdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7Ci1p
ZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJv
dG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
eDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9m
IGB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJworKTsKIAogdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7Ci1pZiAo
IURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKLX0K
K2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpLCAnRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4MTEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTEzID0g
bmV3IERhdGUoMjA5OSwgMTIsIDEsIDApOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMzog
RGF0ZS5wcm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTEzLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgeDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIg
eDEyMSA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDApOwotaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90
eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMjEuY29uc3RydWN0
b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MTIy
ID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDEyMikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEyLjI6IERhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5p
c1Byb3RvdHlwZU9mKHgxMjIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSBt
dXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCk7
Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUsCisgIHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9m
IERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTIzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTJfVDQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTJfVDQuanMKaW5kZXggNzY2NDVmNjdkZDFlMDQ3
Njg5MmQxMWRlYzQzMmIwMGFlMWIzNDU5NC4uZDM4ZGIyN2U0NTM5MzI2YTE2YjYzYWZiNmExZjBj
ZmI5NzU0ZDkzZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvUzE1LjkuMy4xX0EyX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL1MxNS45LjMuMV9BMl9UNC5qcwpAQCAtMTEsMTgxICsxMSwyMjkgQEAKIC0tLSovCiAK
IHZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAodHlwZW9mIHgx
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2Jq
ZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDExLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTEuY29u
c3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZh
ciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoIURhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4y
OiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiknKTsKLX0KK2Fzc2VydChEYXRlLnBy
b3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9m
KHgxMikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDEzID0gbmV3IERhdGUoMTg5OSwgMTEs
IDMxLCAyMywgNTkpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJv
dG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjM6IERhdGUucHJvdG90eXBl
ID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLAorICB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhl
IHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgyMSA9IG5ldyBEYXRlKDE4
OTksIDEyLCAxLCAwLCAwKTsKLWlmICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIHgy
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwK
KyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4
cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHgyMiA9IG5ldyBEYXRlKDE4OTksIDEy
LCAxLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDIyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSwg
J0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAK
IHZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5
cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzIuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUi
KTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgyMy5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCisp
OwogCiB2YXIgeDMxID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCk7Ci1pZiAodHlwZW9mIHgz
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2Jq
ZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDMxLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzEuY29u
c3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZh
ciB4MzIgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUu
aXNQcm90b3R5cGVPZih4MzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6IERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDMyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMy
KSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAw
LCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMz
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZSwKKyAgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBv
ZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwg
MzEsIDIzLCA1OSk7Ci1pZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJv
YmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjE6IHR5cGVvZiB4NDEuY29u
c3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3Rl
ZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEs
IDIzLCA1OSk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9m
KHg0MiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MiksICdE
YXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2
YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTkpOwotaWYgKERhdGUucHJvdG90
eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBl
Iik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4NDMuY29u
c3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlJwor
KTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKTsKLWlmICh0eXBlb2Yg
eDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdv
YmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NTEuY29uc3RydWN0
b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1MS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAog
dmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1LjI6
IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwotfQorYXNzZXJ0KERhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDUyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwg
MSwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09
IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUsCisgIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFs
dWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg1
My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwg
MCwgMSwgMCwgMCk7Ci1pZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJv
YmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiB4NjEuY29u
c3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3Rl
ZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAw
LCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYy
KScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSwgJ0RhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4
NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0g
eDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
Ni4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQor
Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDYzLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZh
ciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAodHlwZW9mIHg3MS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0
JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4NzEuY29uc3Ry
dWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4
NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoIURhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDcyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNy4yOiBE
YXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3Rv
dHlwZS5pc1Byb3RvdHlwZU9mKHg3MiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3
MikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDczID0gbmV3IERhdGUoMTk5OSwgMTEsIDMx
LCAyMywgNTkpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90
eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjM6IERhdGUucHJvdG90eXBlID09
PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IERhdGUucHJvdG90eXBlLAorICB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZh
bHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4
NzMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTks
IDEyLCAxLCAwLCAwKTsKLWlmICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIHg4MS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVj
dGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAx
LCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDgyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSwgJ0Rh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZh
ciB4ODMgPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUg
IT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzguMzogRGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg4My5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwog
CiB2YXIgeDkxID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCk7Ci1pZiAodHlwZW9mIHg5MS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0
JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTEuY29uc3Ry
dWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4
OTIgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4OTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5LjI6IERhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YoeDkyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSBt
dXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAw
KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDkzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnBy
b3RvdHlwZSwKKyAgeDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDkzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMx
LCAyMywgNTkpOwotaWYgKHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9i
amVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwLjE6IHR5cGVvZiB4MTAxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MTAyID0gbmV3IERhdGUoMjA5OSwgMTEs
IDMxLCAyMywgNTkpOwotaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3Rv
dHlwZU9mKHgxMDIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4
MTAyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEwMikgbXVzdCByZXR1cm4gdHJ1
ZScpOwogCiB2YXIgeDEwMyA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5KTsKLWlmIChE
YXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZSwKKyAgeDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgxMDMuY29uc3RydWN0
b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwg
MCk7Ci1pZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0Iikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0
b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRv
IGJlICJvYmplY3QiJworKTsKIAogdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwg
MCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEx
MiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpLCAnRGF0
ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZh
ciB4MTEzID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApOwotaWYgKERhdGUucHJvdG90eXBl
ICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjMTEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBl
Iik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTEzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUn
CispOwogCiB2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwotaWYgKHR5cGVv
ZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9
PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMjEuY29u
c3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicK
Kyk7CiAKIHZhciB4MTIyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7Ci1pZiAoIURhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMiknKTsKLX0KK2Fzc2Vy
dChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4MTIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTIzID0gbmV3IERh
dGUoMjEwMCwgMCwgMSwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgxMjMuY29uc3Ry
dWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMi4zOiBEYXRl
LnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgxMjMuY29uc3RydWN0b3IucHJvdG90
eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTJfVDUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTJfVDUuanMK
aW5kZXggN2FhYzRmNzU2MGQ1YzQ2N2I4NjFiY2YyYTJhNDQ0NmNjN2ZlMGI0NS4uZGFmN2IwOTBm
MTI3NzVmYWE0NjlkNzY4OWRmNDAzOGM1MTM1YzhjZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EyX1Q1LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BMl9UNS5qcwpAQCAtMTEsMTgx
ICsxMSwyMjkgQEAKIC0tLSovCiAKIHZhciB4MTEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIz
LCA1OSwgNTkpOwotaWYgKHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2Jq
ZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMS4xOiB0eXBlb2YgeDExLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDEyID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAy
MywgNTksIDU5KTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDEyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSwg
J0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAK
IHZhciB4MTMgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwotaWYgKERhdGUu
cHJvdG90eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiMxLjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJv
dG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4
MTMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTMuY29uc3RydWN0b3IucHJvdG90
eXBlJworKTsKIAogdmFyIHgyMSA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKTsKLWlm
ICh0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMTogdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4MjEu
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3Qi
JworKTsKIAogdmFyIHgyMiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICgh
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKScpOwotfQorYXNz
ZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSwgJ0RhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MjMgPSBuZXcgRGF0
ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMzogRGF0
ZS5wcm90b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDMxID0g
bmV3IERhdGUoMTkwMCwgMCwgMSwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMz
LjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQor
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwK
KyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJv
dG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MzIgPSBuZXcg
RGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZih4MzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6IERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDMyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKTsK
LWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZSwKKyAgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIz
LCA1OSwgNTkpOwotaWYgKHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2Jq
ZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNC4xOiB0eXBlb2YgeDQxLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgdHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDQyID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAy
MywgNTksIDU5KTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDQyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSwg
J0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAK
IHZhciB4NDMgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwotaWYgKERhdGUu
cHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4NDMuY29uc3RydWN0b3IucHJv
dG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4
NDMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NDMuY29uc3RydWN0b3IucHJvdG90
eXBlJworKTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKTsKLWlm
ICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NTEu
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3Qi
JworKTsKIAogdmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICgh
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM1LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKScpOwotfQorYXNz
ZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSwgJ0RhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDUyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0
ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzogRGF0
ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDYxID0g
bmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2
LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQor
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwK
KyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJv
dG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4NjIgPSBuZXcg
RGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZih4NjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2LjI6IERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDYyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDYyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciB4NjMgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKTsK
LWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZSwKKyAgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDYzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIz
LCA1OSwgNTkpOwotaWYgKHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2Jq
ZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy4xOiB0eXBlb2YgeDcxLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDcyID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAy
MywgNTksIDU5KTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDcyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSwg
J0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAK
IHZhciB4NzMgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwotaWYgKERhdGUu
cHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJv
dG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4
NzMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NzMuY29uc3RydWN0b3IucHJvdG90
eXBlJworKTsKIAogdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKTsKLWlm
ICh0eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4ODEu
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3Qi
JworKTsKIAogdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwKTsKLWlmICgh
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM4LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwotfQorYXNz
ZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSwgJ0RhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDgyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4ODMgPSBuZXcgRGF0
ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzogRGF0
ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDkxID0g
bmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHg5MS5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5
LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQor
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwK
KyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJv
dG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4OTIgPSBuZXcg
RGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZih4OTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5LjI6IERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDkyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKTsK
LWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDkzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZSwKKyAgeDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDkzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4MTAxID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAy
MywgNTksIDU5KTsKLWlmICh0eXBlb2YgeDEwMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJv
YmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMC4xOiB0eXBlb2YgeDEwMS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisg
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhw
ZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDEwMiA9IG5ldyBEYXRlKDIwOTksIDEx
LCAzMSwgMjMsIDU5LCA1OSk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEw
MikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEwLjI6IERhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDEwMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlw
ZU9mKHgxMDIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSBtdXN0IHJldHVy
biB0cnVlJyk7CiAKIHZhciB4MTAzID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5
KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwLjM6IERhdGUucHJvdG90eXBlID09PSB4MTAz
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZSwKKyAgeDEwMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgxMDMu
Y29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAx
MiwgMSwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9
PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMTogdHlwZW9mIHgx
MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3Qi
LAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5
LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEx
MikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzExLjI6IERhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDExMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlw
ZU9mKHgxMTIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTEyKSBtdXN0IHJldHVy
biB0cnVlJyk7CiAKIHZhciB4MTEzID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApOwot
aWYgKERhdGUucHJvdG90eXBlICE9PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMTMuY29u
c3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJv
dG90eXBlLAorICB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDExMy5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDAsIDEs
IDAsIDAsIDApOwotaWYgKHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9i
amVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEyLjE6IHR5cGVvZiB4MTIxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MTIyID0gbmV3IERhdGUoMjEwMCwgMCwg
MSwgMCwgMCwgMCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDEyMiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgx
MjIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSBtdXN0IHJldHVybiB0cnVl
Jyk7CiAKIHZhciB4MTIzID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCk7Ci1pZiAoRGF0
ZS5wcm90b3R5cGUgIT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUs
CisgIHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJv
dG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTIzLmNvbnN0cnVjdG9y
LnByb3RvdHlwZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS4zLjFfQTJfVDYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS4zLjFfQTJfVDYuanMKaW5kZXggY2M3ZDg0ZThhYjYzNDlkMWUwYzA4ZTEw
M2VhYjY0MTIyMmE5OTk3Mi4uZDJmNDQ4M2YyOGE2ZGZkZDliMDg3NzE0Y2I4ZjUzMDk0MTRhZmYy
MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1Ljku
My4xX0EyX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMV9BMl9UNi5qcwpAQCAtMTEsMTgxICsxMSwyMjkgQEAKIC0tLSovCiAKIHZhciB4MTEg
PSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAodHlwZW9mIHgx
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMxLjE6IHR5cGVvZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2Jq
ZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDExLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MTEuY29u
c3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZh
ciB4MTIgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAoIURh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiknKTsKLX0KK2Fzc2Vy
dChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMiksICdEYXRlLnByb3RvdHlwZS5pc1By
b3RvdHlwZU9mKHgxMikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDEzID0gbmV3IERhdGUo
MTg5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4
MTMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMx
LjM6IERhdGUucHJvdG90eXBlID09PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTMuY29uc3RydWN0b3Iu
cHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFy
IHgyMSA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlmICh0eXBlb2YgeDIx
LmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzIuMTogdHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmpl
Y3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4MjEuY29uc3RydWN0b3Iu
cHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgyMS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFy
IHgyMiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKScpOwotfQorYXNzZXJ0KERhdGUu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDIyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MjMgPSBuZXcgRGF0ZSgxODk5LCAx
MiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzIuMzogRGF0ZS5wcm90
b3R5cGUgPT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisg
ICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDMxID0gbmV3IERh
dGUoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHgzMS5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6
IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAg
Im9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90
eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MzIgPSBuZXcgRGF0
ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZih4MzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6IERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDMyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAw
KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDMzLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnBy
b3RvdHlwZSwKKyAgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4NDEgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEs
IDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAodHlwZW9mIHg0MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUg
IT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjE6IHR5cGVvZiB4
NDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIs
CisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4NDIgPSBuZXcgRGF0ZSgxOTY5LCAx
MSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDQyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNC4yOiBEYXRlLnByb3RvdHlw
ZS5pc1Byb3RvdHlwZU9mKHg0MiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3Rv
dHlwZU9mKHg0MiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg0MikgbXVzdCByZXR1
cm4gdHJ1ZScpOwogCiB2YXIgeDQzID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5
LCA5OTkpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBl
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBlID09PSB4
NDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERh
dGUucHJvdG90eXBlLAorICB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVl
IG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NDMu
Y29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKDE5NjksIDEy
LCAxLCAwLCAwLCAwLCAwKTsKLWlmICh0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMTogdHlwZW9mIHg1
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwK
KyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4
cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg1MiA9IG5ldyBEYXRlKDE5NjksIDEy
LCAxLCAwLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NTIp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1LjI6IERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDUyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDUyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSBtdXN0IHJldHVybiB0cnVl
Jyk7CiAKIHZhciB4NTMgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAo
RGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzUuMzogRGF0ZS5wcm90b3R5cGUgPT09IHg1My5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUs
CisgIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90
b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHg1My5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUnCispOwogCiB2YXIgeDYxID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwg
MCk7Ci1pZiAodHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2LjE6IHR5cGVvZiB4NjEuY29uc3RydWN0b3Iu
cHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBl
b2YgeDYxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAi
b2JqZWN0IicKKyk7CiAKIHZhciB4NjIgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAw
KTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NjIpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM2LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKScp
OwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSwgJ0RhdGUucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoeDYyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NjMg
PSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwLCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAh
PT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjNi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwot
fQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDYzLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAK
IHZhciB4NzEgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAo
dHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjE6IHR5cGVvZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBl
ID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDcxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiB4NzEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicK
Kyk7CiAKIHZhciB4NzIgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7
Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDcyKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjNy4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MiknKTsK
LX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg3MiksICdEYXRlLnByb3Rv
dHlwZS5pc1Byb3RvdHlwZU9mKHg3MikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDczID0g
bmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKERhdGUucHJvdG90
eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM3LjM6IERhdGUucHJvdG90eXBlID09PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBl
Iik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4NzMuY29u
c3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlJwor
KTsKIAogdmFyIHg4MSA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlmICh0
eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUg
PT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4ODEuY29u
c3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJwor
KTsKIAogdmFyIHg4MiA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlmICgh
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM4LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKScpOwotfQorYXNz
ZXJ0KERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDgyKSwgJ0RhdGUucHJvdG90eXBlLmlz
UHJvdG90eXBlT2YoeDgyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4ODMgPSBuZXcgRGF0
ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzog
RGF0ZS5wcm90b3R5cGUgPT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg4My5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDkx
ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAodHlwZW9mIHg5MS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM5LjE6IHR5cGVvZiB4OTEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIp
OwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDkxLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4OTEuY29uc3RydWN0
b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4OTIg
PSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKLWlmICghRGF0ZS5wcm90b3R5cGUu
aXNQcm90b3R5cGVPZih4OTIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5LjI6IERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDkyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDkyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDky
KSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4OTMgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAw
LCAwLCAwLCAwKTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDkzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOS4zOiBEYXRlLnByb3RvdHlwZSA9
PT0geDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAor
ICBEYXRlLnByb3RvdHlwZSwKKyAgeDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2
YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
eDkzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScKKyk7CiAKIHZhciB4MTAxID0gbmV3IERhdGUoMjA5
OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEw
LjE6IHR5cGVvZiB4MTAxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMDEuY29uc3RydWN0b3IucHJvdG90eXBl
LAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxMDEuY29uc3RydWN0b3Iu
cHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MTAyID0g
bmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKCFEYXRlLnByb3Rv
dHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
MC4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMDIpJyk7Ci19Cithc3NlcnQoRGF0
ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTAyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDEwMikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDEwMyA9IG5ldyBEYXRlKDIw
OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KTsKLWlmIChEYXRlLnByb3RvdHlwZSAhPT0geDEw
My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEw
LjM6IERhdGUucHJvdG90eXBlID09PSB4MTAzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSIpOwotfQor
Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAgeDEwMy5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgxMDMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAog
dmFyIHgxMTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAodHlwZW9m
IHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMTEuMTogdHlwZW9mIHgxMTEuY29uc3RydWN0b3IucHJvdG90eXBlID09
PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDExMS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
eDExMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJwor
KTsKIAogdmFyIHgxMTIgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAo
IURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMikpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzExLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDExMiknKTsKLX0K
K2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMTIpLCAnRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4MTEyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTEzID0g
bmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwotaWYgKERhdGUucHJvdG90eXBlICE9
PSB4MTEzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMTEuMzogRGF0ZS5wcm90b3R5cGUgPT09IHgxMTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7
Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTEzLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZSBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDExMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCisp
OwogCiB2YXIgeDEyMSA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwotaWYgKHR5
cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzEyLjE6IHR5cGVvZiB4MTIxLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHgxMjEu
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlw
ZW9mIHgxMjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicKKyk7CiAKIHZhciB4MTIyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1p
ZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMikpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzEyLjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDEyMiknKTsK
LX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMjIpLCAnRGF0ZS5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZih4MTIyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4MTIz
ID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUg
IT09IHgxMjMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMxMi4zOiBEYXRlLnByb3RvdHlwZSA9PT0geDEyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUi
KTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgxMjMuY29u
c3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4MTIzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScK
Kyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUu
OS4zLjFfQTNfVDEuMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMV9BM19UMS4xLmpzCmluZGV4IGUzOGQ4YWYyZmQwOTQ3NjZjOWRkZjUyMzc2M2RlMjJl
ODJjYjgxYmUuLmVkYjY5Njg5ZTgwMTA1ZDA5OTk3OWQ5OTZlNzljMTBkOGFiNTU5M2IgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19U
MS4xLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMu
MV9BM19UMS4xLmpzCkBAIC0xMiw2MSArMTIsOTcgQEAKIC0tLSovCiAKIHZhciB4MSA9IG5ldyBE
YXRlKDE4OTksIDExKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9
PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBb
W0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQg
dG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh4MSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxODk5LCAxMSkpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicKKyk7CiAKIHZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyKTsKLWlmIChPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5l
d2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MiksCisgICJbb2Jq
ZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgx
ODk5LCAxMikpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4MyA9IG5l
dyBEYXRlKDE5MDAsIDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4Mykg
IT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMzogVGhl
IFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNl
dCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHgzKSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDE5MDAsIDApKSBtdXN0IHJldHVybiAiW29iamVj
dCBEYXRlXSInCispOwogCiB2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSk7Ci1pZiAoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg0KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBu
ZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpLAorICAiW29i
amVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUo
MTk2OSwgMTEpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDUgPSBu
ZXcgRGF0ZSgxOTY5LCAxMik7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg1
KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM1OiBU
aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMg
c2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwoeDUpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk2OSwgMTIpKSBtdXN0IHJldHVybiAiW29i
amVjdCBEYXRlXSInCispOwogCiB2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwKTsKLWlmIChPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhl
IG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NiksCisgICJb
b2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0
ZSgxOTcwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg3ID0g
bmV3IERhdGUoMTk5OSwgMTEpOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4
NykgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNzog
VGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlz
IHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHg3KSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDE5OTksIDExKSkgbXVzdCByZXR1cm4gIltv
YmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIpOwotaWYgKE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCkgIT09ICJbb2JqZWN0IERhdGVdIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0
aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg4KSwKKyAg
IltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBE
YXRlKDE5OTksIDEyKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg5
ID0gbmV3IERhdGUoMjAwMCwgMCk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5
OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Qg
aXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMjAwMCwgMCkpIG11c3QgcmV0dXJuICJb
b2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSk7Ci1pZiAo
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkg
b2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTAp
LAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
bmV3IERhdGUoMjA5OSwgMTEpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2
YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIpOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbCh4MTEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3Rl
ZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSwKKyAgIltvYmplY3QgRGF0ZV0iLAor
ICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDIwOTksIDEyKSkgbXVz
dCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAs
IDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTIpICE9PSAiW29iamVj
dCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEyOiBUaGUgW1tDbGFzc11d
IHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRl
JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwoeDEyKSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKG5ldyBEYXRlKDIxMDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSIn
CispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1
LjkuMy4xX0EzX1QxLjIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9T
MTUuOS4zLjFfQTNfVDEuMi5qcwppbmRleCBkZTA2NDA1NDFmODQ3Yjk2MzdjODMwOGYzMzhmNmY4
N2UwNWY2MDUxLi4xMWNjNjk1ZjNiODUwZTEzZDY3MjM0MDc1MzY0ZTE5M2FkMjFmZjE3IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNf
VDEuMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4z
LjFfQTNfVDEuMi5qcwpAQCAtMTQsNjEgKzE0LDM3IEBACiBEYXRlLnByb3RvdHlwZS50b1N0cmlu
ZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CiAKIHZhciB4MSA9IG5ldyBEYXRlKDE4OTks
IDExKTsKLWlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHgxLnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gxLnRvU3RyaW5nKCkgbXVzdCBy
ZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyKTsK
LWlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgy
LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gyLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4g
IltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDApOwotaWYgKHgz
LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQg
b2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDMudG9TdHJp
bmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDMudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVj
dCBEYXRlXSInKTsKIAogdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEpOwotaWYgKHg0LnRvU3Ry
aW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
NDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0
IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDQudG9TdHJpbmcoKSwg
IltvYmplY3QgRGF0ZV0iLCAneDQudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRl
XSInKTsKIAogdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIpOwotaWYgKHg1LnRvU3RyaW5nKCkg
IT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhl
IFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNl
dCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDUudG9TdHJpbmcoKSwgIltvYmpl
Y3QgRGF0ZV0iLCAneDUudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsK
IAogdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCk7Ci1pZiAoeDYudG9TdHJpbmcoKSAhPT0gIltv
YmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2OiBUaGUgW1tDbGFz
c11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdE
YXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Ni50b1N0cmluZygpLCAiW29iamVjdCBEYXRl
XSIsICd4Ni50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIg
eDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSk7Ci1pZiAoeDcudG9TdHJpbmcoKSAhPT0gIltvYmplY3Qg
RGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3OiBUaGUgW1tDbGFzc11dIHBy
b3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Ny50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4
Ny50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDggPSBu
ZXcgRGF0ZSgxOTk5LCAxMik7Ci1pZiAoeDgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0i
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5
IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSh4OC50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4OC50b1N0
cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDkgPSBuZXcgRGF0
ZSgyMDAwLCAwKTsKLWlmICh4OS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhl
IG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKHg5LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g5LnRvU3RyaW5nKCkg
bXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5
LCAxMSk7Ci1pZiAoeDEwLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5l
d2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKHgxMC50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4MTAudG9TdHJpbmcoKSBt
dXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTks
IDEyKTsKLWlmICh4MTEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3
bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoeDExLnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gxMS50b1N0cmluZygpIG11
c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwg
MCk7Ci1pZiAoeDEyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHgxMi50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4MTIudG9TdHJpbmcoKSBtdXN0
IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UMi4xLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QyLjEuanMKaW5kZXggNjFiNGZmMmY3
ZmUzZGQ5YzJlNzAyMzA3YTk0ZWNhOTZmYzg1NGFjNC4uYjdlN2VhMTJlNmVlNzg3YjdkYjkyMjk5
MWZmYzFjM2EwNGNhZWViOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QyLjEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QyLjEuanMKQEAgLTEyLDYxICsxMiw5NyBAQAog
LS0tKi8KIAogdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxKTsKLWlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MSksCisgICJbb2JqZWN0
IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxODk5
LCAxMSwgMzEpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDIgPSBu
ZXcgRGF0ZSgxODk5LCAxMiwgMSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMy
OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Qg
aXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTg5OSwgMTIsIDEpKSBtdXN0IHJldHVy
biAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxKTsK
LWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRl
XSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVy
dHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4
MyksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChuZXcgRGF0ZSgxOTAwLCAwLCAxKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsK
IAogdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxKTsKLWlmIChPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCksCisgICJbb2JqZWN0IERhdGVd
IiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTY5LCAxMSwg
MzEpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDUgPSBuZXcgRGF0
ZSgxOTY5LCAxMiwgMSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg1KSAh
PT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM1OiBUaGUg
W1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0
IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwoeDUpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk2OSwgMTIsIDEpKSBtdXN0IHJldHVybiAiW29i
amVjdCBEYXRlXSInCispOwogCiB2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxKTsKLWlmIChP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2Yg
dGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NiksCisg
ICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcg
RGF0ZSgxOTcwLCAwLCAxKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFy
IHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVk
IG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NyksCisgICJbb2JqZWN0IERhdGVdIiwKKyAg
J09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpKSBt
dXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDggPSBuZXcgRGF0ZSgxOTk5
LCAxMiwgMSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg4KSAhPT0gIltv
YmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM4OiBUaGUgW1tDbGFz
c11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdE
YXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoeDgpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwobmV3IERhdGUoMTk5OSwgMTIsIDEpKSBtdXN0IHJldHVybiAiW29iamVjdCBE
YXRlXSInCispOwogCiB2YXIgeDkgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTsKLWlmIChPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5l
d2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OSksCisgICJbb2Jq
ZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgy
MDAwLCAwLCAxKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHgxMCA9
IG5ldyBEYXRlKDIwOTksIDExLCAzMSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9i
amVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApLAorICAiW29iamVjdCBEYXRlXSIsCisgICdP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMjA5OSwgMTEsIDMxKSkgbXVz
dCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTks
IDEyLCAxKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltv
YmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMTogVGhlIFtbQ2xh
c3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAn
RGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHgxMSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgyMDk5LCAxMiwgMSkpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicKKyk7CiAKIHZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxKTsKLWlmIChPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0
aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMiksCisg
ICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcg
RGF0ZSgyMTAwLCAwLCAxKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19U
Mi4yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0Ez
X1QyLjIuanMKaW5kZXggNGQyZmM5YjcwY2I3YjNlYWZjYTFjM2RkNTVlODk2NDlmOGY0OWQxYS4u
MzMzZTgyYmEzM2MxNzU0MDNmMzdhYmQ4NDdkYzBjNDNkZDdiNTFkZCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QyLjIuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1QyLjIu
anMKQEAgLTE0LDYxICsxNCwzNyBAQAogRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nOwogCiB2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEpOwot
aWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3Ry
dWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDEu
dG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDEudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEpOwotaWYg
KHgyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0
ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDIudG9T
dHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDIudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29i
amVjdCBEYXRlXSInKTsKIAogdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSk7Ci1pZiAoeDMu
dG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBv
YmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4My50b1N0cmlu
ZygpLCAiW29iamVjdCBEYXRlXSIsICd4My50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicpOwogCiB2YXIgeDQgPSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEpOwotaWYgKHg0LnRv
U3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2Jq
ZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDQudG9TdHJpbmco
KSwgIltvYmplY3QgRGF0ZV0iLCAneDQudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBE
YXRlXSInKTsKIAogdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEpOwotaWYgKHg1LnRvU3Ry
aW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
NTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0
IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDUudG9TdHJpbmcoKSwg
IltvYmplY3QgRGF0ZV0iLCAneDUudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRl
XSInKTsKIAogdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSk7Ci1pZiAoeDYudG9TdHJpbmco
KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2OiBU
aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMg
c2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Ni50b1N0cmluZygpLCAiW29i
amVjdCBEYXRlXSIsICd4Ni50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicp
OwogCiB2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEpOwotaWYgKHg3LnRvU3RyaW5nKCkg
IT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNzogVGhl
IFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNl
dCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDcudG9TdHJpbmcoKSwgIltvYmpl
Y3QgRGF0ZV0iLCAneDcudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsK
IAogdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEpOwotaWYgKHg4LnRvU3RyaW5nKCkgIT09
ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjODogVGhlIFtb
Q2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0
byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDgudG9TdHJpbmcoKSwgIltvYmplY3Qg
RGF0ZV0iLCAneDgudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAog
dmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSk7Ci1pZiAoeDkudG9TdHJpbmcoKSAhPT0gIltv
YmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5OiBUaGUgW1tDbGFz
c11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdE
YXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4OS50b1N0cmluZygpLCAiW29iamVjdCBEYXRl
XSIsICd4OS50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIg
eDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxKTsKLWlmICh4MTAudG9TdHJpbmcoKSAhPT0gIltv
YmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMDogVGhlIFtbQ2xh
c3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAn
RGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDEwLnRvU3RyaW5nKCksICJbb2JqZWN0IERh
dGVdIiwgJ3gxMC50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2
YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEpOwotaWYgKHgxMS50b1N0cmluZygpICE9PSAi
W29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExOiBUaGUgW1tD
bGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRv
ICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4MTEudG9TdHJpbmcoKSwgIltvYmplY3Qg
RGF0ZV0iLCAneDExLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAK
IHZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxKTsKLWlmICh4MTIudG9TdHJpbmcoKSAhPT0g
IltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMjogVGhlIFtb
Q2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0
byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDEyLnRvU3RyaW5nKCksICJbb2JqZWN0
IERhdGVdIiwgJ3gxMi50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4x
X0EzX1QzLjEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4z
LjFfQTNfVDMuMS5qcwppbmRleCBmY2QzMzJlYjMxYTlhZjUyZDg5YmFlODhjMWZiZGMzNWNhNzdh
MjExLi4wMGU1Yjg0MWFjNWIxYTNjOTY0YWI1ZGRmYTg4MTAwZDAyNjM3NDI2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDMuMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNf
VDMuMS5qcwpAQCAtMTIsNjEgKzEyLDk3IEBACiAtLS0qLwogCiB2YXIgeDEgPSBuZXcgRGF0ZSgx
ODk5LCAxMSwgMzEsIDIzKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEp
ICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRo
ZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBz
ZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh4MSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzKSkgbXVzdCByZXR1
cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHgyID0gbmV3IERhdGUoMTg5OSwgMTIsIDEs
IDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MikgIT09ICJbb2JqZWN0
IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhlIFtbQ2xhc3NdXSBw
cm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSci
KTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHgyKSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0
ZV0iJworKTsKIAogdmFyIHgzID0gbmV3IERhdGUoMTkwMCwgMCwgMSwgMCk7Ci1pZiAoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgzKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBu
ZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpLAorICAiW29i
amVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUo
MTkwMCwgMCwgMSwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4
NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh4NCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0
ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg0KSwKKyAgIltvYmplY3QgRGF0ZV0iLAor
ICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDE5NjksIDExLCAzMSwg
MjMpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDUgPSBuZXcgRGF0
ZSgxOTY5LCAxMiwgMSwgMCk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg1
KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM1OiBU
aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMg
c2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwoeDUpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk2OSwgMTIsIDEsIDApKSBtdXN0IHJldHVy
biAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAw
KTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh4NiksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0i
JworKTsKIAogdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMyk7Ci1pZiAoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg3KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBu
ZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDcpLAorICAiW29i
amVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUo
MTk5OSwgMTEsIDMxLCAyMykpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZh
ciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVj
dGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCksCisgICJbb2JqZWN0IERhdGVdIiwK
KyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTk5LCAxMiwgMSwg
MCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4OSA9IG5ldyBEYXRl
KDIwMDAsIDAsIDEsIDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OSkg
IT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjOTogVGhl
IFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNl
dCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHg5KSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEsIDMxLCAy
Myk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0
IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTA6IFRoZSBbW0NsYXNzXV0g
cHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUn
Iik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbCh4MTApLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwobmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMykpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicKKyk7CiAKIHZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCk7Ci1pZiAo
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMSkgIT09ICJbb2JqZWN0IERhdGVdIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkg
b2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTEp
LAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
bmV3IERhdGUoMjA5OSwgMTIsIDEsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCisp
OwogCiB2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCk7Ci1pZiAoT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHgxMikgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTIpLAorICAiW29iamVj
dCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMjEw
MCwgMCwgMSwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDMuMi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UMy4y
LmpzCmluZGV4IGM5ZWFjMzVlMTI1ZDA5YzFhMmE2Y2UyZTA2MTJhODQ1MGQxODdmMzcuLmViMWRj
ZGI1MzRiZTJjOWMwZGIyMmVhYWI0N2RmZTExN2I5MTc4ZWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UMy4yLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UMy4yLmpzCkBA
IC0xNCw2MSArMTQsMzcgQEAKIERhdGUucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZzsKIAogdmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMyk7Ci1p
ZiAoeDEudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1
Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4MS50
b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4MS50b1N0cmluZygpIG11c3QgcmV0dXJuICJb
b2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCk7Ci1p
ZiAoeDIudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1
Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Mi50
b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4Mi50b1N0cmluZygpIG11c3QgcmV0dXJuICJb
b2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwKTsKLWlm
ICh4My50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVj
dGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgzLnRv
U3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gzLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltv
YmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMpOwot
aWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3Ry
dWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDQu
dG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDQudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDApOwot
aWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3Ry
dWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDUu
dG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDUudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCk7Ci1p
ZiAoeDYudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1
Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Ni50
b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4Ni50b1N0cmluZygpIG11c3QgcmV0dXJuICJb
b2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzKTsK
LWlmICh4Ny50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg3
LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g3LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4g
IltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4OCA9IG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwKTsK
LWlmICh4OC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg4
LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g4LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4g
IltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4OSA9IG5ldyBEYXRlKDIwMDAsIDAsIDEsIDApOwot
aWYgKHg5LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3Ry
dWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDku
dG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDkudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgxMCA9IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMp
OwotaWYgKHgxMC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBj
b25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSh4MTAudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDEwLnRvU3RyaW5nKCkgbXVzdCBy
ZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MTEgPSBuZXcgRGF0ZSgyMDk5LCAxMiwg
MSwgMCk7Ci1pZiAoeDExLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjMTE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5l
d2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKHgxMS50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4MTEudG9TdHJpbmcoKSBt
dXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAs
IDAsIDEsIDApOwotaWYgKHgxMi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRo
ZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSh4MTIudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDEyLnRvU3RyaW5n
KCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDQuMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UNC4xLmpzCmluZGV4IDQ0
ZTg5NDIzZjE3NTYzOThjZWQwZmZlMDE4NjM2ZTg0ZjViN2VkMDcuLjk0ZjNhNGQ4Yzc1MWQ5MzBl
M2NjOThkY2RkYWE4MTk2YzJlZWNlZTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UNC4xLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BM19UNC4xLmpzCkBAIC0xMiw2MSArMTIs
OTcgQEAKIC0tLSovCiAKIHZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5KTsK
LWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRl
XSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVy
dHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4
MSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChuZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERh
dGVdIicKKyk7CiAKIHZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAwLCAwKTsKLWlmIChP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2Yg
dGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MiksCisg
ICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcg
RGF0ZSgxODk5LCAxMiwgMSwgMCwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7
CiAKIHZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEsIDAsIDApOwotaWYgKE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbCh4MykgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkg
Y29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgzKSwKKyAgIltvYmplY3Qg
RGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDE5MDAs
IDAsIDEsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDQg
PSBuZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHg0KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiM0OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1
Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAor
ICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpLAorICAiW29iamVjdCBEYXRlXSIs
CisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk2OSwgMTEsIDMx
LCAyMywgNTkpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDUgPSBu
ZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHg1KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBv
YmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAp
KSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDYgPSBuZXcgRGF0ZSgx
OTcwLCAwLCAxLCAwLCAwKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDYp
ICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRo
ZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBz
ZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh4NiksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwKSkgbXVzdCByZXR1
cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMx
LCAyMywgNTkpOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NykgIT09ICJb
b2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNzogVGhlIFtbQ2xh
c3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAn
RGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHg3KSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKG5ldyBEYXRlKDE5OTksIDExLCAzMSwgMjMsIDU5KSkgbXVzdCByZXR1cm4g
IltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAs
IDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCkgIT09ICJbb2JqZWN0
IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjODogVGhlIFtbQ2xhc3NdXSBw
cm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSci
KTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHg4KSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKG5ldyBEYXRlKDE5OTksIDEyLCAxLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3Qg
RGF0ZV0iJworKTsKIAogdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCk7Ci1pZiAo
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9m
IHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCith
c3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDkpLAor
ICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3
IERhdGUoMjAwMCwgMCwgMSwgMCwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7
CiAKIHZhciB4MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhl
IG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApLAorICAi
W29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERh
dGUoMjA5OSwgMTEsIDMxLCAyMywgNTkpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCisp
OwogCiB2YXIgeDExID0gbmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDApOwotaWYgKE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzExOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBu
ZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSwKKyAgIltv
YmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRl
KDIwOTksIDEyLCAxLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAog
dmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDApOwotaWYgKE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbCh4MTIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBj
b25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZh
bHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSwKKyAgIltvYmplY3Qg
RGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDIxMDAs
IDAsIDEsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1Q0LjIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDQu
Mi5qcwppbmRleCBhZjljMTJjNjIwYTc3NTI1MzBmYjFkNjFiM2ZjY2JlODFkOTJkMTNjLi4wNTJj
MDM3NmQxYTdmYTI1NmY5YzQzNGQzMmMyOGU0YjUzNTgzZjZiIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDQuMi5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTNfVDQuMi5qcwpA
QCAtMTQsNjEgKzE0LDM3IEBACiBEYXRlLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmc7CiAKIHZhciB4MSA9IG5ldyBEYXRlKDE4OTksIDExLCAzMSwgMjMsIDU5
KTsKLWlmICh4MS50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNv
bnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KHgxLnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gxLnRvU3RyaW5nKCkgbXVzdCByZXR1
cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MiA9IG5ldyBEYXRlKDE4OTksIDEyLCAxLCAw
LCAwKTsKLWlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHgyLnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gyLnRvU3RyaW5nKCkgbXVzdCBy
ZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MyA9IG5ldyBEYXRlKDE5MDAsIDAsIDEs
IDAsIDApOwotaWYgKHgzLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3
bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoeDMudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDMudG9TdHJpbmcoKSBtdXN0
IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEs
IDMxLCAyMywgNTkpOwotaWYgKHg0LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0
aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoeDQudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDQudG9TdHJpbmco
KSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg1ID0gbmV3IERhdGUoMTk2
OSwgMTIsIDEsIDAsIDApOwotaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBv
ZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoeDUudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDUudG9TdHJp
bmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg2ID0gbmV3IERhdGUo
MTk3MCwgMCwgMSwgMCwgMCk7Ci1pZiAoeDYudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0i
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5
IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSh4Ni50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4Ni50b1N0
cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDcgPSBuZXcgRGF0
ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoeDcudG9TdHJpbmcoKSAhPT0gIltvYmplY3Qg
RGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3OiBUaGUgW1tDbGFzc11dIHBy
b3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Ny50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4
Ny50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDggPSBu
ZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCk7Ci1pZiAoeDgudG9TdHJpbmcoKSAhPT0gIltvYmpl
Y3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM4OiBUaGUgW1tDbGFzc11d
IHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRl
JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4OC50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIs
ICd4OC50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDkg
PSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwKTsKLWlmICh4OS50b1N0cmluZygpICE9PSAiW29i
amVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzk6IFRoZSBbW0NsYXNz
XV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0Rh
dGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg5LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVd
IiwgJ3g5LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4
MTAgPSBuZXcgRGF0ZSgyMDk5LCAxMSwgMzEsIDIzLCA1OSk7Ci1pZiAoeDEwLnRvU3RyaW5nKCkg
IT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTA6IFRo
ZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBz
ZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgxMC50b1N0cmluZygpLCAiW29i
amVjdCBEYXRlXSIsICd4MTAudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSIn
KTsKIAogdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwKTsKLWlmICh4MTEudG9T
dHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2Jq
ZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDExLnRvU3RyaW5n
KCksICJbb2JqZWN0IERhdGVdIiwgJ3gxMS50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicpOwogCiB2YXIgeDEyID0gbmV3IERhdGUoMjEwMCwgMCwgMSwgMCwgMCk7Ci1pZiAo
eDEyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMTI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVj
dGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgxMi50
b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4MTIudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL1MxNS45LjMuMV9BM19UNS4xLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1Q1LjEuanMKaW5kZXggOTI3NDFkZmM0ZmE0YjUzNTc3
NjBjZDVhY2EyNTcwNThlZDUxN2MzMC4uNGI1NTZlMTFkYzFiZGUyODc5NTY3OTlhNTM3ODAyZGI2
NTlkODE3NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
UzE1LjkuMy4xX0EzX1Q1LjEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvUzE1LjkuMy4xX0EzX1Q1LjEuanMKQEAgLTEwLDYxICsxMCw5NyBAQAogLS0tKi8KIAog
dmFyIHgxID0gbmV3IERhdGUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWlmIChPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5l
d2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MSksCisgICJbb2Jq
ZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgx
ODk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCisp
OwogCiB2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBu
ZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpLAorICAiW29i
amVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUo
MTg5OSwgMTIsIDEsIDAsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwog
CiB2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MyksCisgICJbb2JqZWN0
IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTAw
LCAwLCAxLCAwLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFy
IHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCksCisgICJbb2JqZWN0
IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTY5
LCAxMSwgMzEsIDIzLCA1OSwgNTkpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwog
CiB2YXIgeDUgPSBuZXcgRGF0ZSgxOTY5LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKHg1KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM1OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXds
eSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpLAorICAiW29iamVj
dCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk2
OSwgMTIsIDEsIDAsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2
YXIgeDYgPSBuZXcgRGF0ZSgxOTcwLCAwLCAxLCAwLCAwLCAwKTsKLWlmIChPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNv
bnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NiksCisgICJbb2JqZWN0IERh
dGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTcwLCAw
LCAxLCAwLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg3
ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWlmIChPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNv
bnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NyksCisgICJbb2JqZWN0IERh
dGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTk5LCAx
MSwgMzEsIDIzLCA1OSwgNTkpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2
YXIgeDggPSBuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwgMCwgMCk7Ci1pZiAoT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHg4KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiM4OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBj
b25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZh
bHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpLAorICAiW29iamVjdCBE
YXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk5OSwg
MTIsIDEsIDAsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIg
eDkgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmIChPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwoeDkpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzk6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OSksCisgICJbb2JqZWN0IERhdGVd
IiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgyMDAwLCAwLCAx
LCAwLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHgxMCA9
IG5ldyBEYXRlKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHgxMCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMTA6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNv
bnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApLAorICAiW29iamVjdCBE
YXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMjA5OSwg
MTEsIDMxLCAyMywgNTksIDU5KSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAog
dmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwKTsKLWlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3
bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMSksCisgICJbb2Jq
ZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgy
MDk5LCAxMiwgMSwgMCwgMCwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAK
IHZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiMxMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3
bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgxMiksCisgICJbb2Jq
ZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgy
MTAwLCAwLCAxLCAwLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9B
M19UNS4yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4x
X0EzX1Q1LjIuanMKaW5kZXggNTE5YmM5NGJhNDg4MTZkMjdjMDAyNjM2MmVmMGIwZjE4NTRmZTNj
ZS4uMzI2OTI5MTc4NjFmZDAyNzFhYTlhYjY5ZDAzYzc3YzhhZmE3YjhjMSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1Q1LjIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1Q1
LjIuanMKQEAgLTE0LDYxICsxNCwzNyBAQAogRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmpl
Y3QucHJvdG90eXBlLnRvU3RyaW5nOwogCiB2YXIgeDEgPSBuZXcgRGF0ZSgxODk5LCAxMSwgMzEs
IDIzLCA1OSwgNTkpOwotaWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0
aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoeDEudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDEudG9TdHJpbmco
KSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgyID0gbmV3IERhdGUoMTg5
OSwgMTIsIDEsIDAsIDAsIDApOwotaWYgKHgyLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVd
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0
eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoeDIudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDIudG9T
dHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgzID0gbmV3IERh
dGUoMTkwMCwgMCwgMSwgMCwgMCwgMCk7Ci1pZiAoeDMudG9TdHJpbmcoKSAhPT0gIltvYmplY3Qg
RGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzOiBUaGUgW1tDbGFzc11dIHBy
b3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4My50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4
My50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDQgPSBu
ZXcgRGF0ZSgxOTY5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwotaWYgKHg0LnRvU3RyaW5nKCkgIT09
ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIFtb
Q2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0
byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDQudG9TdHJpbmcoKSwgIltvYmplY3Qg
RGF0ZV0iLCAneDQudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAog
dmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAsIDAsIDApOwotaWYgKHg1LnRvU3RyaW5n
KCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTog
VGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlz
IHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDUudG9TdHJpbmcoKSwgIltv
YmplY3QgRGF0ZV0iLCAneDUudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSIn
KTsKIAogdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCk7Ci1pZiAoeDYudG9T
dHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiM2OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmpl
Y3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Ni50b1N0cmluZygp
LCAiW29iamVjdCBEYXRlXSIsICd4Ni50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERh
dGVdIicpOwogCiB2YXIgeDcgPSBuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTkpOwot
aWYgKHg3LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3Ry
dWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDcu
dG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDcudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAs
IDApOwotaWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkg
Y29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoeDgudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDgudG9TdHJpbmcoKSBtdXN0IHJl
dHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwg
MCwgMCwgMCk7Ci1pZiAoeDkudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBu
ZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh4OS50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4OS50b1N0cmluZygpIG11
c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwg
MTEsIDMxLCAyMywgNTksIDU5KTsKLWlmICh4MTAudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0
ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMDogVGhlIFtbQ2xhc3NdXSBwcm9w
ZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoeDEwLnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gx
MC50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDExID0g
bmV3IERhdGUoMjA5OSwgMTIsIDEsIDAsIDAsIDApOwotaWYgKHgxMS50b1N0cmluZygpICE9PSAi
W29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzExOiBUaGUgW1tD
bGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRv
ICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4MTEudG9TdHJpbmcoKSwgIltvYmplY3Qg
RGF0ZV0iLCAneDExLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAK
IHZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwKTsKLWlmICh4MTIudG9TdHJp
bmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMx
MjogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0
IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDEyLnRvU3RyaW5nKCks
ICJbb2JqZWN0IERhdGVdIiwgJ3gxMi50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERh
dGVdIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
UzE1LjkuMy4xX0EzX1Q2LjEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9TMTUuOS4zLjFfQTNfVDYuMS5qcwppbmRleCBhNGZlMzAyNWIxZTcwZDRiMWUyMjBlNzhkMjdh
YjliYjdkNDEwOTFhLi4zZmExN2UyYjUxOGY0Y2M0YmJhYTZkNTg4ZmFmZmFjOGM3MTMxY2QxIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFf
QTNfVDYuMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUu
OS4zLjFfQTNfVDYuMS5qcwpAQCAtMTAsNjEgKzEwLDk3IEBACiAtLS0qLwogCiB2YXIgeDEgPSBu
ZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAoT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHgxKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoIiMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBj
b25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZh
bHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpLAorICAiW29iamVjdCBE
YXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTg5OSwg
MTEsIDMxLCAyMywgNTksIDU5LCA5OTkpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCisp
OwogCiB2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgyKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRo
ZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3Nl
cnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpLAorICAi
W29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERh
dGUoMTg5OSwgMTIsIDEsIDAsIDAsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSIn
CispOwogCiB2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsKLWlmIChP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2Yg
dGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MyksCisg
ICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcg
RGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0i
JworKTsKIAogdmFyIHg0ID0gbmV3IERhdGUoMTk2OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkp
OwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NCkgIT09ICJbb2JqZWN0IERh
dGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIFtbQ2xhc3NdXSBwcm9w
ZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHg0KSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSkgbXVzdCByZXR1cm4g
IltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg1ID0gbmV3IERhdGUoMTk2OSwgMTIsIDEsIDAs
IDAsIDAsIDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NSkgIT09ICJb
b2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhlIFtbQ2xh
c3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAn
RGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHg1KSwKKyAgIltvYmplY3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKG5ldyBEYXRlKDE5NjksIDEyLCAxLCAwLCAwLCAwLCAwKSkgbXVzdCByZXR1
cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg2ID0gbmV3IERhdGUoMTk3MCwgMCwgMSwg
MCwgMCwgMCwgMCk7Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg2KSAhPT0g
IltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2OiBUaGUgW1tD
bGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRv
ICdEYXRlJyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoeDYpLAorICAiW29iamVjdCBEYXRlXSIsCisgICdPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwobmV3IERhdGUoMTk3MCwgMCwgMSwgMCwgMCwgMCwgMCkpIG11c3QgcmV0
dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4NyA9IG5ldyBEYXRlKDE5OTksIDExLCAz
MSwgMjMsIDU5LCA1OSwgOTk5KTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
eDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzc6
IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBp
cyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbCh4NyksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTk5LCAxMSwgMzEsIDIzLCA1OSwgNTks
IDk5OSkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4OCA9IG5ldyBE
YXRlKDE5OTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoeDgpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzg6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVk
IG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4OCksCisgICJbb2JqZWN0IERhdGVdIiwKKyAg
J09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSgxOTk5LCAxMiwgMSwgMCwg
MCwgMCwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicKKyk7CiAKIHZhciB4OSA9IG5l
dyBEYXRlKDIwMDAsIDAsIDEsIDAsIDAsIDAsIDApOwotaWYgKE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh4OSkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjOTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0
ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHg5KSwKKyAgIltvYmplY3QgRGF0ZV0iLAor
ICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDIwMDAsIDAsIDEsIDAs
IDAsIDAsIDApKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDEwID0g
bmV3IERhdGUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbCh4MTApICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzEwOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXds
eSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEwKSwKKyAgIltvYmpl
Y3QgRGF0ZV0iLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKDIw
OTksIDExLCAzMSwgMjMsIDU5LCA1OSwgOTk5KSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0i
JworKTsKIAogdmFyIHgxMSA9IG5ldyBEYXRlKDIwOTksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlm
IChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDExKSAhPT0gIltvYmplY3QgRGF0ZV0i
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0
eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgx
MSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCkpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicKKyk7CiAKIHZhciB4MTIgPSBuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAw
KTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEyKSAhPT0gIltvYmplY3Qg
RGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMjogVGhlIFtbQ2xhc3NdXSBw
cm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSci
KTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHgxMiksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbChuZXcgRGF0ZSgyMTAwLCAwLCAxLCAwLCAwLCAwLCAwKSkgbXVzdCByZXR1cm4gIltv
YmplY3QgRGF0ZV0iJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL1MxNS45LjMuMV9BM19UNi4yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvUzE1LjkuMy4xX0EzX1Q2LjIuanMKaW5kZXggNWM5OWJiOWI5NDRlODQ5YTU0
Y2FmNzIzYmZmYWQ0OGI5Njk4NmNhZS4uOTRkYTMxMmE0MTE1NDg5MzMyNjQ2YTA0ZWZhYmE5ZDFk
MTg1YzI2OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
UzE1LjkuMy4xX0EzX1Q2LjIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvUzE1LjkuMy4xX0EzX1Q2LjIuanMKQEAgLTE0LDYxICsxNCwzNyBAQAogRGF0ZS5wcm90
b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwogCiB2YXIgeDEgPSBu
ZXcgRGF0ZSgxODk5LCAxMSwgMzEsIDIzLCA1OSwgNTksIDk5OSk7Ci1pZiAoeDEudG9TdHJpbmco
KSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxOiBU
aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMg
c2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4MS50b1N0cmluZygpLCAiW29i
amVjdCBEYXRlXSIsICd4MS50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IERhdGVdIicp
OwogCiB2YXIgeDIgPSBuZXcgRGF0ZSgxODk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoeDIu
dG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBv
YmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4Mi50b1N0cmlu
ZygpLCAiW29iamVjdCBEYXRlXSIsICd4Mi50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0
IERhdGVdIicpOwogCiB2YXIgeDMgPSBuZXcgRGF0ZSgxOTAwLCAwLCAxLCAwLCAwLCAwLCAwKTsK
LWlmICh4My50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgz
LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gzLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4g
IltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4NCA9IG5ldyBEYXRlKDE5NjksIDExLCAzMSwgMjMs
IDU5LCA1OSwgOTk5KTsKLWlmICh4NC50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQ6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2Yg
dGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKHg0LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g0LnRvU3RyaW5n
KCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4NSA9IG5ldyBEYXRlKDE5
NjksIDEyLCAxLCAwLCAwLCAwLCAwKTsKLWlmICh4NS50b1N0cmluZygpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzU6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg1LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g1
LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4NiA9IG5l
dyBEYXRlKDE5NzAsIDAsIDEsIDAsIDAsIDAsIDApOwotaWYgKHg2LnRvU3RyaW5nKCkgIT09ICJb
b2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNjogVGhlIFtbQ2xh
c3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAn
RGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDYudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0
ZV0iLCAneDYudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFy
IHg3ID0gbmV3IERhdGUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHg3LnRv
U3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2Jq
ZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDcudG9TdHJpbmco
KSwgIltvYmplY3QgRGF0ZV0iLCAneDcudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBE
YXRlXSInKTsKIAogdmFyIHg4ID0gbmV3IERhdGUoMTk5OSwgMTIsIDEsIDAsIDAsIDAsIDApOwot
aWYgKHg4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjODogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3Ry
dWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoeDgu
dG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDgudG9TdHJpbmcoKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg5ID0gbmV3IERhdGUoMjAwMCwgMCwgMSwgMCwgMCwg
MCwgMCk7Ci1pZiAoeDkudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoIiM5OiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXds
eSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh4OS50b1N0cmluZygpLCAiW29iamVjdCBEYXRlXSIsICd4OS50b1N0cmluZygpIG11c3Qg
cmV0dXJuICJbb2JqZWN0IERhdGVdIicpOwogCiB2YXIgeDEwID0gbmV3IERhdGUoMjA5OSwgMTEs
IDMxLCAyMywgNTksIDU5LCA5OTkpOwotaWYgKHgxMC50b1N0cmluZygpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEwOiBUaGUgW1tDbGFzc11dIHBy
b3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4MTAudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAn
eDEwLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MTEg
PSBuZXcgRGF0ZSgyMDk5LCAxMiwgMSwgMCwgMCwgMCwgMCk7Ci1pZiAoeDExLnRvU3RyaW5nKCkg
IT09ICJbb2JqZWN0IERhdGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTE6IFRo
ZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBz
ZXQgdG8gJ0RhdGUnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgxMS50b1N0cmluZygpLCAiW29i
amVjdCBEYXRlXSIsICd4MTEudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSIn
KTsKIAogdmFyIHgxMiA9IG5ldyBEYXRlKDIxMDAsIDAsIDEsIDAsIDAsIDAsIDApOwotaWYgKHgx
Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzEyOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3Rl
ZCBvYmplY3QgaXMgc2V0IHRvICdEYXRlJyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh4MTIudG9T
dHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDEyLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltv
YmplY3QgRGF0ZV0iJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgwZjgzMzU3ZDMxZTg3MTcw
YjJmMjQyOTVkYTMzNDMyMWY2ZjQ2OQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMC5qcwpAQCAtMCwwICsxLDI5IEBA
CisvLyBDb3B5cmlnaHQgMjAwOSB0aGUgU3B1dG5payBhdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2luZm86IHwKKyAgICBUaGUgW1tWYWx1ZV1d
IHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKKyAgICBpcyBzZXQgYnkg
Zm9sbG93aW5nIHN0ZXBzOgorICAgIDEuIENhbGwgVG9OdW1iZXIoeWVhcikKKyAgICAyLiBDYWxs
IFRvTnVtYmVyKG1vbnRoKQorICAgIDMuIElmIGRhdGUgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVy
KGRhdGUpCisgICAgNC4gSWYgaG91cnMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKGhvdXJzKQor
ICAgIDUuIElmIG1pbnV0ZXMgaXMgc3VwcGxpZWQgdXNlIFRvTnVtYmVyKG1pbnV0ZXMpCisgICAg
Ni4gSWYgc2Vjb25kcyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIoc2Vjb25kcykKKyAgICA3LiBJ
ZiBtcyBpcyBzdXBwbGllZCB1c2UgVG9OdW1iZXIobXMpCitlc2lkOiBzZWMtZGF0ZS15ZWFyLW1v
bnRoLWRhdGUtaG91cnMtbWludXRlcy1zZWNvbmRzLW1zCitkZXNjcmlwdGlvbjogMSBhcmd1bWVu
dCAoeWVhcikKKy0tLSovCisKK2Z1bmN0aW9uIFBvaXNvbmVkVmFsdWVPZih2YWwpIHsKKyAgdGhp
cy52YWx1ZSA9IHZhbDsKKyAgdGhpcy52YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigpOworICB9OworICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7
fTsKK30KKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IERhdGUo
bmV3IFBvaXNvbmVkVmFsdWVPZigxKSk7Cit9LCAnYG5ldyBEYXRlKG5ldyBQb2lzb25lZFZhbHVl
T2YoMSkpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDEuanMKaW5k
ZXggNmFiZmI5MWYzMzI4MTkzYzFmYWIzMjA3MTUxMzg4NjEyNjdjYTE1Ny4uY2U4NzVlNmY4NTI5
MTE2ZTkzMzJkYzdjNzAzOWE3MWQwZWY0MDljZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0E0X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMS5qcwpAQCAtMTYsMzQgKzE2
LDE4IEBACiBkZXNjcmlwdGlvbjogMiBhcmd1bWVudHMsICh5ZWFyLCBtb250aCkKIC0tLSovCiAK
LXZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCkgeworZnVuY3Rpb24gUG9pc29uZWRWYWx1ZU9mKHZh
bCkgewogICB0aGlzLnZhbHVlID0gdmFsOwogICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsK
LSAgICB0aHJvdyAidmFsdWVPZi0iICsgdGhpcy52YWx1ZTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCk7CiAgIH07Ci0gIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKLSAgICB0aHJv
dyAidG9TdHJpbmctIiArIHRoaXMudmFsdWU7Ci0gIH07Ci19OwotCi0vL0NIRUNLIzEKLXRyeSB7
Ci0gIHZhciB4MSA9IG5ldyBEYXRlKG5ldyBteU9iaigxKSwgbmV3IG15T2JqKDIpKTsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVy
KHllYXIpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtMSIpIHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9O
dW1iZXIoeWVhcikiKTsKLSAgfQorICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7fTsKIH0K
IAotLy9DSEVDSyMyCi10cnkgewotICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMikp
OwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcg
VG9OdW1iZXIobW9udGgpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2Yt
MiIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNh
bGxpbmcgVG9OdW1iZXIobW9udGgpIik7Ci0gIH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVy
cm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKG5ldyBQb2lzb25lZFZhbHVlT2YoMSksIG5ldyBQb2lz
b25lZFZhbHVlT2YoMikpOworfSwgJ2BuZXcgRGF0ZShuZXcgUG9pc29uZWRWYWx1ZU9mKDEpLCBu
ZXcgUG9pc29uZWRWYWx1ZU9mKDIpKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicp
OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgRGF0ZSgxLCBu
ZXcgUG9pc29uZWRWYWx1ZU9mKDIpKTsKK30sICdgbmV3IERhdGUoMSwgbmV3IFBvaXNvbmVkVmFs
dWVPZigyKSlgIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMi5qcwpp
bmRleCBjOWY5MDk2OTMwNmRiYThmYWNiZWViODQ0ODliYjQ2Y2E0NTNiNjU3Li5kYjE2M2VhOWY3
OTNjODY3NTA5ODMzZDlmY2RmNjFmNGEzNjZlMTVlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4xX0E0X1QyLmpzCkBAIC0xNiw0NSAr
MTYsMjIgQEAKIGRlc2NyaXB0aW9uOiAzIGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlKQog
LS0tKi8KIAotdmFyIG15T2JqID0gZnVuY3Rpb24odmFsKSB7CitmdW5jdGlvbiBQb2lzb25lZFZh
bHVlT2YodmFsKSB7CiAgIHRoaXMudmFsdWUgPSB2YWw7CiAgIHRoaXMudmFsdWVPZiA9IGZ1bmN0
aW9uKCkgewotICAgIHRocm93ICJ2YWx1ZU9mLSIgKyB0aGlzLnZhbHVlOworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoKTsKICAgfTsKLSAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRocm93ICJ0b1N0cmluZy0iICsgdGhpcy52YWx1ZTsKLSAgfTsKLX07Ci0KLS8vQ0hFQ0sj
MQotdHJ5IHsKLSAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiks
IG5ldyBteU9iaigzKSk7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxOiBUaGUgMXN0IHN0
ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwotfQotY2F0Y2ggKGUpIHsKLSAgaWYgKGUg
IT09ICJ2YWx1ZU9mLTEiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSAx
c3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7Ci0gIH0KKyAgdGhpcy50b1N0cmlu
ZyA9IGZ1bmN0aW9uKCkge307CiB9CiAKLS8vQ0hFQ0sjMgotdHJ5IHsKLSAgdmFyIHgyID0gbmV3
IERhdGUoMSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMykpOwotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7Ci19
Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtMiIpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgp
Iik7Ci0gIH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBE
YXRlKG5ldyBQb2lzb25lZFZhbHVlT2YoMSksIG5ldyBQb2lzb25lZFZhbHVlT2YoMiksIG5ldyBQ
b2lzb25lZFZhbHVlT2YoMykpOworfSwgJ2BuZXcgRGF0ZShuZXcgUG9pc29uZWRWYWx1ZU9mKDEp
LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDIpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMpKWAgdGhyb3dz
IGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCi0vL0NIRUNLIzMKLXRyeSB7Ci0gIHZhciB4
MyA9IG5ldyBEYXRlKDEsIDIsIG5ldyBteU9iaigzKSk7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwotfQotY2F0
Y2ggKGUpIHsKLSAgaWYgKGUgIT09ICJ2YWx1ZU9mLTMiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzM6IFRoZSAzcmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGRhdGUpIik7Ci0g
IH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEs
IG5ldyBQb2lzb25lZFZhbHVlT2YoMiksIG5ldyBQb2lzb25lZFZhbHVlT2YoMykpOworfSwgJ2Bu
ZXcgRGF0ZSgxLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDIpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMp
KWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOworCithc3NlcnQudGhyb3dzKFRl
c3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgRGF0ZSgxLCAyLCBuZXcgUG9pc29uZWRWYWx1ZU9m
KDMpKTsKK30sICdgbmV3IERhdGUoMSwgMiwgbmV3IFBvaXNvbmVkVmFsdWVPZigzKSlgIHRocm93
cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UMy5qcwppbmRleCBiZDAwOTcyMjA5
MWE5YWQ4NDE1ZWZlNGIyZmRkZTVkNmQyZjk3ZTUxLi5lM2NjNDZhMDlkMjkwNjgyN2U4ZTU4MzRm
MTlkYTM5NDA4MWU1ZDRkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvUzE1LjkuMy4xX0E0X1QzLmpzCkBAIC0xNiw1NiArMTYsMjYgQEAKIGRlc2Ny
aXB0aW9uOiA0IGFyZ3VtZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycykKIC0tLSovCiAK
LXZhciBteU9iaiA9IGZ1bmN0aW9uKHZhbCkgeworZnVuY3Rpb24gUG9pc29uZWRWYWx1ZU9mKHZh
bCkgewogICB0aGlzLnZhbHVlID0gdmFsOwogICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsK
LSAgICB0aHJvdyAidmFsdWVPZi0iICsgdGhpcy52YWx1ZTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCk7CiAgIH07Ci0gIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKLSAgICB0aHJv
dyAidG9TdHJpbmctIiArIHRoaXMudmFsdWU7Ci0gIH07Ci19OwotCi0vL0NIRUNLIzEKLXRyeSB7
Ci0gIHZhciB4MSA9IG5ldyBEYXRlKG5ldyBteU9iaigxKSwgbmV3IG15T2JqKDIpLCBuZXcgbXlP
YmooMyksIG5ldyBteU9iaig0KSk7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxOiBUaGUg
MXN0IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcih5ZWFyKSIpOwotfQotY2F0Y2ggKGUpIHsKLSAg
aWYgKGUgIT09ICJ2YWx1ZU9mLTEiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6
IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7Ci0gIH0KKyAgdGhpcy50
b1N0cmluZyA9IGZ1bmN0aW9uKCkge307CiB9CiAKLS8vQ0hFQ0sjMgotdHJ5IHsKLSAgdmFyIHgy
ID0gbmV3IERhdGUoMSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSk7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBU
b051bWJlcihtb250aCkiKTsKLX0KLWNhdGNoIChlKSB7Ci0gIGlmIChlICE9PSAidmFsdWVPZi0y
IikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyOiBUaGUgMm5kIHN0ZXAgaXMgY2Fs
bGluZyBUb051bWJlcihtb250aCkiKTsKLSAgfQotfQorYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJy
b3IsICgpID0+IHsKKyAgbmV3IERhdGUobmV3IFBvaXNvbmVkVmFsdWVPZigxKSwgbmV3IFBvaXNv
bmVkVmFsdWVPZigyKSwgbmV3IFBvaXNvbmVkVmFsdWVPZigzKSwgbmV3IFBvaXNvbmVkVmFsdWVP
Zig0KSk7Cit9LCAnYG5ldyBEYXRlKG5ldyBQb2lzb25lZFZhbHVlT2YoMSksIG5ldyBQb2lzb25l
ZFZhbHVlT2YoMiksIG5ldyBQb2lzb25lZFZhbHVlT2YoMyksIG5ldyBQb2lzb25lZFZhbHVlT2Yo
NCkpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CiAKLS8vQ0hFQ0sjMwotdHJ5
IHsKLSAgdmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCkp
OwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcg
VG9OdW1iZXIoZGF0ZSkiKTsKLX0KLWNhdGNoIChlKSB7Ci0gIGlmIChlICE9PSAidmFsdWVPZi0z
IikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2Fs
bGluZyBUb051bWJlcihkYXRlKSIpOwotICB9Ci19Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJv
ciwgKCkgPT4geworICBuZXcgRGF0ZSgxLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDIpLCBuZXcgUG9p
c29uZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpKTsKK30sICdgbmV3IERhdGUo
MSwgbmV3IFBvaXNvbmVkVmFsdWVPZigyKSwgbmV3IFBvaXNvbmVkVmFsdWVPZigzKSwgbmV3IFBv
aXNvbmVkVmFsdWVPZig0KSlgIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKIAot
Ly9DSEVDSyM0Ci10cnkgewotICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgbXlPYmoo
NCkpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxp
bmcgVG9OdW1iZXIoaG91cnMpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVl
T2YtNCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIDR0aCBzdGVwIGlz
IGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7Ci0gIH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2
MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEsIDIsIG5ldyBQb2lzb25lZFZhbHVlT2YoMyks
IG5ldyBQb2lzb25lZFZhbHVlT2YoNCkpOworfSwgJ2BuZXcgRGF0ZSgxLCAyLCBuZXcgUG9pc29u
ZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpKWAgdGhyb3dzIGEgVGVzdDI2MkVy
cm9yIGV4Y2VwdGlvbicpOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4gewor
ICBuZXcgRGF0ZSgxLCAyLCAzLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpKTsKK30sICdgbmV3IERh
dGUoMSwgMiwgMywgbmV3IFBvaXNvbmVkVmFsdWVPZig0KSlgIHRocm93cyBhIFRlc3QyNjJFcnJv
ciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL1MxNS45LjMuMV9BNF9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL1MxNS45LjMuMV9BNF9UNC5qcwppbmRleCBlMDAxNzU2MDQ0NjAyZGZjNGE5ZDE4YWE0
ZDhiMGE5ZjZlNjYzZWQxLi4xNWVlYzRhMDljMmE4ZGMwYmRiMGM5OTUyMjFhMGEzYTQ5MmQ3ZTJh
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4z
LjFfQTRfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1
LjkuMy4xX0E0X1Q0LmpzCkBAIC0xNiw2NyArMTYsMzAgQEAKIGRlc2NyaXB0aW9uOiA1IGFyZ3Vt
ZW50cywgKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcykKIC0tLSovCiAKLXZhciBt
eU9iaiA9IGZ1bmN0aW9uKHZhbCkgeworZnVuY3Rpb24gUG9pc29uZWRWYWx1ZU9mKHZhbCkgewog
ICB0aGlzLnZhbHVlID0gdmFsOwogICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsKLSAgICB0
aHJvdyAidmFsdWVPZi0iICsgdGhpcy52YWx1ZTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCk7CiAgIH07Ci0gIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKLSAgICB0aHJvdyAidG9T
dHJpbmctIiArIHRoaXMudmFsdWU7Ci0gIH07Ci19OwotCi0vL0NIRUNLIzEKLXRyeSB7Ci0gIHZh
ciB4MSA9IG5ldyBEYXRlKG5ldyBteU9iaigxKSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyks
IG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpKTsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
IzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHllYXIpIik7Ci19Ci1jYXRjaCAo
ZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtMSIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjMTogVGhlIDFzdCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoeWVhcikiKTsKLSAgfQor
ICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7fTsKIH0KIAotLy9DSEVDSyMyCi10cnkgewot
ICB2YXIgeDIgPSBuZXcgRGF0ZSgxLCBuZXcgbXlPYmooMiksIG5ldyBteU9iaigzKSwgbmV3IG15
T2JqKDQpLCBuZXcgbXlPYmooNSkpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhl
IDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7Ci19Ci1jYXRjaCAoZSkgewot
ICBpZiAoZSAhPT0gInZhbHVlT2YtMiIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MjogVGhlIDJuZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7Ci0gIH0KLX0KK2Fz
c2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKG5ldyBQb2lzb25l
ZFZhbHVlT2YoMSksIG5ldyBQb2lzb25lZFZhbHVlT2YoMiksIG5ldyBQb2lzb25lZFZhbHVlT2Yo
MyksIG5ldyBQb2lzb25lZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVlT2YoNSkpOworfSwg
J2BuZXcgRGF0ZShuZXcgUG9pc29uZWRWYWx1ZU9mKDEpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDIp
LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpLCBuZXcgUG9p
c29uZWRWYWx1ZU9mKDUpKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCi0v
L0NIRUNLIzMKLXRyeSB7Ci0gIHZhciB4MyA9IG5ldyBEYXRlKDEsIDIsIG5ldyBteU9iaigzKSwg
bmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSkpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKLX0KLWNhdGNoIChl
KSB7Ci0gIGlmIChlICE9PSAidmFsdWVPZi0zIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwotICB9Ci19
Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgRGF0ZSgxLCBuZXcg
UG9pc29uZWRWYWx1ZU9mKDIpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRW
YWx1ZU9mKDQpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpKTsKK30sICdgbmV3IERhdGUoMSwgbmV3
IFBvaXNvbmVkVmFsdWVPZigyKSwgbmV3IFBvaXNvbmVkVmFsdWVPZigzKSwgbmV3IFBvaXNvbmVk
VmFsdWVPZig0KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig1KSlgIHRocm93cyBhIFRlc3QyNjJFcnJv
ciBleGNlcHRpb24nKTsKIAotLy9DSEVDSyM0Ci10cnkgewotICB2YXIgeDQgPSBuZXcgRGF0ZSgx
LCAyLCAzLCBuZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSk7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3VycykiKTsKLX0K
LWNhdGNoIChlKSB7Ci0gIGlmIChlICE9PSAidmFsdWVPZi00IikgewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiM0OiBUaGUgNHRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihob3Vycyki
KTsKLSAgfQotfQorYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IERh
dGUoMSwgMiwgbmV3IFBvaXNvbmVkVmFsdWVPZigzKSwgbmV3IFBvaXNvbmVkVmFsdWVPZig0KSwg
bmV3IFBvaXNvbmVkVmFsdWVPZig1KSk7Cit9LCAnYG5ldyBEYXRlKDEsIDIsIG5ldyBQb2lzb25l
ZFZhbHVlT2YoMyksIG5ldyBQb2lzb25lZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVlT2Yo
NSkpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CiAKLS8vQ0hFQ0sjNQotdHJ5
IHsKLSAgdmFyIHg1ID0gbmV3IERhdGUoMSwgMiwgMywgNCwgbmV3IG15T2JqKDUpKTsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzU6IFRoZSA1dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVy
KG1pbnV0ZXMpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtNSIpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcg
VG9OdW1iZXIobWludXRlcykiKTsKLSAgfQotfQorYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3Is
ICgpID0+IHsKKyAgbmV3IERhdGUoMSwgMiwgMywgbmV3IFBvaXNvbmVkVmFsdWVPZig0KSwgbmV3
IFBvaXNvbmVkVmFsdWVPZig1KSk7Cit9LCAnYG5ldyBEYXRlKDEsIDIsIDMsIG5ldyBQb2lzb25l
ZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVlT2YoNSkpYCB0aHJvd3MgYSBUZXN0MjYyRXJy
b3IgZXhjZXB0aW9uJyk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7Cisg
IG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBQb2lzb25lZFZhbHVlT2YoNSkpOworfSwgJ2BuZXcg
RGF0ZSgxLCAyLCAzLCA0LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpKWAgdGhyb3dzIGEgVGVzdDI2
MkVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvUzE1LjkuMy4xX0E0X1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvUzE1LjkuMy4xX0E0X1Q1LmpzCmluZGV4IGUwYzVkNmMwYjQ1OWZlZjA2NWQ5
OGFmMjY0NjQxZjMxOTk3M2U5MjIuLmY3ODdjYzhmNDg4MzA3Zjk1MjQ0MjJiZmYyNWJjYjNlZGMy
MTAyYzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1Mx
NS45LjMuMV9BNF9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9TMTUuOS4zLjFfQTRfVDUuanMKQEAgLTE2LDc4ICsxNiwzNCBAQAogZGVzY3JpcHRpb246IDYg
YXJndW1lbnRzLCAoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKQog
LS0tKi8KIAotdmFyIG15T2JqID0gZnVuY3Rpb24odmFsKSB7CitmdW5jdGlvbiBQb2lzb25lZFZh
bHVlT2YodmFsKSB7CiAgIHRoaXMudmFsdWUgPSB2YWw7CiAgIHRoaXMudmFsdWVPZiA9IGZ1bmN0
aW9uKCkgewotICAgIHRocm93ICJ2YWx1ZU9mLSIgKyB0aGlzLnZhbHVlOworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoKTsKICAgfTsKLSAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgewot
ICAgIHRocm93ICJ0b1N0cmluZy0iICsgdGhpcy52YWx1ZTsKLSAgfTsKLX07Ci0KLS8vQ0hFQ0sj
MQotdHJ5IHsKLSAgdmFyIHgxID0gbmV3IERhdGUobmV3IG15T2JqKDEpLCBuZXcgbXlPYmooMiks
IG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmooNSksIG5ldyBteU9iaig2KSk7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBU
b051bWJlcih5ZWFyKSIpOwotfQotY2F0Y2ggKGUpIHsKLSAgaWYgKGUgIT09ICJ2YWx1ZU9mLTEi
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxs
aW5nIFRvTnVtYmVyKHllYXIpIik7Ci0gIH0KKyAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkg
e307CiB9CiAKLS8vQ0hFQ0sjMgotdHJ5IHsKLSAgdmFyIHgyID0gbmV3IERhdGUoMSwgbmV3IG15
T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpLCBuZXcgbXlP
YmooNikpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhlIDJuZCBzdGVwIGlzIGNh
bGxpbmcgVG9OdW1iZXIobW9udGgpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZh
bHVlT2YtMiIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMjogVGhlIDJuZCBzdGVw
IGlzIGNhbGxpbmcgVG9OdW1iZXIobW9udGgpIik7Ci0gIH0KLX0KK2Fzc2VydC50aHJvd3MoVGVz
dDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKG5ldyBQb2lzb25lZFZhbHVlT2YoMSksIG5l
dyBQb2lzb25lZFZhbHVlT2YoMiksIG5ldyBQb2lzb25lZFZhbHVlT2YoMyksIG5ldyBQb2lzb25l
ZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVlT2YoNSksIG5ldyBQb2lzb25lZFZhbHVlT2Yo
NikpOworfSwgJ2BuZXcgRGF0ZShuZXcgUG9pc29uZWRWYWx1ZU9mKDEpLCBuZXcgUG9pc29uZWRW
YWx1ZU9mKDIpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQp
LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDYpKWAgdGhyb3dz
IGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCi0vL0NIRUNLIzMKLXRyeSB7Ci0gIHZhciB4
MyA9IG5ldyBEYXRlKDEsIDIsIG5ldyBteU9iaigzKSwgbmV3IG15T2JqKDQpLCBuZXcgbXlPYmoo
NSksIG5ldyBteU9iaig2KSk7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzOiBUaGUgM3Jk
IHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIpOwotfQotY2F0Y2ggKGUpIHsKLSAgaWYg
KGUgIT09ICJ2YWx1ZU9mLTMiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzM6IFRo
ZSAzcmQgc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKGRhdGUpIik7Ci0gIH0KLX0KK2Fzc2VydC50
aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEsIG5ldyBQb2lzb25lZFZh
bHVlT2YoMiksIG5ldyBQb2lzb25lZFZhbHVlT2YoMyksIG5ldyBQb2lzb25lZFZhbHVlT2YoNCks
IG5ldyBQb2lzb25lZFZhbHVlT2YoNSksIG5ldyBQb2lzb25lZFZhbHVlT2YoNikpOworfSwgJ2Bu
ZXcgRGF0ZSgxLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDIpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMp
LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpLCBuZXcgUG9p
c29uZWRWYWx1ZU9mKDYpKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCi0v
L0NIRUNLIzQKLXRyeSB7Ci0gIHZhciB4NCA9IG5ldyBEYXRlKDEsIDIsIDMsIG5ldyBteU9iaig0
KSwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNikpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7Ci19Ci1jYXRj
aCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtNCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoaG91cnMpIik7Ci0g
IH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEs
IDIsIG5ldyBQb2lzb25lZFZhbHVlT2YoMyksIG5ldyBQb2lzb25lZFZhbHVlT2YoNCksIG5ldyBQ
b2lzb25lZFZhbHVlT2YoNSksIG5ldyBQb2lzb25lZFZhbHVlT2YoNikpOworfSwgJ2BuZXcgRGF0
ZSgxLCAyLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpLCBu
ZXcgUG9pc29uZWRWYWx1ZU9mKDUpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDYpKWAgdGhyb3dzIGEg
VGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCi0vL0NIRUNLIzUKLXRyeSB7Ci0gIHZhciB4NSA9
IG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBteU9iaig1KSwgbmV3IG15T2JqKDYpKTsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzU6IFRoZSA1dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVy
KG1pbnV0ZXMpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtNSIpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhlIDV0aCBzdGVwIGlzIGNhbGxpbmcg
VG9OdW1iZXIobWludXRlcykiKTsKLSAgfQotfQorYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3Is
ICgpID0+IHsKKyAgbmV3IERhdGUoMSwgMiwgMywgbmV3IFBvaXNvbmVkVmFsdWVPZig0KSwgbmV3
IFBvaXNvbmVkVmFsdWVPZig1KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig2KSk7Cit9LCAnYG5ldyBE
YXRlKDEsIDIsIDMsIG5ldyBQb2lzb25lZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVlT2Yo
NSksIG5ldyBQb2lzb25lZFZhbHVlT2YoNikpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0
aW9uJyk7CiAKLS8vQ0hFQ0sjNgotdHJ5IHsKLSAgdmFyIHg2ID0gbmV3IERhdGUoMSwgMiwgMywg
NCwgNSwgbmV3IG15T2JqKDYpKTsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSA2
dGggc3RlcCBpcyBjYWxsaW5nIFRvTnVtYmVyKHNlY29uZHMpIik7Ci19Ci1jYXRjaCAoZSkgewot
ICBpZiAoZSAhPT0gInZhbHVlT2YtNiIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
NjogVGhlIDZ0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoc2Vjb25kcykiKTsKLSAgfQotfQor
YXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IERhdGUoMSwgMiwgMywg
NCwgbmV3IFBvaXNvbmVkVmFsdWVPZig1KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig2KSk7Cit9LCAn
YG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBQb2lzb25lZFZhbHVlT2YoNSksIG5ldyBQb2lzb25l
ZFZhbHVlT2YoNikpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CisKK2Fzc2Vy
dC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEsIDIsIDMsIDQsIDUs
IG5ldyBQb2lzb25lZFZhbHVlT2YoNikpOworfSwgJ2BuZXcgRGF0ZSgxLCAyLCAzLCA0LCA1LCBu
ZXcgUG9pc29uZWRWYWx1ZU9mKDYpKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1Ljku
My4xX0E0X1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1Ljku
My4xX0E0X1Q2LmpzCmluZGV4IGY1YWI2YzE0MDk4MDhmYWRmY2RmMGE2YjQ3MGI4OTE2ZTY2ODNm
M2YuLmJjMWY3ZGI2ZTMyMDdiOWJkZGViODJlZDdkMjZjM2Q4OGM2NjQ3ZGIgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNF9UNi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTRfVDYu
anMKQEAgLTE2LDg5ICsxNiwzOCBAQAogZGVzY3JpcHRpb246IDcgYXJndW1lbnRzLCAoeWVhciwg
bW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykKIC0tLSovCiAKLXZhciBt
eU9iaiA9IGZ1bmN0aW9uKHZhbCkgeworZnVuY3Rpb24gUG9pc29uZWRWYWx1ZU9mKHZhbCkgewog
ICB0aGlzLnZhbHVlID0gdmFsOwogICB0aGlzLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsKLSAgICB0
aHJvdyAidmFsdWVPZi0iICsgdGhpcy52YWx1ZTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCk7CiAgIH07Ci0gIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKLSAgICB0aHJvdyAidG9T
dHJpbmctIiArIHRoaXMudmFsdWU7Ci0gIH07Ci19OwotCi0vL0NIRUNLIzEKLXRyeSB7Ci0gIHZh
ciB4MSA9IG5ldyBEYXRlKG5ldyBteU9iaigxKSwgbmV3IG15T2JqKDIpLCBuZXcgbXlPYmooMyks
IG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpLCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxOiBUaGUgMXN0IHN0ZXAgaXMgY2FsbGluZyBU
b051bWJlcih5ZWFyKSIpOwotfQotY2F0Y2ggKGUpIHsKLSAgaWYgKGUgIT09ICJ2YWx1ZU9mLTEi
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSAxc3Qgc3RlcCBpcyBjYWxs
aW5nIFRvTnVtYmVyKHllYXIpIik7Ci0gIH0KKyAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkg
e307CiB9CiAKLS8vQ0hFQ0sjMgotdHJ5IHsKLSAgdmFyIHgyID0gbmV3IERhdGUoMSwgbmV3IG15
T2JqKDIpLCBuZXcgbXlPYmooMyksIG5ldyBteU9iaig0KSwgbmV3IG15T2JqKDUpLCBuZXcgbXlP
YmooNiksIG5ldyBteU9iaig3KSk7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyOiBUaGUg
Mm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKLX0KLWNhdGNoIChlKSB7Ci0g
IGlmIChlICE9PSAidmFsdWVPZi0yIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMy
OiBUaGUgMm5kIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtb250aCkiKTsKLSAgfQotfQorYXNz
ZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IERhdGUobmV3IFBvaXNvbmVk
VmFsdWVPZigxKSwgbmV3IFBvaXNvbmVkVmFsdWVPZigyKSwgbmV3IFBvaXNvbmVkVmFsdWVPZigz
KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig0KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig1KSwgbmV3IFBv
aXNvbmVkVmFsdWVPZig2KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig3KSk7Cit9LCAnYG5ldyBEYXRl
KG5ldyBQb2lzb25lZFZhbHVlT2YoMSksIG5ldyBQb2lzb25lZFZhbHVlT2YoMiksIG5ldyBQb2lz
b25lZFZhbHVlT2YoMyksIG5ldyBQb2lzb25lZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVl
T2YoNSksIG5ldyBQb2lzb25lZFZhbHVlT2YoNiksIG5ldyBQb2lzb25lZFZhbHVlT2YoNykpYCB0
aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CiAKLS8vQ0hFQ0sjMwotdHJ5IHsKLSAg
dmFyIHgzID0gbmV3IERhdGUoMSwgMiwgbmV3IG15T2JqKDMpLCBuZXcgbXlPYmooNCksIG5ldyBt
eU9iaig1KSwgbmV3IG15T2JqKDYpLCBuZXcgbXlPYmooNykpOwotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjMzogVGhlIDNyZCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIoZGF0ZSkiKTsKLX0K
LWNhdGNoIChlKSB7Ci0gIGlmIChlICE9PSAidmFsdWVPZi0zIikgewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiMzOiBUaGUgM3JkIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihkYXRlKSIp
OwotICB9Ci19Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgRGF0
ZSgxLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDIpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDMpLCBuZXcg
UG9pc29uZWRWYWx1ZU9mKDQpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpLCBuZXcgUG9pc29uZWRW
YWx1ZU9mKDYpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDcpKTsKK30sICdgbmV3IERhdGUoMSwgbmV3
IFBvaXNvbmVkVmFsdWVPZigyKSwgbmV3IFBvaXNvbmVkVmFsdWVPZigzKSwgbmV3IFBvaXNvbmVk
VmFsdWVPZig0KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig1KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig2
KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig3KSlgIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRp
b24nKTsKIAotLy9DSEVDSyM0Ci10cnkgewotICB2YXIgeDQgPSBuZXcgRGF0ZSgxLCAyLCAzLCBu
ZXcgbXlPYmooNCksIG5ldyBteU9iaig1KSwgbmV3IG15T2JqKDYpLCBuZXcgbXlPYmooNykpOwot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxpbmcgVG9O
dW1iZXIoaG91cnMpIik7Ci19Ci1jYXRjaCAoZSkgewotICBpZiAoZSAhPT0gInZhbHVlT2YtNCIp
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogVGhlIDR0aCBzdGVwIGlzIGNhbGxp
bmcgVG9OdW1iZXIoaG91cnMpIik7Ci0gIH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCAoKSA9PiB7CisgIG5ldyBEYXRlKDEsIDIsIG5ldyBQb2lzb25lZFZhbHVlT2YoMyksIG5ldyBQ
b2lzb25lZFZhbHVlT2YoNCksIG5ldyBQb2lzb25lZFZhbHVlT2YoNSksIG5ldyBQb2lzb25lZFZh
bHVlT2YoNiksIG5ldyBQb2lzb25lZFZhbHVlT2YoNykpOworfSwgJ2BuZXcgRGF0ZSgxLCAyLCBu
ZXcgUG9pc29uZWRWYWx1ZU9mKDMpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpLCBuZXcgUG9pc29u
ZWRWYWx1ZU9mKDUpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDYpLCBuZXcgUG9pc29uZWRWYWx1ZU9m
KDcpKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCi0vL0NIRUNLIzUKLXRy
eSB7Ci0gIHZhciB4NSA9IG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBteU9iaig1KSwgbmV3IG15
T2JqKDYpLCBuZXcgbXlPYmooNykpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhl
IDV0aCBzdGVwIGlzIGNhbGxpbmcgVG9OdW1iZXIobWludXRlcykiKTsKLX0KLWNhdGNoIChlKSB7
Ci0gIGlmIChlICE9PSAidmFsdWVPZi01IikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IiM1OiBUaGUgNXRoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtaW51dGVzKSIpOwotICB9Ci19
Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgRGF0ZSgxLCAyLCAz
LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDQpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpLCBuZXcgUG9p
c29uZWRWYWx1ZU9mKDYpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDcpKTsKK30sICdgbmV3IERhdGUo
MSwgMiwgMywgbmV3IFBvaXNvbmVkVmFsdWVPZig0KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig1KSwg
bmV3IFBvaXNvbmVkVmFsdWVPZig2KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig3KSlgIHRocm93cyBh
IFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKIAotLy9DSEVDSyM2Ci10cnkgewotICB2YXIgeDYg
PSBuZXcgRGF0ZSgxLCAyLCAzLCA0LCA1LCBuZXcgbXlPYmooNiksIG5ldyBteU9iaig3KSk7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM2OiBUaGUgNnRoIHN0ZXAgaXMgY2FsbGluZyBUb051
bWJlcihzZWNvbmRzKSIpOwotfQotY2F0Y2ggKGUpIHsKLSAgaWYgKGUgIT09ICJ2YWx1ZU9mLTYi
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSA2dGggc3RlcCBpcyBjYWxs
aW5nIFRvTnVtYmVyKHNlY29uZHMpIik7Ci0gIH0KLX0KK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVy
cm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEsIDIsIDMsIDQsIG5ldyBQb2lzb25lZFZhbHVlT2Yo
NSksIG5ldyBQb2lzb25lZFZhbHVlT2YoNiksIG5ldyBQb2lzb25lZFZhbHVlT2YoNykpOworfSwg
J2BuZXcgRGF0ZSgxLCAyLCAzLCA0LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDUpLCBuZXcgUG9pc29u
ZWRWYWx1ZU9mKDYpLCBuZXcgUG9pc29uZWRWYWx1ZU9mKDcpKWAgdGhyb3dzIGEgVGVzdDI2MkVy
cm9yIGV4Y2VwdGlvbicpOwogCi0vL0NIRUNLIzcKLXRyeSB7Ci0gIHZhciB4NyA9IG5ldyBEYXRl
KDEsIDIsIDMsIDQsIDUsIDYsIG5ldyBteU9iaig3KSk7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiM3OiBUaGUgN3RoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtcykiKTsKLX0KLWNhdGNo
IChlKSB7Ci0gIGlmIChlICE9PSAidmFsdWVPZi03IikgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiM3OiBUaGUgN3RoIHN0ZXAgaXMgY2FsbGluZyBUb051bWJlcihtcykiKTsKLSAgfQot
fQorYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IERhdGUoMSwgMiwg
MywgNCwgNSwgbmV3IFBvaXNvbmVkVmFsdWVPZig2KSwgbmV3IFBvaXNvbmVkVmFsdWVPZig3KSk7
Cit9LCAnYG5ldyBEYXRlKDEsIDIsIDMsIDQsIDUsIG5ldyBQb2lzb25lZFZhbHVlT2YoNiksIG5l
dyBQb2lzb25lZFZhbHVlT2YoNykpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7
CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlKDEsIDIs
IDMsIDQsIDUsIDYsIG5ldyBQb2lzb25lZFZhbHVlT2YoNykpOworfSwgJ2BuZXcgRGF0ZSgxLCAy
LCAzLCA0LCA1LCA2LCBuZXcgUG9pc29uZWRWYWx1ZU9mKDcpKWAgdGhyb3dzIGEgVGVzdDI2MkVy
cm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuMy4xX0E2X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuMy4xX0E2X1QxLmpzCmluZGV4IDdmZDYyYzM5MjQyODcxODBlMTgxZDcz
ZTRhN2YzNmI3ODIwNDgzZDAuLjVhNDkzZjhiY2I2Y2ZlZDU0MTgzODNiYzg2MjM5OWZjMzg5NWI5
NjQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45
LjMuMV9BNl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9T
MTUuOS4zLjFfQTZfVDEuanMKQEAgLTE1LDM3ICsxNSwzNyBAQCBmdW5jdGlvbiBEYXRlVmFsdWUo
eWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykgewogCiB2YXIg
eDsKIHggPSBEYXRlVmFsdWUoMTg5OSwgMTEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIo
MTg5OSwgMTEpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE4OTksIDEyKTsKLWFz
c2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE4OTksIDEyKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4
LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9
IERhdGVWYWx1ZSgxOTAwLCAwKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE5MDAsIDAp
Iik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5NjksIDExKTsKLWFzc2VydC5zYW1l
VmFsdWUoeCwgTmFOLCAiKDE5NjksIDExKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdU
aGUgdmFsdWUgb2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1
ZSgxOTY5LCAxMik7Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgIigxOTY5LCAxMikiKTsKK2Fz
c2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk3MCwgMCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHgs
IE5hTiwgIigxOTcwLCAwKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUg
b2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1ZSgxOTk5LCAx
MSk7Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgIigxOTk5LCAxMSkiKTsKK2Fzc2VydC5zYW1l
VmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7
CiAKIHggPSBEYXRlVmFsdWUoMTk5OSwgMTIpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIo
MTk5OSwgMTIpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDIwMDAsIDApOwotYXNz
ZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMjAwMCwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwg
TmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBE
YXRlVmFsdWUoMjA5OSwgMTEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMjA5OSwgMTEp
Iik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDIwOTksIDEyKTsKLWFzc2VydC5zYW1l
VmFsdWUoeCwgTmFOLCAiKDIwOTksIDEyKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdU
aGUgdmFsdWUgb2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1
ZSgyMTAwLCAwKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDIxMDAsIDApIik7Cithc3Nl
cnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IE5hTicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
UzE1LjkuMy4xX0E2X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
UzE1LjkuMy4xX0E2X1QyLmpzCmluZGV4IDE3YWU2ZWFjYTNhZWM2M2UwOGE5MmRhNmE0YTgzYTUy
MTcwMzM0OTcuLjczZDBkY2NkZjM0OWE1YzMwZWEyOGE1YTI5NDM2ZjhkYTViOTA1NTggMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNl9U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFf
QTZfVDIuanMKQEAgLTE1LDM3ICsxNSwzNyBAQCBmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9u
dGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykgewogCiB2YXIgeDsKIHggPSBE
YXRlVmFsdWUoMTg5OSwgMTEsIDMxKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE4OTks
IDExLCAzMSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTg5OSwgMTIsIDEpOwot
YXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTg5OSwgMTIsIDEpIik7Cithc3NlcnQuc2FtZVZh
bHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwog
CiB4ID0gRGF0ZVZhbHVlKDE5MDAsIDAsIDEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIo
MTkwMCwgMCwgMSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk2OSwgMTEsIDMx
KTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE5NjksIDExLCAzMSkiKTsKK2Fzc2VydC5z
YW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFO
Jyk7CiAKIHggPSBEYXRlVmFsdWUoMTk2OSwgMTIsIDEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBO
YU4sICIoMTk2OSwgMTIsIDEpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1
ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5NzAs
IDAsIDEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk3MCwgMCwgMSkiKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
TmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk5OSwgMTEsIDMxKTsKLWFzc2VydC5zYW1lVmFsdWUo
eCwgTmFOLCAiKDE5OTksIDExLCAzMSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhl
IHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUo
MTk5OSwgMTIsIDEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk5OSwgMTIsIDEpIik7
Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRv
IGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDIwMDAsIDAsIDEpOwotYXNzZXJ0LnNhbWVW
YWx1ZSh4LCBOYU4sICIoMjAwMCwgMCwgMSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAn
VGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFs
dWUoMjA5OSwgMTEsIDMxKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDIwOTksIDExLCAz
MSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMjA5OSwgMTIsIDEpOwotYXNzZXJ0
LnNhbWVWYWx1ZSh4LCBOYU4sICIoMjA5OSwgMTIsIDEpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgs
IE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0g
RGF0ZVZhbHVlKDIxMDAsIDAsIDEpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMjEwMCwg
MCwgMSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTZfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTZfVDMuanMKaW5kZXggYzZmNTVhMmM1Zjg1MDk5MTMz
MDMzYzc0ZTg5ODE4ZDI0YTYxYjU0My4uMWY2YzdmN2I0NmNmYTZkN2EwODc1YWRiOWM5M2FkMDNl
OTg4OTQ3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
UzE1LjkuMy4xX0E2X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL1MxNS45LjMuMV9BNl9UMy5qcwpAQCAtMTUsMzcgKzE1LDM3IEBAIGZ1bmN0aW9uIERhdGVW
YWx1ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKSB7CiAK
IHZhciB4OwogeCA9IERhdGVWYWx1ZSgxODk5LCAxMSwgMzEsIDIzKTsKLWFzc2VydC5zYW1lVmFs
dWUoeCwgTmFOLCAiKDE4OTksIDExLCAzMSwgMjMpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5h
TiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0
ZVZhbHVlKDE4OTksIDEyLCAxLCAwKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE4OTks
IDEyLCAxLCAwKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBp
cyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1ZSgxOTAwLCAwLCAxLCAw
KTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE5MDAsIDAsIDEsIDApIik7Cithc3NlcnQu
c2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5h
TicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5NjksIDExLCAzMSwgMjMpOwotYXNzZXJ0LnNhbWVWYWx1
ZSh4LCBOYU4sICIoMTk2OSwgMTEsIDMxLCAyMykiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFO
LCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRl
VmFsdWUoMTk2OSwgMTIsIDEsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk2OSwg
MTIsIDEsIDApIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5NzAsIDAsIDEsIDAp
OwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk3MCwgMCwgMSwgMCkiKTsKK2Fzc2VydC5z
YW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFO
Jyk7CiAKIHggPSBEYXRlVmFsdWUoMTk5OSwgMTEsIDMxLCAyMyk7Ci1hc3NlcnQuc2FtZVZhbHVl
KHgsIE5hTiwgIigxOTk5LCAxMSwgMzEsIDIzKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4s
ICdUaGUgdmFsdWUgb2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVW
YWx1ZSgxOTk5LCAxMiwgMSwgMCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgIigxOTk5LCAx
MiwgMSwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMjAwMCwgMCwgMSwgMCk7
Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgIigyMDAwLCAwLCAxLCAwKSIpOworYXNzZXJ0LnNh
bWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4n
KTsKIAogeCA9IERhdGVWYWx1ZSgyMDk5LCAxMSwgMzEsIDIzKTsKLWFzc2VydC5zYW1lVmFsdWUo
eCwgTmFOLCAiKDIwOTksIDExLCAzMSwgMjMpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwg
J1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZh
bHVlKDIwOTksIDEyLCAxLCAwKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDIwOTksIDEy
LCAxLCAwKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBl
eHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1ZSgyMTAwLCAwLCAxLCAwKTsK
LWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDIxMDAsIDAsIDEsIDApIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1Ljku
My4xX0E2X1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1Ljku
My4xX0E2X1Q0LmpzCmluZGV4IGE2MTVhYWY4YmQ1OWJjYWI4ZGU4YTdhMWRmMDMwYzY0ZjdjMzY2
NjMuLjcwYTAzM2E5NTI3N2QzNzIxNmEyMjc4ZjY4OTExOWE4OTM2ZWZlYTMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNl9UNC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTZfVDQu
anMKQEAgLTE1LDM3ICsxNSwzNyBAQCBmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgsIGRh
dGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykgewogCiB2YXIgeDsKIHggPSBEYXRlVmFs
dWUoMTg5OSwgMTEsIDMxLCAyMywgNTkpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTg5
OSwgMTEsIDMxLCAyMywgNTkpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1
ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE4OTks
IDEyLCAxLCAwLCAwKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE4OTksIDEyLCAxLCAw
LCAwKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBleHBl
Y3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1ZSgxOTAwLCAwLCAxLCAwLCAwKTsK
LWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE5MDAsIDAsIDEsIDAsIDApIik7Cithc3NlcnQu
c2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5h
TicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5NjksIDExLCAzMSwgMjMsIDU5KTsKLWFzc2VydC5zYW1l
VmFsdWUoeCwgTmFOLCAiKDE5NjksIDExLCAzMSwgMjMsIDU5KSIpOworYXNzZXJ0LnNhbWVWYWx1
ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBleHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAog
eCA9IERhdGVWYWx1ZSgxOTY5LCAxMiwgMSwgMCwgMCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5h
TiwgIigxOTY5LCAxMiwgMSwgMCwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhl
IHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUo
MTk3MCwgMCwgMSwgMCwgMCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgIigxOTcwLCAwLCAx
LCAwLCAwKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBl
eHBlY3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1ZSgxOTk5LCAxMSwgMzEsIDIz
LCA1OSk7Ci1hc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgIigxOTk5LCAxMSwgMzEsIDIzLCA1OSki
KTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk5OSwgMTIsIDEsIDAsIDApOwotYXNz
ZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk5OSwgMTIsIDEsIDAsIDApIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicp
OwogCiB4ID0gRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4
LCBOYU4sICIoMjAwMCwgMCwgMSwgMCwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAn
VGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFs
dWUoMjA5OSwgMTEsIDMxLCAyMywgNTkpOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMjA5
OSwgMTEsIDMxLCAyMywgNTkpIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1
ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDIwOTks
IDEyLCAxLCAwLCAwKTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDIwOTksIDEyLCAxLCAw
LCAwKSIpOworYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICdUaGUgdmFsdWUgb2YgeCBpcyBleHBl
Y3RlZCB0byBlcXVhbCBOYU4nKTsKIAogeCA9IERhdGVWYWx1ZSgyMTAwLCAwLCAxLCAwLCAwKTsK
LWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDIxMDAsIDAsIDEsIDAsIDApIik7Cithc3NlcnQu
c2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5h
TicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1
LjkuMy4xX0E2X1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1
LjkuMy4xX0E2X1Q1LmpzCmluZGV4IDljOTg2MzQxZTRlOWYzZWUxYWIyMzA4NzkwMDkyYWE3NjQ3
N2U0M2QuLjNhZmVhMjI3ZGVmYjE0MmNkNjA0OGEyMzE1NmE4YmMxNmNlNWVmMWQgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMV9BNl9UNS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjFfQTZf
VDUuanMKQEAgLTE1LDM3ICsxNSwzNyBAQCBmdW5jdGlvbiBEYXRlVmFsdWUoeWVhciwgbW9udGgs
IGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcykgewogCiB2YXIgeDsKIHggPSBEYXRl
VmFsdWUoMTg5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFO
LCAiKDE4OTksIDExLCAzMSwgMjMsIDU5LCA1OSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFO
LCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRl
VmFsdWUoMTg5OSwgMTIsIDEsIDAsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIo
MTg5OSwgMTIsIDEsIDAsIDAsIDApIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2
YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5
MDAsIDAsIDEsIDAsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTkwMCwgMCwg
MSwgMCwgMCwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk2OSwgMTEsIDMx
LCAyMywgNTksIDU5KTsKLWFzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE5NjksIDExLCAzMSwg
MjMsIDU5LCA1OSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk2OSwgMTIsIDEs
IDAsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk2OSwgMTIsIDEsIDAsIDAs
IDApIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVj
dGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVlKDE5NzAsIDAsIDEsIDAsIDAsIDAp
OwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk3MCwgMCwgMSwgMCwgMCwgMCkiKTsKK2Fz
c2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWFz
c2VydC5zYW1lVmFsdWUoeCwgTmFOLCAiKDE5OTksIDExLCAzMSwgMjMsIDU5LCA1OSkiKTsKK2Fz
c2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgTmFOJyk7CiAKIHggPSBEYXRlVmFsdWUoMTk5OSwgMTIsIDEsIDAsIDAsIDApOwotYXNzZXJ0
LnNhbWVWYWx1ZSh4LCBOYU4sICIoMTk5OSwgMTIsIDEsIDAsIDAsIDApIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKHgsIE5hTiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicp
OwogCiB4ID0gRGF0ZVZhbHVlKDIwMDAsIDAsIDEsIDAsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1
ZSh4LCBOYU4sICIoMjAwMCwgMCwgMSwgMCwgMCwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwg
TmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBE
YXRlVmFsdWUoMjA5OSwgMTEsIDMxLCAyMywgNTksIDU5KTsKLWFzc2VydC5zYW1lVmFsdWUoeCwg
TmFOLCAiKDIwOTksIDExLCAzMSwgMjMsIDU5LCA1OSkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwg
TmFOLCAnVGhlIHZhbHVlIG9mIHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CiAKIHggPSBE
YXRlVmFsdWUoMjA5OSwgMTIsIDEsIDAsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4s
ICIoMjA5OSwgMTIsIDEsIDAsIDAsIDApIik7Cithc3NlcnQuc2FtZVZhbHVlKHgsIE5hTiwgJ1Ro
ZSB2YWx1ZSBvZiB4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIE5hTicpOwogCiB4ID0gRGF0ZVZhbHVl
KDIxMDAsIDAsIDEsIDAsIDAsIDApOwotYXNzZXJ0LnNhbWVWYWx1ZSh4LCBOYU4sICIoMjEwMCwg
MCwgMSwgMCwgMCwgMCkiKTsKK2Fzc2VydC5zYW1lVmFsdWUoeCwgTmFOLCAnVGhlIHZhbHVlIG9m
IHggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgTmFOJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTFfVDEuanMKaW5kZXggZGQ4ODZiNDNh
ZmZiNzY1Y2IzODllODcxZWQwZTExN2I5NzI0OTNkNS4uOTVlYTcwM2U3MmIxODc4YjI0M2NjYjE3
NDUyMjRiN2Q4NDY0YmY4MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuMy4yX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL1MxNS45LjMuMl9BMV9UMS5qcwpAQCAtOSwxNDcgKzksMTMwIEBACiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgdHlwZXMgb2YgbmV3bHkgY3JlYXRlZCBvYmplY3RzIGFuZCBpdCB2
YWx1ZXMKIGluY2x1ZGVzOiBbZGF0ZUNvbnN0YW50cy5qc10KIC0tLSovCithc3NlcnQuc2FtZVZh
bHVlKAorICB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xODk5X2VuZCksCisgICJvYmplY3QiLAorICAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xODk5X2VuZClgIGlzIGV4cGVjdGVk
IHRvIGJlICJvYmplY3QiJworKTsKIAotaWYgKHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5k
KSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMTogdHlwZW9m
IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpID09PSAnb2JqZWN0JyIpOwotfQotCi1pZiAobmV3IERh
dGUoZGF0ZV8xODk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCIjMS4yOiBuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpLCB1bmRlZmluZWQsICdu
ZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmlu
ZWRgYCcpOwogCiB2YXIgeDEzID0gbmV3IERhdGUoZGF0ZV8xODk5X2VuZCk7Ci1pZiAodHlwZW9m
IHgxMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMzogdHlw
ZW9mIG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpICE9PSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgeDEzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgxM2Ag
aXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHgxNCA9IG5ldyBEYXRlKGRhdGVf
MTg5OV9lbmQpOwotaWYgKHgxNCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIiMxLjQ6IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpICE9PSB1bmRlZmluZWQiKTsKLX0K
K2Fzc2VydC5ub3RTYW1lVmFsdWUoeDE0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDE0IGlz
IGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3
IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigiIzIuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCkgPT09ICdvYmpl
Y3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTAw
X3N0YXJ0KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZShk
YXRlXzE5MDBfc3RhcnQpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChu
ZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzIuMjogbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVk
Iik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQp
LAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZShkYXRlXzE5MDBfc3RhcnQpIGlzIGV4cGVjdGVk
IHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHgyMyA9IG5ldyBEYXRlKGRh
dGVfMTkwMF9zdGFydCk7Ci1pZiAodHlwZW9mIHgyMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzIuMzogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCkg
IT09ICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MjMsICJvYmplY3Qi
LCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDIzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0Iicp
OwogCiB2YXIgeDI0ID0gbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKLWlmICh4MjQgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMi40OiBuZXcgRGF0ZShkYXRl
XzE5MDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDI0
LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDI0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBg
YHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTY5X2VuZCkgIT09
ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjE6IHR5cGVvZiBuZXcg
RGF0ZShkYXRlXzE5NjlfZW5kKSA9PT0gJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSwKKyAgIm9iamVjdCIsCisgICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKWAgaXMgZXhwZWN0ZWQgdG8g
YmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoZGF0ZV8xOTY5X2VuZCkgPT09IHVuZGVm
aW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMy4yOiBuZXcgRGF0ZShkYXRlXzE5
NjlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRl
KGRhdGVfMTk2OV9lbmQpLCB1bmRlZmluZWQsICduZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSBpcyBl
eHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCiB2YXIgeDMzID0gbmV3IERh
dGUoZGF0ZV8xOTY5X2VuZCk7Ci1pZiAodHlwZW9mIHgzMyAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzMuMzogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQp
ICE9PSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDMzLCAib2JqZWN0
IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHgzM2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCIn
KTsKIAogdmFyIHgzNCA9IG5ldyBEYXRlKGRhdGVfMTk2OV9lbmQpOwotaWYgKHgzNCA9PT0gdW5k
ZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMzLjQ6IG5ldyBEYXRlKGRhdGVf
MTk2OV9lbmQpICE9PSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDM0LCB1
bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDM0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVu
ZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KSAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMTogdHlwZW9mIG5ldyBE
YXRlKGRhdGVfMTk3MF9zdGFydCkgPT09ICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpYCBpcyBleHBlY3Rl
ZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpID09
PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMjogbmV3IERhdGUo
ZGF0ZV8xOTcwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVl
KAorICBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpLAorICB1bmRlZmluZWQsCisgICduZXcgRGF0
ZShkYXRlXzE5NzBfc3RhcnQpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBg
JworKTsKIAogdmFyIHg0MyA9IG5ldyBEYXRlKGRhdGVfMTk3MF9zdGFydCk7Ci1pZiAodHlwZW9m
IHg0MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQuMzogdHlw
ZW9mIG5ldyBEYXRlKGRhdGVfMTk3MF9zdGFydCkgIT09ICdvYmplY3QnIik7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiB4NDMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDQz
YCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDQ0ID0gbmV3IERhdGUoZGF0
ZV8xOTcwX3N0YXJ0KTsKLWlmICh4NDQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCIjNC40OiBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpICE9PSB1bmRlZmluZWQi
KTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDQ0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Yg
eDQ0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBl
b2YgbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIiM1LjE6IHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSA9PT0gJ29i
amVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBuZXcgRGF0ZShkYXRlXzE5
OTlfZW5kKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZShk
YXRlXzE5OTlfZW5kKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3
IERhdGUoZGF0ZV8xOTk5X2VuZCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCIjNS4yOiBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Ci19
Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBEYXRlKGRhdGVfMTk5OV9lbmQpLCB1bmRlZmluZWQs
ICduZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRl
ZmluZWRgYCcpOwogCiB2YXIgeDUzID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7Ci1pZiAodHlw
ZW9mIHg1MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzog
dHlwZW9mIG5ldyBEYXRlKGRhdGVfMTk5OV9lbmQpICE9PSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSh0eXBlb2YgeDUzLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg1
M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAogdmFyIHg1NCA9IG5ldyBEYXRlKGRh
dGVfMTk5OV9lbmQpOwotaWYgKHg1NCA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoIiM1LjQ6IG5ldyBEYXRlKGRhdGVfMTk5OV9lbmQpICE9PSB1bmRlZmluZWQiKTsK
LX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDU0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDU0
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2Yg
bmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigiIzYuMTogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFydCkgPT09ICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgbmV3IERhdGUoZGF0ZV8y
MDAwX3N0YXJ0KSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0
ZShkYXRlXzIwMDBfc3RhcnQpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlm
IChuZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzYuMjogbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KSA9PT0gdW5kZWZp
bmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBuZXcgRGF0ZShkYXRlXzIwMDBfc3Rh
cnQpLAorICB1bmRlZmluZWQsCisgICduZXcgRGF0ZShkYXRlXzIwMDBfc3RhcnQpIGlzIGV4cGVj
dGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJworKTsKIAogdmFyIHg2MyA9IG5ldyBEYXRl
KGRhdGVfMjAwMF9zdGFydCk7Ci1pZiAodHlwZW9mIHg2MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzYuMzogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjAwMF9zdGFy
dCkgIT09ICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4NjMsICJvYmpl
Y3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDYzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0
IicpOwogCiB2YXIgeDY0ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKLWlmICh4NjQgPT09
IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNi40OiBuZXcgRGF0ZShk
YXRlXzIwMDBfc3RhcnQpICE9PSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
eDY0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDY0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVh
bCBgYHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMDk5X2VuZCkg
IT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjE6IHR5cGVvZiBu
ZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSA9PT0gJ29iamVjdCciKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSwKKyAgIm9iamVjdCIsCisgICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKWAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInCispOwogCi1pZiAobmV3IERhdGUoZGF0ZV8yMDk5X2VuZCkgPT09IHVu
ZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNy4yOiBuZXcgRGF0ZShkYXRl
XzIwOTlfZW5kKSA9PT0gdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBE
YXRlKGRhdGVfMjA5OV9lbmQpLCB1bmRlZmluZWQsICduZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSBp
cyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwogCiB2YXIgeDczID0gbmV3
IERhdGUoZGF0ZV8yMDk5X2VuZCk7Ci1pZiAodHlwZW9mIHg3MyAhPT0gIm9iamVjdCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzcuMzogdHlwZW9mIG5ldyBEYXRlKGRhdGVfMjA5OV9l
bmQpICE9PSAnb2JqZWN0JyIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeDczLCAib2Jq
ZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg3M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVj
dCInKTsKIAogdmFyIHg3NCA9IG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpOwotaWYgKHg3NCA9PT0g
dW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjQ6IG5ldyBEYXRlKGRh
dGVfMjA5OV9lbmQpICE9PSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDc0
LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDc0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBg
YHVuZGVmaW5lZGBgJyk7CiAKLWlmICh0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KSAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMTogdHlwZW9mIG5l
dyBEYXRlKGRhdGVfMjEwMF9zdGFydCkgPT09ICdvYmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICB0eXBlb2YgbmV3IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KSwKKyAgIm9iamVjdCIsCisg
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpYCBpcyBleHBl
Y3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLWlmIChuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQp
ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMjogbmV3IERh
dGUoZGF0ZV8yMTAwX3N0YXJ0KSA9PT0gdW5kZWZpbmVkIik7Ci19Cithc3NlcnQubm90U2FtZVZh
bHVlKAorICBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpLAorICB1bmRlZmluZWQsCisgICduZXcg
RGF0ZShkYXRlXzIxMDBfc3RhcnQpIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5l
ZGBgJworKTsKIAogdmFyIHg4MyA9IG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7Ci1pZiAodHlw
ZW9mIHg4MyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzog
dHlwZW9mIG5ldyBEYXRlKGRhdGVfMjEwMF9zdGFydCkgIT09ICdvYmplY3QnIik7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiB4ODMsICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
eDgzYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgeDg0ID0gbmV3IERhdGUo
ZGF0ZV8yMTAwX3N0YXJ0KTsKLWlmICh4ODQgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjOC40OiBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpICE9PSB1bmRlZmlu
ZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoeDg0LCB1bmRlZmluZWQsICdUaGUgdmFsdWUg
b2YgeDg0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTJfVDEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTJfVDEu
anMKaW5kZXggZjk3OTQ5YmI0YmI5MDJjZWNmNjdlMDViOWFlMDM3ZTA1YzUyZTE3OC4uYmMzM2M5
NTM0MmJjYzFhY2MxN2U0MWJkMGQ5ZmNkODJlNDQxMzE4OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4yX0EyX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjMuMl9BMl9UMS5qcwpAQCAtMTIs
MTIxICsxMiwxNTMgQEAKIC0tLSovCiAKIHZhciB4MTEgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5k
KTsKLWlmICh0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzEuMTogdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiB4MTEuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIHgxMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJworKTsKIAogdmFyIHgxMiA9IG5ldyBEYXRlKGRhdGVfMTg5OV9lbmQpOwotaWYgKCFE
YXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgxMikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzEuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpJyk7Ci19Cithc3Nl
cnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MTIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4MTIpIG11c3QgcmV0dXJuIHRydWUnKTsKIAogdmFyIHgxMyA9IG5ldyBEYXRl
KGRhdGVfMTg5OV9lbmQpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4MTMuY29uc3RydWN0b3Iu
cHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxLjM6IERhdGUucHJvdG90
eXBlICE9PSB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIERhdGUucHJvdG90eXBlLAorICB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAn
VGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiB4MTMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHgyMSA9IG5ldyBEYXRl
KGRhdGVfMTkwMF9zdGFydCk7Ci1pZiAodHlwZW9mIHgyMS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUg
IT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMyLjE6IHR5cGVvZiB4
MjEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgeDIxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIs
CisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MjEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MjIgPSBuZXcgRGF0ZShkYXRlXzE5
MDBfc3RhcnQpOwotaWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyMikpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzIuMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVP
Zih4MjIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpLCAn
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MjIpIG11c3QgcmV0dXJuIHRydWUnKTsKIAog
dmFyIHgyMyA9IG5ldyBEYXRlKGRhdGVfMTkwMF9zdGFydCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUg
IT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzIuMzogRGF0ZS5wcm90b3R5cGUgIT09IHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHgyMy5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgyMy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwog
CiB2YXIgeDMxID0gbmV3IERhdGUoZGF0ZV8xOTY5X2VuZCk7Ci1pZiAodHlwZW9mIHgzMS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoIiMzLjE6IHR5cGVvZiB4MzEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIp
OwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgeDMxLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4MzEuY29uc3RydWN0
b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKIHZhciB4MzIg
PSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKLWlmICghRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZih4MzIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6IERhdGUucHJvdG90
eXBlLmlzUHJvdG90eXBlT2YoeDMyKScpOwotfQorYXNzZXJ0KERhdGUucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoeDMyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDMyKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciB4MzMgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKLWlmIChE
YXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCIjMy4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDMzLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwK
KyAgeDMzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3Rv
dHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMzLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZScKKyk7CiAKIHZhciB4NDEgPSBuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpOwotaWYg
KHR5cGVvZiB4NDEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAib2JqZWN0IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCIjNC4xOiB0eXBlb2YgeDExLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHg0MS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgeDQxLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCIn
CispOwogCiB2YXIgeDQyID0gbmV3IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKLWlmICghRGF0ZS5w
cm90b3R5cGUuaXNQcm90b3R5cGVPZih4NDIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0LjI6IERhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKScpOwotfQorYXNzZXJ0KERh
dGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDQyKSwgJ0RhdGUucHJvdG90eXBlLmlzUHJvdG90
eXBlT2YoeDQyKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKIHZhciB4NDMgPSBuZXcgRGF0ZShkYXRl
XzE5NzBfc3RhcnQpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4NDMuY29uc3RydWN0b3IucHJv
dG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM0LjM6IERhdGUucHJvdG90eXBl
ICE9PSB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLAorICB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhl
IHZhbHVlIG9mIERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiB4NDMuY29uc3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHg1MSA9IG5ldyBEYXRlKGRh
dGVfMTk5OV9lbmQpOwotaWYgKHR5cGVvZiB4NTEuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSAi
b2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNS4xOiB0eXBlb2YgeDUxLmNv
bnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gJ29iamVjdCciKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIHg1MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICJvYmplY3QiLAorICAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgeDUxLmNvbnN0cnVjdG9yLnByb3RvdHlwZWAgaXMgZXhwZWN0
ZWQgdG8gYmUgIm9iamVjdCInCispOwogCiB2YXIgeDUyID0gbmV3IERhdGUoZGF0ZV8xOTk5X2Vu
ZCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoeDUyKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNS4yOiBEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1Mikn
KTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MiksICdEYXRlLnBy
b3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg1MikgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgeDUz
ID0gbmV3IERhdGUoZGF0ZV8xOTk5X2VuZCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg1My5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzUuMzog
RGF0ZS5wcm90b3R5cGUgIT09IHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg1My5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIHg1My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwogCiB2YXIgeDYx
ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKLWlmICh0eXBlb2YgeDYxLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzYu
MTogdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09ICdvYmplY3QnIik7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NjEuY29uc3RydWN0b3IucHJvdG90eXBlLAor
ICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg2MS5jb25zdHJ1Y3Rvci5wcm90
b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAogdmFyIHg2MiA9IG5ldyBE
YXRlKGRhdGVfMjAwMF9zdGFydCk7Ci1pZiAoIURhdGUucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
eDYyKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNi4yOiBEYXRlLnByb3RvdHlwZS5p
c1Byb3RvdHlwZU9mKHg2MiknKTsKLX0KK2Fzc2VydChEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlw
ZU9mKHg2MiksICdEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg2MikgbXVzdCByZXR1cm4g
dHJ1ZScpOwogCiB2YXIgeDYzID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKLWlmIChEYXRl
LnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjNi4zOiBEYXRlLnByb3RvdHlwZSAhPT0geDYzLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZSwKKyAg
eDYzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlw
ZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDYzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZScKKyk7CiAKIHZhciB4NzEgPSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKLWlmICh0eXBl
b2YgeDcxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiIzcuMTogdHlwZW9mIHg3MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09
ICdvYmplY3QnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4NzEuY29uc3Ry
dWN0b3IucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg3
MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsK
IAogdmFyIHg3MiA9IG5ldyBEYXRlKGRhdGVfMjA5OV9lbmQpOwotaWYgKCFEYXRlLnByb3RvdHlw
ZS5pc1Byb3RvdHlwZU9mKHg3MikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzcuMjog
RGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpJyk7Ci19Cithc3NlcnQoRGF0ZS5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZih4NzIpLCAnRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4
NzIpIG11c3QgcmV0dXJuIHRydWUnKTsKIAogdmFyIHg3MyA9IG5ldyBEYXRlKGRhdGVfMjA5OV9l
bmQpOwotaWYgKERhdGUucHJvdG90eXBlICE9PSB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM3LjM6IERhdGUucHJvdG90eXBlICE9PSB4NzMu
Y29uc3RydWN0b3IucHJvdG90eXBlIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUu
cHJvdG90eXBlLAorICB4NzMuY29uc3RydWN0b3IucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9m
IERhdGUucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4NzMuY29u
c3RydWN0b3IucHJvdG90eXBlJworKTsKIAogdmFyIHg4MSA9IG5ldyBEYXRlKGRhdGVfMjEwMF9z
dGFydCk7Ci1pZiAodHlwZW9mIHg4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3Qi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiM4LjE6IHR5cGVvZiB4ODEuY29uc3RydWN0
b3IucHJvdG90eXBlID09PSAnb2JqZWN0JyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgeDgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiB4ODEuY29uc3RydWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBi
ZSAib2JqZWN0IicKKyk7CiAKIHZhciB4ODIgPSBuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpOwot
aWYgKCFEYXRlLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHg4MikpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzguMjogRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpJyk7Ci19
Cithc3NlcnQoRGF0ZS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4ODIpLCAnRGF0ZS5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZih4ODIpIG11c3QgcmV0dXJuIHRydWUnKTsKIAogdmFyIHg4MyA9IG5l
dyBEYXRlKGRhdGVfMjEwMF9zdGFydCk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUgIT09IHg4My5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzguMzogRGF0
ZS5wcm90b3R5cGUgIT09IHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUiKTsKLX0KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUsCisgIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIHg4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnCispOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuMy4yX0EzX1QxLjEuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTNfVDEuMS5q
cwppbmRleCAxYTgxZGQxY2RiYzg1NTY0M2Y3Yjg5NDBlMjFkMjdmY2EwMTQ4NTIxLi5jOWIyMDM2
Zjc1YjZmZWNkNTE5NzM2YTNhMjI4ZDc4NmRjODZjMDY2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTNfVDEuMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTNfVDEuMS5qcwpAQCAt
MTEsNDEgKzExLDY1IEBACiAtLS0qLwogCiB2YXIgeDEgPSBuZXcgRGF0ZShkYXRlXzE4OTlfZW5k
KTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDEpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzE6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh4MSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChuZXcgRGF0ZShkYXRlXzE4OTlfZW5kKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0i
JworKTsKIAogdmFyIHgyID0gbmV3IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKLWlmIChPYmplY3Qu
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDIpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiIzI6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5l
d2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MiksCisgICJbb2Jq
ZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZShk
YXRlXzE5MDBfc3RhcnQpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIg
eDMgPSBuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoeDMpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVk
IG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4MyksCisgICJbb2JqZWN0IERhdGVdIiwKKyAg
J09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZShkYXRlXzE5NjlfZW5kKSkg
bXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg0ID0gbmV3IERhdGUoZGF0
ZV8xOTcwX3N0YXJ0KTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDQpICE9
PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQ6IFRoZSBb
W0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQg
dG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh4NCksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZShkYXRlXzE5NzBfc3RhcnQpKSBtdXN0IHJldHVybiAi
W29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDUgPSBuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKTsK
LWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDUpICE9PSAiW29iamVjdCBEYXRl
XSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzU6IFRoZSBbW0NsYXNzXV0gcHJvcGVy
dHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4
NSksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChuZXcgRGF0ZShkYXRlXzE5OTlfZW5kKSkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJwor
KTsKIAogdmFyIHg2ID0gbmV3IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKLWlmIChPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoeDYpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5
IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NiksCisgICJbb2JqZWN0
IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZShkYXRl
XzIwMDBfc3RhcnQpKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwogCiB2YXIgeDcg
PSBuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwoeDcpICE9PSAiW29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzc6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9i
amVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4NyksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZShkYXRlXzIwOTlfZW5kKSkgbXVz
dCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJworKTsKIAogdmFyIHg4ID0gbmV3IERhdGUoZGF0ZV8y
MTAwX3N0YXJ0KTsKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeDgpICE9PSAi
W29iamVjdCBEYXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzg6IFRoZSBbW0Ns
YXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8g
J0RhdGUnIik7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh4OCksCisgICJbb2JqZWN0IERhdGVdIiwKKyAgJ09iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChuZXcgRGF0ZShkYXRlXzIxMDBfc3RhcnQpKSBtdXN0IHJldHVybiAiW29i
amVjdCBEYXRlXSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuMy4yX0EzX1QxLjIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9TMTUuOS4zLjJfQTNfVDEuMi5qcwppbmRleCBiMzUyYjcyMWZiOGRmMzdkNmVi
YTc3YzBjMWIwNGQ1YjUzNjU4NzhjLi40MTQ5MGE1YTc0YjljNGE2NmFlMzMzNTJhYjYxZTlhNTM4
OWZhMmYyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9T
MTUuOS4zLjJfQTNfVDEuMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9TMTUuOS4zLjJfQTNfVDEuMi5qcwpAQCAtMTMsNDEgKzEzLDI1IEBACiBEYXRlLnByb3Rv
dHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CiAKIHZhciB4MSA9IG5l
dyBEYXRlKGRhdGVfMTg5OV9lbmQpOwotaWYgKHgxLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERh
dGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMTogVGhlIFtbQ2xhc3NdXSBwcm9w
ZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoeDEudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDEu
dG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHgyID0gbmV3
IERhdGUoZGF0ZV8xOTAwX3N0YXJ0KTsKLWlmICh4Mi50b1N0cmluZygpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzI6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgyLnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3gy
LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4MyA9IG5l
dyBEYXRlKGRhdGVfMTk2OV9lbmQpOwotaWYgKHgzLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERh
dGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjMzogVGhlIFtbQ2xhc3NdXSBwcm9w
ZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoeDMudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDMu
dG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg0ID0gbmV3
IERhdGUoZGF0ZV8xOTcwX3N0YXJ0KTsKLWlmICh4NC50b1N0cmluZygpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzQ6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg0LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g0
LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4NSA9IG5l
dyBEYXRlKGRhdGVfMTk5OV9lbmQpOwotaWYgKHg1LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERh
dGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNTogVGhlIFtbQ2xhc3NdXSBwcm9w
ZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoeDUudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDUu
dG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg2ID0gbmV3
IERhdGUoZGF0ZV8yMDAwX3N0YXJ0KTsKLWlmICh4Ni50b1N0cmluZygpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzY6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg2LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g2
LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CiAKIHZhciB4NyA9IG5l
dyBEYXRlKGRhdGVfMjA5OV9lbmQpOwotaWYgKHg3LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IERh
dGVdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNzogVGhlIFtbQ2xhc3NdXSBwcm9w
ZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAnRGF0ZSciKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoeDcudG9TdHJpbmcoKSwgIltvYmplY3QgRGF0ZV0iLCAneDcu
dG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBEYXRlXSInKTsKIAogdmFyIHg4ID0gbmV3
IERhdGUoZGF0ZV8yMTAwX3N0YXJ0KTsKLWlmICh4OC50b1N0cmluZygpICE9PSAiW29iamVjdCBE
YXRlXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzg6IFRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gJ0RhdGUnIik7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKHg4LnRvU3RyaW5nKCksICJbb2JqZWN0IERhdGVdIiwgJ3g4
LnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gIltvYmplY3QgRGF0ZV0iJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS40X0ExLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuNF9BMS5qcwppbmRleCAzYTIxODA2
OTUzYzA5MTg4YjA1YTI1NTc4YWJmNzc2YWY0ZGY5YTg2Li4zYTAxNjlhYzhlNjg2NjllYTY3Njgx
NTAzYjNmMGM5NjI3MDJlYTdkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9TMTUuOS40X0ExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL1MxNS45LjRfQTEuanMKQEAgLTYsNyArNiw0IEBACiBlc2lkOiBzZWMtZGF0ZS1j
b25zdHJ1Y3RvcgogZGVzY3JpcHRpb246IENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVy
dHkgInByb3RvdHlwZSIKIC0tLSovCi0KLWlmICghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgicHJvdG90
eXBlIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlIGNvbnN0cnVj
dG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSInKTsKLX0KK2Fzc2VydChEYXRlLmhhc093
blByb3BlcnR5KCJwcm90b3R5cGUiKSwgJ0RhdGUuaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIp
IG11c3QgcmV0dXJuIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL1MxNS45LjRfQTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS40X0EyLmpzCmluZGV4IDA3NDc3ZGJiMzc5NzJiZWQ2ZDM5NTYwOGNmNjI3
NDU0MGY2MTljOGEuLjE3YjQ2N2VmZTA2MDhjZjU2MzlmNmM2Nzc2ZTdhZjgxYTAwMjIwMWMgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjRfQTIu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuNF9BMi5q
cwpAQCAtNiw3ICs2LDQgQEAKIGVzaWQ6IHNlYy1kYXRlLWNvbnN0cnVjdG9yCiBkZXNjcmlwdGlv
bjogQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAicGFyc2UiCiAtLS0qLwotCi1p
ZiAoIURhdGUuaGFzT3duUHJvcGVydHkoInBhcnNlIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInBhcnNlIicp
OwotfQorYXNzZXJ0KERhdGUuaGFzT3duUHJvcGVydHkoInBhcnNlIiksICdEYXRlLmhhc093blBy
b3BlcnR5KCJwYXJzZSIpIG11c3QgcmV0dXJuIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjRfQTMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS40X0EzLmpzCmluZGV4IGVjZGExYjlmYzJlNGI5
OTE3NGI0YjJlM2JkZGNlNDI0MzYyMjNlMzAuLmIxZWI0NDA2MzdmOGRiYTI2MWI2MTdmODg5NTMw
ZjkyOGE4MjJjODEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL1MxNS45LjRfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvUzE1LjkuNF9BMy5qcwpAQCAtNiw3ICs2LDQgQEAKIGVzaWQ6IHNlYy1kYXRlLWNvbnN0cnVj
dG9yCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAiVVRD
IgogLS0tKi8KLQotaWYgKCFEYXRlLmhhc093blByb3BlcnR5KCJVVEMiKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0
eSAiVVRDIicpOwotfQorYXNzZXJ0KERhdGUuaGFzT3duUHJvcGVydHkoIlVUQyIpLCAnRGF0ZS5o
YXNPd25Qcm9wZXJ0eSgiVVRDIikgbXVzdCByZXR1cm4gdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuNF9BNC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjRfQTQuanMKaW5kZXggMDdkYmM1ODRj
OTRkZDFhMmVlODIwNzhmNWMzZTMxNGI4NmRhZTNjNi4uYTJlOGZlYTFhMjAzYzc3OTZkNzQ5NDM5
NzIzMjAzNmM1MDJmOGVmOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvUzE1LjkuNF9BNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9TMTUuOS40X0E0LmpzCkBAIC04LDggKzgsNCBAQAogZXNpZDogc2VjLWRhdGUtY29u
c3RydWN0b3IKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90
b3R5cGVPZihEYXRlKQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoIShGdW5jdGlvbi5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZihEYXRlKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUg
RGF0ZSBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKLX0K
K2Fzc2VydChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihEYXRlKSwgJ0Z1bmN0aW9u
LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKERhdGUpIG11c3QgcmV0dXJuIHRydWUnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjRfQTUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9TMTUuOS40X0E1LmpzCmluZGV4
IGI5YjVjNzAyNGJiNTlhNjg3Y2QyMGViOGE0YmNkMjVhMTI1OTBlZTYuLmVjMzgzMzBiZjQ1ODE3
YzdjNzRjMDMzMTk0OTEwMDM5MGU0YjFjNTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL1MxNS45LjRfQTUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvUzE1LjkuNF9BNS5qcwpAQCAtNiwxMyArNiw1IEBACiBlc2lkOiBz
ZWMtZGF0ZS1jb25zdHJ1Y3RvcgogZGVzY3JpcHRpb246IENoZWNraW5nIERhdGUubGVuZ3RoIHBy
b3BlcnR5CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmICghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibGVu
Z3RoIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IERhdGUgY29uc3RydWN0b3Ig
aGFzIGxlbmd0aCBwcm9wZXJ0eScpOwotfQotCi0vL0NIRUNLIzIKLWlmIChEYXRlLmxlbmd0aCAh
PT0gNykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogRGF0ZSBjb25zdHJ1Y3RvciBs
ZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDcnKTsKLX0KK2Fzc2VydChEYXRlLmhhc093
blByb3BlcnR5KCJsZW5ndGgiKSwgJ0RhdGUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3Qg
cmV0dXJuIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5sZW5ndGgsIDcsICdUaGUgdmFs
dWUgb2YgRGF0ZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgNycpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BMV9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTFfVDEu
anMKaW5kZXggMTc4NDJmMjQ5NGQ4ZDBjNjYzMGRjYTk3YzIxNWNiY2U1OTAxMmQxNy4uMjRhY2U3
YzBiZTUyYWQwYjRkYWYyNWM3OGNlZmM4ZTg5MTMyZjc3MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BMV9UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0ExX1QxLmpz
CkBAIC05LDEwICs5LDExIEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUuVVRDOwotaWYgKHggPT09
IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLlVUQyA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBE
YXRlLlVUQyA9IDE7Ci1pZiAoRGF0ZS5VVEMgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLlVUQyBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsK
IH0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoRGF0ZS5VVEMsIHgsICdUaGUgdmFsdWUgb2YgRGF0ZS5V
VEMgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTFfVDIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0ExX1QyLmpz
CmluZGV4IDZkYmRjM2E5Y2U0YThkYzk1YWQ2YThmMDY0MjBjN2VhM2Q2YzYzMjcuLjhjYTJlOGI1
YWRhZmE0OWIxMjliZDg2NGUzYTY5YjdkNGQ4ZjdmN2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTFfVDIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BMV9UMi5qcwpA
QCAtNywxMSArNyw3IEBACiBlczVpZDogMTUuOS40LjNfQTFfVDIKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNh
bWVWYWx1ZShkZWxldGUgRGF0ZS5VVEMsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRl
LlVUQyBpcyBub3QgZmFsc2UnKTsKK2Fzc2VydCghRGF0ZS5oYXNPd25Qcm9wZXJ0eSgnVVRDJyks
ICdUaGUgdmFsdWUgb2YgIURhdGUuaGFzT3duUHJvcGVydHkoXCdVVENcJykgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScpOwogCi1pZiAoZGVsZXRlIERhdGUuVVRDID09PSBmYWxzZSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUuVVRDIHByb3BlcnR5IGhhcyBub3QgdGhl
IGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQotCi1pZiAoRGF0ZS5oYXNPd25Qcm9wZXJ0eSgn
VVRDJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLlVUQyBwcm9w
ZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0ExX1QzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BMV9UMy5qcwppbmRl
eCA1MDk3MTgxODU1NTFkOTc2N2VkNjdhY2EwZGUwNThiZTAxNDUwYzk0Li45Yzk5NGM2MzhiM2Ix
NDM4MWEzODRlYTcwOThjZmJhMmY4OWEyMDI2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTFfVDMuanMKQEAgLTcs
MTMgKzcsMTMgQEAKIGVzNWlkOiAxNS45LjQuM19BMV9UMwogZGVzY3JpcHRpb246IENoZWNraW5n
IERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ1VUQycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5VVEMg
cHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURh
dGUucHJvcGVydHlJc0VudW1lcmFibGUoJ1VUQycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnBy
b3BlcnR5SXNFbnVtZXJhYmxlKFwnVVRDXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwog
CiBmb3IgKHZhciB4IGluIERhdGUpIHsKLSAgaWYgKHggPT09ICJVVEMiKSB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLlVUQyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgIlVUQyIsICdUaGUgdmFsdWUg
b2YgeCBpcyBub3QgIlVUQyInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL1VUQy9TMTUuOS40LjNfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0EyX1QxLmpzCmluZGV4IGVlZmEyZTMzZDllZjgxZjVi
NjUyMDc5ZWY4NTk4YjM1NzBjMTI4NzguLjlhYTUzOThmMWNlYmU0ZDcyYWVkZTUwZGQwMjkzOWEy
NGJhODBkZTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L1VUQy9TMTUuOS40LjNfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvVVRDL1MxNS45LjQuM19BMl9UMS5qcwpAQCAtNywxMSArNyw1IEBACiBlczVpZDog
MTUuOS40LjNfQTJfVDEKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhl
ICJVVEMiIGlzIDcKIC0tLSovCi0KLWlmIChEYXRlLlVUQy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3Ro
IikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBVVEMgaGFz
IGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUuVVRDLmxlbmd0aCAhPT0gNykg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9m
IHRoZSBVVEMgaXMgNycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShEYXRlLlVUQy5oYXNPd25Qcm9w
ZXJ0eSgibGVuZ3RoIiksIHRydWUsICdEYXRlLlVUQy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikg
bXVzdCByZXR1cm4gdHJ1ZScpOworYXNzZXJ0LnNhbWVWYWx1ZShEYXRlLlVUQy5sZW5ndGgsIDcs
ICdUaGUgdmFsdWUgb2YgRGF0ZS5VVEMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDcnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40
LjNfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1
LjkuNC4zX0EzX1QxLmpzCmluZGV4IDNjMDRlZDkxMDViYzFhZWU3ZTc3MWIzZmQyYjVmODgwOTZk
MzQ3NmMuLjk0MTUzNGVmN2MwNzkzYTMzOTkzYzY3MWM1NzRlMmRmNzg2MWU1YmMgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTNf
VDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45
LjQuM19BM19UMS5qcwpAQCAtMTMsNiArMTMsNiBAQAogCiB2YXIgeCA9IERhdGUuVVRDLmxlbmd0
aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUuVVRDLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAo
RGF0ZS5VVEMubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5VVEMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKERhdGUuVVRDLmxlbmd0aCwgeCwgJ1RoZSB2YWx1ZSBvZiBEYXRlLlVUQy5s
ZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnKTsKKworLy8gVE9ETzog
Q29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTNfVDIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0EzX1QyLmpzCmlu
ZGV4IGY0M2MxOTg2MWY0OTliYjUzZTA1ZDZjZGEzNTNiZjRhOWFjYjQ2MWQuLjEwYzg4YzcxY2U1
ZTFiNjY2MDI0ZTQ1ZWU0NmNiNWE0ZTEyMzdhMjYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTNfVDIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BM19UMi5qcwpAQCAt
MTAsMTAgKzEwLDExIEBACiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1
dGUKIC0tLSovCiAKLWlmIChkZWxldGUgRGF0ZS5VVEMubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5VVEMubGVuZ3RoIHByb3BlcnR5IGRv
ZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZShkZWxldGUgRGF0ZS5VVEMubGVuZ3RoLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUg
RGF0ZS5VVEMubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiAKLWlmIChEYXRlLlVU
Qy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFRoZSBEYXRlLlVUQy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmli
dXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLlVUQy5oYXNPd25Qcm9wZXJ0
eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUuVVRDLmhhc093blByb3BlcnR5KFwn
bGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCisvLyBUT0RPOiBDb252ZXJ0
IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BM19UMy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9TMTUuOS40LjNfQTNfVDMuanMKaW5kZXggOGY4
ZWY5YjIwYWJmYTUzZGU2OGI5NDE1NGUzN2MyY2EzOGM5ZWZhZi4uYjQ5NTUwYmE5NjQzZWJjZmY0
MzUyYTUzN2UzYmRiZDQwOGVmYWRlMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvVVRDL1MxNS45LjQuM19BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9VVEMvUzE1LjkuNC4zX0EzX1QzLmpzCkBAIC05LDEzICs5
LDEzIEBACiBlczVpZDogMTUuOS40LjNfQTNfVDMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250
RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLlVUQy5wcm9wZXJ0eUlzRW51bWVyYWJs
ZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLlVU
Qy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2Vy
dCgKKyAgIURhdGUuVVRDLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2
YWx1ZSBvZiAhRGF0ZS5VVEMucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5VVEMpIHsKLSAgaWYg
KHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBE
YXRlLlVUQy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3Nl
cnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5n
dGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQu
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9T
MTUuOS40LjJfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
YXJzZS9TMTUuOS40LjJfQTFfVDEuanMKaW5kZXggOWEyNGNiZWFhYmNkZmEzNmZmODhiZjEwYzdh
OGZjYzlmZjI1MmI4Yi4uMWM3ZmRmZmVhNjM0MjMxNGEwN2YyZjMwMzYzNTEwY2IxM2I3Y2UxOCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1
LjkuNC4yX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3BhcnNlL1MxNS45LjQuMl9BMV9UMS5qcwpAQCAtOCwxMCArOCwxMSBAQAogLS0tKi8KIAogdmFy
IHggPSBEYXRlLnBhcnNlOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnBh
cnNlID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucGFyc2UgPSAxOwotaWYgKERhdGUucGFy
c2UgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBhcnNl
IGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorYXNzZXJ0Lm5vdFNhbWVWYWx1
ZShEYXRlLnBhcnNlLCB4LCAnVGhlIHZhbHVlIG9mIERhdGUucGFyc2UgaXMgZXhwZWN0ZWQgdG8g
bm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9BMV9UMi5qcwppbmRleCA1OTY0OWJj
YTRiZGU4MDFhZjc0YTIwMWQyZTdkYjA0ODJiZDkxZGU1Li44MTdiYTRmYmM3NjBmOGVhNTJmMzdh
NDZjNDc5MTFmZDI0ZmY4ZWUwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1LjkuNC4yX0ExX1QyLmpzCkBAIC02LDExICs2
LDcgQEAKIGVzaWQ6IHNlYy1kYXRlLnBhcnNlCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5j
ZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoZGVs
ZXRlIERhdGUucGFyc2UsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnBhcnNlIGlz
IG5vdCBmYWxzZScpOworYXNzZXJ0KCFEYXRlLmhhc093blByb3BlcnR5KCdwYXJzZScpLCAnVGhl
IHZhbHVlIG9mICFEYXRlLmhhc093blByb3BlcnR5KFwncGFyc2VcJykgaXMgZXhwZWN0ZWQgdG8g
YmUgdHJ1ZScpOwogCi1pZiAoZGVsZXRlIERhdGUucGFyc2UgPT09IGZhbHNlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wYXJzZSBwcm9wZXJ0eSBoYXMgbm90IHRo
ZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KLQotaWYgKERhdGUuaGFzT3duUHJvcGVydHko
J3BhcnNlJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnBhcnNl
IHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9BMV9UMy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9BMV9U
My5qcwppbmRleCBhNmZkNzQ2NmYxMDIwNGRlMTQ4MjIyMDIyMjk4N2ZkNGEzYTNjOTQ1Li42Zjdi
Zjc4YjRkYTYzMTE1ODQzMmQ0ZTA1NGEzNjQ1ZTQzNmYwMjc2IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTFfVDMuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1LjkuNC4yX0Ex
X1QzLmpzCkBAIC02LDEzICs2LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wYXJzZQogZGVzY3JpcHRp
b246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvcGVy
dHlJc0VudW1lcmFibGUoJ3BhcnNlJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IFRoZSBEYXRlLnBhcnNlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19
Cithc3NlcnQoCisgICFEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwYXJzZScpLAorICAnVGhl
IHZhbHVlIG9mICFEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncGFyc2VcJykgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZSkgewotICBpZiAoeCA9PT0g
InBhcnNlIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wYXJz
ZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFs
dWUoeCwgInBhcnNlIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAicGFyc2UiJyk7CiB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTJfVDEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJf
QTJfVDEuanMKaW5kZXggMTE1YTA2NzRjMmMxYTNhZWIxMGVjNDBiMzMwNmEwNzUzYTM5MWY2Zi4u
YTFhZWFhYWY2MTY2NjQ2Mjk4NzViMTE2ZWI1NDA1MDJlZmY1ZDU1NyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1LjkuNC4yX0EyX1QxLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQu
Ml9BMl9UMS5qcwpAQCAtNiwxMSArNiw1IEBACiBlc2lkOiBzZWMtZGF0ZS5wYXJzZQogZGVzY3Jp
cHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInBhcnNlIiBpcyAxCiAtLS0qLwot
Ci1pZiAoRGF0ZS5wYXJzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBwYXJzZSBoYXMgYSAibGVuZ3RoIiBwcm9w
ZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wYXJzZS5sZW5ndGggIT09IDEpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgcGFyc2UgaXMg
MScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShEYXRlLnBhcnNlLmhhc093blByb3BlcnR5KCJsZW5n
dGgiKSwgdHJ1ZSwgJ0RhdGUucGFyc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0
dXJuIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5wYXJzZS5sZW5ndGgsIDEsICdUaGUg
dmFsdWUgb2YgRGF0ZS5wYXJzZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1LjkuNC4y
X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1
LjkuNC4yX0EzX1QxLmpzCmluZGV4IDAwNTQ3MjFjYTgzZmYxZTY5MTAwMmE3MzQ0YTQ1NDMxMjUy
MzE4ZGIuLmZjZjQ4Mzc0ZDA1Y2U0NTYxNGQ5MmRlODllMWM5ZDg1ZTM2ZTc1OTEgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9B
M19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9T
MTUuOS40LjJfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDYgQEAKIAogdmFyIHggPSBEYXRlLnBhcnNl
Lmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucGFyc2UsICJsZW5ndGgiLCBudWxsLCAx
KTsKLWlmIChEYXRlLnBhcnNlLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucGFyc2UubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKERhdGUucGFyc2UubGVuZ3RoLCB4LCAnVGhlIHZhbHVl
IG9mIERhdGUucGFyc2UubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4
Jyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40
LjJfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9T
MTUuOS40LjJfQTNfVDIuanMKaW5kZXggOTc3NmRmY2RhYzM1NzgyNjcwNDIyNTQ3ZTViZmFmZmJi
NDU1NjJmZS4uZGY4MWQ5ZTgyMDk2OWU2NzVhNGM2ZGNlZjJjN2M0NjQxZDBiNDMwMSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1LjkuNC4y
X0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNl
L1MxNS45LjQuMl9BM19UMi5qcwpAQCAtOCwxMSArOCwxMSBAQAogZXNpZDogc2VjLWRhdGUucGFy
c2UKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fz
c2VydC5zYW1lVmFsdWUoZGVsZXRlIERhdGUucGFyc2UubGVuZ3RoLCB0cnVlLCAnVGhlIHZhbHVl
IG9mIGBkZWxldGUgRGF0ZS5wYXJzZS5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsK
IAotaWYgKGRlbGV0ZSBEYXRlLnBhcnNlLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucGFyc2UubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90
IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5w
YXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucGFy
c2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7
CiAKLWlmIChEYXRlLnBhcnNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucGFyc2UubGVuZ3RoIHByb3BlcnR5IGRvZXMg
bm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9BM19UMy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL1MxNS45LjQuMl9BM19UMy5qcwppbmRl
eCAzODI0YTVkNDM0YTg3MTkxNGM5NzgzN2U3OGMyNzI1MDEwMDQ0NzcyLi4wODc0OWUyNDkyMjY2
MmRhNDA1NThmNjEyNTRhZmQ1MWM1YzBlN2JhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wYXJzZS9TMTUuOS40LjJfQTNfVDMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2UvUzE1LjkuNC4yX0EzX1QzLmpzCkBA
IC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wYXJzZQogZGVzY3JpcHRpb246IENoZWNr
aW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucGFyc2UucHJvcGVydHlJ
c0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wYXJzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0n
KTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucGFyc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0
aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnBhcnNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwn
bGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERh
dGUucGFyc2UpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IFRoZSBEYXRlLnBhcnNlLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFs
dWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS40LjFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNC4xX0ExX1QxLmpzCmluZGV4
IGUyYjdmZjRlZjFkM2VkMGU0MGRjMGJkZWJhNDkwOTM3OGVhZjNkNzkuLmYyMjllZTkxZGYzMGM2
OTc1NWRiMDcyOGQxOTAwMmU0YWZmYmI5OGYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS40LjFfQTFfVDEuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjQuMV9BMV9U
MS5qcwpAQCAtMTIsNiArMTIsNiBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlOwogdmVyaWZ5
Tm90V3JpdGFibGUoRGF0ZSwgInByb3RvdHlwZSIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90
eXBlICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90
b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
RGF0ZS5wcm90b3R5cGUsIHgsICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS40LjFfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNC4xX0ExX1QyLmpzCmluZGV4
IGQyZDdmZmUwYjUwMzMxOWEzMDc4NjFmMWY0ZmQzM2UyYjljYzAyN2YuLjI3Mjk4NTQ2M2U1MWUx
ZjgzZTQzNzg0YjU5ZDc1NTlmZmZhYjJlMzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS40LjFfQTFfVDIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjQuMV9BMV9U
Mi5qcwpAQCAtMTMsMTQgKzEzLDE2IEBACiB2ZXJpZnlOb3RDb25maWd1cmFibGUoRGF0ZSwgInBy
b3RvdHlwZSIpOwogCiB0cnkgewotICBpZiAoZGVsZXRlIERhdGUucHJvdG90eXBlICE9PSBmYWxz
ZSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUg
cHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLSAgfQorICBhc3NlcnQu
c2FtZVZhbHVlKGRlbGV0ZSBEYXRlLnByb3RvdHlwZSwgZmFsc2UpOwogfSBjYXRjaCAoZSkgewot
ICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKKyAgaWYgKGUgaW5zdGFu
Y2VvZiBUZXN0MjYyRXJyb3IpIHsKKyAgICB0aHJvdyBlOworICB9CiAgIGFzc2VydChlIGluc3Rh
bmNlb2YgVHlwZUVycm9yKTsKIH0KIAogaWYgKCFEYXRlLmhhc093blByb3BlcnR5KCdwcm90b3R5
cGUnKSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBl
IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7CiB9CisKKy8vIFRPRE86
IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNC4xX0ExX1QzLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjQu
MV9BMV9UMy5qcwppbmRleCAyYmUyOTYyNjE2YWJjYWU2OWU2ZjM4NWU4MDk4MWYzOWQxN2ZkNzRl
Li45MmI1ZWRmYzRjYWE4ODFlZjk0MGQ5MzEyZjRhYzYxYzFmZWNmNGUxIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNC4xX0Ex
X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9TMTUuOS40LjFfQTFfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnBy
b3RvdHlwZQogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8K
LQotaWYgKERhdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRo
ZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ3Byb3RvdHlwZScpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3BlcnR5SXNF
bnVtZXJhYmxlKFwncHJvdG90eXBlXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBm
b3IgKHZhciB4IGluIERhdGUpIHsKLSAgaWYgKHggPT09ICJwcm90b3R5cGUiKSB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJp
YnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgInByb3RvdHlw
ZSIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgInByb3RvdHlwZSInKTsKIH0KKworLy8gVE9ETzog
Q29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwMV9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0Ew
MV9UMS5qcwppbmRleCBlMjE1NWU5NzM3MjVlMmQyMmI0ZWI3MGQ4NjcxN2Y4NmRhZjQzMmJkLi4z
OGJiYzI1YjcxMjAyZjljZTAxMGRhOTFmZTA5NjhiZDVjOTBjZDg1IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDFfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1Mx
NS45LjVfQTAxX1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMtb2Yt
dGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3RvdHlw
ZSBoYXMgdGhlIHByb3BlcnR5ICJjb25zdHJ1Y3RvciIKIC0tLSovCi0KLWlmIChEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkg
ImNvbnN0cnVjdG9yIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9T
MTUuOS41X0EwMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9TMTUuOS41X0EwMl9UMS5qcwppbmRleCA1MzA2OTQ2MTM2MzA3ZDBkN2JiN2M4OWU5
Y2YxZWM2NWJmZWQ1ZGQ3Li43MDBkMjRmZDkzN2EzMTg0NWRiYjJjZjExNzE5NDM1YWVjZmUzZWJl
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BMDJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTAyX1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDog
c2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246
IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b1N0cmluZyIKIC0tLSovCi0K
LWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmciKSAhPT0gdHJ1ZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0
aGUgcHJvcGVydHkgInRvU3RyaW5nIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIiksCisgIHRydWUsCisgICdEYXRlLnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmciKSBtdXN0IHJldHVybiB0cnVlJworKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9TMTUuOS41X0EwM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9TMTUuOS41X0EwM19UMS5qcwppbmRleCA4MWVmMDJlYjY2N2U5MGJiNjFkZjcy
OTQwMGMxZWY2OGQwZDdmNTJhLi4yNjhjNjIwOWFkZDg0NzEyNzk3ZWE3NTQxN2I5MGRiNzEzZTA4
ZmEwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvUzE1LjkuNV9BMDNfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTAzX1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNp
ZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRp
b246IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b0RhdGVTdHJpbmciCiAt
LS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRGF0ZVN0cmluZyIp
ICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90
b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9EYXRlU3RyaW5nIicpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRGF0ZVN0cmluZyIpLAor
ICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRGF0ZVN0cmluZyIp
IG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA0X1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA0X1QxLmpzCmluZGV4
IDM1N2MzODI3MWQ2NjcxOWZhYWM1OGFkZTY4NTQxZTFlMzllNjZiMTYuLmY0MDQ5NzUwNmUyZjU4
NjEwNDg2YmZhN2NiNWQzNmZlZDMxMTAxMDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwNF9UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDRfVDEu
anMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1wcm90
b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJv
cGVydHkgInRvVGltZVN0cmluZyIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Q
cm9wZXJ0eSgidG9UaW1lU3RyaW5nIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJ0b1RpbWVTdHJp
bmciJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSgidG9UaW1lU3RyaW5nIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Q
cm9wZXJ0eSgidG9UaW1lU3RyaW5nIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MDVfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BMDVfVDEuanMKaW5kZXggZDExZmE3ZDUzNmIyM2JjZmUyY2MzMDNmNjBmODBlYTli
NTU4YjlkYi4uNzA2OGQzZGQyY2Y1MTA1ZmJlOWZjN2YzMDc5OGYxZDgzM2YzZDBlOCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45
LjVfQTA1X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9TMTUuOS41X0EwNV9UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9w
ZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0
ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9Mb2NhbGVTdHJpbmciCiAtLS0qLwotCi1p
ZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlU3RyaW5nIikgIT09IHRy
dWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBo
YXMgdGhlIHByb3BlcnR5ICJ0b0xvY2FsZVN0cmluZyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVN0cmluZyIpLAorICB0
cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlU3RyaW5nIikg
bXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDZfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDZfVDEuanMKaW5kZXgg
ODdkMGIxYjAwMmM3MmY5NjYwZDRiMDVhNmY1OGMyNmNkMGExZjExNy4uOTdlMDkwODkwNGFmNjg0
ODhmZWJkMjQzZTkzOTFmZDJlYTZhYmU3OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA2X1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwNl9UMS5q
cwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3Rv
dHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9w
ZXJ0eSAidG9Mb2NhbGVEYXRlU3RyaW5nIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhh
c093blByb3BlcnR5KCJ0b0xvY2FsZURhdGVTdHJpbmciKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkg
InRvTG9jYWxlRGF0ZVN0cmluZyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZURhdGVTdHJpbmciKSwKKyAgdHJ1ZSwKKyAg
J0RhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZURhdGVTdHJpbmciKSBtdXN0
IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwN19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwN19UMS5qcwppbmRleCBlODA0
Y2RlYjc2YjhjZmE0MDVkMGQ0OGJlZjc2OGFkODFiNGI5ZGZhLi41M2I2ZTg3MTVlMzFjNjc5ZWJi
YmQ3ZGVjNDg2YWE2MDY4ZjllOWY1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDdfVDEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA3X1QxLmpzCkBA
IC02LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBl
LW9iamVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5
ICJ0b0xvY2FsZVRpbWVTdHJpbmciCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoInRvTG9jYWxlVGltZVN0cmluZyIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAidG9M
b2NhbGVUaW1lU3RyaW5nIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlVGltZVN0cmluZyIpLAorICB0cnVlLAorICAnRGF0
ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlVGltZVN0cmluZyIpIG11c3QgcmV0
dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA4X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA4X1QxLmpzCmluZGV4IDE2Y2NhMDI0
NzE3OGRlY2YxYjE5MzcyZjBiN2JkNTU2N2Y1OTg2NzkuLmVjNTEwM2FiOTMyNDBkNDRlMGY0MGE3
N2YyYTgzMDE3Y2EyZWNiZTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwOF9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDhfVDEuanMKQEAgLTYs
NyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1wcm90b3R5cGUtb2Jq
ZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInZh
bHVlT2YiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVl
T2YiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUu
cHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInZhbHVlT2YiJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpLAorICB0cnVl
LAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSBtdXN0IHJldHVy
biB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwOV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EwOV9UMS5qcwppbmRleCBhZGY5NTEwOGJi
ZjY5ZDg1ODZkODNmZmIwYzY5ZmRkMjVlZmJiMWRhLi41ZTdjYWEyNDc5M2Y0YmYxYzVmODliZTUw
Y2VlYzI5ZTVkMmNiYTE5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMDlfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTA5X1QxLmpzCkBAIC02LDcg
KzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVj
dAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRU
aW1lIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRUaW1l
IikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRUaW1lIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFRpbWUiKSwKKyAgdHJ1ZSwK
KyAgJ0RhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRUaW1lIikgbXVzdCByZXR1cm4g
dHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTBfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTBfVDEuanMKaW5kZXggMDE3NmJlZTk2NWZi
MWY3OGI0YzU4OTNkZTlhZmE3Njg5N2RiYmYzOC4uOTFhZjQ2MWFlMmRkYmEwZGMzM2EyYzY3ZmVm
ZTU5MGM4ZmRiYTU3MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTEwX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExMF9UMS5qcwpAQCAtNiw3ICs2
LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QK
IGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RnVs
bFllYXIiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldEZ1
bGxZZWFyIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBE
YXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRGdWxsWWVhciInKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRGdWxsWWVh
ciIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldEZ1bGxZ
ZWFyIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTFfVDEuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTFfVDEuanMK
aW5kZXggMjJlYTA5NjZhYTVlOWY3MDQyZGZmM2IxNTNiZGEzZTIwMjdkZGEyYS4uZjk0NzdmNDUx
ZWFjMjE2NmZkMGQ0ZTQ5YjA1ZWJiNzk4OTA0YTQ4ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTExX1QxLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0Ex
MV9UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRl
LXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRo
ZSBwcm9wZXJ0eSAiZ2V0VVRDRnVsbFllYXIiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkoImdldFVUQ0Z1bGxZZWFyIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJn
ZXRVVENGdWxsWWVhciInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBl
Lmhhc093blByb3BlcnR5KCJnZXRVVENGdWxsWWVhciIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90
b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ0Z1bGxZZWFyIikgbXVzdCByZXR1cm4gdHJ1ZScK
Kyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvUzE1LjkuNV9BMTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTJfVDEuanMKaW5kZXggYmY3OGRmZDE5MzM5ZTIzYmVk
OGVlMTM0Yzc1OTc5NzYwODVmZmIwMC4uMGFjZmZlYjg0ZDBmMDExYzNkYjVjYTI0NmJkMzcwODIy
NzU0YTcwMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL1MxNS45LjVfQTEyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExMl9UMS5qcwpAQCAtNiw3ICs2LDggQEAK
IGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2Ny
aXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TW9udGgiCiAt
LS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldE1vbnRoIikgIT09
IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlw
ZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRNb250aCInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRNb250aCIpLAorICB0cnVlLAorICAn
RGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldE1vbnRoIikgbXVzdCByZXR1cm4gdHJ1
ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BMTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTNfVDEuanMKaW5kZXggYjFlYTYyZGM1YmE1Y2Jl
Yjc5NjIwYzhhOTdkNzExNzUwYTczNDYzNS4uMTBjYTY3ODY0ZmYwYzM3ZGNkNzI2N2QwMDY5MTMw
MzY2NjVhZDczYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL1MxNS45LjVfQTEzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExM19UMS5qcwpAQCAtNiw3ICs2LDgg
QEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRl
c2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTW9u
dGgiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ01v
bnRoIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENNb250aCInKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENNb250aCIp
LAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ01vbnRo
IikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTRfVDEuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTRfVDEuanMKaW5k
ZXggY2MwYWM2MzA2N2RmYTIyZjgzOWJmYzk4N2JmYWNkODRjOGExYjM4Mi4uNzk5NzUyY2U5Y2Y2
YWEwNzBhNzY3YzkyYTRiNGUyYTE3ZWExMGJkZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE0X1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExNF9U
MS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXBy
b3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBw
cm9wZXJ0eSAiZ2V0RGF0ZSIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSgiZ2V0RGF0ZSIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF0ZSInKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXREYXRl
IiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0RGF0ZSIp
IG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE1X1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE1X1QxLmpzCmluZGV4
IDBjZjAwNTg3NDRkZTYzYTE2NTJkZmU4ODZlYmE4NDAyZjg4YTM5YjIuLjRhMzgxMmRjOTk3ZjNi
ZTg0YWQzNWQzMWNlNjgyOTgyYTVhMDUwMTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExNV9UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTVfVDEu
anMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1wcm90
b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJv
cGVydHkgImdldFVUQ0RhdGUiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkoImdldFVUQ0RhdGUiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ0RhdGUiJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgi
Z2V0VVRDRGF0ZSIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
ImdldFVUQ0RhdGUiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExNl9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0Ex
Nl9UMS5qcwppbmRleCA0MDYzZTg1NGY2YTlmZTUyNWFjYjEzOTIwMjQxYjI1MzNmYTdlZTJlLi4z
ZjFiYTFiNTcyZjAzZjcxNWU2ZjI2NjI0MmIzMjNiOTJjNjRhNTY5IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTZfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1Mx
NS45LjVfQTE2X1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMtb2Yt
dGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3RvdHlw
ZSBoYXMgdGhlIHByb3BlcnR5ICJnZXREYXkiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkoImdldERheSIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0RGF5Iicp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
ImdldERheSIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdl
dERheSIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE3X1QxLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE3X1QxLmpz
CmluZGV4IGVjZDQ0Y2NiZjhhNjVjY2MzMThhOWZlMTU3Y2M2MzgzNGIwYTk2ZTUuLjM1YTA2YWM0
ZmNjNjM2MDY5NmIxNjMzODNmZjI4YTc0NWRiOTBkNTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0ExN19UMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MTdfVDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0
ZS1wcm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0
aGUgcHJvcGVydHkgImdldFVUQ0RheSIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eSgiZ2V0VVRDRGF5IikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRVVENEYXki
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eSgiZ2V0VVRDRGF5IiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eSgiZ2V0VVRDRGF5IikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMThfVDEuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MThfVDEuanMKaW5kZXggZDY2ODA5ZGQ1YzFhNjFjMjA5NTA3ZWNmYzBlZDJhN2FlMzE3NzAxNy4u
NWJhNGNiOWNmMjcwZTc5YTU1N2Q5ZTQ3ZWY5NDk1ZDk1OWMzZGE0YiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE4X1Qx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9T
MTUuOS41X0ExOF9UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9m
LXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5
cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0SG91cnMiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoImdldEhvdXJzIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRI
b3VycyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blBy
b3BlcnR5KCJnZXRIb3VycyIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkoImdldEhvdXJzIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMTlfVDEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1Ljku
NV9BMTlfVDEuanMKaW5kZXggMWM1MjRjNjcyNGZiZjY5NDdmZDM3ODdjNzI5ZDNjOTU1YjNhNTI1
ZC4uM2FmZjQ3OTg5MWEyYWU2Mzc2ZGZiODNhNjlmMGU2OWU3MTA5ZGI5ZCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTE5
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9TMTUuOS41X0ExOV9UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVz
LW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90
b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDSG91cnMiCiAtLS0qLwotCi1pZiAoRGF0ZS5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ0hvdXJzIikgIT09IHRydWUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3Bl
cnR5ICJnZXRVVENIb3VycyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90
eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENIb3VycyIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90
b3R5cGUuaGFzT3duUHJvcGVydHkoImdldFVUQ0hvdXJzIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BMjBfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjBfVDEuanMKaW5kZXggZjljNTJjZTVlMzQ2N2VhNmMwZDlh
YzAyMDM1ZjczZmJmMDI4MmM1Yi4uMmY2NmY5NmE3ZjBhYTFiMmJkMjhmN2Q1MjIxOWFmNTNjNWYw
NTg3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL1MxNS45LjVfQTIwX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyMF9UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVz
aWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0
aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWludXRlcyIKIC0t
LSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0TWludXRlcyIpICE9
PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0TWludXRlcyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRNaW51dGVzIiksCisgIHRydWUs
CisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0TWludXRlcyIpIG11c3QgcmV0
dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTIxX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTIxX1QxLmpzCmluZGV4IDg3YWIzNWM2
YjMwYzg2Y2E0MGZlNjIzNGEyOWQ3ODZiMDBkOGJlNGQuLjJjZGM3YmJkMDc4MGRhNmExNTJhMzY4
OWEwMWI1OGYzNzAzMDNlMzEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjFfVDEuanMKQEAgLTYs
NyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1wcm90b3R5cGUtb2Jq
ZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdl
dFVUQ01pbnV0ZXMiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
ImdldFVUQ01pbnV0ZXMiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbnV0ZXMiJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgi
Z2V0VVRDTWludXRlcyIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkoImdldFVUQ01pbnV0ZXMiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyMl9U
MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUu
OS41X0EyMl9UMS5qcwppbmRleCBjZWMzYzA4MzNiODVlMTJiNDE2NmI3YWE4ZGMxNGI1NzkzZTQ5
MmRiLi41NTRkMDQ0ZDdhYzAzZmI1ZTE2MmFmNzBkNGY4MDBmNWIwNGMxNjNlIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MjJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL1MxNS45LjVfQTIyX1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRp
ZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnBy
b3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRTZWNvbmRzIgogLS0tKi8KLQotaWYgKERhdGUu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRTZWNvbmRzIikgIT09IHRydWUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3Bl
cnR5ICJnZXRTZWNvbmRzIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoImdldFNlY29uZHMiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90
eXBlLmhhc093blByb3BlcnR5KCJnZXRTZWNvbmRzIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BMjNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BMjNfVDEuanMKaW5kZXggMTM3OTg5NmM0ZDNlODAzMmNkOTg4NzI3
NjQwNWI2ODAxNGQ4OGY4My4uOThhNzZlNzgzYzA4NmIzZjFhNDA0MzViYWQ3YzllMjM3NWIxZTFi
NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL1MxNS45LjVfQTIzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyM19UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6
IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9u
OiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDU2Vjb25kcyIKIC0t
LSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDU2Vjb25kcyIp
ICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90
b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDU2Vjb25kcyInKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJnZXRVVENTZWNvbmRzIiks
CisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VVRDU2Vjb25k
cyIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTI0X1QxLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTI0X1QxLmpzCmlu
ZGV4IGEwMGIwMDNhYjI2ZGYwODA1MjY5ZmJkMGQ3ZTViZmMxYzFjOTkwMzIuLmUyMDgwZjY3ZGVk
N2E2ZDE0OWU3OTUxMThmOTQwMmFjZTc5YjVjZmEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyNF9UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjRf
VDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1w
cm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUg
cHJvcGVydHkgImdldE1pbGxpc2Vjb25kcyIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5o
YXNPd25Qcm9wZXJ0eSgiZ2V0TWlsbGlzZWNvbmRzIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJn
ZXRNaWxsaXNlY29uZHMiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0TWlsbGlzZWNvbmRzIiksCisgIHRydWUsCisgICdEYXRlLnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0TWlsbGlzZWNvbmRzIikgbXVzdCByZXR1cm4gdHJ1
ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BMjVfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjVfVDEuanMKaW5kZXggM2NlYThkODIxYWRjMGRh
YjBiMDcxOWU3MDk1ZmJmYTlmNjM3YWFkMi4uZWIxNzQyZDA2ZjIyMjY0ZGM2ZTk3Yzc0NzcyMzdm
ZTU0MGRmOWY1MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL1MxNS45LjVfQTI1X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyNV9UMS5qcwpAQCAtNiw3ICs2LDgg
QEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRl
c2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAiZ2V0VVRDTWls
bGlzZWNvbmRzIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJn
ZXRVVENNaWxsaXNlY29uZHMiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFVUQ01pbGxpc2Vj
b25kcyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blBy
b3BlcnR5KCJnZXRVVENNaWxsaXNlY29uZHMiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBl
Lmhhc093blByb3BlcnR5KCJnZXRVVENNaWxsaXNlY29uZHMiKSBtdXN0IHJldHVybiB0cnVlJwor
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9TMTUuOS41X0EyNl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyNl9UMS5qcwppbmRleCA3OTRlN2E3NDJkMzQ3ODEzMjc4
MjdhNWNkMDAyYTU0ZDFjMzI2YzFjLi43MDY1ZTFmZWYzODFlMjVmNGUwNTI3NDRiYmQ4NzJmZTg4
Y2I2MGRlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BMjZfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTI2X1QxLmpzCkBAIC02LDcgKzYsOCBAQAog
ZXNpZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3Jp
cHRpb246IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJnZXRUaW1lem9uZU9m
ZnNldCIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0VGlt
ZXpvbmVPZmZzZXQiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgImdldFRpbWV6b25lT2Zmc2V0Iicp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
ImdldFRpbWV6b25lT2Zmc2V0IiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Q
cm9wZXJ0eSgiZ2V0VGltZXpvbmVPZmZzZXQiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUu
OS41X0EyN19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9TMTUuOS41X0EyN19UMS5qcwppbmRleCAwYjYwN2RjOTdhMWI4OTcyZjBlMWVjMmNkOTY3
M2YxZGU0NDBlYTdmLi4wZTI3ZmFlMGJhNzc1YzNkMTFhYmFiOWFkYzQ2YzA3YTRiYTdmNjQzIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BMjdfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL1MxNS45LjVfQTI3X1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2Vj
LXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRo
ZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRUaW1lIgogLS0tKi8KLQotaWYg
KERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRUaW1lIikgIT09IHRydWUpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHBy
b3BlcnR5ICJzZXRUaW1lIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoInNldFRpbWUiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBl
Lmhhc093blByb3BlcnR5KCJzZXRUaW1lIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1Ljku
NV9BMjhfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BMjhfVDEuanMKaW5kZXggYjc4MzljOGNmNmRlZmRlMDNmY2M3MDdhYzg3OTI1
Y2NkNmQzZDUyYS4uYTRhZGZiYjNiZWM3YmVlMmViNzAzMGM4YWRmOTBmODhlZDNiOWRiZSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1Mx
NS45LjVfQTI4X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9TMTUuOS41X0EyOF9UMS5qcwpAQCAtNiw3ICs2LDggQEAKIGVzaWQ6IHNlYy1w
cm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QKIGRlc2NyaXB0aW9uOiBUaGUg
RGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWlsbGlzZWNvbmRzIgogLS0tKi8K
LQotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRNaWxsaXNlY29uZHMiKSAh
PT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90
eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldE1pbGxpc2Vjb25kcyInKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRNaWxsaXNlY29uZHMi
KSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRNaWxsaXNl
Y29uZHMiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyOV9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EyOV9UMS5q
cwppbmRleCAyZWVkNGY2OWZhNWNjZmZiMTc3NGUwMGVjNzllYjA4N2FhMmIzMDgzLi4yNzNiZmFk
ZjMyNjA5OTM4ZTI5NzU1MTU3NTY4MDlhOGJkNjgwNTBiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMjlfVDEuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVf
QTI5X1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWRh
dGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMg
dGhlIHByb3BlcnR5ICJzZXRVVENNaWxsaXNlY29uZHMiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90
b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ01pbGxpc2Vjb25kcyIpICE9PSB0cnVlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBw
cm9wZXJ0eSAic2V0VVRDTWlsbGlzZWNvbmRzIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ01pbGxpc2Vjb25kcyIpLAorICB0
cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ01pbGxpc2Vjb25k
cyIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTMwX1QxLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTMwX1QxLmpzCmlu
ZGV4IDE5ZmEzY2MwMWM0MTc4NTYzOGVhNmY3YThlMjhjNGI0MmE0MjhjZGMuLmY0MDFiMjc3YmJj
M2I3MzA2Yzk3NGIyNTU2MjkzOGVjYzA2NTE2MjggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzMF9UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzBf
VDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1w
cm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUg
cHJvcGVydHkgInNldFNlY29uZHMiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoInNldFNlY29uZHMiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFNlY29uZHMi
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eSgic2V0U2Vjb25kcyIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkoInNldFNlY29uZHMiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzMV9UMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41
X0EzMV9UMS5qcwppbmRleCAyOTJjZjdlMjEwOTExZDU1ZGNhMTFlYWVlYjdiNjEyMzk5OWRlNjNi
Li44MWM5MjJkMzUwZGFiYTZlODcxM2I3ZGRhOGQ1N2ViYWRiZWZmNDYxIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzFf
VDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L1MxNS45LjVfQTMxX1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMt
b2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3Rv
dHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENTZWNvbmRzIgogLS0tKi8KLQotaWYgKERhdGUu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRVVENTZWNvbmRzIikgIT09IHRydWUpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHBy
b3BlcnR5ICJzZXRVVENTZWNvbmRzIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ1NlY29uZHMiKSwKKyAgdHJ1ZSwKKyAgJ0Rh
dGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRVVENTZWNvbmRzIikgbXVzdCByZXR1cm4g
dHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzJfVDEuanMKaW5kZXggZmFkNWY2MmVkNDZi
NDFmYWVjODAzNTA3OTFkOWJjMDRlNzRhNmQyZC4uNTQ4M2E5MDA0NzhlNDBjNjMyOWM1ZTVmMzIz
YWViODIyMDVjMzlhNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTMyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzMl9UMS5qcwpAQCAtNiw3ICs2
LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmplY3QK
IGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWlu
dXRlcyIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0TWlu
dXRlcyIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0
ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TWludXRlcyInKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRNaW51dGVzIiks
CisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0TWludXRlcyIp
IG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTMzX1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTMzX1QxLmpzCmluZGV4
IDEyZTIzMmMxN2I4MWRkODBlYmU2NzlkNmYwNWVhNTAxNDdjYjUyMGMuLmE3MTIzZTM3NzZjNTJi
YTYyMjNmMWE1MjgyMjNhMDE0M2UwZmNmMDkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzM19UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzNfVDEu
anMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1wcm90
b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJv
cGVydHkgInNldFVUQ01pbnV0ZXMiCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoInNldFVUQ01pbnV0ZXMiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ01p
bnV0ZXMiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Q
cm9wZXJ0eSgic2V0VVRDTWludXRlcyIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkoInNldFVUQ01pbnV0ZXMiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUu
OS41X0EzNF9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9TMTUuOS41X0EzNF9UMS5qcwppbmRleCAzNjljNjE1NWE2YWU4MWU1MzU2ZmU1OWRkZTY3
ODBhZmZjNTczZDExLi4yZDc3ODBiZDQ4OWIxMWIwNmIyNWNmMGIwOTBmZDczNDQyYmQ4NGZmIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
UzE1LjkuNV9BMzRfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL1MxNS45LjVfQTM0X1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDogc2Vj
LXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246IFRo
ZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRIb3VycyIKIC0tLSovCi0KLWlm
IChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0SG91cnMiKSAhPT0gdHJ1ZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUg
cHJvcGVydHkgInNldEhvdXJzIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUuaGFzT3duUHJvcGVydHkoInNldEhvdXJzIiksCisgIHRydWUsCisgICdEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0SG91cnMiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9T
MTUuOS41X0EzNV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9TMTUuOS41X0EzNV9UMS5qcwppbmRleCAzMWE1YWU3NWE1NGY2N2FiNjRhMGQzM2M3
NDlmOTYyNDRlNWFmZDgyLi5hMWVkOTYwNGEyM2UyNjg5MzEzM2E3NWViYmQwMTA3MTQ2N2Y4YjM2
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BMzVfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM1X1QxLmpzCkBAIC02LDcgKzYsOCBAQAogZXNpZDog
c2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9iamVjdAogZGVzY3JpcHRpb246
IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXRVVENIb3VycyIKIC0tLSov
Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDSG91cnMiKSAhPT0g
dHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBl
IGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0hvdXJzIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldFVUQ0hvdXJzIiksCisgIHRydWUs
CisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDSG91cnMiKSBtdXN0IHJl
dHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzNl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzNl9UMS5qcwppbmRleCA1ZTM0YjBi
MzAzZGU1YjBiNmY3OTQ0NjVhNTM5MDBlZTdlYzA1YTY2Li5hYzIxN2VhMzNmODU0Zjc5MDQxYTI0
MzA1MzgwZmU3Y2VkNWZmY2Y3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzZfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM2X1QxLmpzCkBAIC02
LDcgKzYsOCBAQAogZXNpZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLWRhdGUtcHJvdG90eXBlLW9i
amVjdAogZGVzY3JpcHRpb246IFRoZSBEYXRlLnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJz
ZXREYXRlIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRE
YXRlIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZSBoYXMgdGhlIHByb3BlcnR5ICJzZXREYXRlIicpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNldERhdGUiKSwKKyAgdHJ1
ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXREYXRlIikgbXVzdCByZXR1
cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzdfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzdfVDEuanMKaW5kZXggZjJkYTQ4MzFj
MjhmZjkyYWQ0Mzc2ZDZiZGYxZjgwMDYxZTM1YTM1YS4uZjkxMzcwODcyNTk0OGU5OWQwZGU4YmE4
MDc2NmYxMDY1ZjkxNGM0NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM3X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzN19UMS5qcwpAQCAtNiw3
ICs2LDggQEAKIGVzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1kYXRlLXByb3RvdHlwZS1vYmpl
Y3QKIGRlc2NyaXB0aW9uOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0
VVRDRGF0ZSIKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0
VVRDRGF0ZSIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDRGF0ZSInKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRVVENEYXRl
IiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0VVRDRGF0
ZSIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM4X1QxLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM4X1QxLmpzCmlu
ZGV4IDhjNjk2ZmNmN2Q1MDQzN2E5ZDAwNGEyOTViZDg4ZDFkZmZkOWEyMmYuLmJlZmVlMTAyY2Jk
MDk1NDkwZTkwMTBkNGVhMzZiMmE3N2ZlOTI4NzEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzOF9UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BMzhf
VDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1w
cm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUg
cHJvcGVydHkgInNldE1vbnRoIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhhc093blBy
b3BlcnR5KCJzZXRNb250aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0TW9udGgiJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0
TW9udGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRN
b250aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM5X1QxLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTM5X1QxLmpz
CmluZGV4IDc0NWYxMDc3NzgyODllNmVlZGFjYTc1YmExYzU2YzYxNDI5ZWY0NzguLjNjZmFlZTBi
ZWY4MTIyMjZmMTFkYmNkNjFhZjMzYmNjZTU0Y2NiMmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0EzOV9UMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9B
MzlfVDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0
ZS1wcm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0
aGUgcHJvcGVydHkgInNldFVUQ01vbnRoIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhh
c093blByb3BlcnR5KCJzZXRVVENNb250aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRD
TW9udGgiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Q
cm9wZXJ0eSgic2V0VVRDTW9udGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmhhc093
blByb3BlcnR5KCJzZXRVVENNb250aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVf
QTQwX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L1MxNS45LjVfQTQwX1QxLmpzCmluZGV4IGFmMGQ5ODQxNGI0NmEwZDRjNDg5ZDlhYTk4OWVjNDdk
ZWZmYzBjMDUuLjg2ZDU0OGQ4ZTNkMGM0ZDJkYzNkZDk3NjUxYTY5ZDZhNzJlZjFmZjAgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUu
OS41X0E0MF9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvUzE1LjkuNV9BNDBfVDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJv
cGVydGllcy1vZi10aGUtZGF0ZS1wcm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERh
dGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldEZ1bGxZZWFyIgogLS0tKi8KLQotaWYg
KERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRGdWxsWWVhciIpICE9PSB0cnVlKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRo
ZSBwcm9wZXJ0eSAic2V0RnVsbFllYXIiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0RnVsbFllYXIiKSwKKyAgdHJ1ZSwKKyAgJ0Rh
dGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRGdWxsWWVhciIpIG11c3QgcmV0dXJuIHRy
dWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL1MxNS45LjVfQTQxX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTQxX1QxLmpzCmluZGV4IDQ4OGVlNjI3OTJmYTdl
OTIzM2QwZDRjODRkYmRlMTg5MTBlODIxMGEuLjVlZmJiZDZhNzYzMTgwNjZlZmRmNTVmMGJhMTg3
YzIyYzhmNzQyNjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9TMTUuOS41X0E0MV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvUzE1LjkuNV9BNDFfVDEuanMKQEAgLTYsNyArNiw4
IEBACiBlc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtZGF0ZS1wcm90b3R5cGUtb2JqZWN0CiBk
ZXNjcmlwdGlvbjogVGhlIERhdGUucHJvdG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInNldFVUQ0Z1
bGxZZWFyIgogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzZXRV
VENGdWxsWWVhciIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9wZXJ0eSAic2V0VVRDRnVsbFllYXIiJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2V0
VVRDRnVsbFllYXIiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5
KCJzZXRVVENGdWxsWWVhciIpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45LjVfQTQyX1Qx
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL1MxNS45
LjVfQTQyX1QxLmpzCmluZGV4IDg3NzViZjgzMzc5NDcyZGFjNmM4NzVhOTcxYjY0ZGQ4OGU5Mzc0
ZDIuLjQwYmI3ZDBkZjFmOWUwYmZmNzI4ZDE2ODYzMDdiNGU3MmM3ZjNhODUgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9TMTUuOS41X0E0
Ml9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvUzE1LjkuNV9BNDJfVDEuanMKQEAgLTYsNyArNiw4IEBACiBlc2lkOiBzZWMtcHJvcGVydGll
cy1vZi10aGUtZGF0ZS1wcm90b3R5cGUtb2JqZWN0CiBkZXNjcmlwdGlvbjogVGhlIERhdGUucHJv
dG90eXBlIGhhcyB0aGUgcHJvcGVydHkgInRvVVRDU3RyaW5nIgogLS0tKi8KLQotaWYgKERhdGUu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1VUQ1N0cmluZyIpICE9PSB0cnVlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUgaGFzIHRoZSBwcm9w
ZXJ0eSAidG9VVENTdHJpbmciJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9VVENTdHJpbmciKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCJ0b1VUQ1N0cmluZyIpIG11c3QgcmV0dXJuIHRydWUnCisp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTFfVDEuanMK
aW5kZXggNGFjMmE2MDdlYjljZGJmNzFiNDgyYThjYmYzMTJhNDE4MmNiMTA4ZS4uYTM4M2Y1ODMw
Yzg5MTc3NGE0Zjg4MzNkMDYwZTUwMDAyZmY4ZGI4ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9B
MV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0q
LwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yOwotaWYgKHggPT09IDEpCitp
ZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IDI7Ci1lbHNlCit9
IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IDE7Ci1pZiAoRGF0ZS5wcm90
b3R5cGUuY29uc3RydWN0b3IgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVh
ZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuY29u
c3RydWN0b3IsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0
b3IgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1Mx
NS45LjUuMV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTFfVDIuanMKaW5kZXggYmQ4NDMzYjQ4YWMz
ZDFlNmRkNmUyMjgyOGY1MjkxOWExNGJiNmY3My4uODExOWE1ZDVmYWZhMjBlYjUxOTU5M2NmOWNj
NDEyOWU5NGEyMjA1MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BMV9UMi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1
LjkuNS4xX0ExX1QyLmpzCkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5
cGUuY29uc3RydWN0b3IKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxl
dGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUu
cHJvdG90eXBlLmNvbnN0cnVjdG9yLAorICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUg
RGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IGZhbHNlJworKTsKIAotaWYgKGRlbGV0
ZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0eSBo
YXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KCdjb25zdHJ1Y3RvcicpLAorICAnVGhlIHZhbHVlIG9m
ICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2NvbnN0cnVjdG9yXCcpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
J2NvbnN0cnVjdG9yJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRl
LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BMV9UMy5q
cwppbmRleCBiMWFlZWUwNDU3NWYzYzUzNzc2ZTU0NDE0YjJjNWVjODg2MmFjNmI1Li4xODQyMmE4
MGMxY2M3ZDM5MDBiNWU3YzFhODU4MmRiMjI0NGU4MTEzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4x
X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVz
aWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvcgogZGVzY3JpcHRpb246IENoZWNraW5n
IERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdjb25zdHJ1Y3RvcicpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgcHJvcGVydHkgaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdjb25zdHJ1Y3RvcicpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3Rv
dHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2NvbnN0cnVjdG9yXCcpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0gIGlmICh4
ID09PSAiY29uc3RydWN0b3IiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRo
ZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScp
OwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImNvbnN0cnVjdG9yIiwgJ1RoZSB2YWx1
ZSBvZiB4IGlzIG5vdCAiY29uc3RydWN0b3IiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0EyX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVj
dG9yL1MxNS45LjUuMV9BMl9UMS5qcwppbmRleCAzOTQ1NzM2MjZjNTExNDkxNjkzNmY1Njg1ZDUx
N2FmMDFlYTdkYzZjLi5kM2RmODQ4NTA0YWE0NTg5YzE4MmI2NjFmMDBmNDk2MzYzNmEyN2JkIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Y29uc3RydWN0b3IvUzE1LjkuNS4xX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTJfVDEuanMK
QEAgLTYsMTEgKzYsMTQgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcgog
ZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImNvbnN0cnVjdG9yIiBp
cyA3CiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0
b3IuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUu
Y29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCisp
OwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoImxlbmd0
aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgY29uc3Ry
dWN0b3IgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBl
LmNvbnN0cnVjdG9yLmxlbmd0aCAhPT0gNykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyA3Jyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGgsCisg
IDcsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IubGVuZ3RoIGlz
IGV4cGVjdGVkIHRvIGJlIDcnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BM19UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9jb25zdHJ1Y3Rv
ci9TMTUuOS41LjFfQTNfVDEuanMKaW5kZXggYWUzNzBlNjE0ZGRkN2Q3YmI2MGEzZDcwYTc0ODIz
NDJkOGYzNzQxNC4uODExOGVhOTZmMDk2NjAyMDFkZDFlNmFiOTQ4ODIwZWQzNDgxNmNlNCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2Nv
bnN0cnVjdG9yL1MxNS45LjUuMV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0EzX1QxLmpzCkBA
IC0xMiw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxl
bmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLCAibGVu
Z3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IubGVuZ3RoICE9
PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUu
Y29uc3RydWN0b3IubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCwKKyAg
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0
IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BM19U
Mi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9jb25z
dHJ1Y3Rvci9TMTUuOS41LjFfQTNfVDIuanMKaW5kZXggZmZjZTQ4ZDQ4ODk3NmI1MjQwMDcwMzUw
YTE3NGNlYTVmZjhiM2M0Ni4uZWIzZmEwZTc1Mjg1NGNjNWMyNjIzNjQwMmU3ZWM2ZmM4MTViYzM3
YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjkuNS4xX0EzX1Qy
LmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuY29uc3RydWN0
b3IKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5n
dGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5jb25z
dHJ1Y3Rvci5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoZGVsZXRl
IERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0
aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0K
K2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IuaGFz
T3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlm
IChEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1
Y3Rvci5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVs
ZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuOS41LjFfQTNfVDMuanMKaW5k
ZXggMTFiNTkyMzU5M2NhOWVmOWFhMWNmNWM4NWZmNzk4N2M0ZDg1YTQ5Ni4uMDg3MWVhOGJkNGYz
NDUwMDkyYzYxNjNkNTVjN2Q1YzAxZTQwYWFkMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS45LjUuMV9BM19U
My5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Y29uc3RydWN0b3IvUzE1LjkuNS4xX0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBz
ZWMtZGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250
RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5w
cm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5sZW5ndGggcHJvcGVydHkgaGFz
IHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBl
LmNvbnN0cnVjdG9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IucHJvcGVydHlJc0VudW1lcmFibGUoXCds
ZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0
ZS5wcm90b3R5cGUuY29uc3RydWN0b3IpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3Rv
ci5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90
U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7
CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
RGF0ZS9TMTUuOS41LjE0X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BMV9UMS5qcwppbmRleCBjYWU3MGIz
Y2U4NDYyMzllYzRlYzgyMmI3MGFkYWFlZDhiYTU0OWY5Li5kN2I2YmE4MDM1NDZjMWYyZTIwNjkx
NmZjOGJlZGE1MTRkYjJlOTNjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF0ZS9TMTUuOS41LjE0X0ExX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXRlL1MxNS45
LjUuMTRfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5w
cm90b3R5cGUuZ2V0RGF0ZTsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5w
cm90b3R5cGUuZ2V0RGF0ZSA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5n
ZXREYXRlID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXREYXRlID09PSB4KSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBoYXMgbm90
IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3Rv
dHlwZS5nZXREYXRlIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJwor
KTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRE
YXRlL1MxNS45LjUuMTRfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0RGF0ZS9TMTUuOS41LjE0X0ExX1QyLmpzCmluZGV4IDNhZWZkMzcz
Nzg5N2M0ZDZmODBjNDE4YTZiMmRhOGUwMWUyZTk1NmMuLmMyZGFmMWE3ZDhhM2U4MjY3MmI2YzY0
YmY0YzBiODBjM2MxYjFlMjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXRlL1MxNS45LjUuMTRfQTFfVDIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1Ljku
NS4xNF9BMV9UMi5qcwpAQCAtNiwxMSArNiwxMSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBl
LmdldGRhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0
cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShkZWxldGUgRGF0ZS5wcm90b3R5cGUu
Z2V0RGF0ZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERh
dGUgaXMgbm90IGZhbHNlJyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSA9
PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3Rv
dHlwZS5nZXREYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScp
OwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldERhdGUn
KSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdnZXRE
YXRlXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkoJ2dldERhdGUnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogVGhlIERhdGUucHJvdG90eXBlLmdldERhdGUgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmli
dXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXRlL1MxNS45LjUuMTRfQTFfVDMu
anMKaW5kZXggZDRiOWY5N2ZmODdiMWY2Y2Y3ZWQ1YjM5NjFhNjVhYTA5ZDNlZTFhMC4uOGYxZmYz
ZTU3Yjk0NmE2MTlhOGE0NzQwYzU3YmQyZWUzYTQwMGM2MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9B
MV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0RGF0ZS9TMTUuOS41LjE0X0ExX1QzLmpzCkBAIC02LDEzICs2LDEzIEBACiBlc2lkOiBz
ZWMtZGF0ZS5wcm90b3R5cGUuZ2V0ZGF0ZQogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVt
IGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJh
YmxlKCdnZXREYXRlJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZS5nZXREYXRlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7
Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0
RGF0ZScpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZShcJ2dldERhdGVcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFy
IHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJnZXREYXRlIikgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSBoYXMg
dGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwg
ImdldERhdGUiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJnZXREYXRlIicpOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1Ljku
NS4xNF9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXREYXRlL1MxNS45LjUuMTRfQTJfVDEuanMKaW5kZXggYjYwNTk4YjM4YzlmMTgzN2Ux
M2E4MTgxZGQ3ODViYWMwMDVjNGJhMi4uZTM2MDYyNGVlYmQ2M2NhNmE5N2I3MmNjMWIwNDRlOTVm
YzJmOTRlOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF0ZS9TMTUuOS41LjE0X0EyX1Qx
LmpzCkBAIC02LDExICs2LDEwIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0ZGF0ZQog
ZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldERhdGUiIGlzIDAK
IC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXREYXRlLmhhc093
blByb3BlcnR5KCJsZW5ndGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmdldERhdGUu
aGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0
ZS5wcm90b3R5cGUuZ2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBnZXREYXRlIGhhcyBhICJsZW5ndGgi
IHByb3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXREYXRlLmxlbmd0aCAhPT0g
MCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5
IG9mIHRoZSBnZXREYXRlIGlzIDAnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5wcm90b3R5
cGUuZ2V0RGF0ZS5sZW5ndGgsIDAsICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0
ZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BM19U
MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRE
YXRlL1MxNS45LjUuMTRfQTNfVDEuanMKaW5kZXggOTRiOTU0OTNmOWZjNDZhZmYyYTQ3MjcwNjM5
NDVlODA4N2QwMWMxZC4uMzZjNmJjYzc4NDMxYjVjOTAxY2RiMGJhYmRmMzk4YTk5N2ViOTI1MiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldERhdGUvUzE1LjkuNS4xNF9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF0ZS9TMTUuOS41LjE0X0EzX1QxLmpzCkBAIC0x
Miw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldERhdGUubGVuZ3RoOwog
dmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSwgImxlbmd0aCIsIG51bGws
IDEpOwotaWYgKERhdGUucHJvdG90eXBlLmdldERhdGUubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGgg
aGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0
ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXRlL1MxNS45LjUuMTRfQTNfVDIuanMKaW5kZXgg
MTMzYjAxZmM5ZjMzNWUzOGI5YzczOTJlODQwMzhmNzZmNjU0NTUyMS4uYmJiZWVhNDE3NDUzNGY5
Zjk0MzQwOGYzMTdiNzA1YWJkYmZjYWYxMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BM19UMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF0
ZS9TMTUuOS41LjE0X0EzX1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5w
cm90b3R5cGUuZ2V0ZGF0ZQogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmli
dXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLmdl
dERhdGUubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90
b3R5cGUuZ2V0RGF0ZS5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAo
ZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERhdGUubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGgg
cHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cith
c3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXREYXRlLmhhc093blByb3BlcnR5KCdsZW5ndGgn
KSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5oYXNPd25Qcm9wZXJ0
eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJv
dG90eXBlLmdldERhdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5ndGggcHJvcGVy
dHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RP
OiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvUzE1LjkuNS4x
NF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXREYXRlL1MxNS45LjUuMTRfQTNfVDMuanMKaW5kZXggMWFkNTMzM2E0ZTNmYzFiYWVmOTU2
OTc4ZWQ5ZWZhZjZhOTExYmY1MS4uNTdjY2YwM2FiNjg1OTg5MjhjMjk5YThjYzMzNDkzMzA0MDhh
ZTYxYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldERhdGUvUzE1LjkuNS4xNF9BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF0ZS9TMTUuOS41LjE0X0EzX1QzLmpz
CkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0ZGF0ZQogZGVz
Y3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUu
cHJvdG90eXBlLmdldERhdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZS5sZW5n
dGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAg
IURhdGUucHJvdG90eXBlLmdldERhdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXREYXRlLnByb3BlcnR5SXNFbnVtZXJh
YmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4
IGluIERhdGUucHJvdG90eXBlLmdldERhdGUpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXRl
Lmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RT
YW1lVmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsK
IH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRE
YXkvUzE1LjkuNS4xNl9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMV9UMS5qcwppbmRleCBkZTY4ZjNhOGY0
NmI0MjBiMmE1MWQzNTFkMTYyMzVjZTdmNTMwNjg3Li4yNDRhNWNiZGQ2YzY1ZDdmNDZlZjMxZDhm
ZjhmMzQwNzYzYTNjZjU5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTFfVDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERheS9TMTUuOS41LjE2
X0ExX1QxLmpzCkBAIC05LDEwICs5LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90
eXBlLmdldERheTsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5wcm90b3R5
cGUuZ2V0RGF5ID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLmdldERheSA9
IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RGF5ID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IGhhcyBub3QgdGhlIGF0dHJp
YnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZS5nZXREYXksCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4x
Nl9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXREYXkvUzE1LjkuNS4xNl9BMV9UMi5qcwppbmRleCAxMGI0YTYzYWJhNDg3OTBlZTk5ZmVl
N2E4Y2NkNWI0ZWNmOGFjZmRkLi4xMjAwMzY1YjNhYjFmYjg4OWJlNTI5OTMzMmUwY2VlNWY2NTA4
NTk5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERheS9TMTUuOS41LjE2X0ExX1QyLmpzCkBA
IC03LDExICs3LDExIEBACiBlczVpZDogMTUuOS41LjE2X0ExX1QyCiBkZXNjcmlwdGlvbjogQ2hl
Y2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RT
YW1lVmFsdWUoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheSwgZmFsc2UsICdUaGUgdmFsdWUg
b2YgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheSBpcyBub3QgZmFsc2UnKTsKIAotaWYgKGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS5nZXREYXkgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5IHByb3BlcnR5IGhhcyBub3Qg
dGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoJ2dldERheScpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2dldERheVwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXREYXknKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheSBwcm9w
ZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTFf
VDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
RGF5L1MxNS45LjUuMTZfQTFfVDMuanMKaW5kZXggNjMxZDQ4Nzg3ZTM0ZWI3Y2U4NmFmMTY2ZTIx
MDU4NTc4MGE4NTIxNC4uMjJlZGFkYTY0MWI2OWUwZGE1YzVkY2QzNjIxOGNlZDQyY2FmZTRjNSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldERheS9TMTUuOS41LjE2X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMV9UMy5qcwpAQCAtNywx
MyArNywxMyBAQAogZXM1aWQ6IDE1LjkuNS4xNl9BMV9UMwogZGVzY3JpcHRpb246IENoZWNraW5n
IERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdnZXREYXknKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlLmdldERheSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ2dldERheScpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlz
RW51bWVyYWJsZShcJ2dldERheVwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9y
ICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gImdldERheSIpIHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheSBo
YXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUo
eCwgImdldERheSIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImdldERheSInKTsKIH0KKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1Ljku
NS4xNl9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BMl9UMS5qcwppbmRleCA0Mzc3OWIwYjc1NjgxODNiMGE4
YzcxNWIwMzJlMWNhZDI2ZjNkNTE5Li4wNDYyNTA0ZjZjZDYzNmIzMjQwNTc3NmY5NWNhMDI0Mzli
NjFjODk0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERheS9TMTUuOS41LjE2X0EyX1QxLmpz
CkBAIC03LDExICs3LDEwIEBACiBlczVpZDogMTUuOS41LjE2X0EyX1QxCiBkZXNjcmlwdGlvbjog
VGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0RGF5IiBpcyAwCiAtLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCJsZW5n
dGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmdldERheS5oYXNPd25Qcm9wZXJ0eSgi
bGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRE
YXkuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgZ2V0RGF5IGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19Ci0K
LWlmIChEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldERheSBpcyAw
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGgsIDAs
ICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCBpcyBleHBlY3RlZCB0
byBiZSAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTNfVDEuanMK
aW5kZXggMGU4NzJlZmIyMTUwYjMxMmEzNDA2NjUxZTI3NTM5ZGUyNDkwNjU1Ni4uMGMyMDY5Mzky
OTc1ZWZmNjA5ODZjMjhlZDZmOGY5NjliOTY1ZTFmNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERheS9TMTUuOS41LjE2X0EzX1Qx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXREYXkvUzE1LjkuNS4xNl9BM19UMS5qcwpAQCAtMTMsNiArMTMsMTEgQEAKIAogdmFyIHggPSBE
YXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90
b3R5cGUuZ2V0RGF5LCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0
RGF5Lmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERh
dGUucHJvdG90eXBlLmdldERheS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCwK
KyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXREYXkubGVuZ3RoIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0
byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BM19UMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvUzE1
LjkuNS4xNl9BM19UMi5qcwppbmRleCAwZGE1NzRjODQyYzgyMGFiMjE5NWFlZWE5OWEyZjc4MDNi
MTMzODdkLi5mNjg5NGE1MWM2NDkwYTI2NjAzYmJkZTM3MGZjZTA2NDdlYWMxNjcxIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF5
L1MxNS45LjUuMTZfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldERheS9TMTUuOS41LjE2X0EzX1QyLmpzCkBAIC05LDExICs5LDE1
IEBACiBlczVpZDogMTUuOS41LjE2X0EzX1QyCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERl
bGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5w
cm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRl
IERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggIT09IHRydWUpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXREYXku
bGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScp
OwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blBy
b3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0
ZS5wcm90b3R5cGUuZ2V0RGF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggcHJv
cGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERheS9TMTUuOS41
LjE2X0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldERheS9TMTUuOS41LjE2X0EzX1QzLmpzCmluZGV4IDg2NjUxYzNhMDNlMjA5OWUyMDNi
YmYzNDAyMjllNjQzZDgzYjIxNTMuLjM0NWJiYmE0ODgwNzI1OTRkNTQ5ZDNjNTkwODA0MjJlNzU1
YzE4YWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXREYXkvUzE1LjkuNS4xNl9BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF5L1MxNS45LjUuMTZfQTNfVDMuanMK
QEAgLTksMTMgKzksMTMgQEAKIGVzNWlkOiAxNS45LjUuMTZfQTNfVDMKIGRlc2NyaXB0aW9uOiBD
aGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5n
ZXREYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RGF5Lmxlbmd0aCBwcm9wZXJ0eSBo
YXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5
cGUuZ2V0RGF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBv
ZiAhRGF0ZS5wcm90b3R5cGUuZ2V0RGF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcp
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90
eXBlLmdldERheSkgewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldERheS5sZW5ndGggaGFzIHRoZSBh
dHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5n
dGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4x
MF9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRGdWxsWWVhci9TMTUuOS41LjEwX0ExX1QxLmpzCmluZGV4IDcxMjkxZTkyMjZhNmUxYmQ1
ZTIyNmJlMGMyMzc4OWI3YjA2ODg0ZWUuLmEwNmMxNzdjOWUwNzYwY2I4ZTIxM2FjNDBjZDFmMTVi
MDRkMzNhYTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRGdWxsWWVhci9TMTUuOS41LjEwX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRGdWxsWWVhci9TMTUuOS41
LjEwX0ExX1QxLmpzCkBAIC05LDEwICs5LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJv
dG90eXBlLmdldEZ1bGxZZWFyOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRl
LnByb3RvdHlwZS5nZXRGdWxsWWVhciA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3Rv
dHlwZS5nZXRGdWxsWWVhciA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgPT09
IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5n
ZXRGdWxsWWVhciBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0
Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIsCisgIHgsCisgICdU
aGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgaXMgZXhwZWN0ZWQgdG8gbm90
IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlm
eVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTFfVDIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIv
UzE1LjkuNS4xMF9BMV9UMi5qcwppbmRleCAwN2ZlNDY3ZDMyMmY2NzkwZWE4MzUyYmEwYzUzOWIz
NTQwNWU0NjVjLi5jMmI0MmE2Nzc2MGRmMzU5MmNhYzhjOGRhNzc1MmU5YzQ2YTE5MDcxIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
RnVsbFllYXIvUzE1LjkuNS4xMF9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BMV9UMi5qcwpA
QCAtNywxMSArNywxNSBAQAogZXM1aWQ6IDE1LjkuNS4xMF9BMV9UMgogZGVzY3JpcHRpb246IENo
ZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQubm90
U2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIsCisgIGZhbHNl
LAorICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhciBpcyBu
b3QgZmFsc2UnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyID09
PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90
eXBlLmdldEZ1bGxZZWFyIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0
ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldEZ1
bGxZZWFyJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5
KFwnZ2V0RnVsbFllYXJcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRl
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0RnVsbFllYXInKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyIHByb3BlcnR5
IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRGdWxsWWVhci9TMTUuOS41LjEwX0Ex
X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dEZ1bGxZZWFyL1MxNS45LjUuMTBfQTFfVDMuanMKaW5kZXggNDg4MmVlMmQzZTQ1ZDExNjMyYTYy
ZGM3NzBjMTBkYWU4N2E1MzIyNC4uYjFmNWExOGMyYjRkZWM4NzZmM2QyMzdiOWZlYzVkOWM4NDQ5
MzQzOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBf
QTFfVDMuanMKQEAgLTcsMTMgKzcsMTMgQEAKIGVzNWlkOiAxNS45LjUuMTBfQTFfVDMKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0RnVsbFllYXInKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyIHByb3Bl
cnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0RnVsbFllYXInKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdnZXRGdWxsWWVhclwn
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3Rv
dHlwZSkgewotICBpZiAoeCA9PT0gImdldEZ1bGxZZWFyIikgewotICAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJnZXRGdWxs
WWVhciIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImdldEZ1bGxZZWFyIicpOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1Mx
NS45LjUuMTBfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BMl9UMS5qcwppbmRleCA0OGJjZGI4MDQz
OGYyYzI4N2Q5YjUxYTlmNjczYzllN2M1MDg1MDYyLi5hNWRmNWVkYWNiMWUwOTk3OWY3OTA5NTFi
MGFhOWQ2OWQ1ZTlhYzg2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BMl9UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIv
UzE1LjkuNS4xMF9BMl9UMS5qcwpAQCAtNywxMSArNywxNCBAQAogZXM1aWQ6IDE1LjkuNS4xMF9B
Ml9UMQogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldEZ1bGxZ
ZWFyIiBpcyAwCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0
RnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90
b3R5cGUuZ2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRy
dWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHko
Imxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
Z2V0RnVsbFllYXIgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJv
dG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRGdWxsWWVhciBpcyAwJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhci5sZW5n
dGgsCisgIDAsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIubGVu
Z3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTNf
VDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
RnVsbFllYXIvUzE1LjkuNS4xMF9BM19UMS5qcwppbmRleCAxODc1Y2IwODNkYmViYjhhNmQ4Njcy
ZmUzODZmMzY4ODJjN2U1NWJhLi44YjFlZWRhN2JiOGQwYzFmOTgzODIyMzc4MTQyZWY4ODI4NTc2
YjM3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9B
M19UMS5qcwpAQCAtMTMsNiArMTMsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRG
dWxsWWVhci5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5nZXRGdWxs
WWVhciwgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFy
Lmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUu
cHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScp
OwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhci5s
ZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIu
bGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRGdWxsWWVhci9TMTUu
OS41LjEwX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTNfVDIuanMKaW5kZXggMDJkNGZkNTkzNWY2
MmRkMWYxMjdkNjBhMTZiYzAxZGY4NzYxNjJiYS4uMDc4OWZhNTQxMWRhNzQxMWVmYWQ4ZmIxMjYy
Y2FlNzBlNjdmZTY5NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTNfVDIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL1Mx
NS45LjUuMTBfQTNfVDIuanMKQEAgLTksMTEgKzksMTUgQEAKIGVzNWlkOiAxNS45LjUuMTBfQTNf
VDIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhci5sZW5n
dGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRG
dWxsWWVhci5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoZGVsZXRl
IERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0
aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0K
K2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIuaGFz
T3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlm
IChEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhci5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRGdWxs
WWVhci5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVs
ZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldEZ1bGxZZWFyL1MxNS45LjUuMTBfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BM19UMy5qcwpp
bmRleCA3NjA3ZGEyOTVhNzIyNDI4ZTY2ODY2NDlkZTM4ZWUyMDFlNDM4OGZlLi4wOThiYjg2ZDcz
NmZjZjAxYWFhYzk0MjdhZDVhNGY2MGVmMDAwNzNhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9B
M19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0RnVsbFllYXIvUzE1LjkuNS4xMF9BM19UMy5qcwpAQCAtOSwxMyArOSwxMyBAQAogZXM1
aWQ6IDE1LjkuNS4xMF9BM19UMwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJp
YnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLnByb3BlcnR5SXNF
bnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJp
YnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFll
YXIucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRl
LnByb3RvdHlwZS5nZXRGdWxsWWVhci5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlw
ZS5nZXRGdWxsWWVhcikgewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyLmxlbmd0aCBo
YXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUo
eCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0KKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUu
OS41LjE4X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldEhvdXJzL1MxNS45LjUuMThfQTFfVDEuanMKaW5kZXggM2FmZjUxODNjMGMyOWMz
ZjNlYTgwYjdjNzI4Yjg4MWYxYmI5MmFlOC4uNWI3ZmNlYjE1ZTFkNmY0ZmZkOWEzOTFmYzQ0MjFk
MDBlY2FlMGY2ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldEhvdXJzL1MxNS45LjUuMThfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhvdXJzL1MxNS45LjUuMThf
QTFfVDEuanMKQEAgLTksMTAgKzksMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5
cGUuZ2V0SG91cnM7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJvdG90
eXBlLmdldEhvdXJzID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLmdldEhv
dXJzID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRIb3VycyA9PT0geCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldEhvdXJzIGhhcyBub3Qg
dGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBE
YXRlLnByb3RvdHlwZS5nZXRIb3VycywKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3Rv
dHlwZS5nZXRIb3VycyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcK
Kyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
SG91cnMvUzE1LjkuNS4xOF9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0ExX1QyLmpzCmluZGV4IDk1NDgw
MGU5MmI2ZjFjOWU5NjZlYzQ0YzJjZmIwMzdmOGZlOThhMjcuLjg5NWI5NGI5MTIwYmJiYzc1YzAz
YjkyNGE3MjA1Y2E3ZTMyZGNmZjggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0ExX1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9T
MTUuOS41LjE4X0ExX1QyLmpzCkBAIC03LDExICs3LDExIEBACiBlczVpZDogMTUuOS41LjE4X0Ex
X1QyCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0
ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldEhv
dXJzLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMg
aXMgbm90IGZhbHNlJyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgPT09
IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7
Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0SG91cnMn
KSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdnZXRI
b3Vyc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBl
Lmhhc093blByb3BlcnR5KCdnZXRIb3VycycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0
cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldEhvdXJzL1MxNS45LjUuMThfQTFfVDMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvUzE1LjkuNS4xOF9B
MV9UMy5qcwppbmRleCA1NGE5NTY4Y2U1ODhiN2NjZTM4OTBhYmNmZDRiZjJkMDI4YmMwMDdjLi45
NWU1NDU2MzZjMGNiMWM0NzY4ODc1NzFiMTA5ODA1NmJlNDAwZjYzIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvUzE1Ljku
NS4xOF9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0SG91cnMvUzE1LjkuNS4xOF9BMV9UMy5qcwpAQCAtNywxMyArNywxMyBAQAog
ZXM1aWQ6IDE1LjkuNS4xOF9BMV9UMwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0
dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxl
KCdnZXRIb3VycycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5w
cm90b3R5cGUuZ2V0SG91cnMgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsK
LX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRI
b3VycycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZShcJ2dldEhvdXJzXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZh
ciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0gIGlmICh4ID09PSAiZ2V0SG91cnMiKSB7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRIb3VycyBo
YXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUo
eCwgImdldEhvdXJzIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAiZ2V0SG91cnMiJyk7CiB9CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMv
UzE1LjkuNS4xOF9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0EyX1QxLmpzCmluZGV4IGUyMTBkYTdlMDNj
M2EzZmRiNWVhNjU3YWFiMjYzYmMwZGM5YWMwODQuLjczODM1YTM0Zjc4OWRkYzcyZGNlYzkyMTUy
MDM4Y2JkNjFkNDA3ZjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0EyX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41
LjE4X0EyX1QxLmpzCkBAIC03LDExICs3LDEwIEBACiBlczVpZDogMTUuOS41LjE4X0EyX1QxCiBk
ZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0SG91cnMiIGlzIDAK
IC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRIb3Vycy5oYXNP
d25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5nZXRIb3Vy
cy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChE
YXRlLnByb3RvdHlwZS5nZXRIb3Vycy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBnZXRIb3VycyBoYXMgYSAibGVu
Z3RoIiBwcm9wZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3Ro
ICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJv
cGVydHkgb2YgdGhlIGdldEhvdXJzIGlzIDAnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5w
cm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoLCAwLCAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
LmdldEhvdXJzLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAwJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvUzE1Ljku
NS4xOF9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0EzX1QxLmpzCmluZGV4IDc5OTcxMmI2ODdmMTg1ZjEw
ZmM3MWZlMjI3MTU4MGIyYTZmYWRkNjMuLmY4MDAxNzY4NTkwNTZkYWUzOWQyZjcwN2E5OTQwNTE1
ZDE4YTdkYTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0Ez
X1QxLmpzCkBAIC0xMyw2ICsxMywxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldEhv
dXJzLmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLmdldEhvdXJzLCAi
bGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoICE9
PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUu
Z2V0SG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCwKKyAgeCwKKyAg
J1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRIb3Vycy5sZW5ndGggaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlm
eVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhvdXJzL1MxNS45LjUuMThfQTNfVDIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvUzE1Ljku
NS4xOF9BM19UMi5qcwppbmRleCBhODRmMjBjMGFmMzRkZWM1Y2RmZTIxMjU2NWM5MGQ0NzI3OThi
MGMzLi4zZTJkMDYzOTU5YTU4Y2RmZjkxOTJkYjIyZjBjZjM3ZjM5Mzk0M2IxIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMv
UzE1LjkuNS4xOF9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvUzE1LjkuNS4xOF9BM19UMi5qcwpAQCAtOSwxMSArOSwx
NSBAQAogZXM1aWQ6IDE1LjkuNS4xOF9BM19UMgogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRE
ZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUu
cHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVs
ZXRlIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoICE9PSB0
cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUu
Z2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9u
dERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMuaGFzT3du
UHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXRI
b3Vycy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAotaWYgKERhdGUucHJvdG90eXBlLmdldEhvdXJzLmhhc093blByb3BlcnR5KCdsZW5ndGgn
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdl
dEhvdXJzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnRE
ZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQu
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0SG91cnMvUzE1LjkuNS4xOF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0EzX1QzLmpzCmluZGV4
IDExNGRhNTIzODIwNzIxOTdlMTk4MmY4ODgwNGM5ZmJhMzE5ZTRmMzAuLjgyOWUzNzI2OWFhODNm
YzA5NzQ3ODU2ZjIzMmFiMzE5ZTZkNTIzMjQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRIb3Vycy9TMTUuOS41LjE4X0EzX1QzLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRI
b3Vycy9TMTUuOS41LjE4X0EzX1QzLmpzCkBAIC05LDEzICs5LDEzIEBACiBlczVpZDogMTUuOS41
LjE4X0EzX1QzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0q
LwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xl
bmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0SG91cnMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7
Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRIb3Vycy5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdldEhvdXJz
LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
CispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLmdldEhvdXJzKSB7Ci0gIGlmICh4
ID09PSAibGVuZ3RoIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUuZ2V0SG91cnMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7
Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4
IGlzIG5vdCAibGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI0X0ExX1QxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25k
cy9TMTUuOS41LjI0X0ExX1QxLmpzCmluZGV4IDVkOTlmOTgzYmEzOGI3MjU4MGFmMDg5YTNjZWZk
YzNlMmY3YWEwMjMuLmNkYTNmNzI5MTllMGFiYTY0ZTM1NWVmMWE3MDU1ZjdlMDZiNTZhNTEgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yNF9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRf
QTFfVDEuanMKQEAgLTksMTAgKzksMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5
cGUuZ2V0TWlsbGlzZWNvbmRzOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRl
LnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgPSAyOwotZWxzZQorfSBlbHNlIHsKICAgRGF0ZS5w
cm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRNaWxs
aXNlY29uZHMgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5
Jyk7CiB9CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldE1pbGxp
c2Vjb25kcywKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNl
Y29uZHMgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisv
LyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vj
b25kcy9TMTUuOS41LjI0X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI0X0ExX1QyLmpzCmluZGV4
IDFjZjRlYzg5YWNhYzRiYzI5Y2VhMDAxNjFlZTFkYjUyMzUzN2RiYjkuLmZmNWUzNjQzNjRmNDc3
ZTVmMGU1YTBjY2M2MDA3MWE2OWQ0Zjk1NWIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yNF9B
MV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTFfVDIuanMKQEAgLTcsMTEgKzcsMTUgQEAK
IGVzNWlkOiAxNS45LjUuMjRfQTFfVDIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9m
IERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVs
ZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcywKKyAgZmFsc2UsCisgICdUaGUgdmFs
dWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyBpcyBub3QgZmFsc2Un
CispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyA9PT0gZmFs
c2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5n
ZXRNaWxsaXNlY29uZHMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRl
Jyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0TWls
bGlzZWNvbmRzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blByb3Bl
cnR5KFwnZ2V0TWlsbGlzZWNvbmRzXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1p
ZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldE1pbGxpc2Vjb25kcycpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlz
ZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQor
Ly8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaWxsaXNl
Y29uZHMvUzE1LjkuNS4yNF9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yNF9BMV9UMy5qcwppbmRl
eCBlMDJiMDE4MTg3OGQwZDJmZDZhM2Q2YmRlZTBiNGM5ODhkYmJiYzkyLi5jOTJhYTQ2YTRiZjVl
Y2IyOGJjMjZjY2MyNmEyYWVlMGE3ODljMzkyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRf
QTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI0X0ExX1QzLmpzCkBAIC03LDEzICs3LDEzIEBA
CiBlczVpZDogMTUuOS41LjI0X0ExX1QzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0g
YXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ2dldE1pbGxpc2Vjb25kcycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmli
dXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlz
RW51bWVyYWJsZSgnZ2V0TWlsbGlzZWNvbmRzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJv
dG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZ2V0TWlsbGlzZWNvbmRzXCcpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0g
IGlmICh4ID09PSAiZ2V0TWlsbGlzZWNvbmRzIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIGhhcyB0aGUgYXR0cmli
dXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAiZ2V0TWlsbGlz
ZWNvbmRzIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAiZ2V0TWlsbGlzZWNvbmRzIicpOwogfQor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxp
c2Vjb25kcy9TMTUuOS41LjI0X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI0X0EyX1QxLmpzCmlu
ZGV4IDk5YWZjNTU0NjMyY2U3ZDk1ZWU2MWMzODAxMzRiNTE5MzMzMzNjOGIuLmUyZjg4ZjE1ZjRm
MmYwODZlNzcxNmEzNWVlYmUzYzc1MzE3NWE0NTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4y
NF9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTJfVDEuanMKQEAgLTcsMTEgKzcsMTQg
QEAKIGVzNWlkOiAxNS45LjUuMjRfQTJfVDEKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIgcHJv
cGVydHkgb2YgdGhlICJnZXRNaWxsaXNlY29uZHMiIGlzIDAKIC0tLSovCithc3NlcnQuc2FtZVZh
bHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMuaGFzT3duUHJvcGVydHkoImxl
bmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmhhc093
blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVlJworKTsKIAotaWYgKERhdGUucHJv
dG90eXBlLmdldE1pbGxpc2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBnZXRNaWxsaXNlY29uZHMgaGFz
IGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBlLmdldE1pbGxp
c2Vjb25kcy5sZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRo
ZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0TWlsbGlzZWNvbmRzIGlzIDAnKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGgs
CisgIDAsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBiZSAwJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4y
NF9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yNF9BM19UMS5qcwppbmRleCA1Y2Q3MTI2M2E3MTNj
ZDIzNmNlMjQ1ODk0ZGVjM2Y3YTI5ZjY4YmZlLi5mMGJjNmI0YjJhYmE1YzU3YmNlOWY5NTc4NWE4
NWRjNDM0MzQyMDkyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTNfVDEuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vj
b25kcy9TMTUuOS41LjI0X0EzX1QxLmpzCkBAIC0xMyw2ICsxMywxMSBAQAogCiB2YXIgeCA9IERh
dGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShE
YXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChE
YXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxl
bmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoLAorICB4LAorICAnVGhl
IHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZl
cmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI0X0EzX1Qy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1p
bGxpc2Vjb25kcy9TMTUuOS41LjI0X0EzX1QyLmpzCmluZGV4IGI2ZTExYjIzNjBhZDc0NDUwYTc0
MGUwYmVlZDUxNDFlMTY1ZTdkMDIuLjRkMmU3Mjg3MjFhYjY5Y2ZmZjBkMWJjOTY0Zjg2MmExMTli
MjE4MWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yNF9BM19UMi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1Mx
NS45LjUuMjRfQTNfVDIuanMKQEAgLTksMTEgKzksMTUgQEAKIGVzNWlkOiAxNS45LjUuMjRfQTNf
VDIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMu
bGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90b3R5cGUu
Z2V0TWlsbGlzZWNvbmRzLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlm
IChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0gdHJ1ZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1p
bGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBE
b250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29u
ZHMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3Rv
dHlwZS5nZXRNaWxsaXNlY29uZHMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMu
aGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2Vz
IG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUu
MjRfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjRfQTNfVDMuanMKaW5kZXggODIzYTczMTc2NWE3
NDc3ZmFhM2Q3MGE2MGJlOThjZTRkOTBkNTA3OC4uOTUzYjUxY2UwNDVmMmJkODM0ZTRlYjJlNDA4
OGQzMzE3NzljMTkyYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI0X0EzX1QzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaWxsaXNl
Y29uZHMvUzE1LjkuNS4yNF9BM19UMy5qcwpAQCAtOSwxMyArOSwxMyBAQAogZXM1aWQ6IDE1Ljku
NS4yNF9BM19UMwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0t
Ki8KLQotaWYgKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmli
dXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNl
Y29uZHMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFE
YXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5n
dGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5w
cm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzKSB7Ci0gIGlmICh4ID09PSAibGVuZ3RoIikgewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlz
ZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2Vy
dC5ub3RTYW1lVmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0
aCInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0ExX1QxLmpzCmlu
ZGV4IGQ3OGI1YmQ3ZjY3NjZkNWU0NmIxYmVjNzhlOTBmZjUxZjJmMDJmYzAuLmMzYjdhZjA1ODE2
ZjFkZDkwZmQ2NTI5OWI4Mzk2Y2M2YjhhYjNiNTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTFf
VDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BMV9UMS5qcwpAQCAtOSwxMCArOSwxNiBAQAogLS0tKi8K
IAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzOwotaWYgKHggPT09IDEpCitpZiAo
eCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzID0gMjsKLWVsc2UKK30gZWxz
ZSB7CiAgIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgPSAxOwotaWYgKERhdGUucHJvdG90eXBl
LmdldE1pbnV0ZXMgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBE
YXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScp
OwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVz
LAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgaXMgZXhw
ZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RPOiBDb252
ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9B
MV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRNaW51dGVzL1MxNS45LjUuMjBfQTFfVDIuanMKaW5kZXggYWRhZTlhMjA0OWZmNzM0MDFkYzli
OTE3ZWI5NWNlZDE2OTNiNGRkMC4uMjQ3MWIzMGZiZDQyOTNjZTdhMTA1ZWNkYTBjYTZiMzc4NThi
MmUwNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0Ex
X1QyLmpzCkBAIC03LDExICs3LDE1IEBACiBlczVpZDogMTUuOS41LjIwX0ExX1QyCiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fz
c2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLAor
ICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRl
cyBpcyBub3QgZmFsc2UnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldE1pbnV0
ZXMgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5w
cm90b3R5cGUuZ2V0TWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnRE
ZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdn
ZXRNaW51dGVzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blByb3Bl
cnR5KFwnZ2V0TWludXRlc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERh
dGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRNaW51dGVzJykpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIHByb3BlcnR5
IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTFf
VDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
TWludXRlcy9TMTUuOS41LjIwX0ExX1QzLmpzCmluZGV4IGE5ZWM2NmMxMWY2NmRmYzgwYTkzNmI1
MzdjMzk3MTZhOTc1YTc3MWMuLjZiNzQzYzQxODRkYmM4NTk2ZTA4MmEwOGQwMTJlNDAyNzBjNzFh
MTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BMV9U
My5qcwpAQCAtNywxMyArNywxMyBAQAogZXM1aWQ6IDE1LjkuNS4yMF9BMV9UMwogZGVzY3JpcHRp
b246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90
eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRNaW51dGVzJykpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzIHByb3BlcnR5IGhh
cyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlw
ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0TWludXRlcycpLAorICAnVGhlIHZhbHVlIG9mICFE
YXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2dldE1pbnV0ZXNcJykgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsK
LSAgaWYgKHggPT09ICJnZXRNaW51dGVzIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImdldE1pbnV0ZXMiLCAnVGhl
IHZhbHVlIG9mIHggaXMgbm90ICJnZXRNaW51dGVzIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0
IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BMl9U
MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRN
aW51dGVzL1MxNS45LjUuMjBfQTJfVDEuanMKaW5kZXggNTI3OWMyZTY3ZWM2MDQ0NjY3YjEzZDVi
ZWYwZjMwOWY1NzY0MzI3NS4uZWU1ODliNDcyN2RmNTU0ZGY0MjFkMjBhYjRkODc0ZTY2MjRiODMz
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0EyX1Qx
LmpzCkBAIC03LDExICs3LDE0IEBACiBlczVpZDogMTUuOS41LjIwX0EyX1QxCiBkZXNjcmlwdGlv
bjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0TWludXRlcyIgaXMgMAogLS0tKi8K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMuaGFzT3duUHJv
cGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5o
YXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRl
LnByb3RvdHlwZS5nZXRNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGdldE1pbnV0ZXMgaGFzIGEgImxl
bmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMubGVu
Z3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIg
cHJvcGVydHkgb2YgdGhlIGdldE1pbnV0ZXMgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGgsCisgIDAsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcK
Kyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BM19UMS5q
cwppbmRleCAxMWI2OTYwODcwNDE1MmY2OTU4NDA3NDE3ZWE5YWZkZWM5MTFiZmM4Li40YTc0NjQ4
N2U2Yzc5MTlkYzUyYjQ1MzhmOWJlMzUwMDY0ZGQ1ZTQzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIw
X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTNfVDEuanMKQEAgLTEzLDYgKzEzLDExIEBACiAK
IHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0
YWJsZShEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAo
RGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBoYXMg
dGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BM19UMi5q
cwppbmRleCBmZDg0Yjg0MzA1MTQzZGJhOTJhYmFiZDA5ZTVhNmI2YjRhOWMwN2NhLi5jNTcyMjc0
MDg4ZDhhYjQyOTc1OTVhODMyMDZiNDc3M2FjZDQyOGE5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIw
X0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTNfVDIuanMKQEAgLTksMTEgKzksMTUgQEAKIGVz
NWlkOiAxNS45LjUuMjBfQTNfVDIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0
dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS5nZXRNaW51dGVzLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERh
dGUucHJvdG90eXBlLmdldE1pbnV0ZXMubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCAhPT0gdHJ1
ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdl
dE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9u
dERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5oYXNP
d25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdl
dE1pbnV0ZXMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90
eXBlLmdldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0
ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgp
IGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRNaW51dGVzL1MxNS45LjUuMjBfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9TMTUuOS41LjIwX0Ez
X1QzLmpzCmluZGV4IDY0MGMxMDRiOTA2ZWIxNDA2Y2NkMWRmMzc5YmNkYzI1NDA2MDIwZjguLjJm
MTk0NjhlZmY1MThjZDBhOThmMzMxYjVlOTVlNWUzMWYzZTUxZWEgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNaW51dGVzL1MxNS45
LjUuMjBfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldE1pbnV0ZXMvUzE1LjkuNS4yMF9BM19UMy5qcwpAQCAtOSwxMyArOSwxMyBA
QAogZXM1aWQ6IDE1LjkuNS4yMF9BM19UMwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVt
IGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMucHJvcGVy
dHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBh
dHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmdldE1p
bnV0ZXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFE
YXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcp
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90
eXBlLmdldE1pbnV0ZXMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzLmxlbmd0aCBo
YXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUo
eCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0KKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUu
OS41LjEyX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJfQTFfVDEuanMKaW5kZXggMmYxODQ1OGU5YTUyZTI0
NzY2NmVhMjEwMDY5OWJkZGRkYzMyNTNhNy4uYTFhNzIyYWUyMDljNzY3N2UwZjE5NmE2OTdkZDJm
OTA4M2Y0NDNmZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJf
QTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5
cGUuZ2V0TW9udGg7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJvdG90
eXBlLmdldE1vbnRoID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLmdldE1v
bnRoID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRNb250aCA9PT0geCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoIGhhcyBub3Qg
dGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBE
YXRlLnByb3RvdHlwZS5nZXRNb250aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3Rv
dHlwZS5nZXRNb250aCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcK
Kyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
TW9udGgvUzE1LjkuNS4xMl9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUuOS41LjEyX0ExX1QyLmpzCmluZGV4IDZjMjI0
NTEwYTc5ZTQwYzc3YzBmNzUzMTc2MTVhZDMxZWQwMjYyOWUuLjUyOWE2OGE1ZTdlZWJjZTJlY2Yx
NzI4MTRjMjUwZjhiNjAyZmRiMGYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUuOS41LjEyX0ExX1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9T
MTUuOS41LjEyX0ExX1QyLmpzCkBAIC02LDExICs2LDExIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90
b3R5cGUuZ2V0bW9udGgKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxl
dGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShkZWxldGUgRGF0ZS5wcm90
b3R5cGUuZ2V0TW9udGgsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS5nZXRNb250aCBpcyBub3QgZmFsc2UnKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5n
ZXRNb250aCA9PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBE
YXRlLnByb3RvdHlwZS5nZXRNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5
KCdnZXRNb250aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eShcJ2dldE1vbnRoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0
ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldE1vbnRoJykpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNb250aCBwcm9wZXJ0eSBoYXMg
bm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BMV9UMy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9T
MTUuOS41LjEyX0ExX1QzLmpzCmluZGV4IDQ0YmI0ODRlNDNkYTQwYzk2N2YxMjUwOTE1NzM4MDE3
ZjMxNTVmNjAuLjA5NmE4MmNjYmNiODdmNTJkM2JhZjZlM2IwOTAwM2I1OTE3MGY5ZmYgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRN
b250aC9TMTUuOS41LjEyX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUuOS41LjEyX0ExX1QzLmpzCkBAIC02LDEz
ICs2LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0bW9udGgKIGRlc2NyaXB0aW9u
OiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlw
ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0TW9udGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldE1vbnRoIHByb3BlcnR5IGhhcyB0aGUg
YXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9w
ZXJ0eUlzRW51bWVyYWJsZSgnZ2V0TW9udGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90
b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdnZXRNb250aFwnKSBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9
PT0gImdldE1vbnRoIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUuZ2V0TW9udGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQor
ICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJnZXRNb250aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBu
b3QgImdldE1vbnRoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BMl9U
MS5qcwppbmRleCA2MzVmMjU4YTRiYmVlNzQ2Y2U3NjA4OTkxYTg4MTlhMTg2NGNiYjA3Li4yYTVh
Y2U0ODI1NTE4OTkwYWE5MzU3NjhjYjM2MWUyMTljMTg0ZjhkIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4x
Ml9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BMl9UMS5qcwpAQCAtNiwxMSArNiwxMCBAQAogZXNp
ZDogc2VjLWRhdGUucHJvdG90eXBlLmdldG1vbnRoCiBkZXNjcmlwdGlvbjogVGhlICJsZW5ndGgi
IHByb3BlcnR5IG9mIHRoZSAiZ2V0TW9udGgiIGlzIDAKIC0tLSovCithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZS5nZXRNb250aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisg
IHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5nZXRNb250aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3Ro
IikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRNb250aC5o
YXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBnZXRNb250aCBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQotCi1p
ZiAoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldE1vbnRoIGlz
IDAnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3Ro
LCAwLCAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCBpcyBleHBl
Y3RlZCB0byBiZSAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BM19UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUuOS41LjEy
X0EzX1QxLmpzCmluZGV4IDcyM2NlNGM0OTUwNTE4OGE5ZmRlODk4ZmM4NTI5ZTBlYTJhYjllYWQu
LmJhNDhiZDdlYzRkZjMwNjRlMzlmNmU1YmQwMmNhMTdmMDdmMDViY2QgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9TMTUu
OS41LjEyX0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRNb250aC9TMTUuOS41LjEyX0EzX1QxLmpzCkBAIC0xMiw2ICsxMiwxMSBA
QAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aDsKIHZlcmlmeU5vdFdy
aXRhYmxlKERhdGUucHJvdG90eXBlLmdldE1vbnRoLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAo
RGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3RoIGhhcyB0aGUg
YXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJv
dG90eXBlLmdldE1vbnRoLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3Rv
dHlwZS5nZXRNb250aC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgn
CispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dE1vbnRoL1MxNS45LjUuMTJfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BM19UMi5qcwppbmRleCBhMDU1
ZGVlODE4NjgwMTQ3ZDBlMGYzMWRkOTgyOWU0ZmViNDg0YmYxLi5mYTEyYzdmOGI1N2UxMDIyNzc3
Y2U4OGJhMmEwYjQzMjBiZDBlYjg1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvUzE1LjkuNS4xMl9BM19UMi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgv
UzE1LjkuNS4xMl9BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJv
dG90eXBlLmdldG1vbnRoCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1
dGUKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0
TW9udGgubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90
b3R5cGUuZ2V0TW9udGgubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYg
KGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRNb250aC5sZW5ndGggIT09IHRydWUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRNb250aC5sZW5n
dGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19
Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRNb250aC5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdldE1vbnRoLmhhc093blBy
b3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0
ZS5wcm90b3R5cGUuZ2V0TW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgubGVuZ3Ro
IHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQor
Ly8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRNb250aC9T
MTUuOS41LjEyX0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJfQTNfVDMuanMKaW5kZXggOGVhZGQxYmJiYTg2
ZmVjNzY3MjFjMDdhM2ZmNzFkOGRlMDJmMDlkOC4uZDM2ZGE4OGQ5MjY1MWRiZjZmM2RjOGI1Njkw
M2RmZWQyNjI1NWUzOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUuMTJfQTNfVDMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL1MxNS45LjUu
MTJfQTNfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5n
ZXRtb250aAogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8K
LQotaWYgKERhdGUucHJvdG90eXBlLmdldE1vbnRoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5n
dGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBl
LmdldE1vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwot
fQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgucHJvcGVydHlJc0VudW1lcmFi
bGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXRNb250aC5w
cm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRNb250aCkgewotICBpZiAoeCA9
PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLmdldE1vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwot
ICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBp
cyBub3QgImxlbmd0aCInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRTZWNvbmRzL1MxNS45LjUuMjJfQTFfVDEuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIy
X0ExX1QxLmpzCmluZGV4IGU3MDc4MGM0M2NlZjg5NThhNTI3ZmYxNmU5ZDUwZGFhMTIyZjY2Mjcu
LmNlMWU5ZGVjMmNjNzBjMTc5M2YyZTc1NjRkZTU4NzI4MGJhMGFhZjYgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRTZWNvbmRzL1Mx
NS45LjUuMjJfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BMV9UMS5qcwpAQCAtOCwxMCArOCwx
NiBAQAogLS0tKi8KIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzOwotaWYgKHgg
PT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzID0gMjsK
LWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgPSAxOwotaWYgKERh
dGUucHJvdG90eXBlLmdldFNlY29uZHMgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzIGhhcyBub3QgdGhlIGF0dHJpYnV0
ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZS5nZXRTZWNvbmRzLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldFNl
Y29uZHMgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisv
LyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMv
UzE1LjkuNS4yMl9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRTZWNvbmRzL1MxNS45LjUuMjJfQTFfVDIuanMKaW5kZXggODIzZWVmZDJm
MjY0NzBmNTRmYWE5YjI4MWI2ZmFlOWQxOTI3NWVkZi4uNmFmOThiMTFjZjcwNWYzMzRjMTc4MDBj
NmRiYWRmMDQ2Nzc2OTQ2YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BMV9UMi5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9T
MTUuOS41LjIyX0ExX1QyLmpzCkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90
b3R5cGUuZ2V0c2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERl
bGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQubm90U2FtZVZhbHVlKAorICBkZWxldGUgRGF0
ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcywKKyAgZmFsc2UsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRl
IERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgaXMgbm90IGZhbHNlJworKTsKIAotaWYgKGRlbGV0
ZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgcHJvcGVydHkgaGFz
IG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0U2Vjb25kcycpLAorICAnVGhlIHZhbHVlIG9mICFE
YXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2dldFNlY29uZHNcJykgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
U2Vjb25kcycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90
b3R5cGUuZ2V0U2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxl
dGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0U2Vjb25kcy9TMTUuOS41LjIyX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BMV9UMy5qcwppbmRl
eCBmY2FlZjg1MWZiNDk3YmE4OTAzYWEyZjRkNTcxNDViMjE1MTJmZDMyLi4yMjM0YmUwZGVjNWRh
NDZmMDI1ZTQ3MWVlOTE1ZmE2NzkyM2IzZDU0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0ExX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRTZWNvbmRzL1MxNS45LjUuMjJfQTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6IHNl
Yy1kYXRlLnByb3RvdHlwZS5nZXRzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVu
dW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1l
cmFibGUoJ2dldFNlY29uZHMnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9u
dEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJh
YmxlKCdnZXRTZWNvbmRzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3Bl
cnR5SXNFbnVtZXJhYmxlKFwnZ2V0U2Vjb25kc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gImdldFNl
Y29uZHMiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3Rv
dHlwZS5nZXRTZWNvbmRzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAiZ2V0U2Vjb25kcyIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3Qg
ImdldFNlY29uZHMiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHko
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9B
Ml9UMS5qcwppbmRleCA3NmZhMmRkZjhjNGM3OGY4ODQyZmFmNmJjMDUwOWQ3NzM4ZTljYTQ4Li4x
M2NkNjVhYTZkYjU0N2MyMjg1NDExOTgxYjdiYzBkOGVmOGUzZTk2IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUu
OS41LjIyX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRTZWNvbmRzL1MxNS45LjUuMjJfQTJfVDEuanMKQEAgLTYsMTEgKzYsMTQg
QEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXRzZWNvbmRzCiBkZXNjcmlwdGlvbjogVGhl
ICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0U2Vjb25kcyIgaXMgMAogLS0tKi8KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFNlY29uZHMuaGFzT3duUHJvcGVydHko
Imxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5oYXNPd25Q
cm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3Rv
dHlwZS5nZXRTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGdldFNlY29uZHMgaGFzIGEgImxlbmd0aCIg
cHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBlLmdldFNlY29uZHMubGVuZ3RoICE9
PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVy
dHkgb2YgdGhlIGdldFNlY29uZHMgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0
ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGgsCisgIDAsCisgICdUaGUgdmFsdWUgb2YgRGF0
ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0U2Vjb25kcy9TMTUuOS41LjIyX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BM19UMS5qcwppbmRl
eCBlZjVkMDRhNDEyNTc0M2RmZDVjNDI2NWEwMmYyNzNhMjAyZTk1MzY5Li5lZTg3YWJjMjc0NTBh
ODE2OWJiNGQ3MzNkZWRkZDA3YTE1MzM1YWQ3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0EzX1Qx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRTZWNvbmRzL1MxNS45LjUuMjJfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBACiAKIHZhciB4
ID0gRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShE
YXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5w
cm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0
dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZS5nZXRTZWNvbmRzLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3Rv
dHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
eCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0U2Vjb25kcy9TMTUuOS41LjIyX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1LjkuNS4yMl9BM19UMi5qcwppbmRl
eCAyY2U1MWFkYTUyOTQ4NGZjMzdkODEyMzY2NTcxNGEzMGRlMTlmNzllLi5lMjg3ZGViNDMwMGNk
Zjk5NDVhMGY1YjkwYmRjZWJiMjRhODhhMmY3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0EzX1Qy
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRTZWNvbmRzL1MxNS45LjUuMjJfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNl
Yy1kYXRlLnByb3RvdHlwZS5nZXRzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERl
bGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5w
cm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUg
dHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5sZW5ndGgg
IT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3Rv
dHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1
dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmdldFNlY29u
ZHMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3Rv
dHlwZS5nZXRTZWNvbmRzLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5oYXNPd25Qcm9w
ZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRl
LnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBh
dHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9TMTUuOS41LjIyX0EzX1QzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvUzE1Ljku
NS4yMl9BM19UMy5qcwppbmRleCBlMmVhMmJkZTI2MzAyOTNlYmQ2ZjRlMjU2MDMxNTU3OWUwNmMw
ZDVjLi44NTRhZjUxNDFiNTNlOTUxZWMwYzkxZmM1YTU4Y2ExZDA2NTAwZDY3IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25k
cy9TMTUuOS41LjIyX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRTZWNvbmRzL1MxNS45LjUuMjJfQTNfVDMuanMKQEAgLTgsMTMg
KzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXRzZWNvbmRzCiBkZXNjcmlwdGlv
bjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5
cGUuZ2V0U2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzLmxlbmd0
aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAh
RGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyks
CisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdldFNlY29uZHMucHJvcGVydHlJc0Vu
dW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAo
dmFyIHggaW4gRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcykgewotICBpZiAoeCA9PT0gImxlbmd0
aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBl
LmdldFNlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAg
YXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAi
bGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9y
bWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0ExX1QxLmpzCmluZGV4
IGIxZmVhMDBmNDIxMjMyYmY5MjgyOTA2ZDg3MWYyMDgxOTc1OTA5Y2YuLjc2MmIxOTkwZDJlZWUx
MmM1ZGZkNTg3NTk5MGQwZTg2MzUxMTQ3ZWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lL1MxNS45LjUuOV9BMV9UMS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGlt
ZS9TMTUuOS41LjlfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0g
RGF0ZS5wcm90b3R5cGUuZ2V0VGltZTsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAg
RGF0ZS5wcm90b3R5cGUuZ2V0VGltZSA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3Rv
dHlwZS5nZXRUaW1lID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lID09PSB4KSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBo
YXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1
ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZS5nZXRUaW1lIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2Yg
YHhgJworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRUaW1lL1MxNS45LjUuOV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lL1MxNS45LjUuOV9BMV9UMi5qcwppbmRleCA3OGQz
NzU0NTQ3YTAwYzJhYzFiZGI0NTc2MTVhMjA3ZDE2MzBmMDlkLi5kMjc4ODg1M2FlNzlhMDg5NTNj
ZDlhMGFmYzljOGVlNGYzYWM1ZWVlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9TMTUuOS41LjlfQTFfVDIuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1
LjkuNS45X0ExX1QyLmpzCkBAIC02LDExICs2LDExIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5
cGUuZ2V0c2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0
ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQubm90U2FtZVZhbHVlKGRlbGV0ZSBEYXRlLnByb3Rv
dHlwZS5nZXRUaW1lLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUu
Z2V0VGltZSBpcyBub3QgZmFsc2UnKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRU
aW1lID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUu
cHJvdG90eXBlLmdldFRpbWUgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVs
ZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
VGltZScpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShc
J2dldFRpbWVcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VGltZScpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBh
dHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9TMTUuOS41LjlfQTFfVDMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9TMTUuOS41LjlfQTFf
VDMuanMKaW5kZXggNDUxYmRjOWQzMjQwMDIzMGRiNmIzZDAwM2Y0ZWU1MDk0NzUwNmI3OS4uNzBh
ZTA4OWQ2YzcyZTk2ZGEwNGZlOWNkNGZjYWYwYTc4ZDU3YzliMCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45
X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRUaW1lL1MxNS45LjUuOV9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDog
c2VjLWRhdGUucHJvdG90eXBlLmdldHNlY29uZHMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250
RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51
bWVyYWJsZSgnZ2V0VGltZScpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51
bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUo
J2dldFRpbWUnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0Vu
dW1lcmFibGUoXCdnZXRUaW1lXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3Ig
KHZhciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0gIGlmICh4ID09PSAiZ2V0VGltZSIpIHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUg
aGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVl
KHgsICJnZXRUaW1lIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAiZ2V0VGltZSInKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lL1Mx
NS45LjUuOV9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRUaW1lL1MxNS45LjUuOV9BMl9UMS5qcwppbmRleCAyNjViODU1NmU1NTRlZTJk
MzE1YTY0N2Q0ZmIwMTYwNmUxMTk1MTBiLi41MjljZDIzYTY5ZDQwNGJkYTBlNjY3YTY3YjA1NGM5
NjUyOGYwNGI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0VGltZS9TMTUuOS41LjlfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0EyX1Qx
LmpzCkBAIC02LDExICs2LDEwIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0c2Vjb25k
cwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFRpbWUiIGlz
IDAKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmhh
c093blByb3BlcnR5KCJsZW5ndGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmdldFRp
bWUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAo
RGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBnZXRUaW1lIGhhcyBhICJsZW5n
dGgiIHByb3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCAh
PT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3Bl
cnR5IG9mIHRoZSBnZXRUaW1lIGlzIDAnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5wcm90
b3R5cGUuZ2V0VGltZS5sZW5ndGgsIDAsICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0
VGltZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0Ez
X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFRpbWUvUzE1LjkuNS45X0EzX1QxLmpzCmluZGV4IGZlZGQ1ZmRiZjVkMTYzYmY2MGMwNjg5MTAy
YThhYmJmNDIxZGIyMDIuLmZiNTg2NjExZGI1ZGQ5NmYyZGYxMTdmYTViYTc2MmJjMzE1ZDVjNTkg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRUaW1lL1MxNS45LjUuOV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9TMTUuOS41LjlfQTNfVDEuanMKQEAgLTEy
LDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGg7CiB2
ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5nZXRUaW1lLCAibGVuZ3RoIiwgbnVsbCwg
MSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCBo
YXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBE
YXRlLnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQu
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0VGltZS9TMTUuOS41LjlfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9TMTUuOS41LjlfQTNfVDIuanMKaW5kZXggZTdk
MTZhM2M5OGI5NzU2YTkyN2I1ZGM3NDE1ZTJkYjFkOGM3NTllOS4uYjJkMDNkNzA2YTcyZjFlNDcy
YjAwNzcyODIxZTRkYmVmZWI0MmMxMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0EzX1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lL1Mx
NS45LjUuOV9BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90
eXBlLmdldHNlY29uZHMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0
ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRU
aW1lLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90
eXBlLmdldFRpbWUubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoIHBy
b3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNz
ZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyks
CisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdldFRpbWUuaGFzT3duUHJvcGVydHko
XCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3Rv
dHlwZS5nZXRUaW1lLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWUubGVuZ3RoIHByb3BlcnR5
IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzog
Q29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lL1MxNS45LjUuOV9B
M19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRUaW1lL1MxNS45LjUuOV9BM19UMy5qcwppbmRleCA0NjYyYzU3OGNkZGQ2MGYwZDVkYTBiZjlm
MTQ1NzU1ZTBmMDBjMTVhLi43OGVkYjI5NTU4NmMyOGYyZDE4M2YzZjhmOTkyYjcyMWU2ZjViMDA5
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0VGltZS9TMTUuOS41LjlfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWUvUzE1LjkuNS45X0EzX1QzLmpzCkBAIC04
LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0c2Vjb25kcwogZGVzY3Jp
cHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJv
dG90eXBlLmdldFRpbWUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZS5sZW5ndGgg
cHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURh
dGUucHJvdG90eXBlLmdldFRpbWUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAn
VGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXRUaW1lLnByb3BlcnR5SXNFbnVtZXJhYmxl
KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGlu
IERhdGUucHJvdG90eXBlLmdldFRpbWUpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lLmxl
bmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1l
VmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0K
KworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1l
em9uZU9mZnNldC9TMTUuOS41LjI2X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDEu
anMKaW5kZXggNGFhZGY4NDU4ZWJjNmZjOTcyMDFiNWIxNWFlMWU2NWE0OGFmOGY4MS4uZjhhNDFj
OTJjMjE4NjExOWQ5MGM4OWFiZGYxZjE3MGNiMjAwNWIwMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1Mx
NS45LjUuMjZfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDEuanMKQEAgLTEw
LDEwICsxMCwxNiBAQAogLS0tKi8KIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9u
ZU9mZnNldDsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5wcm90b3R5cGUu
Z2V0VGltZXpvbmVPZmZzZXQgPSAyOwotZWxzZQorfSBlbHNlIHsKICAgRGF0ZS5wcm90b3R5cGUu
Z2V0VGltZXpvbmVPZmZzZXQgPSAxOwotaWYgKERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zm
c2V0ID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90
b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7
CiB9CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25l
T2Zmc2V0LAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25l
T2Zmc2V0IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKwor
Ly8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9u
ZU9mZnNldC9TMTUuOS41LjI2X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDIuanMK
aW5kZXggNzI4NjY4OTMwOGVmYzIyMTVmNTJiYjliZTg4ZmI4NDE1YThiODdlNi4uNzExNWJlZGFi
OWFmMmY1YzE4Yzg1Mjg1MTlmYTIwNThhMDlkMWE2YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45
LjUuMjZfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDIuanMKQEAgLTgsMTEg
KzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR0aW1lem9uZW9mZnNldAogZGVz
Y3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSov
Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpv
bmVPZmZzZXQsCisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS5nZXRUaW1lem9uZU9mZnNldCBpcyBub3QgZmFsc2UnCispOwogCi1pZiAoZGVsZXRlIERhdGUu
cHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0ID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0IHByb3Bl
cnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAh
RGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldFRpbWV6b25lT2Zmc2V0JyksCisgICdU
aGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnZ2V0VGltZXpvbmVP
ZmZzZXRcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VGltZXpvbmVPZmZzZXQnKSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0IHByb3Bl
cnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9mZnNldC9TMTUu
OS41LjI2X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDMuanMKaW5kZXggYzllZDAx
MzY4Y2IxMTYwZjM4MzhjNTlmYzU0ZmFhNzUyMDE1ODEwYy4uY2U3M2RkNzU5MTMwMjJiM2RiYzBl
ZWRjNzU0NmY0YzEyOTkzMTU2MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDMu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTFfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVz
aWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR0aW1lem9uZW9mZnNldAogZGVzY3JpcHRpb246IENo
ZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnBy
b3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRUaW1lem9uZU9mZnNldCcpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgcHJv
cGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUu
cHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRUaW1lem9uZU9mZnNldCcpLAorICAn
VGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2dldFRp
bWV6b25lT2Zmc2V0XCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4
IGluIERhdGUucHJvdG90eXBlKSB7Ci0gIGlmICh4ID09PSAiZ2V0VGltZXpvbmVPZmZzZXQiKSB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRU
aW1lem9uZU9mZnNldCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2Vy
dC5ub3RTYW1lVmFsdWUoeCwgImdldFRpbWV6b25lT2Zmc2V0IiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IG5vdCAiZ2V0VGltZXpvbmVPZmZzZXQiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVy
aWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvUzE1LjkuNS4yNl9BMl9U
MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRU
aW1lem9uZU9mZnNldC9TMTUuOS41LjI2X0EyX1QxLmpzCmluZGV4IDgyMDNhNjRlMjBjYTQ5Njc0
NmYxMWJkOWViMDM2YTJmZmVmN2I4YTcuLjRkZGVkMjM2NGY3ODEwNTdmMzlkN2I3NmY0MTc0ZTU3
NGI3MTAyMTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRUaW1lem9uZU9mZnNldC9TMTUuOS41LjI2X0EyX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9m
ZnNldC9TMTUuOS41LjI2X0EyX1QxLmpzCkBAIC02LDExICs2LDE0IEBACiBlc2lkOiBzZWMtZGF0
ZS5wcm90b3R5cGUuZ2V0dGltZXpvbmVvZmZzZXQKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIg
cHJvcGVydHkgb2YgdGhlICJnZXRUaW1lem9uZU9mZnNldCIgaXMgMAogLS0tKi8KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmhhc093blByb3Bl
cnR5KCJsZW5ndGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zm
c2V0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVlJworKTsKIAotaWYg
KERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGdldFRpbWV6
b25lT2Zmc2V0IGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3Rv
dHlwZS5nZXRUaW1lem9uZU9mZnNldC5sZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgZ2V0VGltZXpvbmVPZmZz
ZXQgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VGlt
ZXpvbmVPZmZzZXQubGVuZ3RoLAorICAwLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
LmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAwJworKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRU
aW1lem9uZU9mZnNldC9TMTUuOS41LjI2X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTNf
VDEuanMKaW5kZXggNWE0OGNmMTcyNGQ5MTgxMTI3ODU2OWZjNzlmN2QzNmI5MWNjNjdkNS4uN2Vh
ZTBhNzRhOWIxNGE2NzJlNmEyYjg0MTFlNWFjZThkZTMwYzNlNSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0
L1MxNS45LjUuMjZfQTNfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTNfVDEuanMKQEAg
LTEyLDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZz
ZXQubGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVP
ZmZzZXQsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9u
ZU9mZnNldC5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRo
ZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldC5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1
dGUgUmVhZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUu
Z2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJv
dG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBm
b3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvUzE1LjkuNS4yNl9BM19UMi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9mZnNldC9T
MTUuOS41LjI2X0EzX1QyLmpzCmluZGV4IDM5NzEwNDQwMTAzMWYwNWZlNmFhYmU1MDRhNDRjYzZm
ODBjOGVmMWQuLjFjN2EzZmFkYTAwZTEwOTU0ZWUwMWFhZTllMThlMjJhM2QxZGRmYTEgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRU
aW1lem9uZU9mZnNldC9TMTUuOS41LjI2X0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9mZnNldC9TMTUuOS41LjI2
X0EzX1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0
dGltZXpvbmVvZmZzZXQKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0
ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRU
aW1lem9uZU9mZnNldC5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBE
YXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldC5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0
Lmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERh
dGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBo
YXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJv
dG90eXBlLmdldFRpbWV6b25lT2Zmc2V0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQuaGFzT3duUHJvcGVy
dHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnBy
b3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9u
ZU9mZnNldC5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250
RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFRpbWV6b25lT2Zmc2V0L1MxNS45LjUuMjZfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvUzE1Ljku
NS4yNl9BM19UMy5qcwppbmRleCAzOTM3ODgwMmEyYmI3MGNmM2Q3NmM2YzRiMTk0YWUyMTk5ZmQ0
OGU0Li44OTc1M2QwOWJkNjNjMjljNDZjN2VmMDQ4YmNlYTI2OTAzNWNiN2M3IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpv
bmVPZmZzZXQvUzE1LjkuNS4yNl9BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvUzE1LjkuNS4yNl9BM19U
My5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHRpbWV6
b25lb2Zmc2V0CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0q
LwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQucHJvcGVydHlJc0VudW1l
cmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0
ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0
cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRUaW1l
em9uZU9mZnNldC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUg
b2YgIURhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0LnByb3BlcnR5SXNFbnVtZXJhYmxl
KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGlu
IERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0KSB7Ci0gIGlmICh4ID09PSAibGVuZ3Ro
IikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUu
Z2V0VGltZXpvbmVPZmZzZXQubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0g
IH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IG5vdCAibGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFVUQ0RhdGUvUzE1LjkuNS4xNV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVf
QTFfVDEuanMKaW5kZXggMmEwMGE5ZTc1NzU2Njg1YWIyM2Q4NDZjZWRjZGUzMmQwYzAyODM3Yy4u
ZGE4ZDQ1NjM5Yjg3YzI4ZTEzOGEyYTNkZmYyZTBlZWRkMzcwNjVjMCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0RhdGUvUzE1
LjkuNS4xNV9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0ExX1QxLmpzCkBAIC04LDEwICs4LDE2
IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGU7Ci1pZiAoeCA9
PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgPSAyOwot
ZWxzZQorfSBlbHNlIHsKICAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSA9IDE7Ci1pZiAoRGF0
ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRl
IFJlYWRPbmx5Jyk7CiB9CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBl
LmdldFVUQ0RhdGUsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RGF0ZSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9T
MTUuOS41LjE1X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0RhdGUvUzE1LjkuNS4xNV9BMV9UMi5qcwppbmRleCA0YzFiYmQ4NDcw
NDg1NWNhMDMwMDkyZDExNWFkNDY1NjY4MjAyMWM1Li4xYmM5ZDVhY2VhOTM4YWU2MmQwMzI4MjY2
Njc5YjljMjM4ZDVlNjhkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0ExX1QyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1Mx
NS45LjUuMTVfQTFfVDIuanMKQEAgLTYsMTEgKzYsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3Rv
dHlwZS5nZXR1dGNkYXRlCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVs
ZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRl
LnByb3RvdHlwZS5nZXRVVENEYXRlLAorICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUg
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBpcyBub3QgZmFsc2UnCispOwogCi1pZiAoZGVsZXRl
IERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMg
bm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENEYXRlJyksCisgICdUaGUgdmFsdWUgb2YgIURh
dGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnZ2V0VVRDRGF0ZVwnKSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRV
VENEYXRlJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3Rv
dHlwZS5nZXRVVENEYXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0
ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENEYXRlL1MxNS45LjUuMTVfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0ExX1QzLmpzCmluZGV4
IDgyNTg2ZWM2NzQ2OGM4NjJkZTQ3YjljZjcxNjdlOWUxZjE0YzA1NWEuLmY3ZmU1N2FkYmE2ZWU3
YTg0NTBkNTc2NDQ2YjBjMjZiMmQyZGYxM2MgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVfQTFfVDMu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ0RhdGUvUzE1LjkuNS4xNV9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2Vj
LWRhdGUucHJvdG90eXBlLmdldHV0Y2RhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51
bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgnZ2V0VVRDRGF0ZScpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ2dldFVUQ0RhdGUnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVy
dHlJc0VudW1lcmFibGUoXCdnZXRVVENEYXRlXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0gIGlmICh4ID09PSAiZ2V0VVRD
RGF0ZSIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90
eXBlLmdldFVUQ0RhdGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3Nl
cnQubm90U2FtZVZhbHVlKHgsICJnZXRVVENEYXRlIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAi
Z2V0VVRDRGF0ZSInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgp
IGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0Ey
X1QxLmpzCmluZGV4IGE4Y2EzYjk0OTVkZjFmNmY1OGIwNDE0YzRhZGQ4YTllYmQ0ODg0ZGMuLjE1
MTliNDM5ZmE3MDQzZTNhMjdjMGRkN2JmMDQxY2M1N2M4NDYyY2EgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45
LjUuMTVfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0RhdGUvUzE1LjkuNS4xNV9BMl9UMS5qcwpAQCAtNiwxMSArNiwxNCBA
QAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2RhdGUKIGRlc2NyaXB0aW9uOiBUaGUg
Imxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJnZXRVVENEYXRlIiBpcyAwCiAtLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgi
bGVuZ3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmhhc093blBy
b3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90
eXBlLmdldFVUQ0RhdGUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgZ2V0VVRDRGF0ZSBoYXMgYSAibGVuZ3RoIiBw
cm9wZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5sZW5ndGggIT09
IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0
eSBvZiB0aGUgZ2V0VVRDRGF0ZSBpcyAwJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCwKKyAgMCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRl
LnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAwJworKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENEYXRlL1MxNS45LjUuMTVfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0EzX1QxLmpzCmluZGV4
IDA4ZmNiMzJlZTVlYTMzNjRlZjc1NzUzNDMwYzNiNzA0N2RmZTI2NzkuLjNlZjBlYjliZjBmZGY0
YWVkOTIwMmUwM2IyNWM2ZjlmYjk4YmY5ZjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVfQTNfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ0RhdGUvUzE1LjkuNS4xNV9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHgg
PSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERh
dGUucHJvdG90eXBlLmdldFVUQ0RhdGUsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChEYXRlLnBy
b3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUubGVuZ3RoIGhhcyB0aGUgYXR0
cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90
eXBlLmdldFVUQ0RhdGUubGVuZ3RoLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90
eXBlLmdldFVUQ0RhdGUubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4
JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENEYXRlL1MxNS45LjUuMTVfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41LjE1X0EzX1QyLmpzCmluZGV4
IDE1ZGU0NjlhNjM1NWJjYjM3N2FmMTYwMjU3YzExZTZjOTUyOTUyMTcuLmZhNzliZTJjOGE4OTRj
M2FjMjliYjQwYmE0NjBjZDZhYjc5NGY1ZDkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVfQTNfVDIu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ0RhdGUvUzE1LjkuNS4xNV9BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2Vj
LWRhdGUucHJvdG90eXBlLmdldHV0Y2RhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVs
ZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnBy
b3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVs
ZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmxlbmd0aCAh
PT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90
eXBlLmdldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0
ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0
ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90
eXBlLmdldFVUQ0RhdGUuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8g
YmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLmhhc093blByb3Bl
cnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLmdldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0
dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL1MxNS45LjUuMTVfQTNfVDMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF0ZS9TMTUuOS41
LjE1X0EzX1QzLmpzCmluZGV4IDJiZWMwY2Q3MWU3NzUwYWUzMWQyN2ExYWQ5YjM4NjMxOWU3NTY5
NGEuLjhmZjMyZTU3OGRmYzg4YTE5MWJlNDhjMmZiZDcxMmRhMzFhNzNmNmQgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRl
L1MxNS45LjUuMTVfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFVUQ0RhdGUvUzE1LjkuNS4xNV9BM19UMy5qcwpAQCAtOCwxMyAr
OCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2RhdGUKIGRlc2NyaXB0aW9u
OiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlw
ZS5nZXRVVENEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUubGVuZ3Ro
IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFE
YXRlLnByb3RvdHlwZS5nZXRVVENEYXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwK
KyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZS5wcm9wZXJ0eUlzRW51
bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2
YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlKSB7Ci0gIGlmICh4ID09PSAibGVuZ3Ro
IikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDRGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBh
c3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJs
ZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0VVRDRGF5L1MxNS45LjUuMTdfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45LjUuMTdfQTFfVDEuanMK
aW5kZXggMGUyOGEyOGY1MmJjY2VjODI4NDVjOWE2NWMxZDc0MjE0MzM3ZGE4ZC4uMmFhM2I0ZDdi
ZDhkZTk2MDQxN2E1OGMxMjI5Mjg1ODdmN2E5YmIwMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0Ex
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRVVENEYXkvUzE1LjkuNS4xN19BMV9UMS5qcwpAQCAtOCwxMCArOCwxNiBAQAogLS0tKi8K
IAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXk7Ci1pZiAoeCA9PT0gMSkKK2lmICh4
ID09PSAxKSB7CiAgIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSA9IDI7Ci1lbHNlCit9IGVsc2Ug
ewogICBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgPSAxOwotaWYgKERhdGUucHJvdG90eXBlLmdl
dFVUQ0RheSA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUu
cHJvdG90eXBlLmdldFVUQ0RheSBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0K
KworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5LAorICB4
LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSBpcyBleHBlY3RlZCB0
byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45LjUuMTdfQTFfVDIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5
L1MxNS45LjUuMTdfQTFfVDIuanMKaW5kZXggNTdjMzFhNzkyZjAyNjg0ZmNhNmFiNjc2NTIwMjZl
NDY3YzFkY2RjOC4uMTRhZDgwMmE5YmFmN2Q4YWMxMWNlMTFjYjU3N2I5NTA4MTcxMWI5ZCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ0RheS9TMTUuOS41LjE3X0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19BMV9UMi5qcwpAQCAt
NiwxMSArNiwxMSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2RhdHkKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLwor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5LCBmYWxz
ZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IGlzIG5vdCBm
YWxzZScpOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSA9PT0gZmFsc2Up
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRV
VENEYXkgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cith
c3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VVRDRGF5JyksCisg
ICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnZ2V0VVRDRGF5
XCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkoJ2dldFVUQ0RheScpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5IHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJp
YnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19BMV9UMy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19B
MV9UMy5qcwppbmRleCA1OGExYTdjZTBmZTFiMGFlZTQ5Yzg1NTkxZTM1YzEzYjFkN2FkZGQ4Li40
MmM2ZTljMTU1MDcxOTA2ZTRlMWE3NDU4ZjVjZWUwYmNjNzUwOWQ4IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45
LjUuMTdfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0ExX1QzLmpzCkBAIC02LDEzICs2LDEzIEBA
CiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjZGF0eQogZGVzY3JpcHRpb246IENoZWNr
aW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3Bl
cnR5SXNFbnVtZXJhYmxlKCdnZXRVVENEYXknKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJp
YnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJ
c0VudW1lcmFibGUoJ2dldFVUQ0RheScpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlw
ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2dldFVUQ0RheVwnKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0g
ImdldFVUQ0RheSIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLmdldFVUQ0RheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9Cisg
IGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImdldFVUQ0RheSIsICdUaGUgdmFsdWUgb2YgeCBpcyBu
b3QgImdldFVUQ0RheSInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19BMl9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19B
Ml9UMS5qcwppbmRleCBkZjQzMzUyNDM3NDhkYTYyMTM0ZmVlNWE3ODRkZjJiZGQzYWI5YmUzLi5i
MjViNGYzNGExODc4ZTA4ZGY2NDUyMzZlYTI3MzE4N2Q5NzM5MzgzIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45
LjUuMTdfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EyX1QxLmpzCkBAIC02LDExICs2LDE0IEBA
CiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjZGF0eQogZGVzY3JpcHRpb246IFRoZSAi
bGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ0RheSIgaXMgMAogLS0tKi8KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5oYXNPd25Qcm9wZXJ0eSgibGVu
Z3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkuaGFzT3duUHJvcGVy
dHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDRGF5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGdldFVUQ0RheSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0
eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCAhPT0gMCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRo
ZSBnZXRVVENEYXkgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDRGF5Lmxlbmd0aCwKKyAgMCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlw
ZS5nZXRVVENEYXkubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnCispOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0RheS9T
MTUuOS41LjE3X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EzX1QxLmpzCmluZGV4IGE1OTBhOTcxMTNj
NDM1YzllMmY5ZjdiMDA3NTMzNDVmODEwNjM1M2IuLmJkNzliMGNmMDE3MWJlM2ZlYmVhNjIyNThh
OTAyOTFjZWM3YzRhNTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19BM19UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45
LjUuMTdfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDRGF5Lmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLmdl
dFVUQ0RheSwgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0Rh
eS5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7
Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5n
dGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45LjUuMTdf
QTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDRGF5L1MxNS45LjUuMTdfQTNfVDIuanMKaW5kZXggZTNmOWE4NThiMGU1MGViNmUyYjBj
ZTVmMmU4OWUwYzRiZWZhYTY0NS4uOGI1ZTdkYWQ3ODIyZmIyMzI1ZTA0MzQyYzY3Yjg3MjBlNDdh
NjUyNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4xN19BM19U
Mi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2Rh
dHkKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkubGVuZ3Ro
LAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RGF5Lmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0
ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggcHJvcGVy
dHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQo
CisgICFEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkuaGFzT3duUHJvcGVydHko
XCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3Rv
dHlwZS5nZXRVVENEYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5Lmxlbmd0aCBwcm9w
ZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRP
RE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L1MxNS45
LjUuMTdfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0VVRDRGF5L1MxNS45LjUuMTdfQTNfVDMuanMKaW5kZXggYTVjNWY1YWRhNzRhMWJl
OTlkNTc4ZjFjMDFiYTZkNDQ4OTUwZmQ0NC4uZTZkYWQ5NWY0NTc2YTUxNjc0ZTAzODBhZGRiNTNj
ZjI4ZWQ0N2YwMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFVUQ0RheS9TMTUuOS41LjE3X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXkvUzE1LjkuNS4x
N19BM19UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdl
dHV0Y2RhdHkKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSov
Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xl
bmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDRGF5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScp
OwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5LnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RGF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRy
dWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLmdldFVUQ0RheSkgewotICBp
ZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhl
IERhdGUucHJvdG90eXBlLmdldFVUQ0RheS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVu
dW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVl
IG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5
UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BMV9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENGdWxs
WWVhci9TMTUuOS41LjExX0ExX1QxLmpzCmluZGV4IGE2YTQwZTY2OTY4ZWE5MmMxODM2MGJmZWFh
N2FiZTdhZGVkMjFlOTIuLjQ5ZjgyNWQwNDJlODRjNjhiNTY1MTgxNTYxNWI1OGNkYzUyN2ZkYmMg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRVVENGdWxsWWVhci9TMTUuOS41LjExX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENGdWxsWWVhci9TMTUuOS41LjEx
X0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90
eXBlLmdldFVUQ0Z1bGxZZWFyOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRl
LnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnBy
b3RvdHlwZS5nZXRVVENGdWxsWWVhciA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVs
bFllYXIgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS5nZXRVVENGdWxsWWVhciBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsK
IH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFll
YXIsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIg
aXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RP
OiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1Mx
NS45LjUuMTFfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BMV9UMi5qcwppbmRleCAwODhjMDcw
ODUxYmMyZTBhYzEyMTE1M2YzMGU1Mjk1YmRjOWZiNTAxLi5mYjU5MTdkNTY2YzJmNDQ3NmQ2MGYy
NjVhN2Q5MDkzOTI0NGVhZjI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BMV9UMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRD
RnVsbFllYXIvUzE1LjkuNS4xMV9BMV9UMi5qcwpAQCAtNiwxMSArNiwxNSBAQAogZXNpZDogc2Vj
LWRhdGUucHJvdG90eXBlLmdldHV0Y2Z1bGx5ZWFyCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJz
ZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
CisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciwKKyAgZmFsc2UsCisgICdU
aGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyIGlzIG5vdCBm
YWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgPT09
IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVs
ZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0
VVRDRnVsbFllYXInKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkoXCdnZXRVVENGdWxsWWVhclwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAot
aWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENGdWxsWWVhcicpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVs
bFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cisv
LyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZ
ZWFyL1MxNS45LjUuMTFfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BMV9UMy5qcwppbmRleCA1
MjBiMzE4MzcyZGM3YjM3Yzk1YWMyMzg2ODEwMzQ1ZTVjOTQwMmJlLi5hMzRmMTk0OWU0NDc2YmY5
NjdhZDE5MWI1YjNhYWZkYWU1Yzk0NDYxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BMV9U
My5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNp
ZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2Z1bGx5ZWFyCiBkZXNjcmlwdGlvbjogQ2hlY2tp
bmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVy
dHlJc0VudW1lcmFibGUoJ2dldFVUQ0Z1bGxZZWFyJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciBwcm9wZXJ0eSBoYXMg
dGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUu
cHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ0Z1bGxZZWFyJyksCisgICdUaGUgdmFsdWUgb2Yg
IURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZ2V0VVRDRnVsbFllYXJcJykg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5
cGUpIHsKLSAgaWYgKHggPT09ICJnZXRVVENGdWxsWWVhciIpIHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyIGhhcyB0aGUg
YXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAiZ2V0
VVRDRnVsbFllYXIiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJnZXRVVENGdWxsWWVhciInKTsK
IH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENGdWxsWWVhci9TMTUuOS41LjExX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUuMTFfQTJfVDEuanMK
aW5kZXggN2UxODM1ZmE0ZTllOTQyZTIxMzk2NDhhZDZkZGEwMzY0Mzk4NDkyNS4uZjVlZjBlNzA1
NzA1NDZiM2E0OWQ3NTg4NjFlMzc4NTcxMzczNDc2YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUu
MTFfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUuMTFfQTJfVDEuanMKQEAgLTYsMTEgKzYsMTQg
QEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNmdWxseWVhcgogZGVzY3JpcHRpb246
IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ0Z1bGxZZWFyIiBpcyAwCiAtLS0q
LworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIuaGFz
T3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwog
Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0
aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgZ2V0VVRD
RnVsbFllYXIgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90
eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENGdWxsWWVhciBpcyAw
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVh
ci5sZW5ndGgsCisgIDAsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVs
bFllYXIubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1Mx
NS45LjUuMTFfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BM19UMS5qcwppbmRleCBlNTc1OTU0
ZTc5MGFmNzAxYmJlMjkzZjg2MzUyYmMxNjE1ZWMyMjU2Li42ZGJlMzYxM2QzOWIxMTQ1MzBhMTQ4
NDQ2MDRlYzM5NDM3NTU2ZTdiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1LjkuNS4xMV9BM19UMS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRD
RnVsbFllYXIvUzE1LjkuNS4xMV9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHgg
PSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJs
ZShEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciwgImxlbmd0aCIsIG51bGwsIDEpOwotaWYg
KERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxl
bmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5sZW5ndGgsCisgIHgsCisgICdUaGUg
dmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENGdWxsWWVhci9TMTUuOS41LjExX0EzX1QyLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1
bGxZZWFyL1MxNS45LjUuMTFfQTNfVDIuanMKaW5kZXggMTg2ZDQyNzBiNTRhYzEyNzM2M2EyYjhj
OTJiOWM0YzYyYjRiNjkzYS4uOTJiNDdiMTI1MzZlODg3OWY4MjM0MTdjNWRmM2E4MDBmOGVlM2E3
NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUuMTFfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0Z1bGxZZWFyL1MxNS45LjUu
MTFfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5n
ZXR1dGNmdWxseWVhcgogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRl
CiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVU
Q0Z1bGxZZWFyLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUu
cHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
Kyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoICE9
PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJp
YnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
RnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRl
LnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBl
eHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZ
ZWFyLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyLmxlbmd0aCBwcm9wZXJ0eSBk
b2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvUzE1Ljku
NS4xMV9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRVVENGdWxsWWVhci9TMTUuOS41LjExX0EzX1QzLmpzCmluZGV4IDQ3ZjE5ZjAwYjM0
ZmEzYjg5ODkzNGI3MjY3NWNlMjhjYWMzYjVhZDQuLmY0ZGQ5YTE5NzhhZGRkMmVlNWFkMGU5N2I2
NzMzYzVjNjE1MDA3ZDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENGdWxsWWVhci9TMTUuOS41LjExX0EzX1QzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENGdWxs
WWVhci9TMTUuOS41LjExX0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0
ZS5wcm90b3R5cGUuZ2V0dXRjZnVsbHllYXIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51
bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5w
cm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhci5sZW5ndGggcHJvcGVydHkg
aGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90
eXBlLmdldFVUQ0Z1bGxZZWFyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIucHJvcGVydHlJc0VudW1l
cmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFy
IHggaW4gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIpIHsKLSAgaWYgKHggPT09ICJsZW5n
dGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlw
ZS5nZXRVVENGdWxsWWVhci5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAg
fQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMg
bm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHko
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5
X0ExX1QxLmpzCmluZGV4IDYxYzYxODM1NTViMWUxNTAyMjBlNGE0MDM1MTJiN2RhYzMyZmJmYzgu
LjAxZDJlYmIyMzM0ZDJkYzZhZDhiMWE2ODUzY2ZlZThlM2U5MDNiZmIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9T
MTUuOS41LjE5X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5X0ExX1QxLmpzCkBAIC04LDEwICs4
LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzOwotaWYg
KHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyA9
IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyA9IDE7Ci1p
ZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyBoYXMgbm90IHRoZSBh
dHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUuZ2V0VVRDSG91cnMsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDSG91cnMgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAn
CispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ0hvdXJzL1MxNS45LjUuMTlfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9UMi5qcwppbmRl
eCA0M2E0YjdiMWQ3NThjODNjNGNiY2YyNjU5MGQyYjlkMGZhYmI4Mzg5Li4zMjUyYjUyOGRlOGY1
NzEwMjg1OTU1YzdlNWQ1M2JhOTQ2MzU5YzIwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9UMi5qcwpAQCAtNiwxMSArNiwxNSBAQAogZXNpZDog
c2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2hvdXJzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJz
ZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUo
CisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycywKKyAgZmFsc2UsCisgICdUaGUg
dmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzIGlzIG5vdCBmYWxzZScK
Kyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgPT09IGZhbHNlKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cith
c3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VVRDSG91cnMnKSwK
KyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdnZXRVVENI
b3Vyc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBl
Lmhhc093blByb3BlcnR5KCdnZXRVVENIb3VycycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgcHJvcGVydHkgaGFzIG5vdCB0
aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlm
eVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlfQTFfVDMuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMv
UzE1LjkuNS4xOV9BMV9UMy5qcwppbmRleCAyYmYzZDIyYmI3ZTUwZjdkNzU2YzQyM2U3OTNkMmY2
MWUzMWVmYzMwLi5hYTU3ZTg5ODQwNWY5MmE1YWU0NGMzMzJmMTQyMDIzYmE1MGRiMTAxIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BMV9UMy5qcwpA
QCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y2hvdXJzCiBk
ZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0
ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ0hvdXJzJykpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyBw
cm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0
ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ0hvdXJzJyksCisgICdUaGUg
dmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZ2V0VVRDSG91
cnNcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5w
cm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJnZXRVVENIb3VycyIpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzIGhhcyB0aGUg
YXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAiZ2V0
VVRDSG91cnMiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJnZXRVVENIb3VycyInKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vy
cy9TMTUuOS41LjE5X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlfQTJfVDEuanMKaW5kZXggY2Y4OWE3
MTg2ZmQ5NjFiNTA4ZjY0YzQ4OGZmYjg2ZWUyYWMwNmRlOC4uMWEzNTE1N2NmMTJhYzNiMThiOGI5
ZTBkNzgxNzM2MTY3YzRlNmU2ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlfQTJfVDEuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hv
dXJzL1MxNS45LjUuMTlfQTJfVDEuanMKQEAgLTYsMTEgKzYsMTQgQEAKIGVzaWQ6IHNlYy1kYXRl
LnByb3RvdHlwZS5nZXR1dGNob3VycwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0
eSBvZiB0aGUgImdldFVUQ0hvdXJzIiBpcyAwCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0
cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoImxlbmd0
aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91
cnMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgZ2V0VVRDSG91cnMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsK
LX0KLQotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCAhPT0gMCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBn
ZXRVVENIb3VycyBpcyAwJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZS5nZXRVVENIb3Vycy5sZW5ndGgsCisgIDAsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDSG91cnMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnCispOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hv
dXJzL1MxNS45LjUuMTlfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BM19UMS5qcwppbmRleCAwZGRi
OTJjZjAyODcxZTE2YmZlYTc2YzcxNWUwN2Y2OWU5N2JjMDIyLi4yOTZkZDVmN2I2OTg3Mjg0Mzk0
YTcyZjdjOThlODY2ODk4NzQwYTcxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9BM19UMS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRD
SG91cnMvUzE1LjkuNS4xOV9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBE
YXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRl
LnByb3RvdHlwZS5nZXRVVENIb3VycywgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJv
dG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCBoYXMgdGhlIGF0
dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZS5nZXRVVENIb3Vycy5sZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5X0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlfQTNfVDIuanMK
aW5kZXggNTY2NGNjNTc1YzdkOWM1OGI5MDY5ZmM3NWZkZmMyMDFiNzA2MjM4Yy4uYmZlZjVjM2Zm
MjQ4ZjAyYjIxMzRlMGYxZTA2NDM1MDFmNmNiNDQzOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlf
QTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFVUQ0hvdXJzL1MxNS45LjUuMTlfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVz
aWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNob3VycwogZGVzY3JpcHRpb246IENoZWNraW5n
IERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRl
IERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1
ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aGAgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91
cnMubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUg
dGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9m
ICFEYXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ0hv
dXJzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLmxlbmd0aCBwcm9wZXJ0eSBkb2Vz
IG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDSG91cnMvUzE1LjkuNS4xOV9B
M19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENIb3Vycy9TMTUuOS41LjE5X0EzX1QzLmpzCmluZGV4IDI5ZDkwOWMzMTgwYmY0ZTJhNjAw
MDQ5YmQ4MGM0ZjFkYWI1MmE0NzUuLjg0YWUzNmYzN2NiODNkMWJlMmQ3YTUyZjUyZTUxYTdhMWZm
OTQwYzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9TMTUuOS41LjE5
X0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0
dXRjaG91cnMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSov
Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgn
bGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3Rv
dHlwZS5nZXRVVENIb3Vycy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVu
dW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDSG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91
cnMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3Vycy5sZW5ndGggaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgi
LCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45
LjUuMjVfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjVfQTFfVDEuanMKaW5kZXggYzJmMTA1
OGRjNDljYmY0NDdiYTkwZGU4YTZkNmQzNmYyYzA5YWIwZS4uOWJkZDFlMTVjMzAyMzkzMzg3ZDk3
YTMyOGRhYzE3Y2I0YzMxOTdjZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI1X0ExX1Qx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BMV9UMS5qcwpAQCAtMTAsMTAgKzEwLDE2IEBA
CiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kczsKLWlm
ICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlz
ZWNvbmRzID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxp
c2Vjb25kcyA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzID09PSB4
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0
VVRDTWlsbGlzZWNvbmRzIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCith
c3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMs
CisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRz
IGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29u
ZHMvUzE1LjkuNS4yNV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BMV9UMi5qcwppbmRl
eCAxMGM0MjIzN2NlM2M2ODc1MjU0NjkxZjM0MDVkZDBkYTQyYTQ1MzljLi4xOWM3ZWM5MzNmN2Qw
ZDM2N2RmODI3MDJhOWQ1Njc2ZDY0NzdhYzZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUu
MjVfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI1X0ExX1QyLmpzCkBAIC04LDExICs4
LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjbWlsbGlzZWNvbmRzCiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8K
K2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxs
aXNlY29uZHMsCisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS5nZXRVVENNaWxsaXNlY29uZHMgaXMgbm90IGZhbHNlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRl
LnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzIHBy
b3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAor
ICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldFVUQ01pbGxpc2Vjb25kcycpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2dldFVUQ01p
bGxpc2Vjb25kc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCdnZXRVVENNaWxsaXNlY29uZHMnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25k
cyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRP
RE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNv
bmRzL1MxNS45LjUuMjVfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjVfQTFfVDMuanMKaW5k
ZXggZWIwODljODZhNmE1YTBkY2U5NTJjZjVjMGMwOGNkOGM3ODFmYWQ3Zi4uZGM1M2ZjZDhmMWVi
OGE3MGU4OTZlNzQyMDAyZjQzNTBiZmQ5YWQ1OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41
LjI1X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BMV9UMy5qcwpAQCAtOCwxMyAr
OCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y21pbGxpc2Vjb25kcwogZGVz
Y3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUu
cHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENNaWxsaXNlY29uZHMnKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01p
bGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNz
ZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ01pbGxp
c2Vjb25kcycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51
bWVyYWJsZShcJ2dldFVUQ01pbGxpc2Vjb25kc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gImdldFVU
Q01pbGxpc2Vjb25kcyIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERh
dGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51
bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImdldFVUQ01pbGxpc2Vjb25kcyIs
ICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImdldFVUQ01pbGxpc2Vjb25kcyInKTsKIH0KKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNl
Y29uZHMvUzE1LjkuNS4yNV9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BMl9UMS5qcwpp
bmRleCA2ZGJjZjBjZTkwYWNkYWVmMTZlY2U4ZDI5OWY5ZTI1Y2I5YTlhOTFiLi5kMGZmNjI4N2Uy
ZmQyZjI1MDkyZDA3MDIyNDcyNjE2Yzc1MzFhNDRiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45
LjUuMjVfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI1X0EyX1QxLmpzCkBAIC02LDEx
ICs2LDE0IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjbWlsbGlzZWNvbmRzCiBk
ZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDTWlsbGlzZWNv
bmRzIiBpcyAwCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0
VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwKKyAgdHJ1ZSwKKyAgJ0Rh
dGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikg
bXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNl
Y29uZHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBUaGUgZ2V0VVRDTWlsbGlzZWNvbmRzIGhhcyBhICJsZW5ndGgiIHBy
b3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVu
Z3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIg
cHJvcGVydHkgb2YgdGhlIGdldFVUQ01pbGxpc2Vjb25kcyBpcyAwJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoLAorICAw
LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUu
MjVfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjVfQTNfVDEuanMKaW5kZXggNzA0MDNiZmQw
YmE1OTRkMjRjODRiYzBlY2E4MGQwYjMyYzMxMjk3My4uODQ5ODRmZGUxMmVlNzBhNWRiM2YxMzFj
YjliNDJkMDRmYzcyY2ZiMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI1X0EzX1QxLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAog
dmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoOwogdmVyaWZ5
Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLCAibGVuZ3RoIiwg
bnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCAh
PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBl
LmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNv
bmRzLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENN
aWxsaXNlY29uZHMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4Jwor
KTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yNV9B
M19UMi5qcwppbmRleCBmMDI3OTIwOTZkY2JiMDUwODE2ODMyNTk4ZmZkNzAxZWNmZGQxZDgzLi5j
N2QwZjcwMGJlMGExMDU1NGQ3ODhlZmZjZGZmZDBiNGFkZGUzOGY4IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNv
bmRzL1MxNS45LjUuMjVfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI1X0EzX1QyLmpz
CkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjbWlsbGlz
ZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSov
Cithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlz
ZWNvbmRzLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJv
dG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
CispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5n
dGggIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUg
dGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ1RoZSB2
YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5
KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxp
c2Vjb25kcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250
RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI1X0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9TMTUu
OS41LjI1X0EzX1QzLmpzCmluZGV4IDE3MmUyNjQzYTQzZDRjOGFmZjZmOTMwZmNmZTUxZTg1OWU1
MWZjYjYuLmFhMDU3ZThlMGRkMWM1NjhmYWM4YzJlYzFiOGViODFkOGJhMDVjYjYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENN
aWxsaXNlY29uZHMvUzE1LjkuNS4yNV9BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjVf
QTNfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1
dGNtaWxsaXNlY29uZHMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUK
IC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMucHJvcGVydHlJ
c0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMg
dGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDTWlsbGlzZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWlsbGlzZWNvbmRzLnByb3BlcnR5SXNF
bnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3Ig
KHZhciB4IGluIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcykgewotICBpZiAoeCA9
PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9u
dEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZh
bHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVy
aWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0ExX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01p
bnV0ZXMvUzE1LjkuNS4yMV9BMV9UMS5qcwppbmRleCA1ZjY5M2JkZDFiNzkxOWUxNGZjN2MyYmRj
OWY2ZjgyNTI2MDUxZGJhLi42NjQ1NDE2MDdjNDNlMWY0YTNmMzAyM2UxOTRjNWNlZjg0OWQ2ODU4
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL1MxNS45LjUuMjFf
QTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTWludXRlczsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5w
cm90b3R5cGUuZ2V0VVRDTWludXRlcyA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3Rv
dHlwZS5nZXRVVENNaW51dGVzID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVz
ID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTWludXRlcyBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKwor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcywKKyAg
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIGlzIGV4cGVj
dGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKworLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL1MxNS45LjUuMjFf
QTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0ExX1QyLmpzCmluZGV4IDRjM2E0YTI3YzQxYzk1YTI1
YjAwZGRhYWI1NWViZmIxY2YzM2I3ZTkuLmY2YjVhYmZlY2EyZmQ5M2ZmZGIwZTJiY2NkMzcxNThm
NjJlNTc1MjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL1MxNS45LjUuMjFfQTFfVDIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1
LjkuNS4yMV9BMV9UMi5qcwpAQCAtNiwxMSArNiwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90
eXBlLmdldHV0Y21pbnV0ZXMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnRE
ZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVsZXRlIERh
dGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMsCisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9mIGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIGlzIG5vdCBmYWxzZScKKyk7CiAKLWlm
IChkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyA9PT0gZmFsc2UpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVz
IHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0
KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldFVUQ01pbnV0ZXMnKSwKKyAg
J1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdnZXRVVENNaW51
dGVzXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkoJ2dldFVUQ01pbnV0ZXMnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgcHJvcGVydHkgaGFzIG5v
dCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZl
cmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BMV9UMy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENN
aW51dGVzL1MxNS45LjUuMjFfQTFfVDMuanMKaW5kZXggOTlkY2E1Yjg4NGRiNTk2MTQxZWJhMWVm
ZjgyZWVkYTg3MzhiNWFmMS4uZjQzZGYxNmY5ZTFiN2YwZDVmYjRmMDE2NzAwMTFjMGNlMjY3MTgx
ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIx
X0ExX1QzLmpzCkBAIC02LDEzICs2LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0
dXRjbWludXRlcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0t
Ki8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENNaW51
dGVzJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlw
ZS5nZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19
Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZ2V0VVRD
TWludXRlcycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51
bWVyYWJsZShcJ2dldFVUQ01pbnV0ZXNcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAK
IGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJnZXRVVENNaW51
dGVzIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFz
c2VydC5ub3RTYW1lVmFsdWUoeCwgImdldFVUQ01pbnV0ZXMiLCAnVGhlIHZhbHVlIG9mIHggaXMg
bm90ICJnZXRVVENNaW51dGVzIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVBy
b3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BMl9UMS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVz
L1MxNS45LjUuMjFfQTJfVDEuanMKaW5kZXggMzAzZjYyNDg2ZjYxYzc0ZTYyMTI4YmRkNWY4MzY2
ZTlhODIzYTk3Yi4uM2IwNTE0YTcyMTU1YTVkMDNjMGIwMTZkYTg2MWMxYzI4OWUzNmE5MiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0EyX1Qx
LmpzCkBAIC02LDExICs2LDE0IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjbWlu
dXRlcwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgImdldFVUQ01p
bnV0ZXMiIGlzIDAKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5n
ZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUu
cHJvdG90eXBlLmdldFVUQ01pbnV0ZXMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0
dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5oYXNPd25Q
cm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IFRoZSBnZXRVVENNaW51dGVzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19Ci0KLWlm
IChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCAhPT0gMCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBnZXRVVENN
aW51dGVzIGlzIDAnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdl
dFVUQ01pbnV0ZXMubGVuZ3RoLAorICAwLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
LmdldFVUQ01pbnV0ZXMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnCispOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01p
bnV0ZXMvUzE1LjkuNS4yMV9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL1MxNS45LjUuMjFfQTNfVDEuanMKaW5kZXgg
ZDJhYWZkMzBjMjBiMzVjMzAwM2U3YWUwNDEyYzNiODg0MDVhNTJkZC4uOWY1M2EyZWE3NGUxOTY3
NGZjY2FjMDQ5NzM5NzU4OGQxODZkODdjZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BM19U
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0EzX1QxLmpzCkBAIC0xMiw2ICsxMiwxMSBAQAogCiB2
YXIgeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMubGVuZ3RoOwogdmVyaWZ5Tm90V3Jp
dGFibGUoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcywgImxlbmd0aCIsIG51bGwsIDEpOwot
aWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5s
ZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGgsCisgIHgsCisgICdUaGUg
dmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlm
eVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BM19UMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51
dGVzL1MxNS45LjUuMjFfQTNfVDIuanMKaW5kZXggMWRlM2VhOTU2NWFhMDg2ZDlmZTFlZWY4NWNj
ODJiOTZmZmNiYjBhOC4uMWNlNTVmOGM2Y2Y3ZmJjZTIwNTkxNjZmNTljZTliZmM3ZTU2NDA0YSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0Ez
X1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRj
bWludXRlcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0q
LworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0
ZXMubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTWludXRlcy5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1p
ZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMubGVuZ3RoICE9PSB0cnVlKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
TWludXRlcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250
RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmhh
c093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMuaGFzT3duUHJv
cGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0
aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlm
eVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BM19UMy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51
dGVzL1MxNS45LjUuMjFfQTNfVDMuanMKaW5kZXggNjRhZjgzYjdiMjMyNTIzZWU4NzY2ZjM1Mzhj
MmI5NTE2ZGI0YjNlMy4uZWZkYzE5NTE3MDY0MjZhOWQyMjg0Y2E3OGEyMGNmNDdkMmZiZGYwZiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldFVUQ01pbnV0ZXMvUzE1LjkuNS4yMV9BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWludXRlcy9TMTUuOS41LjIxX0Ez
X1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRj
bWludXRlcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8K
LQotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMucHJvcGVydHlJc0VudW1lcmFibGUo
J2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDTWludXRlcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9u
dEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMucHJv
cGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3Rv
dHlwZS5nZXRVVENNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLmdl
dFVUQ01pbnV0ZXMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmxlbmd0aCBo
YXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUo
eCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0KKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9T
MTUuOS41LjEzX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNfQTFfVDEuanMKaW5kZXggNDgxOTZlZGQy
MTNhNTBmMDQwYzVlM2JkZDQyYzUxYzI3N2E1OGYwMy4uMWFjNDVhZTg2MDE1MTk2NjAxYmE2MTVi
ZjZjNDNjOGZiZWRmNjhiMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNfQTFfVDEuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRo
L1MxNS45LjUuMTNfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0g
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGg7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7
CiAgIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERh
dGUucHJvdG90eXBlLmdldFVUQ01vbnRoID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENN
b250aCA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJv
dG90eXBlLmdldFVUQ01vbnRoIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQor
Cithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCwKKyAg
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCBpcyBleHBlY3Rl
ZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9udGgvUzE1LjkuNS4xM19BMV9U
Mi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENNb250aC9TMTUuOS41LjEzX0ExX1QyLmpzCmluZGV4IDVkNmU2YWU3YTE1YzdjNzY4MzAwODA1
M2FmZWM3YTk0M2E0ZjYwZmUuLjdmZDU3YzcyMzUxMmUyMDQwNjQyMWNmN2UzNTEzNTQyNTE5NTI0
YmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0Ex
X1QyLmpzCkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRj
bW9udGgKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmli
dXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBl
LmdldFVUQ01vbnRoLAorICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDTW9udGggaXMgbm90IGZhbHNlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnBy
b3RvdHlwZS5nZXRVVENNb250aCA9PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRo
ZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBl
Lmhhc093blByb3BlcnR5KCdnZXRVVENNb250aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2dldFVUQ01vbnRoXCcpIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2dldFVUQ01v
bnRoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlw
ZS5nZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUn
KTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
VVRDTW9udGgvUzE1LjkuNS4xM19BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0ExX1QzLmpzCmluZGV4
IDVjYTlmMTZhNWU3YTk1ZTk4NGQ5OGUxMTRmZGFiNWIzNGMyNWYyZjguLmM5MTM1MzA0NzA5OTI3
MWU4MzdhNWJjMmI1M2ZmYmE4Nzg1ODFkMDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0ExX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENNb250aC9TMTUuOS41LjEzX0ExX1QzLmpzCkBAIC02LDEzICs2LDEzIEBACiBlc2lkOiBz
ZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjbW9udGgKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250
RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51
bWVyYWJsZSgnZ2V0VVRDTW9udGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRl
IERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51
bWVyYWJsZSgnZ2V0VVRDTW9udGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUu
cHJvcGVydHlJc0VudW1lcmFibGUoXCdnZXRVVENNb250aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0g
ImdldFVUQ01vbnRoIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAg
fQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJnZXRVVENNb250aCIsICdUaGUgdmFsdWUgb2Yg
eCBpcyBub3QgImdldFVUQ01vbnRoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlm
eVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNfQTJfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9udGgv
UzE1LjkuNS4xM19BMl9UMS5qcwppbmRleCA4ZjkxMjFkOTIxZDFkOTM5MjljOWYzMDljMDFmNjc2
MTE2Yjg5NmNlLi4xZWMyODhhM2NiYWIyYjI0YmJjZjVkM2I5NDFjYmU3MWMzMDNkOTE4IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
VVRDTW9udGgvUzE1LjkuNS4xM19BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9udGgvUzE1LjkuNS4xM19BMl9UMS5qcwpA
QCAtNiwxMSArNiwxNCBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdldHV0Y21vbnRoCiBk
ZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDTW9udGgiIGlz
IDAKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250
aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5n
ZXRVVENNb250aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7
CiAKLWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3Ro
IikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBnZXRVVENN
b250aCBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDTW9udGgubGVuZ3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFVUQ01vbnRoIGlzIDAnKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCwKKyAg
MCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5sZW5ndGggaXMg
ZXhwZWN0ZWQgdG8gYmUgMCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9udGgvUzE1LjkuNS4xM19BM19UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250
aC9TMTUuOS41LjEzX0EzX1QxLmpzCmluZGV4IDg5ZWRhOTJhMDU5Zjg2NTE1YmMxYTU0YzBiNTQ3
YzBmNzEwOTcyMGQuLjRiODhjMWMxNmVlZWQ1ZmQ1ZWZlOTI3MTNhNGExNWYyMTAwYmUyMGUgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9n
ZXRVVENNb250aC9TMTUuOS41LjEzX0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0EzX1QxLmpz
CkBAIC0xMiw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRo
Lmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLCAi
bGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgubGVuZ3Ro
ICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCwK
KyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252
ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNf
QTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDTW9udGgvUzE1LjkuNS4xM19BM19UMi5qcwppbmRleCA0NmRiYTI0OTA1OWFiMzA0MzJj
ZDc0ZjhmOTBjYTUyYWU0ZDlmNjY4Li4zMTUxNmE0OWRiZjI0OTU3ZTk2OWQzNjM1Njc5ZjM0YWIx
ZjEzNTNiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0VVRDTW9udGgvUzE1LjkuNS4xM19BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTW9udGgvUzE1LjkuNS4x
M19BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLmdl
dHV0Y21vbnRoCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0t
LSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9u
dGgubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDTW9udGgubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYg
KGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5sZW5ndGggIT09IHRydWUpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250
aC5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRl
Jyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5oYXNPd25Qcm9w
ZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdldFVUQ01v
bnRoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0
aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMg
RG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRVVENNb250aC9TMTUuOS41LjEzX0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNfQTNf
VDMuanMKaW5kZXggZGE3NmEyZjVhMTcwMmQ2ZDBiOWIxNDQ4NTgzOGYzZDU4NTAxNjk0YS4uZmU5
OWY0NGEzYzRkZTk4ZmM5YmRmODM0YmU4MmNkYzVjMGEwMjk4ZiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45
LjUuMTNfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ01vbnRoL1MxNS45LjUuMTNfQTNfVDMuanMKQEAgLTgsMTMgKzgsMTMg
QEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNtb250aAogZGVzY3JpcHRpb246IENo
ZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLmdl
dFVUQ01vbnRoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoLmxlbmd0aCBw
cm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0
ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGgucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aC5wcm9wZXJ0eUlzRW51
bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2
YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkgewotICBpZiAoeCA9PT0gImxlbmd0
aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBl
LmdldFVUQ01vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9Cisg
IGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3Qg
Imxlbmd0aCInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIz
X0ExX1QxLmpzCmluZGV4IDA2ZWNkYWE1YTNjMTRlMTQzZTFmZDQxYmVkZTZiZDUxYjdkYWViMDAu
LmM3NmEzYTYzMmI1Nzg4YjQ5Y2JkMmY5MWQwNjA2ZTFjMmM2MjU3YjggMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRz
L1MxNS45LjUuMjNfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19BMV9UMS5qcwpAQCAtOCwx
MCArOCwxNiBAQAogLS0tKi8KIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRz
OwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5nZXRVVENT
ZWNvbmRzID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29u
ZHMgPSAxOwotaWYgKERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgPT09IHgpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRz
IGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZh
bHVlKAorICBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLAorICB4LAorICAnVGhlIHZhbHVl
IG9mIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFs
IHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19BMV9UMi5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1Mx
NS45LjUuMjNfQTFfVDIuanMKaW5kZXggYzlhZTc2NDE0OTRhYzhkYTgxNjQwYWFhODYzNjQxMDkx
ZTA2ZDIxOC4uMTI0NGM2ZTk5ZjhhMGNlYzdlZDEyMDIwZTRhNzIyYjdmYWVlZDVjMCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVU
Q1NlY29uZHMvUzE1LjkuNS4yM19BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0ExX1QyLmpz
CkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuZ2V0dXRjc2Vjb25k
cwogZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUK
IC0tLSovCithc3NlcnQubm90U2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0
VVRDU2Vjb25kcywKKyAgZmFsc2UsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90
eXBlLmdldFVUQ1NlY29uZHMgaXMgbm90IGZhbHNlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnBy
b3RvdHlwZS5nZXRVVENTZWNvbmRzID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgcHJvcGVydHkgaGFzIG5v
dCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSgnZ2V0VVRDU2Vjb25kcycpLAorICAnVGhlIHZhbHVlIG9mICFE
YXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2dldFVUQ1NlY29uZHNcJykgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgn
Z2V0VVRDU2Vjb25kcycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVz
IERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBm
b3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4y
M19BMV9UMy5qcwppbmRleCAyZjIwNDYxYjAxMDQwNmNlMjE2YTk4YzM4N2FkNjczZjA5ZWRjNzk4
Li43MGVhZGYxNjdmOTM1MjEwYWNmODBjZWI4YzA4YmJiNWNlNDJkNDRjIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25k
cy9TMTUuOS41LjIzX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTFfVDMuanMKQEAgLTYs
MTMgKzYsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNzZWNvbmRzCiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5w
cm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dldFVUQ1NlY29uZHMnKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMg
cHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURh
dGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnZXRVVENTZWNvbmRzJyksCisgICdU
aGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZ2V0VVRD
U2Vjb25kc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBE
YXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gImdldFVUQ1NlY29uZHMiKSB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRz
IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1
ZSh4LCAiZ2V0VVRDU2Vjb25kcyIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImdldFVUQ1NlY29u
ZHMiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQu
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19BMl9U
MS5qcwppbmRleCA2NjIxOTcxYTRmYjNkZGM5MDk0MmEzMWMwZTcyZjljZGM2OTBlNmY1Li4zNDAw
OGQ0MzQ0ZmZjNGViNjRmY2I4YzE4N2JkOTZmMWIxYzQ3ZmY4IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUu
OS41LjIzX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTJfVDEuanMKQEAgLTYsMTEgKzYs
MTQgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNzZWNvbmRzCiBkZXNjcmlwdGlv
bjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAiZ2V0VVRDU2Vjb25kcyIgaXMgMAogLS0t
Ki8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMuaGFz
T3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuZ2V0VVRD
U2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAK
LWlmIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGdldFVUQ1Nl
Y29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBl
LmdldFVUQ1NlY29uZHMubGVuZ3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIGdldFVUQ1NlY29uZHMgaXMgMCcpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5n
dGgsCisgIDAsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5s
ZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIz
X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19BM19UMS5qcwppbmRleCA3MDY3OGNjMWFlZWM3ZTc5
Nzk1YmM3NGM3ODNjNTM0MmM3ZjU0N2E4Li4xOWVkNmVmZmQwMmJmNWU5MWJlNTQ5ODM4MTE2MGM4
MTk1Mjc1M2I0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0EzX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1Mx
NS45LjUuMjNfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3Rv
dHlwZS5nZXRVVENTZWNvbmRzLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5
cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBoYXMgdGhlIGF0
dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnBy
b3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19B
M19UMi5qcwppbmRleCBjZWJhOTMzZDhhYzVkZTk2NDliMmFlOTdiZWFiMjczOWRhN2VlMTI1Li4y
MjliNmJiYTk1Nzc4ZmJiNWQ1OWIyNmM4ODBlYTEwOTMxN2JiMGVmIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9T
MTUuOS41LjIzX0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTNfVDIuanMKQEAgLTgsMTEg
KzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNzZWNvbmRzCiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQuc2FtZVZh
bHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGgsCisgIHRy
dWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRz
Lmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5w
cm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmxlbmd0aCBw
cm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fz
c2VydCgKKyAgIURhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMuaGFzT3duUHJvcGVydHkoJ2xl
bmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzLmhh
c093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1p
ZiAoRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRV
VENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0VVRDU2Vjb25kcy9TMTUuOS41LjIzX0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvUzE1LjkuNS4yM19B
M19UMy5qcwppbmRleCAzMDlmMmEwZDc1NWNhM2UzZjhkZDlmYjg3YjFhN2U2NjU2YWE3NTVmLi5m
MzEzMzM3ZTE0YjNjZDU2NTNhNzk2ZTNhZjU5MmFjODUzNmVlMGIzIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDU2Vjb25kcy9T
MTUuOS41LjIzX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL1MxNS45LjUuMjNfQTNfVDMuanMKQEAgLTgsMTMg
KzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5nZXR1dGNzZWNvbmRzCiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDU2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNv
bmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNz
ZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJs
ZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmdldFVUQ1NlY29u
ZHMucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcykgewot
ICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
VGhlIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRl
IERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVuZ3RoIiwgJ1Ro
ZSB2YWx1ZSBvZiB4IGlzIG5vdCAibGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BMV9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1Mx
NS45LjUuMzZfQTFfVDEuanMKaW5kZXggZjRmNjg5ZWNlZmNlNTZmMDhhMmVlYmViNjMyMzk5Njg2
NDdmMGQ4Ny4uNGU1NzdkMzU1MzYwZTQ4MmNjZmI5MTg5YjRhNWYwMDdmZmI3ODc5YyAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERh
dGUvUzE1LjkuNS4zNl9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0ExX1QxLmpzCkBAIC04LDEwICs4
LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnNldERhdGU7Ci1pZiAoeCA9
PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJvdG90eXBlLnNldERhdGUgPSAyOwotZWxz
ZQorfSBlbHNlIHsKICAgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSA9IDE7Ci1pZiAoRGF0ZS5wcm90
b3R5cGUuc2V0RGF0ZSA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLnNldERhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7
CiB9CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldERhdGUsCisg
IHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBpcyBleHBlY3RlZCB0
byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0ExX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERhdGUvUzE1
LjkuNS4zNl9BMV9UMi5qcwppbmRleCBjMWYxNTY0NmMwODhlMzExN2YxMjQ0N2M4NGUyMzQyZmJk
ODJmZWVlLi42YTQ1ODgxMTY5YTllNzVkNzJhNDJiZmFjZmJiYzE0YjU5NzU2N2FiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0
ZS9TMTUuOS41LjM2X0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTFfVDIuanMKQEAgLTYsMTEgKzYs
MTEgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRkYXRlCiBkZXNjcmlwdGlvbjogQ2hl
Y2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RT
YW1lVmFsdWUoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldERhdGUsIGZhbHNlLCAnVGhlIHZhbHVl
IG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlIGlzIG5vdCBmYWxzZScpOwogCi1pZiAo
ZGVsZXRlIERhdGUucHJvdG90eXBlLnNldERhdGUgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0eSBoYXMg
bm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCdzZXREYXRlJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnc2V0RGF0ZVwnKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXREYXRlJykp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRE
YXRlIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45
LjUuMzZfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0ExX1QzLmpzCmluZGV4IDgwMWY0ZmFkNDk1OThiZTM3
MDlmMjQzOWY3NzZiYjA4MzY4ZGVlY2YuLjJmZDU1MDUyZTExNDIwZGNkZTc5ODBlYzdhNTY5MGM1
MTg1NmFjMWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BMV9U
My5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldGRhdGUK
IGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChE
YXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0RGF0ZScpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSBwcm9wZXJ0
eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90
b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldERhdGUnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAh
RGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzZXREYXRlXCcpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0g
IGlmICh4ID09PSAic2V0RGF0ZSIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
VGhlIERhdGUucHJvdG90eXBlLnNldERhdGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsK
LSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJzZXREYXRlIiwgJ1RoZSB2YWx1ZSBvZiB4
IGlzIG5vdCAic2V0RGF0ZSInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTJfVDEuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0Ey
X1QxLmpzCmluZGV4IDQzMTdiODQzNWM3MWQ1M2ZhNjkwNzE3YzM3NjEwN2YyYWRlMzYyYTYuLmM1
NmMwYTc4MDMzY2U5NjM3MTljNjQ4MDA2OWEzNTM3ZTA5MDdjNGUgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUu
MzZfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BMl9UMS5qcwpAQCAtNiwxMSArNiwxMCBAQAogZXNp
ZDogc2VjLWRhdGUucHJvdG90eXBlLnNldGRhdGUKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIg
cHJvcGVydHkgb2YgdGhlICJzZXREYXRlIiBpcyAxCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRy
dWUsCisgICdEYXRlLnByb3RvdHlwZS5zZXREYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBt
dXN0IHJldHVybiB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLnNldERhdGUuaGFzT3du
UHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgc2V0RGF0ZSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQotCi1pZiAoRGF0
ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0RGF0ZSBpcyAxJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoLCAxLCAnVGhl
IHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJl
IDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0EzX1QxLmpzCmlu
ZGV4IDU1ODRhY2E2YzE5YzIzZTk1YmQyMDNkYmY2ZGY1MDE2NThkYmIwYjguLmVlYzc2MDBkNWM5
MmYxOTBjZjI3MTc4ZTg5ZjdjZDkwOTlmZWQzNDYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTNfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dERhdGUvUzE1LjkuNS4zNl9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBE
YXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJv
dG90eXBlLnNldERhdGUsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS5z
ZXREYXRlLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5
Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldERhdGUubGVu
Z3RoLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTNf
VDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
RGF0ZS9TMTUuOS41LjM2X0EzX1QyLmpzCmluZGV4IDQ1YTBhNTNhNTMxZDg4NjZiNmRmZjM4Y2U4
OTJlZGU0NmNmMGRmOGUuLjM5YTU0OTFiY2YzZmQxYzQ4YTVkZGM1MjU3NmY3NGYxNWJlYTkzZjkg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXREYXRlL1MxNS45LjUuMzZfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BM19UMi5qcwpAQCAt
OCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldGRhdGUKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXREYXRlLmxlbmd0aCwKKyAgdHJ1ZSwKKyAg
J1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoYCBpcyBl
eHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRE
YXRlLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhl
IGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUu
c2V0RGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUu
cHJvdG90eXBlLnNldERhdGUuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5zZXREYXRlLmhhc093blByb3Bl
cnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLnNldERhdGUubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJp
YnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9TMTUuOS41LjM2X0EzX1Qz
LmpzCmluZGV4IDk1Zjg4YTg2ZWY4N2U1MGJlYjgzYTc1NTFmY2U3NGQyZTA0ZDNhNzkuLmJhODA2
ZDZkZjRlNjdlZjNiYWZjMjFhNzkzMzBkNGU2N2VkMTVkNmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXREYXRlL1MxNS45LjUuMzZf
QTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldERhdGUvUzE1LjkuNS4zNl9BM19UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDog
c2VjLWRhdGUucHJvdG90eXBlLnNldGRhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51
bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXREYXRlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlLnNldERhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmli
dXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5zZXREYXRlLnBy
b3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90
b3R5cGUuc2V0RGF0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5zZXREYXRl
KSB7Ci0gIGlmICh4ID09PSAibGVuZ3RoIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZS5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUg
RG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhl
IHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BMV9UMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRGdWxs
WWVhci9TMTUuOS41LjQwX0ExX1QxLmpzCmluZGV4IDRjNjJhMDYwNGE0YmY4M2M0OGFlZWFkYjRh
YmFkZGIzMDZlOTg3YjYuLmI5YjE2ZjE1OThkM2U1NGVmMzk3MDhlZDUzYTU5ZTRkYWZkYjg5MjQg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0ExX1Qx
LmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnNl
dEZ1bGxZZWFyOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlw
ZS5zZXRGdWxsWWVhciA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5zZXRG
dWxsWWVhciA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgPT09IHgpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVh
ciBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVW
YWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIsCisgIHgsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRo
ZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTFfVDIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40
MF9BMV9UMi5qcwppbmRleCAzMWQ5YmQ0ZDM3MjRmZWNkZWEzYzliMzFhNjU1NDc3ODdjMDYxYzA4
Li40M2YyMWQwMDg4MjQ2YTVkNjdkZjZlMzMyZGQyNzBmNDE0OTI1N2ZkIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIv
UzE1LjkuNS40MF9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BMV9UMi5qcwpAQCAtNiwxMSAr
NiwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldGZ1bGx5ZWFyCiBkZXNjcmlwdGlv
bjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2Vy
dC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciwKKyAg
ZmFsc2UsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFy
IGlzIG5vdCBmYWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFll
YXIgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5w
cm90b3R5cGUuc2V0RnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250
RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgn
c2V0RnVsbFllYXInKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkoXCdzZXRGdWxsWWVhclwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYg
KERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRGdWxsWWVhcicpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgcHJv
cGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBD
b252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUu
NDBfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BMV9UMy5qcwppbmRleCA2YWY2OWI1ZjYwNjk3MzQ1
ZjFlMTVjMjkyMWU4NjdmZWZiOGEzMmE4Li45NmZlYmE0NDY4NzY3MzU1ZTQ5OGVjNzAyOWJjOWQy
ZDA5NmYwZTVhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BMV9UMy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1Ljku
NS40MF9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBl
LnNldGZ1bGx5ZWFyCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAt
LS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldEZ1bGxZ
ZWFyJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlw
ZS5zZXRGdWxsWWVhciBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQor
YXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldEZ1bGxZ
ZWFyJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJh
YmxlKFwnc2V0RnVsbFllYXJcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAo
dmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJzZXRGdWxsWWVhciIpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1
bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNh
bWVWYWx1ZSh4LCAic2V0RnVsbFllYXIiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJzZXRGdWxs
WWVhciInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1h
dC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTJfVDEu
anMKaW5kZXggOWQzMzkyMDY4MDY2Y2FiZDgzMzQ2ZWMyMDFmNGRiMzdhZmE4YTE3Zi4uYTY1Njc5
YTIwZTQwNDJlYjE3Njk1NWU1NmU5Zjc3MjNhNGRlNWUzNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUu
NDBfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTJfVDEuanMKQEAgLTYsMTEgKzYsMTQgQEAK
IGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRmdWxseWVhcgogZGVzY3JpcHRpb246IFRoZSAi
bGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldEZ1bGxZZWFyIiBpcyAzCiAtLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHko
Imxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIuaGFzT3du
UHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90
b3R5cGUuc2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgc2V0RnVsbFllYXIgaGFzIGEgImxlbmd0
aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0
aCAhPT0gMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHBy
b3BlcnR5IG9mIHRoZSBzZXRGdWxsWWVhciBpcyAzJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5ndGgsCisgIDMsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDMn
CispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BM19U
MS5qcwppbmRleCA5ZjkwOGI5OTMyYWZjNWE2ODMzOTBhYTAyYjEwMzZjZDE0ZTRmNTI2Li4yZDQ4
MDg0NDMzNzg1OTgwZTFkNDE4N2I0OTU2OTNmY2I2ZDY3NjE3IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvUzE1Ljku
NS40MF9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0RnVsbFllYXIvUzE1LjkuNS40MF9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEg
QEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5ndGg7CiB2ZXJpZnlO
b3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciwgImxlbmd0aCIsIG51bGwsIDEp
OwotaWYgKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCAhPT0geCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxl
bmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5ndGgsCisgIHgsCisgICdUaGUgdmFs
dWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0EzX1QyLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45
LjUuNDBfQTNfVDIuanMKaW5kZXggNzQ5NWUyZTYxMzY5ZWJmZGI5MDgxYTJjYzkwMjg0ZTlkNjNh
YzNhYi4uMzU2N2FiMWM3MTk1MTJmODFiZDNkMjFiNDU2ZDgzZTg3OTQ0MGIyYyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZ
ZWFyL1MxNS45LjUuNDBfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL1MxNS45LjUuNDBfQTNfVDIuanMKQEAgLTgs
MTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRmdWxseWVhcgogZGVzY3Jp
cHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0aCwKKyAgdHJ1
ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxl
bmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90
b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIubGVuZ3RoIHByb3BlcnR5
IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAor
ICAhRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5oYXNPd25Qcm9wZXJ0
eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJv
dG90eXBlLnNldEZ1bGxZZWFyLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmxlbmd0
aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0K
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFll
YXIvUzE1LjkuNS40MF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0EzX1QzLmpzCmluZGV4IDFjYjI1
NmY0OGM4NDJmZWFkODRiZmZiMzc1ODBiYjk2NDI2Y2Y5YTEuLjg3YzYwZDE1NzRjZTllNmVkYmIz
NWIxZWZjYWRkYTkzZmExMWViOWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRGdWxsWWVhci9TMTUuOS41LjQwX0EzX1QzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRGdWxs
WWVhci9TMTUuOS41LjQwX0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0
ZS5wcm90b3R5cGUuc2V0ZnVsbHllYXIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBh
dHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5wcm9wZXJ0
eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBh
dHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnNldEZ1
bGxZZWFyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAh
RGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhc
JykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90
b3R5cGUuc2V0RnVsbFllYXIpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhci5sZW5n
dGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZh
bHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMv
UzE1LjkuNS4zNF9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUuOS41LjM0X0ExX1QxLmpzCmluZGV4IGY2MWQ0OTdhZmE1
YmYzZDc0MWZlOTdhMjRmMjUxNzE0ZjA5YTBjYTMuLjNkYTVlZGZiNmQ0YTQzOGM4M2UzMzFkZjY5
MTk0MTBmNDgxMzE2ZDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUuOS41LjM0X0ExX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUuOS41
LjM0X0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJv
dG90eXBlLnNldEhvdXJzOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnBy
b3RvdHlwZS5zZXRIb3VycyA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5z
ZXRIb3VycyA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgPT09IHgpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyBoYXMg
bm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgK
KyAgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUuc2V0SG91cnMgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBg
eGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldEhvdXJzL1MxNS45LjUuMzRfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1LjkuNS4zNF9BMV9UMi5qcwppbmRleCBh
MDQ3YWZjY2UzYjE5MThjNjJhMmM3ODkzMWU5OTBjNDhmNmNhYWE0Li4wYjU2ZWI1Nzc3ZTdmYjgw
ZDk1OTE2YzcwM2JkYjA0OTNlODI3OTVmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1LjkuNS4zNF9BMV9UMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91
cnMvUzE1LjkuNS4zNF9BMV9UMi5qcwpAQCAtNiwxMSArNiwxMSBAQAogZXNpZDogc2VjLWRhdGUu
cHJvdG90eXBlLnNldGhvdXJzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250
RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoZGVsZXRlIERhdGUu
cHJvdG90eXBlLnNldEhvdXJzLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90
b3R5cGUuc2V0SG91cnMgaXMgbm90IGZhbHNlJyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5
cGUuc2V0SG91cnMgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRl
cyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSgnc2V0SG91cnMnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoXCdzZXRIb3Vyc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYg
KERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRIb3VycycpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgcHJvcGVydHkg
aGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0
IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRfQTFfVDMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91
cnMvUzE1LjkuNS4zNF9BMV9UMy5qcwppbmRleCA5MjU3MzAwZDNkODYwODFhZjVkY2JkZjQyOTQ2
YWEwM2I1NDk5MGM2Li5mOWUxNjAzZDA4NTk3NzQ2YTJjYmRhMmMxNTkwZDhkM2YxMmM3NGJkIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0SG91cnMvUzE1LjkuNS4zNF9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1LjkuNS4zNF9BMV9UMy5qcwpAQCAt
NiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldGhvdXJzCiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90
b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldEhvdXJzJykpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyBwcm9wZXJ0eSBoYXMg
dGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUu
cHJvcGVydHlJc0VudW1lcmFibGUoJ3NldEhvdXJzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUu
cHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc2V0SG91cnNcJykgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYg
KHggPT09ICJzZXRIb3VycyIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhl
IERhdGUucHJvdG90eXBlLnNldEhvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0g
IH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAic2V0SG91cnMiLCAnVGhlIHZhbHVlIG9mIHgg
aXMgbm90ICJzZXRIb3VycyInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUuOS41LjM0X0EyX1QxLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRf
QTJfVDEuanMKaW5kZXggZjYxNGQzMjFiNzg2MmU3Y2MyY2E5MGI3MDYwZDJiOWZiNGRlZDczMC4u
NTQ1MmU0ODdmMGJjNDIzNGVhMDY1ZjljNzAyNmRkNDljMjNkZWY2YyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJzL1MxNS45
LjUuMzRfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRfQTJfVDEuanMKQEAgLTYsMTEgKzYsMTAgQEAK
IGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRob3VycwogZGVzY3JpcHRpb246IFRoZSAibGVu
Z3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldEhvdXJzIiBpcyA0CiAtLS0qLworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIp
LAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMuaGFzT3duUHJvcGVydHkoImxl
bmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0SG91
cnMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgc2V0SG91cnMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0K
LQotaWYgKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCAhPT0gNCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRIb3Vy
cyBpcyA0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxl
bmd0aCwgNCwgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5sZW5ndGggaXMg
ZXhwZWN0ZWQgdG8gYmUgNCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRfQTNfVDEuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1Ljku
NS4zNF9BM19UMS5qcwppbmRleCBhNDk3NjEzOTI1ZWQwZjNkZjQ1MzI0N2NmNmRhODdmZTE1ODE3
YWFkLi5iNGJmMjIwMGI5ZGE2OGM3NTdkODQ5NzdhYTkzZDg1ODRjYzA5MzM3IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMv
UzE1LjkuNS4zNF9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvUzE1LjkuNS4zNF9BM19UMS5qcwpAQCAtMTIsNiArMTIs
MTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5sZW5ndGg7CiB2ZXJpZnlO
b3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5zZXRIb3VycywgImxlbmd0aCIsIG51bGwsIDEpOwot
aWYgKERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aCBoYXMg
dGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5zZXRIb3Vycy5sZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUuc2V0SG91cnMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXRIb3Vycy9TMTUuOS41LjM0X0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRfQTNfVDIuanMKaW5kZXgg
Y2EzYWFmZjFkNjUwYmRjYzYxN2Y5MjdhYzVkMDUwOWZhYjhkZWI2Zi4uY2Y4ZTQ4YWFkZDhkMTFi
ZmEwM2RiZWQ3ZWIzZWJjMmIyYWY2NjAxMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhvdXJzL1MxNS45LjUuMzRfQTNfVDIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEhv
dXJzL1MxNS45LjUuMzRfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRl
LnByb3RvdHlwZS5zZXRob3VycwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0
cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBl
LnNldEhvdXJzLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUu
cHJvdG90eXBlLnNldEhvdXJzLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAK
LWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMubGVuZ3RoICE9PSB0cnVlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMu
bGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScp
OwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMuaGFzT3duUHJvcGVydHko
J2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5oYXNP
d25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYg
KERhdGUucHJvdG90eXBlLnNldEhvdXJzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldEhvdXJzLmxl
bmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsK
LX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91
cnMvUzE1LjkuNS4zNF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUuOS41LjM0X0EzX1QzLmpzCmluZGV4IDg0MmU2YzU0
NjMzNzk3ZGVkNjAwMWEwZjkwMzcyYjIzZDJiNmIyMmUuLjU3NDQ5NGUyNjRmN2Y1MmQxMTllZDgy
N2UwNTMwNDNkM2VkMjk2NzcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUuOS41LjM0X0EzX1QzLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRIb3Vycy9TMTUu
OS41LjM0X0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5
cGUuc2V0aG91cnMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0t
LSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgn
bGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3Rv
dHlwZS5zZXRIb3Vycy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0n
KTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnNldEhvdXJzLnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0SG91
cnMucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMpIHsKLSAgaWYg
KHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBE
YXRlLnByb3RvdHlwZS5zZXRIb3Vycy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0n
KTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9m
IHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjhfQTFfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNv
bmRzL1MxNS45LjUuMjhfQTFfVDEuanMKaW5kZXggNGM5NmE5OGIyYzM4NDA3MTU3MDdiMDMxNWYx
ODhjMzkzY2U3Yzg3NC4uNjEyNzk2NDZkNmRlMTM3NzY0NDE1NzQ3NjE3NzBiMGZkODFlYTIxMiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4y
OF9BMV9UMS5qcwpAQCAtOCwxMCArOCwxNiBAQAogLS0tKi8KIAogdmFyIHggPSBEYXRlLnByb3Rv
dHlwZS5zZXRNaWxsaXNlY29uZHM7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERh
dGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRl
LnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgPSAxOwotaWYgKERhdGUucHJvdG90eXBlLnNldE1p
bGxpc2Vjb25kcyA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERh
dGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9u
bHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0TWls
bGlzZWNvbmRzLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNldE1pbGxp
c2Vjb25kcyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlz
ZWNvbmRzL1MxNS45LjUuMjhfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjhfQTFfVDIuanMKaW5k
ZXggNGVhZGYwYTIyOTdmOTJjZDI3MDc1NzgwMDAwZTFkNjFkZDNiZWI0Zi4uMzMwMmE0ZGFmYTA4
YWU2OGQ5YTYyZjYyMTdkYTJkMjJiYmE5YTJlZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4
X0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BMV9UMi5qcwpAQCAtNiwxMSArNiwxNSBA
QAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldG1pbGxpc2Vjb25kcwogZGVzY3JpcHRpb246
IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQu
bm90U2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLAor
ICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlz
ZWNvbmRzIGlzIG5vdCBmYWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0
TWlsbGlzZWNvbmRzID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBh
dHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhh
c093blByb3BlcnR5KCdzZXRNaWxsaXNlY29uZHMnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdzZXRNaWxsaXNlY29uZHNcJykgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnc2V0
TWlsbGlzZWNvbmRzJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRl
LnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRl
cyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkg
Zm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4X0ExX1QzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUu
OS41LjI4X0ExX1QzLmpzCmluZGV4IDg0OThkZjA0MDExY2EyOGVjZDdjM2NhNGEwNGQwN2NlMmYx
MjBhYWYuLmQyNDkzZTE5ZjI3NmE3ZGQyOGQ1MmJiMTYwODY5OGVlY2ZiMDlmYzYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxs
aXNlY29uZHMvUzE1LjkuNS4yOF9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjhfQTFfVDMu
anMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRtaWxsaXNl
Y29uZHMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0K
LWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0TWlsbGlzZWNvbmRz
JykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5z
ZXRNaWxsaXNlY29uZHMgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0K
K2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRNaWxs
aXNlY29uZHMnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0Vu
dW1lcmFibGUoXCdzZXRNaWxsaXNlY29uZHNcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7
CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJzZXRNaWxs
aXNlY29uZHMiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnBy
b3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAg
fQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJzZXRNaWxsaXNlY29uZHMiLCAnVGhlIHZhbHVl
IG9mIHggaXMgbm90ICJzZXRNaWxsaXNlY29uZHMiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjhf
QTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjhfQTJfVDEuanMKaW5kZXggZGYyMDc4OTk0YjdlM2Yz
YmI4MzA0OWFhZmZhMTg5NjQ2NGNjZGIzNC4uYmIwNmJjMzk5MTFiZjBhMDRkNWEwMjdiOWE4NTdm
MTNlMzAxZGM4MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4X0EyX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29u
ZHMvUzE1LjkuNS4yOF9BMl9UMS5qcwpAQCAtNiwxMSArNiwxNCBAQAogZXNpZDogc2VjLWRhdGUu
cHJvdG90eXBlLnNldG1pbGxpc2Vjb25kcwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9w
ZXJ0eSBvZiB0aGUgInNldE1pbGxpc2Vjb25kcyIgaXMgMQogLS0tKi8KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgibGVu
Z3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMuaGFzT3du
UHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90
b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIHNldE1pbGxpc2Vjb25kcyBoYXMg
YSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlz
ZWNvbmRzLmxlbmd0aCAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhl
ICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRNaWxsaXNlY29uZHMgaXMgMScpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCwK
KyAgMSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVu
Z3RoIGlzIGV4cGVjdGVkIHRvIGJlIDEnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4
X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4X0EzX1QxLmpzCmluZGV4IGY2M2NmMmIwYWI4ZTQ0
NGI5OTczNTZlYmRkMzNhNzU0NGFkMGNhNDUuLjc1NzljMDRmNGY5NDIyNGYyZmNhYjkwOGE5NzA2
MTYwMjcwMTM2NjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BM19UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNv
bmRzL1MxNS45LjUuMjhfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0
ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERh
dGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcywgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERh
dGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVu
Z3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5sZW5ndGgsCisgIHgsCisgICdUaGUg
dmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVy
aWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL1MxNS45LjUuMjhfQTNfVDIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWls
bGlzZWNvbmRzL1MxNS45LjUuMjhfQTNfVDIuanMKaW5kZXggNDkyNDMyY2E0ZWJmOWM0NTRjMmQz
YmVhNTYwZTU5ZWZhNWMwOGNiZS4uYWVkNzBmODI5MDg1NjI0ZDE1ZGQ4MzJmZjEzYzA2Zjk4YWE2
YTk3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4X0EzX1QyLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1
LjkuNS4yOF9BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90
eXBlLnNldG1pbGxpc2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0
cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBl
LnNldE1pbGxpc2Vjb25kcy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0
ZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMu
bGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0
ZS5wcm90b3R5cGUuc2V0TWlsbGlzZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZl
IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90
eXBlLnNldE1pbGxpc2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFs
dWUgb2YgIURhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5oYXNPd25Qcm9wZXJ0eShcJ2xl
bmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBl
LnNldE1pbGxpc2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVu
Z3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwot
fQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxs
aXNlY29uZHMvUzE1LjkuNS4yOF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvUzE1LjkuNS4yOF9BM19UMy5qcwpp
bmRleCA4NmY2ODI0NzhhODc5NjVhMmU1NWFhNWQwZThiYmFkOGY5NmExNWIxLi5mNjRiYTk4NmRh
NjA5NTE5YjgzMmExMzJjOWE0ZTMzOTUyOGY1ZTQ5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL1MxNS45LjUu
MjhfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3NldE1pbGxpc2Vjb25kcy9TMTUuOS41LjI4X0EzX1QzLmpzCkBAIC04LDEzICs4LDEz
IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0bWlsbGlzZWNvbmRzCiBkZXNjcmlwdGlv
bjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5
cGUuc2V0TWlsbGlzZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vj
b25kcy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fz
c2VydCgKKyAgIURhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnNldE1pbGxp
c2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29u
ZHMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMubGVuZ3RoIGhhcyB0aGUg
YXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVu
Z3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAibGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBD
b252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4z
Ml9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTFfVDEuanMKaW5kZXggZDEwOWI5N2I5YTljYzE3YWMz
OTIwYzlmZjE2NDk2ODJmNjY4NWUxZC4uOGJlZjMxYzBjNGQ3YmQyOThiZWJhN2VmZDc0YzRhMzhj
NGQzY2U4NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWludXRlcy9TMTUuOS41LjMy
X0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90
eXBlLnNldE1pbnV0ZXM7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJv
dG90eXBlLnNldE1pbnV0ZXMgPSAyOwotZWxzZQorfSBlbHNlIHsKICAgRGF0ZS5wcm90b3R5cGUu
c2V0TWludXRlcyA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyA9PT0geCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0
ZXMgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7CiB9CisKK2Fzc2VydC5ub3RTYW1l
VmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMsCisgIHgsCisgICdUaGUgdmFsdWUg
b2YgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhl
IHZhbHVlIG9mIGB4YCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHko
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0TWludXRlcy9TMTUuOS41LjMyX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9B
MV9UMi5qcwppbmRleCA3M2Q0MGIxZDEwZWYyNzA4YzZjNTY0MjIzZDNlM2FhNTdhNzZkMDA4Li5l
NTFlN2U1MmQ0NmU3ZTZmZDVkMTcyYTRjMWM0Y2NkNTY2ZDVhYzA5IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWludXRlcy9TMTUu
OS41LjMyX0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTFfVDIuanMKQEAgLTYsMTEgKzYsMTUg
QEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRtaW51dGVzCiBkZXNjcmlwdGlvbjogQ2hl
Y2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RT
YW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLAorICBmYWxzZSwK
KyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBpcyBub3Qg
ZmFsc2UnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgPT09IGZh
bHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUu
c2V0TWludXRlcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsK
LX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRNaW51dGVz
JyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnc2V0
TWludXRlc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90
eXBlLmhhc093blByb3BlcnR5KCdzZXRNaW51dGVzJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzIHByb3BlcnR5IGhhcyBub3Qg
dGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTFfVDMuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWludXRlcy9T
MTUuOS41LjMyX0ExX1QzLmpzCmluZGV4IDZmMmYxZTY3OTRiYTMwODllM2Q0ZWE3Yjk5NDU1MTk5
YmZmMTA2NjcuLmM3YjY5MzQyMWFiZWEyMWJjOTg4ZjViNzJiMzFlMDA4Njg1N2QwYzEgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRN
aW51dGVzL1MxNS45LjUuMzJfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9BMV9UMy5qcwpAQCAt
NiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldG1pbnV0ZXMKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0TWludXRlcycpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyBwcm9wZXJ0
eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90
b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldE1pbnV0ZXMnKSwKKyAgJ1RoZSB2YWx1ZSBv
ZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzZXRNaW51dGVzXCcpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBl
KSB7Ci0gIGlmICh4ID09PSAic2V0TWludXRlcyIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgaGFzIHRoZSBhdHRyaWJ1dGUg
RG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJzZXRNaW51dGVzIiwg
J1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAic2V0TWludXRlcyInKTsKIH0KKworLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJf
QTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0TWludXRlcy9TMTUuOS41LjMyX0EyX1QxLmpzCmluZGV4IDE2YTk1NjVjMTdhZDg3ZGU1NTA3
M2E3ZTZhN2JhZTcxODk1ODE0ZWMuLjVmOTc0OWExMTEyMDY2ZTFkNTg4MTk5YjA2Mjc5MTQ4MTg0
NGRlMGYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9B
Ml9UMS5qcwpAQCAtNiwxMSArNiwxNCBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldG1p
bnV0ZXMKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJzZXRNaW51
dGVzIiBpcyAzCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0
TWludXRlcy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3Rv
dHlwZS5zZXRNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVl
JworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMuaGFzT3duUHJvcGVydHkoImxl
bmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgc2V0
TWludXRlcyBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5
cGUuc2V0TWludXRlcy5sZW5ndGggIT09IDMpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0TWludXRlcyBpcyAzJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCwKKyAg
MywKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCBpcyBl
eHBlY3RlZCB0byBiZSAzJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTNfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWludXRlcy9T
MTUuOS41LjMyX0EzX1QxLmpzCmluZGV4IGUwYTlkZTkyZDZhYzcyMjBlNGExZTEzZTlhY2Y4ODFl
MDE2MWRjYjYuLjgxZGNkOTBmZDc1YzRjNWQ1NWIwNDlmOTg4MDdjNjQzODk3YTI4OWEgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRN
aW51dGVzL1MxNS45LjUuMzJfQTNfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9BM19UMS5qcwpAQCAt
MTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0
aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMsICJsZW5ndGgi
LCBudWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCAhPT0geCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1p
bnV0ZXMubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoLAorICB4LAorICAn
VGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTNfVDIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWludXRlcy9T
MTUuOS41LjMyX0EzX1QyLmpzCmluZGV4IDZkMDhjZGYxNmJjMzVkYzRkZjAyOWJmYzE3ODdkMTI1
Njc0MTMzNDkuLjJkNjQxMzhiOGVjOTMwNDgwOGMyODczODg5NzMzNjA1YWRhN2MxZmYgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRN
aW51dGVzL1MxNS45LjUuMzJfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1LjkuNS4zMl9BM19UMi5qcwpAQCAt
OCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldG1pbnV0ZXMKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLmxlbmd0aCwKKyAgdHJ1
ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVu
Z3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3Rv
dHlwZS5zZXRNaW51dGVzLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGRv
ZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAh
RGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdU
aGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMuaGFzT3duUHJvcGVydHkoXCds
ZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlw
ZS5zZXRNaW51dGVzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoIHByb3Bl
cnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45
LjUuMzJfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0TWludXRlcy9TMTUuOS41LjMyX0EzX1QzLmpzCmluZGV4IGNiOGNmZGE3NjBkNmJj
NTFmZjAzZWYyMDY0N2RiMWMxOTRhNzdhMDQuLjZmMmQ0ZmM2ZmUyNDFlNTY3M2E2YTQ1Y2NkYTBh
OGE0NDYwNDNkMzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL1MxNS45LjUuMzJfQTNfVDMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1pbnV0ZXMvUzE1Ljku
NS4zMl9BM19UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBl
LnNldG1pbnV0ZXMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0t
LSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJhYmxl
KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJv
dG90eXBlLnNldE1pbnV0ZXMubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRF
bnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUu
c2V0TWludXRlcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVz
KSB7Ci0gIGlmICh4ID09PSAibGVuZ3RoIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1
dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAn
VGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BMV9UMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNb250
aC9TMTUuOS41LjM4X0ExX1QxLmpzCmluZGV4IDliODZmY2QzMWE1MjllYjcwM2ExNGQwY2JjODc2
M2M4NWViN2VmNTUuLjU1OGE5MmMyNGYxMmJkM2Q3MjIzZTAyODA4ZTBjZjYzY2Y2MzEwM2UgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRNb250aC9TMTUuOS41LjM4X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNb250aC9TMTUuOS41LjM4X0ExX1QxLmpzCkBAIC04
LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnNldE1vbnRoOwot
aWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5zZXRNb250aCA9
IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5zZXRNb250aCA9IDE7Ci1pZiAo
RGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNb250aCBoYXMgbm90IHRoZSBhdHRyaWJ1dGUg
UmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUu
c2V0TW9udGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgg
aXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RP
OiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1vbnRoL1MxNS45LjUu
MzhfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BMV9UMi5qcwppbmRleCA4ZTBiOWNlNWM2ZDg1OTdmM2Ri
Zjg4ZWZmNDMzZGIzNDVhNTQwNDdlLi4zYTUyMzVkYzA1NzVjOTQ4ZTM4ODcxYjI2MjBhZTVkMWFj
M2ZkZGQ1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BMV9U
Mi5qcwpAQCAtNiwxMSArNiwxMSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldG1vbnRo
CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQog
LS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1vbnRo
LCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggaXMg
bm90IGZhbHNlJyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggPT09IGZh
bHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUu
c2V0TW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19
Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnc2V0TW9udGgnKSwK
KyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdzZXRNb250
aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhh
c093blByb3BlcnR5KCdzZXRNb250aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmli
dXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BMV9U
My5qcwppbmRleCBiN2YzZTZhNTYxNWQ1NTEzNmFkODNhOGNjNzFmMTNhZTAxMmFiYWEwLi43Yjlj
NzM0MDEyMTUyOTNhNTFhZWZjZGMyMGUwOWRiY2ExZmQ3YTJkIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4z
OF9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNp
ZDogc2VjLWRhdGUucHJvdG90eXBlLnNldG1vbnRoCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9u
dEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ3NldE1vbnRoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRo
ZSBEYXRlLnByb3RvdHlwZS5zZXRNb250aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ3NldE1vbnRoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKFwnc2V0TW9udGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAK
IGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJzZXRNb250aCIp
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNl
dE1vbnRoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNh
bWVWYWx1ZSh4LCAic2V0TW9udGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJzZXRNb250aCIn
KTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRNb250aC9TMTUuOS41LjM4X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTJfVDEuanMKaW5kZXggODVi
YTkzNDJlNGFjMDUxMDQ2ODQ0MmJiYzcwNGI0YmUyNDIwMmU2NC4uZmYxOWQ4YTMyMTkzMGNkNDY0
YjQwZWRmN2JkZjZkYzkwOWFmZWU0MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTJfVDEuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1vbnRo
L1MxNS45LjUuMzhfQTJfVDEuanMKQEAgLTYsMTEgKzYsMTAgQEAKIGVzaWQ6IHNlYy1kYXRlLnBy
b3RvdHlwZS5zZXRtb250aAogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0
aGUgInNldE1vbnRoIiBpcyAyCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUuc2V0TW9udGguaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0
ZS5wcm90b3R5cGUuc2V0TW9udGguaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJu
IHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0TW9udGguaGFzT3duUHJvcGVydHko
Imxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
c2V0TW9udGggaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90
eXBlLnNldE1vbnRoLmxlbmd0aCAhPT0gMikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRNb250aCBpcyAyJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCwgMiwgJ1RoZSB2YWx1
ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRNb250aC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BM19UMS5qcwppbmRl
eCA2ZDM1MzFlY2FmNDQwNzI4ZDU0OGQwODNlZWZhYjcxYjYwZmQwNDAyLi4xZWJjZmY3ODM3NDA2
NjlkMWY2ZGU3ZTM2NzVkNWY3MDcxNTNkMDllIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BM19UMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
TW9udGgvUzE1LjkuNS4zOF9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBE
YXRlLnByb3RvdHlwZS5zZXRNb250aC5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnBy
b3RvdHlwZS5zZXRNb250aCwgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBl
LnNldE1vbnRoLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFk
T25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRNb250
aC5sZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgu
bGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNb250aC9TMTUuOS41
LjM4X0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTNfVDIuanMKaW5kZXggMmQ3NDkxYzdjYjg3OGIxNDlj
MWI1NjQxZDE2ZDI3YjQyOGNhYjI5OS4uYjAzODk5M2I4NTczMTRiMWU4ODQ5M2QzNTM0NmQwODU3
MDYyOGJlZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldE1vbnRoL1MxNS45LjUuMzhfQTNf
VDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXRtb250
aAogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCwK
KyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldE1vbnRo
Lmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5w
cm90b3R5cGUuc2V0TW9udGgubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgubGVuZ3RoIHByb3BlcnR5IGRv
ZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAh
RGF0ZS5wcm90b3R5cGUuc2V0TW9udGguaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhl
IHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRNb250aC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0
aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLnNl
dE1vbnRoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldE1vbnRoLmxlbmd0aCBwcm9wZXJ0eSBkb2Vz
IG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvUzE1LjkuNS4zOF9BM19U
My5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRN
b250aC9TMTUuOS41LjM4X0EzX1QzLmpzCmluZGV4IGRmNmJmYjIxYTFlZWFmMzRhZDc0ZDhkZjI4
MGRiN2U3MzhjNTBhOWYuLmNkZTNjZDM4YmUzNmYyMGNiNWIxMzVkYzE5NGM2MGYxYjM5ZTYxNWQg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9zZXRNb250aC9TMTUuOS41LjM4X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNb250aC9TMTUuOS41LjM4X0EzX1QzLmpzCkBA
IC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0bW9udGgKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnBy
b3RvdHlwZS5zZXRNb250aC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRNb250aC5sZW5n
dGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAg
IURhdGUucHJvdG90eXBlLnNldE1vbnRoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwK
KyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgucHJvcGVydHlJc0VudW1l
cmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFy
IHggaW4gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGgpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRN
b250aC5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQu
bm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgi
Jyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0U2Vjb25kcy9TMTUuOS41LjMwX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BMV9UMS5qcwppbmRl
eCBjOTk3YjQxODY0MjQ1ZWEzNTE2MWE5YTVjMDlmOTdjNDY2ZWZiMTBkLi5jNjYxNGY0YjRjMmYy
NTgxODRhMzI2ZTYxZGNkNzlmMjQ1NjFmZDlhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9TMTUuOS41LjMwX0ExX1Qx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRTZWNvbmRzL1MxNS45LjUuMzBfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAK
IHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kczsKLWlmICh4ID09PSAxKQoraWYgKHgg
PT09IDEpIHsKICAgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyA9IDI7Ci1lbHNlCit9IGVsc2Ug
ewogICBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS5z
ZXRTZWNvbmRzID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0
ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsK
IH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcywK
KyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzIGlzIGV4cGVj
dGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKworLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTFf
VDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
U2Vjb25kcy9TMTUuOS41LjMwX0ExX1QyLmpzCmluZGV4IGQwOWYzMzVmZDljMmE3NzIzZjMzYzM2
Y2IzZmVhNWNiMThlZTc5N2IuLjlmZWUzZGE3NzUyOWQ2MzE0YWU1M2M2ZDBlYjFkNDkyZjMyY2Zh
OWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BMV9U
Mi5qcwpAQCAtNiwxMSArNiwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHNlY29u
ZHMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRl
CiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNl
dFNlY29uZHMsCisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS5zZXRTZWNvbmRzIGlzIG5vdCBmYWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5
cGUuc2V0U2Vjb25kcyA9PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJp
YnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoJ3NldFNlY29uZHMnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkoXCdzZXRTZWNvbmRzXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3NldFNlY29uZHMnKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFNlY29u
ZHMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1
LjkuNS4zMF9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTFfVDMuanMKaW5kZXggN2E2YTg5MDk5NzVi
MWVmMDI3YjBjMmEzN2M5MjNlNzMyNTQ1NDk1ZS4uZWVmZWQ4MTRiMTI1ZDU5YmFlMzFjMGU4ODk5
NTBjNjg5NTY5MzZlNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BMV9UMy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9TMTUu
OS41LjMwX0ExX1QzLmpzCkBAIC02LDEzICs2LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5
cGUuc2V0c2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQog
LS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRTZWNv
bmRzJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlw
ZS5zZXRTZWNvbmRzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cith
c3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0U2Vjb25k
cycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJs
ZShcJ3NldFNlY29uZHNcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFy
IHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJzZXRTZWNvbmRzIikgewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25k
cyBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFs
dWUoeCwgInNldFNlY29uZHMiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJzZXRTZWNvbmRzIicp
OwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFNlY29uZHMvUzE1LjkuNS4zMF9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTJfVDEuanMKaW5kZXgg
NjFkMGFkNmNlZDcwNzAxNjhhYTNkOWNmNTJkMDY0Y2ZjY2JjMmZhNy4uYTIxN2RhMjM2MGFhN2Vl
MDczNjY2ZTVlYTdhYjkyOTQxNjU3NWVkOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BMl9UMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
U2Vjb25kcy9TMTUuOS41LjMwX0EyX1QxLmpzCkBAIC02LDExICs2LDE0IEBACiBlc2lkOiBzZWMt
ZGF0ZS5wcm90b3R5cGUuc2V0c2Vjb25kcwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9w
ZXJ0eSBvZiB0aGUgInNldFNlY29uZHMiIGlzIDIKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAor
ICBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwKKyAg
dHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLnNldFNlY29uZHMuaGFzT3duUHJvcGVydHkoImxlbmd0
aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25k
cy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IFRoZSBzZXRTZWNvbmRzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19
Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxlbmd0aCAhPT0gMikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSBzZXRT
ZWNvbmRzIGlzIDInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNl
dFNlY29uZHMubGVuZ3RoLAorICAyLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNl
dFNlY29uZHMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDInCispOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1
LjkuNS4zMF9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTNfVDEuanMKaW5kZXggOGQ1NjEyZTllODFi
M2RiNmUyMjllMDc2NzA5YjY1NWQ0N2I3ZGEzYy4uMDBhNTJjNzRmY2M4OGRmMWVkNDNmNWZjOThh
MGIyNDA4YTZiZmNlMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BM19UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9TMTUu
OS41LjMwX0EzX1QxLmpzCkBAIC0xMiw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90
eXBlLnNldFNlY29uZHMubGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUu
c2V0U2Vjb25kcywgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLnNldFNl
Y29uZHMubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9u
bHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25k
cy5sZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25k
cy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1
LjkuNS4zMF9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTNfVDIuanMKaW5kZXggNDgxNDg3NjI4OTc0
OTg0YTNhMTFmM2ZjMmUwNjE3MDJkMGYxZGRlNi4uYzMyY2QwYmEwY2ZlNjRkNjAyOGNjOGM1NjQ4
ZGFmNTBmM2U1ZjJiZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BM19UMi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9TMTUu
OS41LjMwX0EzX1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5
cGUuc2V0c2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRl
CiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFNl
Y29uZHMubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90
b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1p
ZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFNlY29uZHMubGVuZ3RoICE9PSB0cnVlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25k
cy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRl
Jyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmhhc093blByb3Bl
cnR5KCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25k
cy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsK
IAotaWYgKERhdGUucHJvdG90eXBlLnNldFNlY29uZHMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0
U2Vjb25kcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250
RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRTZWNvbmRzL1MxNS45LjUuMzBfQTNfVDMuanMK
aW5kZXggYmZhMWQ3ZDc1OTgwZjAyMjVhYjkzOGI1MDIzOTNhYjIyNTZhNDg4NC4uZDE0MmRhNGM1
Y2I5YTYyZGU0Yjg4OWYyOTY1YmM1ZWMzZDBiYzQ3MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvUzE1LjkuNS4zMF9B
M19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0U2Vjb25kcy9TMTUuOS41LjMwX0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lk
OiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0c2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIERv
bnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnNldFNlY29uZHMu
cHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcy5sZW5ndGggcHJvcGVydHkgaGFz
IHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBl
LnNldFNlY29uZHMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVl
IG9mICFEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVu
Z3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUu
cHJvdG90eXBlLnNldFNlY29uZHMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzLmxl
bmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1l
VmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0K
KworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1l
L1MxNS45LjUuMjdfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0ExX1QxLmpzCmluZGV4IGNhZWNkNzAyZGQ5
YzcyODYzZjkyMDgzZjc4YmM0NDg4ZmFkZjdhYmEuLmQ3OWU0NWVmZWEyMzBlYTIzMjM4NTI5YmM2
NjM0M2UxNTViOWU4NTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTFfVDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUvUzE1LjkuNS4y
N19BMV9UMS5qcwpAQCAtOCwxMCArOCwxNiBAQAogLS0tKi8KIAogdmFyIHggPSBEYXRlLnByb3Rv
dHlwZS5zZXRUaW1lOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3Rv
dHlwZS5zZXRUaW1lID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLnNldFRp
bWUgPSAxOwotaWYgKERhdGUucHJvdG90eXBlLnNldFRpbWUgPT09IHgpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lIGhhcyBub3QgdGhl
IGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5zZXRUaW1lLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
LnNldFRpbWUgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOwor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUv
UzE1LjkuNS4yN19BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTFfVDIuanMKaW5kZXggNDNlODk5MGU3Y2Vi
MWU1NmU4OTdlMjM3YTQ5YThlY2E3NTY4NTY1Yi4uZDRjYjY4NGRkZjUwZDEzMTk0YjZlMjE2ODcz
NTllMzM4ZWVhYzA1YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFRpbWUvUzE1LjkuNS4yN19BMV9UMi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3
X0ExX1QyLmpzCkBAIC02LDExICs2LDExIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0
dGltZQogZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1
dGUKIC0tLSovCithc3NlcnQubm90U2FtZVZhbHVlKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRU
aW1lLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBp
cyBub3QgZmFsc2UnKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lID09PSBm
YWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBl
LnNldFRpbWUgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19
Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnc2V0VGltZScpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3NldFRpbWVc
JykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eSgnc2V0VGltZScpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBU
aGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVz
IERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBm
b3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUvUzE1LjkuNS4yN19BMV9UMy5qcwpp
bmRleCA3MDk2Mzc5NDM0MWY1YzI1OTQ0NTk2Y2ZiNDExZmZmZWM4MTk2MWY4Li4wZTY4YjZmM2Ix
YTdiNDc0MmZmMWYwNDU3ZDEyNDk3ZTNkMjZlNDUwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0ExX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRUaW1lL1MxNS45LjUuMjdfQTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6IHNlYy1k
YXRlLnByb3RvdHlwZS5zZXR0aW1lCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0
cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUo
J3NldFRpbWUnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJv
dG90eXBlLnNldFRpbWUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0K
K2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRUaW1l
JyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxl
KFwnc2V0VGltZVwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBp
biBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gInNldFRpbWUiKSB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lIGhhcyB0aGUg
YXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAic2V0
VGltZSIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgInNldFRpbWUiJyk7CiB9CisKKy8vIFRPRE86
IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3
X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldFRpbWUvUzE1LjkuNS4yN19BMl9UMS5qcwppbmRleCAyY2VkYjVkZjA5ZmMyNzdkZjAyNWJh
NzRlM2UwNTc2MDQ4YTUzZmQyLi5iODVmZWI4OWE0ZDE2MGM2MDA3ZjExYzdmNmJmNWI3ZjE3ZTAx
MzM3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTJfVDEuanMK
QEAgLTYsMTEgKzYsMTAgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR0aW1lCiBkZXNj
cmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAic2V0VGltZSIgaXMgMQogLS0t
Ki8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldFRpbWUuaGFzT3duUHJv
cGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5oYXNP
d25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnBy
b3RvdHlwZS5zZXRUaW1lLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIHNldFRpbWUgaGFzIGEgImxlbmd0aCIgcHJv
cGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBlLnNldFRpbWUubGVuZ3RoICE9PSAxKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2Yg
dGhlIHNldFRpbWUgaXMgMScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShEYXRlLnByb3RvdHlwZS5z
ZXRUaW1lLmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBiZSAxJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0EzX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUv
UzE1LjkuNS4yN19BM19UMS5qcwppbmRleCBlN2ZlNmM1NmMxYWRmNTU2ZjkxZDZlNjA5YTY1NTRl
NWEwZTBiNzZmLi5kZjM3YTJlMDc0ZGU4MjdiMzU0ZjNiOTQzNDk1NDQ3NWU2YTFiOGZlIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VGltZS9TMTUuOS41LjI3X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTNfVDEuanMKQEAgLTEyLDYg
KzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGg7CiB2ZXJp
ZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5zZXRUaW1lLCAibGVuZ3RoIiwgbnVsbCwgMSk7
Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBoYXMg
dGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnBy
b3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
eCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VGltZS9TMTUuOS41LjI3X0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUvUzE1LjkuNS4yN19BM19UMi5qcwppbmRleCAyMjk0
MzFjNTI3YTU1YzRlZjcwMDBlOGEyZmVhOWI5MTkxNWU4ZTUwLi43MTRiMzEzYThlNjdkYWE4ZGI5
NDk5OGY1Zjc1NmY0ZmIwYzliNDM1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0EzX1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL1Mx
NS45LjUuMjdfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3Rv
dHlwZS5zZXR0aW1lCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUK
IC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VGlt
ZS5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS5zZXRUaW1lLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxl
dGUgRGF0ZS5wcm90b3R5cGUuc2V0VGltZS5sZW5ndGggIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBwcm9w
ZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2Vy
dCgKKyAgIURhdGUucHJvdG90eXBlLnNldFRpbWUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmhhc093blByb3BlcnR5KFwn
bGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5
cGUuc2V0VGltZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBwcm9wZXJ0eSBk
b2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VGltZS9TMTUuOS41LjI3X0Ez
X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFRpbWUvUzE1LjkuNS4yN19BM19UMy5qcwppbmRleCBiMWNiOGJkMjkyNGE4YTA1NDdmNTRkNDBk
MzhjZTVjOTQ4Nzc2MThhLi5mZWFhNTQ4NGU0MjY0ZTQ4YjliOGMyZjE3NDViMGQ5NDI0NzdiYjNj
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0VGltZS9TMTUuOS41LjI3X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL1MxNS45LjUuMjdfQTNfVDMuanMKQEAg
LTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR0aW1lCiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90
b3R5cGUuc2V0VGltZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRUaW1lLmxlbmd0aCBw
cm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0
ZS5wcm90b3R5cGUuc2V0VGltZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyksCisgICdU
aGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnNldFRpbWUucHJvcGVydHlJc0VudW1lcmFibGUo
XCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4g
RGF0ZS5wcm90b3R5cGUuc2V0VGltZSkgewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFRpbWUubGVu
Z3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVW
YWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAibGVuZ3RoIicpOwogfQor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0Rh
dGUvUzE1LjkuNS4zN19BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTFfVDEuanMKaW5kZXggODU2OWRm
ODIxYzBiODdiZDE2ZTNiZDU3MTY4NmZhZDQxZDMzNTAwZi4uMGQ4Y2I4MjFjZTNhY2VhZjJhN2E2
OGE2NGIzNTgzNTc5MzMxZmJlOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvUzE1LjkuNS4zN19BMV9UMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRGF0
ZS9TMTUuOS41LjM3X0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9
IERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGU7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7
CiAgIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgPSAyOwotZWxzZQorfSBlbHNlIHsKICAgRGF0
ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0
ZSA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90
eXBlLnNldFVUQ0RhdGUgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7CiB9CisKK2Fz
c2VydC5ub3RTYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUsCisgIHgsCisg
ICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBpcyBleHBlY3RlZCB0byBu
b3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVy
aWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRGF0ZS9TMTUuOS41LjM3X0ExX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUv
UzE1LjkuNS4zN19BMV9UMi5qcwppbmRleCBhNjBlYjFhNjlmMzQ3ZjgzYjNhNjQ5MWJhOTYwOTM4
OTQ2MTg1MmQ0Li4wNjczMmNmYmQxODg1ODY5MmYzNDVhODQyNWQ0MTY5YTNjMjFmNmIwIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDRGF0ZS9TMTUuOS41LjM3X0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTFfVDIuanMKQEAg
LTYsMTEgKzYsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1dGNkYXRlCiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8K
K2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRl
LAorICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRD
RGF0ZSBpcyBub3QgZmFsc2UnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVU
Q0RhdGUgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0
ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5
KCdzZXRVVENEYXRlJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLmhhc093blBy
b3BlcnR5KFwnc2V0VVRDRGF0ZVwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYg
KERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENEYXRlJykpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlIHByb3Bl
cnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdf
QTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDRGF0ZS9TMTUuOS41LjM3X0ExX1QzLmpzCmluZGV4IDY2NDE3YWEyYThjODY4ZDNlZTBl
ZTEyNjc1YjZmZTg1OGY2OGVhZGMuLjVjZWJhNGZjOTYzOWJkOTIyZjRkZjA0NzA4OWM0YjEyYmE4
MzhlZjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvUzE1LjkuNS4zN19B
MV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHV0
Y2RhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0K
LWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0VVRDRGF0ZScpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRD
RGF0ZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAor
ICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ0RhdGUnKSwKKyAg
J1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzZXRV
VENEYXRlXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERh
dGUucHJvdG90eXBlKSB7Ci0gIGlmICh4ID09PSAic2V0VVRDRGF0ZSIpIHsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgaGFzIHRo
ZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJz
ZXRVVENEYXRlIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAic2V0VVRDRGF0ZSInKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRl
L1MxNS45LjUuMzdfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0VVRDRGF0ZS9TMTUuOS41LjM3X0EyX1QxLmpzCmluZGV4IDQzOGU3OWY4
YzI2ZTQyNjM1YTNkMzgwMGJmZmJhYzRhNGExMDhlYmYuLjg0YzMxZGQ3Zjk2MmI2MGNjOTg2MmI1
OTQ2Y2U0NWM0YmM5OTRkYjggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTJfVDEuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUv
UzE1LjkuNS4zN19BMl9UMS5qcwpAQCAtNiwxMSArNiwxNCBAQAogZXNpZDogc2VjLWRhdGUucHJv
dG90eXBlLnNldHV0Y2RhdGUKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2Yg
dGhlICJzZXRVVENEYXRlIiBpcyAxCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUuc2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisg
ICdEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0
IHJldHVybiB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUuaGFzT3du
UHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgc2V0VVRDRGF0ZSBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQotCi1pZiAo
RGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgc2V0VVRDRGF0ZSBp
cyAxJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRl
Lmxlbmd0aCwKKyAgMSwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRl
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAxJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdf
QTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDRGF0ZS9TMTUuOS41LjM3X0EzX1QxLmpzCmluZGV4IDQ4NDBkNTQ5YzQzMzE4ZTQ1MDIz
OWI4YzY4MGFkYTc0NWFhZTU3N2IuLmU4YjU4YTYyYjk3YTcyOWZmMzBmOWRmYjlmZTUxZjJmNDBl
MjViODUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTNfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvUzE1LjkuNS4zN19B
M19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRV
VENEYXRlLmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLnNldFVUQ0Rh
dGUsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxl
bmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJv
dG90eXBlLnNldFVUQ0RhdGUubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5Jyk7Ci19
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUubGVuZ3Ro
LAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdf
QTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDRGF0ZS9TMTUuOS41LjM3X0EzX1QyLmpzCmluZGV4IDhhNGNlMmM1Zjk1MThmZGFhMDZk
NDk4NDE2ZmRmNDkxNWQ2YTViYjMuLmVhMDIwNTRjNDAyNzM0NjBkYTdlZGM1OGIyN2UyYjM1ODg5
YjZjMTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvUzE1LjkuNS4zN19B
M19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHV0
Y2RhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxl
bmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNl
dFVUQ0RhdGUubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKGRlbGV0
ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUubGVuZ3Ro
IHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQor
YXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUuaGFzT3du
UHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChE
YXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUu
bGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScp
OwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRV
VENEYXRlL1MxNS45LjUuMzdfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRGF0ZS9TMTUuOS41LjM3X0EzX1QzLmpzCmluZGV4IDU2
MTJlOWIwNWRkZDI1OTM5MzdkYTY5MTY5NzA3MGY0MzM0ZDIzZjEuLjgxMDhjODZjY2JjYjVhYzUx
ZTVkYTY3M2QzMTgwMTFkZGY4MzdkOTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL1MxNS45LjUuMzdfQTNfVDMuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVU
Q0RhdGUvUzE1LjkuNS4zN19BM19UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRh
dGUucHJvdG90eXBlLnNldHV0Y2RhdGUKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBh
dHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
VGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0
cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5zZXRVVENE
YXRlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0
ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlw
ZS5zZXRVVENEYXRlKSB7Ci0gIGlmICh4ID09PSAibGVuZ3RoIikgewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZS5sZW5ndGggaGFz
IHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgs
ICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRP
RE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIv
UzE1LjkuNS40MV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0ExX1QxLmpzCmluZGV4IDkwZDM3
Yjc5MjhiNmI1NTc2NmZmNjMxYjk0MzcwZWYzZWUxY2IxNTguLjU0NDUzMjJmMDNhYjg0ZmVkNjVi
NDA4NTVjNDZjODg2NjczNGUxZmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0ExX1QxLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRV
VENGdWxsWWVhci9TMTUuOS41LjQxX0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwog
CiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyOwotaWYgKHggPT09IDEpCitp
ZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciA9IDI7Ci1lbHNl
Cit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciA9IDE7Ci1pZiAoRGF0
ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciBoYXMgbm90IHRoZSBh
dHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5w
cm90b3R5cGUuc2V0VVRDRnVsbFllYXIsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90
b3R5cGUuc2V0VVRDRnVsbFllYXIgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBv
ZiBgeGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9B
MV9UMi5qcwppbmRleCA4ZTY3ZDA2NDRkZWExNGQ3ZjJhYTE3ZjcyMTMyZmU3ZTFlYWU0MWU2Li44
MGVmNzdlMDNmNWI0ZWM2NDc1MzIwYmIwNDQwOGQ0OGVhOWM4N2NjIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIv
UzE1LjkuNS40MV9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9BMV9UMi5qcwpAQCAtNiwx
MSArNiwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHV0Y2Z1bGx5ZWFyCiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8K
K2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxs
WWVhciwKKyAgZmFsc2UsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLnNl
dFVUQ0Z1bGxZZWFyIGlzIG5vdCBmYWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5
cGUuc2V0VVRDRnVsbFllYXIgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0
aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSgnc2V0VVRDRnVsbFllYXInKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0
ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCdzZXRVVENGdWxsWWVhclwnKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdz
ZXRVVENGdWxsWWVhcicpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRl
cyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkg
Zm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTFfVDMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1Ljku
NS40MV9BMV9UMy5qcwppbmRleCBhMTg1ODNiZTA3Yjg3NDE1OGFiNzA3NjE4NjE3YmY2NTI1NWM3
ZjkwLi42ZTQ2OWU2YThhYjdjYzZhMDNhMjE5MDUxNGY3OTM1NGNkOTkxMzA5IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVs
bFllYXIvUzE1LjkuNS40MV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9BMV9UMy5qcwpA
QCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHV0Y2Z1bGx5ZWFy
CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAo
RGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ0Z1bGxZZWFyJykpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENG
dWxsWWVhciBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0
KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVUQ0Z1bGxZZWFy
JyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxl
KFwnc2V0VVRDRnVsbFllYXJcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAo
dmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJzZXRVVENGdWxsWWVhciIp
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNl
dFVUQ0Z1bGxZZWFyIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZSh4LCAic2V0VVRDRnVsbFllYXIiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90
ICJzZXRVVENGdWxsWWVhciInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0EyX1QxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFy
L1MxNS45LjUuNDFfQTJfVDEuanMKaW5kZXggNGE3ZmE1OTk1YmE0MjUxZGE0YjI1YzJhODhmNWY0
ODA4ODBiOGEzNi4uYzU0ZDhjZDI4OGQ4NzM2ZTUyMGE4MWE4Y2RiYTAxZWUxZTlkZDgyMCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTJf
VDEuanMKQEAgLTYsMTEgKzYsMTQgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1dGNm
dWxseWVhcgogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVU
Q0Z1bGxZZWFyIiBpcyAzCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuc2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAn
RGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11
c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIu
aGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBUaGUgc2V0VVRDRnVsbFllYXIgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsK
LX0KLQotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCAhPT0gMykgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRo
ZSBzZXRVVENGdWxsWWVhciBpcyAzJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnBy
b3RvdHlwZS5zZXRVVENGdWxsWWVhci5sZW5ndGgsCisgIDMsCisgICdUaGUgdmFsdWUgb2YgRGF0
ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDMnCisp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9B
M19UMS5qcwppbmRleCBhOTcyY2FiYTc0MmI1M2EzMzVmYjNhNTY4ZTVlZGIxZTUwNjBjYjEzLi5j
ZjZmYmU3YzQzNmE4NDMyM2IzYWI1MWMxNDE2YmI4YzgzOWY3ODJlIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIv
UzE1LjkuNS40MV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9BM19UMS5qcwpAQCAtMTIs
NiArMTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhci5sZW5n
dGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciwgImxl
bmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0
aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90
eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwot
fQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhci5s
ZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFll
YXIubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVh
ci9TMTUuOS41LjQxX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTNfVDIuanMKaW5kZXggZDU2
YjFiNzRlMDY2M2QwMTljN2Y4NTZmMjgzMmE2ZGJhMjI3MmRmMS4uNjE1MDQ4ZmQxMzg5NmJhMjhm
ZmYzNzIzMWFjNjlhMDcyNTVjNjQxMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTNfVDIu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ0Z1bGxZZWFyL1MxNS45LjUuNDFfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6
IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1dGNmdWxseWVhcgogZGVzY3JpcHRpb246IENoZWNraW5n
IERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRl
IERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2
YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmxlbmd0aGAgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0
VVRDRnVsbFllYXIubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIubGVuZ3RoIHByb3BlcnR5IGRv
ZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAh
RGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAor
ICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhci5oYXNPd25Qcm9w
ZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUu
cHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZ
ZWFyLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxl
dGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDRnVsbFllYXIvUzE1LjkuNS40MV9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0EzX1Qz
LmpzCmluZGV4IGVlMDY5NDllOWY2YjY2NmYyYzk2ZTQyYzY0MGYwZDQ4YzdhNmI3MjUuLmExMTFm
OTFiODAzMDdhZDg1MjE1YWNmOGY5MGRiYTM3OTA2ZDA1YTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUu
OS41LjQxX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9TMTUuOS41LjQxX0EzX1QzLmpzCkBAIC04LDEzICs4
LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0dXRjZnVsbHllYXIKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3Rv
dHlwZS5zZXRVVENGdWxsWWVhci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxs
WWVhci5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fz
c2VydCgKKyAgIURhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyLnByb3BlcnR5SXNFbnVtZXJh
YmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVs
bFllYXIucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUg
dHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIp
IHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhci5sZW5ndGggaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgi
LCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4zNV9B
MV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRVVENIb3Vycy9TMTUuOS41LjM1X0ExX1QxLmpzCmluZGV4IDIzYzJhNGQ3OGE1NmFlZDRkMzIz
NTcxMmNjNWVhMmU4YjJiOGI2MDQuLmU3Zjg3ODgyYTM2OTUzMmZiMWZiMGI4NGM0MDMyZTU0MmNl
MjIyZDYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1
X0ExX1QxLmpzCkBAIC04LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90
eXBlLnNldFVUQ0hvdXJzOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnBy
b3RvdHlwZS5zZXRVVENIb3VycyA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlw
ZS5zZXRVVENIb3VycyA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgPT09IHgp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRV
VENIb3VycyBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5v
dFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMsCisgIHgsCisgICdUaGUg
dmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgaXMgZXhwZWN0ZWQgdG8gbm90IGVx
dWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVBy
b3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUuMzVfQTFfVDIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1
LjkuNS4zNV9BMV9UMi5qcwppbmRleCA3ODgzZGVmZTM5NTVlMjMzYTQ0NDdkNjkwM2E3OTkyOGQ2
NjAxYjE3Li5mZTgyNDY1ZjJlMTc5YTM1MzY2MmNhMjlkOGQ4MjU1ZjVmZmJhYjBhIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
SG91cnMvUzE1LjkuNS4zNV9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4zNV9BMV9UMi5qcwpAQCAt
NiwxMSArNiwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHV0Y2hvdXJzCiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8K
K2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vy
cywKKyAgZmFsc2UsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVU
Q0hvdXJzIGlzIG5vdCBmYWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0
VVRDSG91cnMgPT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRl
cyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSgnc2V0VVRDSG91cnMnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkoXCdzZXRVVENIb3Vyc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsK
IAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENIb3VycycpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91
cnMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1Mx
NS45LjUuMzVfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4zNV9BMV9UMy5qcwppbmRleCBkOTBmMWFmMTgy
MThmNTdmMGQ4OTJjZDZmNjAzNDNiZTQyMzM0Y2FkLi5hOTljNWI3MDA2MWQxNmVlNjUxOTFlY2E3
ZmI0MzJlMzUyZDViODYxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4zNV9BMV9UMy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMv
UzE1LjkuNS4zNV9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJv
dG90eXBlLnNldHV0Y2hvdXJzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmli
dXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3Nl
dFVUQ0hvdXJzJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS5zZXRVVENIb3VycyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScp
OwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3Nl
dFVUQ0hvdXJzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNF
bnVtZXJhYmxlKFwnc2V0VVRDSG91cnNcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAK
IGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJzZXRVVENIb3Vy
cyIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBl
LnNldFVUQ0hvdXJzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZSh4LCAic2V0VVRDSG91cnMiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJz
ZXRVVENIb3VycyInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgp
IGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUuMzVf
QTJfVDEuanMKaW5kZXggZTVjNzBhYTI0N2IzMzc4NmEwYTEzMWUwYjcxN2YwZTQ1YTYwZTY1MC4u
Yzg4NjhmMWQyOTA5NzhjYjc3NjIxMjUxMmQ0YzM5ZWU4YzcyNDk1YiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1Mx
NS45LjUuMzVfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUuMzVfQTJfVDEuanMKQEAgLTYsMTEgKzYs
MTQgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1dGNob3VycwogZGVzY3JpcHRpb246
IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInNldFVUQ0hvdXJzIiBpcyA0CiAtLS0qLwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMuaGFzT3duUHJv
cGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMu
aGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0
ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVl
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgc2V0VVRDSG91cnMgaGFzIGEg
Imxlbmd0aCIgcHJvcGVydHknKTsKLX0KLQotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJz
Lmxlbmd0aCAhPT0gNCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5n
dGgiIHByb3BlcnR5IG9mIHRoZSBzZXRVVENIb3VycyBpcyA0Jyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5sZW5ndGgsCisgIDQsCisgICdUaGUg
dmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGJlIDQnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUuMzVfQTNfVDEuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4z
NV9BM19UMS5qcwppbmRleCA0NjgwYzc5NDZkMWUxNzBhMWUzMjk3OWRhYmFhNWYzZTNmMTUyMDhh
Li5iOWZmN2Y2ZjU1MTljZTdlYTM0ZDgwNmI2YWI5NDQzZmU3Mjk1NDI0IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMv
UzE1LjkuNS4zNV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvUzE1LjkuNS4zNV9BM19UMS5qcwpAQCAtMTIsNiAr
MTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5sZW5ndGg7CiB2
ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycywgImxlbmd0aCIsIG51
bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCAhPT0geCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hv
dXJzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5sZW5ndGgsCisgIHgsCisgICdU
aGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0EzX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJz
L1MxNS45LjUuMzVfQTNfVDIuanMKaW5kZXggOTQ5MjI5ZDAxNWUxMDJlMTc2ODY2NzI1MDA4ZDM4
MDA2ODJkMjk1Yy4uNWY0MmY1NTRhZjA2ZGNiNGQ0NWIzZjhlM2Y4OTI3Y2ZkZmI4NTEwZSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ0hvdXJzL1MxNS45LjUuMzVfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL1MxNS45LjUuMzVfQTNfVDIuanMK
QEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1dGNob3Vycwog
ZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmxlbmd0aCwK
KyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ0hv
dXJzLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUgRGF0
ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMubGVuZ3RoIHBy
b3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNz
ZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMuaGFzT3duUHJvcGVydHkoJ2xlbmd0
aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5oYXNPd25Q
cm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERh
dGUucHJvdG90eXBlLnNldFVUQ0hvdXJzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJz
Lmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUn
KTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDSG91cnMvUzE1LjkuNS4zNV9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0EzX1QzLmpzCmluZGV4
IGRmMjJlZWY5Y2IwZjA2ZWUxZDdjMGZlNDFmZDM3ZTI4ZmQ1YjEyNzIuLjk0YWI0YzJmYTdhMWU0
ZTMyZWEwZGM5OWU0NzUyYjBkNjY5NDdiNzMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENIb3Vycy9TMTUuOS41LjM1X0EzX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9z
ZXRVVENIb3Vycy9TMTUuOS41LjM1X0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBz
ZWMtZGF0ZS5wcm90b3R5cGUuc2V0dXRjaG91cnMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250
RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5w
cm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vycy5sZW5ndGggcHJvcGVydHkgaGFz
IHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBl
LnNldFVUQ0hvdXJzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMucHJvcGVydHlJc0VudW1lcmFibGUoXCds
ZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0
ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3Vy
cy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90
U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7
CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlf
QTFfVDEuanMKaW5kZXggZmY1MDhkM2QwZWIxYzdlZjE0ZDZlYmIxMWE1NWE1YWQ3MzdiODU4YS4u
NWRiNzU2MzI2YmRhMzU5ZWY1MWJhMGJkMGI1NGI3YTQ2ZTk0ZDdjNiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbGxpc2Vj
b25kcy9TMTUuOS41LjI5X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yOV9BMV9UMS5q
cwpAQCAtMTAsMTAgKzEwLDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnNl
dFVUQ01pbGxpc2Vjb25kczsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5w
cm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUu
cHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyA9IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0
VVRDTWlsbGlzZWNvbmRzID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzIGhhcyBub3QgdGhlIGF0dHJpYnV0
ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZS5zZXRVVENNaWxsaXNlY29uZHMsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5
cGUuc2V0VVRDTWlsbGlzZWNvbmRzIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUg
b2YgYHhgJworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1h
dC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yOV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1
LjkuNS4yOV9BMV9UMi5qcwppbmRleCA1N2MyMDNmMGMwNTVlM2E0MGNkOTM5ODQ2MWExMmZlN2Ix
NDg0YjQ0Li5iNTk3YmE5YmU0MDk5OTI5ODAzMDg5N2NlOTM1MmRjMjA2ZTEzYjFlIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
TWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI5
X0ExX1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0
dXRjbWlsbGlzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVs
ZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRl
LnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMsCisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9m
IGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgaXMgbm90IGZhbHNlJwor
KTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgPT09IGZh
bHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUu
c2V0VVRDTWlsbGlzZWNvbmRzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERl
bGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3Nl
dFVUQ01pbGxpc2Vjb25kcycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eShcJ3NldFVUQ01pbGxpc2Vjb25kc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVl
JworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNaWxsaXNl
Y29uZHMnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90
eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTFfVDMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1Mx
NS45LjUuMjlfQTFfVDMuanMKaW5kZXggNmFhMWFjZmY1OGY0YmQ3OWU0N2E0MWJjODFkNTFlNzlm
NzIxOGVlZi4uZjIwNzc1MDQxY2EwMzEyNGU1MTQ0MWQ0Y2RmY2ZmZGI4OGZiYmE5ZSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVU
Q01pbGxpc2Vjb25kcy9TMTUuOS41LjI5X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4y
OV9BMV9UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNl
dHV0Y21pbGxpc2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0
ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzZXRV
VENNaWxsaXNlY29uZHMnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERh
dGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0
ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ3NldFVUQ01pbGxpc2Vjb25kcycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3NldFVUQ01pbGxpc2Vjb25kc1wnKSBpcyBl
eHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkg
ewotICBpZiAoeCA9PT0gInNldFVUQ01pbGxpc2Vjb25kcyIpIHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyBoYXMg
dGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwg
InNldFVUQ01pbGxpc2Vjb25kcyIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgInNldFVUQ01pbGxp
c2Vjb25kcyInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yOV9BMl9UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMv
UzE1LjkuNS4yOV9BMl9UMS5qcwppbmRleCBkZjFkMTdlNGJlMTZjMTdhZWVlNWMzNDYyN2EyOTMw
MjZiOTVhM2ZlLi44N2JiNTcwNDdmY2UzMWEwZjYwZDUzNWRkZDc5N2VhZWQzYTMwM2Q4IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41
LjI5X0EyX1QxLmpzCkBAIC02LDExICs2LDE0IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUu
c2V0dXRjbWlsbGlzZWNvbmRzCiBkZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9m
IHRoZSAic2V0VVRDTWlsbGlzZWNvbmRzIiBpcyAxCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5KCJsZW5n
dGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5oYXNP
d25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnBy
b3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0
cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgc2V0VVRDTWlsbGlzZWNv
bmRzIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5z
ZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNldFVUQ01pbGxpc2Vjb25kcyBp
cyAxJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxs
aXNlY29uZHMubGVuZ3RoLAorICAxLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNl
dFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMScKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
TWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTNf
VDEuanMKaW5kZXggM2IxYTc0YjIwMTdiMDBlMWVjMmMwZWM5ZmNhOTAwYmE3ZWI4ODBiMS4uNzU5
ZTA3MzcyYzZkOTAxMWJlYTRkZDRhZDBlMjZmM2M1OGNmMDVkMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbGxpc2Vjb25k
cy9TMTUuOS41LjI5X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yOV9BM19UMS5qcwpA
QCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNl
Y29uZHMubGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWls
bGlzZWNvbmRzLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRD
TWlsbGlzZWNvbmRzLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggaGFzIHRoZSBh
dHRyaWJ1dGUgUmVhZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yOV9BM19UMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaWxs
aXNlY29uZHMvUzE1LjkuNS4yOV9BM19UMi5qcwppbmRleCA0NTcyZmExOTVlMzJkZGZiODVhYjk1
YzgxMGU5Y2U2MzhiNDNkNzM3Li5jMzU3OTAzZWRhYWY3YWFjYmQ0MDZhZTkxZWY3ZTc3NjE5MTQ0
MjdlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL1MxNS45LjUuMjlfQTNfVDIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbGxpc2Vjb25k
cy9TMTUuOS41LjI5X0EzX1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5w
cm90b3R5cGUuc2V0dXRjbWlsbGlzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERl
bGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5w
cm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1
ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGhgIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNl
dFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMubGVuZ3RoIHBy
b3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNz
ZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3BlcnR5
KCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlz
ZWNvbmRzLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
CispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLmhhc093blByb3Bl
cnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2
ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZl
cmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI5X0Ez
X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ01pbGxpc2Vjb25kcy9TMTUuOS41LjI5X0EzX1QzLmpzCmluZGV4IDY4Zjk1NjE1ODlhOTAz
NzMxMDk5NDkxODI0OWMzOWRkNzdhZjRkM2YuLjRjNjJkMjBiN2M2NTc2ZDUxY2U2N2VjNmQxMWY5
NTEwMWYxNzZmODUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRVVENNaWxsaXNlY29uZHMvUzE1LjkuNS4yOV9BM19UMy5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWls
bGlzZWNvbmRzL1MxNS45LjUuMjlfQTNfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNl
Yy1kYXRlLnByb3RvdHlwZS5zZXR1dGNtaWxsaXNlY29uZHMKIGRlc2NyaXB0aW9uOiBDaGVja2lu
ZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENN
aWxsaXNlY29uZHMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRz
Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0
KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJh
YmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWls
bGlzZWNvbmRzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxp
c2Vjb25kcykgewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcy5sZW5ndGgg
aGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVl
KHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRl
cy9TMTUuOS41LjMzX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BMV9UMS5qcwppbmRleCAwOGUx
MjM4YmI5YzhkZmRmNTcwMmE3MWY5MjJkMDdiZDI2NTNiMmY2Li4xNmI0OTBmMzJmMzQ5MWI3MWNh
NzM1ZmY4N2UwNzYzMzIxNmYwODk5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRlcy9TMTUuOS41LjMzX0ExX1QxLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRV
VENNaW51dGVzL1MxNS45LjUuMzNfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAK
IHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlczsKLWlmICh4ID09PSAxKQoraWYg
KHggPT09IDEpIHsKICAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyA9IDI7Ci1lbHNlCit9
IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzID0gMTsKLWlmIChEYXRlLnBy
b3RvdHlwZS5zZXRVVENNaW51dGVzID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBoYXMgbm90IHRoZSBhdHRyaWJ1
dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuc2V0VVRDTWludXRlcywKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5z
ZXRVVENNaW51dGVzIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJwor
KTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRV
VENNaW51dGVzL1MxNS45LjUuMzNfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRlcy9TMTUuOS41LjMzX0ExX1QyLmpzCmlu
ZGV4IGQ2MTc1NGM2MDc3ZTViMWFhMGVlMGIzZGNkNmJlMWMzMGI3MzFhMjIuLmU3MDNkMGU1YjZj
OWU5ZTIxZTNiYjE4NzY4OGM3MmI4ZTliNjNmMWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45LjUuMzNf
QTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BMV9UMi5qcwpAQCAtNiwxMSArNiwxNSBAQAog
ZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnNldHV0Y21pbnV0ZXMKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNh
bWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMsCisgIGZhbHNl
LAorICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzIGlz
IG5vdCBmYWxzZScKKyk7CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRl
cyA9PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS5zZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9u
dERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
J3NldFVUQ01pbnV0ZXMnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkoXCdzZXRVVENNaW51dGVzXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwog
Ci1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3NldFVUQ01pbnV0ZXMnKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01p
bnV0ZXMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cisv
LyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0
ZXMvUzE1LjkuNS4zM19BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45LjUuMzNfQTFfVDMuanMKaW5kZXggNzNk
Y2ZiMGJhZDJkZWY1MGQ4Y2UzYjAwMmUxYzNkMTU5MWM4MWFiNS4uMWNiOGIzYzBiYWE3NWEyMTU0
OGMwMGE5ZWFmNGVjMzdmMzA5M2I0OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BMV9UMy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDTWludXRlcy9TMTUuOS41LjMzX0ExX1QzLmpzCkBAIC02LDEzICs2LDEzIEBACiBlc2lkOiBz
ZWMtZGF0ZS5wcm90b3R5cGUuc2V0dXRjbWludXRlcwogZGVzY3JpcHRpb246IENoZWNraW5nIERv
bnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNF
bnVtZXJhYmxlKCdzZXRVVENNaW51dGVzJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzIHByb3BlcnR5IGhhcyB0aGUgYXR0
cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0
eUlzRW51bWVyYWJsZSgnc2V0VVRDTWludXRlcycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3NldFVUQ01pbnV0ZXNcJykgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAg
aWYgKHggPT09ICJzZXRVVENNaW51dGVzIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyBoYXMgdGhlIGF0dHJpYnV0ZSBE
b250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgInNldFVUQ01pbnV0ZXMi
LCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJzZXRVVENNaW51dGVzIicpOwogfQorCisvLyBUT0RP
OiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1
LjkuNS4zM19BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45LjUuMzNfQTJfVDEuanMKaW5kZXggNzU0MjE4YWU1
M2UyMDJkM2QyYTMxMTg5YTZiMTE5ZDZiMGM5ODU1Yi4uM2NhNWExMjVkZjcyNTA0MzRiMjVjNDFj
ZTQ1N2Q5ZDYwN2M0NzViYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BMl9UMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlu
dXRlcy9TMTUuOS41LjMzX0EyX1QxLmpzCkBAIC02LDExICs2LDE0IEBACiBlc2lkOiBzZWMtZGF0
ZS5wcm90b3R5cGUuc2V0dXRjbWludXRlcwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9w
ZXJ0eSBvZiB0aGUgInNldFVUQ01pbnV0ZXMiIGlzIDMKIC0tLSovCithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMuaGFzT3duUHJvcGVy
dHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUu
c2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBzZXRVVENNaW51dGVzIGhhcyBhICJsZW5ndGgi
IHByb3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmxlbmd0
aCAhPT0gMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHBy
b3BlcnR5IG9mIHRoZSBzZXRVVENNaW51dGVzIGlzIDMnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMubGVuZ3RoLAorICAzLAorICAnVGhlIHZh
bHVlIG9mIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGJlIDMnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BM19UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45
LjUuMzNfQTNfVDEuanMKaW5kZXggYzIwNWFhYTMyZDE1MDQ1ZTAyNzIzNThkYTEzNzVkNTdmMTAz
NzE1Ni4uNmI5OGNhMThhZWMzNzRjODExODA3NGU4NWFlN2M0NTQ4MDM2YjY3MCAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01p
bnV0ZXMvUzE1LjkuNS4zM19BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRlcy9TMTUuOS41LjMzX0EzX1QxLmpzCkBA
IC0xMiw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMu
bGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcywg
Imxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMubGVu
Z3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90
b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsK
LX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5s
ZW5ndGgsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRl
cy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMv
UzE1LjkuNS4zM19BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45LjUuMzNfQTNfVDIuanMKaW5kZXggNzdjNzU3
MWU1NDIwMDQyNjU3NmIwNDAxNDgyNDRiNmZlMWY3NDI0Yi4uYmRlZTkwMzYwZWQwZWM0YjI1OWQ1
YzQwYjk1ZjZmY2U5MTY2MWRiMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BM19UMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
TWludXRlcy9TMTUuOS41LjMzX0EzX1QyLmpzCkBAIC04LDExICs4LDE1IEBACiBlc2lkOiBzZWMt
ZGF0ZS5wcm90b3R5cGUuc2V0dXRjbWludXRlcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRE
ZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUu
cHJvdG90eXBlLnNldFVUQ01pbnV0ZXMubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9m
IGBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGhgIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0
ZXMubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2
ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3Rv
dHlwZS5zZXRVVENNaW51dGVzLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0
aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLnNl
dFVUQ01pbnV0ZXMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggcHJv
cGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMv
UzE1LjkuNS4zM19BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENNaW51dGVzL1MxNS45LjUuMzNfQTNfVDMuanMKaW5kZXggYzNjNTAx
ZmE3ZDZmMDg4NjJhMzgxNzZhNzg3YjQ1NTFhNjQyZDQ4Yy4uMDAzOGQ4MDExOTM5NzliMjJlNWUy
ZWY1NTYxNmY4YzA3ZGQ0ZmVmMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvUzE1LjkuNS4zM19BM19UMy5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
TWludXRlcy9TMTUuOS41LjMzX0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMt
ZGF0ZS5wcm90b3R5cGUuc2V0dXRjbWludXRlcwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRF
bnVtIGF0dHJpYnV0ZQogLS0tKi8KLQotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMu
cHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5sZW5ndGggcHJvcGVydHkg
aGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90
eXBlLnNldFVUQ01pbnV0ZXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhl
IHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLnByb3BlcnR5SXNFbnVtZXJh
YmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4
IGluIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgi
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS5z
ZXRVVENNaW51dGVzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotICB9Cisg
IGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3Qg
Imxlbmd0aCInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL1MxNS45LjUuMzlfQTFf
VDEuanMKaW5kZXggY2FiNDBhNTRiMTJkMWYyMzdhNDEyN2M0MTc2MmQ4NGNjODA0YmNlMS4uNzE0
YTc0NWJmYTc2MDQwNzg0MDg1YTgzNTEwZDJhN2NiZTg0YjcwNiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL1MxNS45
LjUuMzlfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldFVUQ01vbnRoL1MxNS45LjUuMzlfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYg
QEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGg7Ci1pZiAoeCA9
PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoID0gMjsK
LWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoID0gMTsKLWlmIChE
YXRlLnByb3RvdHlwZS5zZXRVVENNb250aCA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIGhhcyBub3QgdGhlIGF0dHJp
YnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3Rv
dHlwZS5zZXRVVENNb250aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5z
ZXRVVENNb250aCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRD
TW9udGgvUzE1LjkuNS4zOV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0ExX1QyLmpzCmluZGV4IDJh
YTI4ZTAwZThmYzZlMDBhMDJhODEwOGEwNGU4OGRiMTIzZTEwNmUuLjlmOTM1ZGY3NjEyNGM2N2Zm
ZTlkMmExZTgwNjk0NjU1MDY1MmQyZTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0ExX1QyLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRV
VENNb250aC9TMTUuOS41LjM5X0ExX1QyLmpzCkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMt
ZGF0ZS5wcm90b3R5cGUuc2V0dXRjbW9udGgKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNl
IG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAg
ZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLAorICBmYWxzZSwKKyAgJ1RoZSB2YWx1
ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggaXMgbm90IGZhbHNlJworKTsK
IAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCA9PT0gZmFsc2UpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250
aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2Vy
dCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdzZXRVVENNb250aCcpLAorICAn
VGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3NldFVUQ01vbnRo
XCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkoJ3NldFVUQ01vbnRoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCBwcm9wZXJ0eSBoYXMgbm90IHRoZSBh
dHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BMV9UMy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUu
OS41LjM5X0ExX1QzLmpzCmluZGV4IDhjODk2MDM5MzgzYjdkZjZjYjI1YTM5OTAxYmY3YjdhMjg1
OGUyOWEuLjc5NmNlMzY2MmI1YjU3ZGE2M2MzZjJiMjU0OGI5ZmZkODdhOGIzM2EgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENN
b250aC9TMTUuOS41LjM5X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0ExX1QzLmpzCkBAIC02
LDEzICs2LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUuc2V0dXRjbW9udGgKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0VVRDTW9udGgnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIHByb3Bl
cnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2V0VVRDTW9udGgnKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzZXRVVENNb250aFwn
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3Rv
dHlwZSkgewotICBpZiAoeCA9PT0gInNldFVUQ01vbnRoIikgewotICAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJzZXRVVENN
b250aCIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgInNldFVUQ01vbnRoIicpOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL1Mx
NS45LjUuMzlfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BMl9UMS5qcwppbmRleCAwYjUyNDQxYTll
YzYwMGYyZDViYjQ2MjZiODk3MzQyODMzZDY1N2YxLi5mYzFkNWFmYjJlNGMxNDE4NTIwN2M5NzZj
YjIyMGZmMTI5MjgzN2EzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BMl9UMS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgv
UzE1LjkuNS4zOV9BMl9UMS5qcwpAQCAtNiwxMSArNiwxNCBAQAogZXNpZDogc2VjLWRhdGUucHJv
dG90eXBlLnNldHV0Y21vbnRoCiBkZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9m
IHRoZSAic2V0VVRDTW9udGgiIGlzIDIKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRl
LnByb3RvdHlwZS5zZXRVVENNb250aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUs
CisgICdEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikg
bXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aC5o
YXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBzZXRVVENNb250aCBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eScpOwotfQot
Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoICE9PSAyKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNldFVU
Q01vbnRoIGlzIDInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnNl
dFVUQ01vbnRoLmxlbmd0aCwKKyAgMiwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5z
ZXRVVENNb250aC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMicKKyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgv
UzE1LjkuNS4zOV9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0EzX1QxLmpzCmluZGV4IGZiNTIzYjQy
ZWE2MjBhOWFjOTFhNzI2Mzc2NzIzNTBkZGY1NmEwZmUuLjhjOTQ5ZmNjNjM2YWRmNTgwYjNiMWY4
MmMzMTVjMGRkYzA2MmVkYmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0EzX1QxLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250
aC9TMTUuOS41LjM5X0EzX1QxLmpzCkBAIC0xMiw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUu
cHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJv
dG90eXBlLnNldFVUQ01vbnRoLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5
cGUuc2V0VVRDTW9udGgubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIGhhcyB0aGUgYXR0cmli
dXRlIFJlYWRPbmx5Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBl
LnNldFVUQ01vbnRoLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlw
ZS5zZXRVVENNb250aC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgn
CispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ01vbnRoL1MxNS45LjUuMzlfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BM19UMi5qcwppbmRl
eCA3Y2FjZmIxMDNiNzk1ZTlhZGE5ODJhMWY5MDAwNTEzMTA5M2YwYWMxLi5iZWE5YWZmM2M5MTNk
Yjg4ZDM5MWQ5NGYwNzY2ODk0NzUyZTc2NTk3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BM19U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDTW9udGgvUzE1LjkuNS4zOV9BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDog
c2VjLWRhdGUucHJvdG90eXBlLnNldHV0Y21vbnRoCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9u
dERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0
ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9m
IGBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoYCBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aC5s
ZW5ndGggIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZS5zZXRVVENNb250aC5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUg
YXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5z
ZXRVVENNb250aC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURh
dGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgu
aGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90
IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0
byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENNb250aC9TMTUuOS41LjM5X0EzX1Qz
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVU
Q01vbnRoL1MxNS45LjUuMzlfQTNfVDMuanMKaW5kZXggZDcwMDU3ZmU3N2QxNzJmNmMxN2FiZmU4
NDBhNGU2ZTUyYTI3OGNjNC4uMDMxYTc2MzRkNWIxYjRlOTU3YWRkY2I1ZWI2OTYyODdhNDE4NjEz
MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldFVUQ01vbnRoL1MxNS45LjUuMzlfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL1MxNS45LjUuMzlfQTNf
VDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1dGNt
b250aAogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQot
aWYgKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5n
dGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBl
LnNldFVUQ01vbnRoLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScp
OwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGgucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5zZXRV
VENNb250aC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCkg
ewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0
ZSBEb250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgImxlbmd0aCIsICdU
aGUgdmFsdWUgb2YgeCBpcyBub3QgImxlbmd0aCInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0
byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUuMzFfQTFf
VDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDU2Vjb25kcy9TMTUuOS41LjMxX0ExX1QxLmpzCmluZGV4IDhkMDQyZmFhNWE3ZDc2MTMzM2M5
MDAxZDA3MjVlMDM5NjZhNGNhMzkuLjEwOWY2NzRhMWZlZjM1N2UxYzVhMzgzZmVhOTQ3YjZmZDVl
Yjg0YjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUuMzFfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ1NlY29uZHMvUzE1Ljku
NS4zMV9BMV9UMS5qcwpAQCAtOCwxMCArOCwxNiBAQAogLS0tKi8KIAogdmFyIHggPSBEYXRlLnBy
b3RvdHlwZS5zZXRVVENTZWNvbmRzOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBE
YXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUu
cHJvdG90eXBlLnNldFVUQ1NlY29uZHMgPSAxOwotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ1Nl
Y29uZHMgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS5zZXRVVENTZWNvbmRzIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwog
fQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRz
LAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgaXMg
ZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCispOworCisvLyBUT0RPOiBD
b252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ1NlY29uZHMvUzE1Ljku
NS4zMV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUuMzFfQTFfVDIuanMKaW5kZXggZDBkM2M3NDZjY2Y1
ODliNmIwYTJhNDZjY2I3NDNmZTI0NDViYTBmNS4uMmI4ZDMxYTdmYjcyNzIwZmUzOWQ1NzhlN2Fk
YWE1NmQ3NGQ4ODU3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFVUQ1NlY29uZHMvUzE1LjkuNS4zMV9BMV9UMi5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25k
cy9TMTUuOS41LjMxX0ExX1QyLmpzCkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5w
cm90b3R5cGUuc2V0dXRjc2Vjb25kcwogZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2Yg
RG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCithc3NlcnQubm90U2FtZVZhbHVlKAorICBkZWxl
dGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcywKKyAgZmFsc2UsCisgICdUaGUgdmFsdWUg
b2YgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgaXMgbm90IGZhbHNlJworKTsK
IAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzID09PSBmYWxzZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ1Nl
Y29uZHMgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cith
c3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnc2V0VVRDU2Vjb25kcycp
LAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3NldFVU
Q1NlY29uZHNcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSgnc2V0VVRDU2Vjb25kcycpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyBwcm9wZXJ0eSBo
YXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0Ex
X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dFVUQ1NlY29uZHMvUzE1LjkuNS4zMV9BMV9UMy5qcwppbmRleCBjOTg3Yzc4MDZkYzk1NjYzYjhm
MzE2YjVjYjk5MzkwNTllNjg5YzE2Li4yNDBkNjQ3OTRiYzlmYTRiYzY2YzY0YWU1NmNhMjZhZjkx
YzRlNDMxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45
LjUuMzFfQTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlw
ZS5zZXR1dGNzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRl
CiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3NldFVU
Q1NlY29uZHMnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJv
dG90eXBlLnNldFVUQ1NlY29uZHMgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0n
KTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdz
ZXRVVENTZWNvbmRzJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKFwnc2V0VVRDU2Vjb25kc1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gInNldFVU
Q1NlY29uZHMiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnBy
b3RvdHlwZS5zZXRVVENTZWNvbmRzIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0K
KyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAic2V0VVRDU2Vjb25kcyIsICdUaGUgdmFsdWUgb2Yg
eCBpcyBub3QgInNldFVUQ1NlY29uZHMiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVy
aWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EyX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ1Nl
Y29uZHMvUzE1LjkuNS4zMV9BMl9UMS5qcwppbmRleCBiOWFlMDI2NTYwZGRhMmYwMjdhMDI3MjMz
NjM1ZjdhYjdiNGI1NDAzLi5kZjg1N2MwYzM5NDJkNDM2NjJmNjAwZmM5N2I0ZTc5MzAzZTdhNTM3
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUuMzFf
QTJfVDEuanMKQEAgLTYsMTEgKzYsMTQgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5zZXR1
dGNzZWNvbmRzCiBkZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSAic2V0
VVRDU2Vjb25kcyIgaXMgMgogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90
eXBlLnNldFVUQ1NlY29uZHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAn
RGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVz
dCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmhh
c093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIHNldFVUQ1NlY29uZHMgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0K
LQotaWYgKERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMubGVuZ3RoICE9PSAyKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHNl
dFVUQ1NlY29uZHMgaXMgMicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5
cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGgsCisgIDIsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90
b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMicKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ1NlY29uZHMvUzE1LjkuNS4zMV9BM19UMS5qcwpp
bmRleCBhNzdhZDQwNjBiZjM2YjllOGY4ODc5ZjcyYTRmNmNjYjU0YTQxZWE3Li5iNzQ0Zjk0Njdh
ZDkzODFiNWFiYjY5YTA2OTk5ZDY5ZDk5N2IzNjczIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMx
X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUuMzFfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBA
CiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGg7CiB2ZXJpZnlO
b3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLCAibGVuZ3RoIiwgbnVsbCwg
MSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHgpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNv
bmRzLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCwKKyAgeCwKKyAg
J1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EzX1Qy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVU
Q1NlY29uZHMvUzE1LjkuNS4zMV9BM19UMi5qcwppbmRleCA4MDlkNzMwYmYzN2Q3OTE1N2I4ZGQ0
ZWJhNGNlMDEzZThhMzNkNmQyLi5iZjM2YzYwYjM1ZDc2MDA4ODI3ODViM2JjMTNhNmNlN2ZiYjlj
N2UyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUu
MzFfQTNfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5z
ZXR1dGNzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUK
IC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRD
U2Vjb25kcy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnBy
b3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7
CiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5sZW5ndGggIT09IHRy
dWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS5z
ZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVz
IERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnNldFVUQ1NlY29u
ZHMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3Rv
dHlwZS5zZXRVVENTZWNvbmRzLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5oYXNP
d25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRo
ZSBEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBo
YXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EzX1Qz
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVU
Q1NlY29uZHMvUzE1LjkuNS4zMV9BM19UMy5qcwppbmRleCBlMGFlMzU5MmViZTgxYzY5OWQ4Mzgz
MTJlYjYzZDhmY2I4YjFkZDNjLi40MGY1Y2RjNGZiODkyYmQ2ZWMwZTc2M2RkOTk4OGM1ZjIyYTE0
ZGZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0VVRDU2Vjb25kcy9TMTUuOS41LjMxX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL1MxNS45LjUu
MzFfQTNfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS5z
ZXR1dGNzZWNvbmRzCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAt
LS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcy5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRl
LnByb3RvdHlwZS5zZXRVVENTZWNvbmRzLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0
ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25k
cy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUu
cHJvdG90eXBlLnNldFVUQ1NlY29uZHMucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5
cGUuc2V0VVRDU2Vjb25kcykgewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMubGVu
Z3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVW
YWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAibGVuZ3RoIicpOwogfQor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0ZVN0
cmluZy9TMTUuOS41LjNfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BMV9UMS5qcwppbmRleCBhMTg0
M2U5NDlkYTk3ZTE2NTA2NjQ2YmYyY2NjOTMwMGUwMjI1MjUxLi4wZWFhNWFlNTAwOWM1Mzk0NzNi
NjkwMGYzNDM3YzUzYzI1MGFiNDJiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BMV9UMS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRl
U3RyaW5nL1MxNS45LjUuM19BMV9UMS5qcwpAQCAtOCwxMCArOCwxNiBAQAogLS0tKi8KIAogdmFy
IHggPSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmc7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09
PSAxKSB7CiAgIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyA9IDI7Ci1lbHNlCit9IGVsc2Ug
ewogICBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgPSAxOwotaWYgKERhdGUucHJvdG90eXBl
LnRvRGF0ZVN0cmluZyA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyBoYXMgbm90IHRoZSBhdHRyaWJ1dGUgUmVhZE9u
bHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUudG9EYXRl
U3RyaW5nLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmlu
ZyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisKKy8vIFRP
RE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1Mx
NS45LjUuM19BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0ExX1QyLmpzCmluZGV4IDM2NzQxYWE1Zjg4
NTExNDdkOGFlNzQ1ZmQ0NzE4NjMxMmFlY2YxZDMuLmM5OTQ0YzdmYjA2MjIwNmVkYzgxNWZmOTMz
OTk0ZDEzOTY1YTk1Y2MgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0ExX1QyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcv
UzE1LjkuNS4zX0ExX1QyLmpzCkBAIC02LDExICs2LDE1IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90
b3R5cGUudG9kYXRlc3RyaW5nCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250
RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0ZSBE
YXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcsCisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9mIGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgaXMgbm90IGZhbHNlJworKTsKIAotaWYg
KGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgPT09IGZhbHNlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHBy
b3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAor
ICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3RvRGF0ZVN0cmluZycpLAorICAnVGhl
IHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3RvRGF0ZVN0cmluZ1wn
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093
blByb3BlcnR5KCd0b0RhdGVTdHJpbmcnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBh
dHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BMV9UMy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1
LjkuNS4zX0ExX1QzLmpzCmluZGV4IGRkMmVkY2ZmYjdmMDFjNThmOGQzM2U5N2ZlNDVmNWI2MWVi
NDBlZjkuLjI3MjEwN2UwOTZmYjk4NGI0YzU4ZDEyNzE1Yjc4MTM1OTc2ZTg5ZmUgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVT
dHJpbmcvUzE1LjkuNS4zX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0ExX1QzLmpzCkBAIC02
LDEzICs2LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUudG9kYXRlc3RyaW5nCiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5w
cm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvRGF0ZVN0cmluZycpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIHBy
b3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRl
LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndG9EYXRlU3RyaW5nJyksCisgICdUaGUg
dmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9EYXRlU3Ry
aW5nXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUu
cHJvdG90eXBlKSB7Ci0gIGlmICh4ID09PSAidG9EYXRlU3RyaW5nIikgewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIGhhcyB0
aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAi
dG9EYXRlU3RyaW5nIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAidG9EYXRlU3RyaW5nIicpOwog
fQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0
ZVN0cmluZy9TMTUuOS41LjNfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BMl9UMS5qcwppbmRleCAw
YWVhZTMxYWIwZGNhOGRiNjY2OWM0MTBkOGU0YmE0M2Q4ZDkyYmE1Li44YjBjNzE1YmQ5ZDQzNGZj
ZWQ1Mjc0YTZkZGM4YjE0YjU0M2E5NWYzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BMl9UMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9E
YXRlU3RyaW5nL1MxNS45LjUuM19BMl9UMS5qcwpAQCAtNiwxMSArNiwxNCBAQAogZXNpZDogc2Vj
LWRhdGUucHJvdG90eXBlLnRvZGF0ZXN0cmluZwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBw
cm9wZXJ0eSBvZiB0aGUgInRvRGF0ZVN0cmluZyIgaXMgMAogLS0tKi8KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3Ro
IiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcuaGFzT3duUHJvcGVy
dHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUu
dG9EYXRlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIHRvRGF0ZVN0cmluZyBoYXMgYSAibGVuZ3RoIiBw
cm9wZXJ0eScpOwotfQotCi1pZiAoRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCAh
PT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3Bl
cnR5IG9mIHRoZSB0b0RhdGVTdHJpbmcgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCwKKyAgMCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAn
CispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3RvRGF0ZVN0cmluZy9TMTUuOS41LjNfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BM19U
MS5qcwppbmRleCBjNDczNDMzMGQ1MGFiNTdhOGRhM2I2ZWMxZjBkMTNlMjg0ZDAwYjgwLi4wYTAz
MDcyMTE3MmI5YWY4ODgyNmNjYzY0NWYxMzY0ZDhmNGMzNTUwIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45
LjUuM19BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEg
QEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoOwogdmVyaWZ5
Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLCAibGVuZ3RoIiwgbnVsbCwg
MSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCAhPT0geCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmlu
Zy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCwKKyAgeCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0EzX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0ZVN0cmlu
Zy9TMTUuOS41LjNfQTNfVDIuanMKaW5kZXggYmY0ZGI3YjYwZjk0MzdjMDQ4MTA4Nzg5NDBlNGZi
ZDQwMmJlOTViMi4uNDdjYWMyNzJmMTljNDI4YTExNzA2YTVlM2UxNGY3NWQyYTA5ODlkNyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Rv
RGF0ZVN0cmluZy9TMTUuOS41LjNfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0ZVN0cmluZy9TMTUuOS41LjNfQTNfVDIuanMK
QEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS50b2RhdGVzdHJpbmcK
IGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcubGVuZ3Ro
LAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9EYXRl
U3RyaW5nLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChkZWxldGUg
RGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nLmxlbmd0aCAhPT0gdHJ1ZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5sZW5n
dGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19
Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcuaGFzT3duUHJvcGVydHko
J2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcu
aGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAK
LWlmIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9E
YXRlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdG9EYXRlU3RyaW5nL1MxNS45LjUuM19BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0EzX1Qz
LmpzCmluZGV4IGFjYzliMjYwMGU1OWVhZjg3MWM4NGI1MTI0N2E4YjlhY2FmYmQwZWMuLjQ4YmMz
ZDRlMzc1MTUyMzNmZTk4N2I2Nzg5ZjE5Y2Y4NTM5ZGUwYjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1Ljku
NS4zX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS90b0RhdGVTdHJpbmcvUzE1LjkuNS4zX0EzX1QzLmpzCkBAIC04LDEzICs4LDEzIEBA
CiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUudG9kYXRlc3RyaW5nCiBkZXNjcmlwdGlvbjogQ2hl
Y2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUudG9E
YXRlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5sZW5ndGgg
cHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURh
dGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyks
CisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZy5wcm9wZXJ0eUlz
RW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9y
ICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcpIHsKLSAgaWYgKHggPT09ICJs
ZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3Rv
dHlwZS50b0RhdGVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0g
IH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IG5vdCAibGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41LjZfQTFfVDEuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRlU3Ry
aW5nL1MxNS45LjUuNl9BMV9UMS5qcwppbmRleCAzYjI0ZjRiNzViMzVhZTcwYTE1ZWU2NDNkMzEy
MDg4ODNmN2UwNzM2Li45ZDlkNDFjOTkyNDA4MWU0OTY5NmI0OTI5NGE0ZWVjZDNhMGJhMTc5IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45LjUuNl9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45
LjUuNl9BMV9UMS5qcwpAQCAtMTAsMTAgKzEwLDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUu
cHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZzsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEp
IHsKICAgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nID0gMjsKLWVsc2UKK30gZWxz
ZSB7CiAgIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyA9IDE7Ci1pZiAoRGF0ZS5w
cm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIGhhcyBub3Qg
dGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBE
YXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcsCisgIHgsCisgICdUaGUgdmFsdWUgb2Yg
RGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVh
bCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0ExX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0
ZVN0cmluZy9TMTUuOS41LjZfQTFfVDIuanMKaW5kZXggZTlmMjcwNWE4NGQ2NzM4MjEyNzk2NTQ5
MTllZTU0MmEzNjg3ZjBhNC4uYTYxMTNlZGI0ODE2YzJlNWFhMTBiNGNkZDY2OTEzMzk0ODIzNzNk
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41LjZfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9T
MTUuOS41LjZfQTFfVDIuanMKQEAgLTgsMTEgKzgsMTUgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3Rv
dHlwZS50b2xvY2FsZWRhdGVzdHJpbmcKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9m
IERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVs
ZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZywKKyAgZmFsc2UsCisgICdUaGUg
dmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyBpcyBub3Qg
ZmFsc2UnCispOwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmlu
ZyA9PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRl
cyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSgndG9Mb2NhbGVEYXRlU3RyaW5nJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90
eXBlLmhhc093blByb3BlcnR5KFwndG9Mb2NhbGVEYXRlU3RyaW5nXCcpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3RvTG9j
YWxlRGF0ZVN0cmluZycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJp
YnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0ExX1QzLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0
cmluZy9TMTUuOS41LjZfQTFfVDMuanMKaW5kZXggODMyNDEzODUwNTMyYjA3MGM4MGExY2ZlMmZl
OTg2NzVkNDhiMDg0Ni4uYzk4YzczZjcyYjcxYWIyOWZjZTI4ZDQ2NzA2MTAzOTRjNjY5ZWZiMyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41LjZfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUu
OS41LjZfQTFfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlw
ZS50b2xvY2FsZWRhdGVzdHJpbmcKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRy
aWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgn
dG9Mb2NhbGVEYXRlU3RyaW5nJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRo
ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgcHJvcGVydHkgaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCd0b0xvY2FsZURhdGVTdHJpbmcnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0
ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoXCd0b0xvY2FsZURhdGVTdHJpbmdcJykg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5
cGUpIHsKLSAgaWYgKHggPT09ICJ0b0xvY2FsZURhdGVTdHJpbmciKSB7Ci0gICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcg
aGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVl
KHgsICJ0b0xvY2FsZURhdGVTdHJpbmciLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJ0b0xvY2Fs
ZURhdGVTdHJpbmciJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHko
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45LjUuNl9BMl9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJp
bmcvUzE1LjkuNS42X0EyX1QxLmpzCmluZGV4IGIxNmQ5ODg2ZWQyNmE4ZTNhZTFmODExMzQwM2M1
YWEyNjhiMjk5ZGEuLjZkNzdiNWY3ZDJmMTc4Yjc5MDIxZDgwYTIyODc4MGUxOTZiMGVmNDEgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90
b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1Ljku
NS42X0EyX1QxLmpzCkBAIC02LDExICs2LDE0IEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUu
dG9sb2NhbGVkYXRlc3RyaW5nCiBkZXNjcmlwdGlvbjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9m
IHRoZSAidG9Mb2NhbGVEYXRlU3RyaW5nIiBpcyAwCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5n
dGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNP
d25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnBy
b3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0
cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgdG9Mb2NhbGVEYXRlU3Ry
aW5nIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19Ci0KLWlmIChEYXRlLnByb3RvdHlwZS50
b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlIHRvTG9jYWxlRGF0ZVN0cmluZyBp
cyAwJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURh
dGVTdHJpbmcubGVuZ3RoLAorICAwLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnRv
TG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2Nh
bGVEYXRlU3RyaW5nL1MxNS45LjUuNl9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0EzX1Qx
LmpzCmluZGV4IDc4NGNkZGFjZWU4ZmNhZDFlNDcyYjkwZjg2YjZiOTQ2MjM4NDU1NzguLjVlYzJh
YjY2MTgyZTViOWU4YTVlMjRkYmFlZjZlNDExZDBhNWNhOTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcv
UzE1LjkuNS42X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0EzX1QxLmpzCkBAIC0x
Miw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmlu
Zy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVT
dHJpbmcsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURh
dGVTdHJpbmcubGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBU
aGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJp
YnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlw
ZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUu
cHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41LjZfQTNfVDIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRlU3Ry
aW5nL1MxNS45LjUuNl9BM19UMi5qcwppbmRleCA3YThlMjMyYTQyMTVmMDZkYzIyYzkxMWQ3Nzlk
MWFmYzkxMTY3ODNiLi43ZWNiZjRjNDliYzRjZTA2MTkxODllMDE1YzQ0Nzc3YzlmYTZmNTdiIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45LjUuNl9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVEYXRlU3RyaW5nL1MxNS45
LjUuNl9BM19UMi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBl
LnRvbG9jYWxlZGF0ZXN0cmluZwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0
cmlidXRlCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBl
LnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoYCBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJworKTsKIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURh
dGVTdHJpbmcubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBk
b2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAg
IURhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3Ro
JyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5o
YXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAot
aWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlw
ZS50b0xvY2FsZURhdGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0
dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvUzE1LjkuNS42X0EzX1QzLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0
ZVN0cmluZy9TMTUuOS41LjZfQTNfVDMuanMKaW5kZXggYmJiZTYxZWM3YWNlZDEwOTNmYzc3NmUw
OWFkMmQ4YmE0OTk3OTVhYS4uZWQ4Zjk1MDUyMWU5ZTgwZjM2MWM3MDRlYjcxMWU0Y2RhM2E5OTA3
YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9TMTUuOS41LjZfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9T
MTUuOS41LjZfQTNfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3Rv
dHlwZS50b2xvY2FsZWRhdGVzdHJpbmcKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBh
dHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcu
cHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLmxlbmd0aCBwcm9w
ZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5w
cm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgn
KSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLnBy
b3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZykgewot
ICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
VGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRy
aWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgi
LCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41
X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BMV9UMS5qcwppbmRleCAzMDhlZGIxMmE0OTdiNjAw
OTU2OTk3ODQyYzE1MWY2NDhmZDM1YTM5Li4xNGZmYTVkYjhmOWQ0OGFjODI2NDgyZjJiMTJkYjFm
ZThmZDUxNzZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41X0ExX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9T
MTUuOS41LjVfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0
ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmc7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7
CiAgIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID0gMjsKLWVsc2UKK30gZWxzZSB7CiAg
IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS50
b0xvY2FsZVN0cmluZyA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgdGhlIGF0dHJpYnV0ZSBSZWFk
T25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZywKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS50b0xvY2Fs
ZVN0cmluZyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcKKyk7CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVT
dHJpbmcvUzE1LjkuNS41X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BMV9UMi5qcwppbmRleCBm
YmQyZGI4ZWI5YzAyNTMzYjI2ZTMwZWUxZmJhYTNhMzlkY2EwOWEzLi4yMjE3NTgxMzU5ZWM0ODAy
MjBkZGQ1YzM2NzRjZDM0Y2M3YThjN2JiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41X0ExX1Qy
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90
b0xvY2FsZVN0cmluZy9TMTUuOS41LjVfQTFfVDIuanMKQEAgLTcsMTAgKzcsMTUgQEAKIGRlc2Ny
aXB0aW9uOiBDaGVja2luZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLwog
Ci1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nID09PSBmYWxzZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxl
U3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3Ry
aW5nLAorICBmYWxzZSwKKyAgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9M
b2NhbGVTdHJpbmcgaXMgbm90IGZhbHNlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093
blByb3BlcnR5KCd0b0xvY2FsZVN0cmluZycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0
aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSgndG9Mb2NhbGVTdHJpbmcnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0
ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCd0b0xvY2FsZVN0cmluZ1wnKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgp
IGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuOS41LjVfQTFfVDMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1Ljku
NS41X0ExX1QzLmpzCmluZGV4IDMyN2ZjMmNmZGQzZjNkMzJjMmYwYjA2YjdhMjhiN2NlZGIzNTU0
YjIuLmVlNjk5Mzk3NmJhYTg0MThiNjZhYWJlZDEwNzcxMjZlYTcxZjI1MDMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0
cmluZy9TMTUuOS41LjVfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BMV9UMy5qcwpAQCAt
NiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnRvbG9jYWxlc3RyaW5nCiBk
ZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0
ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlU3RyaW5nJykpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0
cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAor
ICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlU3RyaW5nJyks
CisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwn
dG9Mb2NhbGVTdHJpbmdcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFy
IHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJ0b0xvY2FsZVN0cmluZyIpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9j
YWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5v
dFNhbWVWYWx1ZSh4LCAidG9Mb2NhbGVTdHJpbmciLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJ0
b0xvY2FsZVN0cmluZyInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuOS41LjVfQTJfVDEuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1
LjkuNS41X0EyX1QxLmpzCmluZGV4IGVhM2M0YTQ2MTZmZTcyMjAxZTdiMmQ5NGMzOTRmNWUxZTgx
OTBkNGQuLmU2YTQ4NjRkMzFhMmZlYTFjYzJkMTYyN2RmMGIxNDIzMzA4MzQxNTYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2Fs
ZVN0cmluZy9TMTUuOS41LjVfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BMl9UMS5qcwpA
QCAtNywxMCArNywxNCBAQAogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0
aGUgInRvTG9jYWxlU3RyaW5nIiBpcyAwCiAtLS0qLwogCi1pZiAoRGF0ZS5wcm90b3R5cGUudG9M
b2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgdG9Mb2NhbGVTdHJpbmcgaGFzIGEgImxlbmd0aCIg
cHJvcGVydHknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnRvTG9j
YWxlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwKKyAgdHJ1ZSwKKyAgJ0RhdGUucHJv
dG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVy
biB0cnVlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCAh
PT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3Bl
cnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBpcyAwJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgsCisgIDAsCisgICdUaGUgdmFs
dWUgb2YgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGJlIDAnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BM19UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUu
OS41LjVfQTNfVDEuanMKaW5kZXggM2E1M2MxYmE0NGMxZjhlZDkwZGVlODE2ZTQ2OGZkZDQ4ZjQy
YTUwZC4uNmU4YTk2ZTlkZmYzNGQxMmI3OWVhNzNhY2NkMzcxNDUzZmVhZGU1MSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxl
U3RyaW5nL1MxNS45LjUuNV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41X0EzX1QxLmpzCkBA
IC0xMiw2ICsxMiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
Lmxlbmd0aDsKIHZlcmlmeU5vdFdyaXRhYmxlKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
LCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcu
bGVuZ3RoICE9PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5w
cm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5
Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3Ry
aW5nLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS50b0xvY2Fs
ZVN0cmluZy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOwor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxl
U3RyaW5nL1MxNS45LjUuNV9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuOS41LjVfQTNfVDIuanMKaW5kZXgg
YTM0MTlmYjc3ZjFiODNmZjc3OThiNTZjYTkzMjc0YWEzMmE0ZTJiZS4uNzUyMTZiYTU1YmMyYzQ1
MDgwNTgwMDJkMjFiYTgwMTU1NDU2MWVjZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BM19U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41X0EzX1QyLmpzCkBAIC05LDEwICs5LDE1IEBACiBkZXNj
cmlwdGlvbjogQ2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCiAKLWlmIChkZWxl
dGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJp
bmcubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0
ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvTG9j
YWxlU3RyaW5nLmxlbmd0aCwKKyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUu
cHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
Kyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgn
bGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3Rv
dHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0
cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURh
dGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVBy
b3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BM19UMy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmlu
Zy9TMTUuOS41LjVfQTNfVDMuanMKaW5kZXggZmIzOWYyZGVkMTk5ODMzNTAzOWQwMjhiYjQ1ZmVm
NWVjMDc5OWFlYi4uOGQ4M2QyNWE1OGVmODlhOWJlNzFhN2U0YmNlMWMwZDc0MzZhZWQ1ZCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Rv
TG9jYWxlU3RyaW5nL1MxNS45LjUuNV9BM19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjkuNS41X0EzX1Qz
LmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUudG9sb2NhbGVz
dHJpbmcKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0K
LWlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgn
bGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3Rv
dHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9u
dEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnBy
b3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90
b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUu
dG9Mb2NhbGVTdHJpbmcpIHsKLSAgaWYgKHggPT09ICJsZW5ndGgiKSB7Ci0gICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5n
dGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZh
bHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVU
aW1lU3RyaW5nL1MxNS45LjUuN19BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1LjkuNS43X0ExX1QxLmpz
CmluZGV4IDkzZTIwNjI3NjFjNzZjNmYyMGRhZDUwOGFjNTkzY2ZhNmJiODc5YWYuLmIwYjgxZWRk
NmJkZGYwNTU2ZTdiMGFiNzllODUxNjBhYzFlMDFmYTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1
LjkuNS43X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1LjkuNS43X0ExX1QxLmpzCkBAIC0xMCwx
MCArMTAsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1l
U3RyaW5nOwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS50
b0xvY2FsZVRpbWVTdHJpbmcgPSAyOwotZWxzZQorfSBlbHNlIHsKICAgRGF0ZS5wcm90b3R5cGUu
dG9Mb2NhbGVUaW1lU3RyaW5nID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVT
dHJpbmcgPT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnBy
b3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgaGFzIG5vdCB0aGUgYXR0cmlidXRlIFJlYWRPbmx5
Jyk7CiB9CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnRvTG9jYWxl
VGltZVN0cmluZywKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS50b0xvY2Fs
ZVRpbWVTdHJpbmcgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgeGAnCisp
OworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9j
YWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19BMV9U
Mi5qcwppbmRleCBhNmE4MzMwNjU5NzJmNDhhODg2ZDdmYTVmY2IwZDc4NTNlYTBmOTRjLi45YmUy
NTM5MDBiODIwM2E5YjBiZTZmYWFlZWZhZjcyMGJmZmJjOTU4IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5n
L1MxNS45LjUuN19BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19BMV9UMi5qcwpAQCAt
OSwxMCArOSwxNSBAQAogZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0
ZSBhdHRyaWJ1dGUKIC0tLSovCiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVU
aW1lU3RyaW5nID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhl
IERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBh
dHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgIGRlbGV0
ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcsCisgIGZhbHNlLAorICAnVGhlIHZh
bHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgaXMgbm90IGZh
bHNlJworKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd0b0xvY2FsZVRp
bWVTdHJpbmcnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJv
dG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVz
IERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3Bl
cnR5KCd0b0xvY2FsZVRpbWVTdHJpbmcnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoXCd0b0xvY2FsZVRpbWVTdHJpbmdcJykgaXMgZXhwZWN0ZWQgdG8g
YmUgdHJ1ZScKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19BMV9UMy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1
LjkuNS43X0ExX1QzLmpzCmluZGV4IGQyM2FlMDgwZTk4ODA2NWIzMTY1MzYwMmJlYmE1OTY4MGEy
M2M0ODAuLjQ0YzFjNTlkM2Q5MGQzMGU0YTU4MjE4ZGIzMWI0MDlkMTg3MWY5Y2UgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2Fs
ZVRpbWVTdHJpbmcvUzE1LjkuNS43X0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1LjkuNS43X0Ex
X1QzLmpzCkBAIC04LDEzICs4LDEzIEBACiBlc2lkOiBzZWMtZGF0ZS5wcm90b3R5cGUudG9sb2Nh
bGV0aW1lc3RyaW5nCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAt
LS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxl
VGltZVN0cmluZycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5w
cm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERv
bnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgndG9Mb2NhbGVUaW1lU3RyaW5nJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90
eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9Mb2NhbGVUaW1lU3RyaW5nXCcpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlKSB7Ci0g
IGlmICh4ID09PSAidG9Mb2NhbGVUaW1lU3RyaW5nIikgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nIGhhcyB0aGUg
YXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAidG9M
b2NhbGVUaW1lU3RyaW5nIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAidG9Mb2NhbGVUaW1lU3Ry
aW5nIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvTG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45
LjUuN19BMl9UMS5qcwppbmRleCA0ZGUyNDUzZTM3ZWE1YzBjZDc3YWI0MmY2YjFiNGE1M2M2MDky
YTgyLi5lZTdiNDg0MGUyN2IzYmE3YzFhMmZjMjJjNGE2M2U2MjQzYWMwOWFiIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVU
aW1lU3RyaW5nL1MxNS45LjUuN19BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19BMl9U
MS5qcwpAQCAtNywxMCArNywxNCBAQAogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0
eSBvZiB0aGUgInRvTG9jYWxlVGltZVN0cmluZyIgaXMgMAogLS0tKi8KIAotaWYgKERhdGUucHJv
dG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRy
dWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSB0b0xvY2FsZVRpbWVTdHJp
bmcgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERh
dGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiks
CisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcuaGFzT3duUHJv
cGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5
cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogVGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVRpbWVTdHJp
bmcgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUudG9Mb2Nh
bGVUaW1lU3RyaW5nLmxlbmd0aCwKKyAgMCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlw
ZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnCispOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Rv
TG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19B
M19UMS5qcwppbmRleCAyMGExMGQwYzYyMmU5ZjcwNGFjMWRhYThmYzM0OTg1ODI1NjU0MmM3Li4z
Y2MxMzY2MzEwMzJkOWU4ZmI0OTI2MWUzMzg4ZjliZDQ2ZmZmOTI5IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3Ry
aW5nL1MxNS45LjUuN19BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9Mb2NhbGVUaW1lU3RyaW5nL1MxNS45LjUuN19BM19UMS5qcwpA
QCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVT
dHJpbmcubGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVU
aW1lU3RyaW5nLCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUudG9Mb2Nh
bGVUaW1lU3RyaW5nLmxlbmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5sZW5ndGggaGFzIHRoZSBh
dHRyaWJ1dGUgUmVhZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBE
YXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1LjkuNS43X0EzX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlVGlt
ZVN0cmluZy9TMTUuOS41LjdfQTNfVDIuanMKaW5kZXggODdjZTA4MWI1ZTk1YWFlZTYzOGJhYTNk
Njg4MTlhNDNmZWFiMzYwNC4uMWU2ZTA4ZGQ4ZDY5NzRjMDBiODY0YWQ0NjU4ZGEzNDVhOWRhYjVh
OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvTG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlVGltZVN0cmluZy9T
MTUuOS41LjdfQTNfVDIuanMKQEAgLTksMTAgKzksMTUgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2lu
ZyBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlw
ZS50b0xvY2FsZVRpbWVTdHJpbmcubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0
aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVT
dHJpbmcubGVuZ3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgRGF0ZS5wcm90
b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
Kyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcuaGFzT3duUHJvcGVy
dHkoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5w
cm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZl
IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90
eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUg
dmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0
eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKKworLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvUzE1
LjkuNS43X0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3RvTG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTNfVDMuanMKaW5kZXggYmFmZmM4
Mjg1ZjUzNGI5MGQ2YzY3MWVkZTVhOTE0MzNkMmRmMjMzNC4uYjliZDVmZDk5ZTFmOWM2NDQ3Mzhi
Y2JiYTVmZjFhNDE0OGEyM2ZhNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTNfVDMu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Rv
TG9jYWxlVGltZVN0cmluZy9TMTUuOS41LjdfQTNfVDMuanMKQEAgLTgsMTMgKzgsMTMgQEAKIGVz
aWQ6IHNlYy1kYXRlLnByb3RvdHlwZS50b2xvY2FsZXRpbWVzdHJpbmcKIGRlc2NyaXB0aW9uOiBD
aGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS50
b0xvY2FsZVRpbWVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1l
U3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQor
YXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLnByb3BlcnR5SXNF
bnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUudG9M
b2NhbGVUaW1lU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLnRvTG9j
YWxlVGltZVN0cmluZykgewotICBpZiAoeCA9PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZy5s
ZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2Ft
ZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJp
bmcvUzE1LjkuNS4yX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS45LjUuMl9BMV9UMS5qcwppbmRleCBiNzE5MjFlMTNh
NGY0YThhNmYzYjA0MmZjODNmMDZiMzU4ODIwNjllLi5hM2MxOTM2ZjEzMWM2ZDhhY2VlNTM1NTJj
ZTU3MDI4NjM1NmZlNGZkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjkuNS4yX0ExX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41
LjJfQTFfVDEuanMKQEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90
b3R5cGUudG9TdHJpbmc7Ci1pZiAoeCA9PT0gMSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJv
dG90eXBlLnRvU3RyaW5nID0gMjsKLWVsc2UKK30gZWxzZSB7CiAgIERhdGUucHJvdG90eXBlLnRv
U3RyaW5nID0gMTsKLWlmIChEYXRlLnByb3RvdHlwZS50b1N0cmluZyA9PT0geCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBu
b3QgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwogfQorCithc3NlcnQubm90U2FtZVZhbHVlKAor
ICBEYXRlLnByb3RvdHlwZS50b1N0cmluZywKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnBy
b3RvdHlwZS50b1N0cmluZyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4
YCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjkuNS4yX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS45LjUuMl9BMV9UMi5qcwppbmRleCA5OGYx
NzVkNjNhZGMyNWUzMDEyMzEwZjRhNDhjODgyZmIxODZlNzVlLi45MDI1MTk2ZTc4ODIyNWU2YjI1
Y2FmODBlYTk4MGY2ODg0MWJhY2RiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjkuNS4yX0ExX1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9T
MTUuOS41LjJfQTFfVDIuanMKQEAgLTcsMTAgKzcsMTAgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2lu
ZyBhYnNlbmNlIG9mIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLwogCi1pZiAoZGVsZXRlIERh
dGUucHJvdG90eXBlLnRvU3RyaW5nID09PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhl
IGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShkZWxldGUg
RGF0ZS5wcm90b3R5cGUudG9TdHJpbmcsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRl
LnByb3RvdHlwZS50b1N0cmluZyBpcyBub3QgZmFsc2UnKTsKK2Fzc2VydCgKKyAgIURhdGUucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCd0b1N0cmluZycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRl
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3RvU3RyaW5nXCcpIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3RvU3RyaW5n
JykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50
b1N0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKLX0K
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcv
UzE1LjkuNS4yX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS45LjUuMl9BMV9UMy5qcwppbmRleCBkNWUxNWMzMGZmYWFk
ZjcxZjI3YjFiZGRhZGQ2Yzc5MGM1ZDJmMTA3Li5jZDg2ZGE5OGQ4YmUwMDNmNjc1ZGEwMmQ1NzYz
NzU2N2M0YWRkYmY2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjkuNS4yX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41LjJf
QTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS50b3N0
cmluZwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnRFbnVtIGF0dHJpYnV0ZQogLS0tKi8KLQot
aWYgKERhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcg
cHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURh
dGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpLAorICAnVGhlIHZh
bHVlIG9mICFEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3RvU3RyaW5nXCcp
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90
eXBlKSB7Ci0gIGlmICh4ID09PSAidG9TdHJpbmciKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1N0cmluZyBoYXMgdGhlIGF0dHJpYnV0ZSBE
b250RW51bScpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoeCwgInRvU3RyaW5nIiwgJ1Ro
ZSB2YWx1ZSBvZiB4IGlzIG5vdCAidG9TdHJpbmciJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjkuNS4yX0EyX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS45LjUuMl9BMl9UMS5qcwppbmRleCAwMjczODA2NjgxYTk0ODgxMzI3N2Q1ODUwMjE3YjBj
YmE3MjhiYTE1Li41M2Q2ZjBjNGQwZWUwYmU2MTA3MTI2ZjllMDA2NDY3YzdkNGM0OGU2IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9T
dHJpbmcvUzE1LjkuNS4yX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41LjJfQTJfVDEuanMKQEAgLTcsMTAg
KzcsMTAgQEAKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0b1N0
cmluZyIgaXMgMAogLS0tKi8KIAotaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blBy
b3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogVGhlIHRvU3RyaW5nIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3Ro
IiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgi
bGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS50b1N0
cmluZy5sZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSAi
bGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgaXMgMCcpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgsIDAsICdUaGUgdmFsdWUgb2YgRGF0
ZS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuOS41LjJfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjkuNS4yX0EzX1QxLmpzCmluZGV4IDQyOTc3ODhk
Yjg1ZWJkOWZmNGU0ZDgyYWIyYTI0ZjFiMjc0OGE4MWUuLjMyMDdjYjExOGFkNWM2Y2I3ZDdhNTFi
YTc0MmZiNDBhNWFiZDBlOTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41LjJfQTNfVDEuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS45
LjUuMl9BM19UMS5qcwpAQCAtMTIsNiArMTIsMTEgQEAKIAogdmFyIHggPSBEYXRlLnByb3RvdHlw
ZS50b1N0cmluZy5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS50b1N0
cmluZywgImxlbmd0aCIsIG51bGwsIDEpOwotaWYgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxl
bmd0aCAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJv
dG90eXBlLnRvU3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQor
Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgsCisg
IHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4JworKTsKKworLy8gVE9ETzogQ29udmVydCB0
byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41LjJfQTNfVDIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcv
UzE1LjkuNS4yX0EzX1QyLmpzCmluZGV4IGRkNjAyY2Q0NDdkMzYyNzc3OGU4NTQ0ZGE1ZTU1ZWRm
ZjkyNGUyMTQuLjVhNDEwZjMwZTFiNmU2NTc0MGYwYTY1OTFhZjU3YTBhZTY1YmM0ZmUgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuOS41LjJfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS45LjUuMl9BM19UMi5qcwpAQCAtOSwxMCAr
OSwxNSBAQAogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0q
LwogCi1pZiAoZGVsZXRlIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gdHJ1ZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvU3Ry
aW5nLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxl
dGUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1N0
cmluZy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3Rv
dHlwZS50b1N0cmluZy5sZW5ndGhgIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi1pZiAo
RGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcubGVu
Z3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwot
fQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xl
bmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Q
cm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuOS41
LjJfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjkuNS4yX0EzX1QzLmpzCmluZGV4IDFkMzhhZWEwYmIyNjY0MTY5MzIx
NDU1MzIwZTg4ZWFiMjRmYTU0NGEuLjAzZjc2ODE4ZTlhMjQ0MTQxM2ZmMzE1OWE5NTE4ZWZkMDA1
ZWJjYTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuOS41LjJfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS45LjUuMl9BM19UMy5q
cwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnRvc3RyaW5nCiBk
ZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0
ZS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcu
bGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQo
CisgICFEYXRlLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3Ro
JyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNF
bnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3Ig
KHZhciB4IGluIERhdGUucHJvdG90eXBlLnRvU3RyaW5nKSB7Ci0gIGlmICh4ID09PSAibGVuZ3Ro
IikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUu
dG9TdHJpbmcubGVuZ3RoIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAibGVu
Z3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BMV9UMS5q
cwppbmRleCBkZWQxYTQxMmFlZjU4YzRiNWNkYTk3NDE1OTgwZmViYWQzOTE1MTIxLi5hOGU3Yzkz
YjgxMjE3YjI4ODY4N2NjZDRkNGZmMzI1MGRiODBjODMzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUu
NF9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BMV9UMS5qcwpAQCAtOCwxMCArOCwxNiBAQAog
LS0tKi8KIAogdmFyIHggPSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmc7Ci1pZiAoeCA9PT0g
MSkKK2lmICh4ID09PSAxKSB7CiAgIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyA9IDI7Ci1l
bHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgPSAxOwotaWYgKERh
dGUucHJvdG90eXBlLnRvVGltZVN0cmluZyA9PT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogVGhlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyBoYXMgbm90IHRoZSBhdHRy
aWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90
b3R5cGUudG9UaW1lU3RyaW5nLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBl
LnRvVGltZVN0cmluZyBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGB4YCcK
Kyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9U
aW1lU3RyaW5nL1MxNS45LjUuNF9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0ExX1QyLmpzCmluZGV4
IDYyYTAzMmFmMzI4MjQ1NGQ1MWU2YmExMTU0OGNiMjA3MzQzODkyM2YuLjUwNDZkYWZjYzRmYTUy
YWE2YjBjNjRmOWMwY2NmZWQ3YmE2ZWI0OWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0ExX1Qy
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90
b1RpbWVTdHJpbmcvUzE1LjkuNS40X0ExX1QyLmpzCkBAIC03LDEwICs3LDE1IEBACiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRlIGF0dHJpYnV0ZQogLS0tKi8KIAot
aWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgPT09IGZhbHNlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5n
IHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0
Lm5vdFNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZywKKyAg
ZmFsc2UsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmlu
ZyBpcyBub3QgZmFsc2UnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHko
J3RvVGltZVN0cmluZycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0
ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMg
RG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkoJ3RvVGltZVN0cmluZycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eShcJ3RvVGltZVN0cmluZ1wnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsK
KworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVT
dHJpbmcvUzE1LjkuNS40X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRfQTFfVDMuanMKaW5kZXggMTdk
NWNkOTAxODJkODM1MGUxNGM5MDBjYTYxODI0NzFmOTQ1OTc4Zi4uNmI4ODQ4YzZjOGNhNjk2NTk3
MGU2MDVhNDU5ODAwZTQ1MDQ3Mjc5OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRfQTFfVDMuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGlt
ZVN0cmluZy9TMTUuOS41LjRfQTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6IHNlYy1k
YXRlLnByb3RvdHlwZS50b3RpbWVzdHJpbmcKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250RW51
bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgndG9UaW1lU3RyaW5nJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRo
ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUg
RG9udEVudW0nKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCd0b1RpbWVTdHJpbmcnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUu
cHJvcGVydHlJc0VudW1lcmFibGUoXCd0b1RpbWVTdHJpbmdcJykgaXMgZXhwZWN0ZWQgdG8gYmUg
dHJ1ZScKKyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09
ICJ0b1RpbWVTdHJpbmciKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBE
YXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsK
LSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJ0b1RpbWVTdHJpbmciLCAnVGhlIHZhbHVl
IG9mIHggaXMgbm90ICJ0b1RpbWVTdHJpbmciJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BMl9UMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVT
dHJpbmcvUzE1LjkuNS40X0EyX1QxLmpzCmluZGV4IGNiMGJlYjE5YjE1NjBmYzJiNDIyMDc1NzE2
NTc0M2E0MTNhZjkwYWQuLmE2OTA4MThmYTg0MmY4NDQ2NGVmNDBlMTQ3Y2MzMDY3ZWIwMjAyYTEg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0EyX1Qx
LmpzCkBAIC0xLDE2ICsxLDIwIEBACiAvLyBDb3B5cmlnaHQgMjAwOSB0aGUgU3B1dG5payBhdXRo
b3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQogLyotLS0KIGluZm86
IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgInRvVGltZVN0cmluZyIgaXMgMAogZXNpZDog
c2VjLWRhdGUucHJvdG90eXBlLnRvdGltZXN0cmluZwogZGVzY3JpcHRpb246IFRoZSAibGVuZ3Ro
IiBwcm9wZXJ0eSBvZiB0aGUgInRvVGltZVN0cmluZyIgaXMgMAogLS0tKi8KIAotaWYgKERhdGUu
cHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSB0b1RpbWVTdHJpbmcgaGFzIGEg
Imxlbmd0aCIgcHJvcGVydHknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90
eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdE
YXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3Qg
cmV0dXJuIHRydWUnCispOworCiAKLWlmIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVu
Z3RoICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgImxlbmd0aCIg
cHJvcGVydHkgb2YgdGhlIHRvVGltZVN0cmluZyBpcyAwJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoLAorICAwLAorICAnVGhlIHZh
bHVlIG9mIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
YmUgMCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BM19UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40
X0EzX1QxLmpzCmluZGV4IDhhODcyOGFjOTg1NmIwZjI3YjI1MTRjNTEzMTVhN2NkMzNjYzAyNjQu
LmUwOGQxOTExNjU5NTRmZDJiMmU5YjJkYjBmZGEyODM2M2E0YTk1ZjkgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcv
UzE1LjkuNS40X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0EzX1QxLmpzCkBAIC0xMiw2ICsx
MiwxMSBAQAogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGg7CiB2
ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcsICJsZW5ndGgiLCBu
dWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoICE9PSB4KSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1l
U3RyaW5nLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3NlcnQu
c2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoLAorICB4LAor
ICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHgnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRv
IHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRfQTNfVDIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9UaW1l
U3RyaW5nL1MxNS45LjUuNF9BM19UMi5qcwppbmRleCA3ODBjODk1MmIxODlhYjIwMjBhNDM2Mjc4
MDhkMmIzNDIyMjE1ZjhlLi4xMDM3NTdjYjlhOTVmZDkzNzA2MzQzZDQ1M2MyMzlhNDYzN2M5ODEw
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9UaW1lU3RyaW5nL1MxNS45LjUuNF9BM19U
Mi5qcwpAQCAtOCwxMSArOCwxNSBAQAogZXNpZDogc2VjLWRhdGUucHJvdG90eXBlLnRvdGltZXN0
cmluZwogZGVzY3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5s
ZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50
b1RpbWVTdHJpbmcubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotaWYgKGRl
bGV0ZSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5n
Lmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUn
KTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9w
ZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnRvVGltZVN0
cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKIAotaWYgKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlw
ZS50b1RpbWVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0
ZXMgRG9udERlbGV0ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgp
IGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvUzE1LjkuNS40X0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRf
QTNfVDMuanMKaW5kZXggYTYzNDNjZWUyOTRjZGI3NWMxOTcxZDZkOTk5NjYwODgzYWE0YTM0MS4u
ZGNmNDE5YTVlNjMzN2UzOWQ1MmM2YWUzNjNiYjM1NDA5NzQ2Y2M1MCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9T
MTUuOS41LjRfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvVGltZVN0cmluZy9TMTUuOS41LjRfQTNfVDMuanMKQEAgLTgsMTMgKzgs
MTMgQEAKIGVzaWQ6IHNlYy1kYXRlLnByb3RvdHlwZS50b3RpbWVzdHJpbmcKIGRlc2NyaXB0aW9u
OiBDaGVja2luZyBEb250RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlw
ZS50b1RpbWVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLmxl
bmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAor
ICAhRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5n
dGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUudG9UaW1lU3RyaW5nLnByb3Bl
cnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwog
CiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZykgewotICBpZiAoeCA9
PT0gImxlbmd0aCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUu
cHJvdG90eXBlLnRvVGltZVN0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0n
KTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAnVGhlIHZhbHVlIG9m
IHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BMV9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUu
OS41LjQyX0ExX1QxLmpzCmluZGV4IDE1OTFhYWRhOGQ3NGYyMzIyYmM1ODYxYjlhODhkN2Y4YTAz
YThjNTcuLjY5NjRkODc4YmEyNWY3Y2Q5NTA5OGNkMTc5YjhmY2Q5ZWM5NzJkMGEgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0
cmluZy9TMTUuOS41LjQyX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41LjQyX0ExX1QxLmpzCkBAIC04
LDEwICs4LDE2IEBACiAtLS0qLwogCiB2YXIgeCA9IERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5n
OwotaWYgKHggPT09IDEpCitpZiAoeCA9PT0gMSkgewogICBEYXRlLnByb3RvdHlwZS50b1VUQ1N0
cmluZyA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyA9
IDE7Ci1pZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPT09IHgpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyBoYXMgbm90
IHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAg
RGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcsCisgIHgsCisgICdUaGUgdmFsdWUgb2YgRGF0ZS5w
cm90b3R5cGUudG9VVENTdHJpbmcgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBv
ZiBgeGAnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvVVRDU3RyaW5nL1MxNS45LjUuNDJfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BMV9UMi5q
cwppbmRleCA2YjFiZGYyMDE4NzcxNGZlZTMyNjU5MmI3OTkzODA3ZTFlZDIyMjA5Li41MTM5ZTcy
YjAyZjZjN2JjM2M2YjBhZTRiMjAxNTgyOWJmYjUwMWNjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40
Ml9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BMV9UMi5qcwpAQCAtNywxMCArNywxNSBAQAog
ZGVzY3JpcHRpb246IENoZWNraW5nIGFic2VuY2Ugb2YgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0t
LSovCiAKLWlmIChkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgPT09IGZhbHNlKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENT
dHJpbmcgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcs
CisgIGZhbHNlLAorICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0
cmluZyBpcyBub3QgZmFsc2UnCispOwogCi1pZiAoRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkoJ3RvVVRDU3RyaW5nJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBE
YXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyBwcm9wZXJ0eSBoYXMgbm90IHRoZSBhdHRyaWJ1dGVz
IERvbnREZWxldGUnKTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLmhhc093blByb3Bl
cnR5KCd0b1VUQ1N0cmluZycpLAorICAnVGhlIHZhbHVlIG9mICFEYXRlLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eShcJ3RvVVRDU3RyaW5nXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3Ry
aW5nL1MxNS45LjUuNDJfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BMV9UMy5qcwppbmRleCBiMmZi
MDU4NTM2NWJmNzIyM2UwNDE0N2VlNjNiMTdlYjcxMmM0NzNhLi5jMDE0MjhiMjk3OTQ4N2U3MmU2
ODM3NjZjY2NhYzEyNDhjZGI4NWE1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BMV9UMy5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENT
dHJpbmcvUzE1LjkuNS40Ml9BMV9UMy5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXNpZDogc2VjLWRh
dGUucHJvdG90eXBlLnRvdXRjc3RyaW5nCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0g
YXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ3RvVVRDU3RyaW5nJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBE
YXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250
RW51bScpOwotfQorYXNzZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFi
bGUoJ3RvVVRDU3RyaW5nJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3Bl
cnR5SXNFbnVtZXJhYmxlKFwndG9VVENTdHJpbmdcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
Kyk7CiAKIGZvciAodmFyIHggaW4gRGF0ZS5wcm90b3R5cGUpIHsKLSAgaWYgKHggPT09ICJ0b1VU
Q1N0cmluZyIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIERhdGUucHJv
dG90eXBlLnRvVVRDU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAg
YXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAidG9VVENTdHJpbmciLCAnVGhlIHZhbHVlIG9mIHggaXMg
bm90ICJ0b1VUQ1N0cmluZyInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41LjQyX0EyX1QxLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1MxNS45
LjUuNDJfQTJfVDEuanMKaW5kZXggZGFiZGM2Zjc2NGYyMDFmNGFkMzY4ODg4YTgzNTk3MzFjZmE1
YTk1Yi4uODQ3ZWM4YjcyMjljNzk2YzQ0NmUwYjdiMjJlNjgyOGNmNTEzNmNkZiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3Ry
aW5nL1MxNS45LjUuNDJfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1MxNS45LjUuNDJfQTJfVDEuanMKQEAgLTcs
MTAgKzcsMTQgQEAKIGRlc2NyaXB0aW9uOiBUaGUgImxlbmd0aCIgcHJvcGVydHkgb2YgdGhlICJ0
b1VUQ1N0cmluZyIgaXMgMAogLS0tKi8KIAotaWYgKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5n
Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogVGhlIHRvVVRDU3RyaW5nIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Jyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5oYXNPd25Q
cm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmlu
Zy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChE
YXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5sZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBvZiB0aGUgdG9VVENTdHJpbmcg
aXMgMCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJp
bmcubGVuZ3RoLAorICAwLAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnRvVVRDU3Ry
aW5nLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAwJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41
LjQyX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvVVRDU3RyaW5nL1MxNS45LjUuNDJfQTNfVDEuanMKaW5kZXggNDNiNmRhNTZlNWQ0MWMx
ZmNmMjUyOTg1MDk2NmYyNjA2OTRmODNlOC4uZDdjY2Y3MjUzNjlkZTk5YjNhMjNiMTRhNzc0MTlh
ZDAzN2YzNDIzMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1MxNS45LjUuNDJfQTNfVDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1MxNS45
LjUuNDJfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5
cGUudG9VVENTdHJpbmcubGVuZ3RoOwogdmVyaWZ5Tm90V3JpdGFibGUoRGF0ZS5wcm90b3R5cGUu
dG9VVENTdHJpbmcsICJsZW5ndGgiLCBudWxsLCAxKTsKLWlmIChEYXRlLnByb3RvdHlwZS50b1VU
Q1N0cmluZy5sZW5ndGggIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRo
ZSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1dGUgUmVh
ZE9ubHknKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUudG9VVENT
dHJpbmcubGVuZ3RoLAorICB4LAorICAnVGhlIHZhbHVlIG9mIERhdGUucHJvdG90eXBlLnRvVVRD
U3RyaW5nLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeCcKKyk7CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJp
bmcvUzE1LjkuNS40Ml9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41LjQyX0EzX1QyLmpzCmluZGV4IDAwMWI4
ZjM4ODQxZWY3NjI3ODg2MmY5MDM0YmE4ZjUwZjBhZDhlMDUuLjI1ZmJkOTU4YzlkYzk2YjRhZmRl
MGVkNTFiOGViZjdjOTg4ZDMzZjcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9TMTUuOS41LjQyX0EzX1QyLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0
cmluZy9TMTUuOS41LjQyX0EzX1QyLmpzCkBAIC05LDEwICs5LDE1IEBACiBkZXNjcmlwdGlvbjog
Q2hlY2tpbmcgRG9udERlbGV0ZSBhdHRyaWJ1dGUKIC0tLSovCiAKLWlmIChkZWxldGUgRGF0ZS5w
cm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIHByb3Bl
cnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmxlbmd0aCwK
KyAgdHJ1ZSwKKyAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvVVRDU3Ry
aW5nLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3Rv
dHlwZS50b1VUQ1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5sZW5ndGgg
cHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cith
c3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmhhc093
blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL1Mx
NS45LjUuNDJfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BM19UMy5qcwppbmRleCBjNjE1ZTNhNDA1
MmRkYTBlZDQ3OWEwYzAwMDAxNjA2ZTQ0NDA0N2UxLi5lNGQ3YWU1OWYzNTVmYzJiYTUwOTE3YTE0
ZjdiMjgzYmEzZmY4OTg1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcvUzE1LjkuNS40Ml9BM19UMy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9VVENTdHJpbmcv
UzE1LjkuNS40Ml9BM19UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNpZDogc2VjLWRhdGUucHJv
dG90eXBlLnRvdXRjc3RyaW5nCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVudW0gYXR0cmli
dXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUg
RGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmli
dXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmlu
Zy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUu
cHJvdG90eXBlLnRvVVRDU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCiBmb3IgKHZhciB4IGluIERhdGUucHJvdG90eXBl
LnRvVVRDU3RyaW5nKSB7Ci0gIGlmICh4ID09PSAibGVuZ3RoIikgewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcubGVuZ3RoIGhh
cyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4
LCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiB4IGlzIG5vdCAibGVuZ3RoIicpOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1Ljku
NS44X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0ExX1QxLmpzCmluZGV4IDFhZWVkODJiNjA4Yzc0YjQ4YzFj
ZjliNmE4MGIxNzJkODliZGJhNGMuLmMxOTZmZDMxOTQ1ZmE5YWEzNmViYzFiZWI0YjAxYzk2Nzk0
NDU4YjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS92YWx1ZU9mL1MxNS45LjUuOF9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUuOS41LjhfQTFfVDEuanMK
QEAgLTgsMTAgKzgsMTYgQEAKIC0tLSovCiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUudmFsdWVP
ZjsKLWlmICh4ID09PSAxKQoraWYgKHggPT09IDEpIHsKICAgRGF0ZS5wcm90b3R5cGUudmFsdWVP
ZiA9IDI7Ci1lbHNlCit9IGVsc2UgewogICBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID0gMTsKLWlm
IChEYXRlLnByb3RvdHlwZS52YWx1ZU9mID09PSB4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBoYXMgbm90IHRoZSBhdHRyaWJ1dGUg
UmVhZE9ubHknKTsKIH0KKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgRGF0ZS5wcm90b3R5cGUu
dmFsdWVPZiwKKyAgeCwKKyAgJ1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mIGlz
IGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHhgJworKTsKKworLy8gVE9ETzog
Q29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS45LjUuOF9B
MV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS92
YWx1ZU9mL1MxNS45LjUuOF9BMV9UMi5qcwppbmRleCA2YjhlYjQ1MjM0ZDIwOTEyOThhZWUzYmQ4
MTc1Yzg1ODAzYTA4NjhhLi4xZTdkYTQyYTg3ZDZmZTNkNWVkNGMzZDE5OTA3OWNjYmIyNjBkNjY1
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdmFsdWVPZi9TMTUuOS41LjhfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0ExX1QyLmpzCkBAIC03
LDEwICs3LDExIEBACiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgYWJzZW5jZSBvZiBEb250RGVsZXRl
IGF0dHJpYnV0ZQogLS0tKi8KIAotaWYgKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mID09
PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERhdGUucHJvdG90
eXBlLnZhbHVlT2YgcHJvcGVydHkgaGFzIG5vdCB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7
Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKGRlbGV0ZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mLCBm
YWxzZSwgJ1RoZSB2YWx1ZSBvZiBkZWxldGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZiBpcyBub3Qg
ZmFsc2UnKTsKIAotaWYgKERhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd2YWx1ZU9mJykp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS52YWx1
ZU9mIHByb3BlcnR5IGhhcyBub3QgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNz
ZXJ0KAorICAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3ZhbHVlT2YnKSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCd2YWx1ZU9mXCcpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVBy
b3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0ExX1QzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0Ex
X1QzLmpzCmluZGV4IDkzYWVkYmYwM2ZkYmY1NTYzNThiYjM5MWZlOTNjNjFkZTFiYjFkMzIuLmE1
ZGRhYTJhOTZiZWMwN2NkNGRlNDUxNjc2NmI4ZDZmNjUzYzAwOGIgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS45LjUu
OF9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdmFsdWVPZi9TMTUuOS41LjhfQTFfVDMuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzaWQ6
IHNlYy1kYXRlLnByb3RvdHlwZS52YWx1ZW9mCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgRG9udEVu
dW0gYXR0cmlidXRlCiAtLS0qLwotCi1pZiAoRGF0ZS5wcm90b3R5cGUucHJvcGVydHlJc0VudW1l
cmFibGUoJ3ZhbHVlT2YnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIERh
dGUucHJvdG90eXBlLnZhbHVlT2YgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0n
KTsKLX0KK2Fzc2VydCgKKyAgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCd2
YWx1ZU9mJyksCisgICdUaGUgdmFsdWUgb2YgIURhdGUucHJvdG90eXBlLnByb3BlcnR5SXNFbnVt
ZXJhYmxlKFwndmFsdWVPZlwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2
YXIgeCBpbiBEYXRlLnByb3RvdHlwZSkgewotICBpZiAoeCA9PT0gInZhbHVlT2YiKSB7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mIGhh
cyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0KKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4
LCAidmFsdWVPZiIsICdUaGUgdmFsdWUgb2YgeCBpcyBub3QgInZhbHVlT2YiJyk7CiB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUu
OS41LjhfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdmFsdWVPZi9TMTUuOS41LjhfQTJfVDEuanMKaW5kZXggMDZmYmUzZmQzYTdiZDA3YzU2
NDg1ZDIyZDNhY2ZhZWVmNWRhOGRkNy4uOGQzMzllNjdkOTJiNjJiMTJiYzdhMTg1NzU5MGRjMmM2
NzU4ZmQ5YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS45LjUuOF9BMl9UMS5q
cwpAQCAtNywxMCArNywxMCBAQAogZGVzY3JpcHRpb246IFRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBv
ZiB0aGUgInZhbHVlT2YiIGlzIDAKIC0tLSovCiAKLWlmIChEYXRlLnByb3RvdHlwZS52YWx1ZU9m
Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogVGhlIHZhbHVlT2YgaGFzIGEgImxlbmd0aCIgcHJvcGVydHknKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIERhdGUucHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHko
Imxlbmd0aCIpLAorICB0cnVlLAorICAnRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9w
ZXJ0eSgibGVuZ3RoIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlw
ZS52YWx1ZU9mLmxlbmd0aCAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
VGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIHRoZSB2YWx1ZU9mIGlzIDAnKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgsIDAsICdUaGUgdmFsdWUgb2Yg
RGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Zh
bHVlT2YvUzE1LjkuNS44X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjkuNS44X0EzX1QxLmpzCmluZGV4IDZkNzU3Y2E1
OGJjMmFmYWQzYzJmMWY0ZDJkN2Q1YzgwM2FmMWYwNjQuLmEzZTJiMDc3NjZkYjk4ZGEwNzgwYjdl
Mjc4MjczYzAwNzIzYWJlZjcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS45LjUuOF9BM19UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUuOS41
LjhfQTNfVDEuanMKQEAgLTEyLDYgKzEyLDExIEBACiAKIHZhciB4ID0gRGF0ZS5wcm90b3R5cGUu
dmFsdWVPZi5sZW5ndGg7CiB2ZXJpZnlOb3RXcml0YWJsZShEYXRlLnByb3RvdHlwZS52YWx1ZU9m
LCAibGVuZ3RoIiwgbnVsbCwgMSk7Ci1pZiAoRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgg
IT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBEYXRlLnByb3RvdHlw
ZS52YWx1ZU9mLmxlbmd0aCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwotfQorCithc3Nl
cnQuc2FtZVZhbHVlKAorICBEYXRlLnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCwKKyAgeCwKKyAg
J1RoZSB2YWx1ZSBvZiBEYXRlLnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgeCcKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5
UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUuOS41LjhfQTNfVDIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUuOS41Ljhf
QTNfVDIuanMKaW5kZXggZmEzOGUxZTk3OGFjM2M1OGViZDA2NmUxYjQwZDExODRmNzkzZDI1My4u
MTg4ZTdiNzVlYzI5NjJmNTQxN2NmNTIzNDk2NTViYTRjY2ZmNjY0NSAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1Ljku
NS44X0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS92YWx1ZU9mL1MxNS45LjUuOF9BM19UMi5qcwpAQCAtOSwxMCArOSwxNSBAQAogZGVz
Y3JpcHRpb246IENoZWNraW5nIERvbnREZWxldGUgYXR0cmlidXRlCiAtLS0qLwogCi1pZiAoZGVs
ZXRlIERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJv
cGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBkZWxldGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgsCisg
IHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBEYXRlLnByb3RvdHlwZS52YWx1ZU9mLmxl
bmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLWlmIChEYXRlLnByb3RvdHlwZS52
YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGRvZXMg
bm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhRGF0
ZS5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFs
dWUgb2YgIURhdGUucHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5
UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUuOS41LjhfQTNfVDMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TMTUuOS41Ljhf
QTNfVDMuanMKaW5kZXggOTM2Yjg5NTE3MTg5MzhjZjFhNjY0ZWYzM2Y1N2VlOWQ5ZTdiMDY3ZC4u
ZjkzMmY2OWExMGUyMmU3Mzc4ZWQ4ZmEzNzVlZGJiMDUyNDU5ODRhZCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzE1Ljku
NS44X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS92YWx1ZU9mL1MxNS45LjUuOF9BM19UMy5qcwpAQCAtOCwxMyArOCwxMyBAQAogZXNp
ZDogc2VjLWRhdGUucHJvdG90eXBlLnZhbHVlb2YKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBEb250
RW51bSBhdHRyaWJ1dGUKIC0tLSovCi0KLWlmIChEYXRlLnByb3RvdHlwZS52YWx1ZU9mLnByb3Bl
cnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogVGhlIERhdGUucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0
cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFEYXRlLnByb3RvdHlwZS52YWx1ZU9m
LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRGF0ZS5w
cm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBpcyBleHBl
Y3RlZCB0byBiZSB0cnVlJworKTsKIAogZm9yICh2YXIgeCBpbiBEYXRlLnByb3RvdHlwZS52YWx1
ZU9mKSB7Ci0gIGlmICh4ID09PSAibGVuZ3RoIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBUaGUgRGF0ZS5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggaGFzIHRoZSBhdHRyaWJ1
dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHgsICJsZW5ndGgiLCAn
VGhlIHZhbHVlIG9mIHggaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TOS40X0EzX1QxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzkuNF9B
M19UMS5qcwppbmRleCBjNGQ5N2ZiNmIxMzUzZDExYTZhYWRlOGU0NGQxOTlhMTE4ZjFiYTYzLi43
MWJkMmYyMmM2ZmI0OWNhMjYyZjg3N2E0ZmFmMTUwZGU0NzEyOTgxIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TOS40X0Ez
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS92YWx1ZU9mL1M5LjRfQTNfVDEuanMKQEAgLTEyLDcyICsxMiw0OCBAQCBSZXN1bHQgb2YgVG9J
bnRlZ2VyKHZhbHVlKSBjb252ZXJzaW9uIGlzIHRoZSByZXN1bHQgb2YgY29tcHV0aW5nCiAKIC8v
IENIRUNLIzEKIHZhciBkMSA9IG5ldyBEYXRlKDYuNTQzMjEpOwotaWYgKGQxLnZhbHVlT2YoKSAh
PT0gNikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdmFyIGQxID0gbmV3IERhdGUo
Ni41NDMyMSk7IGQxLnZhbHVlT2YoKSA9PT0gNjsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZDEu
dmFsdWVPZigpLCA2LCAnZDEudmFsdWVPZigpIG11c3QgcmV0dXJuIDYnKTsKIAogLy8gQ0hFQ0sj
MgogdmFyIGQyID0gbmV3IERhdGUoLTYuNTQzMjEpOwotaWYgKGQyLnZhbHVlT2YoKSAhPT0gLTYp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhciBkMiA9IG5ldyBEYXRlKC02LjU0
MzIxKTsgZDIudmFsdWVPZigpID09PSAtNjsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZDIudmFs
dWVPZigpLCAtNiwgJ2QyLnZhbHVlT2YoKSBtdXN0IHJldHVybiAtNicpOwogCiAvLyBDSEVDSyMz
CiB2YXIgZDMgPSBuZXcgRGF0ZSg2LjU0MzIxZTIpOwotaWYgKGQzLnZhbHVlT2YoKSAhPT0gNjU0
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiB2YXIgZDMgPSBuZXcgRGF0ZSg2LjU0
MzIxZTIpOyBkMy52YWx1ZU9mKCkgPT09IDY1NDsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZDMu
dmFsdWVPZigpLCA2NTQsICdkMy52YWx1ZU9mKCkgbXVzdCByZXR1cm4gNjU0Jyk7CiAKIC8vIENI
RUNLIzQKIHZhciBkNCA9IG5ldyBEYXRlKC02LjU0MzIxZTIpOwotaWYgKGQ0LnZhbHVlT2YoKSAh
PT0gLTY1NCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogdmFyIGQ0ID0gbmV3IERh
dGUoLTYuNTQzMjFlMik7IGQ0LnZhbHVlT2YoKSA9PT0gLTY1NDsnKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoZDQudmFsdWVPZigpLCAtNjU0LCAnZDQudmFsdWVPZigpIG11c3QgcmV0dXJuIC02NTQn
KTsKIAogLy8gQ0hFQ0sjNQogdmFyIGQ1ID0gbmV3IERhdGUoMC42NTQzMjFlMSk7Ci1pZiAoZDUu
dmFsdWVPZigpICE9PSA2KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiB2YXIgZDUg
PSBuZXcgRGF0ZSgwLjY1NDMyMWUxKTsgZDUudmFsdWVPZigpID09PSA2OycpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShkNS52YWx1ZU9mKCksIDYsICdkNS52YWx1ZU9mKCkgbXVzdCByZXR1cm4gNicp
OwogCiAvLyBDSEVDSyM2CiB2YXIgZDYgPSBuZXcgRGF0ZSgtMC42NTQzMjFlMSk7Ci1pZiAoZDYu
dmFsdWVPZigpICE9PSAtNikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogdmFyIGQ2
ID0gbmV3IERhdGUoLTAuNjU0MzIxZTEpOyBkNi52YWx1ZU9mKCkgPT09IC02OycpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZShkNi52YWx1ZU9mKCksIC02LCAnZDYudmFsdWVPZigpIG11c3QgcmV0dXJu
IC02Jyk7CiAKIC8vIENIRUNLIzcKIHZhciBkNyA9IG5ldyBEYXRlKHRydWUpOwotaWYgKGQ3LnZh
bHVlT2YoKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogdmFyIGQ3ID0g
bmV3IERhdGUodHJ1ZSk7IGQ3LnZhbHVlT2YoKSA9PT0gMTsnKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoZDcudmFsdWVPZigpLCAxLCAnZDcudmFsdWVPZigpIG11c3QgcmV0dXJuIDEnKTsKIAogLy8g
Q0hFQ0sjOAogdmFyIGQ4ID0gbmV3IERhdGUoZmFsc2UpOwotaWYgKGQ4LnZhbHVlT2YoKSAhPT0g
MCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjODogdmFyIGQ4ID0gbmV3IERhdGUoZmFs
c2UpOyBkOC52YWx1ZU9mKCkgPT09IDA7Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGQ4LnZhbHVl
T2YoKSwgMCwgJ2Q4LnZhbHVlT2YoKSBtdXN0IHJldHVybiAwJyk7CiAKIC8vIENIRUNLIzkKIHZh
ciBkOSA9IG5ldyBEYXRlKDEuMjNlMTUpOwotaWYgKGQ5LnZhbHVlT2YoKSAhPT0gMS4yM2UxNSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjOTogdmFyIGQ5ID0gbmV3IERhdGUoMS4yM2Ux
NSk7IGQ5LnZhbHVlT2YoKSA9PT0gMS4yM2UxNTsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZDku
dmFsdWVPZigpLCAxLjIzZTE1LCAnZDkudmFsdWVPZigpIG11c3QgcmV0dXJuIDEuMjNlMTUnKTsK
IAogLy8gQ0hFQ0sjMTAKIHZhciBkMTAgPSBuZXcgRGF0ZSgtMS4yM2UxNSk7Ci1pZiAoZDEwLnZh
bHVlT2YoKSAhPT0gLTEuMjNlMTUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEwOiB2
YXIgZDEwID0gbmV3IERhdGUoLTEuMjNlMTUpOyBkMTAudmFsdWVPZigpID09PSAtMS4yM2UxNTsn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZDEwLnZhbHVlT2YoKSwgLTEuMjNlMTUsICdkMTAudmFs
dWVPZigpIG11c3QgcmV0dXJuIC0xLjIzZTE1Jyk7CiAKIC8vIENIRUNLIzExCiB2YXIgZDExID0g
bmV3IERhdGUoMS4yM2UtMTUpOwotaWYgKGQxMS52YWx1ZU9mKCkgIT09IDApIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzExOiB2YXIgZDExID0gbmV3IERhdGUoMS4yM2UtMTUpOyBkMTEu
dmFsdWVPZigpID09PSAwOycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShkMTEudmFsdWVPZigpLCAw
LCAnZDExLnZhbHVlT2YoKSBtdXN0IHJldHVybiAwJyk7CiAKIC8vIENIRUNLIzEyCiB2YXIgZDEy
ID0gbmV3IERhdGUoLTEuMjNlLTE1KTsKLWlmIChkMTIudmFsdWVPZigpICE9PSAtMCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTI6IHZhciBkMTIgPSBuZXcgRGF0ZSgtMS4yM2UtMTUp
OyBkMTIudmFsdWVPZigpID09PSAtMDsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZDEyLnZhbHVl
T2YoKSwgMCwgJ2QxMi52YWx1ZU9mKCkgbXVzdCByZXR1cm4gMCcpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2YvUzkuNF9B
M19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS92
YWx1ZU9mL1M5LjRfQTNfVDIuanMKaW5kZXggZDVlNmM0MDA5OWI4NTBjNDY4NWQyMWEzYmQxNDlk
MWJmN2RkNzdjNC4uNDJlMDJiNmY2NzJjZDU2ZDkwMWI3OGJkNjIxNzExYTIzNjk4ZjczZCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Zh
bHVlT2YvUzkuNF9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9TOS40X0EzX1QyLmpzCkBAIC0xNCwyNCArMTQsMjAgQEAg
Rm9yIHRlc3RpbmcgY29uc3RydWN0b3IgRGF0ZShOYU4sIEluZmluaXR5LCBJbmZpbml0eSwgKzAg
YW5kIC0wKQogCiAvLyBDSEVDSyMxCiB2YXIgZDEgPSBuZXcgRGF0ZShOdW1iZXIuTmFOKTsKLWFz
c2VydC5zYW1lVmFsdWUoZDEudmFsdWVPZigpLCBOYU4sICJOYU4iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoZDEudmFsdWVPZigpLCBOYU4sICdkMS52YWx1ZU9mKCkgcmV0dXJucyBOYU4nKTsKIAogLy8g
Q0hFQ0sjMgogdmFyIGQyID0gbmV3IERhdGUoSW5maW5pdHkpOwotYXNzZXJ0LnNhbWVWYWx1ZShk
Mi52YWx1ZU9mKCksIE5hTiwgIkluZmluaXR5Iik7Cithc3NlcnQuc2FtZVZhbHVlKGQyLnZhbHVl
T2YoKSwgTmFOLCAnZDIudmFsdWVPZigpIHJldHVybnMgTmFOJyk7CiAKIC8vIENIRUNLIzMKIHZh
ciBkMyA9IG5ldyBEYXRlKC1JbmZpbml0eSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGQzLnZhbHVlT2Yo
KSwgTmFOLCAiLUluZmluaXR5Iik7Cithc3NlcnQuc2FtZVZhbHVlKGQzLnZhbHVlT2YoKSwgTmFO
LCAnZDMudmFsdWVPZigpIHJldHVybnMgTmFOJyk7CiAKIC8vIENIRUNLIzQKIHZhciBkNCA9IG5l
dyBEYXRlKDApOwotaWYgKGQ0LnZhbHVlT2YoKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogdmFyIGQ0ID0gbmV3IERhdGUoMCk7IGQ0LnZhbHVlT2YoKSA9PT0gMDsnKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoZDQudmFsdWVPZigpLCAwLCAnZDQudmFsdWVPZigpIG11c3Qg
cmV0dXJuIDAnKTsKIAogLy8gQ0hFQ0sjNQogdmFyIGQ1ID0gbmV3IERhdGUoLTApOwotaWYgKGQ1
LnZhbHVlT2YoKSAhPT0gLTApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IHZhciBk
NSA9IG5ldyBEYXRlKC0wKTsgZDUudmFsdWVPZigpID09PSAtMDsnKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoZDUudmFsdWVPZigpLCAwLCAnZDUudmFsdWVPZigpIG11c3QgcmV0dXJuIDAnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUv
UzE1LjExLjMuMV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJv
ci9wcm90b3R5cGUvUzE1LjExLjMuMV9BMV9UMS5qcwppbmRleCA2YTE4N2YwZWZmNzY0ZGMwZGFj
NmY1ZDEyMTYxNzdiZDM1M2QyZjQzLi45NmQ3OWU0ZWQzZjNlZGM3OGY5ZGY0NzIzYmVmZTdmODk3
MzE2N2EwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3Iv
cHJvdG90eXBlL1MxNS4xMS4zLjFfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuMy4xX0ExX1QxLmpzCkBAIC0xMywxMSAr
MTMsMTEgQEAKIC8vQ0hFQ0sjMQogdmVyaWZ5Tm90Q29uZmlndXJhYmxlKEVycm9yLCAicHJvdG90
eXBlIik7CiB0cnkgewotICBpZiAoKGRlbGV0ZSBFcnJvci5wcm90b3R5cGUpICE9PSBmYWxzZSkg
ewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBFcnJvci5wcm90b3R5cGUgaGFzIHRo
ZSBhdHRyaWJ1dGUgRG9udERlbGV0ZScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRl
IEVycm9yLnByb3RvdHlwZSwgZmFsc2UpOwogfSBjYXRjaCAoZSkgewotICBpZiAoZSBpbnN0YW5j
ZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKKyAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJy
b3IpIHsKKyAgICB0aHJvdyBlOworICB9CiAgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9y
KTsKIH0KIC8vCkBAIC0zMCwzICszMCw1IEBACiB9CiAvLwogLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4x
MS4zLjFfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJv
dG90eXBlL1MxNS4xMS4zLjFfQTJfVDEuanMKaW5kZXggZjY0ZTY4NWU2MmNhNDhkODkxNDcyZDgz
MTliMjU0Y2NjMzE3NThlNi4uNGEwYjVmOWJhZTRkMjc1NWE1NTQ3MDlkYzA5OWMzNWMzMGE1MGUx
MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3Rv
dHlwZS9TMTUuMTEuMy4xX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9FcnJvci9wcm90b3R5cGUvUzE1LjExLjMuMV9BMl9UMS5qcwpAQCAtNiwyMSArNiwxMyBA
QAogZXM1aWQ6IDE1LjExLjMuMV9BMl9UMQogZGVzY3JpcHRpb246IENoZWNraW5nIGlmIGVudW1l
cmF0aW5nIHRoZSBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKIC0tLSovCithc3NlcnQo
RXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpLCAnRXJyb3IuaGFzT3duUHJvcGVydHko
XCdwcm90b3R5cGVcJykgbXVzdCByZXR1cm4gdHJ1ZScpOwogCi0vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KLS8vQ0hFQ0sjMAotaWYgKCEoRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogRXJyb3IuaGFzT3duUHJvcGVydHkoXCdw
cm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJyArIEVycm9yLmhhc093blByb3BlcnR5
KCdwcm90b3R5cGUnKSk7Ci19Ci0vLwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KK2Fzc2VydCgK
KyAgIUVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhRXJyb3IucHJvcGVydHlJc0VudW1lcmFibGUoXCdwcm90b3R5cGVcJykgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8gQ0hFQ0sjMQot
aWYgKEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogRXJyb3IucHJvcGVydHlJc0VudW1lcmFibGUoXCdwcm90b3R5
cGVcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcgKyBFcnJvci5wcm9wZXJ0eUlzRW51bWVyYWJs
ZSgncHJvdG90eXBlJykpOwotfQogLy8KIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCkBAIC0zMCwx
MSArMjIsMTEgQEAKIHZhciBjb3V0ID0gMDsKIAogZm9yICh2YXIgcCBpbiBFcnJvcikgewotICBp
ZiAocCA9PT0gInByb3RvdHlwZSIpIGNvdXQrKzsKKyAgaWYgKHAgPT09ICJwcm90b3R5cGUiKSB7
CisgICAgY291dCsrOworICB9CiB9CiAKLWlmIChjb3V0ICE9PSAwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBjb3V0ID09PSAwLiBBY3R1YWw6ICcgKyBjb3V0KTsKLX0KLS8vCi0v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KK2Fzc2VydC5zYW1lVmFsdWUoY291dCwgMCwgJ1RoZSB2YWx1
ZSBvZiBjb3V0IGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2
ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvUzE1LjExLjMuMV9BM19UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvUzE1LjExLjMuMV9BM19UMS5q
cwppbmRleCBhOGZmNDZmNmZhNmQ0OWFlNWUzNjU1MWY3NTBhOTEwYjZmMzg0ODExLi40Y2I4N2Nm
NTk5NTc5YjBkZGE2YzU5ZTFhNjZkZDJlOWRmMTExNDAxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS4zLjFfQTNfVDEuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUu
MTEuMy4xX0EzX1QxLmpzCkBAIC03LDE0ICs3LDcgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBp
ZiB2YXJ5aW5nIHRoZSBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKIGluY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCiAtLS0qLwotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vQ0hF
Q0sjMQotaWYgKCEoRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogRXJyb3IuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVc
JykgcmV0dXJuIHRydWUuIEFjdHVhbDogJyArIEVycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5
cGUnKSk7Ci19Ci0vLwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCithc3NlcnQoRXJyb3IuaGFzT3du
UHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKIAogdmFyIF9fb2JqID0gRXJyb3IucHJvdG90eXBlOwog
CkBAIC0yMiwyMSArMTUsNyBAQAogICByZXR1cm4gInNoaWZ0ZWQiOwogfSk7CiAKLS8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwotLy9DSEVDSyMyCi1pZiAoRXJyb3IucHJvdG90eXBlICE9PSBfX29iaikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19vYmogPSBFcnJvci5wcm90b3R5cGU7
IEVycm9yLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBFcnJvci5w
cm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyBFcnJvci5wcm90b3R5cGUpOwotfQotLy8K
LS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLworYXNzZXJ0LnNhbWVWYWx1ZShFcnJvci5wcm90b3R5cGUs
IF9fb2JqKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4K
IAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vL0NIRUNLIzMKLXRyeSB7Ci0gIEVycm9yLnByb3Rv
dHlwZSgpOwotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogIkVycm9yLnByb3RvdHlwZSgp
IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwotfSBjYXRjaCAoZSkgewotICBpZiAoZSBp
bnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKLX0KLS8vCi0vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9w
cm90b3R5cGUvUzE1LjExLjMuMV9BNF9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9FcnJvci9wcm90b3R5cGUvUzE1LjExLjMuMV9BNF9UMS5qcwppbmRleCBjYjMxMmZlYWMy
Yjc0MGI4MDRmMmQzNzY4NDc5OTA3ZjIxYWQwMDNhLi40YTQ3YmE1NGNiNWFhNWVmZGJmZjZlOThh
NDkzNGFhMGM0MDgxNDI4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS4zLjFfQTRfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuMy4xX0E0X1QxLmpzCkBA
IC02LDExICs2LDQgQEAKIGVzNWlkOiAxNS4xMS4zLjFfQTRfVDEKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyBFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykKIC0tLSovCi0KLS8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwotLy9DSEVDSyMxCi1pZiAoIShFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJv
dG90eXBlJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBFcnJvci5oYXNPd25Q
cm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnICsgRXJyb3IuaGFz
T3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKLX0KLS8vCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
K2Fzc2VydChFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJyksICdFcnJvci5oYXNPd25Q
cm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSBtdXN0IHJldHVybiB0cnVlJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS40X0Ex
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUu
MTEuNF9BMS5qcwppbmRleCA1Nzc1OGVkODE1ZjE1OWEwOWM4MGY2NzRiY2ZiZmZjZTAwNzI4MGQw
Li40Nzg0Y2ZmODM0OTc5NTE4N2Q1MzJmZGQ0ZDg2OTljYWJhNWM4MDcxIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS40X0Ex
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUv
UzE1LjExLjRfQTEuanMKQEAgLTgsMTEgKzgsNyBAQAogZXM1aWQ6IDE1LjExLjRfQTEKIGRlc2Ny
aXB0aW9uOiBHZXQgRXJyb3IucHJvdG90eXBlIGFuZCBjb21wYXJlIHdpdGggT2JqZWN0LnByb3Rv
dHlwZQogLS0tKi8KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLyBDSEVDSyMxCi1pZiAoIU9i
amVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihFcnJvci5wcm90b3R5cGUpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJy
b3IucHJvdG90eXBlKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnICsgT2JqZWN0LnByb3RvdHlwZS5p
c1Byb3RvdHlwZU9mKEVycm9yLnByb3RvdHlwZSkpOwotfQotLy8KLS8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLworYXNzZXJ0KAorICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJv
dG90eXBlKSwKKyAgJ09iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihFcnJvci5wcm90b3R5
cGUpIG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuNF9BMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvUzE1LjExLjRfQTIuanMKaW5kZXgg
ZGUxOGMxYzM5MmQ4ZWFlN2MzYmYyMzU4MzVlMjJiN2I1NTJiMWI2Yy4uM2E1Y2JjOTlmMjhiNDQ4
ZTQyMzhmMjcyOWMzYjQwM2FiMDJlOGY0OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuNF9BMi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL1MxNS4xMS40X0EyLmpzCkBA
IC0xNCwxMCArMTQsNCBAQAogRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZzsKIHZhciBfX3Rvc3RyID0gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nKCk7
CiAKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy9DSEVDSyMxCi1pZiAoX190b3N0ciAhPT0gIltv
YmplY3QgT2JqZWN0XSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IEVycm9yLnBy
b3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3Rvc3RyID0gRXJy
b3IucHJvdG90eXBlLnRvU3RyaW5nKCk7IF9fdG9zdHIgPT09ICJbb2JqZWN0IE9iamVjdF0iLiBB
Y3R1YWw6ICcgKyBfX3Rvc3RyKTsKLX0KLS8vCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KK2Fzc2Vy
dC5zYW1lVmFsdWUoX190b3N0ciwgIltvYmplY3QgT2JqZWN0XSIsICdUaGUgdmFsdWUgb2YgX190
b3N0ciBpcyBleHBlY3RlZCB0byBiZSAiW29iamVjdCBPYmplY3RdIicpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuNF9B
My5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvUzE1
LjExLjRfQTMuanMKaW5kZXggOThjNzc2NTE3YzM1NzY1OTg5ZTQzMGQ2YjBkMTEzYmQ4ZTgzNWI0
ZC4uODBhMjEyYjFlNzVmZjMxMDE3MWQyMDY2YTc1ZTI4NGRkOTI2YjlkMSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuNF9B
My5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBl
L1MxNS4xMS40X0EzLmpzCkBAIC03LDEzICs3LDcgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBp
ZiBjYWxsIG9mIEVycm9yIHByb3RvdHlwZSBhcyBhIGZ1bmN0aW9uIGZhaWxzCiAtLS0qLwogCi0v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vQ0hFQ0sjMQotdHJ5IHsKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CiAgIEVycm9yLnByb3RvdHlwZSgpOwotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlv
bicpOwotfSBjYXRjaCAoZSkgewotICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhy
b3cgZTsKLX0KLS8vCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RXJyb3IvcHJvdG90eXBlL1MxNS4xMS40X0E0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9TMTUuMTEuNF9BNC5qcwppbmRleCBmNTI0MjkyYTdmNTk5
YjY1NTlkNGI3OWQwYjQ5NTM5MmZhOTdjOTM1Li4xYjczNGNmY2UwOWRkM2Y2NTZiY2Q2MDU1ZmZi
YTQyMDYyMzNkNTBkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RXJyb3IvcHJvdG90eXBlL1MxNS4xMS40X0E0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvUzE1LjExLjRfQTQuanMKQEAgLTcsMTMgKzcsNyBA
QAogZGVzY3JpcHRpb246IENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgRXJyb3IucHJvdG90eXBl
IiBmYWlscwogLS0tKi8KIAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vL0NIRUNLIzEKLXRyeSB7
Ci0gIHZhciBfX2luc3RhbmNlID0gbmV3IEVycm9yLnByb3RvdHlwZTsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6ICJ2YXIgX19pbnN0YW5jZSA9IG5ldyBFcnJvci5wcm90b3R5cGUiIGxl
YWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Ci19IGNhdGNoIChlKSB7Ci0gIGlmIChlIGluc3Rh
bmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwotfQotLy8KLS8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEVycm9yLnByb3RvdHlw
ZSgpOworICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1
LjExLjQuMV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9w
cm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjExLjQuMV9BMV9UMi5qcwppbmRleCBlZjM3NDU1YjEy
MjU4Y2VhY2I0NjAyMzUxY2UwZGQyODdjY2JjM2VmLi41YmY3MDA2OWNjNGYxNTIyZjdiODk0MTc1
MTY3ZjM5M2VlYzIyNDY5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRXJyb3IvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS4xMS40LjFfQTFfVDIuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS9jb25zdHJ1Y3Rv
ci9TMTUuMTEuNC4xX0ExX1QyLmpzCkBAIC0xNSw0NCArMTUsMTQgQEAKIAogdmFyIGVyciA9IG5l
dyBjb25zdHI7CiAKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8gQ0hFQ0sjMAotaWYgKGVyciA9
PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBjb25zdHIgPSBF
cnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IGVyciA9PT0gdW5k
ZWZpbmVkJyk7Ci19Ci0vLwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KLS8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLwotLy8gQ0hFQ0sjMQotaWYgKGVyci5jb25zdHJ1Y3RvciAhPT0gRXJyb3IpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25z
dHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgZXJyLmNvbnN0cnVjdG9yID09PSBFcnJvci4gQWN0
dWFsOiAnICsgZXJyLmNvbnN0cnVjdG9yKTsKLX0KLS8vCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
LQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLyBDSEVDSyMyCi1pZiAoIShFcnJvci5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZihlcnIpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
Y29uc3RyID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBlcnIgPSBuZXcgY29uc3RyOyBF
cnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcg
KyBFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIpKTsKLX0KK2Fzc2VydC5ub3RTYW1l
VmFsdWUoZXJyLCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgZXJyIGlzIGV4cGVjdGVkIHRvIG5v
dCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7Cithc3NlcnQuc2FtZVZhbHVlKGVyci5jb25zdHJ1Y3Rv
ciwgRXJyb3IsICdUaGUgdmFsdWUgb2YgZXJyLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBFcnJvcicpOworYXNzZXJ0KEVycm9yLnByb3RvdHlwZS5pc1Byb3Rv
dHlwZU9mKGVyciksICdFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIpIG11c3QgcmV0
dXJuIHRydWUnKTsKIC8vCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAogLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCiAvLyBDSEVDSyMzCiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nOwotdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnICsgJ0Vy
cm9yJyArICddJzsKLWlmIChlcnIudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogY29uc3RyID0gRXJyb3IucHJvdG90eXBlLmNv
bnN0cnVjdG9yOyBlcnIgPSBuZXcgY29uc3RyOyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZzsgZXJyLnRvU3RyaW5nKCkgPT09IFwnW29iamVjdCBFcnJv
cl1cJy4gQWN0dWFsOiAnICsgZXJyLnRvU3RyaW5nKCkpOwotfQotLy8KLS8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLwotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIENIRUNLIzQKLWlmIChlcnIudmFs
dWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJy
ID0gbmV3IGNvbnN0cjsgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmc7IGVyci52YWx1ZU9mKCkudG9TdHJpbmcoKSA9PT0gXCdbb2JqZWN0IEVycm9yXVwn
LiBBY3R1YWw6ICcgKyBlcnIudmFsdWVPZigpLnRvU3RyaW5nKCkpOwotfQotLy8KLS8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLworYXNzZXJ0LnNhbWVWYWx1ZShlcnIudG9TdHJpbmcoKSwgJ1tvYmplY3Qg
RXJyb3JdJywgJ2Vyci50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IEVycm9yXSInKTsK
K2Fzc2VydC5zYW1lVmFsdWUoZXJyLnZhbHVlT2YoKS50b1N0cmluZygpLCAnW29iamVjdCBFcnJv
cl0nLCAnZXJyLnZhbHVlT2YoKS50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0IEVycm9y
XSInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9FcnJvci9w
cm90b3R5cGUvdG9TdHJpbmcvUzE1LjExLjQuNF9BMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9FcnJvci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjExLjQuNF9BMi5qcwppbmRl
eCBhNTkyNDY3OGE3YmIzZmM2ZjVjYjkyMWFlY2ExNjc0NzRkOTU3MmQyLi5jZmNhZTljZGU2MjNi
YTFhZWFjNTBhYjg4OGM5OGVhMTFmY2E3ZjgyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRXJyb3IvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMS40LjRfQTIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuMTEuNC40X0EyLmpzCkBAIC00LDIwICs0LDcgQEAKIC8qLS0tCiBpbmZvOiBUaGUg
RXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgYW4gaW1wbGVtZW50YXRpb24gZGVmaW5l
ZCBzdHJpbmcKIGVzNWlkOiAxNS4xMS40LjRfQTIKLWRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBj
YWxsIG9mIEVycm9yLnByb3RvdHlwZS50b1N0aW5nKCkgZmFpbHMKK2Rlc2NyaXB0aW9uOiBDaGVj
a2luZyBpZiBjYWxsIG9mIEVycm9yLnByb3RvdHlwZS50b1N0cmluZygpIGZhaWxzCiAtLS0qLwog
Ci0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIENIRUNLIzEKLXZhciBlcnIxID0gbmV3IEVycm9y
KCJFcnJvciIpOwotdHJ5IHsKLSAgdmFyIHRvU3RyID0gZXJyMS50b1N0cmluZygpOwotfQotY2F0
Y2ggKGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHZhciBlcnIxPW5ldyBFcnJv
cigiRXJyb3IiKTsgdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsgbGVhZCB0byB0aHJvd2luZyBl
eGNlcHRpb24uIEV4Y2VwdGlvbiBpcyAnICsgZSk7Ci19Ci1pZiAodG9TdHIgPT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdmFyIGVycjE9bmV3IEVycm9yKCJF
cnJvciIpOyB2YXIgdG9TdHI9ZXJyMS50b1N0cmluZygpOyB0b1N0ciE9PXVuZGVmaW5lZC4gQWN0
dWFsOiAnICsgdG9TdHIpOwotfQotLy8KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworYXNzZXJ0Lm5v
dFNhbWVWYWx1ZShuZXcgRXJyb3IoIkVycm9yIikudG9TdHJpbmcoKSwgdW5kZWZpbmVkLCAnVGhl
IHZhbHVlIG9mIHRvU3RyIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzEw
LjEuMV9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTAuMS4xX0ExX1QzLmpzCmluZGV4IDU0ZjdlYjllYWY1MjEyMzE5N2Y3N2JjYmU1ZTNmNmM1OTU2
OGFhN2IuLjQyNDU0MDZkOTVjNDVhMTdkZDc4ZTdiMTc4N2E3NzExNDI4YjE0NjcgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTAuMS4xX0ExX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTAuMS4x
X0ExX1QzLmpzCkBAIC0xMSw5ICsxMSwxMiBAQAogICAgIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9y
CiAtLS0qLwogCi0vL0NIRUNLIzEKIHZhciB4ID0gbmV3IGZ1bmN0aW9uIGYxKCkgewogICByZXR1
cm4gMTsKIH07Ci1pZiAodHlwZW9mKHguY29uc3RydWN0b3IpICE9PSAiZnVuY3Rpb24iKQotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdHlwZW9mKHguY29uc3RydWN0b3IpIT09ImZ1bmN0
aW9uIicpOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YoeC5jb25zdHJ1Y3RvciksCisg
ICJmdW5jdGlvbiIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZih4LmNvbnN0cnVjdG9yKWAgaXMg
ZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4xX0ExX1QxLmpzCmluZGV4IGQ5NTY1
MzI5OTAzYjE2NDQ3ZDBhMWM2OTFhY2NlZDlkZDU3OGEyYWYuLjA5NDg4MzVmMmM1NDFkYTNlNzZj
ZGE0MDkwYTU0NTJkN2M0ZjdjMzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4xX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4xX0ExX1QxLmpzCkBAIC0xMSwzMCArMTEsMTIg
QEAgVGhlIGZ1bmN0aW9uIGNhbGwgRnVuY3Rpb24o4oCmKSBpcyBlcXVpdmFsZW50IHRvIHRoZSBv
YmplY3QgY3JlYXRpb24gZXhwcmVzc2lvbgogCiB2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gYXJn
dW1lbnRzWzBdOyIpOwogCi0vL0NIRUNLIzEKLWlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGYgaW5zdGFuY2VvZiBGdW5jdGlvbicp
OwotfQotCi0vL0NIRUNLIzIKLWlmIChmKDEpICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBmKDEpICE9PSAxJyk7Ci19Cithc3NlcnQoZiBpbnN0YW5jZW9mIEZ1bmN0aW9u
LCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChmIGluc3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZigxKSwgMSwgJ2YoMSkgbXVz
dCByZXR1cm4gMScpOwogCiB2YXIgZyA9IG5ldyBGdW5jdGlvbigicmV0dXJuIGFyZ3VtZW50c1sw
XTsiKTsKIAogCi0vL0NIRUNLIzMKLWlmICghKGcgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IGcgaW5zdGFuY2VvZiBGdW5jdGlvbicpOwotfQot
Ci0vL0NIRUNLIzQKLWlmIChnKCJBIikgIT09ICJBIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNDogZygiQSIpICE9PSAiQSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoZygiQSIpICE9
PSBmKCJBIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IGcoIkEiKSAhPT0gZigi
QSIpJyk7Ci19Cithc3NlcnQoZyBpbnN0YW5jZW9mIEZ1bmN0aW9uLCAnVGhlIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIChnIGluc3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
KTsKK2Fzc2VydC5zYW1lVmFsdWUoZygiQSIpLCAiQSIsICdnKCJBIikgbXVzdCByZXR1cm4gIkEi
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKGcoIkEiKSwgZigiQSIpLCAnZygiQSIpIG11c3QgcmV0dXJu
IHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5IGYoIkEiKScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UMS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDEuanMK
aW5kZXggNmZjOGMwY2VlNjJhZWUwNjA1OWU4NTY4NzEzZWU0NTYxZTBkMzg2OS4uYTY1YmIyZWRl
ODVkMmZlNjVlODkxOWJkNjQxNTQ2ZjI3MWI2NmFjYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QxLmpzCkBA
IC0yMCwxMiArMjAsOSBAQAogICB9CiB9CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBu
ZXcgRnVuY3Rpb24oYm9keSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBXaGVuIHRo
ZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBi
b2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwIGFyZSB0YWtlbjogY2FsbCBU
b1N0cmluZyhib2R5KScpOwogfSBjYXRjaCAoZSkgewotICBpZiAoZSAhPT0gNykgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9y
IGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0
aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7Ci0gIH0K
KyAgYXNzZXJ0LnNhbWVWYWx1ZShlLCA3LCAnVGhlIHZhbHVlIG9mIGUgaXMgZXhwZWN0ZWQgdG8g
YmUgNycpOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL1MxNS4zLjIuMV9BMV9UMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QxMC5qcwppbmRleCBlZGU0Mzc4MGJjMGNmMmZmN2Fk
NDk4Y2EyMWY2YWYwNjEyYTY1YjFjLi5kYzU3YmU2ZmE5ODk4ZDU0NGNmMWRjODJmMzlmYmJmYmJk
NzQxOWQ2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vUzE1LjMuMi4xX0ExX1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QxMC5qcwpAQCAtMTQsMTkgKzE0LDExIEBACiBkZXNj
cmlwdGlvbjogVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJu
dWxsIgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IG5ldyBGdW5jdGlvbihu
dWxsKTsKIH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRlc3Qg
ZmFpbHMgd2l0aCBlcnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0
b3IgIT09IEZ1bmN0aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRo
ZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBi
b2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFz
IHNwZWNpZmllZCBpbiAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gdW5kZWZp
bmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBj
b25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQg
YXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoZi5jb25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFsdWUgb2YgZi5jb25zdHJ1
Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVuY3Rpb24nKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoZigpLCB1bmRlZmluZWQsICdmKCkgcmV0dXJucyB1bmRlZmluZWQnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4y
LjFfQTFfVDExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BMV9UMTEuanMKaW5kZXggMTc0MjM1NzIzYWY1MTJiMGZkZGEyMmExZTNiOGMwYTMw
Yzc4ZDFjYi4uZDU1NmM4YjI3YTUxZDE5NTU4NjNkMzk2NmRmODhjYWE5ODBiMzM1NCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9B
MV9UMTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BMV9UMTEuanMKQEAgLTE0LDE5ICsxNCwxMSBAQAogZGVzY3JpcHRpb246IFZhbHVl
IG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAidW5kZWZpbmVkIgogLS0t
Ki8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IG5ldyBGdW5jdGlvbih1bmRlZmluZWQp
OwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGVzdCBmYWls
ZWQgd2l0aCBlcnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0b3Ig
IT09IEZ1bmN0aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBG
dW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5
IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNw
ZWNpZmllZCBpbiAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gdW5kZWZpbmVk
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25z
dHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJn
dW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoZi5jb25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFsdWUgb2YgZi5jb25zdHJ1Y3Rv
ciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVuY3Rpb24nKTsKK2Fzc2VydC5z
YW1lVmFsdWUoZigpLCB1bmRlZmluZWQsICdmKCkgcmV0dXJucyB1bmRlZmluZWQnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFf
QTFfVDEyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4z
LjIuMV9BMV9UMTIuanMKaW5kZXggZWZkZDU3NDQyNWU5ZWE1MjgwNGM2ZDVjZjViZWNiNjFmNDZh
M2Y5YS4uZTMwYjhkNTA3NjliM2FiYTU0N2ZlMzE4MjQ3Y2Y0Mjg0YjRiNzYyYSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9U
MTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4z
LjIuMV9BMV9UMTIuanMKQEAgLTE0LDE5ICsxNCwxMSBAQAogZGVzY3JpcHRpb246IFZhbHVlIG9m
IHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAidm9pZCAwIgogLS0tKi8KIAot
Ly9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IG5ldyBGdW5jdGlvbih2b2lkIDApOwogfSBjYXRj
aCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBl
cnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0
aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBj
b25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQg
YXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBp
biAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBp
cyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhl
IGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZi5j
b25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFsdWUgb2YgZi5jb25zdHJ1Y3RvciBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUo
ZigpLCB1bmRlZmluZWQsICdmKCkgcmV0dXJucyB1bmRlZmluZWQnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDEzLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9U
MTMuanMKaW5kZXggMTMxOTgxZjM1MGM2NzQ1NWIxNzFjMjZmOTBhMTA5YWE0OTQ1NDlhOS4uNDA1
MjRmODM5ODdlNTgyYjMxMjViNzI2NGZjNDFhYWZhOTA1ZDc4NyAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UMTMuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9U
MTMuanMKQEAgLTE0LDEyICsxNCwxMiBAQAogZGVzY3JpcHRpb246IFZhbHVlIG9mIHRoZSBmdW5j
dGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudCBpcyAie30iCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRy
eSB7CiAgIHZhciBmID0gbmV3IEZ1bmN0aW9uKHt9KTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJyArIGUpOwogfSBjYXRjaCAoZSkgewotICBp
ZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzEuMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4g
dGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKLSAgfQorICBhc3NlcnQoCisgICAgZSBp
bnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUg
aW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUu
My4yLjFfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjMuMi4xX0ExX1QyLmpzCmluZGV4IDZmNTRlY2ZiYWRkNTc4NGI0OTVjMmE2ZDk5ZTdkYTM4
MGJjMjQ1YzUuLjQ5ZDJkODg2ODAwZWUyNWRhOWIwZDQ3NWFkYWZiZDNlOWE0ZGJkYzUgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFf
QTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BMV9UMi5qcwpAQCAtMjIsMTkgKzIyLDExIEBACiAgIH0KIH07CiAKLS8vQ0hFQ0sj
MQogdHJ5IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7CiB9IGNhdGNoIChlKSB7CiAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcgKyBl
KTsKIH0KIAotLy9DSEVDSyMyCi1pZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9y
IGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBh
bmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsK
LX0KLQotLy9DSEVDSyMzCi1pZiAoZigpICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiBoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBh
cmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFy
ZSB0YWtlbi4uLicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmLmNvbnN0cnVjdG9yLCBGdW5jdGlv
biwgJ1RoZSB2YWx1ZSBvZiBmLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBGdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZShmKCksIDEsICdmKCkgbXVzdCBy
ZXR1cm4gMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL1MxNS4zLjIuMV9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDMuanMKaW5kZXggYTNmNmJmZjRjYmQ4ZWRiODBmMTRk
YWM3ZWNiMzAzYWEzYTVlMTY2Yy4uMWQ2ZjRlY2YzODI4ZGIzYzM4ODE3OGFlYTAzZWEwY2Q2M2Vm
OTFkOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L1MxNS4zLjIuMV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuMi4xX0ExX1QzLmpzCkBAIC0xNCwxOSArMTQsMTEgQEAKIGRlc2NyaXB0
aW9uOiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgMQogLS0t
Ki8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IG5ldyBGdW5jdGlvbigxKTsKIH0gY2F0
Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRlc3QgZmFpbGVkIHdpdGgg
ZXJyb3IgJyArIGUpOwogfQogCi0vL0NIRUNLIzIKLWlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5j
dGlvbikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24g
Y29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0
IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQg
aW4gMTMuMicpOwotfQotCi0vL0NIRUNLIzMKLWlmIChmKCkgIT09IHVuZGVmaW5lZCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3Ig
aXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRo
ZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYu
Y29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhlIHZhbHVlIG9mIGYuY29uc3RydWN0b3IgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVl
KGYoKSwgdW5kZWZpbmVkLCAnZigpIHJldHVybnMgdW5kZWZpbmVkJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1Q0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9U
NC5qcwppbmRleCA1YWQ4NGVhZGZhOTA3ODMwY2ZkMjFiOWQxYjRjZjJiYjY3NjBiZWI1Li4zM2Fk
NmRkY2E1MzRhNWNmMzM4NzlkNGUyYzc3ZGY3ZmI3MjIxNWMzIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1Q0LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDQu
anMKQEAgLTE2LDIxICsxNiwxMyBAQAogICAgIHNwZWNpZmllZCB3aXRoICJ1bmRlZmluZWQiCiAt
LS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBmID0gbmV3IEZ1bmN0aW9uKHgpOwogfSBj
YXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGVzdCBmYWlsZWQgd2l0
aCBlcnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1
bmN0aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBGdW5jdGlv
biBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRo
YXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmll
ZCBpbiAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3Rv
ciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQg
dGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
Zi5jb25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFsdWUgb2YgZi5jb25zdHJ1Y3RvciBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFs
dWUoZigpLCB1bmRlZmluZWQsICdmKCkgcmV0dXJucyB1bmRlZmluZWQnKTsKIAogdmFyIHg7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMu
Mi4xX0ExX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BMV9UNS5qcwppbmRleCA1NTNjYmEzZGRiMDg0MjUyNzA2YzAyZjI3MTllNzk3YTc4
NDk5ZmY0Li5lMDQxNjc5MDkwZjNjMTEwZmZlZWMzMzU2OTU1OWY1ZjM1ZmYzNWFhIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0Ex
X1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUu
My4yLjFfQTFfVDUuanMKQEAgLTE4LDE5ICsxOCwxMSBAQAogCiB2YXIgYm9keSA9IE9iamVjdCgi
cmV0dXJuIFwnQVwnIik7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rp
b24oYm9keSk7CiB9IGNhdGNoIChlKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0
ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcgKyBlKTsKIH0KIAotLy9DSEVDSyMyCi1pZiAoZi5jb25z
dHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdo
ZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0
aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmpl
Y3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoZigpICE9PSAi
XHUwMDQxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogV2hlbiB0aGUgRnVuY3Rp
b24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0
aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKGYuY29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhlIHZhbHVlIG9mIGYuY29u
c3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0aW9uJyk7Cith
c3NlcnQuc2FtZVZhbHVlKGYoKSwgIlx1MDA0MSIsICdmKCkgbXVzdCByZXR1cm4gInUwMDQxIicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BMV9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yLjFfQTFfVDYuanMKaW5kZXggOGY0MDUwM2M4ZTFlODU2YWZjZjc5NjM0YzNlYWIy
MDc1M2Q4ODk0ZS4uM2IxODhhZmY1MDI4OTQ3ZDdiZTBkOWM4MjAyYjI2Mzg5Nzk3MzJjNCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIu
MV9BMV9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjMuMi4xX0ExX1Q2LmpzCkBAIC0xNiwxOSArMTYsMTEgQEAKICAgICB0cnVlOyIKIC0tLSov
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0cnVl
OyIpOwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGVzdCBm
YWlsZWQgd2l0aCBlcnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0
b3IgIT09IEZ1bmN0aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRo
ZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBi
b2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFz
IHNwZWNpZmllZCBpbiAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKCEoZigpKSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3Ig
aXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRo
ZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYu
Y29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhlIHZhbHVlIG9mIGYuY29uc3RydWN0b3IgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0aW9uJyk7Cithc3NlcnQoZigpLCAnZigp
IG11c3QgcmV0dXJuIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1Q3LmpzCmluZGV4IGJlODg0ZDkxZjM5
ODllNTY2ZWUxYjg3MmViZTBmN2Y5N2U4ZjMwNzcuLjVhYjNjNjQzY2E0MmVmYTg1ZjQzMjIwYzYz
YWRlM2M0OWZjYzU5NTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UNy5qcwpAQCAtMTYsMTkgKzE2LDExIEBA
CiAKIHZhciBib2R5ID0gbmV3IE9iamVjdCgxKTsKIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIg
ZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKIH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJyArIGUpOwogfQogCi0vL0NIRUNL
IzIKLWlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGgg
b25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3
IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwotfQotCi0vL0NIRUNLIzMK
LWlmIChmKCkgIT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzog
V2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50
IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2Vu
Li4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYuY29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhl
IHZhbHVlIG9mIGYuY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IEZ1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKGYoKSwgdW5kZWZpbmVkLCAnZigpIHJldHVy
bnMgdW5kZWZpbmVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UOC5qcwppbmRleCAwNjNiZjJkNzM5OGY2ZjM0
NDQ3NTg3NjEwM2I5ZjNjNjNlMjdlNGZhLi5iNTVlMmZiODI1YTFmNjA3NzM5ZWE0NmU3NDQ4MGI4
YTBlOTU5YTA2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuMi4xX0ExX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDguanMKQEAgLTE2LDEyICsxNiwxMiBAQAogCiB2
YXIgYm9keSA9ICJ2YXIgMT0xOyI7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcg
RnVuY3Rpb24oYm9keSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiBib2R5IGlz
IG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4
Y2VwdGlvbicpOwogfSBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJy
b3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogSWYgYm9keSBpcyBub3Qg
cGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRp
b24nKTsKLSAgfQorICBhc3NlcnQoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDkuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0ExX1Q5LmpzCmluZGV4IGRm
MmFjZDE0MzQ5ZTMzZDgzMTExMjE2NDYzODFmNmE0MDBjNTBhNDMuLmI0ODQ4ZDc0MTMxYmI3Mjg4
ZDg2ZjAzNDViNDZhMzlmM2M0YWZjYzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTFfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMV9UOS5qcwpAQCAtMTgsMTIg
KzE4LDUgQEAKIAogdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7
CiAKLS8vQ0hFQ0sjMQotaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2Fs
bGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUg
Zm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwotfQotCi0vL0NIRUNLIzIKLWlmIChmKCJB
IikgIT09ICJBIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogV2hlbiB0aGUgRnVu
Y3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBi
ZSB0aGF0IGFyZ3VtZW50IGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwot
fQorYXNzZXJ0KGYgaW5zdGFuY2VvZiBGdW5jdGlvbiwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyAoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKGYoIkEiKSwgIkEiLCAnZigiQSIpIG11c3QgcmV0dXJuICJBIicpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIu
MV9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUu
My4yLjFfQTJfVDEuanMKaW5kZXggNTkwMjUyNjRmZDI2Y2M5NDc0YzJlYWEwYzc5NzM1NjEyM2Zj
NjAxYS4uZWFhYTkxYmM0ZjMzNjE0ZDQ2NzZmMjQ0YjAyMTcwYzI0OTIyYThkYSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMl9U
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMu
Mi4xX0EyX1QxLmpzCkBAIC0xMSwxOSArMTEsMTEgQEAKICAgICAiYXJnMyIsICJyZXR1cm4gYXJn
MSthcmcyK2FyZzM7IgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IEZ1bmN0
aW9uKCJhcmcxIiwgImFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7CiB9
IGNhdGNoIChlKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0ZXN0IGZhaWxlZCcp
OwogfQogCi0vL0NIRUNLIzIKLWlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNz
YXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUg
c3BlY2lmaWVkJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoMSwgMiwgMykgIT09IDYpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVj
ZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8g
YmUgc3BlY2lmaWVkJyk7Ci19Cithc3NlcnQoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCAnVGhlIHJl
c3VsdCBvZiBldmFsdWF0aW5nIChmIGluc3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZigxLCAyLCAzKSwgNiwgJ2YoMSwgMiwgMykg
bXVzdCByZXR1cm4gNicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMl9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTJfVDIuanMKaW5kZXggMjMyM2M2MDlmZDM4ODk3
MmIxNDJjZTA4NmNmODQ2YjEyMWQzMDAwOS4uYmFmOWZiMGI5Y2Y0NmU0YzJmMWU1MjExYTUxZDE2
NDA5NjAxMzMwOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL1MxNS4zLjIuMV9BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EyX1QyLmpzCkBAIC0xMSwxOSArMTEsMTEgQEAKICAg
ICAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7IgogLS0tKi8KIAotLy9DSEVDSyMxCiB0
cnkgewogICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFy
ZzErYXJnMithcmczOyIpOwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogdGVzdCBmYWlsZWQnKTsKIH0KIAotLy9DSEVDSyMyCi1pZiAoIShmIGluc3RhbmNlb2Yg
RnVuY3Rpb24pKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJdCBpcyBwZXJtaXNz
aWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3Jt
YWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwotfQotCi0vL0NIRUNLIzMKLWlmIChmKCJB
QiIsICJCQSIsIDEpICE9PSAiQUJCQTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVu
dCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwotfQorYXNzZXJ0
KGYgaW5zdGFuY2VvZiBGdW5jdGlvbiwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZiBpbnN0
YW5jZW9mIEZ1bmN0aW9uKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZh
bHVlKGYoIkFCIiwgIkJBIiwgMSksICJBQkJBMSIsICdmKEFCLCBCQSwgMSkgbXVzdCByZXR1cm4g
IkFCQkExIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL1MxNS4zLjIuMV9BMl9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9TMTUuMy4yLjFfQTJfVDMuanMKaW5kZXggNWM3NWIwMDBmMWQ0NzhlNTU2NjU2
ZjliNmU4OTg2MDhjZjhiMTNlMC4uYTU5NTIxNWVlZTdiM2EyMDkyYzRiNmU2OGYyZjU0NmNhZjdi
ODM5MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L1MxNS4zLjIuMV9BMl9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuMi4xX0EyX1QzLmpzCkBAIC0xMSwxOSArMTEsMTEgQEAKICAgICBhcmcz
IiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAg
IHZhciBmID0gRnVuY3Rpb24oImFyZzEsIGFyZzIsIGFyZzMiLCAicmV0dXJuIGFyZzErYXJnMith
cmczOyIpOwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGVz
dCBmYWlsZWQnKTsKIH0KIAotLy9DSEVDSyMyCi1pZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24p
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQg
bm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1l
dGVyIHRvIGJlIHNwZWNpZmllZCcpOwotfQotCi0vL0NIRUNLIzMKLWlmIChmKDEsIDEsICJBQkJB
IikgIT09ICIyQUJCQSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IEl0IGlzIHBl
cm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNo
IGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Ci19Cithc3NlcnQoZiBpbnN0YW5j
ZW9mIEZ1bmN0aW9uLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChmIGluc3RhbmNlb2YgRnVu
Y3Rpb24pIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZigxLCAx
LCAiQUJCQSIpLCAiMkFCQkEiLCAnZigxLCAxLCBBQkJBKSBtdXN0IHJldHVybiAiMkFCQkEiJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1
LjMuMi4xX0EyX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L1MxNS4zLjIuMV9BMl9UNC5qcwppbmRleCAxZmQ0ZTRiN2Y4NmFlNzNjMzE2NmE3MWRkNmFkNTk0
MGRkNzdmY2QzLi40YTlkYjk1Zjg0MWY1ZTM2ODFkYWJjODJkMDczYzQ0YzBhOTg1Y2IzIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4x
X0EyX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuMy4yLjFfQTJfVDQuanMKQEAgLTE5LDE5ICsxOSwxMSBAQAogICB9CiB9OwogCi0vL0NIRUNL
IzEKIHRyeSB7CiAgIHZhciBmID0gRnVuY3Rpb24ocCwgcCwgcCwgInJldHVybiBhcmcxK2FyZzIr
YXJnMzsiKTsKIH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRl
c3QgZmFpbGVkJyk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9u
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0
IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFt
ZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoZig0LCAiMiIsICJR
VUVTVElPTiIpICE9PSAiNDJRVUVTVElPTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3Vt
ZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Ci19Cithc3Nl
cnQoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChmIGlu
c3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5zYW1l
VmFsdWUoZig0LCAiMiIsICJRVUVTVElPTiIpLCAiNDJRVUVTVElPTiIsICdmKDQsIDIsIFFVRVNU
SU9OKSBtdXN0IHJldHVybiAiNDJRVUVTVElPTiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTJfVDUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EyX1Q1LmpzCmluZGV4
IGZhZTY3NmEyNWE5M2E2ZWQ3M2UyZjI5ZjY5NzExYmZlN2U3NzcwMWYuLjE3M2RmMjFmZjhiOWY4
MWFjYjY3ZGQwMjdhNmVlYTdiOWVlZjA5YmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTJfVDUuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMl9UNS5qcwpAQCAtMTks
MTkgKzE5LDExIEBACiAgIH0KIH07CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBGdW5j
dGlvbihwICsgIiwiICsgcCwgcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKIH0gY2F0Y2gg
KGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRlc3QgZmFpbGVkJyk7CiB9CiAK
LS8vQ0hFQ0sjMgotaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8g
aGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZp
ZWQnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoZigiIiwgMSwgMikgIT09ICIxMiIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNz
YXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUg
c3BlY2lmaWVkJyk7Ci19Cithc3NlcnQoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCAnVGhlIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIChmIGluc3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZigiIiwgMSwgMiksICIxMiIsICdmKCwgMSwgMikg
bXVzdCByZXR1cm4gIjEyIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BMl9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTJfVDYuanMKaW5kZXggYTdhOTczZDFlZDk5
NzFiYTdiYThlZjA5ZjQxODAzZGViZTdlNDIzMy4uMDYxNTQ1OTAwNGFlODFiMDc5MjQ2Mzk1NWY1
MjdiOWNmZDFkYzUyYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zLjIuMV9BMl9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EyX1Q2LmpzCkBAIC0xOSwxOSArMTksMTEgQEAK
ICAgfQogfTsKIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IEZ1bmN0aW9uKHAgKyAiLCIg
KyBwICsgIiwiICsgcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKIH0gY2F0Y2ggKGUpIHsK
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRlc3QgZmFpbGVkJyk7CiB9CiAKLS8vQ0hF
Q0sjMgotaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBv
bmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsK
LX0KLQotLy9DSEVDSyMzCi1pZiAoZigiIiwgMSwgcCkgIT09ICIxYXJnNCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5
IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3Bl
Y2lmaWVkJyk7Ci19Cithc3NlcnQoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCAnVGhlIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIChmIGluc3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4cGVjdGVkIHRvIGJlIHRy
dWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZigiIiwgMSwgcCksICIxYXJnNCIsICdmKCwgMSwge3Rv
U3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gImFyZyIgKyAoKytpKX19KSBtdXN0IHJldHVybiAi
MWFyZzQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuMi4xX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMS5qcwppbmRleCA3YzdhNmYwNWMyYjVlNzU5NDEzODE5
Yjk5MGRhY2NhOTA0NTVkNGRhLi4wZGQ0NzFiNjlhYTk0OThiZmQyMjk5ZDMxYzkxZGQyYjZhM2M1
MmNlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjMuMi4xX0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuMy4yLjFfQTNfVDEuanMKQEAgLTMwLDEyICszMCw5IEBACiAgIH0KIH07CiAK
LS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgYm9keSk7CiAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0ZXN0IGZhaWxlZCcpOwogfSBjYXRjaCAoZSkgewot
ICBpZiAoZSAhPT0gMSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IGkpIExl
dCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmco
UmVzdWx0KGkpKScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoZSwgMSwgJ1RoZSB2YWx1ZSBv
ZiBlIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDEwLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMTAuanMKaW5kZXgg
OTUwNGEyODMwMTE4YzAxOGJiYTg0ZGMxZTMyMzhhYTA4NDdkNDRjMi4uZWVmZDNjMTg4ODc4YzZi
YTI2NzJiZjg5MTg5Y2E3M2IwMGJjMDcxZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMTAuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMTAuanMKQEAgLTI1
LDEyICsyNSwxMiBAQAogICB9CiB9OwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBmID0gbmV3
IEZ1bmN0aW9uKHAsIGJvZHkpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgUCBp
cyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEg
U3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFu
Y2VvZiBTeW50YXhFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBJ
ZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhy
b3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKLSAgfQorICBhc3NlcnQoCisgICAgZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5z
dGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4y
LjFfQTNfVDExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BM19UMTEuanMKaW5kZXggZWJhZjkxMTcxYWVjODY1NWZmYWJkNDc3NGNhMjY1MTE2
M2M1NTZmMi4uNjk3MGQ4MDdiN2QwNjFlYjEwMDZmNjlmOTk4NWIxYzNkNDg3MGRiNCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9B
M19UMTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BM19UMTEuanMKQEAgLTIwLDE5ICsyMCwxMSBAQAogCiB2YXIgcCA9ICJhLGIsYyI7
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdm9pZCAwKTsK
IH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRlc3QgZmFpbGVk
IHdpdGggZXJyb3IgJyArIGUpOwogfQogCi0vL0NIRUNLIzIKLWlmIChmLmNvbnN0cnVjdG9yICE9
PSBGdW5jdGlvbikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogV2hlbiB0aGUgRnVu
Y3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRl
cyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKLX0KLQotLy9D
SEVDSyMzCi1pZiAoZigpICE9PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3Vt
ZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKGYuY29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhlIHZhbHVlIG9mIGYuY29u
c3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0aW9uJyk7Cith
c3NlcnQuc2FtZVZhbHVlKGYoKSwgdW5kZWZpbmVkLCAnZigpIHJldHVybnMgdW5kZWZpbmVkJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1
LjMuMi4xX0EzX1QxMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yLjFfQTNfVDEyLmpzCmluZGV4IDBkNGFhMDE4ZTg3ZGE3N2Y4NjM4NjhmMTRjMTJm
YWRlZDE4OTU3MWYuLjcyZDJkYmUxYmU3ZGUzNjNiNGU2NDlmZDY4MDIwZjBlOGI3NmQ5NTggMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4y
LjFfQTNfVDEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yLjFfQTNfVDEyLmpzCkBAIC0yMCwxOSArMjAsMTEgQEAKIAogdmFyIHAgPSAiYSxi
LGMiOwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIHVuZGVm
aW5lZCk7CiB9IGNhdGNoIChlKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0ZXN0
IGZhaWxlZCB3aXRoIGVycm9yICcgKyBlKTsKIH0KIAotLy9DSEVDSyMyCi1pZiAoZi5jb25zdHJ1
Y3RvciAhPT0gRnVuY3Rpb24pIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdoZW4g
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5
IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Ci19
Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0
aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZShmLmNvbnN0cnVjdG9yLCBGdW5jdGlvbiwgJ1RoZSB2YWx1ZSBv
ZiBmLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBGdW5jdGlv
bicpOworYXNzZXJ0LnNhbWVWYWx1ZShmKCksIHVuZGVmaW5lZCwgJ2YoKSByZXR1cm5zIHVuZGVm
aW5lZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL1MxNS4zLjIuMV9BM19UMTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QxMy5qcwppbmRleCA0ZWI0MGRlY2Y2YmI2ZWU0MWE2ZDVl
NDRiNTk3NTRmNDZmZDUxYWVhLi4xZTUzZDIzODFkNmY5YjM2ODA1MWIyODI0MmQ4ZGRmMzEyNWQz
OTY0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjMuMi4xX0EzX1QxMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QxMy5qcwpAQCAtMTgsMTkgKzE4LDExIEBACiAKIHZhciBw
ID0gImEsYixjIjsKIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgZiA9IG5ldyBGdW5jdGlvbihw
LCBudWxsKTsKIH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRl
c3QgZmFpbGVkIHdpdGggZXJyb3IgJyArIGUpOwogfQogCi0vL0NIRUNLIzIKLWlmIChmLmNvbnN0
cnVjdG9yICE9PSBGdW5jdGlvbikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogV2hl
biB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJv
ZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsK
LX0KLQotLy9DSEVDSyMzCi1pZiAoZigpICE9PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3
aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYuY29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhlIHZhbHVl
IG9mIGYuY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0
aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKGYoKSwgdW5kZWZpbmVkLCAnZigpIHJldHVybnMgdW5k
ZWZpbmVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuMi4xX0EzX1QxNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDE0LmpzCmluZGV4IDkwM2M1ZDJiMWJhMGQ1ZTRlN2Mx
ZjVkMTNiYmIzZDliN2RkODA5OTAuLjkxOGRhZjQyZDBhNzk0MjRiN2UyNzkwYWI0MjNmZjRjYWY1
YjMzYWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yLjFfQTNfVDE0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDE0LmpzCkBAIC0yMCwyMSArMjAsMTMgQEAKIAogdmFy
IHAgPSAiYSxiLGMiOwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBmID0gbmV3IEZ1bmN0aW9u
KHAsIGJvZHkpOwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
dGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29u
c3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBX
aGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwg
Ym9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicp
OwotfQotCi0vL0NIRUNLIzMKLWlmIChmKCkgIT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVk
IHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4n
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZi5jb25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFs
dWUgb2YgZi5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVu
Y3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUoZigpLCB1bmRlZmluZWQsICdmKCkgcmV0dXJucyB1
bmRlZmluZWQnKTsKIAogdmFyIGJvZHk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QxNS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDE1LmpzCmluZGV4IDQ1N2Y5
YjUzMjgzNzM0YmJlYTBmNTRjYjYwMzY3ODcwYWJlNmMwNGIuLjA3MTFkYWQwZmU4NjIwODg1YWQ3
NTlmMTdmYWUzMDBmNWFlYTJiNzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDE1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDE1LmpzCkBAIC0xOCwxOSAr
MTgsMTEgQEAKICAgICBzdHJpbmdzCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBm
ID0gbmV3IEZ1bmN0aW9uKCIiLCAiIik7CiB9IGNhdGNoIChlKSB7CiAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcgKyBlKTsKIH0KIAotLy9DSEVD
SyMyCi1pZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRo
IGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNp
ZmllZCBpbiAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1
Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBz
IGFyZSB0YWtlbi4uLicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmLmNvbnN0cnVjdG9yLCBGdW5j
dGlvbiwgJ1RoZSB2YWx1ZSBvZiBmLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBGdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZShmKCksIHVuZGVmaW5lZCwg
J2YoKSByZXR1cm5zIHVuZGVmaW5lZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDIuanMKaW5kZXggYmZjMzRj
YzhkMzAyOWVkMGZhN2Y2ZmQ3OGI1YWIxMzBlZmIwNzNjYy4uMDI1NWM0Y2JiMDYyNTkxNDY4MDkz
ZWFmY2JiNTY4ZjViMWM5NDg4NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QyLmpzCkBAIC0yNSwxOSArMjUs
MTEgQEAKIH07CiB2YXIgYm9keSA9ICJyZXR1cm4gYTsiOwogCi0vL0NIRUNLIzEKIHRyeSB7CiAg
IHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnICsgZSk7CiB9CiAK
LS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxs
ZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBh
cyBzcGVjaWZpZWQgaW4gMTMuMicpOwotfQotCi0vL0NIRUNLIzMKLWlmIChmKDQyKSAhPT0gNDIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0
cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVu
Y3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KGYuY29uc3RydWN0b3IsIEZ1bmN0aW9uLCAnVGhlIHZhbHVlIG9mIGYuY29uc3RydWN0b3IgaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZh
bHVlKGYoNDIpLCA0MiwgJ2YoNDIpIG11c3QgcmV0dXJuIDQyJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QzLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UMy5q
cwppbmRleCBlMTM3NDJjZDg5NGU3YjExN2MyNDE4ZmFjM2Y4N2Q5YTYyMjYwOWFiLi5lZjc1M2Ey
MGQ4NTY3NGQ1ZTE2ZGMyZTE3ZjU3MmI5ZmIzMzk2ZmI2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1QzLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDMuanMK
QEAgLTMxLDE3ICszMSwxMSBAQAogICB9CiB9OwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBm
ID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
dGVzdCBmYWlsZWQnKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKGUgIT09ICJib2R5IikgewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZp
cnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwotICB9Cisg
IGFzc2VydC5zYW1lVmFsdWUoZSwgImJvZHkiLCAnVGhlIHZhbHVlIG9mIGUgaXMgZXhwZWN0ZWQg
dG8gYmUgImJvZHkiJyk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKHAgIT09IDEpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3Vt
ZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZShwLCAxLCAnVGhlIHZhbHVlIG9mIHAgaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9B
M19UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4y
LjFfQTNfVDQuanMKaW5kZXggMjVjNDg0MjhlMmFkOGVhYWQzMGQ4YWMwNTJmZTRjZTQwYTY0NDI1
Ny4uMzhiMTdkYjM3YWIyYmM4ZTI4NzJjNmE3Y2QwYTdjN2JjZjE2OTQ0NyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UNC5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4x
X0EzX1Q0LmpzCkBAIC0yMCwyMSArMjAsMTMgQEAKIAogdmFyIGJvZHkgPSAicmV0dXJuIDEuMTsi
OwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwog
fSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGVzdCBmYWlsZWQg
d2l0aCBlcnJvciAnICsgZSk7CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGYuY29uc3RydWN0b3IgIT09
IEZ1bmN0aW9uKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBGdW5j
dGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJl
IHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNp
ZmllZCBpbiAxMy4yJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKGYoKSAhPT0gMS4xKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBp
cyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhl
IGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZi5j
b25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFsdWUgb2YgZi5jb25zdHJ1Y3RvciBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUo
ZigpLCAxLjEsICdmKCkgbXVzdCByZXR1cm4gMS4xJyk7CiAKIHZhciBwOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UNS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNf
VDUuanMKaW5kZXggYzc0YmY2NTFmODZiYzJkNzYzZGM1MTI3YzY3NTllYmRhZWY4MzU4YS4uNjlk
ZjI4NGJlNjRlZmQwMjVhNmUwODc4MGFiY2UyNGJmNmExYzAzMiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UNS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1Q1
LmpzCkBAIC0yMCwxOSArMjAsMTEgQEAKIAogdmFyIGJvZHkgPSAicmV0dXJuIFwiQVwiOyI7CiAK
LS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwLCBib2R5KTsK
IH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRlc3QgZmFpbGVk
IHdpdGggZXJyb3IgJyArIGUpOwogfQogCi0vL0NIRUNLIzIKLWlmIChmLmNvbnN0cnVjdG9yICE9
PSBGdW5jdGlvbikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogV2hlbiB0aGUgRnVu
Y3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBi
ZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVj
aWZpZWQgaW4gMTMuMicpOwotfQotCi0vL0NIRUNLIzMKLWlmIChmKCkgIT09ICdcdTAwNDEnKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1
Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1l
bnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoZi5jb25zdHJ1Y3RvciwgRnVuY3Rpb24sICdUaGUgdmFsdWUgb2YgZi5jb25zdHJ1Y3RvciBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgRnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1l
VmFsdWUoZigpLCAnXHUwMDQxJywgJ2YoKSBtdXN0IHJldHVybiAidTAwNDEiJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0Ez
X1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIu
MV9BM19UNi5qcwppbmRleCAxMGY3YzlkODBlODljOGIwZTg5MTM1YjY5MGMyOGFkM2RmNTAyZjg2
Li42OTI3NDgzYTc0NGNmNGU5ODUwNWFjNDAxZjkwMjUxMzYwYzBhN2RiIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1Q2Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFf
QTNfVDYuanMKQEAgLTIwLDEyICsyMCwxMiBAQAogCiB2YXIgYm9keSA9ICJyZXR1cm4gdHJ1ZTsi
OwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwsIGJvZHkp
OwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMg
YSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0
aW9uJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikp
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJs
ZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBl
eGNlcHRpb24nKTsKLSAgfQorICBhc3NlcnQoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
LAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJv
cikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDcuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1Q3LmpzCmlu
ZGV4IDQyYjJhMTBiNDlmNjU5YjI1NjVlNWNiY2NhNzQzNDdjZjcwOGQwMjYuLjc1NzMxN2Q3NDUz
N2I0ZTM3MDYwOGU5NmMxMjBhODdiZGMzMDdiMGYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4yLjFfQTNfVDcuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UNy5qcwpAQCAt
MjIsMTkgKzIyLDExIEBACiAKIHZhciBwID0gT2JqZWN0KCJhIik7CiAKLS8vQ0hFQ0sjMQogdHJ5
IHsKICAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgYm9keSk7CiB9IGNhdGNoIChlKSB7CiAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcgKyBlKTsK
IH0KIAotLy9DSEVDSyMyCi1pZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlz
IGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQg
Y3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKLX0K
LQotLy9DSEVDSyMzCi1pZiAoZigxKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFy
Z3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJl
IHRha2VuLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYuY29uc3RydWN0b3IsIEZ1bmN0aW9u
LCAnVGhlIHZhbHVlIG9mIGYuY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIEZ1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKGYoMSksIDEsICdmKDEpIG11c3Qg
cmV0dXJuIDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuMy4yLjFfQTNfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuMi4xX0EzX1Q4LmpzCmluZGV4IGFkYTI3NWU5YzNkYjQ2NWZjNTRm
ZTUwYWUyMmIwMDdkNjRjMDRhYjEuLjg5MWNmZDZiY2RmYmUzMDdlOTY0YzliNTE0ZGZhYTAxOTdl
NjQxZTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yLjFfQTNfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zLjIuMV9BM19UOC5qcwpAQCAtMjAsMTkgKzIwLDExIEBACiAKIHZhciBi
b2R5ID0gInJldHVybiB0aGlzOyI7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIGYgPSBuZXcg
RnVuY3Rpb24odW5kZWZpbmVkLCBib2R5KTsKIH0gY2F0Y2ggKGUpIHsKICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJyArIGUpOwogfQogCi0vL0NI
RUNLIzIKLWlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdp
dGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEg
bmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwotfQotCi0vL0NIRUNL
IzMKLWlmIChmKCkgIT09IHRoaXMpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IFdo
ZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0
aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4u
LicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmLmNvbnN0cnVjdG9yLCBGdW5jdGlvbiwgJ1RoZSB2
YWx1ZSBvZiBmLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBG
dW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZShmKCksIHRoaXMsICdmKCkgbXVzdCByZXR1cm4g
dGhpcycpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL1MxNS4zLjIuMV9BM19UOS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuMy4yLjFfQTNfVDkuanMKaW5kZXggNzZkYzA0ZDA5ZDRiZjc5NmY1YmVhOWUx
OTYxYWVmYzIyZDZhNDI1OC4uMGRkODRhYTVmZjY0MzdjNzdlYzcwYmNlZDNjNTA2ZWExYzhjMDhi
NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zLjIuMV9BM19UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuMi4xX0EzX1Q5LmpzCkBAIC0yMSwxMiArMjEsMTIgQEAKIHZhciBib2R5ID0g
InJldHVybiB0aGlzOyI7CiB2YXIgcCA9ICIxLDEiOwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZh
ciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVu
IHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICgh
KGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0
IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKLSAgfQorICBhc3NlcnQoCisg
ICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9TMTUuMy4yX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L1MxNS4zLjJfQTEuanMKaW5kZXggOTZjMjNkYmUzNzMzMWM2NWM4NWNmNWRiNTFmZmZmZjRjYWZm
NmZhZS4uMzRkYzNhNjYzNmQwMGU2OGY2OTMxODcwZWQ5NjljOTQwNjQ2YjliMiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjJfQTEuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjJfQTEu
anMKQEAgLTEzLDEyICsxMyw1IEBACiAKIHZhciBmID0gbmV3IEZ1bmN0aW9uOwogCi0vL0NIRUNL
IzEKLWlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHBy
ZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3Jl
YXRlZCBvYmplY3QnKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoZiA9PT0gdW5kZWZpbmVkKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBw
YXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxp
c2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmLmNv
bnN0cnVjdG9yLCBGdW5jdGlvbiwgJ1RoZSB2YWx1ZSBvZiBmLmNvbnN0cnVjdG9yIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBGdW5jdGlvbicpOworYXNzZXJ0Lm5vdFNhbWVWYWx1
ZShmLCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgZiBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwg
YGB1bmRlZmluZWRgYCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL1MxNS4zLjNfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vUzE1LjMuM19BMS5qcwppbmRleCAwMjY0NDc5OTJiZWI5MzI2OTk2NmUyMTVi
MjYzZTc1ODZmNDU3Zjc5Li5jOTFmMzY2ZWNhMGU2YWNhZTJjZDA5NjAyYjBhODQ3ZWJkYWVkZjE5
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1
LjMuM19BMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjMuM19BMS5qcwpAQCAtNiw3ICs2LDQgQEAKIGVzNWlkOiAxNS4zLjNfQTEKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAtLS0q
LwotCi1pZiAoIUZ1bmN0aW9uLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyB0aGUg
cHJvcGVydHkgInByb3RvdHlwZSInKTsKLX0KK2Fzc2VydChGdW5jdGlvbi5oYXNPd25Qcm9wZXJ0
eSgicHJvdG90eXBlIiksICdGdW5jdGlvbi5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikgbXVz
dCByZXR1cm4gdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL1MxNS4zLjNfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vUzE1LjMuM19BMl9UMS5qcwppbmRleCA3MWU0OWZkZjY1YTkxZTk0YWVj
NDQzMzNhNTg3ZTM4MjZjNWYyYTZhLi4wNWVmY2ZhNGY0YjUzYzNkOTZjZmNkZGNkOGMwMDE0ZGIz
YTVhYTcwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vUzE1LjMuM19BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vUzE1LjMuM19BMl9UMS5qcwpAQCAtOCw4ICs4LDcgQEAKIGVzNWlkOiAxNS4zLjNf
QTJfVDEKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBwcm90b3R5cGUgb2YgRnVuY3Rpb24KIC0tLSov
Ci0KLS8vIENIRUNLIwotaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRnVu
Y3Rpb24pKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIHZhbHVlIG9mIHRo
ZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBjb25zdHJ1
Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKLX0KK2Fzc2VydCgKKyAg
RnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRnVuY3Rpb24pLAorICAnRnVuY3Rpb24u
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRnVuY3Rpb24pIG11c3QgcmV0dXJuIHRydWUnCispOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4z
LjNfQTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1
LjMuM19BMl9UMi5qcwppbmRleCBmYmZlNzljOTNlMGNmYTJjNGY3Y2YwMmRhZTEzYjE2ZWE3ZWNi
MGIwLi5lODI4Y2E5N2U0YTkyN2MwMjYwYTQyM2ZiOTRlZWY2ZTkxZDdiY2M2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuM19BMl9UMi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuM19B
Ml9UMi5qcwpAQCAtMTEsNyArMTEsNCBAQAogCiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9y
ID0gMTsKIAotLy9DSEVDSyMKLWlmIChGdW5jdGlvbi5pbmRpY2F0b3IgIT0gMSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3Rv
dHlwZV1dIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rp
b24gcHJvdG90eXBlIG9iamVjdC4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoRnVuY3Rpb24uaW5k
aWNhdG9yLCAxLCAnVGhlIHZhbHVlIG9mIEZ1bmN0aW9uLmluZGljYXRvciBpcyBleHBlY3RlZCB0
byBiZSAxJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuM19BMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9TMTUuMy4zX0EzLmpzCmluZGV4IGE1MDkwYjI2ODk5YjdkYTdiY2EyZDYwNDllMDVhOWIz
NmEwNDYyMjYuLjcwZjhjNDlkNzUzZWViMGI0Y2U2MGY4NDM2ODQxYTc2ZTU0ZDhlYzIgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4zX0Ez
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy4z
X0EzLmpzCkBAIC02LDEzICs2LDUgQEAKIGVzNWlkOiAxNS4zLjNfQTMKIGRlc2NyaXB0aW9uOiBD
aGVja2luZyBGdW5jdGlvbi5sZW5ndGggcHJvcGVydHkKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYg
KCFGdW5jdGlvbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHknKTsK
LX0KLQotLy9DSEVDSyMyCi1pZiAoRnVuY3Rpb24ubGVuZ3RoICE9PSAxKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkg
dmFsdWUgaXMgMScpOwotfQorYXNzZXJ0KEZ1bmN0aW9uLmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSwgJ0Z1bmN0aW9uLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVlJyk7
Cithc3NlcnQuc2FtZVZhbHVlKEZ1bmN0aW9uLmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiBGdW5j
dGlvbi5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjVfQTFfVDEuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMV9UMS5qcwppbmRleCAy
YTRlNjgxNmYzNzEyYTQwMzNlNTc2YjUzZWZhMTg4YTQ2NTEyMzMwLi41ZjY3NTM0OGU5ZDg1MzNj
MDgyN2IwZmE0N2E0MTAwNjRkNjRkMjBhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMV9UMS5qcwpAQCAtOSw2ICs5LDgg
QEAKIAogdmFyIGYgPSBuZXcgRnVuY3Rpb247CiAKLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoZikgIT09ICJbb2JqZWN0IEZ1bmN0aW9uXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgW1tDbGFzc11dIHByb3BlcnR5IGlzICJGdW5j
dGlvbiInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbChmKSwKKyAgIltvYmplY3QgRnVuY3Rpb25dIiwKKyAgJ09iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChuZXcgRnVuY3Rpb24pIG11c3QgcmV0dXJuICJbb2JqZWN0IEZ1bmN0aW9u
XSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL1MxNS4zLjVfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vUzE1LjMuNV9BMV9UMi5qcwppbmRleCBhOGU5MjU4ZjUxMGU2MWZmOTA2NmZhNDg1NzY1
OTlhMDE0YmJjYmJjLi5lZWI3ZjVhMGI5ZWZhMWY4YzEzNTgwOGFjMjE2ZTYwOGY3M2U4NmMyIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMu
NV9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjMuNV9BMV9UMi5qcwpAQCAtOSw2ICs5LDggQEAKIAogdmFyIGYgPSBGdW5jdGlvbigpOwog
Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGYpICE9PSAiW29iamVjdCBGdW5j
dGlvbl0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgdmFsdWUgb2YgdGhl
IFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZiksCisgICJbb2JqZWN0IEZ1bmN0
aW9uXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24oKSkgbXVz
dCByZXR1cm4gIltvYmplY3QgRnVuY3Rpb25dIicKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMl9UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy41X0EyX1QxLmpzCmluZGV4IGEw
YmNiZThmZWE3ZDRlYTQ2NDgxMmI4Mzk1NzZiMzYxYzZhYzM1NTYuLjIzMmQ1NjVkY2JlNzIzYTlj
MjcwMmYxNzZlYmIxMDJjM2ExOWQ0OTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy41X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuMy41X0EyX1QxLmpzCkBAIC02LDE4ICs2LDEx
IEBACiBlczVpZDogMTUuMy41X0EyX1QxCiBkZXNjcmlwdGlvbjogRm9yIHRlc3RpbmcgY2FsbCBG
dW5jdGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7IikoKQogLS0tKi8KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwi
T0tcIjsiKSgpLAorICAiT0siLAorICAnRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1
cm4gIk9LIjsiKSgpIG11c3QgcmV0dXJuICJPSyInCispOwogCi0vL0NIRUNLIzEKLWlmIChGdW5j
dGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7IikoKSAhPT0gIk9LIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFz
IGEgW1tDYWxsXV0gcHJvcGVydHknKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAodHlwZW9mIHggIT09
ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBFdmVyeSBmdW5j
dGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwotfQotCi0vL0NIRUNLIzMK
LWlmICh5ICE9PSAyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBFdmVyeSBmdW5j
dGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgeCwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4YCBpcyBl
eHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyLCAnVGhl
IHZhbHVlIG9mIHkgaXMgZXhwZWN0ZWQgdG8gYmUgMicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjVfQTJfVDIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMl9UMi5qcwppbmRleCBh
YzE0NTY5YjJiMWIwMWQyNWYzMTllMWEwMzFmYzlmMzZiOTI2YjEwLi5lYjY1ZGExOTY3NzI4ZjRi
NTdlN2U0YTlhMTM5NjIzMWFkZjA0OGJhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BMl9UMi5qcwpAQCAtOCwxOCArOCwx
MSBAQAogICAgIEZvciB0ZXN0aW5nIGNhbGwgKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFy
IHggPWFyZzE7CiAgICAgdGhpcy55PWFyZzI7cmV0dXJuIGFyZzErYXJnMjsiKSkoIjEiLDIpCiAt
LS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwgInZh
ciB4ID1hcmcxOyB0aGlzLnk9YXJnMjtyZXR1cm4gYXJnMSthcmcyOyIpKSgiMSIsIDIpLAorICAi
MTIiLAorICAnbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCAidmFyIHggPWFyZzE7IHRoaXMueT1h
cmcyO3JldHVybiBhcmcxK2FyZzI7IikoMSwgMikgbXVzdCByZXR1cm4gIjEyIicKKyk7CiAKLS8v
Q0hFQ0sjMQotaWYgKChuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsICJ2YXIgeCA9YXJnMTsgdGhp
cy55PWFyZzI7cmV0dXJuIGFyZzErYXJnMjsiKSkoIjEiLCAyKSAhPT0gIjEyIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tD
YWxsXV0gcHJvcGVydHknKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAodHlwZW9mIHggIT09ICJ1bmRl
ZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBFdmVyeSBmdW5jdGlvbiBp
bnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwotfQotCi0vL0NIRUNLIzMKLWlmICh5
ICE9PSAyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBFdmVyeSBmdW5jdGlvbiBp
bnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgeCwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB4YCBpcyBleHBlY3Rl
ZCB0byBiZSAidW5kZWZpbmVkIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh5LCAyLCAnVGhlIHZhbHVl
IG9mIHkgaXMgZXhwZWN0ZWQgdG8gYmUgMicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjVfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMS5qcwppbmRleCBkNDZjMzBi
YjAxZmRlOTI5Mjk4Nzk5YmE5OTQ3NmU5YjM0ZDVkMWRiLi40MmVlYTU3ZjhmYmI3OWJjNTIxZjAy
NzQ3NTcxOWEzNDAzNjViYjE3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMS5qcwpAQCAtMTAsMTcgKzEwLDYgQEAK
IHZhciBGQUNUT1JZID0gRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wi
OyIpOwogdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2Ygb2Jq
ICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogZXZlcnkgZnVu
Y3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwotfQotCi0vL0NI
RUNLIzIKLWlmIChvYmouY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0
XV0gcHJvcGVydHknKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAob2JqLnkgIT09IDIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtb
Q29uc3RydWN0XV0gcHJvcGVydHknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG9iaiwg
Im9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmpgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJyk7Cithc3NlcnQuc2FtZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgRkFDVE9SWSwgJ1Ro
ZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIEZBQ1RPUlknKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLnksIDIsICdUaGUgdmFsdWUgb2Yg
b2JqLnkgaXMgZXhwZWN0ZWQgdG8gYmUgMicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zLjVfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMi5qcwppbmRleCAwNmUzMzI5
YzAzZGI1ZWM2OGFlZTJhMzc2ZWY1NmJkZDFlMjJmZmJlLi45NDc3ZDgwYTk1OTAyNjNhMGRhN2U4
MGEwMjQ1Y2Y3OTAxZWE1MDNmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjMuNV9BM19UMi5qcwpAQCAtMTIsMTcgKzEyLDYgQEAK
IHZhciBGQUNUT1JZID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIiLCAidmFyIHggPTE7IHRoaXMu
eT1hcmcxK2FyZzI7cmV0dXJuIFwiT0tcIjsiKTsKIHZhciBvYmogPSBuZXcgRkFDVE9SWSgiMSIs
IDIpOwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tD
b25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwotfQotCi0vL0NIRUNLIzIKLWlmIChvYmouY29uc3RydWN0
b3IgIT09IEZBQ1RPUlkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IGV2ZXJ5IGZ1
bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKLX0KLQotLy9D
SEVDSyMzCi1pZiAob2JqLnkgIT09ICIxMiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHkn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG9iaiwgIm9iamVjdCIsICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiBvYmpgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgRkFDVE9SWSwgJ1RoZSB2YWx1ZSBvZiBvYmouY29uc3Ry
dWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZBQ1RPUlknKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUob2JqLnksICIxMiIsICdUaGUgdmFsdWUgb2Ygb2JqLnkgaXMgZXhwZWN0ZWQg
dG8gYmUgIjEyIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL1MxNS4zX0ExLmpzCmluZGV4IDIxMjg4YjVkMjM3YzMzMDYyYzBjNzZhNmMwNTdhYWQ1
MDk3NGRmOTAuLmU2OTkyMjcyY2VmNWU5M2M1MmJkMTFlYjI0NWFjZjk1MTQ0NTBlOTcgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNfQTEu
anMKQEAgLTExLDYgKzExLDQgQEAKIAogdmFyIHRoaXNvYmogPSB0aGlzLkZ1bmN0aW9uOwogCi1p
ZiAob2JqICE9PSB0aGlzb2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ0Z1bmN0aW9u
IGlzIHRoZSBwcm9wZXJ0eSBvZiBnbG9iYWwnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUob2JqLCB0
aGlzb2JqLCAnVGhlIHZhbHVlIG9mIG9iaiBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgdGhpc29iaicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL1MxNS4zX0EyX1QxLmpzCmluZGV4IGJmMjVjNmEwZDc1ZWM2Yzc3M2IzNDQ4NmNh
NTQ5ZmQ5MDQ3YTZkZWIuLmU0OTQ2MjZjYmIyOGNiY2IzMTU2MmY5NmRmMWQ0NjBjMGQ3NzczNWQg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUu
M19BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
UzE1LjNfQTJfVDEuanMKQEAgLTEwLDExICsxMCwxMSBAQAogZGVzY3JpcHRpb246IENoZWNraW5n
IGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyIHggLyA9IDE7IikiIGZhaWxz
CiAtLS0qLwogCi0vL0NIRUNLIwogdHJ5IHsKICAgRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyIHgg
LyA9IDE7Iik7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJv
cikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0
IGJlIHZhbGlkJyk7Ci0gIH0KKyAgYXNzZXJ0KAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJv
ciwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJy
b3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNfQTJfVDIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNfQTJfVDIuanMKaW5kZXggMzgz
OGJhNTliODk2OWFlNWI3NTUwNGVkOTg2MzAzNDI2ZGQ3MDYxOS4uZjdjNTg0YTUwZmZkNjQ3M2U2
ZDc5MjE5MGJlYWVlYzQyYWQwMWEwNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zX0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BMl9UMi5qcwpAQCAtMTAsMTEgKzEwLDExIEBA
CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgaWYgZXhlY3V0aW5nICJGdW5jdGlvbi5jYWxsKHRoaXMs
ICJ2YXIgI3ggID0gMTsiKSIgZmFpbHMKIC0tLSovCiAKLS8vQ0hFQ0sjCiB0cnkgewogICBGdW5j
dGlvbi5jYWxsKHRoaXMsICJ2YXIgI3ggID0gMTsiKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKCEo
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBmdW5jdGlvbiBib2R5IG11c3QgYmUgdmFsaWQnKTsKLSAgfQorICBhc3NlcnQoCisgICAg
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
KGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsK
IH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuM19BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuM19BM19UMS5qcwppbmRleCA5MTI1OGQwNzM1N2Y3ZDI1NmZmMDg5NGNhOWVhY2U1NzQ4YTQ5
NzY5Li4wNDc5NmEwNzc0MmFjYThiNzM3NjRlMzM0M2ZhMmNmNTVlMDY3NDYyIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNfQTNfVDEuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zX0EzX1Qx
LmpzCkBAIC05LDcgKzksNiBAQCBhbmQgdGhlbiBmaXJzdCBhcmd1bWVudCh0aGlzQXJnKSBzaG91
bGQgYmUgaWdub3JlZAogZGVzY3JpcHRpb246IEZpcnN0IGFyZ3VtZW50IGlzIG9iamVjdAogLS0t
Ki8KIAotLy9DSEVDSyMxIC0gZG9lcyBub3QgdGhyb3cKIHZhciBmID0gRnVuY3Rpb24uY2FsbCht
YXJzLCAicmV0dXJuIG5hbWU7Iik7CiB2YXIgbWFycyA9IHsKICAgbmFtZTogIm1hcnMiLApAQCAt
MjEsMTIgKzIwLDggQEAgYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJl
IGlnbm9yZWQKIAogdmFyIGFib3V0X21hcnMgPSBmKCk7CiAKLS8vQ0hFQ0sjMgotaWYgKGFib3V0
X21hcnMgIT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogV2hl
biBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBi
ZSBpZ25vcmVkJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGFib3V0X21hcnMsIHVuZGVmaW5lZCk7
CiAKLS8vQ0hFQ0sjMwogaWYgKHRoaXMuZ29kbmFtZSAhPT0gImFyZXMiICYmIG1hcnMuZ29kbmFt
ZSA9PT0gdW5kZWZpbmVkKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBXaGVuIGFw
cGxpZWQgdG8gdGhlIEZ1bmN0aW9uIG9iamVjdCBpdHNlbGYsIHRoaXNBcmcgc2hvdWxkIGJlIGln
bm9yZWQnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuM19BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9TMTUuM19BM19UMi5qcwppbmRleCA2ZmUxZjg0MmQ4MjY4YmU2OTc3NTBmYzJkZmQw
YjMzNDc1YzJmYzUyLi4xMzg5MDBhMTM4YTRjMTRhMjk4NzQzNThlZjg2NmNiM2JhNTBlMWQ0IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNf
QTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zX0EzX1QyLmpzCkBAIC0xNCwxNCArMTQsOCBAQCBhbmQgdGhlbiBmaXJzdCBhcmd1bWVudCh0
aGlzQXJnKSBzaG91bGQgYmUgaWdub3JlZAogCiB2YXIgZiA9IEZ1bmN0aW9uLmNhbGwoImJsYWJs
YXN0cmluZyIsICJyZXR1cm4gdGhpcy5jb2xvcjsiKTsKIAotLy9DSEVDSyMxCi1pZiAoZigpICE9
PSAicmVkIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogJyk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKGYoKSwgInJlZCIsICdmKCkgbXVzdCByZXR1cm4gInJlZCInKTsKIAogdmFyIGcg
PSBGdW5jdGlvbi5jYWxsKG51bGwsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CiAKLS8vQ0hFQ0sj
MgotaWYgKGcoKSAhPT0gIm1hcnMiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZygpLCAibWFycyIsICdnKCkgbXVzdCByZXR1cm4gIm1h
cnMiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vUzE1LjNfQTNfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vUzE1LjNfQTNfVDMuanMKaW5kZXggY2VlYWQyMzAwM2IxNzI3M2M5ZTQ4MDFiNjdkZjgwZGJk
ZTYxMDg4OC4uYmFmNzU4MDAzZjBiMjQyODdlNzAxOTg0ZTU2Y2RlYTc4YWRjMTc1NiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zX0EzX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19B
M19UMy5qcwpAQCAtMTIsMzAgKzEyLDIyIEBAIGFuZCB0aGVuIGZpcnN0IGFyZ3VtZW50KHRoaXNB
cmcpIHNob3VsZCBiZSBpZ25vcmVkCiB2YXIgZiA9IEZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVy
biBwbGFuZXQ7Iik7CiB2YXIgZyA9IEZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBjb2xvcjsi
KTsKIAotLy9DSEVDSyMxCi1pZiAoZigpICE9PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6ICcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmKCksIHVuZGVmaW5lZCwg
J2YoKSByZXR1cm5zIHVuZGVmaW5lZCcpOwogCiB2YXIgcGxhbmV0ID0gIm1hcnMiOwogCi0vL0NI
RUNLIzIKLWlmIChmKCkgIT09ICJtYXJzIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYoKSwgIm1hcnMiLCAnZigpIG11c3QgcmV0dXJu
ICJtYXJzIicpOwogCi0vL0NIRUNLIzMKIHRyeSB7CiAgIGcoKTsKICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6ICcpOwogfSBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgUmVm
ZXJlbmNlRXJyb3IpKQotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjE6ICcpOworICBh
c3NlcnQoCisgICAgZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yLAorICAgICdUaGUgcmVzdWx0
IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyAgKTsKIH0KIAogdGhpcy5jb2xvciA9ICJyZWQiOwogCi0vL0NIRUNLIzQK
LWlmIChnKCkgIT09ICJyZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAnKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoZygpLCAicmVkIiwgJ2coKSBtdXN0IHJldHVybiAicmVkIicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zX0EzX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1Mx
NS4zX0EzX1Q0LmpzCmluZGV4IGM5YjJhYzI5ZGNmZDUyZDQwYTkzM2M3MzI2N2E5YWVmNjIzY2Rh
OGIuLjdmZmVlYzNhMzhiNTVjMDIxOTVhZWFhZTdkMjM2ZjVmMmViMmZkMmYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BM19UNC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNfQTNfVDQu
anMKQEAgLTExLDE0ICsxMSw4IEBAIGFuZCB0aGVuIGZpcnN0IGFyZ3VtZW50KHRoaXNBcmcpIHNo
b3VsZCBiZSBpZ25vcmVkCiAKIHZhciBmID0gRnVuY3Rpb24uY2FsbCh0aGlzLCAicmV0dXJuIHBs
YW5ldDsiKTsKIAotLy9DSEVDSyMxCi1pZiAoZigpICE9PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6ICcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmKCksIHVuZGVm
aW5lZCwgJ2YoKSByZXR1cm5zIHVuZGVmaW5lZCcpOwogCiB2YXIgcGxhbmV0ID0gIm1hcnMiOwog
Ci0vL0NIRUNLIzIKLWlmIChmKCkgIT09ICJtYXJzIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYoKSwgIm1hcnMiLCAnZigpIG11c3Qg
cmV0dXJuICJtYXJzIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL1MxNS4zX0EzX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL1MxNS4zX0EzX1Q1LmpzCmluZGV4IGE1N2JjODJjZTAzY2U5N2U5OTRiOWQ3
NTg5MjhhMzMzNmVlZGI3ZGYuLjlmYTY3MmI3YWY3MDA3ZGRhYzIzMjI3ZGRjMDA2YzMwOWJlMzQ1
YzAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9T
MTUuM19BM19UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vUzE1LjNfQTNfVDUuanMKQEAgLTE0LDI2ICsxNCwxMyBAQCBhbmQgdGhlbiBmaXJzdCBhcmd1
bWVudCh0aGlzQXJnKSBzaG91bGQgYmUgaWdub3JlZAogdmFyIGYgPSBGdW5jdGlvbi5jYWxsKHRo
aXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CiB2YXIgZyA9IEZ1bmN0aW9uLmNhbGwodGhpcywg
InJldHVybiB0aGlzLmNvbG9yOyIpOwogCi0vL0NIRUNLIzEKLWlmIChmKCkgIT09IHVuZGVmaW5l
ZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKGYoKSwgdW5kZWZpbmVkLCAnZigpIHJldHVybnMgdW5kZWZpbmVkJyk7CiAKIHZhciBwbGFu
ZXQgPSAibWFycyI7CiAKLS8vQ0hFQ0sjMgotaWYgKGYoKSAhPT0gIm1hcnMiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoZygpICE9PSB1
bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6ICcpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShmKCksICJtYXJzIiwgJ2YoKSBtdXN0IHJldHVybiAibWFycyInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoZygpLCB1bmRlZmluZWQsICdnKCkgcmV0dXJucyB1bmRlZmluZWQnKTsKIAog
dGhpcy5jb2xvciA9ICJyZWQiOwogCi0vL0NIRUNLIzQKLWlmIChnKCkgIT09ICJyZWQiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoZygp
LCAicmVkIiwgJ2coKSBtdXN0IHJldHVybiAicmVkIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zX0EzX1Q2LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL1MxNS4zX0EzX1Q2LmpzCmluZGV4IGU4Yjgz
YjY2ODRjNzY0MmZkMjAwOWMzODY2ZWJlZGY4ZjBkYWM0OGQuLjE2MzM4OTdhOTgxYjBjNGVmYzJi
YTRjNDcxODRlYjVmNWMwMGQ3YzcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9TMTUuM19BM19UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vUzE1LjNfQTNfVDYuanMKQEAgLTEzLDE0ICsxMyw4IEBAIGFu
ZCB0aGVuIGZpcnN0IGFyZ3VtZW50KHRoaXNBcmcpIHNob3VsZCBiZSBpZ25vcmVkCiAKIHZhciBm
ID0gRnVuY3Rpb24uY2FsbCh0aGlzLCAicmV0dXJuIHRoaXMucGxhbmV0OyIpOwogCi0vL0NIRUNL
IzEKLWlmIChmKCkgIT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYoKSwgdW5kZWZpbmVkLCAnZigpIHJldHVybnMg
dW5kZWZpbmVkJyk7CiAKIHZhciBwbGFuZXQgPSAibWFycyI7CiAKLS8vQ0hFQ0sjMgotaWYgKGYo
KSAhPT0gIm1hcnMiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAnKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoZigpLCAibWFycyIsICdmKCkgbXVzdCByZXR1cm4gIm1hcnMiJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vU3RyaWN0
RnVuY3Rpb25fcmVzZXJ2ZWR3b3Jkc193aXRoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL1N0cmljdEZ1bmN0aW9uX3Jlc2VydmVkd29yZHNfd2l0aC5qcwppbmRl
eCAwYmYzN2E3Y2RjNTliYzQ0OTg0YTI5ZWI2ZmEyOGIwN2Y3ZTdkOTljLi4xNjJlMmUyZDg4OWE2
N2UyNjg5ODJhODdjNWNlMGU2MGU5YmU2MjIzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vU3RyaWN0RnVuY3Rpb25fcmVzZXJ2ZWR3b3Jkc193aXRo
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TdHJpY3RG
dW5jdGlvbl9yZXNlcnZlZHdvcmRzX3dpdGguanMKQEAgLTE3LDUgKzE3LDUgQEAKIC0tLSovCiAK
IGFzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1bmN0aW9uKCkgewotCW5ldyBGdW5jdGlvbigi
J3VzZSBzdHJpY3QnOyB3aXRoICh7fSkge30iKTsKLX0pOworICBuZXcgRnVuY3Rpb24oIid1c2Ug
c3RyaWN0Jzsgd2l0aCAoe30pIHt9Iik7Cit9LCAnYG5ldyBGdW5jdGlvbigiXCd1c2Ugc3RyaWN0
XCc7IHdpdGggKHt9KSB7fSIpYCB0aHJvd3MgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TdHJpY3RG
dW5jdGlvbl9yZXN0cmljdGVkLXByb3BlcnRpZXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vU3RyaWN0RnVuY3Rpb25fcmVzdHJpY3RlZC1wcm9wZXJ0aWVzLmpz
CmluZGV4IGNkN2UxZDNjNjA0YTE3MWNiYzEzMWI4ODJhNTY0ZjhmM2EwMDY2ZWIuLmViOTMwOTY2
MWJjNjNjODZjNTlkMzcxZGI4OGViYzk5OWY4OWIwOTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9TdHJpY3RGdW5jdGlvbl9yZXN0cmljdGVkLXBy
b3BlcnRpZXMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L1N0cmljdEZ1bmN0aW9uX3Jlc3RyaWN0ZWQtcHJvcGVydGllcy5qcwpAQCAtMTUsMzcgKzE1LDM3
IEBAIGZ1bmN0aW9uIGZ1bmMoKSB7fQogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CiAgIHJldHVybiBmdW5jLmNhbGxlcjsKLX0pOworfSwgJ3JldHVybiBmdW5jLmNhbGxl
ciB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCBmdW5jdGlvbigpIHsKICAgZnVuYy5jYWxsZXIgPSB7fTsKLX0pOworfSwgJ2Z1bmMuY2Fs
bGVyID0ge30gdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIHJldHVybiBmdW5jLmFyZ3VtZW50czsKLX0pOwor
fSwgJ3JldHVybiBmdW5jLmFyZ3VtZW50cyB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7
CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgZnVuYy5hcmd1bWVu
dHMgPSB7fTsKLX0pOworfSwgJ2Z1bmMuYXJndW1lbnRzID0ge30gdGhyb3dzIGEgVHlwZUVycm9y
IGV4Y2VwdGlvbicpOwogCiB2YXIgbmV3ZnVuYyA9IG5ldyBGdW5jdGlvbignInVzZSBzdHJpY3Qi
Jyk7CiAKLWFzc2VydC5zYW1lVmFsdWUobmV3ZnVuYy5oYXNPd25Qcm9wZXJ0eSgnY2FsbGVyJyks
IGZhbHNlLCAnc3RyaWN0IEZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yIGRvIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiY2FsbGVyIicpOwotYXNzZXJ0LnNhbWVWYWx1
ZShuZXdmdW5jLmhhc093blByb3BlcnR5KCdhcmd1bWVudHMnKSwgZmFsc2UsICdzdHJpY3QgRnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgRnVuY3Rpb24gY29uc3RydWN0b3IgZG8gbm90IGhhdmUgb3du
IHByb3BlcnR5ICJhcmd1bWVudHMiJyk7Cithc3NlcnQuc2FtZVZhbHVlKG5ld2Z1bmMuaGFzT3du
UHJvcGVydHkoJ2NhbGxlcicpLCBmYWxzZSwgJ25ld2Z1bmMuaGFzT3duUHJvcGVydHkoXCdjYWxs
ZXJcJykgbXVzdCByZXR1cm4gZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUobmV3ZnVuYy5oYXNP
d25Qcm9wZXJ0eSgnYXJndW1lbnRzJyksIGZhbHNlLCAnbmV3ZnVuYy5oYXNPd25Qcm9wZXJ0eShc
J2FyZ3VtZW50c1wnKSBtdXN0IHJldHVybiBmYWxzZScpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CiAgIHJldHVybiBuZXdmdW5jLmNhbGxlcjsKLX0pOworfSwgJ3Jl
dHVybiBuZXdmdW5jLmNhbGxlciB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgbmV3ZnVuYy5jYWxsZXIgPSB7
fTsKLX0pOworfSwgJ25ld2Z1bmMuY2FsbGVyID0ge30gdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIHJldHVy
biBuZXdmdW5jLmFyZ3VtZW50czsKLX0pOworfSwgJ3JldHVybiBuZXdmdW5jLmFyZ3VtZW50cyB0
aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKICAgbmV3ZnVuYy5hcmd1bWVudHMgPSB7fTsKLX0pOworfSwgJ25ld2Z1
bmMuYXJndW1lbnRzID0ge30gdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUu
My41LjFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
bGVuZ3RoL1MxNS4zLjUuMV9BMV9UMS5qcwppbmRleCAzNmZmMjZmMTA2ZGZlOTBmN2UyMzFkMmEy
Yjk2NzNhMGUyNTUzM2JjLi5hMWQwMDQ0N2RjNTYyYjQ3MzU3ODhiNzQyNGM2YzVlOGYxMGQ0MTQ0
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVu
Z3RoL1MxNS4zLjUuMV9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BMV9UMS5qcwpAQCAtMTEsMTIgKzExLDUgQEAK
IAogdmFyIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CiAKLS8vQ0hF
Q0sjMQotaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKLX0K
LQotLy9DSEVDSyMyCi1pZiAoZi5sZW5ndGggIT09IDMpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHVzdWFsbHkgYW4g
aW50ZWdlciB0aGF0IGluZGljYXRlcyB0aGUgInR5cGljYWwiIG51bWJlciBvZiBhcmd1bWVudHMg
ZXhwZWN0ZWQgYnkgdGhlIGZ1bmN0aW9uJyk7Ci19Cithc3NlcnQoZi5oYXNPd25Qcm9wZXJ0eSgn
bGVuZ3RoJyksICdmLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIG11c3QgcmV0dXJuIHRydWUn
KTsKK2Fzc2VydC5zYW1lVmFsdWUoZi5sZW5ndGgsIDMsICdUaGUgdmFsdWUgb2YgZi5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gYmUgMycpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTFfVDIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BMV9UMi5qcwpp
bmRleCBiZDM3MTliNzU2MTk4ZDEwZGJkNzE1YzhkNDA1MWUxZGU5YjA4MmQzLi4yNDIzYjU5NWZk
MjE2ZTFlOGRmYmI3MThjNjJiNzkwNmZlZTU0YWM4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BMV9UMi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUu
MV9BMV9UMi5qcwpAQCAtMTMsMTIgKzEzLDUgQEAgQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9m
IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsCiAKIHZhciBmID0gRnVuY3Rp
b24oImFyZzEsYXJnMixhcmczIiwgImFyZzQsYXJnNSIsIG51bGwpOwogCi0vL0NIRUNLIzEKLWlm
ICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Ci0KLS8vQ0hF
Q0sjMgotaWYgKGYubGVuZ3RoICE9PSA1KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIg
dGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVk
IGJ5IHRoZSBmdW5jdGlvbicpOwotfQorYXNzZXJ0KGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcp
LCAnZi5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiB0cnVlJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKGYubGVuZ3RoLCA1LCAnVGhlIHZhbHVlIG9mIGYubGVuZ3RoIGlzIGV4cGVj
dGVkIHRvIGJlIDUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTFfVDMuanMKaW5kZXggNmM2
NzgxNDMzMGFmNWZjMGI0NWJhYTUwNmVlZjllOTUxZWRkMjNlYy4uNmNkMjgwNWYzNTlhNmZkMTQz
YjRiZTI5YzQ4ZGYyNDZkMzJmZTU3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTFfVDMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTFfVDMu
anMKQEAgLTEzLDEyICsxMyw1IEBACiAKIHZhciBmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIs
YXJnMyIsICJhcmcxLGFyZzIiLCAiYXJnMyIsIG51bGwpOwogCi0vL0NIRUNLIzEKLWlmICghKGYu
aGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Ci0KLS8vQ0hFQ0sjMgot
aWYgKGYubGVuZ3RoICE9PSA2KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUg
dmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBp
bmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRo
ZSBmdW5jdGlvbicpOwotfQorYXNzZXJ0KGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLCAnZi5o
YXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiB0cnVlJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKGYubGVuZ3RoLCA2LCAnVGhlIHZhbHVlIG9mIGYubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGJlIDYnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9sZW5ndGgvUzE1LjMuNS4xX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTJfVDEuanMKaW5kZXggMDhlYTQxYTZk
YWQyODM0MjZmZjA4MDI5MDFiMzhhOTZiMTY0NzY2ZC4uMjA4ODdiMmU5NDY1YzEyY2I5MWQ1ZmQw
M2UyYzI2MzY1YjdkY2NhZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTJfVDEuanMKQEAg
LTExLDIyICsxMSw5IEBACiAKIHZhciBmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIs
IG51bGwpOwogCi0vL0NIRUNLIzEKLWlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGgg
cHJvcGVydHkuJyk7Ci19Cithc3NlcnQoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksICdmLmhh
c093blByb3BlcnR5KFwnbGVuZ3RoXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKK2Fzc2VydChkZWxl
dGUgZi5sZW5ndGgsICdUaGUgdmFsdWUgb2YgZGVsZXRlIGYubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnKTsKK2Fzc2VydCghZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksICdUaGUgdmFs
dWUgb2YgIWYuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShmLmxlbmd0aCwgMywgJ1RoZSB2YWx1ZSBvZiBmLmxl
bmd0aCBpcyBub3QgMycpOwogCi0vL0NIRUNLIzIKLWlmICghZGVsZXRlIGYubGVuZ3RoKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5
IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKLX0KLQotLy9DSEVD
SyMzCi1pZiAoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0
aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwotfQotCi0vL0NIRUNLIzQKLWlmIChmLmxlbmd0
aCA9PT0gMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogdGhlIGxlbmd0aCBwcm9w
ZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Ci19Cisv
LyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFf
QTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3Ro
L1MxNS4zLjUuMV9BMl9UMi5qcwppbmRleCAyNGQ5MDJlYmEyOTA4MjZkNjAzNDU5MzY4NTE0YjMz
ODUxMDljZDQ2Li40NDJjY2Y5M2RiYTEyMWRjN2IxNjJhMWYwNTc3ZWE4MDVmMWEyYzMzIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1Mx
NS4zLjUuMV9BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BMl9UMi5qcwpAQCAtMTEsMTkgKzExLDExIEBACiAKIHZh
ciBmID0gRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgImFyZzQsYXJnNSIsIG51bGwpOwogCi0v
L0NIRUNLIzEKLWlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7
Ci19Cithc3NlcnQoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksICdmLmhhc093blByb3BlcnR5
KFwnbGVuZ3RoXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKIAogZGVsZXRlIGYubGVuZ3RoOwogCi0v
L0NIRUNLIzIKLWlmIChmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBo
YXZlIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Ci19Cithc3NlcnQoIWYuaGFzT3duUHJv
cGVydHkoJ2xlbmd0aCcpLCAnVGhlIHZhbHVlIG9mICFmLmhhc093blByb3BlcnR5KFwnbGVuZ3Ro
XCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUoZi5sZW5n
dGgsIDUsICdUaGUgdmFsdWUgb2YgZi5sZW5ndGggaXMgbm90IDUnKTsKIAotLy9DSEVDSyMzCi1p
ZiAoZi5sZW5ndGggPT09IDUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IHRoZSBs
ZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUg
fScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgv
UzE1LjMuNS4xX0EyX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL2xlbmd0aC9TMTUuMy41LjFfQTJfVDMuanMKaW5kZXggNGMwMGNiYzI3NTkzYTcyZDA3OTJk
NTRiMGE5ZWMyYTkzMTcwNTEwZi4uYmJjNGUzMWFmOGNjYWEwMTJiNWY0NjE0NDdjNWExMTQ0OWMw
Y2IxNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L2xlbmd0aC9TMTUuMy41LjFfQTJfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTJfVDMuanMKQEAgLTExLDE5ICsxMSwx
MSBAQAogCiB2YXIgZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCAiYXJnMSxhcmcy
IiwgImFyZzMiLCBudWxsKTsKIAotLy9DSEVDSyMxCi1pZiAoIShmLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRoZSBmdW5jdGlvbiBo
YXMgbGVuZ3RoIHByb3BlcnR5LicpOwotfQorYXNzZXJ0KGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0
aCcpLCAnZi5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiB0cnVlJyk7CiAK
IGRlbGV0ZSBmLmxlbmd0aDsKIAotLy9DSEVDSyMyCi1pZiAoZi5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHRoZSBmdW5jdGlvbi5sZW5n
dGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwot
fQorYXNzZXJ0KCFmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwgJ1RoZSB2YWx1ZSBvZiAhZi5o
YXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3Nl
cnQubm90U2FtZVZhbHVlKGYubGVuZ3RoLCA2LCAnVGhlIHZhbHVlIG9mIGYubGVuZ3RoIGlzIG5v
dCA2Jyk7CiAKLS8vQ0hFQ0sjMwotaWYgKGYubGVuZ3RoID09PSA2KSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0
dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5
UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0EzX1QxLmpzCmluZGV4
IDlkOWUyOWRkNzExMTEwNjM1NTMzYWJiMjc4MDI2OTdjNGY0MGM1NDYuLjVlYWEyMjhjOTViNDc0
MWI1YWRjYjkyZTRlNTQ3YWRkNDA0YWEzYTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0EzX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0Ez
X1QxLmpzCkBAIC0xMiwyOSArMTIsMjUgQEAKIAogdmFyIGYgPSBuZXcgRnVuY3Rpb24oImFyZzEs
YXJnMixhcmczIiwgImFyZzQsYXJnNSIsIG51bGwpOwogCi0vL0NIRUNLIzEKLWlmICghKGYuaGFz
T3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
dGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Cithc3NlcnQoZi5oYXNPd25Q
cm9wZXJ0eSgnbGVuZ3RoJykpOwogCiB2YXIgZmxlbmd0aCA9IGYubGVuZ3RoOwogCiB2ZXJpZnlO
b3RXcml0YWJsZShmLCAibGVuZ3RoIiwgbnVsbCwgZnVuY3Rpb24oKSB7fSk7CiAKLS8vQ0hFQ0sj
MgotaWYgKGYubGVuZ3RoICE9PSBmbGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFk
T25seScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShmLmxlbmd0aCwgZmxlbmd0aCk7CiAKLS8vQ0hF
Q0sjMwogdHJ5IHsKICAgZi5sZW5ndGgoKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5
Jyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJv
dyBlOworICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgeworICAgIHRocm93IGU7Cisg
IH0KIH0KIAotLy9DSEVDSyM0CiBpZiAoZi5sZW5ndGggIT09IDUpIHsKICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsg
UmVhZE9ubHkgfScpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkg
Zm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL2xlbmd0aC9TMTUuMy41LjFfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BM19UMi5qcwppbmRleCAyNGNlMWE1MDgw
NDhkODlmMDEwOTllMGI4NDVjYWQ2OWI4YzhiM2FiLi5jMjk4MjY2NjQ5OWVhZjMwOWZhYjVkYjI5
MGE5NGEyMDg1MDVjMjJmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BM19UMi5qcwpAQCAt
MTIsMjkgKzEyLDI1IEBACiAKIHZhciBmID0gRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVs
bCk7CiAKLS8vQ0hFQ0sjMQotaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9w
ZXJ0eS4nKTsKLX0KK2Fzc2VydChmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7CiAKIHZhciBm
bGVuZ3RoID0gZi5sZW5ndGg7CiAKIHZlcmlmeU5vdFdyaXRhYmxlKGYsICJsZW5ndGgiLCBudWxs
LCBmdW5jdGlvbigpIHt9KTsKIAotLy9DSEVDSyMyCi1pZiAoZi5sZW5ndGggIT09IGZsZW5ndGgp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJv
cGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KGYubGVuZ3RoLCBmbGVuZ3RoKTsKIAotLy9DSEVDSyMzCiB0cnkgewogICBmLmxlbmd0aCgpOwog
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0
eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKGUg
aW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CisgIGlmIChlIGluc3RhbmNlb2YgVGVz
dDI2MkVycm9yKSB7CisgICAgdGhyb3cgZTsKKyAgfQogfQogCi0vL0NIRUNLIzQKIGlmIChmLmxl
bmd0aCAhPT0gMykgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogdGhlIGxlbmd0aCBw
cm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7CiB9CisKKy8vIFRPRE86
IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BM19UMy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMu
NS4xX0EzX1QzLmpzCmluZGV4IDkxNWE0MDhhNWQ3OTAxOTc5ZmFmZmRmOTBmMDQyODQ3MWY0MTk0
YTYuLjAyMjY0N2RjMmI0MWFkNzY3NWUxMmQ4ODk1MzViNmZiMmNlMTE2OTMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4x
X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9s
ZW5ndGgvUzE1LjMuNS4xX0EzX1QzLmpzCkBAIC0xMiwyOSArMTIsMjUgQEAKIAogdmFyIGYgPSBu
ZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgImFyZzEsYXJnMiIsICJhcmczIiwgbnVsbCk7
CiAKLS8vQ0hFQ0sjMQotaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0
eS4nKTsKLX0KK2Fzc2VydChmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7CiAKIHZhciBmbGVu
Z3RoID0gZi5sZW5ndGg7CiAKIHZlcmlmeU5vdFdyaXRhYmxlKGYsICJsZW5ndGgiLCBudWxsLCBm
dW5jdGlvbigpIHt9KTsKIAotLy9DSEVDSyMyCi1pZiAoZi5sZW5ndGggIT09IGZsZW5ndGgpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVy
dHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGYu
bGVuZ3RoLCBmbGVuZ3RoKTsKIAotLy9DSEVDSyMzCiB0cnkgewogICBmLmxlbmd0aCgpOwogICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBo
YXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKGUgaW5z
dGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CisgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2
MkVycm9yKSB7CisgICAgdGhyb3cgZTsKKyAgfQogfQogCi0vL0NIRUNLIzQKIGlmIChmLmxlbmd0
aCAhPT0gNikgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogdGhlIGxlbmd0aCBwcm9w
ZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7CiB9CisKKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vbGVuZ3RoL1MxNS4zLjUuMV9BNF9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4x
X0E0X1QxLmpzCmluZGV4IDZhZjZmNDU1OTE5YzNiZmE5YmQyMWRkZTA3MTdhY2Y3MDEwNGQ2Mjgu
LjgyZWFlOGQ1ZmM0MTM5ZmYyMzBiZTc0MDU4MGRjNGY5MmU2MTEzNWUgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0E0
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5n
dGgvUzE1LjMuNS4xX0E0X1QxLmpzCkBAIC0xMSwxNyArMTEsMTMgQEAKIAogdmFyIGYgPSBuZXcg
RnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CiAKLS8vQ0hFQ0sjMQotaWYgKCEoZi5o
YXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKLX0KK2Fzc2VydChmLmhhc093
blByb3BlcnR5KCdsZW5ndGgnKSwgJ2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCBy
ZXR1cm4gdHJ1ZScpOwogCiBmb3IgKHZhciBrZXkgaW4gZikgewogICBpZiAoa2V5ID09ICJsZW5n
dGgiKSB7CiAgICAgdmFyIGxlbmd0aGVudW1lZCA9IHRydWU7CiAgIH0KIH0KLS8vQ0hFQ0sjMgot
aWYgKGxlbmd0aGVudW1lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdGhlIGxl
bmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7Ci19Cithc3Nl
cnQoIWxlbmd0aGVudW1lZCwgJ1RoZSB2YWx1ZSBvZiAhbGVuZ3RoZW51bWVkIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9sZW5ndGgvUzE1LjMuNS4xX0E0X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTRfVDIuanMKaW5kZXggYjQ0Yjc5YzhlN2Q3
NWIwMWVlOGU1MWUyM2ZjNThkOTJhNWE1YjlkMC4uYTAxYzM2YzYwNWI2NmMzMTU2MzMyOWM4ZmRk
OWFkNmJlMTI2OTZhNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTRfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTRfVDIuanMKQEAgLTEx
LDEwICsxMSw3IEBACiAKIHZhciBmID0gRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgImFyZzUs
YXJnNCIsIG51bGwpOwogCi0vL0NIRUNLIzEKLWlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0
aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBs
ZW5ndGggcHJvcGVydHkuJyk7Ci19Cithc3NlcnQoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyks
ICdmLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKIAogZm9y
ICh2YXIga2V5IGluIGYpIHsKICAgaWYgKGtleSA9PSAibGVuZ3RoIikgewpAQCAtMjIsNyArMTks
NiBAQAogICB9CiB9CiAKLS8vQ0hFQ0sjMgotaWYgKGxlbmd0aGVudW1lZCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0
ZXMgeyBEb250RW51bSB9Jyk7Ci19Cithc3NlcnQoIWxlbmd0aGVudW1lZCwgJ1RoZSB2YWx1ZSBv
ZiAhbGVuZ3RoZW51bWVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKKworLy8gVE9ETzogQ29u
dmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9sZW5ndGgvUzE1LjMuNS4xX0E0X1QzLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFf
QTRfVDMuanMKaW5kZXggMTNhOGNiYWE1ODdmNGRlMmU4MjY4NGQ3YzdiODJhMDRmZDJjNmQ1OS4u
MTU2ODQ5MjNmMWEwNTZhMWIzYTlhY2M4MjA5MWJmNWNhOGQ1ZTdkZiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0aC9TMTUuMy41LjFfQTRf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2xlbmd0
aC9TMTUuMy41LjFfQTRfVDMuanMKQEAgLTExLDEwICsxMSw3IEBACiAKIHZhciBmID0gbmV3IEZ1
bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsICJhcmcxLGFyZzIiLCAiYXJnMyIsIG51bGwpOwogCi0v
L0NIRUNLIzEKLWlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7
Ci19Cithc3NlcnQoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksICdmLmhhc093blByb3BlcnR5
KFwnbGVuZ3RoXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKIAogZm9yICh2YXIga2V5IGluIGYpIHsK
ICAgaWYgKGtleSA9PSAibGVuZ3RoIikgewpAQCAtMjIsNyArMTksNiBAQAogICB9CiB9CiAKLS8v
Q0hFQ0sjMgotaWYgKGxlbmd0aGVudW1lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9Jyk7
Ci19Cithc3NlcnQoIWxlbmd0aGVudW1lZCwgJ1RoZSB2YWx1ZSBvZiAhbGVuZ3RoZW51bWVkIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTEuanMKaW5kZXggNjVh
N2E1N2U2ZGUyMzRlZGRlZDU3YTk4YjMwN2M0YzM1MDNjNGExMy4uMGVmNmE2OWU1NGJmYTk3MGZl
MTA3NzE1NDI5YzQxNTA4ZDk5YWJjNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTEu
anMKQEAgLTE0LDE2ICsxNCwxMiBAQAogICByZXR1cm4gInNoaWZ0ZWQiOwogfSk7CiAKLS8vQ0hF
Q0sjMQotaWYgKEZ1bmN0aW9uLnByb3RvdHlwZSAhPT0gb2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0
cmlidXRlcyBSZWFkT25seS4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoRnVuY3Rpb24ucHJvdG90
eXBlLCBvYmosICdUaGUgdmFsdWUgb2YgRnVuY3Rpb24ucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBvYmonKTsKIAotLy9DSEVDSyMyCiB0cnkgewotICBpZiAoRnVu
Y3Rpb24ucHJvdG90eXBlKCkgIT09IHVuZGVmaW5lZCkgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmli
dXRlcyBSZWFkT25seScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoRnVuY3Rpb24ucHJvdG90
eXBlKCksIHVuZGVmaW5lZCwgJ0Z1bmN0aW9uLnByb3RvdHlwZSgpIHJldHVybnMgdW5kZWZpbmVk
Jyk7CiB9IGNhdGNoIChlKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyLjE6IHRoZSBG
dW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5OiAn
ICsgZSk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQu
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL1MxNS4zLjMuMV9BMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EyLmpzCmluZGV4IDc5Mzg2ODg5OWFjNmU0OWMz
NjQ5NTBjMGIzMjk0NzA1MjZlY2JhYWYuLjIzODYwN2YxNDE4YjA5ZjBlOTExMzZlNGFhZjMyZDJk
MTA2YWIzMGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EyLmpzCkBAIC02LDE5ICs2
LDIwIEBACiBlczVpZDogMTUuMy4zLjFfQTIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBlbnVt
ZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAtLS0qLwotCi0v
LyBDSEVDSyMxCi1pZiAoRnVuY3Rpb24ucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBl
IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAh
RnVuY3Rpb24ucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpLAorICAnVGhlIHZhbHVl
IG9mICFGdW5jdGlvbi5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSBpcyBleHBl
Y3RlZCB0byBiZSB0cnVlJworKTsKIAogLy8gQ0hFQ0sjMgogdmFyIGNvdW50ID0gMDsKIAogZm9y
ICh2YXIgcCBpbiBGdW5jdGlvbikgewotICBpZiAocCA9PT0gInByb3RvdHlwZSIpIGNvdW50Kys7
CisgIGlmIChwID09PSAicHJvdG90eXBlIikgeworICAgIGNvdW50Kys7CisgIH0KIH0KIAotaWYg
KGNvdW50ICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgRnVuY3Rp
b24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMCwgJ1RoZSB2YWx1ZSBvZiBjb3VudCBpcyBleHBlY3Rl
ZCB0byBiZSAwJyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL1MxNS4zLjMuMV9BMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EzLmpzCmluZGV4IGZmMWZkZWY4ZGQ4NDE5
YTdiMGIyNDA4YzNlNjAxZGIxODJiY2VlNTUuLmVjZDM4YmRmN2NkNDM5ODE1ZmE5ODUxZTZmMjQy
MThlNDlkMzNlMjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuMy4xX0EzLmpzCkBAIC0xMCwx
NyArMTAsMTcgQEAKIAogdmVyaWZ5Tm90Q29uZmlndXJhYmxlKEZ1bmN0aW9uLCAicHJvdG90eXBl
Iik7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLSAgaWYgKChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBl
KSAhPT0gZmFsc2UpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogRnVuY3Rpb24u
cHJvdG90eXBlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUnKTsKLSAgfQorICBhc3NlcnQu
c2FtZVZhbHVlKGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUsIGZhbHNlKTsKIH0gY2F0Y2ggKGUp
IHsKLSAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CisgIGlmIChlIGlu
c3RhbmNlb2YgVGVzdDI2MkVycm9yKSB7CisgICAgdGhyb3cgZTsKKyAgfQogICBhc3NlcnQoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcik7CiB9CiAKLS8vQ0hFQ0sjMgogaWYgKCEoRnVuY3Rpb24uaGFz
T3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9u
dERlbGV0ZS4nKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvUzE1LjMuMy4xX0E0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTQuanMKaW5kZXggNDk0ODNlNTcyODNh
YmQwNjFmYWJkMDQwZGIyNWU4ZTM5MTBiYTk0Yy4uYzlmNTk5YTM1NzEzYzFmNjU4YjY1M2YyODBm
MWMyYTJjOTkyYzMxYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy4zLjFfQTQuanMKQEAgLTE4
LDcgKzE4LDkgQEAgZnVuY3Rpb24gZm9vKCkge30KIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28s
ICdwcm90b3R5cGUnLCB7CiAgIHZhbHVlOiB7fQogfSk7Ci1pZiAoZm9vLnByb3RvdHlwZSAhPT0K
LSAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmb28sICdwcm90b3R5cGUnKS52YWx1
ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJBIGZ1bmN0aW9uLnByb3RvdHlwZSdzIGRl
c2NyaXB0b3IgbGllcyIpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBmb28ucHJvdG90eXBl
LAorICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZvbywgJ3Byb3RvdHlwZScpLnZh
bHVlLAorICAnVGhlIHZhbHVlIG9mIGZvby5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm9vLCBcJ3Byb3Rv
dHlwZVwnKS52YWx1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTEuanMKaW5kZXggOTE0
ZWE2ZWQyZDYyMGYxNGVmMzRhY2JmNWE0MjUyMzY1ZTY4NjJkYi4uNDZmODE2NTE4ZWYwMDYwMTBi
Njg0ODUxNWY4MDZmZDc0YTFjNmE1NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0ExLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BMS5qcwpA
QCAtOCw4ICs4LDggQEAgVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEg
RnVuY3Rpb24gb2JqZWN0IChpdHMgW1tDbGFzc11dCiBlczVpZDogMTUuMy40X0ExCiBkZXNjcmlw
dGlvbjogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIFtvYmplY3QrW1tDbGFzc11d
K10KIC0tLSovCi0KLWlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24u
cHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVu
Y3Rpb24gJyArCi0gICAgJ29iamVjdCAoaXRzIFtbQ2xhc3NdXSBpcyAiRnVuY3Rpb24iKSAoMTUu
My40KScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKEZ1bmN0aW9uLnByb3RvdHlwZSksCisgICJbb2JqZWN0IEZ1bmN0aW9uXSIsCisgICdP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSBtdXN0IHJl
dHVybiAiW29iamVjdCBGdW5jdGlvbl0iJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BMl9UMS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9B
Ml9UMS5qcwppbmRleCBmYjNmMzI1ZDNkZmFkOGY1N2QyYjgyM2M4ZWQ1YTE2YzJhYmUwN2YxLi5k
ZjM0NzI3ZTlhNmRlNDE3OWZhZDJmZDZiNzI3ODJlOTJiMTljY2Q3IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTJf
VDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9TMTUuMy40X0EyX1QxLmpzCkBAIC05LDExICs5LDggQEAKIGRlc2NyaXB0aW9uOiBDYWxs
IEZ1bmN0aW9uLnByb3RvdHlwZSgpCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0gIGlmIChG
dW5jdGlvbi5wcm90b3R5cGUoKSAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1
bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBh
bmQgcmV0dXJucyB1bmRlZmluZWQnKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKEZ1bmN0aW9u
LnByb3RvdHlwZSgpLCB1bmRlZmluZWQsICdGdW5jdGlvbi5wcm90b3R5cGUoKSByZXR1cm5zIHVu
ZGVmaW5lZCcpOwogfSBjYXRjaCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4x
OiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmpl
Y3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMg
dW5kZWZpbmVkOiAnICsgZSk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTJfVDIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTJfVDIuanMK
aW5kZXggMmY4YWExMmM5MDg3Nzk1ZjFiMDliODk5OGIxN2UyZDMwNGIzNmVkNC4uNDIxMDkzM2Y4
MGEyYWQwYjQ4ZDk5NjdkNDI0OWNhZTJjYWE5MmIxNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0EyX1QyLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1
LjMuNF9BMl9UMi5qcwpAQCAtOSwxMSArOSw4IEBACiBkZXNjcmlwdGlvbjogQ2FsbCBGdW5jdGlv
bi5wcm90b3R5cGUobnVsbCx2b2lkIDApCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0gIGlm
IChGdW5jdGlvbi5wcm90b3R5cGUobnVsbCwgdm9pZCAwKSAhPT0gdW5kZWZpbmVkKSB7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0
IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMg
YW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKLSAgfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLCB2b2lkIDApLCB1bmRlZmluZWQsICdGdW5j
dGlvbi5wcm90b3R5cGUobnVsbCwgdm9pZCAwKSByZXR1cm5zIHVuZGVmaW5lZCcpOwogfSBjYXRj
aCAoZSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJv
dG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZv
a2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnICsgZSk7
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL1MxNS4zLjRfQTJfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTJfVDMuanMKaW5kZXggMzk2NzQ2MWJkOGI4
ZmIyNmQ5NjdlY2NiOTMxMDgzMjMwZGRiMDAzZi4uNWNlYzg0ZjY0NDE5ZjVjNzE3OGYwODAwMzc0
NzRhODY5N2ZkY2Q0NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0EyX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BMl9UMy5qcwpAQCAt
OSwxMiArOSw1IEBACiBkZXNjcmlwdGlvbjogQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoeCksIHdo
ZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAtLS0qLwogCi0vL0NIRUNLIzEKLXRyeSB7Ci0g
IGlmIChGdW5jdGlvbi5wcm90b3R5cGUoeCkgIT09IHVuZGVmaW5lZCkgewotICAgIHZhciB4Owot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9i
amVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2Nl
cHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7Ci0gIH0KLX0gY2F0Y2gg
KGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3Rv
dHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tl
ZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJyArIGUpOwot
fQordmFyIHg7Cithc3NlcnQuc2FtZVZhbHVlKEZ1bmN0aW9uLnByb3RvdHlwZSh4KSwgdW5kZWZp
bmVkLCAnRnVuY3Rpb24ucHJvdG90eXBlKHgpIHJldHVybnMgdW5kZWZpbmVkJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1Mx
NS4zLjRfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL1MxNS4zLjRfQTNfVDEuanMKaW5kZXggMGJlYjAyOTg5YWYzOTRiYzc4ZWI3ZTg3
MmJmMTNiMzUxMDVjNGJkYy4uZGIyN2E2NDkxN2NiZmExZmY3YTlmYWRjY2UwNTJlNjAyM2EwZGU0
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3By
b3RvdHlwZS9TMTUuMy40X0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BM19UMS5qcwpAQCAtOCw5ICs4LDggQEAg
cHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgKDE1LjMuNCkK
IGVzNWlkOiAxNS4zLjRfQTNfVDEKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBwcm90b3R5cGUgb2Yg
RnVuY3Rpb24ucHJvdG90eXBlCiAtLS0qLwotCi1pZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEZ1
bmN0aW9uLnByb3RvdHlwZSkgIT09IE9iamVjdC5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBw
cm9wZXJ0eSBvZiAnICsKLSAgICAndGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhl
IE9iamVjdCBwcm90b3R5cGUgJyArCi0gICAgJ29iamVjdCAoMTUuMy40KScpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LmdldFByb3RvdHlwZU9mKEZ1bmN0aW9uLnByb3RvdHlwZSks
CisgIE9iamVjdC5wcm90b3R5cGUsCisgICdPYmplY3QuZ2V0UHJvdG90eXBlT2YoRnVuY3Rpb24u
cHJvdG90eXBlKSByZXR1cm5zIE9iamVjdC5wcm90b3R5cGUnCispOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0Ez
X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9TMTUuMy40X0EzX1QyLmpzCmluZGV4IDEwNTE3YTM5YzMzYWM3YTYyNWY1YzhlZmEzZTBmYjIz
ZTI0MjBjNjUuLjg4OGFlMDViMDczOWRmMWQ3MTM2OGY1ZjRhZjI3ZGMxNTllYjBmODIgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
UzE1LjMuNF9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTNfVDIuanMKQEAgLTEzLDcgKzEzLDQgQEAgcHJvdG90
eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgKDE1LjMuMi4xKQogCiBP
YmplY3QucHJvdG90eXBlLmluZGljYXRvciA9IDE7CiAKLS8vQ0hFQ0sjMQotaWYgKEZ1bmN0aW9u
LnByb3RvdHlwZS5pbmRpY2F0b3IgIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IFRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0
aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmpl
Y3QgKDE1LjMuMi4xKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShGdW5jdGlvbi5wcm90b3R5cGUu
aW5kaWNhdG9yLCAxLCAnVGhlIHZhbHVlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZS5pbmRpY2F0b3Ig
aXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0E0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0E0LmpzCmluZGV4
IGU5Y2ExZDVhZTk0ZGE5ODBmMzQ1M2JiMTllMWYwOTNjYzI2NDI2NDYuLjYyMGVkMmI0NmM2OWRl
ODA4YjUzYzVlYzA4NmM3ZDM1MWY0NDcyYzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BNC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTQu
anMKQEAgLTksMTggKzksMjAgQEAKIGVzNWlkOiAxNS4zLjRfQTQKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyB2YWx1ZU9mIHByb3BlcnR5IGF0IEZ1bmN0aW9uLnByb3RvdHlwZQogLS0tKi8KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIEZ1bmN0aW9uLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVP
ZiIpLAorICBmYWxzZSwKKyAgJ0Z1bmN0aW9uLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidmFs
dWVPZiIpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKIAotLy9DSEVDSyMxCi1pZiAoRnVuY3Rpb24u
cHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ2YWx1ZU9mIikgIT09IGZhbHNlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2Vz
IG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duJyk7Ci19Cithc3NlcnQubm90
U2FtZVZhbHVlKAorICB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YsCisgICJ1bmRl
ZmluZWQiLAorICAnVGhlIHZhbHVlIG9mIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWVP
ZiBpcyBub3QgInVuZGVmaW5lZCInCispOwogCi0vL0NIRUNLIzIKLWlmICh0eXBlb2YgRnVuY3Rp
b24ucHJvdG90eXBlLnZhbHVlT2YgPT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBm
cm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdCcpOwotfQotCi0vL0NIRUNLIzMKLWlmIChG
dW5jdGlvbi5wcm90b3R5cGUudmFsdWVPZiAhPT0gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUg
dmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdCcpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YsCisgIE9iamVj
dC5wcm90b3R5cGUudmFsdWVPZiwKKyAgJ1RoZSB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUu
dmFsdWVPZiBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgT2JqZWN0LnByb3RvdHlw
ZS52YWx1ZU9mJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1LjMuNF9BNS5qcwppbmRleCA1ZGRlZTVk
OWNmYzNhMmI0MzMyNWQyYTAwNzM2OGZmMzhlZmEzZDU5Li5lNWM4NjhmZmQwYmIxOGUwNGRhZjlh
Njc4NmZmNWYyOGI3MmIzMDAxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjRfQTUuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy40X0E1LmpzCkBAIC0x
MSw0ICsxMSw0IEBACiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAg
bmV3IEZ1bmN0aW9uLnByb3RvdHlwZTsKLX0pOworfSwgJ2BuZXcgRnVuY3Rpb24ucHJvdG90eXBl
YCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjUuMl9BMV9UMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1
LjMuNS4yX0ExX1QxLmpzCmluZGV4IDU3YmI4YTJmYWVkMDQwZjM1M2M5MzFlZTJhZjYwMjhmNjAz
NDA3NzYuLmQzOWMxZDk4YTFkYTM1MjhmM2MwMmI0YmEwYzRiYjE1M2I4MmI5ZjkgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvUzE1
LjMuNS4yX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvUzE1LjMuNS4yX0ExX1QxLmpzCkBAIC0xMiwyNiArMTIsMjMgQEAgQ2hl
Y2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiIiwg
bnVsbCkKIAogdmFyIGYgPSBuZXcgRnVuY3Rpb24oIiIsIG51bGwpOwogCi0vL0NIRUNLIzEKLWlm
ICghKGYuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Cithc3Nl
cnQoZi5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwogCiB2YXIgZnByb3RvID0gZi5wcm90
b3R5cGU7CiAKIHZlcmlmeU5vdENvbmZpZ3VyYWJsZShmLCAicHJvdG90eXBlIik7CiAKLS8vQ0hF
Q0sjMgogdHJ5IHsKLSAgaWYgKChkZWxldGUgZi5wcm90b3R5cGUpICE9PSBmYWxzZSkgewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0
aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUo
ZGVsZXRlIGYucHJvdG90eXBlLCBmYWxzZSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmIChlIGluc3Rh
bmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOworICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJF
cnJvcikgeworICAgIHRocm93IGU7CisgIH0KICAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpOwogfQogCi0vL0NIRUNLIzMKIGlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUg
YXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZl
cmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9TMTUuMy41LjJfQTFfVDIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjUuMl9BMV9U
Mi5qcwppbmRleCAwMmY2NDRkMDU1NjhkODczMDcwM2E0Y2JjNTcyMTg3MTE5Yjc2MzkwLi40ZDcy
NjJhZjAyMzUxYTRjNjA5Mjc1YjA4MDgxODM0OTA5ZTA2OTY0IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL1MxNS4zLjUuMl9BMV9U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL1MxNS4zLjUuMl9BMV9UMi5qcwpAQCAtMTIsMjYgKzEyLDIzIEBAIENoZWNraW5nIGlmIGRl
bGV0aW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRnVuY3Rpb24odm9pZCAwLAogCiB2YXIg
ZiA9IEZ1bmN0aW9uKHZvaWQgMCwgIiIpOwogCi0vL0NIRUNLIzEKLWlmICghKGYuaGFzT3duUHJv
cGVydHkoJ3Byb3RvdHlwZScpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGhl
IGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Cithc3NlcnQoZi5oYXNPd25Qcm9w
ZXJ0eSgncHJvdG90eXBlJykpOwogCiB2YXIgZnByb3RvID0gZi5wcm90b3R5cGU7CiAKIHZlcmlm
eU5vdENvbmZpZ3VyYWJsZShmLCAicHJvdG90eXBlIik7CiAKLS8vQ0hFQ0sjMgogdHJ5IHsKLSAg
aWYgKChkZWxldGUgZi5wcm90b3R5cGUpICE9PSBmYWxzZSkgewotICAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7
IERvbnREZWxldGUgfScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIGYucHJvdG90
eXBlLCBmYWxzZSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVy
cm9yKSB0aHJvdyBlOworICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgeworICAgIHRo
cm93IGU7CisgIH0KICAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOwogfQogCi0vL0NI
RUNLIzMKIGlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERv
bnREZWxldGUgfScpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkg
Zm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTEyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTEyLmpzCmlu
ZGV4IDlhYjU2NjcwODk2NGU3MDE4ZjQxNGJmNDBiNGU0N2EwNjVkMGQ5ZjMuLjEzYzIxZjNlZDA3
ZGI4ZmUwOWZhNmI4MzFkNzA3MTFjNTk4NjcwYWIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0ExMi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2FwcGx5L1MxNS4zLjQuM19BMTIuanMKQEAgLTgsOCArOCw4IEBACiAgICAgQ2hlY2tpbmcgaWYg
b2J0YWluaW5nIHRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YKICAgICBGdW5jdGlvbi5wcm90b3R5
cGUuYXBwbHkgZmFpbHMKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKEZ1bmN0aW9uLnByb3RvdHlw
ZS5hcHBseS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGhhcyBub3QgcHJvdG90eXBlIHByb3Bl
cnR5JyArIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm90b3R5cGUpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3RvdHlwZSwKKyAgdW5kZWZp
bmVkLAorICAnVGhlIHZhbHVlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm90b3R5cGUg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdW5kZWZpbmVkJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTFfVDEuanMKaW5kZXggYTcyNGYzZDMxNGY5ZTIzNmJhMDZj
MDUzOTcwNWE5Y2IxYWMwYWJiZi4uODNkZjE5N2Q3YWMzZWRkMDNkOWRmZTZmMTk1OWQzZDAzN2Yz
ZmExNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTFfVDEu
anMKQEAgLTE0LDIzICsxNCwxNyBAQAogCiB2YXIgcHJvdG8gPSBGdW5jdGlvbigpOwogCi1mdW5j
dGlvbiBGQUNUT1JZKCkge307CitmdW5jdGlvbiBGQUNUT1JZKCkge30KIAogRkFDVE9SWS5wcm90
b3R5cGUgPSBwcm90bzsKIAogdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwogCi0vL0NIRUNLIzEKLWlm
ICh0eXBlb2Ygb2JqLmFwcGx5ICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIG9iai5hcHBseSwgImZ1bmN0aW9uIiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iai5h
cHBseWAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicpOwogCi0vL0NIRUNLIzIKIHRyeSB7
CiAgIG9iai5hcHBseSgpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogSWYgdGhlIG9i
amVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbiBpcyB0aHJvd24nKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMi4xOiBJZiB0aGUgb2Jq
ZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uIGlzIHRocm93bicpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAn
VGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBl
Y3RlZCB0byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BMV9UMi5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1
LjMuNC4zX0ExX1QyLmpzCmluZGV4IDgzODc5NmM5ZjVmOTgwOTQ5ZmU3ODkyNjFlMjA0NjQyYTgw
OWUxNzAuLjZlYjZkOTliMWU5YWFjMzAzMjg3MTVhMTg5ZTk1MGM5NDliNDEzNjIgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBw
bHkvUzE1LjMuNC4zX0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0ExX1QyLmpzCkBAIC0xMiwyMyAr
MTIsMTcgQEAKICAgICBwcm9wZXJ0eS4gIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0
aW9uLnByb3RvdHlwZQogLS0tKi8KIAotZnVuY3Rpb24gRkFDVE9SWSgpIHt9OworZnVuY3Rpb24g
RkFDVE9SWSgpIHt9CiAKIEZBQ1RPUlkucHJvdG90eXBlID0gRnVuY3Rpb24ucHJvdG90eXBlOwog
CiB2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBvYmouYXBw
bHkgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGFwcGx5
IG1ldGhvZCBhY2Nlc3NlZCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLmFwcGx5
LCAiZnVuY3Rpb24iLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLmFwcGx5YCBpcyBleHBlY3Rl
ZCB0byBiZSAiZnVuY3Rpb24iJyk7CiAKLS8vQ0hFQ0sjMgogdHJ5IHsKICAgb2JqLmFwcGx5KCk7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhh
dmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicp
OwogfSBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2
ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7
Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2
YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDEuanMK
aW5kZXggZjA2YWM0ZmM2MWYzNzI4ODNhZDA2YjQzZDJjY2YwNDNhNDI3NWIxNS4uMGYxZTNkNmQ4
ZWU2OTE4NDZjODUxMmRlOWVkNWZhMmRiNGQ4NjQwYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNf
VDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDEuanMKQEAgLTExLDcgKzExLDQgQEAKIAogRnVuY3Rp
b24oInRoaXMuZmllbGQ9XCJzdHJhd2JlcnJ5XCIiKS5hcHBseSgpOwogCi0vL0NIRUNLIzEKLWlm
ICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVu
Y3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNbImZpZWxkIl0sICJzdHJhd2JlcnJ5IiwgJ1RoZSB2YWx1
ZSBvZiB0aGlzWyJmaWVsZCJdIGlzIGV4cGVjdGVkIHRvIGJlICJzdHJhd2JlcnJ5IicpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9hcHBseS9TMTUuMy40LjNfQTNfVDEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDEwLmpzCmluZGV4IDcw
NDllYWY0M2E4ZjJmNmM5ZGY3YzhkZjMzYzZlMWI4Yzc2MDNiZmUuLmEzYThmZWVhZmQxYzdkZDJl
MTA4MTI4ZWM4NDk0YmFhOTc3YjgzYTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1QxMC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Fw
cGx5L1MxNS4zLjQuM19BM19UMTAuanMKQEAgLTEyLDcgKzEyLDQgQEAKIAogZXZhbCgiIChmdW5j
dGlvbigpe3RoaXMuZmVhdD0xfSkuYXBwbHkoKSIpOwogCi0vL0NIRUNLIzEKLWlmICh0aGlzWyJm
ZWF0Il0gIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIHRoaXNBcmcg
aXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBn
bG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRo
aXNbImZlYXQiXSwgMSwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQgdG8g
YmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UMi5q
cwppbmRleCBlZDVlZTQzYzYwYTY2YTc1OGI3MzVhMTJjMDJkMDVkNTFkYzk5MDc2Li5kOWI4MjU5
MWQzNWM4Nzg0YzIwODhjMzUxYTllNTVlODE2ZjlhNjVlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19B
M19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UMi5qcwpAQCAtMTEsNyArMTEsNCBAQAogCiBGdW5j
dGlvbigidGhpcy5maWVsZD1cImdyZWVuXCIiKS5hcHBseShudWxsKTsKIAotLy9DSEVDSyMxCi1p
ZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlv
biBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUodGhpc1siZmllbGQiXSwgImdyZWVuIiwgJ1RoZSB2YWx1ZSBvZiB0aGlz
WyJmaWVsZCJdIGlzIGV4cGVjdGVkIHRvIGJlICJncmVlbiInKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMu
NC4zX0EzX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3By
b3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDMuanMKaW5kZXggZTBkZDJkZWJlNzI3Y2ZiODQ4
YjMxZWU0NGVlNjRjMjE2ZGQ1NDIxYS4uZjNiMzE5MjhjZTEzYTU5YmQ5MmYwYzUyMWY1NTUyZjg0
YzkwNTMzNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNf
VDMuanMKQEAgLTExLDcgKzExLDQgQEAKIAogRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJiYXR0bGVc
IiIpLmFwcGx5KHZvaWQgMCk7CiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZpZWxkIl0gIT09ICJi
YXR0bGUiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG51
bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFs
IG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzWyJm
aWVsZCJdLCAiYmF0dGxlIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmaWVsZCJdIGlzIGV4cGVjdGVk
IHRvIGJlICJiYXR0bGUiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UNC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMu
NC4zX0EzX1Q0LmpzCmluZGV4IGM5YTkzMzdlZWQ0YjhjZjBkY2I0YTEzMGY1YjdlNmI3ZjRkNWFh
MzEuLmJjMGZlZGQzMTgzYWZmYTZiNTAwNzhiMjBhYjY3NWQyZmJlMDgyOGYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0EzX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1Q0LmpzCkBAIC0xMSw3ICsxMSw0
IEBACiAKIEZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwib2lsXCIiKS5hcHBseSh1bmRlZmluZWQpOwog
Ci0vL0NIRUNLIzEKLWlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNh
bGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFs
dWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodGhpc1siZmllbGQiXSwgIm9pbCIsICdUaGUgdmFs
dWUgb2YgdGhpc1siZmllbGQiXSBpcyBleHBlY3RlZCB0byBiZSAib2lsIicpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBs
eS9TMTUuMy40LjNfQTNfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UNS5qcwppbmRleCA3YmFmYWFjM2My
NDkzNWYzNmIxNTBlNDkyYTU3YzQ4OTNiYzdhY2U3Li45ZDA1MDc5MTM2YjU2ODhiMzkwNWYxOGI1
NTJlZTA0ZTI4ZGM0ZjE1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UNS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4z
LjQuM19BM19UNS5qcwpAQCAtMTMsMTYgKzEzLDkgQEAKIAogZnVuY3Rpb24gRkFDVE9SWSgpIHsK
ICAgRnVuY3Rpb24oInRoaXMuZmVhdD1cImluIGRhIGhhdXNcIiIpLmFwcGx5KCk7Ci19OworfQog
CiB2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZlYXQiXSAh
PT0gImluIGRhIGhhdXMiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlz
QXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0
aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQotCi0vL0NIRUNLIzIKLWlm
ICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1
bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzWyJmZWF0Il0sICJpbiBkYSBoYXVzIiwgJ1RoZSB2YWx1
ZSBvZiB0aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQgdG8gYmUgImluIGRhIGhhdXMiJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBvYmouZmVhdCwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiBvYmouZmVhdGAgaXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
YXBwbHkvUzE1LjMuNC4zX0EzX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDYuanMKaW5kZXggMjhiOTU1
NjZhNzQzOGRlNTBjZDFiMDIyMjE1NjhhZjgyZmFhNzk0Yy4uZWEzN2EwMDRlMTMwNmU1OGRiOTVh
YTdkYWM3MDhiZWFjNmM0NDczZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTNfVDYuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9T
MTUuMy40LjNfQTNfVDYuanMKQEAgLTE2LDE2ICsxNiw5IEBAIGZ1bmN0aW9uIEZBQ1RPUlkoKSB7
CiAgIChmdW5jdGlvbigpIHsKICAgICB0aGlzLmZlYXQgPSAia2Ftb24gYmV5YmEiCiAgIH0pLmFw
cGx5KG51bGwpOwotfTsKK30KIAogdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwogCi0vL0NIRUNLIzEK
LWlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQg
ZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7
Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRl
ZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFz
IHRoZSB0aGlzIHZhbHVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNbImZlYXQiXSwgImth
bW9uIGJleWJhIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQgdG8gYmUg
ImthbW9uIGJleWJhIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLmZlYXQsICJ1bmRl
ZmluZWQiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLmZlYXRgIGlzIGV4cGVjdGVkIHRvIGJl
ICJ1bmRlZmluZWQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UNy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0EzX1Q3LmpzCmluZGV4IGEzYTQ1YTFlYTk2ZmU4NjA5MzE4NDVjMDc1MDVmYTBlYmQ5YTAxNDYu
LjEwM2I1NzVhMDVhYTgyOWY2MGNmZWQ1ZmRlNThmMTg1YjFkMTJhYzAgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1
LjMuNC4zX0EzX1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1Q3LmpzCkBAIC0xNiw3ICsxNiw0IEBA
CiB9KSgpOwogCiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3Ig
dW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVj
dCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzWyJmZWF0Il0s
ICJpbiBkYSBoYXVzIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQgdG8g
YmUgImluIGRhIGhhdXMiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UOC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMu
NC4zX0EzX1Q4LmpzCmluZGV4IDNkOThlODk5Mzg5OGQ3YWE0MzNhOTYzYmYzOTdjYjUzYjhmMmUx
MzUuLjA0MjMwZWY4ZDg3YTU1YTUwNjQxNjM3ZjE5NjQzZTFhMTQxYTQ1MmUgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0EzX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0EzX1Q4LmpzCkBAIC0xOCw3ICsxOCw0
IEBACiAgIH0pLmFwcGx5KHVuZGVmaW5lZCk7CiB9KSgpOwogCi0vL0NIRUNLIzEKLWlmICh0aGlz
WyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24g
aXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKHRoaXNbImZlYXQiXSwgImthbW9uIGJleWJhIiwgJ1RoZSB2YWx1ZSBvZiB0
aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQgdG8gYmUgImthbW9uIGJleWJhIicpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBs
eS9TMTUuMy40LjNfQTNfVDkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UOS5qcwppbmRleCBiZDkyOGM5NmE4
NGI4YzIwNTM1Yjg2N2NhYWY4YjU1NzRlMzQ5ODcwLi5hMWNmNjI5YzM2MTRjNzc4OWNlZTExZDY2
MDk3NmJiZjk1NGVhZmE4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BM19UOS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4z
LjQuM19BM19UOS5qcwpAQCAtMTEsNyArMTEsNCBAQAogCiBldmFsKCIgRnVuY3Rpb24oXCJ0aGlz
LmZlYXQ9MVwiKS5hcHBseSh2b2lkIDApICIpOwogCi0vL0NIRUNLIzEKLWlmICh0aGlzWyJmZWF0
Il0gIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIHRoaXNBcmcgaXMg
bnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9i
YWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNb
ImZlYXQiXSwgMSwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQgdG8gYmUg
MScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UMS5qcwpp
bmRleCA1MThkZDBmNTgzNjI5NjU0YmVmODMxMTQwM2NmZGMwMGM4M2Q3MjUyLi5mNjVlNzhlYjU3
ZDM4ZWNjNGEwZWE1YTA3MDIyM2VhODkwODFmZTBlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9U
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UMS5qcwpAQCAtMTMsMTIgKzEzLDUgQEAgSWYgdGhpc0Fy
ZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZAogCiB2
YXIgcmV0b2JqID0gRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7Iiku
YXBwbHkob2JqKTsKIAotLy9DSEVDSyMxCi1pZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5k
ZWZpbmVkIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBu
b3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0
aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQotCi0vL0NIRUNLIzIKLWlmICghKHJldG9i
alsidG91Y2hlZCJdKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogSWYgdGhpc0Fy
ZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09i
amVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2Ygb2JqLnRvdWNoZWQsICJ1bmRlZmluZWQiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2Jq
LnRvdWNoZWRgIGlzIGV4cGVjdGVkIHRvIGJlICJ1bmRlZmluZWQiJyk7Cithc3NlcnQocmV0b2Jq
WyJ0b3VjaGVkIl0sICdUaGUgdmFsdWUgb2YgcmV0b2JqWyJ0b3VjaGVkIl0gaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19B
NV9UMi5qcwppbmRleCA4NGQxNzc1ODc0MjMwZDFhOGIzNjcwNTVkOTdkNWQxMGViMGYxNGVkLi4z
ZGIwYzY5MmU5ZTJjNmQxMzVlMDA3Njc1YWMyMjk5MWFkOTQ1ZDVhIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4z
LjQuM19BNV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UMi5qcwpAQCAtMTMsMTIgKzEzLDUgQEAg
SWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBh
c3NlZAogCiB2YXIgcmV0b2JqID0gbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJl
dHVybiB0aGlzOyIpLmFwcGx5KG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBvYmoudG91
Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElm
IHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNz
ZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KLQotLy9DSEVDSyMy
Ci1pZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBp
cyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIG9iai50b3VjaGVkLCAidW5kZWZpbmVkIiwgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIG9iai50b3VjaGVkYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicpOwor
YXNzZXJ0KHJldG9ialsidG91Y2hlZCJdLCAnVGhlIHZhbHVlIG9mIHJldG9ialsidG91Y2hlZCJd
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1QzLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBs
eS9TMTUuMy40LjNfQTVfVDMuanMKaW5kZXggMmU3YmJjZDBhMmNkMzNjNWZkYzFhMGUyZmMxN2Ni
MzUxMWY5M2JmZi4uNTU0ZGQ2ZTk1MWE1ZWQ4OWYzODBlNDkyZGJkNTlkNzhmN2U4YjEyZSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9hcHBseS9TMTUuMy40LjNfQTVfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDMuanMKQEAgLTE3
LDEyICsxNyw1IEBAIElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBm
dW5jdGlvbiBpcyBwYXNzZWQKICAgcmV0dXJuIHRoaXM7CiB9KS5hcHBseShvYmopOwogCi0vL0NI
RUNLIzEKLWlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRo
ZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlz
IHZhbHVlJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmlu
ZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRo
ZSB0aGlzIHZhbHVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvYmoudG91Y2hlZCwg
InVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmoudG91Y2hlZGAgaXMgZXhwZWN0
ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKK2Fzc2VydChyZXRvYmpbInRvdWNoZWQiXSwgJ1RoZSB2
YWx1ZSBvZiByZXRvYmpbInRvdWNoZWQiXSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2FwcGx5L1MxNS4zLjQuM19BNV9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1Q0LmpzCmluZGV4IDIzODQw
NTNiNTAyZjhjMjQ4YjcyZjE4NTIyMmY0YmVhZmM4NTNmYjMuLmM0NTJkZjRmMzcxZjZlMTM4ZGMw
NDliZGE4MDgyYjg0NWM1ZWNiY2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1Q0LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0E1X1Q0LmpzCkBAIC0xNywxNCArMTcsNyBAQCBJZiB0aGlzQXJnIGlzIG5vdCBu
dWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkCiAKIHJldG9iaiA9IGYu
YXBwbHkob2JqKTsKIAotLy9DSEVDSyMxCi1pZiAodHlwZW9mIG9iaiAhPT0gInVuZGVmaW5lZCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwo
ZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykg
YXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoIShyZXRvYmpbInRvdWNo
ZWQiXSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IElmIHRoaXNBcmcgaXMgbm90
IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhp
c0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG9i
aiwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmpgIGlzIGV4cGVjdGVkIHRv
IGJlICJ1bmRlZmluZWQiJyk7Cithc3NlcnQocmV0b2JqWyJ0b3VjaGVkIl0sICdUaGUgdmFsdWUg
b2YgcmV0b2JqWyJ0b3VjaGVkIl0gaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogCiB2YXIgb2Jq
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3By
b3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UNS5qcwppbmRl
eCAwY2U0ZDY0YjdhOWQ4ODJmMmE4NGY4MzhmMzFkOWNhMjM1NmJhM2JkLi44MDdlNjZmZDA4NDYw
NGMxNWVhNGM0NDI2ZmU2ZjU2MWE4YTVmY2FlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UNS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2FwcGx5L1MxNS4zLjQuM19BNV9UNS5qcwpAQCAtMTcsNyArMTcsNCBAQCBJZiB0aGlzQXJnIGlz
IG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkCiAKIGYuYXBw
bHkob2JqKTsKIAotLy9DSEVDSyMxCi1pZiAoIShvYmoudG91Y2hlZCkpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNh
bGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFs
dWUnKTsKLX0KK2Fzc2VydChvYmoudG91Y2hlZCwgJ1RoZSB2YWx1ZSBvZiBvYmoudG91Y2hlZCBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UNi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0E1X1Q2LmpzCmluZGV4IGFlOGJhZDI5NmY4NGMwZTE3OTlmYWIyMWU5ZjhhNWIy
ODM5YzVkZjcuLjQ4YWNkMTM3ZGM3N2Y1NjEyYzg4MjI3MGMwYzA0MjE1YzdhNGY0MjIgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
YXBwbHkvUzE1LjMuNC4zX0E1X1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1Q2LmpzCkBAIC0xNSw3
ICsxNSw0IEBAIElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5j
dGlvbiBpcyBwYXNzZWQKICAgdGhpcy50b3VjaGVkID0gdHJ1ZTsKIH0pLmFwcGx5KG9iaik7CiAK
LS8vQ0hFQ0sjMQotaWYgKCEob2JqLnRvdWNoZWQpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rp
b24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19Cith
c3NlcnQob2JqLnRvdWNoZWQsICdUaGUgdmFsdWUgb2Ygb2JqLnRvdWNoZWQgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTVfVDcuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19B
NV9UNy5qcwppbmRleCA4YWJlOWE0MWFjZDZhZTcyMTcwMzliYTMzMDQ5NzQxMjk3MjFjNTJlLi5i
NDhmZTZmZTc4YWQ3YzdkZTIzMzNmMTUwY2ViNTk5MmQ0MzZiNDA3IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4z
LjQuM19BNV9UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UNy5qcwpAQCAtMTMsNyArMTMsNCBAQCBJ
ZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFz
c2VkCiAKIEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuYXBwbHkob2JqKTsKIAotLy9D
SEVDSyMxCi1pZiAoIShvYmoudG91Y2hlZCkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBp
cyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2Vy
dChvYmoudG91Y2hlZCwgJ1RoZSB2YWx1ZSBvZiBvYmoudG91Y2hlZCBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BNV9UOC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1Q4
LmpzCmluZGV4IDc1YjNmMGJiODg2YmQwMGZkNjg1MDZiM2FiYWZhODZiZDg2ZWFkMWIuLjI0MDA4
ZjJiYmE3MjQ4MmUzNDQ3N2Y4YTA2OWEzY2FiYmM5MjQzNGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E1X1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E1X1Q4LmpzCkBAIC0xMyw3ICsxMyw0IEBAIElmIHRo
aXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQK
IAogbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmFwcGx5
KG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYgKCEob2JqLnRvdWNoZWQpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxs
ZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVl
Jyk7Ci19Cithc3NlcnQob2JqLnRvdWNoZWQsICdUaGUgdmFsdWUgb2Ygb2JqLnRvdWNoZWQgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1Mx
NS4zLjQuM19BN19UMS5qcwppbmRleCBkODc1NmI1MWY2OWRkNjUzMmJmYzg0NGMxNTdlMTdmMDJm
Yjk2MTVmLi45NGY4MTM3NWVhMDRiNzA3ZDgyZGU3MThhNjkzY2FlMmZkOGNiMTRiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Fw
cGx5L1MxNS4zLjQuM19BN19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UMS5qcwpAQCAtMTEsNyAr
MTEsNCBAQCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSAoVG9VaW50MzIoYXJnQXJyYXkubGVu
Z3RoKSkgYXJndW1lbnRzIGFyZ0FycmF5WzBdLCBhcgogCiBGdW5jdGlvbigiYTEsYTIsYTMiLCAi
dGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG51bGwsIFsxXSk7CiAKLS8vQ0hFQ0sjMQotaWYgKHRo
aXNbInNoaWZ0ZWQiXSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYg
YXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBm
dW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNbInNo
aWZ0ZWQiXSwgMSwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJzaGlmdGVkIl0gaXMgZXhwZWN0ZWQgdG8g
YmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDEwLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDEw
LmpzCmluZGV4IGIyNTYzYjNkZDJkOGUwN2JhMjI1MmIwN2U1MDE2OThhYTkyYjlmMzEuLjdiNDVl
MWMwN2UyNDE2ZGZhODQ5MDc3NTNiYTA0ZjNkZWZmZmE2NjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E3X1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UMTAuanMKQEAgLTE3LDEyICsxNywxMCBAQCBh
cmdBcnJheSBpcyAoZW1wdHkgb2JqZWN0LCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2Fs
bAogICBGdW5jdGlvbigiYTEsYTIsYTMiLCAidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5
KG9iaiwgYXJndW1lbnRzKTsKIH0pKCIiLCA0LCAyKTsKIAotLy9DSEVDSyMxCi1pZiAob2JqWyJz
aGlmdGVkIl0gIT09ICI0MiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIGFy
Z0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVu
Y3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmpbInNoaWZ0
ZWQiXSwgIjQyIiwgJ1RoZSB2YWx1ZSBvZiBvYmpbInNoaWZ0ZWQiXSBpcyBleHBlY3RlZCB0byBi
ZSAiNDIiJyk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1
bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJZiBhcmdBcnJheSBp
cyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlz
IHBhc3NlZCB0aGUuLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB0aGlzWyJz
aGlmdGVkIl0sCisgICJ1bmRlZmluZWQiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgdGhpc1si
c2hpZnRlZCJdYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5
L1MxNS4zLjQuM19BN19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1QyLmpzCmluZGV4IDM0YWNiN2U3MDQ0
NDg5MzBhMTI4YjkyYjgyZDk1N2NkMzYwMzg3OTYuLjNlYjlmMTFjYTg1OGE0M2E1MjE3NDQ1YzEz
MDQ3ZTA4NDFjMjc5ODMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1QyLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMu
NC4zX0E3X1QyLmpzCkBAIC0xMSw3ICsxMSw0IEBAIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhl
IChUb1VpbnQzMihhcmdBcnJheS5sZW5ndGgpKSBhcmd1bWVudHMgYXJnQXJyYXlbMF0sIGFyCiAK
IG5ldyBGdW5jdGlvbigiYTEsYTIiLCAiYTMiLCAidGhpcy5zaGlmdGVkPWEyOyIpLmFwcGx5KG51
bGwsIFsxLCAyLCAzXSk7CiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gMikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFu
IGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhl
Li4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNbInNoaWZ0ZWQiXSwgMiwgJ1RoZSB2YWx1
ZSBvZiB0aGlzWyJzaGlmdGVkIl0gaXMgZXhwZWN0ZWQgdG8gYmUgMicpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9T
MTUuMy40LjNfQTdfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UMy5qcwppbmRleCA3OWM0MGVlMDBhNTM0
MDRlOWU0ZjY0NmMxNDAzNDJhOTM4NjI5NDk1Li4xZDQ3YmY0OWYyODc2YmVjZGExZTQ3MmM3OTk4
MGEyNDAwOGIzZDk3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UMy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQu
M19BN19UMy5qcwpAQCAtMjEsMTIgKzIxLDEwIEBAIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhl
IChUb1VpbnQzMihhcmdBcnJheS5sZW5ndGgpKSBhcmd1bWVudHMgYXJnQXJyYXlbMF0sIGFyCiAK
IEZ1bmN0aW9uKHAsICJhMixhMyIsICJ0aGlzLnNoaWZ0ZWQ9YTE7IikuYXBwbHkob2JqLCBuZXcg
QXJyYXkoIm5pbmUiLCAiaW5jaCIsICJuYWlscyIpKTsKIAotLy9DSEVDSyMxCi1pZiAob2JqWyJz
aGlmdGVkIl0gIT09ICJuaW5lIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYg
YXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBm
dW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9ialsic2hp
ZnRlZCJdLCAibmluZSIsICdUaGUgdmFsdWUgb2Ygb2JqWyJzaGlmdGVkIl0gaXMgZXhwZWN0ZWQg
dG8gYmUgIm5pbmUiJyk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0g
IT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJZiBhcmdB
cnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0
aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB0
aGlzWyJzaGlmdGVkIl0sCisgICJ1bmRlZmluZWQiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
dGhpc1sic2hpZnRlZCJdYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2FwcGx5L1MxNS4zLjQuM19BN19UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1Q0LmpzCmluZGV4IGVjNDFi
OGZhMzM5MzUxMGU2OGM5YjJhMTVjNmNjOTkyNTMzYjU2YTMuLjM0NWNkMjU1ZTEyNGJhMzNmMTZm
ZWE1ODY0NDliM2NjYmNlMDZiMjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1Q0LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0E3X1Q0LmpzCkBAIC0yNSwxMiArMjUsMTAgQEAgdGhlIGZ1bmN0aW9uIGlzIHBh
c3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVsw
XSwgYXIKICAgcmV0dXJuIGFyZ3VtZW50czsKIH0pKCJhIiwgImIiLCAiYyIpKTsKIAotLy9DSEVD
SyMxCi1pZiAob2JqWyJzaGlmdGVkIl0gIT09ICJjIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBv
YmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKG9ialsic2hpZnRlZCJdLCAiYyIsICdUaGUgdmFsdWUgb2Ygb2JqWyJzaGlmdGVkIl0gaXMg
ZXhwZWN0ZWQgdG8gYmUgImMiJyk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiB0aGlzWyJzaGlm
dGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJ
ZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhl
IGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5
cGVvZiB0aGlzWyJzaGlmdGVkIl0sCisgICJ1bmRlZmluZWQiLAorICAnVGhlIHZhbHVlIG9mIGB0
eXBlb2YgdGhpc1sic2hpZnRlZCJdYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicKKyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2FwcGx5L1MxNS4zLjQuM19BN19UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1Q1LmpzCmluZGV4
IGJkMDAxNDQyOWNiMGIzNDc0Nzc2OGNjMWNmNzY0ZjI0YWNmNjFjOGQuLjgxOTY2YzNiYjcyMDE3
YzYxODdmNjcxYzg3OGE2ZGQwNGM2NWY0MDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E3X1Q1Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
YXBwbHkvUzE1LjMuNC4zX0E3X1Q1LmpzCkBAIC0xNSwxMiArMTUsNSBAQCBmdW5jdGlvbiBGQUNU
T1JZKCkgewogCiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoIiIsIDEsIDIpOwogCi0vL0NIRUNLIzEK
LWlmICh0aGlzWyJzaGlmdGVkIl0gIT09ICIxMiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2Jq
ZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwotfQotCi0vL0NIRUNLIzIKLWlm
ICh0eXBlb2Ygb2JqLnNoaWZ0ZWQgIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1l
bnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUodGhpc1sic2hpZnRlZCJdLCAiMTIiLCAnVGhlIHZhbHVlIG9mIHRoaXNbInNoaWZ0
ZWQiXSBpcyBleHBlY3RlZCB0byBiZSAiMTIiJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBv
Ymouc2hpZnRlZCwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmouc2hpZnRl
ZGAgaXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E3X1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDYuanMKaW5kZXggMmVlZGFkNTFhZjYzMzE4ZWFkZDFm
NGVjZWUwYTk1NjhiZTYxOWYwNy4uYmNkODgwZDM1MmVjMDdjNDc2ZWFiYzFhOTg4YjhmMjg2NmQ4
NTQxZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDYu
anMKQEAgLTE1LDEyICsxNSwxMCBAQCBmdW5jdGlvbiBGQUNUT1JZKCkgewogCiB2YXIgb2JqID0g
bmV3IEZBQ1RPUlkoIiIsIDQsIDIpOwogCi0vL0NIRUNLIzEKLWlmIChvYmpbInNoaWZ0ZWQiXSAh
PT0gIjQyIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgYXJnQXJyYXkgaXMg
ZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBw
YXNzZWQgdGhlLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9ialsic2hpZnRlZCJdLCAiNDIi
LCAnVGhlIHZhbHVlIG9mIG9ialsic2hpZnRlZCJdIGlzIGV4cGVjdGVkIHRvIGJlICI0MiInKTsK
IAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBh
biBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRo
ZS4uLicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSwK
KyAgInVuZGVmaW5lZCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB0aGlzWyJzaGlmdGVkIl1g
IGlzIGV4cGVjdGVkIHRvIGJlICJ1bmRlZmluZWQiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E3X1Q3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDcuanMKaW5kZXggMGVlNjk1Nzk3MTA0NWUyNjFmN2Rj
MTU4YjEyNjljYjhjZjYxZjExYi4uZjU4ZTYzNTYxNDZmM2UyNjk1NGNmY2U4NmQ2YWY0YTE4MjEy
ZTQ1YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDcu
anMKQEAgLTE1LDcgKzE1LDQgQEAgYXJnQXJyYXkgaXMgKG51bGwsIGFyZ3VtZW50cyksIGluc2lk
ZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQKICAgRnVuY3Rpb24oImExLGEyLGEzIiwgInRoaXMuc2hp
ZnRlZD1hMSthMithMzsiKS5hcHBseShudWxsLCBhcmd1bWVudHMpOwogfSkoIiIsIDEsIDIpOwog
Ci0vL0NIRUNLIzEKLWlmICh0aGlzWyJzaGlmdGVkIl0gIT09ICIxMiIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBh
cmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSh0aGlzWyJzaGlmdGVkIl0sICIxMiIsICdUaGUgdmFsdWUgb2YgdGhpc1si
c2hpZnRlZCJdIGlzIGV4cGVjdGVkIHRvIGJlICIxMiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E3X1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDguanMKaW5kZXggNzM4ZWFhMWZjMDViZTk1ODNhMTRi
ZTkzNzQ0ZTQ3MGE1MTNmNTY0ZS4uYmRiZThjNmFkY2VlYTQxMTkxMTY3YWZhYmFkZDRmM2ZiZDMw
NzExYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDgu
anMKQEAgLTE1LDcgKzE1LDQgQEAgYXJnQXJyYXkgaXMgKHRoaXMsIGFyZ3VtZW50cyksIGluc2lk
ZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQKICAgRnVuY3Rpb24oImExLGEyLGEzIiwgInRoaXMuc2hp
ZnRlZD1hMSthMithMzsiKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogfSkoIiIsIDQsIDIpOwog
Ci0vL0NIRUNLIzIKLWlmICh0aGlzWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBh
cmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSh0aGlzWyJzaGlmdGVkIl0sICI0MiIsICdUaGUgdmFsdWUgb2YgdGhpc1si
c2hpZnRlZCJdIGlzIGV4cGVjdGVkIHRvIGJlICI0MiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E3X1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDkuanMKaW5kZXggMGRkMzAzM2YyYmYwNzFjZTdjYWY1
MWE0YzU2YWY5MjMzY2ZhM2E1ZS4uYzQwMDQ3Y2Q3NzA0OThkNTNkODEyNmJhZDIwYzI5ZGQwN2Fl
ODk0ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQTdfVDku
anMKQEAgLTE5LDEyICsxOSwxMCBAQCBmdW5jdGlvbiBGQUNUT1JZKCkgewogCiB2YXIgb2JqID0g
bmV3IEZBQ1RPUlkoIiIsIDEsIDIpOwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgdGhpc1sic2hp
ZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
SWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRo
ZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgdGhpc1sic2hpZnRlZCJdLAorICAidW5kZWZpbmVkIiwKKyAgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIHRoaXNbInNoaWZ0ZWQiXWAgaXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInCisp
OwogCi0vL0NIRUNLIzIKLWlmIChvYmouc2hpZnRlZCAhPT0gIjEyIikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFy
Z3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKG9iai5zaGlmdGVkLCAiMTIiLCAnVGhlIHZhbHVlIG9mIG9iai5zaGlmdGVk
IGlzIGV4cGVjdGVkIHRvIGJlICIxMiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4X1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBs
eS9TMTUuMy40LjNfQThfVDEuanMKaW5kZXggZjQxZTU5OTY4YTNjNmM0NzdlMjRiM2NmOTU5M2M1
YzlkMWIzZWYxNi4uZGJjZTZhYjM4MjIxNWRhMmY2MjRkZWJiZDkzNzNmZTYzOGYwMjA0MCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9hcHBseS9TMTUuMy40LjNfQThfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQThfVDEuanMKQEAgLTEx
LDcgKzExLDUgQEAKICAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHk7CiAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2Fu
XCd0IGJlIHVzZWQgYXMgW1tDb25zdHJ1Y3RdXSBjYWxsZXInKTsKIH0gY2F0Y2ggKGUpIHsKLSAg
aWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tD
b25zdHJ1Y3RdXSBjYWxsZXInKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
ciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQThfVDIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5
L1MxNS4zLjQuM19BOF9UMi5qcwppbmRleCA3MDBhODliMDc3YTI3ZGM5YTQxM2Y4YWVjZmY4YjIy
MzE3NTdjZjBiLi4zZWNlMTQyOTgxMmQ3YmFiYjEzODYxYWFlMmQzOGFhMjQwMTk2NzEwIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2FwcGx5L1MxNS4zLjQuM19BOF9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BOF9UMi5qcwpAQCAtMTEs
NyArMTEsNSBAQAogICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSgpOwog
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNh
blwndCBiZSB1c2VkIGFzIFtbQ29uc3RydWN0XV0gY2FsbGVyJyk7CiB9IGNhdGNoIChlKSB7Ci0g
IGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtb
Q29uc3RydWN0XV0gY2FsbGVyJyk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4X1QzLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBs
eS9TMTUuMy40LjNfQThfVDMuanMKaW5kZXggNzlmNWRjMDA0Nzk1ODZhNjljNDFkN2EyMjliNmM3
ZTJlNzk1YTllYy4uZGNiMGZkZDEwNDhjNjAyOWEyZDM4NWQ1OTY3ZmRmN2Y3NzQ2MjE5NiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9hcHBseS9TMTUuMy40LjNfQThfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQThfVDMuanMKQEAgLTEx
LDcgKzExLDUgQEAKICAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5hcHBseTsKICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNl
ZCBhcyBbW0NvbnN0cnVjdF1dIGNhbGxlcicpOwogfSBjYXRjaCAoZSkgewotICBpZiAoIShlIGlu
c3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6
IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW0NvbnN0cnVjdF1d
IGNhbGxlcicpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAnVGhlIHJl
c3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BOF9UNC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4z
X0E4X1Q0LmpzCmluZGV4IDRiM2E2YjcwZDg2YWY0ZWU3MmNiNzNlYWQ2YjA4MzE4ZTg1NDk5Yjku
LjVhOTAyYWQzMjVjZGNmOTE0M2E3ZmVhZDYxNGEwMDIwMDc2ZTY0ZDcgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1
LjMuNC4zX0E4X1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4X1Q0LmpzCkBAIC0xMSw3ICsxMSw1IEBA
CiAgIHZhciBvYmogPSBuZXcoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KTsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUg
dXNlZCBhcyBbW0NvbnN0cnVjdF1dIGNhbGxlcicpOwogfSBjYXRjaCAoZSkgewotICBpZiAoIShl
IGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW0NvbnN0cnVj
dF1dIGNhbGxlcicpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L1MxNS4zLjQuM19BOF9UNS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMu
NC4zX0E4X1Q1LmpzCmluZGV4IGI5NjYzMmNkN2I0ZDkwY2JlNTZlMDY2M2U4ZmUxZGI0OWUyMGY2
Y2EuLjdlZDEzYjQ5MzI2ZjMxZjA0NWUzNWY1YmQ1YjlkMjQ2NjYyM2U3MDEgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkv
UzE1LjMuNC4zX0E4X1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4X1Q1LmpzCkBAIC0xMiw3ICsxMiw1
IEBACiAgIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbQ29uc3Ry
dWN0XV0gY2FsbGVyJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogRnVuY3Rpb24ucHJv
dG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbQ29uc3RydWN0XV0gY2FsbGVyJyk7Ci0g
IH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsK
IH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvYXBwbHkvUzE1LjMuNC4zX0E4X1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQThfVDYuanMKaW5k
ZXggYWExMDIwNjIwM2Y5NmYxMDE0OTYxZGJiN2QzNjk2ZWM0YmRmMWU5Yy4uYzk2NDQzYmQzZmQw
YjBmNzM4ZTk3NjkwMDQzNzMwNzU2ZjEwZTk1MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9hcHBseS9TMTUuMy40LjNfQThfVDYu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9hcHBseS9TMTUuMy40LjNfQThfVDYuanMKQEAgLTksMTQgKzksMTAgQEAKICAgICBmKCl7dGhp
cy5wMT0xO307cmV0dXJuIGYiKS5hcHBseSgpKSIgZmFpbHMKIC0tLSovCiAKLS8vQ0hFQ0sjMQog
dHJ5IHsKICAgdmFyIG9iaiA9IG5ldyhGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9
O3JldHVybiBmIikuYXBwbHkoKSk7CiB9IGNhdGNoIChlKSB7CiAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tD
b25zdHJ1Y3RdXSBjYWxsZXInKTsKIH0KIAotLy9DSEVDSyMyCi1pZiAob2JqLnAxICE9PSAxKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkg
Y2FuXCd0IGJlIHVzZWQgYXMgW1tDb25zdHJ1Y3RdXSBjYWxsZXInKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUob2JqLnAxLCAxLCAnVGhlIHZhbHVlIG9mIG9iai5wMSBpcyBleHBlY3RlZCB0byBiZSAx
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1MxNS4zLjQuNV9BMS5qcwppbmRleCBjYWU5
YmIyYWU0Y2M4NWY5MzgyNDBlMzg1NTVhMjljZjNhZDg1NmIyLi5hMDk3M2U1MmIyNTkyNjI1N2Q5
NWVhZDFjZjdlYTYzMWRkNTY2MzNmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9TMTUu
My40LjVfQTEuanMKQEAgLTE4LDQgKzE4LDQgQEAgZnVuY3Rpb24gYmF6KCkgewogCiBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIGJheigpOwotfSk7Cit9LCAnYmF6KCkg
dGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1MxNS4zLjQuNV9BMTMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Jp
bmQvUzE1LjMuNC41X0ExMy5qcwppbmRleCBhYmIyOTcwMzU4NWRiYTdiYWQ4MzJlODM1MDI1OTNk
NjZiMzZmMTE5Li41NDRiNzQzYTc3YWQ3Nzk0ZTc1MjIzNDdjMTQwNGY2ZGQxYmI3ZjhkIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2JpbmQvUzE1LjMuNC41X0ExMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExMy5qcwpAQCAtOCw0ICs4LDQg
QEAKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBGdW5jdGlvbi5w
cm90b3R5cGUuYmluZC5jYWxsKHVuZGVmaW5lZCwge30pOwotfSk7Cit9LCAnRnVuY3Rpb24ucHJv
dG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQsIHt9KSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9TMTUuMy40LjVfQTE0LmpzCmluZGV4
IGY3MmVlMDRjNTI2YzRiMjkyNGM0MWRjZWNjYjRmNDU1NDE2NDAwNTEuLjAyMWMwMWUxM2EwNTE4
OTNmZDdhNTEwYTYxZGZjOWRjY2E3NWE3YzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9TMTUuMy40LjVfQTE0LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmlu
ZC9TMTUuMy40LjVfQTE0LmpzCkBAIC04LDQgKzgsNCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwobnVsbCwg
e30pOwotfSk7Cit9LCAnRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsLCB7fSkgdGhy
b3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1MxNS4zLjQuNV9BMTUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQv
UzE1LjMuNC41X0ExNS5qcwppbmRleCA0NWY4MTZlMzM5NTk5MjU5M2ZjYzRhZDU1MDk4MWFjODli
Y2Y3OTY2Li4xMDg1OGMyZDY0NmFhM2U2MGFjYzU4MzY2ZDU5YzYxMmNkZTg2OGEwIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Jp
bmQvUzE1LjMuNC41X0ExNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExNS5qcwpAQCAtOCw0ICs4LDQgQEAK
IAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBGdW5jdGlvbi5wcm90
b3R5cGUuYmluZC5jYWxsKHt9LCB7fSk7Ci19KTsKK30sICdGdW5jdGlvbi5wcm90b3R5cGUuYmlu
ZC5jYWxsKHt9LCB7fSkgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5k
L1MxNS4zLjQuNV9BMTYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rp
b24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExNi5qcwppbmRleCAxOWQzMzdlNmMyNmUzMmNl
OWFhNTY0MzkxZDc1OWQ2MjUxZWJmZWQ1Li5jNDAzYTUwOGIzNzEzNjIwNTJmMTJlZTQyZTJhMzk3
NTI1OTM5ZDg0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExNi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0ExNi5q
cwpAQCAtMTksOCArMTksNiBAQAogICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiBJ
c0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgIH0gY2F0Y2ggKGUpIHsKLSAgICBpZiAo
IShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7Ci0gICAgfQorICAgIGFz
c2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChl
IGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiAgIH0KIH0K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvYmluZC9TMTUuMy40LjVfQTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0EyLmpzCmluZGV4IGQ3ZGQyNzg2
OTk3MTU2OTgxNjcyY2UxMTEwMWQ4MWIyZTg4NTk0YjYuLjI2YzQ2MDdhNjJkNmFmMTM1OWI2MDQ4
YmZmNTYyMDkxYjk5MGJhZTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9TMTUuMy40LjVfQTIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1MxNS4zLjQu
NV9BMi5qcwpAQCAtMTgsNCArMTgsNCBAQCBmdW5jdGlvbiBiYXooKSB7CiAKIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgYmF6KCk7Ci19KTsKK30sICdiYXooKSB0aHJv
d3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0EzLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1Mx
NS4zLjQuNV9BMy5qcwppbmRleCA4ZjJiZTY3ZDRmMDA1NTA0YTM2NjBjZDE1NzUxMWFkY2FkNWU4
Mjg1Li5iODhjMGM3Mzg1ZmE2ZWViM2E1MDQyZDhjMTA1YmYwNjhmYzdmNjk2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQv
UzE1LjMuNC41X0EzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYmluZC9TMTUuMy40LjVfQTMuanMKQEAgLTUsNyArNSw3IEBACiBlczVp
ZDogMTUuMy40LjVfQTMKIGRlc2NyaXB0aW9uOiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBtdXN0
IGV4aXN0CiAtLS0qLwotCi1pZiAoISgnYmluZCcgaW4gRnVuY3Rpb24ucHJvdG90eXBlKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBpcyBtaXNz
aW5nJyk7Ci19Cithc3NlcnQoCisgICdiaW5kJyBpbiBGdW5jdGlvbi5wcm90b3R5cGUsCisgICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKFwnYmluZFwnIGluIEZ1bmN0aW9uLnByb3RvdHlwZSkg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvUzE1LjMuNC41X0E1LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL1Mx
NS4zLjQuNV9BNS5qcwppbmRleCA3MDdkYzE2YTU5MjQyYjBmYjA4YjM5ZjFiZTYwZDgxMzAwNGQw
YTk1Li5jMmNiY2QzMDA2MDBiNzFmMjY1MTAxYTdkNzJkZTA1YjJlMzhjMTgxIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQv
UzE1LjMuNC41X0E1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYmluZC9TMTUuMy40LjVfQTUuanMKQEAgLTEzLDYgKzEzLDkgQEAgZnVu
Y3Rpb24gY29uc3RydWN0KGYsIGFyZ3MpIHsKICAgcmV0dXJuIG5ldyBib3VuZCgpOwogfQogdmFy
IGQgPSBjb25zdHJ1Y3QoRGF0ZSwgWzE5NTcsIDQsIDI3XSk7Ci1pZiAoT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKGQpICE9PSAnW29iamVjdCBEYXRlXScpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignVXNpbmcgdGhlIERhdGUgY29uc3RydWN0b3IgdmlhIC5iaW5kIGRpZCBub3Qg
Y3JlYXRlIGEgRGF0ZS4nKTsKLX0KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKGQpLAorICAnW29iamVjdCBEYXRlXScsCisgICdPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoY29uc3RydWN0KERhdGUsIFsxOTU3LCA0LCAyN10pKSBtdXN0
IHJldHVybiAiW29iamVjdCBEYXRlXSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMTAuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwv
UzE1LjMuNC40X0ExMC5qcwppbmRleCAyYTI1Mjc1ZmY0YWEyYjMzYThhYmY1OGY5ODI5ZmY5MDRm
NWQyZTE0Li4xZTZmZGY2MDQyZjkwNzk2ZTRiZTY3ZmU2MmFhMzk1Y2U1YTZiOWE1IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0ExMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0ExMC5qcwpAQCAtOSwxMSArOSwxMCBA
QAogICAgIGZhaWxzCiBpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQogLS0tKi8KLQotLy9D
SEVDSyMxCi1pZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgRnVuY3Rpb24ucHJv
dG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKLX0KK2Fzc2VydCgKKyAgRnVuY3Rp
b24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnRnVuY3Rpb24u
cHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gdHJ1
ZScKKyk7CiAKIHZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGg7CiAKQEAg
LTIxLDcgKzIwLDEwIEBACiAgIHJldHVybiAic2hpZnRlZCI7CiB9KTsKIAotLy9DSEVDSyMyCi1p
ZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSBvYmopIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBsZW5ndGggcHJv
cGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoLAorICBvYmosCisgICdUaGUgdmFs
dWUgb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBvYmonCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMTEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0ExMS5q
cwppbmRleCAxZDkyYTlkZTIxZTA2YjkzNWI4YjJiNDYwOWIxOTUzY2ZjM2I5MjBlLi4wYzE1MmY4
ZWI3YTNiM2ZiOTQ2MGViZjYzZjU1YjQ0ZjI2ZWU3NjFmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0Ex
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2NhbGwvUzE1LjMuNC40X0ExMS5qcwpAQCAtOCwyMCArOCwxOSBAQAogICAgIENoZWNraW5n
IGlmIGVudW1lcmF0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgKICAgICBw
cm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fzc2VydCgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwu
aGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFz
T3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sj
MAotaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcp
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlw
ZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Ci0KLQotLy8gQ0hFQ0sjMQotaWYgKEZ1
bmN0aW9uLnByb3RvdHlwZS5jYWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxs
Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKLX0KK2Fzc2Vy
dCgKKyAgIUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5n
dGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvcGVydHlJ
c0VudW1lcmFibGUoXCdsZW5ndGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIC8v
IENIRUNLIzIKIGZvciAodmFyIHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwpIHsKLSAgaWYg
KHAgPT09ICJsZW5ndGgiKQotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgRnVu
Y3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBE
b250RW51bScpOworICBhc3NlcnQubm90U2FtZVZhbHVlKHAsICJsZW5ndGgiLCAnVGhlIHZhbHVl
IG9mIHAgaXMgbm90ICJsZW5ndGgiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5
UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0ExMi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRf
QTEyLmpzCmluZGV4IDVmMGM2NGI4ZjZmMWJjYzkwOTk1YzA5MjNiYTljNWYzNjA2YjI4YmEuLjU3
ZTMyZmU4Nzk1Y2EyMGE0NTk5MjlhNzE5NDNlZmY2YTY1MmFkNzUgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40
LjRfQTEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTEyLmpzCkBAIC04LDggKzgsOCBAQAogICAgIENoZWNr
aW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mCiAgICAgRnVuY3Rpb24u
cHJvdG90eXBlLmNhbGwgZmFpbHMKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKEZ1bmN0aW9uLnBy
b3RvdHlwZS5jYWxsLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBw
cm9wZXJ0eScgKyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvdG90eXBlLAorICB1bmRl
ZmluZWQsCisgICdUaGUgdmFsdWUgb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwucHJvdG90eXBl
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHVuZGVmaW5lZCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40
X0ExMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5
cGUvY2FsbC9TMTUuMy40LjRfQTEzLmpzCmluZGV4IGMzY2E4MGE4MTA5NDBhY2UxNDI4OTZhOTRk
ODdiZGE2MWRlNTZhYWIuLmFkYmU1MDVjMmEwZmFkM2JhNzg4OWVlZWE1NjNiZGY5MTAxZmZkMzAg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvY2FsbC9TMTUuMy40LjRfQTEzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTEzLmpzCkBAIC04LDQg
KzgsNCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEZ1bmN0
aW9uLnByb3RvdHlwZS5jYWxsLmNhbGwodW5kZWZpbmVkLCB7fSk7Ci19KTsKK30sICdGdW5jdGlv
bi5wcm90b3R5cGUuY2FsbC5jYWxsKHVuZGVmaW5lZCwge30pIHRocm93cyBhIFR5cGVFcnJvciBl
eGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTE0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMTQuanMK
aW5kZXggOTYzNTM4Nzg5MGM0ZDk3ZjBmMTRjNjljMTQ5YThjZDk3YWY5MzA1NS4uMDQ2MWYwM2Jh
NjViMmJjYmNlMzRiMjg4MGI2MzIxMDFiNTA3NjU2NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMTQu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jYWxsL1MxNS4zLjQuNF9BMTQuanMKQEAgLTgsNCArOCw0IEBACiAKIGFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChu
dWxsLCB7fSk7Ci19KTsKK30sICdGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5jYWxsKG51bGwsIHt9
KSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0Ex
NS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9TMTUuMy40LjRfQTE1LmpzCmluZGV4IGM5NzVjY2JmZGYzNGY3OGVmZWE2M2M0ODBkYWM2
YjRjZDU0ZTRiN2MuLmZhNjFmZDVmY2JmMzYzMDZjOWNiNGU2YmQyNmU2OGRjNmIwYTlkODAgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5
cGUvY2FsbC9TMTUuMy40LjRfQTE1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTE1LmpzCkBAIC04LDQgKzgs
NCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEZ1bmN0aW9u
LnByb3RvdHlwZS5jYWxsLmNhbGwoe30sIHt9KTsKLX0pOworfSwgJ0Z1bmN0aW9uLnByb3RvdHlw
ZS5jYWxsLmNhbGwoe30sIHt9KSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2NhbGwvUzE1LjMuNC40X0ExNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTE2LmpzCmluZGV4IDdhMWY5MDc3OTAz
MWEzM2Y3OTE3NjAzZjBiMGE1OTc1MGE3MGUxZjEuLjE4ZmVmOWVlOTlmZjZkMTdlYjgzODhlY2Ez
MjNkMWViNTNjZDg5MTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTE2LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRf
QTE2LmpzCkBAIC0xOSw4ICsxOSw2IEBACiAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsICcgKwogICAgICAgJ3RoZW4gKGJpbmQgc2hv
dWxkKSB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKICAgfSBjYXRjaCAoZSkgewotICAg
IGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKLSAgICB9Cisg
ICAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKICAg
fQogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTFfVDEuanMKaW5k
ZXggZDhlYTY5OTlmNmZmNTQ0MDVjY2ZkMmI0YjQ4N2JiYTE3ZTU4OTRjOS4uMTY4NDZkNTk2MzMw
NDhlMTQzYTY0YzM4NjNlZjAwMzMxM2VlODE5NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMV9UMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L2NhbGwvUzE1LjMuNC40X0ExX1QxLmpzCkBAIC0xNCwyMyArMTQsMTcgQEAKIAogdmFyIHByb3Rv
ID0gRnVuY3Rpb24oKTsKIAotZnVuY3Rpb24gRkFDVE9SWSgpIHt9OworZnVuY3Rpb24gRkFDVE9S
WSgpIHt9CiAKIEZBQ1RPUlkucHJvdG90eXBlID0gcHJvdG87CiAKIHZhciBvYmogPSBuZXcgRkFD
VE9SWTsKIAotLy9DSEVDSyMxCi1pZiAodHlwZW9mIG9iai5jYWxsICE9PSAiZnVuY3Rpb24iKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBjYWxsIG1ldGhvZCBhY2Nlc3NlZCcpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLmNhbGwsICJmdW5jdGlvbiIsICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBvYmouY2FsbGAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicpOwog
Ci0vL0NIRUNLIzIKIHRyeSB7CiAgIG9iai5jYWxsKCk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogfSBjYXRjaCAoZSkgewotICBpZiAo
IShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBh
IFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFu
Y2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40
LjRfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2NhbGwvUzE1LjMuNC40X0ExX1QyLmpzCmluZGV4IDdkOTI5MjI2YzdjMzU4YmRiZTI0
N2IyMWNmYWUxMzc1N2ViNzJjYzQuLjdjMjJiYzIyNDI3ZWNkZjU3ZGMwMGVjODViMDZkYzQxNTgz
NDJhZTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMV9UMi5q
cwpAQCAtMTIsMjMgKzEyLDE3IEBACiAgICAgcHJvcGVydHkuICBQcm90b3R5cGUgb2YgdGhlIG9i
amVjdCBpcyBGdW5jdGlvbi5wcm90b3R5cGUKIC0tLSovCiAKLWZ1bmN0aW9uIEZBQ1RPUlkoKSB7
fTsKK2Z1bmN0aW9uIEZBQ1RPUlkoKSB7fQogCiBGQUNUT1JZLnByb3RvdHlwZSA9IEZ1bmN0aW9u
LnByb3RvdHlwZTsKIAogdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwogCi0vL0NIRUNLIzEKLWlmICh0
eXBlb2Ygb2JqLmNhbGwgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiBvYmouY2FsbCwgImZ1bmN0aW9uIiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iai5jYWxsYCBp
cyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJyk7CiAKLS8vQ0hFQ0sjMgogdHJ5IHsKICAgb2Jq
LmNhbGwoKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IElmIHRoZSBvYmplY3QgZG9l
cyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMg
dGhyb3duJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3Ip
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzIuMTogSWYgdGhlIG9iamVjdCBkb2Vz
IG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0
aHJvd24nKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1
bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8g
YmUgdHJ1ZScpOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMl9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTJf
VDEuanMKaW5kZXggMjFhMzIzNjMwNWU2N2QwNzMyYzA1ZGVkNWE2NTBiNzE3MjJhZmVjMS4uYjlm
YjBlM2VmOWViMDMyODZkZjFmNTk4MmY2NGViMzBiZjdhZDVkZCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EyX1QxLmpzCkBAIC02LDE4ICs2LDE2IEBACiBlczVp
ZDogMTUuMy40LjRfQTJfVDEKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5
cGUuY2FsbC5sZW5ndGgKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgRnVuY3Rp
b24ucHJvdG90eXBlLmNhbGwsCisgICJmdW5jdGlvbiIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbGAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicK
Kyk7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0g
ImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogY2FsbCBtZXRob2Qg
ZGVmaW5lZCcpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSgKKyAgdHlwZW9mIEZ1bmN0aW9uLnBy
b3RvdHlwZS5jYWxsLmxlbmd0aCwKKyAgInVuZGVmaW5lZCIsCisgICdUaGUgdmFsdWUgb2YgdHlw
ZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBpcyBub3QgInVuZGVmaW5lZCInCisp
OwogCi0vL0NIRUNLIzIKLWlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3Ro
ID09PSAidW5kZWZpbmVkIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogbGVuZ3Ro
IHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAo
RnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAx
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCwg
MSwgJ1RoZSB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gYmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BMl9UMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTJf
VDIuanMKaW5kZXggMjQ0YzUyOGFkYmQ0OTkzNmNmM2Q0OTdhMmY3MjdiZDM4ZTk3OWNkZS4uYTBh
OTdkMDc3YzM2MjY3Y2EwNDMwY2M0YWJiYmRjNjJhNjA5YjBkOCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EyX1QyLmpzCkBAIC05LDE3ICs5LDYgQEAKIAogdmFy
IGYgPSBuZXcgRnVuY3Rpb247CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBmLmNhbGwgIT09ICJm
dW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGNhbGwgbWV0aG9kIGFj
Y2Vzc2VkJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBmLmNhbGwubGVuZ3RoID09PSAi
dW5kZWZpbmVkIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogbGVuZ3RoIHByb3Bl
cnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoZi5jYWxs
Lmxlbmd0aCAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogVGhlIGxlbmd0
aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgZi5jYWxsLCAiZnVuY3Rpb24iLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgZi5jYWxs
YCBpcyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKHR5
cGVvZiBmLmNhbGwubGVuZ3RoLCAidW5kZWZpbmVkIiwgJ1RoZSB2YWx1ZSBvZiB0eXBlb2YgZi5j
YWxsLmxlbmd0aCBpcyBub3QgInVuZGVmaW5lZCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoZi5jYWxs
Lmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiBmLmNhbGwubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJl
IDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1QxLmpzCmlu
ZGV4IDk0NzJkZGE1Y2RjYmUxN2Q0ZDhjM2VjZDU4YzhlMjI5ZjM1ZTE0MDguLjgzNDNmMGI2N2U0
ZTVkNzEzYmFlYWZiZTY5ZjJhNTkzZDkyNjNlNTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jYWxsL1MxNS4zLjQuNF9BM19UMS5qcwpAQCAtMTEsNyArMTEsNCBAQAogCiBGdW5jdGlvbigi
dGhpcy5maWVsZD1cInN0cmF3YmVycnlcIiIpLmNhbGwoKTsKIAotLy9DSEVDSyMxCi1pZiAodGhp
c1siZmllbGQiXSAhPT0gInN0cmF3YmVycnkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9u
IGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSh0aGlzWyJmaWVsZCJdLCAic3RyYXdiZXJyeSIsICdUaGUgdmFsdWUgb2Yg
dGhpc1siZmllbGQiXSBpcyBleHBlY3RlZCB0byBiZSAic3RyYXdiZXJyeSInKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2Fs
bC9TMTUuMy40LjRfQTNfVDEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UMTAuanMKaW5kZXggMmE5Nzc2MWFk
NmIxZTdiMWM3MWZjMzBhM2U0NzMxNmQwYmU2OGZlMy4uOWI4MzE2YmQ2Yzg1NjM2MzNhZGJiZGEx
YTU0ZWRkM2U0ODMzMDIyZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UMTAuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4z
LjQuNF9BM19UMTAuanMKQEAgLTEyLDcgKzEyLDQgQEAKIAogZXZhbCgiIChmdW5jdGlvbigpe3Ro
aXMuZmVhdD0xfSkuY2FsbCgpIik7CiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZlYXQiXSAhPT0g
MSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9y
IHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmpl
Y3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodGhpc1siZmVhdCJd
LCAxLCAnVGhlIHZhbHVlIG9mIHRoaXNbImZlYXQiXSBpcyBleHBlY3RlZCB0byBiZSAxJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2NhbGwvUzE1LjMuNC40X0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UMi5qcwppbmRleCBlZThi
YWJhYzM3NTM0YTVlZTBiYzhlMjE0NzQ4NjVhOGE4NWI3M2ViLi5mMmVjNDE5M2ExZTUwZTUyYTdm
NjYwZmYzNjBiOGVjZWNhODhiZWFkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9T
MTUuMy40LjRfQTNfVDIuanMKQEAgLTExLDcgKzExLDQgQEAKIAogRnVuY3Rpb24oInRoaXMuZmll
bGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKIAotLy9DSEVDSyMxCi1pZiAodGhpc1siZmllbGQi
XSAhPT0gImdyZWVuIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0Fy
ZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhl
IGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
dGhpc1siZmllbGQiXSwgImdyZWVuIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmaWVsZCJdIGlzIGV4
cGVjdGVkIHRvIGJlICJncmVlbiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDMuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1
LjMuNC40X0EzX1QzLmpzCmluZGV4IDkxY2QyMWRhZTlhYTE1MGQ3NTQwNzBkMGEzMGQ1M2RlMWU3
NjI4OWUuLjgzYjIxOTFmNmI1Zjg0YjM4MGEzYWNiNzIyYTAzNTViZGE4MGU2NmYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2Fs
bC9TMTUuMy40LjRfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UMy5qcwpAQCAtMTEsNyArMTEs
NCBAQAogCiBGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwog
Ci0vL0NIRUNLIzEKLWlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhl
IGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMg
dmFsdWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodGhpc1siZmllbGQiXSwgImJhdHRsZSIsICdU
aGUgdmFsdWUgb2YgdGhpc1siZmllbGQiXSBpcyBleHBlY3RlZCB0byBiZSAiYmF0dGxlIicpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDQuanMKaW5kZXggMzdk
OGRhZmMyOTM2NzVhMDk1OGNmNjlkYzA5ZTQ2MzIwMDZhNWRjNy4uNzZmYzgwYWZmZTVlNDkxNzA0
YTdkYWI1NGI4YzlkY2Q1MTE2YjZmMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UNC5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwv
UzE1LjMuNC40X0EzX1Q0LmpzCkBAIC0xMSw3ICsxMSw0IEBACiAKIEZ1bmN0aW9uKCJ0aGlzLmZp
ZWxkPVwib2lsXCIiKS5jYWxsKHVuZGVmaW5lZCk7CiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZp
ZWxkIl0gIT09ICJvaWwiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlz
QXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0
aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSh0aGlzWyJmaWVsZCJdLCAib2lsIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmaWVsZCJdIGlzIGV4
cGVjdGVkIHRvIGJlICJvaWwiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1Q1LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4z
LjQuNF9BM19UNS5qcwppbmRleCBlZDA1ODhmZWY0MzRiZmY3MGRhNjAwYzE0OGY4YThjM2UxZGQx
YjQ3Li44ZTFiZDcwMzFhYjZhYThhYmUyMDU5MWJmN2YxZjYyZmY3NzBmOTRlIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwv
UzE1LjMuNC40X0EzX1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
dW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDUuanMKQEAgLTEzLDE2ICsxMyw5
IEBACiAKIGZ1bmN0aW9uIEZBQ1RPUlkoKSB7CiAgIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBk
YSBoYXVzXCIiKS5jYWxsKCk7Ci19OworfQogCiB2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CiAKLS8v
Q0hFQ0sjMQotaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUg
Y2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2
YWx1ZScpOwotfQotCi0vL0NIRUNLIzIKLWlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmlu
ZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwg
b3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9i
amVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzWyJmZWF0
Il0sICJpbiBkYSBoYXVzIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmZWF0Il0gaXMgZXhwZWN0ZWQg
dG8gYmUgImluIGRhIGhhdXMiJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvYmouZmVhdCwg
InVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmouZmVhdGAgaXMgZXhwZWN0ZWQg
dG8gYmUgInVuZGVmaW5lZCInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDYuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMu
NC40X0EzX1Q2LmpzCmluZGV4IDZkMmYxYmY1MjY1MTUwYTQ4Zjg2Yzk4ZjUzNmU1N2Y4ZDI0Mzlh
MjYuLjRkMzAzMjU1MWQzMDBlNDJkMTQyN2I1Yjg4MTQ3NjFhMGU4ZGViZTMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9T
MTUuMy40LjRfQTNfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UNi5qcwpAQCAtMTYsMTYgKzE2LDkg
QEAgZnVuY3Rpb24gRkFDVE9SWSgpIHsKICAgKGZ1bmN0aW9uKCkgewogICAgIHRoaXMuZmVhdCA9
ICJrYW1vbiBiZXliYSIKICAgfSkuY2FsbChudWxsKTsKLX07Cit9CiAKIHZhciBvYmogPSBuZXcg
RkFDVE9SWTsKIAotLy9DSEVDSyMxCi1pZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3Ig
dW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVj
dCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQotCi0vL0NIRUNLIzIKLWlmICh0eXBlb2Ygb2JqLmZl
YXQgIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0
aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3Nl
ZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh0aGlzWyJmZWF0Il0sICJrYW1vbiBiZXliYSIsICdUaGUgdmFsdWUgb2YgdGhpc1siZmVh
dCJdIGlzIGV4cGVjdGVkIHRvIGJlICJrYW1vbiBiZXliYSInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIG9iai5mZWF0LCAidW5kZWZpbmVkIiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iai5m
ZWF0YCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BM19UNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDcuanMKaW5kZXggMTMyMzc3YmYyMjAzOTUyZDAyMTkz
Y2U2MzYxMWQ0ODhjYTVkYWM3Zi4uOTM3NGY4NGNjYWVmNWM5NzAxM2M4OTcyNzZmN2IwODk4YTVm
NGYwNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1Q3Lmpz
CkBAIC0xNiw3ICsxNiw0IEBACiB9KSgpOwogCiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZlYXQi
XSAhPT0gImluIGRhIGhhdXMiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0
aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3Nl
ZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh0aGlzWyJmZWF0Il0sICJpbiBkYSBoYXVzIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJmZWF0
Il0gaXMgZXhwZWN0ZWQgdG8gYmUgImluIGRhIGhhdXMiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40
X0EzX1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UOC5qcwppbmRleCAzMmVjYjIyNmYwMjg4YjliMzAyOWIx
ZWIyNjFjZjNlNDEzZjJkNTRmLi42YjQyMThkODUyYWU0Zjk4MGFkNjRmMDQyMDJkODY2NTgwNzli
YzZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDguanMK
QEAgLTE5LDcgKzE5LDQgQEAKIH0pKCk7CiAKIAotLy9DSEVDSyMxCi1pZiAodGhpc1siZmVhdCJd
ICE9PSAia2Ftb24gYmV5YmEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0
aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3Nl
ZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh0aGlzWyJmZWF0Il0sICJrYW1vbiBiZXliYSIsICdUaGUgdmFsdWUgb2YgdGhpc1siZmVh
dCJdIGlzIGV4cGVjdGVkIHRvIGJlICJrYW1vbiBiZXliYSInKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40
LjRfQTNfVDkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2NhbGwvUzE1LjMuNC40X0EzX1Q5LmpzCmluZGV4IDExNWZiMmRjNzYxYWU4MzM0MWU1
ZjRlZThiN2IzNjIwNzJkYzRjZTYuLjcyMWZkNWQ1NmViMDhhMzdmNWNhNmNkMWM5ODc0OWVhYTdj
MGQxNWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTNfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BM19UOS5q
cwpAQCAtMTIsNyArMTIsNCBAQAogZXZhbCgiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2Fs
bCh2b2lkIDApICIpOwogCiAKLS8vQ0hFQ0sjMQotaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVm
aW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMg
dGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodGhpc1siZmVhdCJdLCAxLCAn
VGhlIHZhbHVlIG9mIHRoaXNbImZlYXQiXSBpcyBleHBlY3RlZCB0byBiZSAxJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0E1X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UMS5qcwppbmRleCBhYjdkM2I3MmRm
MjlmMzI1YzUwNWVlOGQ1YTk0NTA2NzVjMzFhNzAyLi5mNmFkNzVjOGQzNjRkZTU4ZWVmNzBiNzcx
NDAwMjlhZTcxYWQ3YWViIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40
LjRfQTVfVDEuanMKQEAgLTEzLDEyICsxMyw1IEBAIElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVm
aW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQKIAogdmFyIHJldG9iaiA9IEZ1bmN0
aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzOyIpLmNhbGwob2JqKTsKIAotLy9D
SEVDSyMxCi1pZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0
aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhp
cyB2YWx1ZScpOwotfQotCi0vL0NIRUNLIzIKLWlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZp
bmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0
aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLnRvdWNoZWQs
ICJ1bmRlZmluZWQiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLnRvdWNoZWRgIGlzIGV4cGVj
dGVkIHRvIGJlICJ1bmRlZmluZWQiJyk7Cithc3NlcnQocmV0b2JqWyJ0b3VjaGVkIl0sICdUaGUg
dmFsdWUgb2YgcmV0b2JqWyJ0b3VjaGVkIl0gaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jYWxsL1MxNS4zLjQuNF9BNV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTVfVDIuanMKaW5kZXggZGMzNmJh
OWJlZjI4ODRiNjg1ZTNmYzQ0N2NiNWVkOTE4YmJkNjc4Mi4uMzZjN2E0NzIwNTA0NjU2Yjc2ZTNi
NDdiY2QwZWUzNDRmZTFlOWMxYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UMi5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1
LjMuNC40X0E1X1QyLmpzCkBAIC0xMywxMiArMTMsNSBAQCBJZiB0aGlzQXJnIGlzIG5vdCBudWxs
KGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkCiAKIHZhciByZXRvYmogPSBu
ZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmop
OwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRl
ZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFz
IHRoZSB0aGlzIHZhbHVlJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKCEocmV0b2JqWyJ0b3VjaGVk
Il0pKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBu
dWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNB
cmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvYmou
dG91Y2hlZCwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmoudG91Y2hlZGAg
aXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKK2Fzc2VydChyZXRvYmpbInRvdWNoZWQi
XSwgJ1RoZSB2YWx1ZSBvZiByZXRvYmpbInRvdWNoZWQiXSBpcyBleHBlY3RlZCB0byBiZSB0cnVl
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UMy5qcwppbmRl
eCAyZThmYzBkZDRiNDA0ZDE5NWY4ZWI3MWNhYjc2MmM5OTYyNGViYjYxLi40YWQxYmE5MTM0Yzdj
ZjliMTMxYTYyMTgxZDlmOWU3Yjg1OWJiMWIwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1QzLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9TMTUuMy40LjRfQTVfVDMuanMKQEAgLTE3LDEyICsxNyw1IEBAIElmIHRoaXNBcmcgaXMg
bm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQKICAgcmV0dXJu
IHRoaXM7CiB9KS5jYWxsKG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBvYmoudG91Y2hl
ZCAhPT0gInVuZGVmaW5lZCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIHRo
aXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQg
VG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KLQotLy9DSEVDSyMyCi1p
ZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBw
YXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIG9iai50b3VjaGVkLCAidW5kZWZpbmVkIiwgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIG9iai50b3VjaGVkYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicpOworYXNz
ZXJ0KHJldG9ialsidG91Y2hlZCJdLCAnVGhlIHZhbHVlIG9mIHJldG9ialsidG91Y2hlZCJdIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTVfVDQuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1
LjMuNC40X0E1X1Q0LmpzCmluZGV4IGNkMmNlODhlZjdjZjEzNDZlYmY3MmJlY2FlYjM5Mzg4Mjk0
ZWI3OTUuLmQ4MTlhOTQzNmRiMTFlYjBmZDA3OTg4ZjY3NjgzNzA4MDkzZDgzYzcgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2Fs
bC9TMTUuMy40LjRfQTVfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UNC5qcwpAQCAtMTcsMTQgKzE3
LDcgQEAgSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9u
IGlzIHBhc3NlZAogCiB2YXIgcmV0b2JqID0gZi5jYWxsKG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYg
KHR5cGVvZiBvYmogIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24g
aXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19Ci0KLS8v
Q0hFQ0sjMgotaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVu
Y3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvYmosICJ1bmRlZmluZWQiLCAnVGhlIHZhbHVlIG9m
IGB0eXBlb2Ygb2JqYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicpOworYXNzZXJ0KHJl
dG9ialsidG91Y2hlZCJdLCAnVGhlIHZhbHVlIG9mIHJldG9ialsidG91Y2hlZCJdIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnKTsKIAogdmFyIG9iajsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTVfVDUu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0E1X1Q1LmpzCmluZGV4IGMwN2NkMmJiMWE0OWU3YWNlODAwMjY1NjQ4MjIw
NmFkZDc4NDliY2UuLmRmZjFmMzI0YjgyMDIxMGEwZDc5M2RkMzUxODY1ODQ2NWRmNzQ4MWMgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5
cGUvY2FsbC9TMTUuMy40LjRfQTVfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UNS5qcwpAQCAtMTcs
NyArMTcsNCBAQCBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVu
Y3Rpb24gaXMgcGFzc2VkCiAKIGYuY2FsbChvYmopOwogCi0vL0NIRUNLIzEKLWlmICghKG9iai50
b3VjaGVkKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogSWYgdGhpc0FyZyBpcyBu
b3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0
aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0KG9iai50b3VjaGVkLCAnVGhl
IHZhbHVlIG9mIG9iai50b3VjaGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2Fs
bC9TMTUuMy40LjRfQTVfVDYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVu
Y3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1Q2LmpzCmluZGV4IGZkMjYxODhmNzU2
YjZiZWViNmFiZmFmNGQ1MTU0OTQxYTg4MzcxMWUuLmQ5YWZlNWVhMGIxNjUwZmEzOTNkOWI5NTE0
MjNhYmYwN2ZjNmRkN2MgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTVfVDYuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BNV9UNi5qcwpAQCAtMTUsNyArMTUsNCBAQCBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmlu
ZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkCiAgIHRoaXMudG91Y2hlZCA9IHRydWU7
CiB9KS5jYWxsKG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYgKCEob2JqLnRvdWNoZWQpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQp
IHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0
aGlzIHZhbHVlJyk7Ci19Cithc3NlcnQob2JqLnRvdWNoZWQsICdUaGUgdmFsdWUgb2Ygb2JqLnRv
dWNoZWQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9U
Ny5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9TMTUuMy40LjRfQTVfVDcuanMKaW5kZXggYWQ1ZmVmOGQ3ZmJiMzExYzlmNjIyNTZjZjM3
Yzg3ZDk4MGEwOTNhNS4uOWEyMDk0YWUyM2I5YmUyMmJmZGNkY2U5YWQ4ZWRlMGZiYjQ2YzcyNyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1Q3LmpzCkBAIC0x
Myw3ICsxMyw0IEBAIElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBm
dW5jdGlvbiBpcyBwYXNzZWQKIAogRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsiKS5jYWxs
KG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYgKCEob2JqLnRvdWNoZWQpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxs
ZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVl
Jyk7Ci19Cithc3NlcnQob2JqLnRvdWNoZWQsICdUaGUgdmFsdWUgb2Ygb2JqLnRvdWNoZWQgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNV9UOC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUu
My40LjRfQTVfVDguanMKaW5kZXggOTE3NmMwYWUzODRmYTExMjE4MTBlNjY4NTM4YjZiNjNiNzFl
MTliNC4uY2EwYzhjY2NmYWQzYWM1M2VhMzJhOWUyMzRkMzY5ZTUxYmNkMTQ5NyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxs
L1MxNS4zLjQuNF9BNV9UOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E1X1Q4LmpzCkBAIC0xMyw3ICsxMyw0
IEBAIElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBp
cyBwYXNzZWQKIAogbmV3IEZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlz
OyIpLmNhbGwob2JqKTsKIAotLy9DSEVDSyMxCi1pZiAoIShvYmoudG91Y2hlZCkpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkg
dGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRo
aXMgdmFsdWUnKTsKLX0KK2Fzc2VydChvYmoudG91Y2hlZCwgJ1RoZSB2YWx1ZSBvZiBvYmoudG91
Y2hlZCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Qx
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9j
YWxsL1MxNS4zLjQuNF9BNl9UMS5qcwppbmRleCA0NDM1ZTUwODlhNzk3NDBmOWNjYjI1OTE2NzRm
NTNhNzA3NGEyNTA3Li5jZTBmZmExM2ZkMzI4NTg2MmVkMDY2YmFmZjVlZDIwM2U0N2I1MzljIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2NhbGwvUzE1LjMuNC40X0E2X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDEuanMKQEAgLTEx
LDE3ICsxMSwxMSBAQAogCiBGdW5jdGlvbigiYTEsYTIsYTMiLCAidGhpcy5zaGlmdGVkPWExOyIp
LmNhbGwobnVsbCwgWzFdKTsKIAotLy9DSEVDSyMxCi1pZiAodGhpc1sic2hpZnRlZCJdLmNvbnN0
cnVjdG9yICE9PSBBcnJheSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGNh
bGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlv
bmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5n
IHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICB0aGlzWyJzaGlmdGVkIl0uY29uc3RydWN0b3IsCisgIEFycmF5LAorICAnVGhlIHZh
bHVlIG9mIHRoaXNbInNoaWZ0ZWQiXS5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgQXJyYXknCispOwogCi0vL0NIRUNLIzIKLWlmICh0aGlzWyJzaGlmdGVkIl0u
bGVuZ3RoICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgY2FsbCBt
ZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxs
eSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhl
IFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAo
dGhpc1sic2hpZnRlZCJdWzBdICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFu
ZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNh
bGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUodGhpc1sic2hpZnRlZCJdLmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiB0aGlz
WyJzaGlmdGVkIl0ubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKK2Fzc2VydC5zYW1lVmFs
dWUodGhpc1sic2hpZnRlZCJdWzBdLCAxLCAnVGhlIHZhbHVlIG9mIHRoaXNbInNoaWZ0ZWQiXVsw
XSBpcyBleHBlY3RlZCB0byBiZSAxJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1QxMC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9T
MTUuMy40LjRfQTZfVDEwLmpzCmluZGV4IGNhZmU2Y2E4YjVmYmJhOTU3MmNhMjQzOGEwMmE1YzZm
NGJlNmRhMzQuLjczODk5ZDY4MzE0OGRjNTA4MjdiOWViZDM2YWFiMmJlMmQ4NWExYTQgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9TMTUuMy40LjRfQTZfVDEwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDEwLmpzCkBAIC0xNywx
MiArMTcsMTAgQEAgQXJndW5lbXRzIG9mIGNhbGwgZnVuY3Rpb24gaXMgKGVtcHR5IG9iamVjdCwg
IiIsIGFyZ3VtZW50cywyKSwKICAgRnVuY3Rpb24oImExLGEyLGEzIiwgInRoaXMuc2hpZnRlZD1h
MS5sZW5ndGgrYTIrYTM7IikuY2FsbChvYmosIGFyZ3VtZW50cywgIiIsICIyIik7CiB9KSgiIiwg
NCwgMiwgImEiKTsKIAotLy9DSEVDSyMxCi1pZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUg
b3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0
YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVy
dHkgb2YgdGhlIG9iamVjdCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmpbInNoaWZ0ZWQiXSwg
IjQyIiwgJ1RoZSB2YWx1ZSBvZiBvYmpbInNoaWZ0ZWQiXSBpcyBleHBlY3RlZCB0byBiZSAiNDIi
Jyk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmlu
ZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFr
ZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwg
YXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1d
IHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiB0aGlzWyJzaGlmdGVkIl0sCisgICJ1bmRlZmluZWQiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgdGhpc1sic2hpZnRlZCJdYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2NhbGwvUzE1LjMuNC40X0E2X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UMi5qcwppbmRleCBlNjk2
YTFiMTFlMTZmMGVmMTI2NDMzZWRmMDUxZmEzMjY3YzU0ZmYwLi4zZGIyYzk2Y2ZkMTUwZGRiNjU2
OTUzNzkyOWM3ZGIyM2QyZTQxYjIzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1QyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9T
MTUuMy40LjRfQTZfVDIuanMKQEAgLTExLDEyICsxMSw4IEBACiAKIG5ldyBGdW5jdGlvbigiYTEs
YTIiLCAiYTMiLCAidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwobnVsbCwgWzMsIDIsIDFdKTsKIAot
Ly9DSEVDSyMxCi1pZiAodGhpc1sic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFy
Z3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVy
Zm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUg
b2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNbInNoaWZ0ZWQiXS5sZW5ndGgsIDMp
OwogCi0vL0NIRUNLIzIKIGlmICgodGhpc1sic2hpZnRlZCJdWzBdICE9PSAzKSB8fCAodGhpc1si
c2hpZnRlZCJdWzFdICE9PSAyKSB8fCAodGhpc1sic2hpZnRlZCJdWzJdICE9PSAxKSkgewogICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBt
b3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBh
bmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBv
ZiB0aGUgb2JqZWN0Jyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1QzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BNl9UMy5qcwppbmRleCAyNzQ4ZmRkMjVkZWU2N2VmYmMyNmVmNzFjNjQwNTNkYzk4M2EwYmMz
Li45ZDM5YWMyMTZhODZhOGIzYjBkNDUyN2YzMGUxNTJjNTY5ODExYWQ0IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1
LjMuNC40X0E2X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDMuanMKQEAgLTIzLDE3ICsyMywxMiBA
QCBBcmd1bmVtdHMgb2YgY2FsbCBmdW5jdGlvbiBpcyAoZW1wdHkgb2JqZWN0LCBuZXcKIAogRnVu
Y3Rpb24ocCwgImEyLGEzIiwgInRoaXMuc2hpZnRlZD1hMTsiKS5jYWxsKG9iaiwgbmV3IEFycmF5
KCJuaW5lIiwgImluY2giLCAibmFpbHMiKSk7CiAKLS8vQ0hFQ0sjMQotaWYgKG9ialsic2hpZnRl
ZCJdLmxlbmd0aCAhPT0gMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGNh
bGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlv
bmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5n
IHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKG9ialsic2hpZnRlZCJdLmxlbmd0aCwgMyk7CiAKLS8vQ0hFQ0sjMgogaWYgKChvYmpbInNo
aWZ0ZWQiXVswXSAhPT0gIm5pbmUiKSB8fCAob2JqWyJzaGlmdGVkIl1bMV0gIT09ICJpbmNoIikg
fHwgKG9ialsic2hpZnRlZCJdWzJdICE9PSAibmFpbHMiKSkgewogICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywg
dGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBm
dW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7
CiB9CiAKLS8vQ0hFQ0sjMwogaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmlu
ZWQiKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBUaGUgY2FsbCBtZXRob2QgdGFr
ZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwg
YXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1d
IHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0E2X1Q0LmpzCmluZGV4IDFiM2U5OTQ1MDJiOTZlODY3NDhjMjM3OTE2NDZk
NDI3OTIzODQ4ZjguLjZhNjQ5MmU3YzVmZDQ0YjczYTVjZDBlY2IyNzUzNTIxYWIxM2Q0ODQgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5
cGUvY2FsbC9TMTUuMy40LjRfQTZfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UNC5qcwpAQCAtMjUs
MTIgKzI1LDEwIEBAIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3Qs
ICggZnVuY3Rpb24oKXtyZXR1cm4KICAgcmV0dXJuIGFyZ3VtZW50czsKIH0pKCJhIiwgImIiLCAi
YyIsICJkIiksICIiLCAyKTsKIAotLy9DSEVDSyMxCi1pZiAob2JqWyJzaGlmdGVkIl0gIT09ICIy
NCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtl
cyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBh
cmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0g
cHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmpbInNoaWZ0
ZWQiXSwgIjI0IiwgJ1RoZSB2YWx1ZSBvZiBvYmpbInNoaWZ0ZWQiXSBpcyBleHBlY3RlZCB0byBi
ZSAiMjQiJyk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1
bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgY2FsbCBtZXRo
b2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkg
YXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtb
Q2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0sCisgICJ1bmRlZmluZWQiLAorICAnVGhlIHZhbHVlIG9m
IGB0eXBlb2YgdGhpc1sic2hpZnRlZCJdYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZpbmVkIicK
Kyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UNS5qcwppbmRl
eCA2NzUwZWE0ZTc4MGNmYWQ2ZGY5OTc2NTJkNGU3MjYyNTY3M2RmZjFkLi5iNGZhZTgxMGI3ZWRl
MGE3MmFjY2YwYTZlYzQwMmFjNzI1MDllZDRjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Q1Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9TMTUuMy40LjRfQTZfVDUuanMKQEAgLTE3LDEyICsxNyw1IEBAIGZ1bmN0aW9uIEZBQ1RP
UlkoKSB7CiAKIHZhciBvYmogPSBuZXcgRkFDVE9SWSgiIiwgMSwgMiwgIkEiKTsKIAotLy9DSEVD
SyMxCi1pZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0
aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1
bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsK
LX0KLQotLy9DSEVDSyMyCi1pZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9u
ZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIg
ZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9w
ZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHRoaXNbInNoaWZ0ZWQi
XSwgIjQyIiwgJ1RoZSB2YWx1ZSBvZiB0aGlzWyJzaGlmdGVkIl0gaXMgZXhwZWN0ZWQgdG8gYmUg
IjQyIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLnNoaWZ0ZWQsICJ1bmRlZmluZWQi
LCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLnNoaWZ0ZWRgIGlzIGV4cGVjdGVkIHRvIGJlICJ1
bmRlZmluZWQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Q2LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9U
Ni5qcwppbmRleCBjMjJjNjY4NDhiY2I4NDlmMjU1MGQ4YWZmM2I0OGIwOTljMGY4NmE5Li41Y2U5
Yjc2ODRjYmEyNTk5YTc5M2M0MDlhNmJhMzBhN2Y4MDA1OTcxIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40
X0E2X1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDYuanMKQEAgLTE3LDEyICsxNywxMCBAQCBmdW5j
dGlvbiBGQUNUT1JZKCkgewogCiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoIiIsIDQsIDIsICJBIik7
CiAKLS8vQ0hFQ0sjMQotaWYgKG9ialsic2hpZnRlZCJdICE9PSAiNDIiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJn
dW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJm
b3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBv
YmplY3QnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUob2JqWyJzaGlmdGVkIl0sICI0MiIsICdUaGUg
dmFsdWUgb2Ygb2JqWyJzaGlmdGVkIl0gaXMgZXhwZWN0ZWQgdG8gYmUgIjQyIicpOwogCi0vL0NI
RUNLIzIKLWlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBt
b3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBh
bmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBv
ZiB0aGUgb2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgdGhpc1sic2hp
ZnRlZCJdLAorICAidW5kZWZpbmVkIiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHRoaXNbInNo
aWZ0ZWQiXWAgaXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInCispOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1Mx
NS4zLjQuNF9BNl9UNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDcuanMKaW5kZXggYzRhYzI0ODViNDMzMDJk
Mzc4NzdiMGVkZTBhOTkyZDY1MzFhYjg4ZS4uZTM1M2U0NzkzOTYyOGM1Y2E5ZWFkN2ZiMzllZDAw
YmZkOWMxZTk4MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UNy5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2
X1Q3LmpzCkBAIC0xNSw3ICsxNSw0IEBAIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChu
dWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZQogICBGdW5jdGlvbigiYTEsYTIsYTMiLCAidGhp
cy5zaGlmdGVkPWExLmxlbmd0aCthMithMzsiKS5jYWxsKG51bGwsIGFyZ3VtZW50cywgIiIsIDIp
OwogfSkoIiIsIDEsIDIsIHRydWUpOwogCi0vL0NIRUNLIzEKLWlmICh0aGlzWyJzaGlmdGVkIl0g
IT09ICI0MiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBjYWxsIG1ldGhv
ZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBh
cmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tD
YWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0aGlz
WyJzaGlmdGVkIl0sICI0MiIsICdUaGUgdmFsdWUgb2YgdGhpc1sic2hpZnRlZCJdIGlzIGV4cGVj
dGVkIHRvIGJlICI0MiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTZfVDguanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40
X0E2X1Q4LmpzCmluZGV4IGJlYWJlZmQzZWU0ZjAyMmNlNGVlZmE4ZDVjZWE3OGFhZDdhMmQ1MDAu
LmFjMDE4MTEwYWRlZmY4YTlhZTM0NjQ5ZGY3YzdlNjYyMmMwNWJlNDkgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUu
My40LjRfQTZfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UOC5qcwpAQCAtMTUsNyArMTUsNCBAQCBB
cmd1bmVtdHMgb2YgY2FsbCBmdW5jdGlvbiBpcyAodGhpcywgYXJndW1lbnRzLCIiLDIpLCBpbnNp
ZGUKICAgRnVuY3Rpb24oImExLGEyLGEzIiwgInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7
IikuY2FsbCh0aGlzLCBhcmd1bWVudHMsICIiLCAyKTsKIH0pKCIiLCA0LCAyLCBudWxsKTsKIAot
Ly9DSEVDSyMyCi1pZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1l
bnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3Jt
cyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmpl
Y3QnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodGhpc1sic2hpZnRlZCJdLCAiNDIiLCAnVGhlIHZh
bHVlIG9mIHRoaXNbInNoaWZ0ZWQiXSBpcyBleHBlY3RlZCB0byBiZSAiNDIiJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0E2X1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BNl9UOS5qcwppbmRleCBkMzAyZDY5ODhi
NjdmNWVhZWFhNTU4NWQzMjE1OTA3NTVlNTM1ZTg2Li40NzMxMjgzM2NhMjdjZmQ3MTJhYjlkM2Uw
OWYxNWM5NDhjM2I5N2ViIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E2X1Q5LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40
LjRfQTZfVDkuanMKQEAgLTE5LDEyICsxOSwxMCBAQCBmdW5jdGlvbiBGQUNUT1JZKCkgewogCiB2
YXIgb2JqID0gbmV3IEZBQ1RPUlkoIiIsIDEsIDIsIHZvaWQgMCk7CiAKLS8vQ0hFQ0sjMQotaWYg
KHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJn
dW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0sCisgICJ1bmRlZmluZWQiLAor
ICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgdGhpc1sic2hpZnRlZCJdYCBpcyBleHBlY3RlZCB0byBi
ZSAidW5kZWZpbmVkIicKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKG9iai5zaGlmdGVkICE9PSAiNDIi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIg
YW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0
aGUuLi4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUob2JqLnNoaWZ0ZWQsICI0MiIsICdUaGUgdmFs
dWUgb2Ygb2JqLnNoaWZ0ZWQgaXMgZXhwZWN0ZWQgdG8gYmUgIjQyIicpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1Mx
NS4zLjQuNF9BN19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlv
bi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTdfVDEuanMKaW5kZXggMzZiYzc5MTdmYTZiZDI4
N2I0ZjcxMDgyMGNjNmZiMDUzYWNmMzIyMC4uOWI4NTg0NzM4MTUyM2M0MmI5ZjNiODFjMTc1MDk0
OTk2NDVmYzNjMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19UMS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E3
X1QxLmpzCkBAIC0xMSw3ICsxMSw1IEBACiAgIHZhciBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90
eXBlLmNhbGw7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5
cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW0NvbnN0cnVjdF1dIGNhbGxlcicpOwogfSBjYXRj
aCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1
c2VkIGFzIFtbQ29uc3RydWN0XV0gY2FsbGVyJyk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRf
QTdfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL2NhbGwvUzE1LjMuNC40X0E3X1QyLmpzCmluZGV4IDIyY2ZmZGY4MmFhZjUzMDQ3M2ZkZjY5
NzdhZTViYWFlZmYzYTIzZWIuLmI1MzBhZjkyMTU1NGIwM2U2NmU3Yzg0YmYyMDc2MDdkMDRhYzI1
NmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9w
cm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTdfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19UMi5qcwpA
QCAtMTIsNyArMTIsNSBAQAogICB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2Vk
IGFzIFtbQ29uc3RydWN0XV0gY2FsbGVyJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTog
RnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tDb25zdHJ1Y3RdXSBj
YWxsZXInKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1
bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8g
YmUgdHJ1ZScpOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19UMy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTdf
VDMuanMKaW5kZXggMWI4YmU4NWQ0YTJiZGQxYWY2NzljYzkzNDllMmQ4MGI2MWE3NGQxZS4uZjY0
YTBlNDBiY2IxNTZkYTQ1ZjU2NDA0NTk5M2RlNTMxMTZjYTc4ZSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BN19UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E3X1QzLmpzCkBAIC0xMSw3ICsxMSw1IEBACiAgIHZh
ciBvYmogPSBuZXcgRnVuY3Rpb24uY2FsbDsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbQ29uc3RydWN0XV0g
Y2FsbGVyJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3Ip
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBl
LmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tDb25zdHJ1Y3RdXSBjYWxsZXInKTsKLSAgfQorICBh
c3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlw
ZS9jYWxsL1MxNS4zLjQuNF9BN19UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTdfVDQuanMKaW5kZXggMmJmYWZm
NjkwMGU1OGUyODVlNGUwOGM5MWRjYTBkNDg4YWU1MmJiYS4uZGRlOTc1ZDM2MzY0ODFmOTAyYTc4
ODY2MTgzZWU0YmQ2ODg5ZmM3ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19UNC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1
LjMuNC40X0E3X1Q0LmpzCkBAIC0xMSw3ICsxMSw1IEBACiAgIHZhciBvYmogPSBuZXcoRnVuY3Rp
b24oInRoaXMucDE9MSIpLmNhbGwpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogRnVu
Y3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tDb25zdHJ1Y3RdXSBjYWxs
ZXInKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2Fs
bCBjYW5cJ3QgYmUgdXNlZCBhcyBbW0NvbnN0cnVjdF1dIGNhbGxlcicpOwotICB9CisgIGFzc2Vy
dChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGlu
c3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2Nh
bGwvUzE1LjMuNC40X0E3X1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19UNS5qcwppbmRleCAwODZmY2RhOGYw
NmM5YzBlZDBlZmIzYTQ0NzY5MGE2OGYwNzlkOWFhLi5lNTkxMzczMDc0YmE4NTRmN2VkYTQ4ZmQ0
MGY0ZDFiMjFhMGY4NTcwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwvUzE1LjMuNC40X0E3X1Q1LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40
LjRfQTdfVDUuanMKQEAgLTEyLDcgKzEyLDUgQEAKICAgdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBj
YW5cJ3QgYmUgdXNlZCBhcyBbW0NvbnN0cnVjdF1dIGNhbGxlcicpOwogfSBjYXRjaCAoZSkgewot
ICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtb
Q29uc3RydWN0XV0gY2FsbGVyJyk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRfQTdfVDYuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NhbGwv
UzE1LjMuNC40X0E3X1Q2LmpzCmluZGV4IDQ3NWU4OTk1MzhmZGE4ZDFmMGFiNmViODMzMzAzMGNh
NDA3YTJlNWQuLmQ5NzFmZWVjYTBkOWI3ZDIwYzIxNWJlNzNkOTJiYTRlMjVjYTNmMDggMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9TMTUuMy40LjRfQTdfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BN19UNi5qcwpAQCAtOSwxNCAr
OSwxMCBAQAogICAgIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmNhbGwoKSkiIGZhaWxzCiAt
LS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBvYmogPSBuZXcoRnVuY3Rpb24oImZ1bmN0
aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmNhbGwoKSk7CiB9IGNhdGNoIChlKSB7CiAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5c
J3QgYmUgdXNlZCBhcyBbW0NvbnN0cnVjdF1dIGNhbGxlcicpOwogfQogCi0vL0NIRUNLIzIKLWlm
IChvYmoucDEgIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IEZ1bmN0aW9u
LnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbQ29uc3RydWN0XV0gY2FsbGVyJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9iai5wMSwgMSwgJ1RoZSB2YWx1ZSBvZiBvYmoucDEgaXMg
ZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQuNF9BOS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9TMTUuMy40LjRf
QTkuanMKaW5kZXggZWI0YzgwNjY1NDg5N2IwYThlMTdhYWRlNGQyNTNiYTg5ZmY3NWZlOC4uMmVk
NzFjY2IwNzg5Y2FlODg4ZDU4NmYxZTI1YWY3OTk4YWQzMzg4ZCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL1MxNS4zLjQu
NF9BOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL2NhbGwvUzE1LjMuNC40X0E5LmpzCkBAIC0xMCwxOCArMTAsMTkgQEAKICAgICBDaGVj
a2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3Bl
cnR5CiAgICAgZmFpbHMKIC0tLSovCithc3NlcnQoCisgIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxs
Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ0Z1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhh
c093blByb3BlcnR5KFwnbGVuZ3RoXCcpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi0vL0NIRUNL
IzAKLWlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhhc093blByb3BlcnR5KCdsZW5ndGgn
KSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5
cGUuY2FsbCBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Ci19Cithc3NlcnQoCisgIGRlbGV0ZSBGdW5j
dGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgZGVsZXRlIEZ1bmN0
aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAot
Ly9DSEVDSyMxCi1pZiAoIWRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2Fs
bC5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRl
Jyk7Ci19Cithc3NlcnQoCisgICFGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0
eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhh
c093blByb3BlcnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0v
L0NIRUNLIzIKLWlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVu
Z3RoJykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBGdW5jdGlvbi5wcm90
b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBE
b250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9y
bWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuMy40LjFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS4zLjQu
MV9BMV9UMS5qcwppbmRleCA4MDI0MzExYjdhNzczNWJmOTVhYTNkYjExODZiOTZlOWI1NjkxMGMz
Li4zYmRkZDVjNzc1ZTgwNmI5NGRiMzAyOTY5OTBmYTM5YTdhOTg5YjE3IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2NvbnN0cnVj
dG9yL1MxNS4zLjQuMV9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRnVuY3Rpb24vcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS4zLjQuMV9BMV9UMS5qcwpAQCAt
OCw4ICs4LDggQEAKIGVzNWlkOiAxNS4zLjQuMV9BMV9UMQogZGVzY3JpcHRpb246IENoZWNraW5n
IEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvcgogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAo
RnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIGluaXRpYWwgdmFsdWUgb2YgRnVuY3Rpb24ucHJvdG90
eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvcicpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yLAor
ICBGdW5jdGlvbiwKKyAgJ1RoZSB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0
b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEZ1bmN0aW9uJworKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjMuNC4yX0ExMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjMuNC4yX0ExMC5qcwppbmRleCA4OTBi
NWNmMDI2OTAzYTljMTFiN2M4NDM3ZmZlOGViZWRhM2NhMjhmLi4yNGRiMTJmNjIyZTNiZmI2ODMy
ZTA1NmViMjc4NmJlY2U4NTM2YTE3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTAuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuMy40LjJfQTEwLmpzCkBAIC05LDE3ICs5LDE5IEBACiAgICAgcHJvcGVydHkgZmFp
bHMKIGluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlm
ICghKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBl
LnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Ci19Cithc3NlcnQoCisgIEZ1bmN0aW9u
LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdGdW5jdGlv
bi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1
cm4gdHJ1ZScKKyk7CiAKIHZhciBvYmogPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVu
Z3RoOwogCiB2ZXJpZnlOb3RXcml0YWJsZShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsICJs
ZW5ndGgiLCBudWxsLCBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fSk7CiAKLS8vQ0hFQ0sj
MgotaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IG9iaikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmlu
ZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCwKKyAg
b2JqLAorICAnVGhlIHZhbHVlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIG9iaicKKyk7CisKKy8vIFRPRE86IENv
bnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQu
Ml9BMTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTEuanMKaW5kZXggNTk4ODQ3ZDcxZDZjZjM5YWM0NmI5
ZGFkNmE5MDc3NDQxOWMyMDEzZC4uNzQyZTdhNGM2MDVhM2FmNmU4YjcwYzM4ODY4YmUwZGI2OWJi
MTMyYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjMuNC4yX0Ex
MS5qcwpAQCAtNiwxMyArNiwxMyBAQAogZXM1aWQ6IDE1LjMuNC4yX0ExMQogZGVzY3JpcHRpb246
IENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgKIC0tLSovCithc3Nl
cnQoCisgIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3Ro
IiksCisgICdGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0
aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi0vL0NIRUNLIzEKLWlmICghKEZ1bmN0aW9uLnBy
b3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyB0
aGUgbGVuZ3RoIHByb3BlcnR5Jyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKEZ1bmN0aW9uLnByb3Rv
dHlwZS50b1N0cmluZy5sZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIHRvU3RyaW5nIG1ldGhvZCBpcyAwJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3Ro
LAorICAwLAorICAnVGhlIHZhbHVlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3Rv
U3RyaW5nL1MxNS4zLjQuMl9BMTIuanMKaW5kZXggMWJiMWI1ODRmZTg0MTcwMDAzYWQyMDVhNzg3
YWRmOGIzN2ZiM2E0YS4uOWU5YTkxZThhZWIxZmY4ZGFlNjgwOGI3N2YyYzUyYWY0ZjZjYzljZiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjMuNC4yX0ExMi5qcwpA
QCAtMTAsNCArMTAsNCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7
CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCk7Ci19KTsKK30s
ICdGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh1bmRlZmluZWQpIHRocm93cyBhIFR5
cGVFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjMuNC4yX0ExMy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcv
UzE1LjMuNC4yX0ExMy5qcwppbmRleCA1Y2FiM2FhZjJkODJkZTlmNTNlZmFmMDkxMWFjY2ZhOGIw
ZGNhNWM1Li45ZjAwYTg0NzY1ZGYxMDczYTMyZWU1NGFjNmNkMTc3NDkzOGUwZTY2IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3Rv
U3RyaW5nL1MxNS4zLjQuMl9BMTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTEzLmpzCkBAIC0xMCw0
ICsxMCw0IEBACiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgRnVu
Y3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVsbCk7Ci19KTsKK30sICdGdW5jdGlvbi5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTQuanMK
aW5kZXggMjBmYzQ2NjYyYjg2N2RiMzhiNDdmNDYzMGNiYTZlMDU3NmQ4ZGViMi4uZGU1MGYzMGZj
YjczMGI1MzVjZjY5ODhjYjI2NjBlMzZkOWJmZGYxOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJf
QTE0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjMuNC4yX0ExNC5qcwpAQCAtMTAsNCArMTAsNCBAQAogCiBhc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEZ1bmN0aW9uLnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHt9KTsKLX0pOworfSwgJ0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHt9KSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS4zLjQuMl9BMTYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24v
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BMTYuanMKaW5kZXggNGNiYTBjM2I1NDQ4YjRk
NWFhNjJkMjE1ZTI0ZjA0NWRjNTliNzNlZi4uZTc1NzNiYzAzMjExMjI3M2Q3YzViNzdjODVmMDQ3
ZjY3NzFmNDhhYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1
bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTE2LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjMu
NC4yX0ExNi5qcwpAQCAtMTYsNCArMTYsNCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CiAgIFN0cmluZyhvYmopOwotfSk7Cit9LCAnU3RyaW5nKG9iaikgdGhyb3dz
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTYuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3Ry
aW5nL1MxNS4zLjQuMl9BNi5qcwppbmRleCAxNTkyZTJhZjY3YjYzOGRiZTIyODgzYjFjMGM5MWVj
ODAwOTQwMmJkLi5jMjFmNDczOTEzOWQ5OWViOTc1MGNjNGNkNjEzOTcwNzE5YjE1ZjBiIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBl
L3RvU3RyaW5nL1MxNS4zLjQuMl9BNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BNi5qcwpAQCAtOCw4
ICs4LDggQEAKICAgICBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0
eSBvZgogICAgIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBmYWlscwogLS0tKi8KLQotLy9D
SEVDSyMxCi1pZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5k
ZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5
cGUudG9TdHJpbmcgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHknK0Z1bmN0aW9uLnByb3RvdHlw
ZS50b1N0cmluZy5wcm90b3R5cGUpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgRnVuY3Rpb24u
cHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSwKKyAgdW5kZWZpbmVkLAorICAnVGhlIHZhbHVl
IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdW5kZWZpbmVkJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjMuNC4yX0E3LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9T
MTUuMy40LjJfQTcuanMKaW5kZXggZWY4Y2UyNjk1OTg5YzJiZDQwODQ2NzQ0OWMyZmUxZGQwMWJk
MzhhMS4uZmFiYWIyNWJkMGEwOWRjODEzMWU2OTZmY2M5ZTM0NTZjODQxNWYwYyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuMy40LjJfQTcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTcuanMKQEAgLTExLDQgKzEx
LDQgQEAKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBuZXcgRkFD
VE9SWTsKLX0pOworfSwgJ2BuZXcgRkFDVE9SWWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlv
bicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BOC5qcwpp
bmRleCA4YmM3ZmI4MGMwODZkYjRkN2U3ZmY2NGMxODBlOWFmOTZmZGQ3ZmZhLi5kY2Y2ODA0YWQ0
NjZhMzg3YjdhNWRiODNjZGJlYjg5NDA5NjVmNzZkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9B
OC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BOC5qcwpAQCAtOCwyMCArOCwxOSBAQAogICAgIENoZWNr
aW5nIGlmIGVudW1lcmF0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3Ro
CiAgICAgcHJvcGVydHkgZmFpbHMKIC0tLSovCithc3NlcnQoCisgIEZ1bmN0aW9uLnByb3RvdHlw
ZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdGdW5jdGlvbi5wcm90b3R5
cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gdHJ1ZScK
Kyk7CiAKLS8vQ0hFQ0sjMAotaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093
blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IHRo
ZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKLX0K
LQotCi0vLyBDSEVDSyMxCi1pZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
dGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBh
dHRyaWJ1dGVzIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFGdW5jdGlvbi5wcm90b3R5cGUu
dG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9m
ICFGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5n
dGhcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIC8vIENIRUNLIzIKIGZvciAodmFy
IHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKXsKLSAgaWYgKHA9PT0ibGVuZ3RoIikK
LSAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBl
LnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsK
KyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShwLCAibGVuZ3RoIiwgJ1RoZSB2YWx1ZSBvZiBwIGlzIG5v
dCAibGVuZ3RoIicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkg
Zm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMy40LjJfQTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BOS5q
cwppbmRleCAzMzkwZjc4OTUzZWQwNzQwZmJlZjYxZWQwMGNkNjFiNzc4MWFlMWRlLi5mOWJhZDk1
Zjg0ODgzMWIxNDVjMDViZWRiZjlkODBmZGY5MzBmMTdjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4zLjQu
Ml9BOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS4zLjQuMl9BOS5qcwpAQCAtMTAsMTggKzEwLDE5IEBACiAgICAg
Q2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5n
dGgKICAgICBwcm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fzc2VydCgKKyAgRnVuY3Rpb24ucHJvdG90
eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ0Z1bmN0aW9uLnByb3Rv
dHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiB0cnVl
JworKTsKIAotLy9DSEVDSyMwCi1pZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFz
T3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDog
dGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Ci19
Cithc3NlcnQoCisgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoLAor
ICAnVGhlIHZhbHVlIG9mIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0vL0NIRUNLIzEKLWlmICghZGVsZXRlIEZ1
bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5
IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAor
ICAhRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwK
KyAgJ1RoZSB2YWx1ZSBvZiAhRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3Bl
cnR5KFwnbGVuZ3RoXCcpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0vL0NIRUNLIzIK
LWlmIChGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBl
LnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBkb2VzIG5vdCBoYXZlIHRoZSBhdHRyaWJ1dGVzIERv
bnREZWxldGUnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSW5maW5pdHkv
UzE1LjEuMS4yX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0luZmluaXR5
L1MxNS4xLjEuMl9BMS5qcwppbmRleCBiMjkzNzY1ZTFkZmM0NzFiYmMyZWZjYzMzOTNhMTA5YzQ2
ZWUwMGUyLi4xMDE5NjI1ZTdmMmZhNzAwZTY5Yzc0ZDI3OGJhZDk4MTZiMGJmMjdlIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSW5maW5pdHkvUzE1LjEuMS4yX0Ex
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9JbmZpbml0eS9TMTUuMS4x
LjJfQTEuanMKQEAgLTYsMjQgKzYsMTIgQEAKIGVzNWlkOiAxNS4xLjEuMl9BMQogZGVzY3JpcHRp
b246IFVzZSB0eXBlb2YsIGlzTmFOLCBpc0Zpbml0ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mKEluZmluaXR5KSwgIm51bWJlciIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZihJbmZpbml0
eSlgIGlzIGV4cGVjdGVkIHRvIGJlICJudW1iZXIiJyk7Cithc3NlcnQuc2FtZVZhbHVlKGlzRmlu
aXRlKEluZmluaXR5KSwgZmFsc2UsICdpc0Zpbml0ZShJbmZpbml0eSkgbXVzdCByZXR1cm4gZmFs
c2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoaXNOYU4oSW5maW5pdHkpLCBmYWxzZSwgJ2lzTmFOKElu
ZmluaXR5KSBtdXN0IHJldHVybiBmYWxzZScpOwogCi0vLyBDSEVDSyMxCi1pZiAodHlwZW9mKElu
ZmluaXR5KSAhPT0gIm51bWJlciIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHR5
cGVvZihJbmZpbml0eSkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKEluZmluaXR5
KSkpOwotfQotCi0vLyBDSEVDSyMyCi1pZiAoaXNGaW5pdGUoSW5maW5pdHkpICE9PSBmYWxzZSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogSW5maW5pdHkgPT09IE5vdC1hLUZpbml0
ZS4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7Ci19Ci0KLS8vIENIRUNLIzMKLWlmIChpc05hTihJ
bmZpbml0eSkgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBJbmZp
bml0eSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoSW5maW5pdHkpKTsKLX0KLQotCi0v
LyBDSEVDSyM0Ci1pZiAoSW5maW5pdHkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogSW5maW5pdHkgPT09IE51bWJlci5QT1NJVElW
RV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBJbmZpbml0eSwKKyAgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLAorICAnVGhlIHZhbHVl
IG9mIEluZmluaXR5IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXIuUE9T
SVRJVkVfSU5GSU5JVFknCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0luZmluaXR5L1MxNS4xLjEuMl9BMl9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9JbmZpbml0eS9TMTUuMS4xLjJfQTJfVDIuanMKaW5kZXggODdiMDAyMGE5NDI2
NjFjYmY4MzM5OTBjMTMwMDk3YThlYWZiMDEzYi4uMjI2M2I4OWMyNTc5MTNkOTFmNGYyNjU1OWE0
YzgxMTZlYmM0ODBlYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0luZmluaXR5L1MxNS4xLjEuMl9BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvSW5maW5pdHkvUzE1LjEuMS4yX0EyX1QyLmpzCkBAIC0xMCw2ICsxMCw2IEBACiAK
IC8vIENIRUNLIzEKIEluZmluaXR5ID0gdHJ1ZTsKLWlmICh0eXBlb2YoSW5maW5pdHkpID09PSAi
Ym9vbGVhbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IEluZmluaXR5ID0gdHJ1
ZTsgdHlwZW9mKEluZmluaXR5KSAhPT0gImJvb2xlYW4iLiBBY3R1YWw6ICcgKyAodHlwZW9mKElu
ZmluaXR5KSkpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh0eXBlb2YoSW5maW5pdHkpLCAiYm9v
bGVhbiIsICdUaGUgdmFsdWUgb2YgdHlwZW9mKEluZmluaXR5KSBpcyBub3QgImJvb2xlYW4iJyk7
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSW5maW5pdHkvUzE1LjEuMS4yX0Ez
X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0luZmluaXR5L1MxNS4xLjEu
Ml9BM19UMi5qcwppbmRleCAzNjYwMzIxNjU3ZWMzNTQ5NTY5NmQyMzdiNWRjNGViNjNhZWQ1MmIz
Li5mYWY1NjUwZGY3NDJjZDdjNzlhNzg1YjlmMGI2YTQxODk0NmU2OWY5IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSW5maW5pdHkvUzE1LjEuMS4yX0EzX1QyLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9JbmZpbml0eS9TMTUuMS4xLjJf
QTNfVDIuanMKQEAgLTcsOCArNyw2IEBACiBkZXNjcmlwdGlvbjogVXNlIGRlbGV0ZQogZmxhZ3M6
IFtub1N0cmljdF0KIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBJbmZpbml0eSwgZmFs
c2UsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBJbmZpbml0eWAgaXMgZXhwZWN0ZWQgdG8gYmUgZmFs
c2UnKTsKIAotLy8gQ0hFQ0sjMQotaWYgKGRlbGV0ZSBJbmZpbml0eSAhPT0gZmFsc2UpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGRlbGV0ZSBJbmZpbml0eSA9PT0gZmFsc2UuIEFj
dHVhbDogJyArIChkZWxldGUgSW5maW5pdHkpKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVy
aWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvSW5maW5pdHkvUzE1LjEuMS4yX0E0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0luZmluaXR5L1MxNS4xLjEuMl9BNC5qcwppbmRleCA0ZmI3NzRmYWU2Y2Y4NWIy
YjlhZWY0ZjAwMGNkZjc5MjQxZDY1N2UyLi5mMzZhZWVjZWJmOTA5ZWYxYThjYTlhNWYwN2ExYzQ5
MGU0Y2YzNGNhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSW5m
aW5pdHkvUzE1LjEuMS4yX0E0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9JbmZpbml0eS9TMTUuMS4xLjJfQTQuanMKQEAgLTksNyArOSw3IEBACiAKIC8vIENIRUNLIzEK
IGZvciAodmFyIHByb3AgaW4gdGhpcykgewotICBpZiAocHJvcCA9PT0gIkluZmluaXR5Iikgewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0n
KTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHByb3AsICJJbmZpbml0eSIsICdUaGUgdmFs
dWUgb2YgcHJvcCBpcyBub3QgIkluZmluaXR5IicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvUzE1LjEyLjJfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5qcwppbmRleCA4Y2IyYThlNWY1
NTBmNzQ1NmNlODg0NWQwNWUwNGUzY2ZiZTA4YzIzLi4zOTk1NTY4MzViYzM3MTIyNGFkYzQ1MWIx
ZDFkMDFmODk3YTEzZmIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvSlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvSlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5qcwpAQCAtOCw5ICs4LDExIEBACiAtLS0q
LwogCiB2YXIgeCA9IEpTT04ucGFyc2UoJ3siX19wcm90b19fIjpbXX0nKTsKLWlmIChPYmplY3Qu
Z2V0UHJvdG90eXBlT2YoeCkgIT09IE9iamVjdC5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IEpTT04ucGFyc2UgY29uZnVzZWQgYnkgIl9fcHJvdG9fXyInKTsKLX0K
LWlmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IEpTT04ucGFyc2UgZGlkIG5vdCBzZXQgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFy
IHByb3BlcnR5Jyk7Ci19CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5
cGVPZih4KSwKKyAgT2JqZWN0LnByb3RvdHlwZSwKKyAgJ09iamVjdC5nZXRQcm90b3R5cGVPZigi
SlNPTi5wYXJzZShcJ3siX19wcm90b19fIjpbXX1cJykiKSByZXR1cm5zIE9iamVjdC5wcm90b3R5
cGUnCispOworCithc3NlcnQoQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXyksICdBcnJheS5pc0Fy
cmF5KHguX19wcm90b19fKSBtdXN0IHJldHVybiB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9oeXBvdC9NYXRoLmh5cG90X1RvTnVtYmVyRXJy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvaHlwb3QvTWF0aC5oeXBv
dF9Ub051bWJlckVyci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTQ5NDRkOTYxOTdmNzJkMjAwMDYyM2E1YTlk
NzU2MjFjOWVkMGMxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL01hdGgvaHlwb3QvTWF0aC5oeXBvdF9Ub051bWJlckVyci5qcwpAQCAtMCwwICsxLDM1
IEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMjEgUmljaGFyZCBHaWJzb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmh5
cG90IHNob3VsZCBjb2VyY2UgYWxsIGFyZ3VtZW50cyBiZWZvcmUgaW5zcGVjdGluZyB0aGVtLgor
ZXNpZDogc2VjLW1hdGguaHlwb3QKK2luZm86IHwKKyAgMS4gTGV0IF9jb2VyY2VkXyBiZSBhIG5l
dyBlbXB0eSBMaXN0LgorICAyLiBGb3IgZWFjaCBlbGVtZW50IF9hcmdfIG9mIF9hcmdzXywgZG8K
KyAgICBhLiBMZXQgX25fIGJlID8gVG9OdW1iZXIoX2FyZ18pLgorICAgIGIuIEFwcGVuZCBfbl8g
dG8gX2NvZXJjZWRfLgorICAzLiBGb3IgZWFjaCBlbGVtZW50IF9udW1iZXJfIG9mIF9jb2VyY2Vk
XywgZG8KKy0tLSovCisKK3ZhciBjb3VudGVyID0gMDsKKworYXNzZXJ0LnRocm93cygKKyAgVGVz
dDI2MkVycm9yLAorICBmdW5jdGlvbigpIHsKKyAgICBNYXRoLmh5cG90KAorICAgICAgSW5maW5p
dHksCisgICAgICAtSW5maW5pdHksCisgICAgICBOYU4sCisgICAgICAwLAorICAgICAgLTAsCisg
ICAgICB7dmFsdWVPZjogZnVuY3Rpb24oKXsgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOyB9fSwK
KyAgICAgIHt2YWx1ZU9mOiBmdW5jdGlvbigpeyBjb3VudGVyKys7IH19CisgICAgKTsKKyAgfSwK
KyAgJ01hdGguaHlwb3QgcHJvcGFnYXRlcyBhbiBhYnJ1cHQgY29tcGxldGlvbiBmcm9tIGNvZXJj
aW5nIGFuIGFyZ3VtZW50IHRvIE51bWJlcicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY291bnRl
ciwgMCwKKyAgICAnTWF0aC5oeXBvdCBhYm9ydHMgYXJndW1lbnQgcHJvY2Vzc2luZyBhdCB0aGUg
Zmlyc3QgYWJydXB0IGNvbXBsZXRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9NYXRoL2h5cG90L01hdGguaHlwb3RfWmVyb18yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvaHlwb3QvTWF0aC5oeXBvdF9aZXJvXzIuanMKaW5k
ZXggMTU5Y2Y5NTM3NWUxMmRhNWQ1NDFlNWQ2OGVmZTMxODBiYmVjODhjYi4uNzM1Mjg1MWU2YjIx
MWZiMjBjZDQ3M2E5ZjNiODQ1OGJiNDNjNzQxYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL01hdGgvaHlwb3QvTWF0aC5oeXBvdF9aZXJvXzIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvaHlwb3QvTWF0aC5oeXBvdF9aZXJvXzIu
anMKQEAgLTIsMTIgKzIsMTYgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAogLyotLS0KK2VzaWQ6IHNlYy1t
YXRoLmh5cG90CiBlczZpZDogMjAuMi4yLjE4CiBhdXRob3I6IFJ5YW4gTGV3aXMKLWRlc2NyaXB0
aW9uOiBSZXR1cm4gMCBpZiBhbGwgYXJndW1lbnRzIGJlaW5nIGFyZSAwIG9yIC0wLgorZGVzY3Jp
cHRpb246IE1hdGguaHlwb3Qgc2hvdWxkIHJldHVybiAwIGlmIGFsbCBhcmd1bWVudHMgYXJlIDAg
b3IgLTAuCiAtLS0qLwogCithc3NlcnQuc2FtZVZhbHVlKE1hdGguaHlwb3QoMCksIDAsICdNYXRo
Lmh5cG90KDApJyk7Cithc3NlcnQuc2FtZVZhbHVlKE1hdGguaHlwb3QoLTApLCAwLCAnTWF0aC5o
eXBvdCgtMCknKTsKIGFzc2VydC5zYW1lVmFsdWUoTWF0aC5oeXBvdCgwLCAwKSwgMCwgJ01hdGgu
aHlwb3QoMCwgMCknKTsKIGFzc2VydC5zYW1lVmFsdWUoTWF0aC5oeXBvdCgwLCAtMCksIDAsICdN
YXRoLmh5cG90KDAsIC0wKScpOwogYXNzZXJ0LnNhbWVWYWx1ZShNYXRoLmh5cG90KC0wLCAwKSwg
MCwgJ01hdGguaHlwb3QoLTAsIDApJyk7CiBhc3NlcnQuc2FtZVZhbHVlKE1hdGguaHlwb3QoLTAs
IC0wKSwgMCwgJ01hdGguaHlwb3QoLTAsIC0wKScpOworYXNzZXJ0LnNhbWVWYWx1ZShNYXRoLmh5
cG90KDAsIC0wLCAtMCksIDAsICdNYXRoLmh5cG90KDAsIC0wLCAtMCknKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYU4vUzE1LjEuMS4xX0EyX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL05hTi9TMTUuMS4xLjFfQTJfVDIuanMKaW5k
ZXggMDA2NjM2NDM0NTAzNjZmM2FlNTllMThlY2M0MWVlMjg0MDQ3OGZlZi4uODVkNzJhZDI4MjRi
NzI5Y2Q4NTM1OTc1OGJjNzE5N2YyMWQ5NTUxMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL05hTi9TMTUuMS4xLjFfQTJfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL05hTi9TMTUuMS4xLjFfQTJfVDIuanMKQEAgLTEwLDYgKzEwLDYg
QEAKIAogLy8gQ0hFQ0sjMQogTmFOID0gdHJ1ZTsKLWlmICh0eXBlb2YoTmFOKSA9PT0gImJvb2xl
YW4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOYU4gPSB0cnVlOyB0eXBlb2Yo
TmFOKSAhPT0gImJvb2xlYW4iLiBBY3R1YWw6ICcgKyAodHlwZW9mKE5hTikpKTsKLX0KK2Fzc2Vy
dC5ub3RTYW1lVmFsdWUodHlwZW9mKE5hTiksICJib29sZWFuIiwgJ1RoZSB2YWx1ZSBvZiB0eXBl
b2YoTmFOKSBpcyBub3QgImJvb2xlYW4iJyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5
UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTmFOL1MxNS4xLjEuMV9BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OYU4vUzE1LjEuMS4xX0EzX1QyLmpzCmluZGV4IGQ5YzA3ZWVlZDM3MDFhYzg5YjIwZmJl
ODY0MDhmM2E1NWZjOTNmYzEuLjQ5NDc5MDM1YTRlZGM0MjBiZmNlZDhkZWNjN2U3YWQ0MGY3MmM2
MWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYU4vUzE1LjEu
MS4xX0EzX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYU4vUzE1
LjEuMS4xX0EzX1QyLmpzCkBAIC03LDggKzcsNiBAQAogZGVzY3JpcHRpb246IFVzZSBkZWxldGUK
IGZsYWdzOiBbbm9TdHJpY3RdCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgTmFOLCBm
YWxzZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIE5hTmAgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2Un
KTsKIAotLy8gQ0hFQ0sjMQotaWYgKGRlbGV0ZSBOYU4gIT09IGZhbHNlKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBkZWxldGUgTmFOID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKGRl
bGV0ZSBOYU4pKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTmFOL1MxNS4x
LjEuMV9BNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYU4vUzE1LjEuMS4x
X0E0LmpzCmluZGV4IDM4NWU5YWIyNjlmYWQ3MzIwNzE5MWI4MDA2MGZlYzE3NTUzZTRhMzMuLmFk
ZGNjNmU5YzE1ZGFkNGM5NTY0MDI5Mzk4Y2M4NmRhY2M4OTMwMTggMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYU4vUzE1LjEuMS4xX0E0LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYU4vUzE1LjEuMS4xX0E0LmpzCkBAIC05LDcgKzks
NyBAQAogCiAvLyBDSEVDSyMxCiBmb3IgKHZhciBwcm9wIGluIHRoaXMpIHsKLSAgaWYgKHByb3Ag
PT09ICJOYU4iKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBOYU4gaXMg
RG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90U2FtZVZhbHVlKHByb3AsICJOYU4iLCAnVGhl
IHZhbHVlIG9mIHByb3AgaXMgbm90ICJOYU4iJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL01BWF9WQUxVRS9TMTUuNy4zLjJfQTIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL01BWF9WQUxVRS9TMTUuNy4zLjJfQTIuanMKaW5k
ZXggMjUzNTgxNzVhNWQxMTc5NGUzNjNjNDE0MTMxNWZjZTBmZDZlZGFmZC4uNjlkZDI3ODBmYmU5
OGM5YjlkOGExYTYxZDgwM2YxYzQ4NWZmZDE4OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9NQVhfVkFMVUUvUzE1LjcuMy4yX0EyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUFYX1ZBTFVFL1MxNS43LjMuMl9B
Mi5qcwpAQCAtMTEsNiArMTEsNiBAQAogLy8gQ0hFQ0sjMQogdmFyIHggPSBOdW1iZXIuTUFYX1ZB
TFVFOwogdmVyaWZ5Tm90V3JpdGFibGUoTnVtYmVyLCAiTUFYX1ZBTFVFIiwgbnVsbCwgMSk7Ci1p
ZiAoTnVtYmVyLk1BWF9WQUxVRSAhPT0geCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogeCA9IE51bWJlci5NQVhfVkFMVUU7IE51bWJlci5NQVhfVkFMVUUgPSAxOyBOdW1iZXIuTUFY
X1ZBTFVFID09PSB4Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlci5NQVhfVkFMVUUsIHgs
ICdUaGUgdmFsdWUgb2YgTnVtYmVyLk1BWF9WQUxVRSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgeCcpOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9y
bWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9N
QVhfVkFMVUUvUzE1LjcuMy4yX0EzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9NQVhfVkFMVUUvUzE1LjcuMy4yX0EzLmpzCmluZGV4IDE4M2U2ZDdhZDhjNTk2Mjli
ZjQ2MWQ3ZDNiYWQ3Y2YyNTJlNTAwMzYuLjYxMjJlYTJhZmYxZTUyOGEzN2IzNjM5YjkxMjUzZWZh
MjZiYjJlMTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvTUFYX1ZBTFVFL1MxNS43LjMuMl9BMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL01BWF9WQUxVRS9TMTUuNy4zLjJfQTMuanMKQEAgLTEyLDEwICsxMiwx
MiBAQAogCiAvLyBDSEVDSyMxCiB0cnkgewotICBpZiAoZGVsZXRlIE51bWJlci5NQVhfVkFMVUUg
IT09IGZhbHNlKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGRlbGV0ZSBOdW1i
ZXIuTUFYX1ZBTFVFID09PSBmYWxzZScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRl
IE51bWJlci5NQVhfVkFMVUUsIGZhbHNlKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKGUgaW5zdGFu
Y2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CisgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVy
cm9yKSB7CisgICAgdGhyb3cgZTsKKyAgfQogICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cik7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL01BWF9WQUxV
RS9TMTUuNy4zLjJfQTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L01BWF9WQUxVRS9TMTUuNy4zLjJfQTQuanMKaW5kZXggMDc1MWMzMjk3NjRmMmY0NDdhYzViYWM1
OGYwNmIyZTM0NWI4YzIxMC4uM2U4MzdjNmY0MWJhZWM0ODU0YjNmOTY0OWNkNGM5MjUwZGE1NjFh
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9NQVhf
VkFMVUUvUzE1LjcuMy4yX0E0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvTUFYX1ZBTFVFL1MxNS43LjMuMl9BNC5qcwpAQCAtNywxMyArNywxMyBAQAogZGVz
Y3JpcHRpb246IENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMK
IC0tLSovCiAKLS8vQ0hFQ0sjMQogZm9yICh2YXIgeCBpbiBOdW1iZXIpIHsKLSAgaWYgKHggPT09
ICJNQVhfVkFMVUUiKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5N
QVhfVkFMVUUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKLSAgfQorICBhc3NlcnQubm90
U2FtZVZhbHVlKHgsICJNQVhfVkFMVUUiLCAnVGhlIHZhbHVlIG9mIHggaXMgbm90ICJNQVhfVkFM
VUUiJyk7CiB9CiAKLWlmIChOdW1iZXIucHJvcGVydHlJc0VudW1lcmFibGUoJ01BWF9WQUxVRScp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0
aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci19Cithc3NlcnQoCisgICFOdW1iZXIucHJvcGVydHlJ
c0VudW1lcmFibGUoJ01BWF9WQUxVRScpLAorICAnVGhlIHZhbHVlIG9mICFOdW1iZXIucHJvcGVy
dHlJc0VudW1lcmFibGUoXCdNQVhfVkFMVUVcJykgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL01JTl9WQUxVRS9TMTUu
Ny4zLjNfQTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL01JTl9W
QUxVRS9TMTUuNy4zLjNfQTIuanMKaW5kZXggZGQyMDBhNjNmMDNkMDAyY2NlM2Y4MDFkMDQ5ZDk1
MTFjZWQxZTFkYy4uM2M0YjBjYzBhNTRkNTQ0OWM5Y2QyMzVlNTg3ZTZiM2UwOGY1NmZiNyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9NSU5fVkFMVUUv
UzE1LjcuMy4zX0EyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvTUlOX1ZBTFVFL1MxNS43LjMuM19BMi5qcwpAQCAtMTEsNiArMTEsNiBAQAogLy8gQ0hFQ0sj
MQogdmFyIHggPSBOdW1iZXIuTUlOX1ZBTFVFOwogdmVyaWZ5Tm90V3JpdGFibGUoTnVtYmVyLCAi
TUlOX1ZBTFVFIiwgbnVsbCwgMSk7Ci1pZiAoTnVtYmVyLk1JTl9WQUxVRSAhPT0geCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogeCA9IE51bWJlci5NSU5fVkFMVUU7IE51bWJlci5N
SU5fVkFMVUUgPSAxOyBOdW1iZXIuTUlOX1ZBTFVFID09PSB4Jyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKE51bWJlci5NSU5fVkFMVUUsIHgsICdUaGUgdmFsdWUgb2YgTnVtYmVyLk1JTl9WQUxVRSBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeCcpOworCisvLyBUT0RPOiBDb252ZXJ0
IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9NSU5fVkFMVUUvUzE1LjcuMy4zX0EzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9NSU5fVkFMVUUvUzE1LjcuMy4zX0EzLmpz
CmluZGV4IDFmYjE1ZGZjNjJlNGNhYzI1NDUxM2U2OTg0YTk2ZGViNWM0MTExMGEuLjk2YTk5M2Qx
MmUyM2U1NzVmNjJkNGY2MDE4NzI2NTNiNDMyYzQwOTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvTUlOX1ZBTFVFL1MxNS43LjMuM19BMy5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL01JTl9WQUxVRS9TMTUuNy4z
LjNfQTMuanMKQEAgLTEwLDEyICsxMCwxMyBAQAogCiB2ZXJpZnlOb3RDb25maWd1cmFibGUoTnVt
YmVyLCAiTUlOX1ZBTFVFIik7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLSAgaWYgKGRlbGV0ZSBOdW1i
ZXIuTUlOX1ZBTFVFICE9PSBmYWxzZSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gZmFsc2UnKTsKLSAgfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKGRlbGV0ZSBOdW1iZXIuTUlOX1ZBTFVFLCBmYWxzZSk7CiB9IGNhdGNoIChlKSB7Ci0g
IGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOworICBpZiAoZSBpbnN0YW5j
ZW9mIFRlc3QyNjJFcnJvcikgeworICAgIHRocm93IGU7CisgIH0KICAgYXNzZXJ0KGUgaW5zdGFu
Y2VvZiBUeXBlRXJyb3IpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9NSU5fVkFMVUUvUzE1LjcuMy4zX0E0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9NSU5fVkFMVUUvUzE1LjcuMy4zX0E0LmpzCmluZGV4IDVjZTMxNjM4YjBm
MTIxNGNmOGRhODRkYTA0Mjc3MGM3MDE5NGViYWYuLjliOTkyOTI4MzVlNThjM2ZjN2FlZjNiMzA1
YjdhMmRmOGZlNGI3NmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvTUlOX1ZBTFVFL1MxNS43LjMuM19BNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL01JTl9WQUxVRS9TMTUuNy4zLjNfQTQuanMKQEAgLTcsMTMg
KzcsMTMgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUlO
X1ZBTFVFIGZhaWxzCiAtLS0qLwogCi0vL0NIRUNLIzEKIGZvciAodmFyIHggaW4gTnVtYmVyKSB7
Ci0gIGlmICh4ID09PSAiTUlOX1ZBTFVFIikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Ci0gIH0K
KyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh4LCAiTUlOX1ZBTFVFIiwgJ1RoZSB2YWx1ZSBvZiB4IGlz
IG5vdCAiTUlOX1ZBTFVFIicpOwogfQogCi1pZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxl
KCdNSU5fVkFMVUUnKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyLk1J
Tl9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwotfQorYXNzZXJ0KAorICAhTnVt
YmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdNSU5fVkFMVUUnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAh
TnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnTUlOX1ZBTFVFXCcpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9y
bWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9O
RUdBVElWRV9JTkZJTklUWS9TMTUuNy4zLjVfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL05FR0FUSVZFX0lORklOSVRZL1MxNS43LjMuNV9BMS5qcwppbmRleCA2
Y2VjNmU4M2ZiZWI5NWFkNjQ3ZDFlYTFkNTg3OTNjYmFhYjI1NjZlLi5iZDEyY2U1MGFmZWVhMzRj
NDVmNDIyNjMzODA2NjQ1NGQ3NTQ5OGM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL05FR0FUSVZFX0lORklOSVRZL1MxNS43LjMuNV9BMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL05FR0FUSVZFX0lORklOSVRZ
L1MxNS43LjMuNV9BMS5qcwpAQCAtNiwxMiArNiw0IEBACiBlczVpZDogMTUuNy4zLjVfQTEKIGRl
c2NyaXB0aW9uOiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5ORUdBVElW
RV9JTkZJTklUWQogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKGlzRmluaXRlKE51bWJlci5ORUdB
VElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZScpOwotfSBlbHNlIHsK
LSAgaWYgKChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPCAwKSAhPT0gdHJ1ZSkgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IC1J
bmZpbml0eScpOwotICB9Ci19Cithc3NlcnQuc2FtZVZhbHVlKGlzRmluaXRlKE51bWJlci5ORUdB
VElWRV9JTkZJTklUWSksIGZhbHNlLCAnaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZ
KSBtdXN0IHJldHVybiBmYWxzZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9ORUdBVElWRV9JTkZJTklUWS9TMTUuNy4zLjVfQTIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL05FR0FUSVZFX0lORklOSVRZL1MxNS43
LjMuNV9BMi5qcwppbmRleCAwZjQ4MGM3MDg1OTRlOTFiYjlkOTE2ZmU1MjQwY2M1MWQ1NTU2YjEy
Li42ZjYyYWNhMmE0MzM2OWIzZTc4OTgyMDJlZTM1MmNmN2YwODA1MDk0IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL05FR0FUSVZFX0lORklOSVRZL1Mx
NS43LjMuNV9BMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L05FR0FUSVZFX0lORklOSVRZL1MxNS43LjMuNV9BMi5qcwpAQCAtMTAsMTAgKzEwLDEwIEBACiAK
IC8vIENIRUNLIzEKIHZlcmlmeU5vdFdyaXRhYmxlKE51bWJlciwgIk5FR0FUSVZFX0lORklOSVRZ
IiwgbnVsbCwgMSk7Ci1pZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID0g
MTsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSAtSW5maW5pdHknKTsKLX0gZWxzZSB7Ci0g
IGlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgewotICAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPSAxOyBOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkgPT09IC1JbmZpbml0eScpOwotICB9Ci19CisKK2Fzc2VydCgKKyAgIWlzRmlu
aXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSksCisgICdUaGUgdmFsdWUgb2YgIWlzRmluaXRl
KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1BPU0lUSVZFX0lORklOSVRZ
L1MxNS43LjMuNl9BMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
UE9TSVRJVkVfSU5GSU5JVFkvUzE1LjcuMy42X0ExLmpzCmluZGV4IDlmNmY2ZGYwZTIxMGY2NzE1
NDlhZTMyNGM0NmJjYTBmYWRhNTNjZjcuLmIwNGUxMWNiYTA1ZDBiOTI1NTY0NTk3YWQ1Y2MxNzYz
NGEyODc1ZWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvUE9TSVRJVkVfSU5GSU5JVFkvUzE1LjcuMy42X0ExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUE9TSVRJVkVfSU5GSU5JVFkvUzE1LjcuMy42X0ExLmpz
CkBAIC02LDEyICs2LDQgQEAKIGVzNWlkOiAxNS43LjMuNl9BMQogZGVzY3JpcHRpb246IENoZWNr
aW5nIHNpZ24gYW5kIGZpbml0ZW5lc3Mgb2YgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCiAtLS0q
LwotCi0vLyBDSEVDSyMxCi1pZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAh
PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5QT1NJVElW
RV9JTkZJTklUWSA9PT0gTm90LWEtRmluaXRlJyk7Ci19IGVsc2UgewotICBpZiAoKE51bWJlci5Q
T1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gK0luZmluaXR5Jyk7Ci0gIH0K
LX0KK2Fzc2VydC5zYW1lVmFsdWUoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSwg
ZmFsc2UsICdpc0Zpbml0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIG11c3QgcmV0dXJuIGZh
bHNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1BPU0lUSVZFX0lORklOSVRZL1MxNS43LjMuNl9BMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvUE9TSVRJVkVfSU5GSU5JVFkvUzE1LjcuMy42X0EyLmpzCmluZGV4
IGE1NGFiYjM5NmQ5ODk5YjlmOTkyYTNiYTczNjY5YmIwOWZkYzUzYTguLmM4MTdkYzk3NjEwZDJk
NjFiZGI4MGM4NWJlYTlhNjk4NDQwZjQzMWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvUE9TSVRJVkVfSU5GSU5JVFkvUzE1LjcuMy42X0EyLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUE9TSVRJVkVfSU5GSU5J
VFkvUzE1LjcuMy42X0EyLmpzCkBAIC0xMCwxMCArMTAsMTAgQEAKIAogLy8gQ0hFQ0sjMQogdmVy
aWZ5Tm90V3JpdGFibGUoTnVtYmVyLCAiUE9TSVRJVkVfSU5GSU5JVFkiLCBudWxsLCAxKTsKLWlm
IChpc0Zpbml0ZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPSAxOyBOdW1iZXIuUE9TSVRJ
VkVfSU5GSU5JVFkgPT09ICtJbmZpbml0eScpOwotfSBlbHNlIHsKLSAgaWYgKE51bWJlci5QT1NJ
VElWRV9JTkZJTklUWSA8PSAwKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51
bWJlci5QT1NJVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0g
K0luZmluaXR5Jyk7Ci0gIH0KLX0KKworYXNzZXJ0KAorICAhaXNGaW5pdGUoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKKworLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuMS4xX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4xLjFfQTEuanMKaW5kZXggNjYzNDBlYzk4ZTM2
YjFhN2EzOWNlMTM1Mzk5OGM2OWRiNDQ5NDdkMy4uM2NjZmFmMzJhZTMxMWM1MGY2MjlmMTNlNDE0
MDYyYTE2ZWFlZmQ0MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TMTUuNy4xLjFfQTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TMTUuNy4xLjFfQTEuanMKQEAgLTgsMjYgKzgsMTkgQEAKIGVzNWlkOiAxNS43
LjEuMV9BMQogZGVzY3JpcHRpb246IFVzZWQgdmFsdWVzICIxMCIsIDEwLCBuZXcgU3RyaW5nKCIx
MCIpLCBuZXcgT2JqZWN0KDEwKSBhbmQgImFiYyIKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBOdW1iZXIoIjEwIiksICJudW1iZXIiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgTnVtYmVy
KCIxMCIpYCBpcyBleHBlY3RlZCB0byBiZSAibnVtYmVyIicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgTnVtYmVyKDEwKSwgIm51bWJlciIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBOdW1iZXIo
MTApYCBpcyBleHBlY3RlZCB0byBiZSAibnVtYmVyIicpOwogCi0vL0NIRUNLIzEKLWlmICh0eXBl
b2YgTnVtYmVyKCIxMCIpICE9PSAibnVtYmVyIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogdHlwZW9mIE51bWJlcigiMTAiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAi
JyArIHR5cGVvZiBOdW1iZXIoIjEwIikgKyAnIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
dHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSwKKyAgIm51bWJlciIsCisgICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBOdW1iZXIobmV3IFN0cmluZygiMTAiKSlgIGlzIGV4cGVjdGVkIHRvIGJl
ICJudW1iZXIiJworKTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIE51bWJlcigxMCkgIT09ICJu
dW1iZXIiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0eXBlb2YgTnVtYmVyKDEw
KSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyArIHR5cGVvZiBOdW1iZXIoMTApICsg
JyInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgx
MCkpLAorICAibnVtYmVyIiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE51bWJlcihuZXcgT2Jq
ZWN0KDEwKSlgIGlzIGV4cGVjdGVkIHRvIGJlICJudW1iZXIiJworKTsKIAotLy9DSEVDSyMzCi1p
ZiAodHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSAhPT0gIm51bWJlciIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IHR5cGVvZiBOdW1iZXIobmV3IFN0cmluZygiMTAiKSkg
c2hvdWxkIGJlICJudW1iZXIiLCBhY3R1YWwgaXMgIicgKyB0eXBlb2YgTnVtYmVyKG5ldyBTdHJp
bmcoIjEwIikpICsgJyInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAodHlwZW9mIE51bWJlcihuZXcg
T2JqZWN0KDEwKSkgIT09ICJudW1iZXIiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiB0eXBlb2YgTnVtYmVyKG5ldyBPYmplY3QoMTApKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVh
bCBpcyAiJyArIHR5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpICsgJyInKTsKLX0KLQotLy9D
SEVDSyAjNQotYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoImFiYyIpLCBOYU4sICJOdW1iZXIoJ2Fi
YycpIik7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiYWJjIiksIE5hTiwgJ051bWJlcigiYWJj
IikgcmV0dXJucyBOYU4nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvUzE1LjcuMS4xX0EyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TMTUuNy4xLjFfQTIuanMKaW5kZXggZjNkZWJmMDkxZTEyMTMyN2Q0MjE4YzJl
NTcyNThhZWZmZWVhMWQ3OC4uMzZiZmM5NDk1MmE0YzlhZDkyMWM2YjE3Mzg4MzI0ZTAzMzg0ZDAz
OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUu
Ny4xLjFfQTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
MTUuNy4xLjFfQTIuanMKQEAgLTYsMTUgKzYsNSBAQAogZXM1aWQ6IDE1LjcuMS4xX0EyCiBkZXNj
cmlwdGlvbjogQ2FsbCBOdW1iZXIoKSBhbmQgY2hlY2sgcmVzdWx0CiAtLS0qLwotCi0vL0NIRUNL
IzEKLWlmICh0eXBlb2YgTnVtYmVyKCkgIT09ICJudW1iZXIiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiB0eXBlb2YgTnVtYmVyKCkgc2hvdWxkIGJlICJudW1iZXIiLCBhY3R1YWwg
aXMgIicgKyB0eXBlb2YgTnVtYmVyKCkgKyAnIicpOwotfQotCi0vL0NIRUNLIzIKLWlmIChOdW1i
ZXIoKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyKCkgPT09
IDAsIGFjdHVhbCBpcyAnICsgTnVtYmVyKCkpOwotfSBlbHNlIGlmICgxIC8gTnVtYmVyKCkgIT09
IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogTnVtYmVyKCkgPT09ICswLCBhY3R1YWwgaXMgJyArIE51bWJlcigpKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIE51bWJlcigpLCAibnVtYmVyIiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IE51bWJlcigpYCBpcyBleHBlY3RlZCB0byBiZSAibnVtYmVyIicpOworYXNzZXJ0LnNhbWVWYWx1
ZShOdW1iZXIoKSwgMCwgJ051bWJlcigpIG11c3QgcmV0dXJuIDAnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuMi4xX0ExLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTEuanMKaW5kZXgg
MWE5MGZjZDllMzdlMDU0NzFjNzYxZTg2YTQ2YjMwOTgyYWI5NWIxYS4uNDNhZTRiYmIyNjAxZTQx
OTU2NTJiODFkZWU5YTRmM2MwYzBjNGE3ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTEuanMKQEAgLTgsNDcgKzgsMTkgQEAK
IGVzNWlkOiAxNS43LjIuMV9BMQogZGVzY3JpcHRpb246IENoZWNraW5nIHR5cGUgb2YgdGhlIG5l
d2x5IGNyZWF0ZWQgb2JqZWN0IGFuZCBpdCB2YWx1ZQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIG5ldyBOdW1iZXIoKSwgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuZXcg
TnVtYmVyKClgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQubm90U2FtZVZh
bHVlKG5ldyBOdW1iZXIoKSwgdW5kZWZpbmVkLCAnbmV3IE51bWJlcigpIGlzIGV4cGVjdGVkIHRv
IG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBuZXcg
TnVtYmVyKCkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxOiB0
eXBlb2YgbmV3IE51bWJlcigpID09PSAnb2JqZWN0JyIpOwotfQotCi0vL0NIRUNLIzIKLWlmIChu
ZXcgTnVtYmVyKCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIj
MjogbmV3IE51bWJlcigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Ci0KLS8vQ0hFQ0sj
MwogdmFyIHgzID0gbmV3IE51bWJlcigpOwotaWYgKHR5cGVvZiB4MyAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzM6IHR5cGVvZiBuZXcgTnVtYmVyKCkgPT09ICdv
YmplY3QnIik7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB4MywgIm9iamVjdCIsICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiB4M2AgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAotLy9D
SEVDSyM0CiB2YXIgeDQgPSBuZXcgTnVtYmVyKCk7Ci1pZiAoeDQgPT09IHVuZGVmaW5lZCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNDogbmV3IE51bWJlcigpIHNob3VsZCBub3QgYmUg
dW5kZWZpbmVkIik7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKHR5cGVvZiBuZXcgTnVtYmVyKDEwKSAh
PT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiIzU6IHR5cGVvZiBuZXcg
TnVtYmVyKDEwKSA9PT0gJ29iamVjdCciKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAobmV3IE51bWJl
cigxMCkgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCIjNjogbmV3
IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKLX0KK2Fzc2VydC5ub3RTYW1l
VmFsdWUoeDQsIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiB4NCBpcyBleHBlY3RlZCB0byBub3Qg
ZXF1YWwgYGB1bmRlZmluZWRgYCcpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgbmV3IE51bWJl
cigxMCksICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbmV3IE51bWJlcigxMClgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKG5ldyBOdW1i
ZXIoMTApLCB1bmRlZmluZWQsICduZXcgTnVtYmVyKDEwKSBpcyBleHBlY3RlZCB0byBub3QgZXF1
YWwgYGB1bmRlZmluZWRgYCcpOwogCi0vL0NIRUNLIzcKIHZhciB4NyA9IG5ldyBOdW1iZXIoMTAp
OwotaWYgKHR5cGVvZiB4NyAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiIzc6IHR5cGVvZiBuZXcgTnVtYmVyKDEwKSA9PT0gJ29iamVjdCciKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIHg3LCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHg3YCBp
cyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwogCi0vL0NIRUNLIzgKIHZhciB4OCA9IG5ldyBO
dW1iZXIoMTApOwotaWYgKHg4ID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiIzg6IG5ldyBOdW1iZXIoMTApIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Ci19Cith
c3NlcnQubm90U2FtZVZhbHVlKHg4LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgeDggaXMgZXhw
ZWN0ZWQgdG8gbm90IGVxdWFsIGBgdW5kZWZpbmVkYGAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuMi4xX0EyLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTIuanMKaW5kZXggMzAwNjI2
ZTExMGY4NjNiYzg1MWU4NDU5OTY0MzVlNGUwZTNhMDExYS4uZjU4N2FiMDBhMDU4ZGIyY2I4ZWRh
OWM5ZWVlNWY4MjBlZGY3N2Q1MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTIuanMKQEAgLTEyLDE4ICsxMiwyMCBAQAogCiAv
LyBDSEVDSyMxCiB2YXIgeDEgPSBuZXcgTnVtYmVyKDEpOwotaWYgKHR5cGVvZiB4MS5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiB0eXBlb2YgeDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAib2JqZWN0IicpOwotfQog
Ci0vL0NIRUNLIzIKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiB4MS5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgeDEuY29uc3Ry
dWN0b3IucHJvdG90eXBlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CisKIHZhciB4
MiA9IG5ldyBOdW1iZXIoMik7Ci1pZiAoIU51bWJlci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4
MikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlci5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZih4MiknKTsKLX0KK2Fzc2VydChOdW1iZXIucHJvdG90eXBlLmlzUHJvdG90eXBl
T2YoeDIpLCAnTnVtYmVyLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKSBtdXN0IHJldHVybiB0
cnVlJyk7CiAKLS8vQ0hFQ0sjMwogdmFyIHgzID0gbmV3IE51bWJlcigzKTsKLWlmIChOdW1iZXIu
cHJvdG90eXBlICE9PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IE51bWJlci5wcm90b3R5cGUgPT09IHgzLmNvbnN0cnVjdG9yLnByb3Rv
dHlwZScpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIucHJvdG90eXBlLAorICB4
My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgTnVtYmVyLnByb3RvdHlw
ZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgeDMuY29uc3RydWN0b3IucHJvdG90
eXBlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvUzE1LjcuMi4xX0EzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9TMTUuNy4yLjFfQTMuanMKaW5kZXggMzRhYThjMWRjOGViYzE5MDU3ZmNhNzNkNTg1ZmIxYzM1
ODU4YTkxZi4uODg0ZWNjNDg5ZjIyNjU0MDA0ZDNhYjBhZjBkMDRjMjYyNTJkMGUyMSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFfQTMu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4yLjFf
QTMuanMKQEAgLTksMTYgKzksOCBAQCBpcyBzZXQgdG8gVG9OdW1iZXIodmFsdWUpIGlmIHZhbHVl
IHdhcyBzdXBwbGllZCwgZWxzZSB0byArMAogZGVzY3JpcHRpb246IENoZWNraW5nIHZhbHVlIG9m
IHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogLS0tKi8KIAotLy9DSEVDSyMxCiB2YXIgeDEgPSBu
ZXcgTnVtYmVyKDEpOwotaWYgKHgxLnZhbHVlT2YoKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogdmFyIHgxID0gbmV3IE51bWJlcigxKTsgeDEudmFsdWVPZigpID09PSAx
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgxLnZhbHVlT2YoKSwgMSwgJ3gxLnZhbHVlT2YoKSBt
dXN0IHJldHVybiAxJyk7CiAKLS8vQ0hFQ0sjMgogdmFyIHgyID0gbmV3IE51bWJlcigpOwotaWYg
KHgyLnZhbHVlT2YoKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMi4xOiB2
YXIgeDIgPSBuZXcgTnVtYmVyKCk7IHgyLnZhbHVlT2YoKSA9PT0gMCcpOwotfSBlbHNlIGlmICgx
IC8geDIudmFsdWVPZigpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzIuMjogdmFyIHgyID0gbmV3IE51bWJlcigpOyB4Mi52YWx1ZU9m
KCkgPT09ICswJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHgyLnZhbHVlT2YoKSwgMCwgJ3gyLnZh
bHVlT2YoKSBtdXN0IHJldHVybiAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjIuMV9BNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuMi4xX0E0LmpzCmluZGV4IDE3NmMyNzRmYmIyOGE2M2I4
M2I0OTlhNjQyYmNjYzFmMTk4ZWU4ZTkuLmI0ZDNkZjIzNDNhMmMyNmVkMWI5ODE3Y2JiMmQ1MGFi
NDZkYWM4ODUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvUzE1LjcuMi4xX0E0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvUzE1LjcuMi4xX0E0LmpzCkBAIC0xMyw3ICsxMyw0IEBACiAKIHZhciBvYmogPSBuZXcg
TnVtYmVyKCk7CiAKLS8vQ0hFQ0sjMQotaWYgKG9iai50b1N0cmluZygpICE9PSAiW29iamVjdCBO
dW1iZXJdIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIFtbQ2xhc3NdXSBw
cm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiTnVtYmVy
IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmoudG9TdHJpbmcoKSwgIltvYmplY3QgTnVtYmVy
XSIsICdvYmoudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBOdW1iZXJdIicpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0Ex
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0ExLmpz
CmluZGV4IDQ5OTI5NTgyMWQ2ZDIxMjQ3MzEyNDhiZDhjNjYxMDBlOTY2ZWE0NmEuLjljM2I4ZjUx
ODIxZThkYTg3MDBkNmJjY2MyY2JjZjg3OTllODI4MzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuM19BMS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTEuanMKQEAgLTYsNyArNiw0IEBA
CiBlczVpZDogMTUuNy4zX0ExCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRo
ZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogLS0tKi8KLQotaWYgKCFOdW1iZXIuaGFzT3duUHJvcGVy
dHkoInByb3RvdHlwZSIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgTnVt
YmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSInKTsKLX0KK2Fzc2Vy
dChOdW1iZXIuaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpLCAnTnVtYmVyLmhhc093blByb3Bl
cnR5KCJwcm90b3R5cGUiKSBtdXN0IHJldHVybiB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTIuanMKaW5kZXggOTY1YTY4MjEy
MjczZGM4ZjcwZTVmMGM5MzUwZmE0OTMxY2I1OTQzMC4uNzM5ODMyYmQyMmQ0NDVkOGZiYjkxZDhm
MjQ5NmU1MDJiYTIxOGVkNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TMTUuNy4zX0EyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvUzE1LjcuM19BMi5qcwpAQCAtNiw3ICs2LDQgQEAKIGVzNWlkOiAxNS43LjNf
QTIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNQVhf
VkFMVUUiCiAtLS0qLwotCi1pZiAoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUFYX1ZBTFVFIikp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3Ig
aGFzIHRoZSBwcm9wZXJ0eSAiTUFYX1ZBTFVFIicpOwotfQorYXNzZXJ0KE51bWJlci5oYXNPd25Q
cm9wZXJ0eSgiTUFYX1ZBTFVFIiksICdOdW1iZXIuaGFzT3duUHJvcGVydHkoIk1BWF9WQUxVRSIp
IG11c3QgcmV0dXJuIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvUzE1LjcuM19BMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvUzE1LjcuM19BMy5qcwppbmRleCAwYzIxMDBjOGJkY2FhY2RiZTIwODVkMzMw
NzEzNGYyMzE5NjBjNjNhLi4yMTZmZTk0MzRiOGNmNmZjYzU4MmZkYzE2YWMyNGJlMDk0NWY5MGRl
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43
LjNfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUu
Ny4zX0EzLmpzCkBAIC02LDcgKzYsNCBAQAogZXM1aWQ6IDE1LjcuM19BMwogZGVzY3JpcHRpb246
IENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIk1JTl9WQUxVRSIKIC0tLSovCi0K
LWlmICghTnVtYmVyLmhhc093blByb3BlcnR5KCJNSU5fVkFMVUUiKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogVGhlIE51bWJlciBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5
ICJNSU5fVkFMVUUiJyk7Ci19Cithc3NlcnQoTnVtYmVyLmhhc093blByb3BlcnR5KCJNSU5fVkFM
VUUiKSwgJ051bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUlOX1ZBTFVFIikgbXVzdCByZXR1cm4gdHJ1
ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
MTUuNy4zX0E0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUu
Ny4zX0E0LmpzCmluZGV4IDdiOGM5NmI4ODc0M2RkYjAyNDhmYzEyMDZhOGI5ZDE4YTc0Y2ZmMjUu
LjNlNjM0MGYxYmNkNDdhMDliZDgxN2M2ODkyN2JmMzM1MzlmODY3YzAgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuM19BNC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTQuanMKQEAgLTYs
NyArNiw0IEBACiBlczVpZDogMTUuNy4zX0E0CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgZXhpc3Rl
bmNlIG9mIHRoZSBwcm9wZXJ0eSAiTmFOIgogLS0tKi8KLQotaWYgKCFOdW1iZXIuaGFzT3duUHJv
cGVydHkoIk5hTiIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgTnVtYmVy
IGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5hTiInKTsKLX0KK2Fzc2VydChOdW1iZXIu
aGFzT3duUHJvcGVydHkoIk5hTiIpLCAnTnVtYmVyLmhhc093blByb3BlcnR5KCJOYU4iKSBtdXN0
IHJldHVybiB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL1MxNS43LjNfQTUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL1MxNS43LjNfQTUuanMKaW5kZXggNGVkYTE1YWY2ZmQ1NWRhYTMxNjRhZWVjOWZiNjM0
Zjc4MjdkNzNiYS4uZmJjZGUwNmI3MjMxNTIzMmUzMzZkNzFlMGM3NTEyZDYxMWZlOWFjYSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E1
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuM19B
NS5qcwpAQCAtNiw3ICs2LDcgQEAKIGVzNWlkOiAxNS43LjNfQTUKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJORUdBVElWRV9JTkZJTklUWSIKIC0tLSov
Ci0KLWlmICghTnVtYmVyLmhhc093blByb3BlcnR5KCJORUdBVElWRV9JTkZJTklUWSIpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0
aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIicpOwotfQorYXNzZXJ0KAorICBOdW1iZXIu
aGFzT3duUHJvcGVydHkoIk5FR0FUSVZFX0lORklOSVRZIiksCisgICdOdW1iZXIuaGFzT3duUHJv
cGVydHkoIk5FR0FUSVZFX0lORklOSVRZIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTYuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTYuanMKaW5k
ZXggMWE1YTllY2VhNGYyNDc1ZDFmM2Y1ODlkNTI3ZDFlMTA5ZTBhMmVjNi4uNzY4OTZjNmI4ZGZi
NzM4N2RiY2YxOGMzOWVkNzgxMjA5MGNkOTdiNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuM19BNi5qcwpAQCAtNiw3ICs2LDcgQEAKIGVz
NWlkOiAxNS43LjNfQTYKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHBy
b3BlcnR5ICJQT1NJVElWRV9JTkZJTklUWSIKIC0tLSovCi0KLWlmICghTnVtYmVyLmhhc093blBy
b3BlcnR5KCJQT1NJVElWRV9JTkZJTklUWSIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lO
RklOSVRZIicpOwotfQorYXNzZXJ0KAorICBOdW1iZXIuaGFzT3duUHJvcGVydHkoIlBPU0lUSVZF
X0lORklOSVRZIiksCisgICdOdW1iZXIuaGFzT3duUHJvcGVydHkoIlBPU0lUSVZFX0lORklOSVRZ
IikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTcuanMKaW5kZXggYjU3YTc0NGQ0M2FlNTFmNDNlMzk1
MGI2MjIwZWIxMmM5MGRlNGRhOS4uMGEyMTUzZmYyNDFiMzYwNjFhNDJlYjYxNTZkYTEzOTdlZDY2
NGY2ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
MTUuNy4zX0E3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
UzE1LjcuM19BNy5qcwpAQCAtOCw4ICs4LDcgQEAKIGVzNWlkOiAxNS43LjNfQTcKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIpCiAt
LS0qLwotCi0vL0NIRUNLIzEKLWlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9m
KE51bWJlcikpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgdmFsdWUgb2Yg
dGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlciBjb25zdHJ1
Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKLX0KK2Fzc2VydCgKKyAg
RnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTnVtYmVyKSwKKyAgJ0Z1bmN0aW9uLnBy
b3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTgu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjNfQTguanMK
aW5kZXggMzUwMDY2ZmQxOGVhMTkxOWE3NDFmZjA3MWMyYTg1YWNjMmJkYjg4Yi4uYTViOGM4NTQ4
MTk3ZmRkNWMwMTVmMWY0NzMwYjExZDBmYTZjZWQzYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy4zX0E4LmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuM19BOC5qcwpAQCAtNiwxMyArNiw1IEBA
CiBlczVpZDogMTUuNy4zX0E4CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgTnVtYmVyLmxlbmd0aCBw
cm9wZXJ0eQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgi
bGVuZ3RoIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlciBjb25zdHJ1
Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKE51bWJlci5s
ZW5ndGggIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlciBjb25z
dHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwotfQorYXNzZXJ0KE51bWJlci5o
YXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksICdOdW1iZXIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIp
IG11c3QgcmV0dXJuIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLmxlbmd0aCwgMSwg
J1RoZSB2YWx1ZSBvZiBOdW1iZXIubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9U
MDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVfQTFf
VDAxLmpzCmluZGV4IDM4MGNkZWQ4YTc4YjdmYmIzZDBmNmY2NTNiOTZmZWEzYzgxNWVkOGYuLmIy
MGQ0OGM2MjRiYjg2MThkNWQ0YjgwYWM2MjUxM2RmNzUzMTY0YjcgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDEuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41X0ExX1QwMS5qcwpA
QCAtOCwxMyArOCwxNCBAQAogZXM1aWQ6IDE1LjcuNV9BMV9UMDEKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyBwcm9wZXJ0eSBjb25zdHJ1Y3RvcgogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChu
ZXcgTnVtYmVyKCkpLmhhc093blByb3BlcnR5KCJjb25zdHJ1Y3RvciIpLAorICBmYWxzZSwKKyAg
JyhuZXcgTnVtYmVyKCkpLmhhc093blByb3BlcnR5KCJjb25zdHJ1Y3RvciIpIG11c3QgcmV0dXJu
IGZhbHNlJworKTsKIAotLy9DSEVDSyMxCi1pZiAoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVy
dHkoImNvbnN0cnVjdG9yIikgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgImNvbnN0
cnVjdG9yIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS5jb25zdHJ1Y3Rv
ciAhPT0gTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogTnVtYmVyIGluc3RhbmNlIHByb3BlcnR5ICJjb25zdHJ1Y3RvciIgbXVzdCBi
ZSBpbmhlcml0ZWQgZnJvbSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCcpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoKSkuY29uc3RydWN0b3IsCisgIE51bWJlci5wcm90b3R5
cGUuY29uc3RydWN0b3IsCisgICdUaGUgdmFsdWUgb2YgKG5ldyBOdW1iZXIoKSkuY29uc3RydWN0
b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE51bWJlci5wcm90b3R5cGUuY29u
c3RydWN0b3InCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TMTUuNy41X0ExX1QwMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvUzE1LjcuNV9BMV9UMDIuanMKaW5kZXggMmY3OTc5YWUzMmRiMGRhOWJhZjkwYTA1
Y2NlZDQzNjJlMDAzZGIzZC4uZDNhNDU1MWRhNjlkYjA3Y2FiYTk4NGU4M2YxYzExNDBjMDBmY2Zi
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUu
Ny41X0ExX1QwMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1MxNS43LjVfQTFfVDAyLmpzCkBAIC04LDEzICs4LDE0IEBACiBlczVpZDogMTUuNy41X0ExX1Qw
MgogZGVzY3JpcHRpb246IENoZWNraW5nIHByb3BlcnR5IHRvU3RyaW5nCiAtLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIiks
CisgIGZhbHNlLAorICAnKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIikg
bXVzdCByZXR1cm4gZmFsc2UnCispOwogCi0vL0NIRUNLIzEKLWlmICgobmV3IE51bWJlcigpKS5o
YXNPd25Qcm9wZXJ0eSgidG9TdHJpbmciKSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IE51bWJlciBpbnN0YW5jZSBtdXN0IGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0
eSAidG9TdHJpbmciJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRvU3Ry
aW5nICE9PSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvU3RyaW5nIiBtdXN0IGJlIGlu
aGVyaXRlZCBmcm9tIE51bWJlciBwcm90b3R5cGUgb2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICAobmV3IE51bWJlcigpKS50b1N0cmluZywKKyAgTnVtYmVyLnByb3RvdHlwZS50b1N0
cmluZywKKyAgJ1RoZSB2YWx1ZSBvZiAobmV3IE51bWJlcigpKS50b1N0cmluZyBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZycKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVf
QTFfVDAzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41
X0ExX1QwMy5qcwppbmRleCA3YjU0MzlkNzUxNjg4NGVjNDA5YzA3MzJhZDRmZmFmMzdjYTQ5YzJk
Li5lYzFmODI5Y2I3YTZjMGY3ZTNhOWEyMGEwY2YyODBmNmFjY2RkMTY5IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVfQTFfVDAzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDMu
anMKQEAgLTgsMTMgKzgsMTQgQEAKIGVzNWlkOiAxNS43LjVfQTFfVDAzCiBkZXNjcmlwdGlvbjog
Q2hlY2tpbmcgcHJvcGVydHkgdG9Mb2NhbGVTdHJpbmcKIC0tLSovCithc3NlcnQuc2FtZVZhbHVl
KAorICAobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9Mb2NhbGVTdHJpbmciKSwKKyAg
ZmFsc2UsCisgICcobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9Mb2NhbGVTdHJpbmci
KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CiAKLS8vQ0hFQ0sjMQotaWYgKChuZXcgTnVtYmVyKCkp
Lmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVN0cmluZyIpICE9PSBmYWxzZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFs
IHByb3BlcnR5ICJ0b0xvY2FsZVN0cmluZyInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5ldyBO
dW1iZXIoKSkudG9Mb2NhbGVTdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJp
bmcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9w
ZXJ0eSAidG9Mb2NhbGVTdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3Rv
dHlwZSBvYmplY3QnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKCkpLnRv
TG9jYWxlU3RyaW5nLAorICBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLAorICAnVGhl
IHZhbHVlIG9mIChuZXcgTnVtYmVyKCkpLnRvTG9jYWxlU3RyaW5nIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nJworKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9B
MV9UMDQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVf
QTFfVDA0LmpzCmluZGV4IGNjYTA3NThhNDNhNDI0YzUxNTQzNjY1YzgxOTljZjllMjNjODc1Zjcu
LjZkNjMyNjlhODNiMDU0YWVhM2FmMmIxNDVmNDlmOGVlODMwODAzYjQgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDQuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41X0ExX1QwNC5q
cwpAQCAtOCwxMyArOCwxNCBAQAogZXM1aWQ6IDE1LjcuNV9BMV9UMDQKIGRlc2NyaXB0aW9uOiBD
aGVja2luZyBwcm9wZXJ0eSB2YWx1ZU9mCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5l
dyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSwKKyAgZmFsc2UsCisgICcobmV3
IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpIG11c3QgcmV0dXJuIGZhbHNlJwor
KTsKIAotLy9DSEVDSyMxCi1pZiAoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInZhbHVl
T2YiKSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlciBp
bnN0YW5jZSBtdXN0IGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0eSAidmFsdWVPZiInKTsKLX0KLQot
Ly9DSEVDSyMyCi1pZiAoKG5ldyBOdW1iZXIoKSkudmFsdWVPZiAhPT0gTnVtYmVyLnByb3RvdHlw
ZS52YWx1ZU9mKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIgaW5zdGFu
Y2UgcHJvcGVydHkgInZhbHVlT2YiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3Rv
dHlwZSBvYmplY3QnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKCkpLnZh
bHVlT2YsCisgIE51bWJlci5wcm90b3R5cGUudmFsdWVPZiwKKyAgJ1RoZSB2YWx1ZSBvZiAobmV3
IE51bWJlcigpKS52YWx1ZU9mIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1i
ZXIucHJvdG90eXBlLnZhbHVlT2YnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41X0ExX1QwNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDUuanMKaW5kZXggOTAwMmFkMGQwOTIx
ZmYwZWE4NTY4Yzg3N2RhMjI3ZWYwNjcxOTFiMS4uMzdjZjYxNjY1ZGVhNDk4ODQyM2M5MzAzYWQ2
OWUzMmM1ZWIyZmYyMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TMTUuNy41X0ExX1QwNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL1MxNS43LjVfQTFfVDA1LmpzCkBAIC04LDEzICs4LDE0IEBACiBlczVpZDog
MTUuNy41X0ExX1QwNQogZGVzY3JpcHRpb246IENoZWNraW5nIHByb3BlcnR5IHRvRml4ZWQKIC0t
LSovCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgi
dG9GaXhlZCIpLAorICBmYWxzZSwKKyAgJyhuZXcgTnVtYmVyKCkpLmhhc093blByb3BlcnR5KCJ0
b0ZpeGVkIikgbXVzdCByZXR1cm4gZmFsc2UnCispOwogCi0vL0NIRUNLIzEKLWlmICgobmV3IE51
bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9GaXhlZCIpICE9PSBmYWxzZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFs
IHByb3BlcnR5ICJ0b0ZpeGVkIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigp
KS50b0ZpeGVkICE9PSBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9GaXhlZCIgbXVzdCBi
ZSBpbmhlcml0ZWQgZnJvbSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCcpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoKSkudG9GaXhlZCwKKyAgTnVtYmVyLnByb3RvdHlwZS50
b0ZpeGVkLAorICAnVGhlIHZhbHVlIG9mIChuZXcgTnVtYmVyKCkpLnRvRml4ZWQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE51bWJlci5wcm90b3R5cGUudG9GaXhlZCcKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVf
QTFfVDA2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41
X0ExX1QwNi5qcwppbmRleCAxMmYwMDk1OGNkYzE5ODRkOTU2MzdkZjg0OWI1NGYzMTI0MTM2OGJl
Li43YmUxYTQ0NDcxOTIwM2IyZGRmYTQ1ZTg5YWQ5YmRmNDIxNzA1MmI3IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVfQTFfVDA2LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDYu
anMKQEAgLTgsMTMgKzgsMTQgQEAKIGVzNWlkOiAxNS43LjVfQTFfVDA2CiBkZXNjcmlwdGlvbjog
Q2hlY2tpbmcgcHJvcGVydHkgdG9FeHBvbmVudGlhbAogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIChuZXcgTnVtYmVyKCkpLmhhc093blByb3BlcnR5KCJ0b0V4cG9uZW50aWFsIiksCisgIGZh
bHNlLAorICAnKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvRXhwb25lbnRpYWwiKSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CiAKLS8vQ0hFQ0sjMQotaWYgKChuZXcgTnVtYmVyKCkpLmhh
c093blByb3BlcnR5KCJ0b0V4cG9uZW50aWFsIikgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJv
cGVydHkgInRvRXhwb25lbnRpYWwiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVy
KCkpLnRvRXhwb25lbnRpYWwgIT09IE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyIGluc3RhbmNlIHByb3BlcnR5ICJ0
b0V4cG9uZW50aWFsIiBtdXN0IGJlIGluaGVyaXRlZCBmcm9tIE51bWJlciBwcm90b3R5cGUgb2Jq
ZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcigpKS50b0V4cG9uZW50
aWFsLAorICBOdW1iZXIucHJvdG90eXBlLnRvRXhwb25lbnRpYWwsCisgICdUaGUgdmFsdWUgb2Yg
KG5ldyBOdW1iZXIoKSkudG9FeHBvbmVudGlhbCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsJworKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDcuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1MxNS43LjVfQTFfVDA3LmpzCmlu
ZGV4IDgyOTJhYzNjZjNjMjFjN2M1ZjYzMmQ2ZmE4NDcyMDkwZGRlNzM5NGIuLmE2OTBjYjdiM2Zh
MGY5MzUwNTYzZmUyMGIwMWE4Yzk0Y2RmNDdjZGEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzE1LjcuNV9BMV9UMDcuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TMTUuNy41X0ExX1QwNy5qcwpAQCAtOCwxMyAr
OCwxNCBAQAogZXM1aWQ6IDE1LjcuNV9BMV9UMDcKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBwcm9w
ZXJ0eSB0b1ByZWNpc2lvbgogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVy
KCkpLmhhc093blByb3BlcnR5KCJ0b1ByZWNpc2lvbiIpLAorICBmYWxzZSwKKyAgJyhuZXcgTnVt
YmVyKCkpLmhhc093blByb3BlcnR5KCJ0b1ByZWNpc2lvbiIpIG11c3QgcmV0dXJuIGZhbHNlJwor
KTsKIAotLy9DSEVDSyMxCi1pZiAoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvUHJl
Y2lzaW9uIikgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1i
ZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvUHJlY2lzaW9uIicp
OwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1ByZWNpc2lvbiAhPT0gTnVt
YmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogTnVtYmVyIGluc3RhbmNlIHByb3BlcnR5ICJ0b1ByZWNpc2lvbiIgbXVzdCBiZSBpbmhlcml0
ZWQgZnJvbSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgKG5ldyBOdW1iZXIoKSkudG9QcmVjaXNpb24sCisgIE51bWJlci5wcm90b3R5cGUudG9QcmVj
aXNpb24sCisgICdUaGUgdmFsdWUgb2YgKG5ldyBOdW1iZXIoKSkudG9QcmVjaXNpb24gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24n
CispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
OC4xMi44X0EzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOC4x
Mi44X0EzLmpzCmluZGV4IGFmNjVkNTU0NmQ0YjFmNTUyMmQ0ZTkyNzQ2YzE4ZjBiMzRhNzBlOGQu
LjRlNzEzZDk1OTY0N2M5ZjJkODE0ZmU4NmRhZjQyNjc4MGMyOTZjYWMgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzguMTIuOF9BMy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M4LjEyLjhfQTMuanMKQEAgLTIx
LDkgKzIxLDEyIEBACiAgICAgICByZXR1cm4gbmV3IE9iamVjdCgpOwogICAgIH0KICAgfQotICBp
ZiAoTnVtYmVyKF9fb2JqKSAhPT0gMSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjE6IHZhciBfX29iaiA9IHt0b051bWJlcjogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHZhbHVl
T2Y6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX07IE51bWJlcihfX29iaikgPT09
IDEuIEFjdHVhbDogJyArIChOdW1iZXIoX19vYmopKSk7Ci0gIH0KKworICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIE51bWJlcihfX29iaiksCisgICAgMSwKKyAgICAnTnVtYmVyKCJ7dG9TdHJpbmc6
IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3
IE9iamVjdCgpO319KSBtdXN0IHJldHVybiAxJworICApOwogfQogY2F0Y2ggKGUpCiB7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M4LjEyLjhfQTQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M4LjEyLjhfQTQuanMK
aW5kZXggYTEyNjFhYTlkMzAzMjAxOThmNDc4ZTM1NDc5NTk0NmUyOGE4MzJjNi4uN2RhZDM2NGYz
ZDhlMjkwZmIzODI5OGUzMjg3MzM0N2MwNDU2YjZiYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOC4xMi44X0E0LmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzguMTIuOF9BNC5qcwpAQCAtMjYsNyArMjYsOSBA
QAogfQogY2F0Y2ggKGUpCiB7Ci0gIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRy
dWUpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiB2YXIgX19vYmogPSB7dmFs
dWVPZjpmdW5jdGlvbigpe3JldHVybiBuZXcgT2JqZWN0O30sdG9OdW1iZXI6IGZ1bmN0aW9uKCkg
e3JldHVybiBuZXcgT2JqZWN0KCk7fX07IE51bWJlcihfX29iaikgdGhyb3cgVHlwZUVycm9yLiBB
Y3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjFf
QTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjFfQTFf
VDEuanMKaW5kZXggMTRhZmM3NWM1OGU4ZDA4NWQ4YjJmMTgyZjliMTE4YzBiNDMyN2E2OS4uZmFk
ZGVlMzFiNTk0MWRkMjI5NmE1NDcyNmYxNmNiNzBjNzNmODk3ZCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4xX0ExX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMV9BMV9UMS5qcwpAQCAtMjAsOSAr
MjAsMTIgQEAKICAgICByZXR1cm4gMAogICB9CiB9OwotaWYgKE51bWJlcihvYmplY3QpICE9PSAx
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6
IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9
fTsgTnVtYmVyKG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChOdW1iZXIob2JqZWN0KSkpOwot
fQorCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIob2JqZWN0KSwKKyAgMSwKKyAgJ051bWJl
cih7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigp
IHtyZXR1cm4gMH19KSBtdXN0IHJldHVybiAxJworKTsKIAogLy8gQ0hFQ0sjMgogdmFyIG9iamVj
dCA9IHsKQEAgLTMzLDYgKzM2LDkgQEAKICAgICByZXR1cm4gIjAiCiAgIH0KIH07Ci1pZiAoTnVt
YmVyKG9iamVjdCkgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhciBv
YmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0
aW9uKCkge3JldHVybiAiMCJ9fTsgTnVtYmVyKG9iamVjdCkgPT09IDAuIEFjdHVhbDogJyArIChO
dW1iZXIob2JqZWN0KSkpOwotfQorCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIob2JqZWN0
KSwKKyAgMCwKKyAgJ051bWJlcih7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiMCJ9fSkgbXVzdCByZXR1cm4gMCcKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExLmpzCmlu
ZGV4IGU0YTgyZjRlNDJhOTU3MDNmOWRmNDA4NmIyMWM1OGJlNzBiYTI2YmMuLjY0YTViMTU4M2Mw
ZDRiYTExNzBkNzhhZThhNmNjMzE1YTI0ZjkwNjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExLmpzCkBAIC02LDEyICs2LDQgQEAKIGVz
NWlkOiA5LjMuMV9BMQogZGVzY3JpcHRpb246IE51bWJlcignJykgY29udmVydCB0byBOdW1iZXIg
YnkgZXhwbGljaXQgdHJhbnNmb3JtYXRpb24KIC0tLSovCi0KLS8vIENIRUNLIzEKLWlmIChOdW1i
ZXIoIiIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IE51bWJlcigi
IikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIiIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAv
IE51bWJlcigiIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxLjI6IE51bWJlcigiIikgPT0gKzAuIEFjdHVhbDogLTAnKTsKLSAg
fQotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIiIpLCAwLCAnTnVtYmVyKCIiKSBtdXN0IHJl
dHVybiAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVt
YmVyL1M5LjMuMV9BMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1M5LjMuMV9BMTAuanMKaW5kZXggYzg3NDM3YWMxYTdmNTI2NmEyMjNlZWEyZWQzZDIzY2I2ZmYy
MDFiOS4uMjBhNGRjOWMwMTkyYWI5OGQyMGE3NDJhNmY4ZGUzOTUzN2NiZmI2ZiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTEwLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExMC5qcwpA
QCAtOSw4ICs5LDQgQEAKIGVzNWlkOiA5LjMuMV9BMTAKIGRlc2NyaXB0aW9uOiBDb21wYXJlIE51
bWJlcignLjEyMzQ1Jykgd2l0aCArKCcxMjM0NScpKjFlLTUKIC0tLSovCi0KLS8vIENIRUNLIzEK
LWlmIChOdW1iZXIoIi4xMjM0NSIpICE9PSArKCIxMjM0NSIpICogMWUtNSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyKCIuMTIzNDUiKSA9PT0gKygiMTIzNDUiKSoxZS01
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKCsoJzEyMzQ1JykqMWUtNSwgMC4xMjM0NSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTEuanMK
aW5kZXggZDZiNmNjZDM2NTJkOGEwYzMyMTk4NjkwYWNjNDNhNmUxY2M5YmE4NC4uZjNiNjc2OGFk
ZmQ1ZTdlYjUwNmQzZjhhYzlmMjk2YTUxMTA2YTEyNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTExLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExMS5qcwpAQCAtMTEsMTMgKzExLDkg
QEAKICAgICBDb21wYXJlIE51bWJlcignLjEyMzQ1ZTYnKSB3aXRoICsoJzEyMzQ1JykqMWUxLCAg
YW5kCiAgICAgTnVtYmVyKCcuMTIzNDVlLTMnKSAhPT0gTnVtYmVyKCcxMjM0NScpKjFlLTgKIC0t
LSovCithc3NlcnQuc2FtZVZhbHVlKCsoJzEyMzQ1JykqMWUxLCAwLjEyMzQ1ZTYpOwogCi0vLyBD
SEVDSyMxCi1pZiAoTnVtYmVyKCIuMTIzNDVlNiIpICE9PSArKCIxMjM0NSIpICogMWUxKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIoIi4xMjM0NWU2IikgPT09ICsoIjEy
MzQ1IikqMWUxJyk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIi4xMjM0NWUtMyIpICE9
PSBOdW1iZXIoIjEyMzQ1IikgKiAxZS04KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBOdW1iZXIoIi4xMjM0NWUtMyIpID09PSBOdW1iZXIoIjEyMzQ1IikqMWUtOCcpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKCIuMTIzNDVlLTMiKSwKKyAgMC4wMDAxMjM0NQorKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4x
X0ExMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0Ex
Mi5qcwppbmRleCA4MzliODQwODI5Mjc4ZTZkNTIwYmIwNDkwNzZlODJiM2QzNzM3ODc3Li40ZDgx
MGJhN2Q1MWJiZDgzYmViMWVhOTNiZmQzMzU1ZmZkYmM3ZTMzIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTEyLmpzCkBAIC0xMCwxMyAr
MTAsNSBAQAogICAgIENvbXBhcmUgTnVtYmVyKCcxMjM0NWU2Jykgd2l0aCArKCcxMjM0NScpKjFl
MSwgIGFuZAogICAgIE51bWJlcignMTIzNDVlLTYnKSAhPT0gTnVtYmVyKCcxMjM0NScpKjFlLTYK
IC0tLSovCi0KLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoIjEyMzQ1ZTYiKSAhPT0gKygiMTIzNDUi
KSAqIDFlNikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyKCIxMjM0NWU2
IikgPT09ICsoIjEyMzQ1IikqMWU2Jyk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIjEy
MzQ1ZS02IikgIT09IE51bWJlcigiMTIzNDUiKSAqIDFlLTYpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IE51bWJlcigiMTIzNDVlLTYiKSA9PT0gTnVtYmVyKCIxMjM0NSIpKjFlLTYn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIxMjM0NWU2IiksIDEyMzQ1MDAwMDAwLCAn
TnVtYmVyKCIxMjM0NWU2IikgbXVzdCByZXR1cm4gMTIzNDUwMDAwMDAnKTsKK2Fzc2VydC5zYW1l
VmFsdWUoTnVtYmVyKCIxMjM0NWUtNiIpLCAwLjAxMjM0NSwgJ051bWJlcigiMTIzNDVlLTYiKSBt
dXN0IHJldHVybiAwLjAxMjM0NScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTEzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9TOS4zLjFfQTEzLmpzCmluZGV4IDNlODBkOTA5MzZiNzFiYzk0ZGViYWY5
OWRhNjkzZmNiMjkwMTJlM2IuLjFhMzllMzljMDg2ODEzMmVhYTliYmQ5N2NhZDkzNDFkMGE0ODJj
ODggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzku
My4xX0ExMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5
LjMuMV9BMTMuanMKQEAgLTgsMTggKzgsMjAgQEAKIGVzNWlkOiA5LjMuMV9BMTMKIGRlc2NyaXB0
aW9uOiBDb21wYXJlICcxMicgd2l0aCBOdW1iZXIoIjEiKSoxMCtOdW1iZXIoIjIiKSBhbmQgYW5h
bG9nb3VzCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKygiMTIiKSwKKyAgMTIsCisgICdU
aGUgdmFsdWUgb2YgYCsoIjEyIilgIGlzIGV4cGVjdGVkIHRvIGJlIDEyJworKTsKIAotLy8gQ0hF
Q0sjMQotaWYgKCsoIjEyIikgIT09IE51bWJlcigiMSIpICogMTAgKyBOdW1iZXIoIjIiKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogKygiMTIiKSA9PT0gTnVtYmVyKCIxIikqMTAr
TnVtYmVyKCIyIiknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiMTIzIiksCisg
IDEyMywKKyAgJ051bWJlcigiMTIzIikgbXVzdCByZXR1cm4gMTIzJworKTsKIAotLy8gQ0hFQ0sj
MgotaWYgKE51bWJlcigiMTIzIikgIT09IE51bWJlcigiMTIiKSAqIDEwICsgTnVtYmVyKCIzIikp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlcigiMTIzIikgPT09IE51bWJl
cigiMTIiKSoxMCtOdW1iZXIoIjMiKScpOwotfQotCi0vLyBDSEVDSyMyCi1pZiAoTnVtYmVyKCIx
MjM0IikgIT09IE51bWJlcigiMTIzIikgKiAxMCArIE51bWJlcigiNCIpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIoIjEyMzQiKSA9PT0gTnVtYmVyKCIxMjMiKSoxMCtO
dW1iZXIoIjQiKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKCIxMjM0IiksCisg
IDEyMzQsCisgICdOdW1iZXIoIjEyMzQiKSBtdXN0IHJldHVybiAxMjM0JworKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExNC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExNC5qcwppbmRl
eCAxZjIxNmE3NWJhNGY1OTk0YTQ2ZWFjOTZkYjc0MGY4NmI5OWEzOWMxLi41MDYzZDhlZjczNmZh
NjIzZDg3ZWI5MmI1NGRjY2QzOWFjMTE4NmM3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE0LmpzCkBAIC02LDggKzYsNCBAQAogZXM1
aWQ6IDkuMy4xX0ExNAogZGVzY3JpcHRpb246IENvbXBhcmUgTnVtYmVyKCcrMTIzNDU2Nzg5MCcp
IHdpdGggKygnMTIzNDU2Nzg5MCcpCiAtLS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVyKCIr
MTIzNDU2Nzg5MCIpICE9PSArKCIxMjM0NTY3ODkwIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IE51bWJlcigiKzEyMzQ1Njc4OTAiKSA9PT0gKygiMTIzNDU2Nzg5MCIpJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzEyMzQ1Njc4OTAiKSwgMTIzNDU2Nzg5MCwgJ051
bWJlcigiKzEyMzQ1Njc4OTAiKSBtdXN0IHJldHVybiAxMjM0NTY3ODkwJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTUuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTUuanMKaW5kZXgg
NmQxZDZjNDUxZjAzNGUzYjE1ZTVmMzBjOWM5YmQyMjg3NGUyZjg2Mi4uMmQ4YTdlMTg5NWIzMDIz
Mjk2MjEzYWY0YjgwNTgxNjI0M2IwZTkzOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExNS5qcwpAQCAtOCw4ICs4LDggQEAKIGVzNWlk
OiA5LjMuMV9BMTUKIGRlc2NyaXB0aW9uOiBDb21wYXJlIC1OdW1iZXIoJzEyMzQ1Njc4OTAnKSB3
aXRoICgnLTEyMzQ1Njc4OTAnKQogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKCsoIi0xMjM0NTY3
ODkwIikgIT09IC1OdW1iZXIoIjEyMzQ1Njc4OTAiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogKygiLTEyMzQ1Njc4OTAiKSA9PT0gLU51bWJlcigiMTIzNDU2Nzg5MCIpJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICArKCItMTIzNDU2Nzg5MCIpLAorICAtMTIzNDU2Nzg5MCwK
KyAgJ1RoZSB2YWx1ZSBvZiBgKygiLTEyMzQ1Njc4OTAiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgLTEy
MzQ1Njc4OTAnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TOS4zLjFfQTE2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9TOS4zLjFfQTE2LmpzCmluZGV4IDI2ZGU4YmI4ZWQ5MjI5MTUwNGQyYTMxMzYzYTI1ZGZj
ZWRhYjU4OGUuLmRkMGZkZWRiYjY4ZmFlOGY2MDE3ODEzOTc4OWE4ZDQxOTNhMzA3ZGEgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExNi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTYu
anMKQEAgLTYsMTggKzYsNiBAQAogZXM1aWQ6IDkuMy4xX0ExNgogZGVzY3JpcHRpb246IENvbXBh
cmUgTnVtYmVyKCcweDAnKSBhbmQgTnVtYmVyKCcwWDAnKSB3aXRoIDAKIC0tLSovCi0KLS8vIENI
RUNLIzEKLWlmIChOdW1iZXIoIjAiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogTnVtYmVyKCIwIikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIjAiKSkpOwotfQot
Ci0vLyBDSEVDSyMyCi1pZiAoKygiMHgwIikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6ICsoIjB4MCIpID09PSAwLiBBY3R1YWw6ICcgKyAoKygiMHgwIikpKTsKLX0KLQot
Ly8gQ0hFQ0sjMwotaWYgKE51bWJlcigiMFgwIikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IE51bWJlcigiMFgwIikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIjBY
MCIpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiMCIpLCAwLCAnTnVtYmVyKCIwIikg
bXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1ZSgrKCIweDAiKSwgMCwgJ1RoZSB2YWx1
ZSBvZiBgKygiMHgwIilgIGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUo
TnVtYmVyKCIwWDAiKSwgMCwgJ051bWJlcigiMFgwIikgbXVzdCByZXR1cm4gMCcpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE3Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE3LmpzCmlu
ZGV4IGE3N2EzMDc4Nzg0NWJlZjJjZmNmZDI3MGU1MThkM2Y2MWQ5ZWQ0NzEuLjBkY2JiZmI2MTcz
Y2EwZTg5YjhjOTI4OThjMWQyMDk3ODYzNTc3ZGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExNy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTcuanMKQEAgLTYsMTggKzYsNiBAQAog
ZXM1aWQ6IDkuMy4xX0ExNwogZGVzY3JpcHRpb246IENvbXBhcmUgTnVtYmVyKCcweDEnKSBhbmQg
TnVtYmVyKCcwWDEnKSB3aXRoIDEKIC0tLSovCi0KLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoIjEi
KSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyKCIxIikgPT09
IDEuIEFjdHVhbDogJyArIChOdW1iZXIoIjEiKSkpOwotfQotCi0vLyBDSEVDSyMyCi1pZiAoTnVt
YmVyKCIweDEiKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVy
KCIweDEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKE51bWJlcigiMHgxIikpKTsKLX0KLQotLy8gQ0hF
Q0sjMwotaWYgKCsoIjBYMSIpICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiArKCIwWDEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKCsoIjBYMSIpKSk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKE51bWJlcigiMSIpLCAxLCAnTnVtYmVyKCIxIikgbXVzdCByZXR1cm4gMScpOworYXNz
ZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjB4MSIpLCAxLCAnTnVtYmVyKCIweDEiKSBtdXN0IHJldHVy
biAxJyk7Cithc3NlcnQuc2FtZVZhbHVlKCsoIjBYMSIpLCAxLCAnVGhlIHZhbHVlIG9mIGArKCIw
WDEiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTE4LmpzCmluZGV4IDgwZGRhNTcyZWQ1ZWVjYjU4
YTU1OGQ4Y2NmYWFlZDIxZTlkMWQyYjcuLjA1MjhlMGU1Y2U3ZjFhNmZmM2ZhMTBkMGU0MGRlZDNm
MGIwYjIxY2YgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvUzkuMy4xX0ExOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVt
YmVyL1M5LjMuMV9BMTguanMKQEAgLTYsMTggKzYsNiBAQAogZXM1aWQ6IDkuMy4xX0ExOAogZGVz
Y3JpcHRpb246IENvbXBhcmUgTnVtYmVyKCcweDInKSBhbmQgTnVtYmVyKCcwWDInKSB3aXRoIDIK
IC0tLSovCi0KLS8vIENIRUNLIzEKLWlmICgrKCIyIikgIT09IDIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6ICsoIjIiKSA9PT0gMi4gQWN0dWFsOiAnICsgKCsoIjIiKSkpOwotfQot
Ci0vLyBDSEVDSyMyCi1pZiAoTnVtYmVyKCIweDIiKSAhPT0gMikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogTnVtYmVyKCIweDIiKSA9PT0gMi4gQWN0dWFsOiAnICsgKE51bWJlcigi
MHgyIikpKTsKLX0KLQotLy8gQ0hFQ0sjMwotaWYgKE51bWJlcigiMFgyIikgIT09IDIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE51bWJlcigiMFgyIikgPT09IDIuIEFjdHVhbDog
JyArIChOdW1iZXIoIjBYMiIpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKCsoIjIiKSwgMiwgJ1Ro
ZSB2YWx1ZSBvZiBgKygiMiIpYCBpcyBleHBlY3RlZCB0byBiZSAyJyk7Cithc3NlcnQuc2FtZVZh
bHVlKE51bWJlcigiMHgyIiksIDIsICdOdW1iZXIoIjB4MiIpIG11c3QgcmV0dXJuIDInKTsKK2Fz
c2VydC5zYW1lVmFsdWUoTnVtYmVyKCIwWDIiKSwgMiwgJ051bWJlcigiMFgyIikgbXVzdCByZXR1
cm4gMicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9TOS4zLjFfQTE5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTE5LmpzCmluZGV4IGRiZmE2ZTVmZjUyZmEzNGFiNmZlMDljMjdjNmJjMjdlNmE1ZjFj
MTIuLjU0YjRmZTkyZTgyMmM3NGMxN2ZkYWFkMzNiNDM1OThiZTNhYTMzNzEgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0ExOS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMTkuanMKQEAg
LTYsMTggKzYsNiBAQAogZXM1aWQ6IDkuMy4xX0ExOQogZGVzY3JpcHRpb246IENvbXBhcmUgTnVt
YmVyKCcweDMnKSBhbmQgTnVtYmVyKCcwWDMnKSB3aXRoIDMKIC0tLSovCi0KLS8vIENIRUNLIzEK
LWlmIChOdW1iZXIoIjMiKSAhPT0gMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
TnVtYmVyKCIzIikgPT09IDMuIEFjdHVhbDogJyArIChOdW1iZXIoIjMiKSkpOwotfQotCi0vLyBD
SEVDSyMyCi1pZiAoKygiMHgzIikgIT09IDMpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6ICsoIjB4MyIpID09PSAzLiBBY3R1YWw6ICcgKyAoKygiMHgzIikpKTsKLX0KLQotLy8gQ0hF
Q0sjMwotaWYgKE51bWJlcigiMFgzIikgIT09IDMpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IE51bWJlcigiMFgzIikgPT09IDMuIEFjdHVhbDogJyArIChOdW1iZXIoIjBYMyIpKSk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiMyIpLCAzLCAnTnVtYmVyKCIzIikgbXVzdCBy
ZXR1cm4gMycpOworYXNzZXJ0LnNhbWVWYWx1ZSgrKCIweDMiKSwgMywgJ1RoZSB2YWx1ZSBvZiBg
KygiMHgzIilgIGlzIGV4cGVjdGVkIHRvIGJlIDMnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVy
KCIwWDMiKSwgMywgJ051bWJlcigiMFgzIikgbXVzdCByZXR1cm4gMycpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMi5qcwppbmRleCA3MWE1
ZWM1YjMzOTVkY2JhMTkyMDg5ZTg1NjQ0MmQ4ZGVjMDQ0N2UwLi4wN2VlMmYyNDc3YWZlODAxMzU3
YzM3YzE1NjBlZGU1ZjBiODhhYzVhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMi5qcwpAQCAtOCwyNzMgKzgsMzggQEAKICAgICBTdHJp
bmdzIHdpdGggdmFyaW91cyBXaGl0ZVNwYWNlcyBjb252ZXJ0IHRvIE51bWJlciBieSBleHBsaWNp
dAogICAgIHRyYW5zZm9ybWF0aW9uCiAtLS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVyKCJc
dTAwMDlcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2
ODBcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhc
dTIwMDlcdTIwMEFcdTIwMkZcdTIwNUZcdTMwMDAiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMS4xOiBOdW1iZXIoIlxcdTAwMDlcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUw
MDBCXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUyMDAwXFx1MjAwMVxcdTIw
MDJcXHUyMDAzXFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAw
QVxcdTIwMkZcXHUyMDVGXFx1MzAwMCIpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcdTAw
MDlcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2ODBc
dTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIw
MDlcdTIwMEFcdTIwMkZcdTIwNUZcdTMwMDAiKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1i
ZXIoIlx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAy
OVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1
MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMCIpICE9PSBOdW1iZXIuUE9TSVRJVkVf
SU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBOdW1iZXIoIlxc
dTAwMDlcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBCXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1
MjAyOVxcdTE2ODBcXHUyMDAwXFx1MjAwMVxcdTIwMDJcXHUyMDAzXFx1MjAwNFxcdTIwMDVcXHUy
MDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMCIpID09
PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIiAi
KSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMi4xOiBOdW1iZXIoIiAiKSA9
PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcigiICIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51
bWJlcigiICIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMi4yOiBOdW1iZXIoIiAiKSA9PT0gKzAuIEFjdHVhbDogLTAnKTsKLSAg
fQotfQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKCJcdCIpICE9PSAwKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzLjE6IE51bWJlcigiXFx0IikgPT09IDAuIEFjdHVhbDogJyArIChO
dW1iZXIoIlx0IikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJcdCIpICE9PSBOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMy4y
OiBOdW1iZXIoIlxcdCIpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNL
IzQKLWlmIChOdW1iZXIoIlxyIikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQuMTogTnVtYmVyKCJcXHIiKSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcigiXHIiKSkpOwot
fSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoIlxyIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJ
TklUWSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0LjI6IE51bWJlcigiXFxyIikg
PT09ICswLiBBY3R1YWw6IC0wJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjNQotaWYgKE51bWJlcigi
XG4iKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNS4xOiBOdW1iZXIoIlxc
biIpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcbiIpKSk7Ci19IGVsc2UgewotICBpZiAo
MSAvIE51bWJlcigiXG4iKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzUuMjogTnVtYmVyKCJcXG4iKSA9PT0gKzAuIEFjdHVhbDog
LTAnKTsKLSAgfQotfQotCi0vLyBDSEVDSyM2Ci1pZiAoTnVtYmVyKCJcZiIpICE9PSAwKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2LjE6IE51bWJlcigiXFxmIikgPT09IDAuIEFjdHVh
bDogJyArIChOdW1iZXIoIlxmIikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJcZiIp
ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNi4yOiBOdW1iZXIoIlxcZiIpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0K
LS8vIENIRUNLIzcKLWlmIChOdW1iZXIoIlx1MDAwOSIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM3LjE6IE51bWJlcigiXFx1MDAwOSIpID09PSAwLiBBY3R1YWw6ICcgKyAo
TnVtYmVyKCJcdTAwMDkiKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoIlx1MDAwOSIp
ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNy4yOiBOdW1iZXIoIlxcdTAwMDkiKSA9PT0gKzAuIEFjdHVhbDogLTAnKTsKLSAgfQot
fQotCi0vLyBDSEVDSyM4Ci1pZiAoTnVtYmVyKCJcdTAwMEEiKSAhPT0gMCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjOC4xOiBOdW1iZXIoIlxcdTAwMEEiKSA9PT0gMC4gQWN0dWFsOiAn
ICsgKE51bWJlcigiXHUwMDBBIikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJcdTAw
MEEiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzguMjogTnVtYmVyKCJcXHUwMDBBIikgPT09ICswLiBBY3R1YWw6IC0wJyk7Ci0g
IH0KLX0KLQotLy8gQ0hFQ0sjOQotaWYgKE51bWJlcigiXHUwMDBCIikgIT09IDApIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzkuMTogTnVtYmVyKCJcXHUwMDBCIikgPT09IDAuIEFjdHVh
bDogJyArIChOdW1iZXIoIlx1MDAwQiIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51bWJlcigi
XHUwMDBCIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM5LjEuMjogTnVtYmVyKCJcXHUwMDBCIikgPT09ICswLiBBY3R1YWw6IC0w
Jyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjMTAKLWlmIChOdW1iZXIoIlx1MDAwQyIpICE9PSAwKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMC4xOiBOdW1iZXIoIlxcdTAwMEMiKSA9PT0g
MC4gQWN0dWFsOiAnICsgKE51bWJlcigiXHUwMDBDIikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8g
TnVtYmVyKCJcdTAwMEMiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzEwLjI6IE51bWJlcigiXFx1MDAwQyIpID09PSArMC4gQWN0
dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNLIzExCi1pZiAoTnVtYmVyKCJcdTAwMEQiKSAh
PT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTEuMTogTnVtYmVyKCJcXHUwMDBE
IikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIlx1MDAwRCIpKSk7Ci19IGVsc2UgewotICBp
ZiAoMSAvIE51bWJlcigiXHUwMDBEIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMS4yOiBOdW1iZXIoIlxcdTAwMEQiKSA9PT0g
KzAuIEFjdHVhbDogLTAnKTsKLSAgfQotfQotCi0vLyBDSEVDSyMxMgotaWYgKE51bWJlcigiXHUw
MEEwIikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEyLjE6IE51bWJlcigi
XFx1MDBBMCIpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcdTAwQTAiKSkpOwotfSBlbHNl
IHsKLSAgaWYgKDEgLyBOdW1iZXIoIlx1MDBBMCIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5J
VFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTIuMjogTnVtYmVyKCJcXHUwMEEw
IikgPT09ICswLiBBY3R1YWw6IC0wJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjMTMKLWlmIChOdW1i
ZXIoIlx1MDAyMCIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMy4xOiBO
dW1iZXIoIlxcdTAwMjAiKSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcigiXHUwMDIwIikpKTsK
LX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJcdTAwMjAiKSAhPT0gTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEzLjI6IE51bWJlcigi
XFx1MDAyMCIpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNLIzE0Ci1p
ZiAoTnVtYmVyKCJcdTIwMjgiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTQuMTogTnVtYmVyKCJcXHUyMDI4IikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIlx1MjAy
OCIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51bWJlcigiXHUyMDI4IikgIT09IE51bWJlci5Q
T1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxNC4yOiBO
dW1iZXIoIlxcdTIwMjgiKSA9PT0gKzAuIEFjdHVhbDogLTAnKTsKLSAgfQotfQotCi0vLyBDSEVD
SyMxNQotaWYgKE51bWJlcigiXHUyMDI5IikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE1LjE6IE51bWJlcigiXFx1MjAyOSIpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVy
KCJcdTIwMjkiKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoIlx1MjAyOSIpICE9PSBO
dW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTUuMjogTnVtYmVyKCJcXHUyMDI5IikgPT09ICswLiBBY3R1YWw6IC0wJyk7Ci0gIH0KLX0KLQot
Ly8gQ0hFQ0sjMTYKLWlmIChOdW1iZXIoIlx1MTY4MCIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxNi4xOiBOdW1iZXIoIlxcdTE2ODAiKSA9PT0gMC4gQWN0dWFsOiAnICsg
KE51bWJlcigiXHUxNjgwIikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJcdTE2ODAi
KSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE2LjI6IE51bWJlcigiXFx1MTY4MCIpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9
Ci19Ci0KLS8vIENIRUNLIzE3Ci1pZiAoTnVtYmVyKCJcdTIwMDAiKSAhPT0gMCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTcuMTogTnVtYmVyKCJcXHUyMDAwIikgPT09IDAuIEFjdHVh
bDogJyArIChOdW1iZXIoIlx1MjAwMCIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51bWJlcigi
XHUyMDAwIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxNy4yOiBOdW1iZXIoIlxcdTIwMDAiKSA9PT0gKzAuIEFjdHVhbDogLTAn
KTsKLSAgfQotfQotCi0vLyBDSEVDSyMxOAotaWYgKE51bWJlcigiXHUyMDAxIikgIT09IDApIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE4LjE6IE51bWJlcigiXFx1MjAwMSIpID09PSAw
LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcdTIwMDEiKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBO
dW1iZXIoIlx1MjAwMSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTguMjogTnVtYmVyKCJcXHUyMDAxIikgPT09ICswLiBBY3R1
YWw6IC0wJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjMTkKLWlmIChOdW1iZXIoIlx1MjAwMiIpICE9
PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOS4xOiBOdW1iZXIoIlxcdTIwMDIi
KSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcigiXHUyMDAyIikpKTsKLX0gZWxzZSB7Ci0gIGlm
ICgxIC8gTnVtYmVyKCJcdTIwMDIiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE5LjI6IE51bWJlcigiXFx1MjAwMiIpID09PSAr
MC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNLIzIwCi1pZiAoTnVtYmVyKCJcdTIw
MDMiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjAuMTogTnVtYmVyKCJc
XHUyMDAzIikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIlx1MjAwMyIpKSk7Ci19IGVsc2Ug
ewotICBpZiAoMSAvIE51bWJlcigiXHUyMDAzIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklU
WSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyMC4yOiBOdW1iZXIoIlxcdTIwMDMi
KSA9PT0gKzAuIEFjdHVhbDogLTAnKTsKLSAgfQotfQotCi0vLyBDSEVDSyMyMQotaWYgKE51bWJl
cigiXHUyMDA0IikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzIxLjE6IE51
bWJlcigiXFx1MjAwNCIpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcdTIwMDQiKSkpOwot
fSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoIlx1MjAwNCIpICE9PSBOdW1iZXIuUE9TSVRJVkVf
SU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjEuMjogTnVtYmVyKCJc
XHUyMDA0IikgPT09ICswLiBBY3R1YWw6IC0wJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjMjIKLWlm
IChOdW1iZXIoIlx1MjAwNSIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
Mi4xOiBOdW1iZXIoIlxcdTIwMDUiKSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcigiXHUyMDA1
IikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJcdTIwMDUiKSAhPT0gTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzIyLjI6IE51
bWJlcigiXFx1MjAwNSIpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNL
IzIzCi1pZiAoTnVtYmVyKCJcdTIwMDYiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjMuMTogTnVtYmVyKCJcXHUyMDA2IikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIo
Ilx1MjAwNiIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51bWJlcigiXHUyMDA2IikgIT09IE51
bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
My4yOiBOdW1iZXIoIlxcdTIwMDYiKSA9PT0gKzAuIEFjdHVhbDogLTAnKTsKLSAgfQotfQotCi0v
LyBDSEVDSyMyNAotaWYgKE51bWJlcigiXHUyMDA3IikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI0LjE6IE51bWJlcigiXFx1MjAwNyIpID09PSAwLiBBY3R1YWw6ICcgKyAo
TnVtYmVyKCJcdTIwMDciKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoIlx1MjAwNyIp
ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjQuMjogTnVtYmVyKCJcXHUyMDA3IikgPT09ICswLiBBY3R1YWw6IC0wJyk7Ci0gIH0K
LX0KLQotLy8gQ0hFQ0sjMjUKLWlmIChOdW1iZXIoIlx1MjAwOCIpICE9PSAwKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyNS4xOiBOdW1iZXIoIlxcdTIwMDgiKSA9PT0gMC4gQWN0dWFs
OiAnICsgKE51bWJlcigiXHUyMDA4IikpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKCJc
dTIwMDgiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI1LjI6IE51bWJlcigiXFx1MjAwOCIpID09PSArMC4gQWN0dWFsOiAtMCcp
OwotICB9Ci19Ci0KLS8vIENIRUNLIzI2Ci1pZiAoTnVtYmVyKCJcdTIwMDkiKSAhPT0gMCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjYuMTogTnVtYmVyKCJcXHUyMDA5IikgPT09IDAu
IEFjdHVhbDogJyArIChOdW1iZXIoIlx1MjAwOSIpKSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51
bWJlcigiXHUyMDA5IikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyNi4yOiBOdW1iZXIoIlxcdTIwMDkiKSA9PT0gKzAuIEFjdHVh
bDogLTAnKTsKLSAgfQotfQotCi0vLyBDSEVDSyMyNwotaWYgKE51bWJlcigiXHUyMDBBIikgIT09
IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI3LjE6IE51bWJlcigiXFx1MjAwQSIp
ID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcdTIwMEEiKSkpOwotfSBlbHNlIHsKLSAgaWYg
KDEgLyBOdW1iZXIoIlx1MjAwQSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjcuMjogTnVtYmVyKCJcXHUyMDBBIikgPT09ICsw
LiBBY3R1YWw6IC0wJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjMjgKLWlmIChOdW1iZXIoIlx1MjAy
RiIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOC4xOiBOdW1iZXIoIlxc
dTIwMkYiKSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcigiXHUyMDJGIikpKTsKLX0gZWxzZSB7
Ci0gIGlmICgxIC8gTnVtYmVyKCJcdTIwMkYiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI4LjI6IE51bWJlcigiXFx1MjAyRiIp
ID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNLIzI5Ci1pZiAoTnVtYmVy
KCJcdTIwNUYiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjkuMTogTnVt
YmVyKCJcXHUyMDVGIikgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoIlx1MjA1RiIpKSk7Ci19
IGVsc2UgewotICBpZiAoMSAvIE51bWJlcigiXHUyMDVGIikgIT09IE51bWJlci5QT1NJVElWRV9J
TkZJTklUWSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOS4yOiBOdW1iZXIoIlxc
dTIwNUYiKSA9PT0gKzAuIEFjdHVhbDogLTAnKTsKLSAgfQotfQotCi0vLyBDSEVDSyMzMAotaWYg
KE51bWJlcigiXHUzMDAwIikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzMw
LjE6IE51bWJlcigiXFx1MzAwMCIpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCJcdTMwMDAi
KSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoIlx1MzAwMCIpICE9PSBOdW1iZXIuUE9T
SVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzAuMjogTnVt
YmVyKCJcXHUzMDAwIikgPT09ICswLiBBY3R1YWw6IC0wJyk7Ci0gIH0KLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE51bWJlcigiXHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBCXHUwMDBBXHUw
MDBEXHUyMDI4XHUyMDI5XHUxNjgwXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1
XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwIiksCisgIDAs
CisgICdOdW1iZXIoInUwMDA5dTAwMEN1MDAyMHUwMEEwdTAwMEJ1MDAwQXUwMDBEdTIwMjh1MjAy
OXUxNjgwdTIwMDB1MjAwMXUyMDAydTIwMDN1MjAwNHUyMDA1dTIwMDZ1MjAwN3UyMDA4dTIwMDl1
MjAwQXUyMDJGdTIwNUZ1MzAwMCIpIG11c3QgcmV0dXJuIDAnCispOworCithc3NlcnQuc2FtZVZh
bHVlKE51bWJlcigiICIpLCAwLCAnTnVtYmVyKCIgIikgbXVzdCByZXR1cm4gMCcpOworYXNzZXJ0
LnNhbWVWYWx1ZShOdW1iZXIoIlx0IiksIDAsICdOdW1iZXIoInQiKSBtdXN0IHJldHVybiAwJyk7
Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHIiKSwgMCwgJ051bWJlcigiciIpIG11c3QgcmV0
dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCJcbiIpLCAwLCAnTnVtYmVyKCJuIikg
bXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIlxmIiksIDAsICdOdW1i
ZXIoImYiKSBtdXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHUwMDA5
IiksIDAsICdOdW1iZXIoInUwMDA5IikgbXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1
ZShOdW1iZXIoIlx1MDAwQSIpLCAwLCAnTnVtYmVyKCJ1MDAwQSIpIG11c3QgcmV0dXJuIDAnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCJcdTAwMEIiKSwgMCwgJ051bWJlcigidTAwMEIiKSBt
dXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHUwMDBDIiksIDAsICdO
dW1iZXIoInUwMDBDIikgbXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIo
Ilx1MDAwRCIpLCAwLCAnTnVtYmVyKCJ1MDAwRCIpIG11c3QgcmV0dXJuIDAnKTsKK2Fzc2VydC5z
YW1lVmFsdWUoTnVtYmVyKCJcdTAwQTAiKSwgMCwgJ051bWJlcigidTAwQTAiKSBtdXN0IHJldHVy
biAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHUwMDIwIiksIDAsICdOdW1iZXIoInUw
MDIwIikgbXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIlx1MjAyOCIp
LCAwLCAnTnVtYmVyKCJ1MjAyOCIpIG11c3QgcmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUo
TnVtYmVyKCJcdTIwMjkiKSwgMCwgJ051bWJlcigidTIwMjkiKSBtdXN0IHJldHVybiAwJyk7Cith
c3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHUxNjgwIiksIDAsICdOdW1iZXIoInUxNjgwIikgbXVz
dCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIlx1MjAwMCIpLCAwLCAnTnVt
YmVyKCJ1MjAwMCIpIG11c3QgcmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCJc
dTIwMDEiKSwgMCwgJ051bWJlcigidTIwMDEiKSBtdXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKE51bWJlcigiXHUyMDAyIiksIDAsICdOdW1iZXIoInUyMDAyIikgbXVzdCByZXR1cm4g
MCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIlx1MjAwMyIpLCAwLCAnTnVtYmVyKCJ1MjAw
MyIpIG11c3QgcmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCJcdTIwMDQiKSwg
MCwgJ051bWJlcigidTIwMDQiKSBtdXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51
bWJlcigiXHUyMDA1IiksIDAsICdOdW1iZXIoInUyMDA1IikgbXVzdCByZXR1cm4gMCcpOworYXNz
ZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIlx1MjAwNiIpLCAwLCAnTnVtYmVyKCJ1MjAwNiIpIG11c3Qg
cmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCJcdTIwMDciKSwgMCwgJ051bWJl
cigidTIwMDciKSBtdXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHUy
MDA4IiksIDAsICdOdW1iZXIoInUyMDA4IikgbXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVW
YWx1ZShOdW1iZXIoIlx1MjAwOSIpLCAwLCAnTnVtYmVyKCJ1MjAwOSIpIG11c3QgcmV0dXJuIDAn
KTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCJcdTIwMEEiKSwgMCwgJ051bWJlcigidTIwMEEi
KSBtdXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiXHUyMDJGIiksIDAs
ICdOdW1iZXIoInUyMDJGIikgbXVzdCByZXR1cm4gMCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1i
ZXIoIlx1MjA1RiIpLCAwLCAnTnVtYmVyKCJ1MjA1RiIpIG11c3QgcmV0dXJuIDAnKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoTnVtYmVyKCJcdTMwMDAiKSwgMCwgJ051bWJlcigidTMwMDAiKSBtdXN0IHJl
dHVybiAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVt
YmVyL1M5LjMuMV9BMjAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L1M5LjMuMV9BMjAuanMKaW5kZXggOWUzNDdmMzljZmUzNzkyNThmMGUwZGZiNzZjZWRlMWFlNzdm
MzFlMC4uMWI0YTgyOGU0YTliMWE5N2VkNWQyOTRmZGVlNWI0ZDk4YmNmMDE1ZSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTIwLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyMC5qcwpA
QCAtNiwxOCArNiw2IEBACiBlczVpZDogOS4zLjFfQTIwCiBkZXNjcmlwdGlvbjogQ29tcGFyZSBO
dW1iZXIoJzB4NCcpIGFuZCBOdW1iZXIoJzBYNCcpIHdpdGggNAogLS0tKi8KLQotLy8gQ0hFQ0sj
MQotaWYgKE51bWJlcigiNCIpICE9PSA0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBOdW1iZXIoIjQiKSA9PT0gNC4gQWN0dWFsOiAnICsgKE51bWJlcigiNCIpKSk7Ci19Ci0KLS8v
IENIRUNLIzIKLWlmIChOdW1iZXIoIjB4NCIpICE9PSA0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBOdW1iZXIoIjB4NCIpID09PSA0LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIweDQi
KSkpOwotfQotCi0vLyBDSEVDSyMzCi1pZiAoKygiMFg0IikgIT09IDQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6ICsoIjBYNCIpID09PSA0LiBBY3R1YWw6ICcgKyAoKygiMFg0Iikp
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI0IiksIDQsICdOdW1iZXIoIjQiKSBtdXN0
IHJldHVybiA0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiMHg0IiksIDQsICdOdW1iZXIo
IjB4NCIpIG11c3QgcmV0dXJuIDQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKygiMFg0IiksIDQsICdU
aGUgdmFsdWUgb2YgYCsoIjBYNCIpYCBpcyBleHBlY3RlZCB0byBiZSA0Jyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjEuanMKaW5kZXgg
YjA2ZWZjOWYyMDBlMzE5ZjI1NjYxZTJhMWMxN2Y2YWQzMGViOWU3My4uOTE3NjNjYzQwZjQzZTMw
NWQ2ZmQ0Njg1NGQ0OGI0OThlNmE5MDIwYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTIxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyMS5qcwpAQCAtNiwxOCArNiw2IEBACiBlczVp
ZDogOS4zLjFfQTIxCiBkZXNjcmlwdGlvbjogQ29tcGFyZSBOdW1iZXIoJzB4NScpIGFuZCBOdW1i
ZXIoJzBYNScpIHdpdGggNQogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKCsoIjUiKSAhPT0gNSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogKygiNSIpID09PSA1LiBBY3R1YWw6ICcg
KyAoKygiNSIpKSk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIjB4NSIpICE9PSA1KSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIoIjB4NSIpID09PSA1LiBBY3R1
YWw6ICcgKyAoTnVtYmVyKCIweDUiKSkpOwotfQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKCIw
WDUiKSAhPT0gNSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKCIwWDUi
KSA9PT0gNS4gQWN0dWFsOiAnICsgKE51bWJlcigiMFg1IikpKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoKygiNSIpLCA1LCAnVGhlIHZhbHVlIG9mIGArKCI1IilgIGlzIGV4cGVjdGVkIHRvIGJlIDUn
KTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIweDUiKSwgNSwgJ051bWJlcigiMHg1IikgbXVz
dCByZXR1cm4gNScpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjBYNSIpLCA1LCAnTnVtYmVy
KCIwWDUiKSBtdXN0IHJldHVybiA1Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjIuanMKaW5kZXggY2FmNDM2MTU1OGQ1ODlmZTYwMWE3
ZGYzNzFhZDlhNjBlN2YxOGMzMS4uYzlhOTY4YzNhYmVmNTgxMmMxZWI3MWNlZTY3ZTQ4NmRlYTQw
NDc2NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTIyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
UzkuMy4xX0EyMi5qcwpAQCAtNiwxOCArNiw2IEBACiBlczVpZDogOS4zLjFfQTIyCiBkZXNjcmlw
dGlvbjogQ29tcGFyZSBOdW1iZXIoJzB4NicpIGFuZCBOdW1iZXIoJzBYNicpIHdpdGggNgogLS0t
Ki8KLQotLy8gQ0hFQ0sjMQotaWYgKE51bWJlcigiNiIpICE9PSA2KSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIoIjYiKSA9PT0gNi4gQWN0dWFsOiAnICsgKE51bWJlcigi
NiIpKSk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmICgrKCIweDYiKSAhPT0gNikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogKygiMHg2IikgPT09IDYuIEFjdHVhbDogJyArICgrKCIweDYi
KSkpOwotfQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKCIwWDYiKSAhPT0gNikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKCIwWDYiKSA9PT0gNi4gQWN0dWFsOiAnICsg
KE51bWJlcigiMFg2IikpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI2IiksIDYsICdO
dW1iZXIoIjYiKSBtdXN0IHJldHVybiA2Jyk7Cithc3NlcnQuc2FtZVZhbHVlKCsoIjB4NiIpLCA2
LCAnVGhlIHZhbHVlIG9mIGArKCIweDYiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgNicpOworYXNzZXJ0
LnNhbWVWYWx1ZShOdW1iZXIoIjBYNiIpLCA2LCAnTnVtYmVyKCIwWDYiKSBtdXN0IHJldHVybiA2
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5
LjMuMV9BMjMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMu
MV9BMjMuanMKaW5kZXggMmNkNWI5NGRiM2U3MGU0YTVlOTk5MWYyNzQwNTlmMjRkMDczNjgxZi4u
NDdjZmMzOWI5ODQ4OWQ1YTA1MTA2NWFlNjc1MzhjNzM4ODNlZDVmMSAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTIzLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyMy5qcwpAQCAtNiwx
OCArNiw2IEBACiBlczVpZDogOS4zLjFfQTIzCiBkZXNjcmlwdGlvbjogQ29tcGFyZSBOdW1iZXIo
JzB4NycpIGFuZCBOdW1iZXIoJzBYNycpIHdpdGggNwogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYg
KE51bWJlcigiNyIpICE9PSA3KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1i
ZXIoIjciKSA9PT0gNy4gQWN0dWFsOiAnICsgKE51bWJlcigiNyIpKSk7Ci19Ci0KLS8vIENIRUNL
IzIKLWlmIChOdW1iZXIoIjB4NyIpICE9PSA3KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBOdW1iZXIoIjB4NyIpID09PSA3LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIweDciKSkpOwot
fQotCi0vLyBDSEVDSyMzCi1pZiAoKygiMFg3IikgIT09IDcpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6ICsoIjBYNyIpID09PSA3LiBBY3R1YWw6ICcgKyAoKygiMFg3IikpKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI3IiksIDcsICdOdW1iZXIoIjciKSBtdXN0IHJldHVy
biA3Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiMHg3IiksIDcsICdOdW1iZXIoIjB4NyIp
IG11c3QgcmV0dXJuIDcnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKygiMFg3IiksIDcsICdUaGUgdmFs
dWUgb2YgYCsoIjBYNyIpYCBpcyBleHBlY3RlZCB0byBiZSA3Jyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjQuanMKaW5kZXggN2I5ZjBk
Y2RmZmEyOTdkMjM2NmM5NTMzYzEyNDE1YjI4ODQ3YjRlYi4uM2Y2MjMwNmE2ZTM1NmIzOWExZTAz
OWFjMjM5NWY0MDUwNzk0ZTkwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9TOS4zLjFfQTI0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyNC5qcwpAQCAtNiwxOCArNiw2IEBACiBlczVpZDogOS4z
LjFfQTI0CiBkZXNjcmlwdGlvbjogQ29tcGFyZSBOdW1iZXIoJzB4OCcpIGFuZCBOdW1iZXIoJzBY
OCcpIHdpdGggOAogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKCsoIjgiKSAhPT0gOCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogKygiOCIpID09PSA4LiBBY3R1YWw6ICcgKyAoKygi
OCIpKSk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIjB4OCIpICE9PSA4KSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIoIjB4OCIpID09PSA4LiBBY3R1YWw6ICcg
KyAoTnVtYmVyKCIweDgiKSkpOwotfQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKCIwWDgiKSAh
PT0gOCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKCIwWDgiKSA9PT0g
OC4gQWN0dWFsOiAnICsgKE51bWJlcigiMFg4IikpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoKygi
OCIpLCA4LCAnVGhlIHZhbHVlIG9mIGArKCI4IilgIGlzIGV4cGVjdGVkIHRvIGJlIDgnKTsKK2Fz
c2VydC5zYW1lVmFsdWUoTnVtYmVyKCIweDgiKSwgOCwgJ051bWJlcigiMHg4IikgbXVzdCByZXR1
cm4gOCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjBYOCIpLCA4LCAnTnVtYmVyKCIwWDgi
KSBtdXN0IHJldHVybiA4Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL1M5LjMuMV9BMjUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL1M5LjMuMV9BMjUuanMKaW5kZXggYmVlYTgxYzZhZDQ4ODRkZjUxYThiYzU3YWMz
ZTA3YmFjOTZlNjQ5Ni4uYzEzNDU3YmE1Y2JkMDhmY2RlZDI4ZWE5OTVlY2MxZTE3M2U0ODZhNCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFf
QTI1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4x
X0EyNS5qcwpAQCAtNiwxOCArNiw2IEBACiBlczVpZDogOS4zLjFfQTI1CiBkZXNjcmlwdGlvbjog
Q29tcGFyZSBOdW1iZXIoJzB4OScpIGFuZCBOdW1iZXIoJzBYOScpIHdpdGggOQogLS0tKi8KLQot
Ly8gQ0hFQ0sjMQotaWYgKE51bWJlcigiOSIpICE9PSA5KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBOdW1iZXIoIjkiKSA9PT0gOS4gQWN0dWFsOiAnICsgKE51bWJlcigiOSIpKSk7
Ci19Ci0KLS8vIENIRUNLIzIKLWlmICgrKCIweDkiKSAhPT0gOSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogKygiMHg5IikgPT09IDkuIEFjdHVhbDogJyArICgrKCIweDkiKSkpOwot
fQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKCIwWDkiKSAhPT0gOSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKCIwWDkiKSA9PT0gOS4gQWN0dWFsOiAnICsgKE51bWJl
cigiMFg5IikpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI5IiksIDksICdOdW1iZXIo
IjkiKSBtdXN0IHJldHVybiA5Jyk7Cithc3NlcnQuc2FtZVZhbHVlKCsoIjB4OSIpLCA5LCAnVGhl
IHZhbHVlIG9mIGArKCIweDkiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgOScpOworYXNzZXJ0LnNhbWVW
YWx1ZShOdW1iZXIoIjBYOSIpLCA5LCAnTnVtYmVyKCIwWDkiKSBtdXN0IHJldHVybiA5Jyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
MjYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjYu
anMKaW5kZXggMGU3MDVhMzA2NDg3MGQ1NGU5ODFlMmEzYjkwM2E1YTlkOWNjYTlhMy4uNWIwNjdh
ODU4OWFjODViMzA4YjIzYTRkZjJiOWFiYjI0MjM5ZTc5MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTI2LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyNi5qcwpAQCAtOCwyMyArOCw3
IEBACiAgICAgQ29tcGFyZSBOdW1iZXIoJzB4QScpLCBOdW1iZXIoJzBYQScpLCBOdW1iZXIoJzB4
YScpIGFuZAogICAgIE51bWJlcignMFhhJykgd2l0aCAxMAogLS0tKi8KLQotLy8gQ0hFQ0sjMQot
aWYgKE51bWJlcigiMHhhIikgIT09IDEwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBOdW1iZXIoIjB4YSIpID09PSAxMC4gQWN0dWFsOiAnICsgKE51bWJlcigiMHhhIikpKTsKLX0K
LQotLy8gQ0hFQ0sjMgotaWYgKE51bWJlcigiMHhBIikgIT09IDEwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIoIjB4QSIpID09PSAxMC4gQWN0dWFsOiAnICsgKE51bWJl
cigiMHhBIikpKTsKLX0KLQotLy8gQ0hFQ0sjMwotaWYgKE51bWJlcigiMFhhIikgIT09IDEwKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBOdW1iZXIoIjBYYSIpID09PSAxMC4gQWN0
dWFsOiAnICsgKE51bWJlcigiMFhhIikpKTsKLX0KLQotLy8gQ0hFQ0sjNAotaWYgKCsoIjBYQSIp
ICE9PSAxMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKygiMFhBIikgPT09IDEw
LiBBY3R1YWw6ICcgKyAoKygiMFhBIikpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIw
eGEiKSwgMTAsICdOdW1iZXIoIjB4YSIpIG11c3QgcmV0dXJuIDEwJyk7Cithc3NlcnQuc2FtZVZh
bHVlKE51bWJlcigiMHhBIiksIDEwLCAnTnVtYmVyKCIweEEiKSBtdXN0IHJldHVybiAxMCcpOwor
YXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjBYYSIpLCAxMCwgJ051bWJlcigiMFhhIikgbXVzdCBy
ZXR1cm4gMTAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKygiMFhBIiksIDEwLCAnVGhlIHZhbHVlIG9m
IGArKCIwWEEiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgMTAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyNy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyNy5qcwppbmRleCBiYzQ0NzBkZjlj
MDA4MjYxMjlkZWNiODQ5MDJlZTIwYTEzMTI3ZWRlLi43OWU5MGM3MTJjODZkYzg3MDkyNDgyZGZk
MmEyNGFjM2MxMzk1OTg5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL1M5LjMuMV9BMjcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zLjFfQTI3LmpzCkBAIC04LDIzICs4LDcgQEAKICAgICBDb21wYXJlIE51
bWJlcignMHhCJyksIE51bWJlcignMFhCJyksIE51bWJlcignMHhiJykgYW5kCiAgICAgTnVtYmVy
KCcwWGInKSB3aXRoIDExCiAtLS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVyKCIweGIiKSAh
PT0gMTEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcigiMHhiIikgPT09
IDExLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIweGIiKSkpOwotfQotCi0vLyBDSEVDSyMyCi1pZiAo
TnVtYmVyKCIweEIiKSAhPT0gMTEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51
bWJlcigiMHhCIikgPT09IDExLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIweEIiKSkpOwotfQotCi0v
LyBDSEVDSyMzCi1pZiAoKygiMFhiIikgIT09IDExKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiArKCIwWGIiKSA9PT0gMTEuIEFjdHVhbDogJyArICgrKCIwWGIiKSkpOwotfQotCi0v
LyBDSEVDSyM0Ci1pZiAoTnVtYmVyKCIwWEIiKSAhPT0gMTEpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IE51bWJlcigiMFhCIikgPT09IDExLiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIw
WEIiKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjB4YiIpLCAxMSwgJ051bWJlcigi
MHhiIikgbXVzdCByZXR1cm4gMTEnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIweEIiKSwg
MTEsICdOdW1iZXIoIjB4QiIpIG11c3QgcmV0dXJuIDExJyk7Cithc3NlcnQuc2FtZVZhbHVlKCso
IjBYYiIpLCAxMSwgJ1RoZSB2YWx1ZSBvZiBgKygiMFhiIilgIGlzIGV4cGVjdGVkIHRvIGJlIDEx
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiMFhCIiksIDExLCAnTnVtYmVyKCIwWEIiKSBt
dXN0IHJldHVybiAxMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zLjFfQTI4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TOS4zLjFfQTI4LmpzCmluZGV4IDJjZDM5ZmZhZWY2OTM5OTAzZTI4ODQyMzQ4MmY1
ODQzYzdmZTY2YzMuLmFlYzA3YmRhZjViODgyYjhiYTI0MDQ3NWNiODY0NGIzYjRiNjZlMTcgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0Ey
OC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
MjguanMKQEAgLTgsMjMgKzgsNyBAQAogICAgIENvbXBhcmUgTnVtYmVyKCcweEMnKSwgTnVtYmVy
KCcwWEMnKSwgTnVtYmVyKCcweGMnKSBhbmQKICAgICBOdW1iZXIoJzBYYycpIHdpdGggMTIKIC0t
LSovCi0KLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoIjB4YyIpICE9PSAxMikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyKCIweGMiKSA9PT0gMTIuIEFjdHVhbDogJyArIChO
dW1iZXIoIjB4YyIpKSk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmICgrKCIweEMiKSAhPT0gMTIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6ICsoIjB4QyIpID09PSAxMi4gQWN0dWFsOiAn
ICsgKCsoIjB4QyIpKSk7Ci19Ci0KLS8vIENIRUNLIzMKLWlmIChOdW1iZXIoIjBYYyIpICE9PSAx
MikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKCIwWGMiKSA9PT0gMTIu
IEFjdHVhbDogJyArIChOdW1iZXIoIjBYYyIpKSk7Ci19Ci0KLS8vIENIRUNLIzQKLWlmIChOdW1i
ZXIoIjBYQyIpICE9PSAxMikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogTnVtYmVy
KCIwWEMiKSA9PT0gMTIuIEFjdHVhbDogJyArIChOdW1iZXIoIjBYQyIpKSk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKE51bWJlcigiMHhjIiksIDEyLCAnTnVtYmVyKCIweGMiKSBtdXN0IHJldHVybiAx
MicpOworYXNzZXJ0LnNhbWVWYWx1ZSgrKCIweEMiKSwgMTIsICdUaGUgdmFsdWUgb2YgYCsoIjB4
QyIpYCBpcyBleHBlY3RlZCB0byBiZSAxMicpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjBY
YyIpLCAxMiwgJ051bWJlcigiMFhjIikgbXVzdCByZXR1cm4gMTInKTsKK2Fzc2VydC5zYW1lVmFs
dWUoTnVtYmVyKCIwWEMiKSwgMTIsICdOdW1iZXIoIjBYQyIpIG11c3QgcmV0dXJuIDEyJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
MjkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMjku
anMKaW5kZXggZjU3ZGI5ZWIzMWQxODgxNzRiZmE3ZTUxZTE5NWQ5NGJmNTMwNjhiNi4uOWIzZTQ0
YjZjNzAyNDExYmUxZGY4NzU5ZDk4YmU1MjRiZmQ5Mzg3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTI5LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EyOS5qcwpAQCAtOCwyMyArOCw3
IEBACiAgICAgQ29tcGFyZSBOdW1iZXIoJzB4RCcpLCBOdW1iZXIoJzBYRCcpLCBOdW1iZXIoJzB4
ZCcpIGFuZAogICAgIE51bWJlcignMFhkJykgd2l0aCAxMwogLS0tKi8KLQotLy8gQ0hFQ0sjMQot
aWYgKCsoIjB4ZCIpICE9PSAxMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogKygi
MHhkIikgPT09IDEzLiBBY3R1YWw6ICcgKyAoKygiMHhkIikpKTsKLX0KLQotLy8gQ0hFQ0sjMgot
aWYgKE51bWJlcigiMHhEIikgIT09IDEzKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBOdW1iZXIoIjB4RCIpID09PSAxMy4gQWN0dWFsOiAnICsgKE51bWJlcigiMHhEIikpKTsKLX0K
LQotLy8gQ0hFQ0sjMwotaWYgKE51bWJlcigiMFhkIikgIT09IDEzKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMzOiBOdW1iZXIoIjBYZCIpID09PSAxMy4gQWN0dWFsOiAnICsgKE51bWJl
cigiMFhkIikpKTsKLX0KLQotLy8gQ0hFQ0sjNAotaWYgKE51bWJlcigiMFhEIikgIT09IDEzKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBOdW1iZXIoIjBYRCIpID09PSAxMy4gQWN0
dWFsOiAnICsgKE51bWJlcigiMFhEIikpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoKygiMHhkIiks
IDEzLCAnVGhlIHZhbHVlIG9mIGArKCIweGQiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgMTMnKTsKK2Fz
c2VydC5zYW1lVmFsdWUoTnVtYmVyKCIweEQiKSwgMTMsICdOdW1iZXIoIjB4RCIpIG11c3QgcmV0
dXJuIDEzJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiMFhkIiksIDEzLCAnTnVtYmVyKCIw
WGQiKSBtdXN0IHJldHVybiAxMycpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjBYRCIpLCAx
MywgJ051bWJlcigiMFhEIikgbXVzdCByZXR1cm4gMTMnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EzMC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EzMC5qcwppbmRleCBiODAxMzkzMjJk
MzgxOWFjMjkzMGRlNWFmNzA3OTkxMDg5NmFkMDQ3Li5iMDU2N2FlNzExY2VhMjM1MmUyNGM0MTIy
MjBmY2YxZTEyYzNhNGEwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL1M5LjMuMV9BMzAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zLjFfQTMwLmpzCkBAIC04LDIzICs4LDcgQEAKICAgICBDb21wYXJlIE51
bWJlcignMHhFJyksIE51bWJlcignMFhFJyksIE51bWJlcignMHhlJykgYW5kCiAgICAgTnVtYmVy
KCcwWGUnKSB3aXRoIDE0CiAtLS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVyKCIweGUiKSAh
PT0gMTQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcigiMHhlIikgPT09
IDE0LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIweGUiKSkpOwotfQotCi0vLyBDSEVDSyMyCi1pZiAo
TnVtYmVyKCIweEUiKSAhPT0gMTQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51
bWJlcigiMHhFIikgPT09IDE0LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIweEUiKSkpOwotfQotCi0v
LyBDSEVDSyMzCi1pZiAoTnVtYmVyKCIwWGUiKSAhPT0gMTQpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IE51bWJlcigiMFhlIikgPT09IDE0LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIw
WGUiKSkpOwotfQotCi0vLyBDSEVDSyM0Ci1pZiAoKygiMFhFIikgIT09IDE0KSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiArKCIwWEUiKSA9PT0gMTQuIEFjdHVhbDogJyArICgrKCIw
WEUiKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjB4ZSIpLCAxNCwgJ051bWJlcigi
MHhlIikgbXVzdCByZXR1cm4gMTQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIweEUiKSwg
MTQsICdOdW1iZXIoIjB4RSIpIG11c3QgcmV0dXJuIDE0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51
bWJlcigiMFhlIiksIDE0LCAnTnVtYmVyKCIwWGUiKSBtdXN0IHJldHVybiAxNCcpOworYXNzZXJ0
LnNhbWVWYWx1ZSgrKCIwWEUiKSwgMTQsICdUaGUgdmFsdWUgb2YgYCsoIjBYRSIpYCBpcyBleHBl
Y3RlZCB0byBiZSAxNCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zLjFfQTMxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TOS4zLjFfQTMxLmpzCmluZGV4IGI5NWFjYTFiMTMzZjdkNWY4MTNkNDAyYzRiYzZl
NDkzYzc4ZGZkNDMuLmRlNzQ0MzUyYWNlNzhkYWYyMmZlOTJhMDcwYmY3MzVkZTY2Y2M5NWUgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0Ez
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
MzEuanMKQEAgLTgsMjMgKzgsNyBAQAogICAgIENvbXBhcmUgTnVtYmVyKCcweEYnKSwgTnVtYmVy
KCcwWEYnKSwgTnVtYmVyKCcweGYnKSBhbmQKICAgICBOdW1iZXIoJzBYZicpIHdpdGggMTUKIC0t
LSovCi0KLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoIjB4ZiIpICE9PSAxNSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyKCIweGYiKSA9PT0gMTUuIEFjdHVhbDogJyArIChO
dW1iZXIoIjB4ZiIpKSk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIjB4RiIpICE9PSAx
NSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyKCIweEYiKSA9PT0gMTUu
IEFjdHVhbDogJyArIChOdW1iZXIoIjB4RiIpKSk7Ci19Ci0KLS8vIENIRUNLIzMKLWlmICgrKCIw
WGYiKSAhPT0gMTUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6ICsoIjBYZiIpID09
PSAxNS4gQWN0dWFsOiAnICsgKCsoIjBYZiIpKSk7Ci19Ci0KLS8vIENIRUNLIzQKLWlmIChOdW1i
ZXIoIjBYRiIpICE9PSAxNSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogTnVtYmVy
KCIwWEYiKSA9PT0gMTUuIEFjdHVhbDogJyArIChOdW1iZXIoIjBYRiIpKSk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKE51bWJlcigiMHhmIiksIDE1LCAnTnVtYmVyKCIweGYiKSBtdXN0IHJldHVybiAx
NScpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoIjB4RiIpLCAxNSwgJ051bWJlcigiMHhGIikg
bXVzdCByZXR1cm4gMTUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKygiMFhmIiksIDE1LCAnVGhlIHZh
bHVlIG9mIGArKCIwWGYiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgMTUnKTsKK2Fzc2VydC5zYW1lVmFs
dWUoTnVtYmVyKCIwWEYiKSwgMTUsICdOdW1iZXIoIjBYRiIpIG11c3QgcmV0dXJuIDE1Jyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9B
MzIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BMzIu
anMKaW5kZXggYzJjOGNlOWE4YzI1ZTc3NzhmMGMyNThkMTU1NzA4NTJlNjdjNzc5Ni4uYWQzNjBk
YjRiZDc1OTU5ZTQzNTI5MTU1YTU3OWQ2Mjg1ZTBlOGU4MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTMyLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EzMi5qcwpAQCAtMTAsMjggKzEw
LDMyIEBACiBlczVpZDogOS4zLjFfQTMyCiBkZXNjcmlwdGlvbjogVXNlIHZhcmlvdXMgbG9uZyBu
dW1iZXJzLCBmb3IgZXhhbXBsZSwgMTIzNDU2Nzg5MC4xMjM0NTY3ODkwCiAtLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKCIxMjM0NTY3ODkwLjEyMzQ1Njc4OTAiKSwKKyAgMTIzNDU2
Nzg5MC4xMjM0NTY3ODkwLAorICAnTnVtYmVyKCIxMjM0NTY3ODkwLjEyMzQ1Njc4OTAiKSBtdXN0
IHJldHVybiAxMjM0NTY3ODkwLjEyMzQ1Njc4OTAnCispOwogCi0vLyBDSEVDSyMxCi1pZiAoTnVt
YmVyKCIxMjM0NTY3ODkwLjEyMzQ1Njc4OTAiKSAhPT0gMTIzNDU2Nzg5MC4xMjM0NTY3ODkwKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIoIjEyMzQ1Njc4OTAuMTIzNDU2
Nzg5MCIpID09PSAxMjM0NTY3ODkwLjEyMzQ1Njc4OTAuIEFjdHVhbDogJyArIChOdW1iZXIoIjEy
MzQ1Njc4OTAuMTIzNDU2Nzg5MCIpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIo
IjEyMzQ1Njc4OTAuMTIzNDU2Nzg5MCIpLAorICAxMjM0NTY3ODkwLjEyMzQ1NjcwMDAsCisgICdO
dW1iZXIoIjEyMzQ1Njc4OTAuMTIzNDU2Nzg5MCIpIG11c3QgcmV0dXJuIDEyMzQ1Njc4OTAuMTIz
NDU2NzAwMCcKKyk7CiAKLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIjEyMzQ1Njc4OTAuMTIzNDU2
Nzg5MCIpICE9PSAxMjM0NTY3ODkwLjEyMzQ1NjcwMDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IE51bWJlcigiMTIzNDU2Nzg5MC4xMjM0NTY3ODkwIikgPT09IDEyMzQ1Njc4OTAu
MTIzNDU2NzAwMC4gQWN0dWFsOiAnICsgKE51bWJlcigiMTIzNDU2Nzg5MC4xMjM0NTY3ODkwIikp
KTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUoCisgICsoIjEyMzQ1Njc4OTAuMTIzNDU2Nzg5MCIp
LAorICAxMjM0NTY3ODkwLjEyMzQ1NiwKKyAgJ1RoZSB2YWx1ZSBvZiArKCIxMjM0NTY3ODkwLjEy
MzQ1Njc4OTAiKSBpcyBub3QgMTIzNDU2Nzg5MC4xMjM0NTYnCispOwogCi0vLyBDSEVDSyMzCi1p
ZiAoKygiMTIzNDU2Nzg5MC4xMjM0NTY3ODkwIikgPT09IDEyMzQ1Njc4OTAuMTIzNDU2KSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiArKCIxMjM0NTY3ODkwLjEyMzQ1Njc4OTAiKSAh
PT0gMTIzNDU2Nzg5MC4xMjM0NTYnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigi
MC4xMjM0NTY3ODkwMTIzNDU2Nzg5MCIpLAorICAwLjEyMzQ1Njc4OTAxMjM0NTY3OCwKKyAgJ051
bWJlcigiMC4xMjM0NTY3ODkwMTIzNDU2Nzg5MCIpIG11c3QgcmV0dXJuIDAuMTIzNDU2Nzg5MDEy
MzQ1Njc4JworKTsKIAotLy8gQ0hFQ0sjNAotaWYgKE51bWJlcigiMC4xMjM0NTY3ODkwMTIzNDU2
Nzg5MCIpICE9PSAwLjEyMzQ1Njc4OTAxMjM0NTY3OCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNDogTnVtYmVyKCIwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwIikgPT09IDAuMTIzNDU2Nzg5
MDEyMzQ1Njc4LiBBY3R1YWw6ICcgKyAoTnVtYmVyKCIwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwIikp
KTsKLX0KLQotLy8gQ0hFQ0sjNAotaWYgKE51bWJlcigiMDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAi
KSAhPT0gMC4xMjM0NTY3ODkwMTIzNDU2NzgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IE51bWJlcigiMDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKSA9PT0gMC4xMjM0NTY3ODkwMTIz
NDU2NzguIEFjdHVhbDogJyArIChOdW1iZXIoIjAwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwIikpKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiMDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAi
KSwKKyAgMC4xMjM0NTY3ODkwMTIzNDU2NzgsCisgICdOdW1iZXIoIjAwLjEyMzQ1Njc4OTAxMjM0
NTY3ODkwIikgbXVzdCByZXR1cm4gMC4xMjM0NTY3ODkwMTIzNDU2NzgnCispOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTNfVDEuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BM19UMS5qcwpp
bmRleCAyNGZlNWIzMWFlMmExY2NhNTVhNWVmMjMxODUxYWY4YzZmMjUyYjRhLi41NmIxYTFjYWY5
YTQ2NDZhYjBhZTIxNDYwYTlmMTgwNWQ0NmY1NTYwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BM19UMS5qcwpAQCAtOSwyMyArOSwy
MiBAQAogZXM1aWQ6IDkuMy4xX0EzX1QxCiBkZXNjcmlwdGlvbjogc3RhdGljIHN0cmluZwogLS0t
Ki8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiXHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEw
XHUwMDBCXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XHUxNjgwXHUyMDAwXHUyMDAxXHUyMDAyXHUy
MDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVG
XHUzMDAwIiksCisgIDAKKyk7CiAKLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoIlx1MDAwOVx1MDAw
Q1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOVx1MTY4MFx1MjAwMFx1
MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAw
QVx1MjAyRlx1MjA1Rlx1MzAwMCIpICE9PSBOdW1iZXIoIiIpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBOdW1iZXIoIlxcdTAwMDlcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBC
XFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUyMDAwXFx1MjAwMVxcdTIwMDJc
XHUyMDAzXFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxc
dTIwMkZcXHUyMDVGXFx1MzAwMCIpID09PSBOdW1iZXIoIiIpJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBOdW1iZXIoIlx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAy
OFx1MjAyOVx1MDAwQlx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1
MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMDEyMzQ1Njc4OTBc
dTAwMDlcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2
ODBcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhc
dTIwMDlcdTIwMEFcdTIwMkZcdTIwNUZcdTMwMDAiKSwKKyAgMTIzNDU2Nzg5MAorKTsKIAotLy8g
Q0hFQ0sjMgotaWYgKE51bWJlcigiXHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBBXHUwMDBE
XHUyMDI4XHUyMDI5XHUwMDBCXHUxNjgwXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUy
MDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwMTIzNDU2
Nzg5MFx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAy
OVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1
MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMCIpICE9PSBOdW1iZXIoIjEyMzQ1Njc4
OTAiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyKCJcXHUwMDA5XFx1
MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOVxcdTAwMEJcXHUx
NjgwXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwM1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIw
MDdcXHUyMDA4XFx1MjAwOVxcdTIwMEFcXHUyMDJGXFx1MjA1RlxcdTMwMDAxMjM0NTY3ODkwXFx1
MDAwOVxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEJcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUy
MDI5XFx1MTY4MFxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIw
MDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBBXFx1MjAyRlxcdTIwNUZcXHUzMDAwIikgPT09
IE51bWJlcigiMTIzNDU2Nzg5MCIpJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICArKCJcdTAw
MDlcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2ODBc
dTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIw
MDlcdTIwMEFcdTIwMkZcdTIwNUZcdTMwMDBJbmZpbml0eVx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBB
MFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1
MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1
Rlx1MzAwMCIpLAorICBJbmZpbml0eQorKTsKIAotLy8gQ0hFQ0sjMwotaWYgKCEoKygiXHUwMDA5
XHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBCXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XHUxNjgwXHUy
MDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5
XHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwSW5maW5pdHlcdTAwMDlcdTAwMENcdTAwMjBcdTAwQTBc
dTAwMEJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2ODBcdTIwMDBcdTIwMDFcdTIwMDJcdTIw
MDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMkZcdTIwNUZc
dTMwMDAiKSA9PSBOdW1iZXIoIkluZmluaXR5IikpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiArKCJcXHUwMDA5XFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQlxcdTAwMEFcXHUw
MDBEXFx1MjAyOFxcdTIwMjlcXHUxNjgwXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwM1xcdTIw
MDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMEFcXHUyMDJGXFx1MjA1
RlxcdTMwMDBJbmZpbml0eVxcdTAwMDlcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBCXFx1MDAw
QVxcdTAwMERcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUyMDAwXFx1MjAwMVxcdTIwMDJcXHUyMDAz
XFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZc
XHUyMDVGXFx1MzAwMCIpID09IE51bWJlcigiSW5maW5pdHkiKScpOwotfQotCi0vLyBDSEVDSyM0
Ci1pZiAoIShOdW1iZXIoIlx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAw
RFx1MjAyOFx1MjAyOVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1
MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMC1JbmZpbml0eVx1
MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOVx1MTY4
MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1
MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMCIpID09IE51bWJlcigtIkluZmluaXR5IikpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBOdW1iZXIoIlxcdTAwMDlcXHUwMDBDXFx1
MDAyMFxcdTAwQTBcXHUwMDBCXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOVxcdTE2ODBcXHUy
MDAwXFx1MjAwMVxcdTIwMDJcXHUyMDAzXFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAwN1xcdTIw
MDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMC1JbmZpbml0eVxcdTAwMDlcXHUw
MDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBCXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOVxcdTE2
ODBcXHUyMDAwXFx1MjAwMVxcdTIwMDJcXHUyMDAzXFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAw
N1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMCIpID09IE51bWJlcigi
LUluZmluaXR5IiknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiXHUwMDA5XHUw
MDBDXHUwMDIwXHUwMEEwXHUwMDBCXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XHUxNjgwXHUyMDAw
XHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUy
MDBBXHUyMDJGXHUyMDVGXHUzMDAwLUluZmluaXR5XHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEwXHUw
MDBCXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XHUxNjgwXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAz
XHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVGXHUz
MDAwIiksCisgIC1JbmZpbml0eQorKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTNfVDIuanMKaW5kZXggYTdhZTE0ZDgyMmVlMmE3OTQz
ODAxODYwMzU1NDQ4MmI3ODIyMzkyZS4uZGIwYmI1Yzc4Y2UxMWFlMTE0OTdkNmJlNGQyYWNhY2Qx
ODRmZjQ3OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9TOS4zLjFfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9TOS4zLjFfQTNfVDIuanMKQEAgLTE0LDIyICsxNCwyMiBAQCBmdW5jdGlvbiBkeW5hU3Ry
aW5nKHMxLCBzMikgewogICByZXR1cm4gU3RyaW5nKHMxKSArIFN0cmluZyhzMik7CiB9CiAKLS8v
IENIRUNLIzEKLWlmIChOdW1iZXIoZHluYVN0cmluZygiXHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEw
XHUwMDBCIiwgIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAw
Mlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1
MjA1Rlx1MzAwMCIpKSAhPT0gTnVtYmVyKCIiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogTnVtYmVyKCJcXHUwMDA5XFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQiIrIlxcdTAw
MEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlcXHUxNjgwXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAw
M1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMEFcXHUyMDJG
XFx1MjA1RlxcdTMwMDAiKSA9PT0gTnVtYmVyKCIiKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgTnVtYmVyKGR5bmFTdHJpbmcoIlx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQiIsICJc
dTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2ODBcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIw
MDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMkZcdTIwNUZcdTMwMDAi
KSksCisgIDAKKyk7CiAKLS8vIENIRUNLIzIKLWlmICgrKGR5bmFTdHJpbmcoIlx1MDAwOVx1MDAw
Q1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOVx1MDAwQjEyMzQ1IiwgIjY3ODkw
XHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBCXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XHUx
NjgwXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4
XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwIikpICE9PSBOdW1iZXIoIjEyMzQ1Njc4OTAi
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKygiXFx1MDAwOVxcdTAwMENcXHUw
MDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjlcXHUwMDBCMTIzNDUiKyI2Nzg5
MFxcdTAwMDlcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBCXFx1MDAwQVxcdTAwMERcXHUyMDI4
XFx1MjAyOVxcdTE2ODBcXHUyMDAwXFx1MjAwMVxcdTIwMDJcXHUyMDAzXFx1MjAwNFxcdTIwMDVc
XHUyMDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMCIp
ID09PSBOdW1iZXIoIjEyMzQ1Njc4OTAiKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKyhk
eW5hU3RyaW5nKCJcdTAwMDlcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIw
MjlcdTAwMEIxMjM0NSIsICI2Nzg5MFx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAw
QVx1MDAwRFx1MjAyOFx1MjAyOVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1
MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMCIpKSwK
KyAgMTIzNDU2Nzg5MAorKTsKIAotLy8gQ0hFQ0sjMwotaWYgKCEoTnVtYmVyKGR5bmFTdHJpbmco
Ilx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOUlu
ZmkiLCAibml0eVx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAy
OFx1MjAyOVx1MTY4MFx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1
MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMCIpKSA9PSBOdW1iZXIoIklu
ZmluaXR5IikpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBOdW1iZXIoIlxcdTAw
MDlcXHUwMDBDXFx1MDAyMFxcdTAwQTBcXHUwMDBCXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAy
OUluZmkiKyJuaXR5XFx1MDAwOVxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEJcXHUwMDBBXFx1
MDAwRFxcdTIwMjhcXHUyMDI5XFx1MTY4MFxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUy
MDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBBXFx1MjAyRlxcdTIw
NUZcXHUzMDAwIikgPT0gTnVtYmVyKCJJbmZpbml0eSIpJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBOdW1iZXIoZHluYVN0cmluZygiXHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEwXHUwMDBCXHUw
MDBBXHUwMDBEXHUyMDI4XHUyMDI5SW5maSIsICJuaXR5XHUwMDA5XHUwMDBDXHUwMDIwXHUwMEEw
XHUwMDBCXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5XHUxNjgwXHUyMDAwXHUyMDAxXHUyMDAyXHUy
MDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVG
XHUzMDAwIikpLAorICBJbmZpbml0eQorKTsKIAotLy8gQ0hFQ0sjNAotaWYgKCEoTnVtYmVyKGR5
bmFTdHJpbmcoIlx1MDAwOVx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAy
OFx1MjAyOS1JbmZpIiwgIm5pdHlcdTAwMDlcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEJcdTAwMEFc
dTAwMERcdTIwMjhcdTIwMjlcdTE2ODBcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIw
MDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMkZcdTIwNUZcdTMwMDAiKSkgPT0g
TnVtYmVyKC0iSW5maW5pdHkiKSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IE51
bWJlcigiXFx1MDAwOVxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEJcXHUwMDBBXFx1MDAwRFxc
dTIwMjhcXHUyMDI5LUluZmkiKyJuaXR5XFx1MDAwOVxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAw
MEJcXHUwMDBBXFx1MDAwRFxcdTIwMjhcXHUyMDI5XFx1MTY4MFxcdTIwMDBcXHUyMDAxXFx1MjAw
MlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBB
XFx1MjAyRlxcdTIwNUZcXHUzMDAwIikgPT0gTnVtYmVyKCItSW5maW5pdHkiKScpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKGR5bmFTdHJpbmcoIlx1MDAwOVx1MDAwQ1x1MDAyMFx1
MDBBMFx1MDAwQlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS1JbmZpIiwgIm5pdHlcdTAwMDlcdTAw
MENcdTAwMjBcdTAwQTBcdTAwMEJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjlcdTE2ODBcdTIwMDBc
dTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIw
MEFcdTIwMkZcdTIwNUZcdTMwMDAiKSksCisgIC1JbmZpbml0eQorKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E0X1QxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTRfVDEuanMKaW5kZXgg
MzdkMjc2MWIyM2JjY2YxYmQzZmRkZTk3NTU1NDc2ODg2OTJlNjlhYy4uYzI1ZmYxZTM5MmE0MmJj
MzU3YjdlN2FlYWNlOTM5N2MzMDVlMTY2ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTRfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTRfVDEuanMKQEAgLTgsNDMgKzgsMzQgQEAK
IGVzNWlkOiA5LjMuMV9BNF9UMQogZGVzY3JpcHRpb246IENvbXBhcmUgTnVtYmVyKCcrYW55X251
bWJlcicpIHdpdGggTnVtYmVyKCdhbnlfbnVtYmVyJykKIC0tLSovCi0KLS8vIENIRUNLIzEKLWlm
IChOdW1iZXIoIiswIikgIT09IE51bWJlcigiMCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxLjE6IE51bWJlcigiKzAiKSA9PT0gTnVtYmVyKCIwIiknKTsKLX0gZWxzZSB7Ci0gIC8v
IENIRUNLIzIKLSAgaWYgKDEgLyBOdW1iZXIoIiswIikgIT09IDEgLyBOdW1iZXIoIjAiKSkgewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyLjI6IDEvTnVtYmVyKCIrMCIpID09PSAxL051
bWJlcigiMCIpJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sjMwotaWYgKE51bWJlcigiK0luZmluaXR5
IikgIT09IE51bWJlcigiSW5maW5pdHkiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MzogTnVtYmVyKCIrSW5maW5pdHkiKSA9PT0gTnVtYmVyKCJJbmZpbml0eSIpJyk7Ci19Ci0KLS8v
IENIRUNLIzQKLWlmIChOdW1iZXIoIisxMjM0LjU2NzgiKSAhPT0gTnVtYmVyKCIxMjM0LjU2Nzgi
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogTnVtYmVyKCIrMTIzNC41Njc4Iikg
PT09IE51bWJlcigiMTIzNC41Njc4IiknKTsKLX0KLQotLy8gQ0hFQ0sjNQotaWYgKE51bWJlcigi
KzEyMzQuNTY3OGU5MCIpICE9PSBOdW1iZXIoIjEyMzQuNTY3OGU5MCIpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM1OiBOdW1iZXIoIisxMjM0LjU2NzhlOTAiKSA9PT0gTnVtYmVyKCIx
MjM0LjU2NzhlOTAiKScpOwotfQotCi0vLyBDSEVDSyM2Ci1pZiAoTnVtYmVyKCIrMTIzNC41Njc4
RTkwIikgIT09IE51bWJlcigiMTIzNC41Njc4RTkwIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzY6IE51bWJlcigiKzEyMzQuNTY3OEU5MCIpID09PSBOdW1iZXIoIjEyMzQuNTY3OEU5
MCIpJyk7Ci19Ci0KLS8vIENIRUNLIzcKLWlmIChOdW1iZXIoIisxMjM0LjU2NzhlLTkwIikgIT09
IE51bWJlcigiMTIzNC41Njc4ZS05MCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3
OiBOdW1iZXIoIisxMjM0LjU2NzhlLTkwIikgPT09IE51bWJlcigiMTIzNC41Njc4ZS05MCIpJyk7
Ci19Ci0KLS8vIENIRUNLIzgKLWlmIChOdW1iZXIoIisxMjM0LjU2NzhFLTkwIikgIT09IE51bWJl
cigiMTIzNC41Njc4RS05MCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBOdW1i
ZXIoIisxMjM0LjU2NzhFLTkwIikgPT09IE51bWJlcigiMTIzNC41Njc4RS05MCIpJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzAiKSwgTnVtYmVyKCIwIiksICdOdW1iZXIoIiswIikg
bXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgTnVtYmVyKCIwIiknKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKCIrSW5maW5pdHkiKSwKKyAgSW5maW5pdHkKKyk7
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiKzEyMzQuNTY3OCIpLAorICAxMjM0LjU2
NzgKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiKzEyMzQuNTY3OGU5MCIpLAor
ICAxMjM0LjU2NzhlOTAKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiKzEyMzQu
NTY3OEU5MCIpLAorICAxMjM0LjU2NzhFOTAKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51
bWJlcigiKzEyMzQuNTY3OGUtOTAiKSwKKyAgMTIzNC41Njc4ZS05MAorKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgTnVtYmVyKCIrMTIzNC41Njc4RS05MCIpLAorICAxMjM0LjU2NzhFLTkwCisp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4z
LjFfQTRfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMu
MV9BNF9UMi5qcwppbmRleCA2MjA1MjIzYjBhOWNmODQ0NDNkYjZlNjNiNGI4NmYyZDE3YjczNDkx
Li41NTJlNTNiM2NmOTM1ODBlZjAyOTA0OTkxODc3N2MzNDg5MDBiYzk5IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BNF9UMi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BNF9UMi5qcwpA
QCAtMTMsNDIgKzEzLDM3IEBAIGZ1bmN0aW9uIGR5bmFTdHJpbmcoczEsIHMyKSB7CiAgIHJldHVy
biBTdHJpbmcoczEpICsgU3RyaW5nKHMyKTsKIH0KIAotLy8gQ0hFQ0sjMQotaWYgKE51bWJlcihk
eW5hU3RyaW5nKCIrIiwgIjAiKSkgIT09IE51bWJlcigiMCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBOdW1iZXIoIisiKyIwIikgPT09IE51bWJlcigiMCIpJyk7Ci19IGVsc2Ug
ewotICAvLyBDSEVDSyMyCi0gIGlmICgxIC8gTnVtYmVyKGR5bmFTdHJpbmcoIisiLCAiMCIpKSAh
PT0gMSAvIE51bWJlcigiMCIpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IDEv
TnVtYmVyKCIrIisiMCIpID09PSAxL051bWJlcigiMCIpJyk7Ci0gIH0KLX0KLQotLy8gQ0hFQ0sj
MwotaWYgKE51bWJlcihkeW5hU3RyaW5nKCIrSW5maSIsICJuaXR5IikpICE9PSBOdW1iZXIoIklu
ZmluaXR5IikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE51bWJlcigiK0luZmlu
IisiaXR5IikgPT09IE51bWJlcigiSW5maW5pdHkiKScpOwotfQotCi0vLyBDSEVDSyM0Ci1pZiAo
TnVtYmVyKGR5bmFTdHJpbmcoIisxMjM0LiIsICI1Njc4IikpICE9PSBOdW1iZXIoIjEyMzQuNTY3
OCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBOdW1iZXIoIisxMjM0LiIrIjU2
NzgiKSA9PT0gTnVtYmVyKCIxMjM0LjU2NzgiKScpOwotfQotCi0vLyBDSEVDSyM1Ci1pZiAoTnVt
YmVyKGR5bmFTdHJpbmcoIisxMjM0LiIsICI1Njc4ZTkwIikpICE9PSBOdW1iZXIoIjEyMzQuNTY3
OGU5MCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBOdW1iZXIoIisxMjM0LiIr
IjU2NzhlOTAiKSA9PT0gTnVtYmVyKCIxMjM0LjU2NzhlOTAiKScpOwotfQotCi0vLyBDSEVDSyM2
Ci1pZiAoTnVtYmVyKGR5bmFTdHJpbmcoIisxMjM0LiIsICI1Njc4RTkwIikpICE9PSBOdW1iZXIo
IjEyMzQuNTY3OEU5MCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiBOdW1iZXIo
IisxMjM0LiIrIjU2NzhFOTAiKSA9PT0gTnVtYmVyKCIxMjM0LjU2NzhFOTAiKScpOwotfQotCi0v
LyBDSEVDSyM3Ci1pZiAoTnVtYmVyKGR5bmFTdHJpbmcoIisxMjM0LiIsICI1Njc4ZS05MCIpKSAh
PT0gTnVtYmVyKCIxMjM0LjU2NzhlLTkwIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
Izc6IE51bWJlcigiKzEyMzQuIisiNTY3OGUtOTAiKSA9PT0gTnVtYmVyKCIxMjM0LjU2NzhlLTkw
IiknKTsKLX0KLQotLy8gQ0hFQ0sjOAotaWYgKE51bWJlcihkeW5hU3RyaW5nKCIrMTIzNC4iLCAi
NTY3OEUtOTAiKSkgIT09IE51bWJlcigiMTIzNC41Njc4RS05MCIpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM4OiBOdW1iZXIoIisxMjM0LiIrIjU2NzhFLTkwIikgPT09IE51bWJlcigi
MTIzNC41Njc4RS05MCIpJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0
cmluZygiKyIsICIwIikpLAorICAwCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIo
ZHluYVN0cmluZygiK0luZmkiLCAibml0eSIpKSwKKyAgSW5maW5pdHkKKyk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIE51bWJlcihkeW5hU3RyaW5nKCIrMTIzNC4iLCAiNTY3OCIpKSwKKyAgMTIz
NC41Njc4CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmluZygiKzEy
MzQuIiwgIjU2NzhlOTAiKSksCisgIDEyMzQuNTY3OGU5MAorKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgTnVtYmVyKGR5bmFTdHJpbmcoIisxMjM0LiIsICI1Njc4RTkwIikpLAorICAxMjM0LjU2
NzhFOTAKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcihkeW5hU3RyaW5nKCIrMTIz
NC4iLCAiNTY3OGUtOTAiKSksCisgIDEyMzQuNTY3OGUtOTAKKyk7CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIE51bWJlcihkeW5hU3RyaW5nKCIrMTIzNC4iLCAiNTY3OEUtOTAiKSksCisgIDEyMzQu
NTY3OEUtOTAKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL1M5LjMuMV9BNV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvUzkuMy4xX0E1X1QxLmpzCmluZGV4IGNiMjA1NGNiNjkxZmU3MjAyNGMzNjAwYjg3NTY2
MGZmYmEzYzE3YTAuLjIwN2YwNDNkZDlhMTFlNDFlNmIwYjk5YjcyNTVlYzE2MTI2NjMwYTkgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E1
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4x
X0E1X1QxLmpzCkBAIC04LDUzICs4LDM3IEBACiBlczVpZDogOS4zLjFfQTVfVDEKIGRlc2NyaXB0
aW9uOiBDb21wYXJlIE51bWJlcignLWFueV9udW1iZXInKSB3aXRoIC1OdW1iZXIoJ2FueV9udW1i
ZXInKQogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKE51bWJlcigiLTAiKSAhPT0gLU51bWJlcigi
MCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIoIi0wIikgPT09IC1O
dW1iZXIoIjAiKScpOwotfSBlbHNlIHsKLSAgLy8gQ0hFQ0sjMgotICBpZiAoMSAvIE51bWJlcigi
LTAiKSAhPT0gLTEgLyBOdW1iZXIoIjAiKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiAxL051bWJlcigiLTAiKSA9PT0gLTEvTnVtYmVyKCIwIiknKTsKLSAgfQotfQotCi0vLyBD
SEVDSyMzCi1pZiAoTnVtYmVyKCItSW5maW5pdHkiKSAhPT0gLU51bWJlcigiSW5maW5pdHkiKSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKCItSW5maW5pdHkiKSA9PT0g
LU51bWJlcigiSW5maW5pdHkiKScpOwotfQotCi0vLyBDSEVDSyM0Ci1pZiAoTnVtYmVyKCItMTIz
NDU2Nzg5MCIpICE9PSAtTnVtYmVyKCIxMjM0NTY3ODkwIikpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IE51bWJlcigiLTEyMzQ1Njc4OTAiKSA9PT0gLU51bWJlcigiMTIzNDU2Nzg5
MCIpJyk7Ci19Ci0KLS8vIENIRUNLIzUKLWlmIChOdW1iZXIoIi0xMjM0LjU2NzgiKSAhPT0gLU51
bWJlcigiMTIzNC41Njc4IikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IE51bWJl
cigiLTEyMzQuNTY3OCIpID09PSAtTnVtYmVyKCIxMjM0LjU2NzgiKScpOwotfQotCi0vLyBDSEVD
SyM2Ci1pZiAoTnVtYmVyKCItMTIzNC41Njc4ZTkwIikgIT09IC1OdW1iZXIoIjEyMzQuNTY3OGU5
MCIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiBOdW1iZXIoIi0xMjM0LjU2Nzhl
OTAiKSA9PT0gLU51bWJlcigiMTIzNC41Njc4ZTkwIiknKTsKLX0KLQotLy8gQ0hFQ0sjNwotaWYg
KE51bWJlcigiLTEyMzQuNTY3OEU5MCIpICE9PSAtTnVtYmVyKCIxMjM0LjU2NzhFOTAiKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogTnVtYmVyKCItMTIzNC41Njc4RTkwIikgPT09
IC1OdW1iZXIoIjEyMzQuNTY3OEU5MCIpJyk7Ci19Ci0KLS8vIENIRUNLIzgKLWlmIChOdW1iZXIo
Ii0xMjM0LjU2NzhlLTkwIikgIT09IC1OdW1iZXIoIjEyMzQuNTY3OGUtOTAiKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNjogTnVtYmVyKCItMTIzNC41Njc4ZS05MCIpID09PSAtTnVt
YmVyKCIxMjM0LjU2NzhlLTkwIiknKTsKLX0KLQotLy8gQ0hFQ0sjOQotaWYgKE51bWJlcigiLTEy
MzQuNTY3OEUtOTAiKSAhPT0gLU51bWJlcigiMTIzNC41Njc4RS05MCIpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM2OiBOdW1iZXIoIi0xMjM0LjU2NzhFLTkwIikgPT09IC1OdW1iZXIo
IjEyMzQuNTY3OEUtOTAiKScpOwotfQotCi0vLyBDSEVDSyMxMAotaWYgKE51bWJlcigiLUluZmlu
aXR5IikgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogTnVtYmVyKCItSW5maW5pdHkiKSA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklO
SVRZJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiLTAiKSwgLTApOworYXNzZXJ0LnNh
bWVWYWx1ZShOdW1iZXIoIi1JbmZpbml0eSIpLCAtSW5maW5pdHkpOworCithc3NlcnQuc2FtZVZh
bHVlKAorICBOdW1iZXIoIi0xMjM0NTY3ODkwIiksCisgIC0xMjM0NTY3ODkwCispOworCithc3Nl
cnQuc2FtZVZhbHVlKE51bWJlcigiLTEyMzQuNTY3OCIpLCAtMTIzNC41Njc4KTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKCItMTIzNC41Njc4ZTkwIiksCisgIC0xMjM0LjU2NzhlOTAK
Kyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiLTEyMzQuNTY3OEU5MCIpLAorICAt
MTIzNC41Njc4RTkwCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoIi0xMjM0LjU2
NzhlLTkwIiksCisgIC0xMjM0LjU2NzhlLTkwCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBO
dW1iZXIoIi0xMjM0LjU2NzhFLTkwIiksCisgIC0xMjM0LjU2NzhFLTkwCispOworCithc3NlcnQu
c2FtZVZhbHVlKAorICBOdW1iZXIoIi1JbmZpbml0eSIpLAorICBOdW1iZXIuTkVHQVRJVkVfSU5G
SU5JVFkKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVt
YmVyL1M5LjMuMV9BNV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvUzkuMy4xX0E1X1QyLmpzCmluZGV4IDlmNGYwNzk4ZjYzZGRiZGVhNDAwMGNmMzg0MGFjMWZi
YTc0NTk4MDIuLmMyZWI2MzIwNDFlOWU3YTNlNGE4YTk0YjAzMmE2YTY2Yzc0ODRhNDQgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E1X1Qy
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E1
X1QyLmpzCkBAIC04LDEzOCArOCwzMCBAQAogZXM1aWQ6IDkuMy4xX0E1X1QyCiBkZXNjcmlwdGlv
bjogQ29tcGFyZSBOdW1iZXIoJy1bb3IgK11hbnlfbnVtYmVyJykgd2l0aCAtW29yIHdpdGhvdXQg
LV1hbnlfbnVtYmVyKQogLS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKE51bWJlcigiMSIpICE9PSAx
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIoIjEiKSA9PT0gMScpOwot
fQotCi0vLyBDSEVDSyMyCi1pZiAoTnVtYmVyKCIrMSIpICE9PSAxKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMzOiBOdW1iZXIoIisxIikgPT09IDEnKTsKLX0KLQotLy8gQ0hFQ0sjMwot
aWYgKE51bWJlcigiLTEiKSAhPT0gLTEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IE51bWJlcigiLTEiKSA9PT0gLTEnKTsKLX0KLQotLy8gQ0hFQ0sjNAotaWYgKE51bWJlcigiMiIp
ICE9PSAyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBOdW1iZXIoIjIiKSA9PT0g
MicpOwotfQotCi0vLyBDSEVDSyM1Ci1pZiAoTnVtYmVyKCIrMiIpICE9PSAyKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBOdW1iZXIoIisyIikgPT09IDInKTsKLX0KLQotLy8gQ0hF
Q0sjNgotaWYgKE51bWJlcigiLTIiKSAhPT0gLTIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzY6IE51bWJlcigiLTIiKSA9PT0gLTInKTsKLX0KLQotLy8gQ0hFQ0sjNwotaWYgKE51bWJl
cigiMyIpICE9PSAzKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiBOdW1iZXIoIjMi
KSA9PT0gMycpOwotfQotCi0vLyBDSEVDSyM4Ci1pZiAoTnVtYmVyKCIrMyIpICE9PSAzKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBOdW1iZXIoIiszIikgPT09IDMnKTsKLX0KLQot
Ly8gQ0hFQ0sjOQotaWYgKE51bWJlcigiLTMiKSAhPT0gLTMpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzk6IE51bWJlcigiLTMiKSA9PT0gLTMnKTsKLX0KLQotLy8gQ0hFQ0sjMTAKLWlm
IChOdW1iZXIoIjQiKSAhPT0gNCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6IE51
bWJlcigiNCIpID09PSA0Jyk7Ci19Ci0KLS8vIENIRUNLIzExCi1pZiAoTnVtYmVyKCIrNCIpICE9
PSA0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMTogTnVtYmVyKCIrNCIpID09PSA0
Jyk7Ci19Ci0KLS8vIENIRUNLIzEyCi1pZiAoTnVtYmVyKCItNCIpICE9PSAtNCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTI6IE51bWJlcigiLTQiKSA9PT0gLTQnKTsKLX0KLQotLy8g
Q0hFQ0sjMTMKLWlmIChOdW1iZXIoIjUiKSAhPT0gNSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTM6IE51bWJlcigiNSIpID09PSA1Jyk7Ci19Ci0KLS8vIENIRUNLIzE0Ci1pZiAoTnVt
YmVyKCIrNSIpICE9PSA1KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxNDogTnVtYmVy
KCIrNSIpID09PSA1Jyk7Ci19Ci0KLS8vIENIRUNLIzE1Ci1pZiAoTnVtYmVyKCItNSIpICE9PSAt
NSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTU6IE51bWJlcigiLTUiKSA9PT0gLTUn
KTsKLX0KLQotLy8gQ0hFQ0sjMTYKLWlmIChOdW1iZXIoIjYiKSAhPT0gNikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTY6IE51bWJlcigiNiIpID09PSA2Jyk7Ci19Ci0KLS8vIENIRUNL
IzE3Ci1pZiAoTnVtYmVyKCIrNiIpICE9PSA2KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxNzogTnVtYmVyKCIrNiIpID09PSA2Jyk7Ci19Ci0KLS8vIENIRUNLIzE4Ci1pZiAoTnVtYmVy
KCItNiIpICE9PSAtNikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTg6IE51bWJlcigi
LTYiKSA9PT0gLTYnKTsKLX0KLQotLy8gQ0hFQ0sjMTkKLWlmIChOdW1iZXIoIjciKSAhPT0gNykg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTk6IE51bWJlcigiNyIpID09PSA3Jyk7Ci19
Ci0KLS8vIENIRUNLIzIwCi1pZiAoTnVtYmVyKCIrNyIpICE9PSA3KSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyMDogTnVtYmVyKCIrNyIpID09PSA3Jyk7Ci19Ci0KLS8vIENIRUNLIzIx
Ci1pZiAoTnVtYmVyKCItNyIpICE9PSAtNykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjE6IE51bWJlcigiLTciKSA9PT0gLTcnKTsKLX0KLQotLy8gQ0hFQ0sjMjIKLWlmIChOdW1iZXIo
IjgiKSAhPT0gOCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjI6IE51bWJlcigiOCIp
ID09PSA4Jyk7Ci19Ci0KLS8vIENIRUNLIzIzCi1pZiAoTnVtYmVyKCIrOCIpICE9PSA4KSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyMzogTnVtYmVyKCIrOCIpID09PSA4Jyk7Ci19Ci0K
LS8vIENIRUNLIzI0Ci1pZiAoTnVtYmVyKCItOCIpICE9PSAtOCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjQ6IE51bWJlcigiLTgiKSA9PT0gLTgnKTsKLX0KLQotLy8gQ0hFQ0sjMjUK
LWlmIChOdW1iZXIoIjkiKSAhPT0gOSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjU6
IE51bWJlcigiOSIpID09PSA5Jyk7Ci19Ci0KLS8vIENIRUNLIzI2Ci1pZiAoTnVtYmVyKCIrOSIp
ICE9PSA5KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyNjogTnVtYmVyKCIrOSIpID09
PSA5Jyk7Ci19Ci0KLS8vIENIRUNLIzI3Ci1pZiAoTnVtYmVyKCItOSIpICE9PSAtOSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjc6IE51bWJlcigiLTkiKSA9PT0gLTknKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoTnVtYmVyKCIxIiksIDEsICdOdW1iZXIoIjEiKSBtdXN0IHJldHVybiAx
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzEiKSwgMSwgJ051bWJlcigiKzEiKSBtdXN0
IHJldHVybiAxJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiLTEiKSwgLTEsICdOdW1iZXIo
Ii0xIikgbXVzdCByZXR1cm4gLTEnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIyIiksIDIs
ICdOdW1iZXIoIjIiKSBtdXN0IHJldHVybiAyJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigi
KzIiKSwgMiwgJ051bWJlcigiKzIiKSBtdXN0IHJldHVybiAyJyk7Cithc3NlcnQuc2FtZVZhbHVl
KE51bWJlcigiLTIiKSwgLTIsICdOdW1iZXIoIi0yIikgbXVzdCByZXR1cm4gLTInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoTnVtYmVyKCIzIiksIDMsICdOdW1iZXIoIjMiKSBtdXN0IHJldHVybiAzJyk7
Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzMiKSwgMywgJ051bWJlcigiKzMiKSBtdXN0IHJl
dHVybiAzJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiLTMiKSwgLTMsICdOdW1iZXIoIi0z
IikgbXVzdCByZXR1cm4gLTMnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI0IiksIDQsICdO
dW1iZXIoIjQiKSBtdXN0IHJldHVybiA0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzQi
KSwgNCwgJ051bWJlcigiKzQiKSBtdXN0IHJldHVybiA0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51
bWJlcigiLTQiKSwgLTQsICdOdW1iZXIoIi00IikgbXVzdCByZXR1cm4gLTQnKTsKK2Fzc2VydC5z
YW1lVmFsdWUoTnVtYmVyKCI1IiksIDUsICdOdW1iZXIoIjUiKSBtdXN0IHJldHVybiA1Jyk7Cith
c3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzUiKSwgNSwgJ051bWJlcigiKzUiKSBtdXN0IHJldHVy
biA1Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiLTUiKSwgLTUsICdOdW1iZXIoIi01Iikg
bXVzdCByZXR1cm4gLTUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI2IiksIDYsICdOdW1i
ZXIoIjYiKSBtdXN0IHJldHVybiA2Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzYiKSwg
NiwgJ051bWJlcigiKzYiKSBtdXN0IHJldHVybiA2Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJl
cigiLTYiKSwgLTYsICdOdW1iZXIoIi02IikgbXVzdCByZXR1cm4gLTYnKTsKK2Fzc2VydC5zYW1l
VmFsdWUoTnVtYmVyKCI3IiksIDcsICdOdW1iZXIoIjciKSBtdXN0IHJldHVybiA3Jyk7Cithc3Nl
cnQuc2FtZVZhbHVlKE51bWJlcigiKzciKSwgNywgJ051bWJlcigiKzciKSBtdXN0IHJldHVybiA3
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiLTciKSwgLTcsICdOdW1iZXIoIi03IikgbXVz
dCByZXR1cm4gLTcnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCI4IiksIDgsICdOdW1iZXIo
IjgiKSBtdXN0IHJldHVybiA4Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiKzgiKSwgOCwg
J051bWJlcigiKzgiKSBtdXN0IHJldHVybiA4Jyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigi
LTgiKSwgLTgsICdOdW1iZXIoIi04IikgbXVzdCByZXR1cm4gLTgnKTsKK2Fzc2VydC5zYW1lVmFs
dWUoTnVtYmVyKCI5IiksIDksICdOdW1iZXIoIjkiKSBtdXN0IHJldHVybiA5Jyk7Cithc3NlcnQu
c2FtZVZhbHVlKE51bWJlcigiKzkiKSwgOSwgJ051bWJlcigiKzkiKSBtdXN0IHJldHVybiA5Jyk7
Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiLTkiKSwgLTksICdOdW1iZXIoIi05IikgbXVzdCBy
ZXR1cm4gLTknKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvUzkuMy4xX0E1X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9TOS4zLjFfQTVfVDMuanMKaW5kZXggZmNiNGJjNmVlN2M4NmQ4ZTIyYjIwZjg4ZTJmYjk1
YTQ1NWRmZjc0Yi4uZTZmMzE1NWY4Njg4NGJkZDc2YjllNGFkOTdkMzIxMDkwYjU1YWVlMiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTVf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFf
QTVfVDMuanMKQEAgLTEzLDUyICsxMyw0NCBAQCBmdW5jdGlvbiBkeW5hU3RyaW5nKHMxLCBzMikg
ewogICByZXR1cm4gU3RyaW5nKHMxKSArIFN0cmluZyhzMik7CiB9CiAKLS8vIENIRUNLIzEKLWlm
IChOdW1iZXIoZHluYVN0cmluZygiLSIsICIwIikpICE9PSAtTnVtYmVyKCIwIikpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcigiLSIrIjAiKSA9PT0gLU51bWJlcigiMCIp
Jyk7Ci19IGVsc2UgewotICAvLyBDSEVDSyMyCi0gIGlmICgxIC8gTnVtYmVyKGR5bmFTdHJpbmco
Ii0iLCAiMCIpKSAhPT0gLTEgLyBOdW1iZXIoIjAiKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiAxL051bWJlcigiLSIrIjAiKSA9PT0gLTEvTnVtYmVyKCIwIiknKTsKLSAgfQot
fQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKGR5bmFTdHJpbmcoIi1JbmZpIiwgIm5pdHkiKSkg
IT09IC1OdW1iZXIoIkluZmluaXR5IikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IE51bWJlcigiLUluZmkiKyJuaXR5IikgPT09IC1OdW1iZXIoIkluZmluaXR5IiknKTsKLX0KLQot
Ly8gQ0hFQ0sjNAotaWYgKE51bWJlcihkeW5hU3RyaW5nKCItMTIzNDUiLCAiNjc4OTAiKSkgIT09
IC1OdW1iZXIoIjEyMzQ1Njc4OTAiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
TnVtYmVyKCItMTIzNDUiKyI2Nzg5MCIpID09PSAtTnVtYmVyKCIxMjM0NTY3ODkwIiknKTsKLX0K
LQotLy8gQ0hFQ0sjNQotaWYgKE51bWJlcihkeW5hU3RyaW5nKCItMTIzNC4iLCAiNTY3OCIpKSAh
PT0gLU51bWJlcigiMTIzNC41Njc4IikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6
IE51bWJlcigiLTEyMzQuIisiNTY3OCIpID09PSAtTnVtYmVyKCIxMjM0LjU2NzgiKScpOwotfQot
Ci0vLyBDSEVDSyM2Ci1pZiAoTnVtYmVyKGR5bmFTdHJpbmcoIi0xMjM0LiIsICI1Njc4ZTkwIikp
ICE9PSAtTnVtYmVyKCIxMjM0LjU2NzhlOTAiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjNjogTnVtYmVyKCItMTIzNC4iKyI1Njc4ZTkwIikgPT09IC1OdW1iZXIoIjEyMzQuNTY3OGU5
MCIpJyk7Ci19Ci0KLS8vIENIRUNLIzcKLWlmIChOdW1iZXIoZHluYVN0cmluZygiLTEyMzQuIiwg
IjU2NzhFOTAiKSkgIT09IC1OdW1iZXIoIjEyMzQuNTY3OEU5MCIpKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM2OiBOdW1iZXIoIi0xMjM0LiIrIjU2NzhFOTAiKSA9PT0gLU51bWJlcigi
MTIzNC41Njc4RTkwIiknKTsKLX0KLQotLy8gQ0hFQ0sjOAotaWYgKE51bWJlcihkeW5hU3RyaW5n
KCItMTIzNC4iLCAiNTY3OGUtOTAiKSkgIT09IC1OdW1iZXIoIjEyMzQuNTY3OGUtOTAiKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogTnVtYmVyKCItMTIzNC4iKyI1Njc4ZS05MCIp
ID09PSAtTnVtYmVyKCIxMjM0LjU2NzhlLTkwIiknKTsKLX0KLQotLy8gQ0hFQ0sjOQotaWYgKE51
bWJlcihkeW5hU3RyaW5nKCItMTIzNC4iLCAiNTY3OEUtOTAiKSkgIT09IC1OdW1iZXIoIjEyMzQu
NTY3OEUtOTAiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogTnVtYmVyKCItMTIz
NC4iKyI1Njc4RS05MCIpID09PSAtTnVtYmVyKCIxMjM0LjU2NzhFLTkwIiknKTsKLX0KLQotLy8g
Q0hFQ0sjMTAKLWlmIChOdW1iZXIoZHluYVN0cmluZygiLUluZmkiLCAibml0eSIpKSAhPT0gTnVt
YmVyLk5FR0FUSVZFX0lORklOSVRZKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBO
dW1iZXIoIi1JbmZpIisibml0eSIpID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFknKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKGR5bmFTdHJpbmcoIi0iLCAiMCIpKSwgLTAsICdOdW1i
ZXIoZHluYVN0cmluZygiLSIsICIwIikpIG11c3QgcmV0dXJuIC1OdW1iZXIoIjAiKScpOworCith
c3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmluZygiLUluZmkiLCAibml0eSIpKSwK
KyAgLUluZmluaXR5CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmlu
ZygiLTEyMzQ1IiwgIjY3ODkwIikpLAorICAtMTIzNDU2Nzg5MAorKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgTnVtYmVyKGR5bmFTdHJpbmcoIi0xMjM0LiIsICI1Njc4IikpLAorICAtMTIzNC41
Njc4CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmluZygiLTEyMzQu
IiwgIjU2NzhlOTAiKSksCisgIC0xMjM0LjU2NzhlOTAKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIE51bWJlcihkeW5hU3RyaW5nKCItMTIzNC4iLCAiNTY3OEU5MCIpKSwKKyAgLTEyMzQuNTY3
OEU5MAorKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgTnVtYmVyKGR5bmFTdHJpbmcoIi0xMjM0
LiIsICI1Njc4ZS05MCIpKSwKKyAgLTEyMzQuNTY3OGUtOTAKKyk7CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIE51bWJlcihkeW5hU3RyaW5nKCItMTIzNC4iLCAiNTY3OEUtOTAiKSksCisgIC0xMjM0
LjU2NzhFLTkwCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmluZygi
LUluZmkiLCAibml0eSIpKSwKKyAgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCispOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTZfVDEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BNl9UMS5q
cwppbmRleCAyYzJkZWYzNjdkOWFjOGQ4NDUzYjRiOWRjNGE5NGMzYjAzZjc4MjBmLi4wODQ3Yzll
NjEyMmMxNmExNWZhN2VmMzllOTNkOTI3NGI5YjAwZWUxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BNl9UMS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BNl9UMS5qcwpAQCAtMTAsMjMg
KzEwLDEyIEBACiAgICAgQ29tcGFyZSBOdW1iZXIoJ0luZmluaXR5Jykgd2l0aCBOdW1iZXIuUE9T
SVRJVkVfSU5GSU5JVFksCiAgICAgMTBlMTAwMDAsIDEwRTEwMDAwIGFuZCBOdW1iZXIoIjEwZTEw
MDAwIikKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiSW5maW5pdHkiKSwgTnVtYmVy
LlBPU0lUSVZFX0lORklOSVRZLCAnTnVtYmVyKCJJbmZpbml0eSIpIHJldHVybnMgTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigiSW5maW5pdHkiKSwg
MTBlMTAwMDAsICdOdW1iZXIoIkluZmluaXR5IikgbXVzdCByZXR1cm4gMTBlMTAwMDAnKTsKK2Fz
c2VydC5zYW1lVmFsdWUoTnVtYmVyKCJJbmZpbml0eSIpLCAxMEUxMDAwMCwgJ051bWJlcigiSW5m
aW5pdHkiKSBtdXN0IHJldHVybiAxMEUxMDAwMCcpOwogCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVy
KCJJbmZpbml0eSIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcigiSW5maW5pdHkiKSA9PT0gTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZJyk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoIkluZmluaXR5IikgIT09
IDEwZTEwMDAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIoIkluZmlu
aXR5IikgPT09IDEwZTEwMDAwJyk7Ci19Ci0KLS8vIENIRUNLIzMKLWlmIChOdW1iZXIoIkluZmlu
aXR5IikgIT09IDEwRTEwMDAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBOdW1i
ZXIoIkluZmluaXR5IikgPT09IDEwRTEwMDAwJyk7Ci19Ci0KLS8vIENIRUNLIzQKLWlmIChOdW1i
ZXIoIkluZmluaXR5IikgIT09IE51bWJlcigiMTBlMTAwMDAiKSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNDogTnVtYmVyKCJJbmZpbml0eSIpID09PSBOdW1iZXIoIjEwZTEwMDAwIikn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcigiSW5maW5pdHkiKSwKKyAgMTBlMTAw
MDAsCisgICdOdW1iZXIoIkluZmluaXR5IikgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0
dXJuZWQgYnkgTnVtYmVyKCIxMGUxMDAwMCIpJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E2X1QyLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTZfVDIuanMKaW5kZXggZTQ0NDU1ZDc3
YzA0MmVmY2I0N2Q2YTFkYTg3NjdmNGI3MjFmZDc2NC4uZWE5M2Y2YmU3NTVjY2ZkNzIzMWU0NDFj
M2VjNmVmM2EzMGNlMmMzMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zLjFfQTZfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9TOS4zLjFfQTZfVDIuanMKQEAgLTE2LDIyICsxNiwyNiBAQCBmdW5jdGlv
biBkeW5hU3RyaW5nKHMxLCBzMikgewogfQogCiAKLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoZHlu
YVN0cmluZygiSW5maSIsICJuaXR5IikpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcigiSW5maSIrIm5pdHkiKSA9PT0g
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1i
ZXIoZHluYVN0cmluZygiSW5maSIsICJuaXR5IikpLAorICBOdW1iZXIuUE9TSVRJVkVfSU5GSU5J
VFksCisgICdOdW1iZXIoZHluYVN0cmluZygiSW5maSIsICJuaXR5IikpIHJldHVybnMgTnVtYmVy
LlBPU0lUSVZFX0lORklOSVRZJworKTsKIAotLy8gQ0hFQ0sjMgotaWYgKE51bWJlcihkeW5hU3Ry
aW5nKCJJbmZpIiwgIm5pdHkiKSkgIT09IDEwZTEwMDAwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBOdW1iZXIoIkluZmkiKyJuaXR5IikgPT09IDEwZTEwMDAwJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmluZygiSW5maSIsICJuaXR5IikpLAorICAx
MGUxMDAwMCwKKyAgJ051bWJlcihkeW5hU3RyaW5nKCJJbmZpIiwgIm5pdHkiKSkgbXVzdCByZXR1
cm4gMTBlMTAwMDAnCispOwogCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKGR5bmFTdHJpbmcoIklu
ZmkiLCAibml0eSIpKSAhPT0gMTBFMTAwMDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IE51bWJlcigiSW5maSIrIm5pdHkiKSA9PT0gMTBFMTAwMDAnKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE51bWJlcihkeW5hU3RyaW5nKCJJbmZpIiwgIm5pdHkiKSksCisgIDEwRTEwMDAw
LAorICAnTnVtYmVyKGR5bmFTdHJpbmcoIkluZmkiLCAibml0eSIpKSBtdXN0IHJldHVybiAxMEUx
MDAwMCcKKyk7CiAKLS8vIENIRUNLIzQKLWlmIChOdW1iZXIoZHluYVN0cmluZygiSW5maSIsICJu
aXR5IikpICE9PSBOdW1iZXIoIjEwZTEwMDAwIikpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzQ6IE51bWJlcigiSW5maSIrIm5pdHkiKSA9PT0gTnVtYmVyKCIxMGUxMDAwMCIpJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoZHluYVN0cmluZygiSW5maSIsICJuaXR5Iikp
LAorICBOdW1iZXIoIjEwZTEwMDAwIiksCisgICdOdW1iZXIoZHluYVN0cmluZygiSW5maSIsICJu
aXR5IikpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5IE51bWJlcigiMTBl
MTAwMDAiKScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL1M5LjMuMV9BNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvUzkuMy4xX0E3LmpzCmluZGV4IDE3MDMxOTJiMjRkNzFhNThkMjI5NWNmMmNhYTA1YTE3YWRl
Y2MyNGEuLmIzZTA1ZjUxNjQ3Y2JjNWMxOWFkOWVlM2JhYmNlMTBjYTIzM2FmOTYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E3LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E3LmpzCkBA
IC05LDggKzksOCBAQAogZXM1aWQ6IDkuMy4xX0E3CiBkZXNjcmlwdGlvbjogQ29tcGFyZSBOdW1i
ZXIoJzEyMzQuNTY3OCcpIHdpdGggTnVtYmVyKCcxMjM0JykrKCsoJzU2NzgnKSoxZS00KQogLS0t
Ki8KLQotLy8gQ0hFQ0sjMQotaWYgKE51bWJlcigiMTIzNC41Njc4IikgIT09IE51bWJlcigiMTIz
NCIpICsgKCsoIjU2NzgiKSAqIDFlLTQpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBOdW1iZXIoIjEyMzQuNTY3OCIpID09PSBOdW1iZXIoIjEyMzQiKSsoKygiNTY3OCIpKjFlLTQp
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIoIjEyMzQuNTY3OCIpLAorICAxMjM0
LjU2NzgsCisgICdOdW1iZXIoIjEyMzQuNTY3OCIpIG11c3QgcmV0dXJuIE51bWJlcigiMTIzNCIp
ICsgKCsoIjU2NzgiKSAqIDFlLTQpJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuMy4xX0E4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9TOS4zLjFfQTguanMKaW5kZXggYTkzMTFjM2YyNTA0ODk3NzhiN2Jk
Y2E1ZmM4NDM0OGY5MWNiMDY0Yi4uZDdjZmMzNzk3ZmFiODRkMmQxODNkODVhZGZhYzBiOTIzZjI2
MDM3ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTguanMKQEAgLTEwLDEzICsxMCw1IEBACiAgICAgQ29tcGFyZSBOdW1iZXIoJzEyMzRl
NScpIGFuZCBOdW1iZXIoJzEyMzQuZTUnKSB3aXRoCiAgICAgTnVtYmVyKCcxMjM0JykqMWU1CiAt
LS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVyKCIxMjM0ZTUiKSAhPT0gTnVtYmVyKCIxMjM0
IikgKiAxZTUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcigiMTIzNGU1
IikgPT09IE51bWJlcigiMTIzNCIpKjFlNScpOwotfQotCi0vLyBDSEVDSyMyCi1pZiAoTnVtYmVy
KCIxMjM0LmU1IikgIT09ICsoIjEyMzQiKSAqIDFlNSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogTnVtYmVyKCIxMjM0LmU1IikgPT09ICsoIjEyMzQiKSoxZTUnKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoTnVtYmVyKCIxMjM0ZTUiKSwgMTIzNDAwMDAwLCAnTnVtYmVyKCIxMjM0ZTUi
KSBtdXN0IHJldHVybiAxMjM0MDAwMDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKCIxMjM0
LmU1IiksIDEyMzQwMDAwMCwgJ051bWJlcigiMTIzNC5lNSIpIG11c3QgcmV0dXJuIDEyMzQwMDAw
MCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9T
OS4zLjFfQTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMu
MV9BOS5qcwppbmRleCBmMGMwNzZhOTlhMTdlMzZhYzZmMmMyYjk1YTRjNGUwYWVkYzAwYjA0Li40
NDBmNGQzNWE5MmI2NzAxNWJmYWZmMWJkOGZmYzVjMjk3ZjQ0NmQwIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BOS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjMuMV9BOS5qcwpAQCAtMTMsMTMg
KzEzLDE0IEBAIENvbXBhcmUgTnVtYmVyKCcxMjM0LjU2NzhlOScpIHdpdGgKICAgICAoTnVtYmVy
KCcxMjM0JykrKE51bWJlcignNTY3OCcpKjFlLTQpKSoxZTksICBhbmQgKygnMTIzNC41Njc4ZS05
JykKICAgICB3aXRoIChOdW1iZXIoJzEyMzQnKSsoTnVtYmVyKCc1Njc4JykqMWUtNCkpKjFlLTkK
IC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICAoTnVtYmVyKCIxMjM0IikgKyAoTnVtYmVyKCI1
Njc4IikgKiAxZS00KSkgKiAxZTksCisgIDEyMzQuNTY3OGU5LAorICAnTnVtYmVyKCIxMjM0LjU2
NzhlOSIpIG11c3QgcmV0dXJuIChOdW1iZXIoIjEyMzQiKSArIChOdW1iZXIoIjU2NzgiKSAqIDFl
LTQpKSAqIDFlOScKKyk7CiAKLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoIjEyMzQuNTY3OGU5Iikg
IT09IChOdW1iZXIoIjEyMzQiKSArIChOdW1iZXIoIjU2NzgiKSAqIDFlLTQpKSAqIDFlOSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyKCIxMjM0LjU2NzhlOSIpID09PSAo
TnVtYmVyKCIxMjM0IikrKE51bWJlcigiNTY3OCIpKjFlLTQpKSoxZTknKTsKLX0KLQotLy8gQ0hF
Q0sjMgotaWYgKCsoIjEyMzQuNTY3OGUtOSIpICE9PSAoTnVtYmVyKCIxMjM0IikgKyAoTnVtYmVy
KCI1Njc4IikgKiAxZS00KSkgKiAxZS05KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiArKCIxMjM0LjU2NzhlLTkiKSA9PT0gKE51bWJlcigiMTIzNCIpKyhOdW1iZXIoIjU2NzgiKSox
ZS00KSkqMWUtOScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKE51bWJlcigiMTIzNCIpICsg
KE51bWJlcigiNTY3OCIpICogMWUtNCkpICogMWUtOSwKKyAgMTIzNC41Njc4ZS05LAorICAnVGhl
IHZhbHVlIG9mIGArKCIxMjM0LjU2NzhlLTkiKWAgaXMgZXhwZWN0ZWQgdG8gYmUgKE51bWJlcigi
MTIzNCIpICsgKE51bWJlcigiNTY3OCIpICogMWUtNCkpICogMWUtOScKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjNfQTJfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjNfQTJfVDEuanMKaW5kZXgg
Y2ZmZjNmN2EzNDE0MTRiNGJiNDMwZTI0YjdkZGI2NWRiYmY4ZjA2Zi4uZjcwOWRkNGRjNDUyMTJi
ZTE4NmVhNGJkZDQ0NjE0NzM4YmIxYjZjNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9TOS4zX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuM19BMl9UMS5qcwpAQCAtNiwxMiArNiw0IEBACiBlczVp
ZDogOS4zX0EyX1QxCiBkZXNjcmlwdGlvbjogbnVsbCBjb252ZXJ0IHRvIE51bWJlciBieSBleHBs
aWNpdCB0cmFuc2Zvcm1hdGlvbgogLS0tKi8KLQotLy8gQ0hFQ0sgIzEKLWlmIChOdW1iZXIobnVs
bCkgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogTnVtYmVyKG51bGwp
ID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKG51bGwpKSk7Ci19IGVsc2UgewotICBpZiAoMSAv
IE51bWJlcihudWxsKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMjogTnVtYmVyKG51bGwpID09PSArMC4gQWN0dWFsOiAtMCcp
OwotICB9Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihudWxsKSwgMCwgJ051bWJlcihudWxs
KSBtdXN0IHJldHVybiAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL1M5LjNfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL1M5LjNfQTNfVDEuanMKaW5kZXggMDViNTRlMzE4YTljYWE4MWQzZDcyMTk0ZGJl
ZTYzOWIwM2E4ZmE4Ny4uNWQ4MTk1YmY0ZTc4NzFiZDExMDExN2NmOTMxYzlmNmRmMjkwMGY5ZSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zX0Ez
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuM19B
M19UMS5qcwpAQCAtOCwxNyArOCw1IEBACiBlczVpZDogOS4zX0EzX1QxCiBkZXNjcmlwdGlvbjog
RmFsc2UgYW5kIHRydWUgY29udmVydCB0byBOdW1iZXIgYnkgZXhwbGljaXQgdHJhbnNmb3JtYXRp
b24KIC0tLSovCi0KLS8vIENIRUNLIzEKLWlmIChOdW1iZXIoZmFsc2UpICE9PSArMCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBOdW1iZXIoZmFsc2UpID09PSAwLiBBY3R1YWw6
ICcgKyAoTnVtYmVyKGZhbHNlKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoZmFsc2Up
ICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4yOiBOdW1iZXIoZmFsc2UpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Ci0K
LS8vIENIRUNLIzIKLWlmIChOdW1iZXIodHJ1ZSkgIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IE51bWJlcih0cnVlKSA9PT0gMS4gQWN0dWFsOiAnICsgKE51bWJlcih0cnVl
KSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoZmFsc2UpLCArMCwgJ051bWJlcihmYWxz
ZSkgbXVzdCByZXR1cm4gKzAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKHRydWUpLCAxLCAn
TnVtYmVyKHRydWUpIG11c3QgcmV0dXJuIDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuM19BNC4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4zX0E0LjFfVDEuanMKaW5kZXggMzYyZTZiMTkxMTE1
ZmZjNGUxZDIzMjRmZWE0MDNiYTNiNWRjOGIyMy4uNjEzY2E2ZTQxN2EzYTI1NzYyNTkzOTExODUw
ODMxNTg3NmQyMTUwZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9TOS4zX0E0LjFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9TOS4zX0E0LjFfVDEuanMKQEAgLTEwLDIzICsxMCw3IEBACiAgICAgU29tZSBu
dW1iZXJzIGluY2x1ZGluZyBOdW1iZXIuTUFYX1ZBTFVFIGFuZCBOdW1iZXIuTUlOX1ZBTFVFIGFy
ZQogICAgIGNvbnZlcnRlZCB0byBOdW1iZXIgd2l0aCBleHBsaWNpdCB0cmFuc2Zvcm1hdGlvbgog
LS0tKi8KLQotLy8gQ0hFQ0sjMQotaWYgKE51bWJlcigxMykgIT09IDEzKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIoMTMpID09PSAxMy4gQWN0dWFsOiAnICsgKE51bWJl
cigxMykpKTsKLX0KLQotLy8gQ0hFQ0sjMgotaWYgKE51bWJlcigtMTMpICE9PSAtMTMpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlcigtMTMpID09PSAtMTMuIEFjdHVhbDog
JyArIChOdW1iZXIoLTEzKSkpOwotfQotCi0vLyBDSEVDSyMzCi1pZiAoTnVtYmVyKDEuMykgIT09
IDEuMykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogTnVtYmVyKDEuMykgPT09IDEu
My4gQWN0dWFsOiAnICsgKE51bWJlcigxLjMpKSk7Ci19Ci0KLS8vIENIRUNLIzQKLWlmIChOdW1i
ZXIoLTEuMykgIT09IC0xLjMpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IE51bWJl
cigtMS4zKSA9PT0gLTEuMy4gQWN0dWFsOiAnICsgKE51bWJlcigtMS4zKSkpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShOdW1iZXIoMTMpLCAxMywgJ051bWJlcigxMykgbXVzdCByZXR1cm4gMTMnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyKC0xMyksIC0xMywgJ051bWJlcigtMTMpIG11c3QgcmV0
dXJuIC0xMycpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoMS4zKSwgMS4zLCAnTnVtYmVyKDEu
MykgbXVzdCByZXR1cm4gMS4zJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcigtMS4zKSwgLTEu
MywgJ051bWJlcigtMS4zKSBtdXN0IHJldHVybiAtMS4zJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjNfQTQuMl9UMS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvUzkuM19BNC4yX1QxLmpzCmluZGV4IGM0NDJl
NTAzNzI0MTJjZDQ3MGMwMjA0MzEwYTBmYzdiNTFkMDA1NjkuLmJjZjgyMjRiMjk1MzkwNmQ3ZGYx
NTkyZDM5NDhjNDYyMGRlOTJhYjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvUzkuM19BNC4yX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvUzkuM19BNC4yX1QxLmpzCkBAIC0xMyw0MiArMTMsMjIgQEAKIC0t
LSovCiAKIC8vIENIRUNLIzEKLWFzc2VydC5zYW1lVmFsdWUoTnVtYmVyKE5hTiksIE5hTiwgIk5h
TiIpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoTmFOKSwgTmFOLCAnTnVtYmVyKHRydWUpIHJl
dHVybnMgTmFOJyk7CiAKLS8vIENIRUNLIzIKLWlmIChOdW1iZXIoKzApICE9PSArMCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMi4xOiBOdW1iZXIoKzApID09PSAwLiBBY3R1YWw6ICcg
KyAoTnVtYmVyKCswKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIoKzApICE9PSBOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMi4y
OiBOdW1iZXIoKzApID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Cithc3NlcnQuc2FtZVZh
bHVlKE51bWJlcigrMCksICswLCAnTnVtYmVyKCswKSBtdXN0IHJldHVybiArMCcpOworYXNzZXJ0
LnNhbWVWYWx1ZShOdW1iZXIoLTApLCAtMCwgJ051bWJlcigtMCkgbXVzdCByZXR1cm4gLTAnKTsK
IAotLy8gQ0hFQ0sjMwotaWYgKE51bWJlcigtMCkgIT09IC0wKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMzLjE6IE51bWJlcigtMCkgPT09IDAuIEFjdHVhbDogJyArIChOdW1iZXIoLTAp
KSk7Ci19IGVsc2UgewotICBpZiAoMSAvIE51bWJlcigtMCkgIT09IE51bWJlci5ORUdBVElWRV9J
TkZJTklUWSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6IE51bWJlcigtMCkg
PT09IC0wLiBBY3R1YWw6ICswJyk7Ci0gIH0KLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJl
cihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLAorICBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFks
CisgICdOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSByZXR1cm5zIE51bWJlci5QT1NJ
VElWRV9JTkZJTklUWScKKyk7CiAKLS8vIENIRUNLIzQKLWlmIChOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM0OiBOdW1iZXIoK0luZmluaXR5KSA9PT0gK0luZmluaXR5LiBBY3R1
YWw6ICcgKyAoTnVtYmVyKCtJbmZpbml0eSkpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51
bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpLAorICBOdW1iZXIuTkVHQVRJVkVfSU5GSU5J
VFksCisgICdOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSByZXR1cm5zIE51bWJlci5O
RUdBVElWRV9JTkZJTklUWScKKyk7CiAKLS8vIENIRUNLIzUKLWlmIChOdW1iZXIoTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBOdW1iZXIoLUluZmluaXR5KSA9PT0gLUluZmluaXR5LiBB
Y3R1YWw6ICcgKyAoTnVtYmVyKC1JbmZpbml0eSkpKTsKLX0KLQotLy8gQ0hFQ0sjNgotaWYgKE51
bWJlcihOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNjogTnVtYmVyKE51bWJlci5NQVhfVkFMVUUpID09PSBOdW1iZXIu
TUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoTnVtYmVyKE51bWJlci5NQVhfVkFMVUUpKSk7Ci19Ci0K
LS8vIENIRUNLIzcKLWlmIChOdW1iZXIoTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5NSU5f
VkFMVUUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IE51bWJlcihOdW1iZXIuTUlO
X1ZBTFVFKSA9PT0gTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlcihOdW1iZXIu
TUlOX1ZBTFVFKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIoTnVtYmVyLk1BWF9WQUxV
RSksIE51bWJlci5NQVhfVkFMVUUsICdOdW1iZXIoTnVtYmVyLk1BWF9WQUxVRSkgcmV0dXJucyBO
dW1iZXIuTUFYX1ZBTFVFJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihOdW1iZXIuTUlOX1ZB
TFVFKSwgTnVtYmVyLk1JTl9WQUxVRSwgJ051bWJlcihOdW1iZXIuTUlOX1ZBTFVFKSByZXR1cm5z
IE51bWJlci5NSU5fVkFMVUUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvUzkuM19BNV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvUzkuM19BNV9UMS5qcwppbmRleCAxMmU1MzdmZWNmM2VmODBmNGMzOTg5MjAw
ZTg2NTY5MjYwMzg5MjQ5Li43ZWVlNjFlNmQ2NjE0MWU0Mjg2NmIyZTI3MzNiOGNhNjE2ZTVmZjI2
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL1M5LjNf
QTVfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9TOS4z
X0E1X1QxLmpzCkBAIC0xMSw2MiArMTEsMjQgQEAKICAgICBOdW1iZXIobnVsbCksICBuZXcgTnVt
YmVyKHZvaWQgMCkgYW5kIG90aGVycyBjb252ZXJ0IHRvIE51bWJlciBieQogICAgIGV4cGxpY2l0
IHRyYW5zZm9ybWF0aW9uCiAtLS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoTnVtYmVyKG5ldyBOdW1i
ZXIoKSkgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlcihuZXcg
TnVtYmVyKCkpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKG5ldyBOdW1iZXIoKSkpKTsKLX0K
LQotLy8gQ0hFQ0sjMgotaWYgKE51bWJlcihuZXcgTnVtYmVyKDApKSAhPT0gMCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyKG5ldyBOdW1iZXIoMCkpID09PSAwLiBBY3R1
YWw6ICcgKyAoTnVtYmVyKG5ldyBOdW1iZXIoMCkpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51
bWJlcihuZXcgTnVtYmVyKCkpLCAwLCAnTnVtYmVyKG5ldyBOdW1iZXIoKSkgbXVzdCByZXR1cm4g
MCcpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIobmV3IE51bWJlcigwKSksIDAsICdOdW1iZXIo
bmV3IE51bWJlcigwKSkgbXVzdCByZXR1cm4gMCcpOwogCiAvLyBDSEVDSyMzCi1hc3NlcnQuc2Ft
ZVZhbHVlKE51bWJlcihuZXcgTnVtYmVyKE5hTikpLCBOYU4sICJOdW1iZXIobmV3IE51bWJlcihO
YU4pIik7Ci0KLS8vIENIRUNLIzQKLWlmIChOdW1iZXIobmV3IE51bWJlcihudWxsKSkgIT09IDAp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQuMTogTnVtYmVyKG5ldyBOdW1iZXIobnVs
bCkpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKG5ldyBOdW1iZXIobnVsbCkpKSk7Ci19IGVs
c2UgewotICBpZiAoMSAvIE51bWJlcihuZXcgTnVtYmVyKG51bGwpKSAhPT0gTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQuMjogTnVtYmVy
KG5ldyBOdW1iZXIobnVsbCkpID09PSArMC4gQWN0dWFsOiAtMCcpOwotICB9Ci19Cithc3NlcnQu
c2FtZVZhbHVlKE51bWJlcihuZXcgTnVtYmVyKE5hTikpLCBOYU4sICdOdW1iZXIobmV3IE51bWJl
cihOYU4pKSByZXR1cm5zIE5hTicpOworCithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihuZXcgTnVt
YmVyKG51bGwpKSwgMCwgJ051bWJlcihuZXcgTnVtYmVyKG51bGwpKSBtdXN0IHJldHVybiAwJyk7
CiAKIC8vIENIRUNLIzUKLWFzc2VydC5zYW1lVmFsdWUoTnVtYmVyKG5ldyBOdW1iZXIodm9pZCAw
KSksIE5hTiwgIk51bWJlcihuZXcgTnVtYmVyKHZvaWQgMCkiKTsKLQotLy8gQ0hFQ0sjNgotaWYg
KE51bWJlcihuZXcgTnVtYmVyKHRydWUpKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNjogTnVtYmVyKG5ldyBOdW1iZXIodHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoTnVt
YmVyKG5ldyBOdW1iZXIodHJ1ZSkpKSk7Ci19Ci0KLS8vIENIRUNLIzcKLWlmIChOdW1iZXIobmV3
IE51bWJlcihmYWxzZSkpICE9PSArMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNy4x
OiBOdW1iZXIobmV3IE51bWJlcihmYWxzZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKG5l
dyBOdW1iZXIoZmFsc2UpKSkpOwotfSBlbHNlIHsKLSAgaWYgKDEgLyBOdW1iZXIobmV3IE51bWJl
cihmYWxzZSkpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjNy4yOiBOdW1iZXIobmV3IE51bWJlcihmYWxzZSkpID09PSArMC4gQWN0
dWFsOiAtMCcpOwotICB9Ci19Ci0KLS8vIENIRUNLIzgKLWlmIChOdW1iZXIobmV3IEJvb2xlYW4o
dHJ1ZSkpICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBOdW1iZXIobmV3
IEJvb2xlYW4odHJ1ZSkpID09PSAxLiBBY3R1YWw6ICcgKyAoTnVtYmVyKG5ldyBCb29sZWFuKHRy
dWUpKSkpOwotfQotCi0vLyBDSEVDSyM5Ci1pZiAoTnVtYmVyKG5ldyBCb29sZWFuKGZhbHNlKSkg
IT09ICswKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5LjE6IE51bWJlcihuZXcgQm9v
bGVhbihmYWxzZSkpID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyKG5ldyBCb29sZWFuKGZhbHNl
KSkpKTsKLX0gZWxzZSB7Ci0gIGlmICgxIC8gTnVtYmVyKG5ldyBCb29sZWFuKGZhbHNlKSkgIT09
IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM5LjI6IE51bWJlcihuZXcgQm9vbGVhbihmYWxzZSkpID09PSArMC4gQWN0dWFsOiAtMCcpOwot
ICB9Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihuZXcgTnVtYmVyKHZvaWQgMCkpLCBOYU4s
ICdOdW1iZXIobmV3IE51bWJlcih2b2lkIDApKSByZXR1cm5zIE5hTicpOworCithc3NlcnQuc2Ft
ZVZhbHVlKE51bWJlcihuZXcgTnVtYmVyKHRydWUpKSwgMSwgJ051bWJlcihuZXcgTnVtYmVyKHRy
dWUpKSBtdXN0IHJldHVybiAxJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihuZXcgTnVtYmVy
KGZhbHNlKSksICswLCAnTnVtYmVyKG5ldyBOdW1iZXIoZmFsc2UpKSBtdXN0IHJldHVybiArMCcp
OworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIobmV3IEJvb2xlYW4odHJ1ZSkpLCAxLCAnTnVtYmVy
KG5ldyBCb29sZWFuKHRydWUpKSBtdXN0IHJldHVybiAxJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51
bWJlcihuZXcgQm9vbGVhbihmYWxzZSkpLCArMCwgJ051bWJlcihuZXcgQm9vbGVhbihmYWxzZSkp
IG11c3QgcmV0dXJuICswJyk7CiAKIC8vIENIRUNLIzEwCi1hc3NlcnQuc2FtZVZhbHVlKE51bWJl
cihuZXcgQXJyYXkoMiwgNCwgOCwgMTYsIDMyKSksIE5hTiwgIk51bWJlcihuZXcgQXJyYXkoMiw0
LDgsMTYsMzIpKSIpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIobmV3IEFycmF5KDIsIDQsIDgs
IDE2LCAzMikpLCBOYU4sICdOdW1iZXIobmV3IEFycmF5KDIsIDQsIDgsIDE2LCAzMikpIHJldHVy
bnMgTmFOJyk7CiAKIC8vIENIRUNLIzExCiB2YXIgbXlvYmoxID0gewpAQCAtODEsNyArNDMsNyBA
QAogICB9CiB9OwogCi1hc3NlcnQuc2FtZVZhbHVlKE51bWJlcihteW9iajEpLCBOYU4sICJOdW1i
ZXIobXlvYmoxKSIpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIobXlvYmoxKSwgTmFOLCAnTnVt
YmVyKCJ7VG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAxMjM0NTt9LCB0b1N0cmluZzogZnVu
Y3Rpb24oKSB7cmV0dXJuICI2Nzg5MCI7fSwgdmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJb
b2JqZWN0IE15T2JqXSI7fX0pIHJldHVybnMgTmFOJyk7CiAKIC8vIENIRUNLIzEyCiB2YXIgbXlv
YmoyID0gewpAQCAtOTYsOSArNTgsMTEgQEAKICAgfQogfTsKIAotaWYgKE51bWJlcihteW9iajIp
ICE9PSA5ODc2NTQzMjEwKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIiMxMjogTnVtYmVy
KG15b2JqMikgY2FsbHMgVG9QcmltaXRpdmUgd2l0aCBoaW50IE51bWJlci4gRXhwdGVjdGVkOiA5
ODc2NTQzMjEwLiBBY3R1YWw6ICIgKyAoTnVtYmVyKG15b2JqMikpKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE51bWJlcihteW9iajIpLAorICA5ODc2NTQzMjEwLAorICAnTnVtYmVyKCJ7VG9O
dW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAxMjM0NTt9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7
cmV0dXJuICI2Nzg5MCI7fSwgdmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICI5ODc2NTQzMjEw
Ijt9fSkgbXVzdCByZXR1cm4gOTg3NjU0MzIxMCcKKyk7CiAKIAogLy8gQ0hFQ0sjMTMKQEAgLTEx
MSw3ICs3NSw3IEBACiAgIH0KIH07CiAKLWFzc2VydC5zYW1lVmFsdWUoTnVtYmVyKG15b2JqMyks
IE5hTiwgIk51bWJlcihteW9iajMpIik7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihteW9iajMp
LCBOYU4sICdOdW1iZXIoIntUb051bWJlcjogZnVuY3Rpb24oKSB7cmV0dXJuIDEyMzQ1O30sIHRv
U3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIltvYmplY3QgTXlPYmpdIjt9fSkgcmV0dXJucyBO
YU4nKTsKIAogLy8gQ0hFQ0sjMTQKIHZhciBteW9iajQgPSB7CkBAIC0xMjMsOSArODcsMTEgQEAK
ICAgfQogfTsKIAotaWYgKE51bWJlcihteW9iajQpICE9PSA2Nzg5MCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCIjMTQ6IE51bWJlcihteW9iajQpIGNhbGxzIFRvUHJpbWl0aXZlIHdpdGgg
aGludCBOdW1iZXIuIEV4cHRlY3RlZDogNjc4OTAuICBBY3R1YWw6ICIgKyAoTnVtYmVyKG15b2Jq
NCkpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlcihteW9iajQpLAorICA2Nzg5MCwK
KyAgJ051bWJlcigie1RvTnVtYmVyOiBmdW5jdGlvbigpIHtyZXR1cm4gMTIzNDU7fSwgdG9TdHJp
bmc6IGZ1bmN0aW9uKCkge3JldHVybiAiNjc4OTAiO319KSBtdXN0IHJldHVybiA2Nzg5MCcKKyk7
CiAKIC8vIENIRUNLIzE1CiB2YXIgbXlvYmo1ID0gewpAQCAtMTM0LDQgKzEwMCw0IEBACiAgIH0K
IH07CiAKLWFzc2VydC5zYW1lVmFsdWUoTnVtYmVyKG15b2JqNSksIE5hTiwgIk51bWJlcihteW9i
ajUpIik7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlcihteW9iajUpLCBOYU4sICdOdW1iZXIoe1Rv
TnVtYmVyOiBmdW5jdGlvbigpIHtyZXR1cm4gMTIzNDU7fX0pIHJldHVybnMgTmFOJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9T
MTUuNy4zLjFfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS9TMTUuNy4zLjFfQTJfVDEuanMKaW5kZXggYmIxYTRlZjU1MmM4MmEzMjc3YzU5
MmRmYTJiN2ZiYmFmMGRjNWMwNi4uM2ZlOWUxMzI3YTRlNGYzODRmMDY2YWIyOTA4MTExOGE4ZDJk
YWY5ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvUzE1LjcuMy4xX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjMuMV9BMl9UMS5qcwpAQCAtOCwxNCArOCwx
NiBAQAogICAgIENoZWNraW5nIHR5cGUgb2YgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSAtIHRl
c3QgYmFzZWQgb24KICAgICBkZWxldGluZyBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nCiAtLS0q
LwotCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSAhPT0gIm9iamVjdCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBl
ID09PSAib2JqZWN0IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIE51bWJlci5w
cm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgTnVtYmVyLnBy
b3RvdHlwZWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCiBkZWxldGUgTnVtYmVy
LnByb3RvdHlwZS50b1N0cmluZzsKIAotaWYgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoKSAh
PT0gIltvYmplY3QgTnVtYmVyXSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IFRo
ZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGlzIHNl
dCB0byAiTnVtYmVyIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgTnVtYmVyLnByb3RvdHlw
ZS50b1N0cmluZygpLAorICAiW29iamVjdCBOdW1iZXJdIiwKKyAgJ051bWJlci5wcm90b3R5cGUu
dG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBOdW1iZXJdIicKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy4z
LjFfQTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3Rv
dHlwZS9TMTUuNy4zLjFfQTJfVDIuanMKaW5kZXggOTRhZGVlNDg5ZjIzNTQzZTM5MWM0MGJjMTcz
YjAyMDgxY2YwMmNhOC4uNGE5MDFhODAyYjNkODIxZjZiYTM5NGMwNmZhMzVmODRjY2Q4NDNlMCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvUzE1LjcuMy4xX0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjMuMV9BMl9UMi5qcwpAQCAtOCwxNCArOCwxNiBAQAog
ICAgIENoZWNraW5nIHR5cGUgb2YgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSAtIHRlc3QgYmFz
ZWQgb24KICAgICBvdmVyd3JpdGluZyBvZiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nCiAtLS0q
LwotCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSAhPT0gIm9iamVjdCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBl
ID09PSAib2JqZWN0IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIE51bWJlci5w
cm90b3R5cGUsCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgTnVtYmVyLnBy
b3RvdHlwZWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCiBOdW1iZXIucHJvdG90
eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKIAotaWYgKE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6IFRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlciBw
cm90b3R5cGUgb2JqZWN0IGlzIHNldCB0byAiTnVtYmVyIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygpLAorICAiW29iamVjdCBOdW1iZXJdIiwK
KyAgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiW29iamVjdCBOdW1i
ZXJdIicKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVt
YmVyL3Byb3RvdHlwZS9TMTUuNy4zLjFfQTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy4zLjFfQTMuanMKaW5kZXggNzZkMmNlZmYxOGQy
Njk2ZTBlOGY0OTIxNjVhZTJmYjhkZGY5ZWQ2MS4uNWJhNWViNTZiZDNiNGM1MTRkMDQ4NWJjZGNm
Y2RlZDJhNDZjNzNiMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvUzE1LjcuMy4xX0EzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjMuMV9BMy5qcwpAQCAtNiwxMCAr
Niw0IEBACiBlczVpZDogMTUuNy4zLjFfQTMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyB2YWx1ZSBv
ZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1i
ZXIucHJvdG90eXBlICE9IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJl
ci5wcm90b3R5cGUgPT0gKzAnKTsKLX0gZWxzZSBpZiAoMSAvIE51bWJlci5wcm90b3R5cGUgIT0g
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Ci19Cithc3NlcnQoTnVtYmVyLnByb3RvdHlwZSA9
PSAwLCAnVGhlIHZhbHVlIG9mIE51bWJlci5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gYmUgMCcp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvUzE1LjcuNF9BMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvcHJvdG90eXBlL1MxNS43LjRfQTEuanMKaW5kZXggZDk0MTVhZDI4OGUxN2E5Y2JkZjlmNmRk
YTQwZGI4NmEwNzVlMGM5Ny4uNmU1MmFkNzI5NDU4NjY5YTI4NzJhNWIwMDA5Njg3YzY2MDBlZjg1
NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvUzE1LjcuNF9BMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0ExLmpzCkBAIC04LDIxICs4LDE4IEBACiBlczVpZDog
MTUuNy40X0ExCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgdHlwZSBhbmQgdmFsdWUgb2YgTnVtYmVy
LnByb3RvdHlwZSBwcm9wZXJ0eQogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBO
dW1iZXIucHJvdG90eXBlLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE51
bWJlci5wcm90b3R5cGVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKIAotLy9DSEVD
SyMxCi1pZiAodHlwZW9mIE51bWJlci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSA9PT0gIm9iamVj
dCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoTnVtYmVyLnByb3RvdHlwZSAhPSAwKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Ci19IGVs
c2UgaWYgKDEgLyBOdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcp
OwotfQorYXNzZXJ0KE51bWJlci5wcm90b3R5cGUgPT0gMCwgJ1RoZSB2YWx1ZSBvZiBOdW1iZXIu
cHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKIAogZGVsZXRlIE51bWJlci5wcm90b3R5
cGUudG9TdHJpbmc7CiAKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2Jq
ZWN0IE51bWJlcl0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBUaGUgW1tDbGFz
c11dIHByb3BlcnR5IG9mIHRoZSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCBpcyBzZXQgdG8gIk51
bWJlciInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlci5wcm90b3R5cGUudG9TdHJp
bmcoKSwKKyAgIltvYmplY3QgTnVtYmVyXSIsCisgICdOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5n
KCkgbXVzdCByZXR1cm4gIltvYmplY3QgTnVtYmVyXSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRf
QTIuanMKaW5kZXggNjI3ODA3MjQ1Y2E3NmUwNDIyOGM2YzY5NDdkYTk0MTU0ZGUzMTE3OS4uYTI1
NzM1N2ExMzY0Y2ZlMTJhYzU0NDMyNWY2N2I0MTUwMWI0YzI4ZSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUu
Ny40X0EyLmpzCkBAIC04LDggKzgsNyBAQAogZXM1aWQ6IDE1LjcuNF9BMgogZGVzY3JpcHRpb246
IENoZWNraW5nIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBl
KQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVP
ZihOdW1iZXIucHJvdG90eXBlKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogT2Jq
ZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIHByb3RvdHlwZSBvZiBOdW1iZXIgcHJvdG90eXBl
IG9iamVjdCcpOwotfQorYXNzZXJ0KAorICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yo
TnVtYmVyLnByb3RvdHlwZSksCisgICdPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTnVt
YmVyLnByb3RvdHlwZSkgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjEuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40
X0EzLjEuanMKaW5kZXggNDdhOGNhMDRiMzFhOThjNzUxYThhZTQ1YjEwNDE0YmMzMjg1OTIzNC4u
NGIyOTgzYjVmODZiODFjOGNiNTA1NzczYjJlZTkyNDU5ZmQzYzI3MCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy4x
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L1MxNS43LjRfQTMuMS5qcwpAQCAtNiw4ICs2LDggQEAKIGVzNWlkOiAxNS43LjRfQTMuMQogZGVz
Y3JpcHRpb246IFRoZSB0ZXN0IHVzZXMgaGFzT3duUHJvcGVydHkoKSBtZXRob2QKIC0tLSovCi0K
LS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImNvbnN0cnVj
dG9yIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBOdW1i
ZXIgcHJvdG90eXBlIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5IGNvbnN0cnVjdG9yJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJjb25z
dHJ1Y3RvciIpLAorICB0cnVlLAorICAnTnVtYmVyLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgi
Y29uc3RydWN0b3IiKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRfQTMuMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRf
QTMuMi5qcwppbmRleCA1M2EyNWNkOTMzNTZmY2I3ZWVlYTQ5NjhhZTFmN2FkNTdkMzY1NWM1Li42
MDY5ZDlhMzYwZTViNzQ5NDY1Y2MwYzRhNTg4YTFiODA0ODc5YTFjIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjIu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
UzE1LjcuNF9BMy4yLmpzCkBAIC02LDggKzYsOCBAQAogZXM1aWQ6IDE1LjcuNF9BMy4yCiBkZXNj
cmlwdGlvbjogVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogLS0tKi8KLQot
Ly9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmci
KSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIE51bWJlciBw
cm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9TdHJpbmcnKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIiks
CisgIHRydWUsCisgICdOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIp
IG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy4zLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy4zLmpzCmluZGV4
IDc0MWYzZmNiNTg5NThkNTgyYTUzNDgxOTExNTk4N2Q2MTQzMjhkYjkuLmZmYzNlYWU4ZTI3Y2Vm
MDhiN2ZhYzc3OGQzNDcwNjA1ZmQxNTgyYmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRfQTMuMy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjMu
anMKQEAgLTYsOCArNiw4IEBACiBlczVpZDogMTUuNy40X0EzLjMKIGRlc2NyaXB0aW9uOiBUaGUg
dGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlm
IChOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVN0cmluZyIpICE9PSB0
cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlw
ZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZycpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgTnVtYmVyLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9Mb2NhbGVTdHJp
bmciKSwKKyAgdHJ1ZSwKKyAgJ051bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvTG9j
YWxlU3RyaW5nIikgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjQuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0Ez
LjQuanMKaW5kZXggZDA2MDNlZjU3OGVjNTAyM2RhNTBlNmJjNDFiZmUwNDBjNWY2MDE4OC4uNmJk
N2RlOWM3YTllOTdhOWRjYjVjNjI4NGU2YzU5NjZkYTUwZDM5ZiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy40Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1Mx
NS43LjRfQTMuNC5qcwpAQCAtNiw4ICs2LDggQEAKIGVzNWlkOiAxNS43LjRfQTMuNAogZGVzY3Jp
cHRpb246IFRoZSB0ZXN0IHVzZXMgaGFzT3duUHJvcGVydHkoKSBtZXRob2QKIC0tLSovCi0KLS8v
Q0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAh
PT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIE51bWJlciBwcm90
b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdmFsdWVPZicpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgTnVtYmVyLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpLAorICB0
cnVlLAorICAnTnVtYmVyLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpIG11c3Qg
cmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy41LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy41LmpzCmluZGV4IGUzNmVl
ZTY2YWQ0MTA2Y2E3YmZhZjMwMGUyNmMyYmMwNmVkMWQyNWEuLmQ1ZmUzYjc1OWI2ZWVkZTk3YjEz
YzhkMjQ4ZTk3OTU3OTgwYTkwZTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRfQTMuNS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjUuanMKQEAg
LTYsOCArNiw4IEBACiBlczVpZDogMTUuNy40X0EzLjUKIGRlc2NyaXB0aW9uOiBUaGUgdGVzdCB1
c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1i
ZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0ZpeGVkIikgIT09IHRydWUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCBoYXMg
dGhlIHByb3BlcnR5IHRvRml4ZWQnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlci5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRml4ZWQiKSwKKyAgdHJ1ZSwKKyAgJ051bWJlci5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRml4ZWQiKSBtdXN0IHJldHVybiB0cnVlJworKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL1MxNS43LjRfQTMuNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvcHJvdG90eXBlL1MxNS43LjRfQTMuNi5qcwppbmRleCAwMjA1ZGM0OTBlNDk0YjBhZTI4YTVm
MjI1ZWQ3NjRhNGQ3NjdlNDgxLi5hN2Q5Yjg1YzNhZjI5NzViZDdlMGY5NGZmMmRjNGE3YzAyOTVm
ZDhlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3By
b3RvdHlwZS9TMTUuNy40X0EzLjYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy42LmpzCkBAIC02LDggKzYsOCBAQAogZXM1
aWQ6IDE1LjcuNF9BMy42CiBkZXNjcmlwdGlvbjogVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0
eSgpIG1ldGhvZAogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eSgidG9FeHBvbmVudGlhbCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0
eSB0b0V4cG9uZW50aWFsJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIucHJvdG90
eXBlLmhhc093blByb3BlcnR5KCJ0b0V4cG9uZW50aWFsIiksCisgIHRydWUsCisgICdOdW1iZXIu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0V4cG9uZW50aWFsIikgbXVzdCByZXR1cm4gdHJ1
ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS9TMTUuNy40X0EzLjcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3Byb3RvdHlwZS9TMTUuNy40X0EzLjcuanMKaW5kZXggYTQwYjQwYzU5NjM4ODU5
YTExNzIyM2MxYzA5NWExOTBhYjFhNDIwYS4uOTNmM2IwMzgwMzk1N2Y5Zjc5MTdjNGQwZGZlOTY2
ZWMyOGNiZTk1YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvUzE1LjcuNF9BMy43LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL1MxNS43LjRfQTMuNy5qcwpAQCAtNiw4ICs2LDgg
QEAKIGVzNWlkOiAxNS43LjRfQTMuNwogZGVzY3JpcHRpb246IFRoZSB0ZXN0IHVzZXMgaGFzT3du
UHJvcGVydHkoKSBtZXRob2QKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoInRvUHJlY2lzaW9uIikgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFRoZSBOdW1iZXIgcHJvdG90eXBlIG9iamVjdCBoYXMgdGhlIHBy
b3BlcnR5IHRvUHJlY2lzaW9uJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBOdW1iZXIucHJv
dG90eXBlLmhhc093blByb3BlcnR5KCJ0b1ByZWNpc2lvbiIpLAorICB0cnVlLAorICAnTnVtYmVy
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9QcmVjaXNpb24iKSBtdXN0IHJldHVybiB0cnVl
JworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
cHJvdG90eXBlL3RvRml4ZWQvUzE1LjcuNC41X0ExLjFfVDAxLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTEuMV9U
MDEuanMKaW5kZXggMGY2YTAyODY5NGNjM2NkODkxZTFkMGYzMDRmMDI5YTkzNmFiMTcwNi4uY2Nm
MTFlMTQ3NjBiNmY0MGU2ZTU4ZTgzMTMwYjIxMjg5MGFjNDhkYSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40
LjVfQTEuMV9UMDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTEuMV9UMDEuanMKQEAgLTgsNjMgKzgsMjQg
QEAKIGVzNWlkOiAxNS43LjQuNV9BMS4xX1QwMQogZGVzY3JpcHRpb246IGNhbGxpbmcgb24gTnVt
YmVyIHByb3RvdHlwZSBvYmplY3QKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKE51bWJlci5wcm90
b3R5cGUudG9GaXhlZCgpLCAiMCIsICdOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoKSBtdXN0IHJl
dHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAp
LCAiMCIsICdOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMCkgbXVzdCByZXR1cm4gIjAiJyk7Cith
c3NlcnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgxKSwgIjAuMCIsICdOdW1i
ZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgbXVzdCByZXR1cm4gIjAuMCInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDEuMSksICIwLjAiLCAnTnVtYmVyLnByb3Rv
dHlwZS50b0ZpeGVkKDEuMSkgbXVzdCByZXR1cm4gIjAuMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
TnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9G
aXhlZCgwLjkpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJv
dG90eXBlLnRvRml4ZWQoIjEiKSwgIjAuMCIsICdOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEi
KSBtdXN0IHJldHVybiAiMC4wIicpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90eXBl
LnRvRml4ZWQoIjEuMSIpLCAiMC4wIiwgJ051bWJlci5wcm90b3R5cGUudG9GaXhlZCgiMS4xIikg
bXVzdCByZXR1cm4gIjAuMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50
b0ZpeGVkKCIwLjkiKSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIwLjkiKSBtdXN0
IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVk
KE51bWJlci5OYU4pLCAiMCIsICdOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoTnVtYmVyLk5hTikg
bXVzdCByZXR1cm4gIjAiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJlci5wcm90b3R5
cGUudG9GaXhlZCgic29tZSBzdHJpbmciKSwKKyAgIjAiLAorICAnTnVtYmVyLnByb3RvdHlwZS50
b0ZpeGVkKCJzb21lIHN0cmluZyIpIG11c3QgcmV0dXJuICIwIicKKyk7CiAKLS8vQ0hFQ0sjMQot
aWYgKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiMCInKTsKLX0K
LQotLy9DSEVDSyMyCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDApICE9PSAiMCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgw
KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKE51bWJlci5wcm90b3R5cGUudG9GaXhl
ZCgxKSAhPT0gIjAuMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE51bWJlci5w
cm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIjAuMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoTnVt
YmVyLnByb3RvdHlwZS50b0ZpeGVkKDEuMSkgIT09ICIwLjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM0OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMS4xKSA9PT0gIjAuMCInKTsK
LX0KLQotLy9DSEVDSyM1Ci1pZiAoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgIT09ICIw
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogTnVtYmVyLnByb3RvdHlwZS50b0Zp
eGVkKDAuOSkgPT09ICIwIicpOwotfQotCi0KLS8vQ0hFQ0sjNgotaWYgKE51bWJlci5wcm90b3R5
cGUudG9GaXhlZCgiMSIpICE9PSAiMC4wIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NjogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIxIikgPT09ICIwLjAiJyk7Ci19Ci0KLS8vQ0hF
Q0sjNwotaWYgKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgiMS4xIikgIT09ICIwLjAiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEu
MSIpID09PSAiMC4wIicpOwotfQotCi0vL0NIRUNLIzgKLWlmIChOdW1iZXIucHJvdG90eXBlLnRv
Rml4ZWQoIjAuOSIpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IE51
bWJlci5wcm90b3R5cGUudG9GaXhlZCgiMC45IikgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzkK
LWlmIChOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoTnVtYmVyLk5hTikgIT09ICIwIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjOTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKE51bWJl
ci5OYU4pID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMxMAotaWYgKE51bWJlci5wcm90b3R5cGUu
dG9GaXhlZCgic29tZSBzdHJpbmciKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIwIicp
OwotfQotCi0vL0NIRUNLIzExCiB0cnkgewotICBpZiAoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVk
KC0wLjEpICE9PSAiMCIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6IE51bWJl
ci5wcm90b3R5cGUudG9GaXhlZCgtMC4xKSA9PT0gIjAiJyk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZShOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoLTAuMSksICIwIiwgJ051bWJlci5wcm90b3R5
cGUudG9GaXhlZCgtMC4xKSBtdXN0IHJldHVybiAiMCInKTsKIH0KIGNhdGNoIChlKSB7CiAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMDogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKC0wLjEp
IHNob3VsZCBub3QgdGhyb3cgJyArIGUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTEuMV9UMDIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0Zp
eGVkL1MxNS43LjQuNV9BMS4xX1QwMi5qcwppbmRleCA4ZmExY2M3NWU4NWU3ODI1MzY0MzQxNDdj
YmQ0ZjExODE1MzdmYjc4Li5hMDE2Y2Q4NTIyNTU1OGNlM2U5NzU5NTcyY2EwNDNjMGJjZDY0YWIx
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3Rv
dHlwZS90b0ZpeGVkL1MxNS43LjQuNV9BMS4xX1QwMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0ZpeGVkL1MxNS43LjQuNV9BMS4xX1Qw
Mi5qcwpAQCAtOCw2MiArOCwyNCBAQAogZXM1aWQ6IDE1LjcuNC41X0ExLjFfVDAyCiBkZXNjcmlw
dGlvbjogY2FsbGluZyBvbiBOdW1iZXIgb2JqZWN0CiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgo
bmV3IE51bWJlcigxKSkudG9GaXhlZCgpLCAiMSIsICcobmV3IE51bWJlcigxKSkudG9GaXhlZCgp
IG11c3QgcmV0dXJuICIxIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9G
aXhlZCgwKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoMCkgbXVzdCByZXR1cm4gIjEi
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDEpLCAiMS4wIiwg
JyhuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDEpIG11c3QgcmV0dXJuICIxLjAiJyk7Cithc3NlcnQu
c2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDEuMSksICIxLjAiLCAnKG5ldyBOdW1i
ZXIoMSkpLnRvRml4ZWQoMS4xKSBtdXN0IHJldHVybiAiMS4wIicpOworYXNzZXJ0LnNhbWVWYWx1
ZSgobmV3IE51bWJlcigxKSkudG9GaXhlZCgwLjkpLCAiMSIsICcobmV3IE51bWJlcigxKSkudG9G
aXhlZCgwLjkpIG11c3QgcmV0dXJuICIxIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJl
cigxKSkudG9GaXhlZCgiMSIpLCAiMS4wIiwgJyhuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxIikg
bXVzdCByZXR1cm4gIjEuMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRv
Rml4ZWQoIjEuMSIpLCAiMS4wIiwgJyhuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxLjEiKSBtdXN0
IHJldHVybiAiMS4wIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9GaXhl
ZCgiMC45IiksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIwLjkiKSBtdXN0IHJldHVy
biAiMSInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoTnVtYmVy
Lk5hTiksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKE51bWJlci5OYU4pIG11c3QgcmV0
dXJuICIxIicpOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcigxKSkudG9GaXhl
ZCgic29tZSBzdHJpbmciKSwKKyAgIjEiLAorICAnKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNv
bWUgc3RyaW5nIikgbXVzdCByZXR1cm4gIjEiJworKTsKIAotLy9DSEVDSyMxCi1pZiAoKG5ldyBO
dW1iZXIoMSkpLnRvRml4ZWQoKSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiAobmV3IE51bWJlcigxKSkucHJvdG90eXBlLnRvRml4ZWQoKSA9PT0gIjEiJyk7Ci19Ci0K
LS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDApICE9PSAiMSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9G
aXhlZCgwKSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDEpKS50
b0ZpeGVkKDEpICE9PSAiMS4wIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5l
dyBOdW1iZXIoMSkpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSAiMS4wIicpOwotfQotCi0vL0NI
RUNLIzQKLWlmICgobmV3IE51bWJlcigxKSkudG9GaXhlZCgxLjEpICE9PSAiMS4wIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoMS4xKSA9
PT0gIjEuMCInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQo
MC45KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJl
cigxKSkudG9GaXhlZCgwLjkpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAoKG5ldyBO
dW1iZXIoMSkpLnRvRml4ZWQoIjEiKSAhPT0gIjEuMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzY6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxIikgPT09ICIxLjAiJyk7Ci19Ci0K
LS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxLjEiKSAhPT0gIjEuMCIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVk
KCIxLjEiKSA9PT0gIjEuMCInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoMSkp
LnRvRml4ZWQoIjAuOSIpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6
IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sj
OQotaWYgKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKE51bWJlci5OYU4pICE9PSAiMSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzk6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKE51bWJl
ci5OYU4pID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyMxMAotaWYgKChuZXcgTnVtYmVyKDEpKS50
b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzk6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCJzb21lIHN0cmluZyIpID09PSAiMSInKTsK
LX0KLQotLy9DSEVDSyMxMAogdHJ5IHsKLSAgaWYgKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKC0w
LjEpICE9PSAiMSIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6IChuZXcgTnVt
YmVyKDEpKS50b0ZpeGVkKC0wLjEpID09PSAiMSInKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVl
KChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKC0wLjEpLCAiMSIsICcobmV3IE51bWJlcigxKSkudG9G
aXhlZCgtMC4xKSBtdXN0IHJldHVybiAiMSInKTsKIH0KIGNhdGNoIChlKSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxMDogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoLTAuMSkgc2hvdWxk
IG5vdCB0aHJvdyAnICsgZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0ZpeGVkL1MxNS43LjQuNV9BMS4zX1QwMS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4ZWQvUzE1
LjcuNC41X0ExLjNfVDAxLmpzCmluZGV4IGMwNTIzOTY5YzEyZTc5ZTdiZTBhOThiNWY4NTg4Yzkz
YjA2YTJlM2EuLmUzNzZmZWMyNjhiNDE5Y2RmNTg3MjFjYjhkOTkyYzEyZjQwN2JhZTAgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3Rv
Rml4ZWQvUzE1LjcuNC41X0ExLjNfVDAxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4ZWQvUzE1LjcuNC41X0ExLjNfVDAxLmpzCkBA
IC02LDY0ICs2LDMxIEBACiBlczVpZDogMTUuNy40LjVfQTEuM19UMDEKIGRlc2NyaXB0aW9uOiBO
YU4gaXMgY29tcHV0ZWQgYnkgbmV3IE51bWJlcigic3RyaW5nIikKIC0tLSovCithc3NlcnQuc2Ft
ZVZhbHVlKChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoKSwgIk5hTiIsICcobmV3IE51bWJlcigi
YSIpKS50b0ZpeGVkKCkgbXVzdCByZXR1cm4gIk5hTiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoImEiKSkudG9GaXhlZCgwKSwgIk5hTiIsICcobmV3IE51bWJlcigiYSIpKS50b0Zp
eGVkKDApIG11c3QgcmV0dXJuICJOYU4iJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVy
KCJhIikpLnRvRml4ZWQoMSksICJOYU4iLCAnKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxKSBt
dXN0IHJldHVybiAiTmFOIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigiYSIpKS50
b0ZpeGVkKDEuMSksICJOYU4iLCAnKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpIG11c3Qg
cmV0dXJuICJOYU4iJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCJhIikpLnRvRml4
ZWQoMC45KSwgIk5hTiIsICcobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKDAuOSkgbXVzdCByZXR1
cm4gIk5hTiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgi
MSIpLCAiTmFOIiwgJyhuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoIjEiKSBtdXN0IHJldHVybiAi
TmFOIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIxLjEi
KSwgIk5hTiIsICcobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIxLjEiKSBtdXN0IHJldHVybiAi
TmFOIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIwLjki
KSwgIk5hTiIsICcobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIwLjkiKSBtdXN0IHJldHVybiAi
TmFOIicpOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVk
KE51bWJlci5OYU4pLAorICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoTnVt
YmVyLk5hTikgbXVzdCByZXR1cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAo
bmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCJzb21lIHN0cmluZyIpLAorICAiTmFOIiwKKyAgJyhu
ZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgbXVzdCByZXR1cm4gIk5hTiIn
CispOwogCi0vL0NIRUNLIzEKLWlmICgobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCkgIT09ICJO
YU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAobmV3IE51bWJlcigiYSIpKS5w
cm90b3R5cGUudG9GaXhlZCgpID09PSAiTmFOIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3
IE51bWJlcigiYSIpKS50b0ZpeGVkKDApICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoImEiKSkucHJvdG90eXBlLnRvRml4ZWQoMCkgPT09ICJO
YU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoMSkg
IT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3IE51bWJlcigi
YSIpKS5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM0Ci1p
ZiAoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpICE9PSAiTmFOIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpID09PSAi
TmFOIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKDAu
OSkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJl
cigiYSIpKS50b0ZpeGVkKDAuOSkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChu
ZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoIjEiKSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoIjEiKSA9PT0gIk5hTiIn
KTsKLX0KLQotLy9DSEVDSyM3Ci1pZiAoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMS4xIikg
IT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcigi
YSIpKS50b0ZpeGVkKCIxLjEiKSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5l
dyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMC45IikgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIwLjkiKSA9PT0gIk5h
TiInKTsKLX0KLQotLy9DSEVDSyM5Ci1pZiAoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1i
ZXIuTmFOKSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzk6IChuZXcg
TnVtYmVyKCJhIikpLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hF
Q0sjMTAKLWlmICgobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAi
TmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjOTogKG5ldyBOdW1iZXIoImEiKSku
dG9GaXhlZCgic29tZSBzdHJpbmciKSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyMxMAogdHJ5
IHsKICAgcyA9IChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEwOiAobmV3IE51bWJlcigiYSIpKS50
b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93IFJhbmdlRXJyb3Is
IG5vdCByZXR1cm4gTmFOJyk7CiB9CiBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2Yg
UmFuZ2VFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6IChuZXcgTnVt
YmVyKCJhIikpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cg
UmFuZ2VFcnJvciwgbm90ICcgKyBlKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0YW5jZW9mIFJhbmdl
RXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9y
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0ZpeGVkL1MxNS43LjQuNV9BMS4z
X1QwMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3RvRml4ZWQvUzE1LjcuNC41X0ExLjNfVDAyLmpzCmluZGV4IDBiNzczZWIxNjQzMmU3NmI5MTlj
Njg2YzE5YWRhMDJkOWQ0ZjZjODEuLmE2NjI0M2VkYmJhZDkyMmJkYWJjMTY4Y2RhMjMzMDM4ZDEw
MmU3YzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
cHJvdG90eXBlL3RvRml4ZWQvUzE1LjcuNC41X0ExLjNfVDAyLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4ZWQvUzE1LjcuNC41X0Ex
LjNfVDAyLmpzCkBAIC02LDY0ICs2LDIxIEBACiBlczVpZDogMTUuNy40LjVfQTEuM19UMDIKIGRl
c2NyaXB0aW9uOiBkaXJlY3QgdXNhZ2Ugb2YgTmFOCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZShO
dW1iZXIuTmFOLnRvRml4ZWQoKSwgIk5hTiIsICdOdW1iZXIuTmFOLnRvRml4ZWQoKSBtdXN0IHJl
dHVybiAiTmFOIicpOworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIuTmFOLnRvRml4ZWQoMCksICJO
YU4iLCAnTnVtYmVyLk5hTi50b0ZpeGVkKDApIG11c3QgcmV0dXJuICJOYU4iJyk7Cithc3NlcnQu
c2FtZVZhbHVlKE51bWJlci5OYU4udG9GaXhlZCgxKSwgIk5hTiIsICdOdW1iZXIuTmFOLnRvRml4
ZWQoMSkgbXVzdCByZXR1cm4gIk5hTiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLk5hTi50
b0ZpeGVkKDEuMSksICJOYU4iLCAnTnVtYmVyLk5hTi50b0ZpeGVkKDEuMSkgbXVzdCByZXR1cm4g
Ik5hTiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLk5hTi50b0ZpeGVkKDAuOSksICJOYU4i
LCAnTnVtYmVyLk5hTi50b0ZpeGVkKDAuOSkgbXVzdCByZXR1cm4gIk5hTiInKTsKK2Fzc2VydC5z
YW1lVmFsdWUoTnVtYmVyLk5hTi50b0ZpeGVkKCIxIiksICJOYU4iLCAnTnVtYmVyLk5hTi50b0Zp
eGVkKCIxIikgbXVzdCByZXR1cm4gIk5hTiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLk5h
Ti50b0ZpeGVkKCIxLjEiKSwgIk5hTiIsICdOdW1iZXIuTmFOLnRvRml4ZWQoIjEuMSIpIG11c3Qg
cmV0dXJuICJOYU4iJyk7Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlci5OYU4udG9GaXhlZCgiMC45
IiksICJOYU4iLCAnTnVtYmVyLk5hTi50b0ZpeGVkKCIwLjkiKSBtdXN0IHJldHVybiAiTmFOIicp
OworYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTiksICJOYU4i
LCAnTnVtYmVyLk5hTi50b0ZpeGVkKE51bWJlci5OYU4pIG11c3QgcmV0dXJuICJOYU4iJyk7Cith
c3NlcnQuc2FtZVZhbHVlKE51bWJlci5OYU4udG9GaXhlZCgic29tZSBzdHJpbmciKSwgIk5hTiIs
ICdOdW1iZXIuTmFOLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgbXVzdCByZXR1cm4gIk5hTiInKTsK
IAotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLk5hTi50b0ZpeGVkKCkgIT09ICJOYU4iKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKCkg
PT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKE51bWJlci5OYU4udG9GaXhlZCgwKSAh
PT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlci5OYU4ucHJv
dG90eXBlLnRvRml4ZWQoMCkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKE51bWJl
ci5OYU4udG9GaXhlZCgxKSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IE51bWJlci5OYU4ucHJvdG90eXBlLnRvRml4ZWQoMSkgPT09ICJOYU4iJyk7Ci19Ci0KLS8v
Q0hFQ0sjNAotaWYgKE51bWJlci5OYU4udG9GaXhlZCgxLjEpICE9PSAiTmFOIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNDogTnVtYmVyLk5hTi50b0ZpeGVkKDEuMSkgPT09ICJOYU4i
Jyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKE51bWJlci5OYU4udG9GaXhlZCgwLjkpICE9PSAiTmFO
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogTnVtYmVyLk5hTi50b0ZpeGVkKDAu
OSkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKE51bWJlci5OYU4udG9GaXhlZCgi
MSIpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogTnVtYmVyLk5h
Ti50b0ZpeGVkKCIxIikgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKE51bWJlci5O
YU4udG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM3OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEuMSIpID09PSAiTmFOIicpOwotfQotCi0vL0NIRUNL
IzgKLWlmIChOdW1iZXIuTmFOLnRvRml4ZWQoIjAuOSIpICE9PSAiTmFOIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjODogTnVtYmVyLk5hTi50b0ZpeGVkKCIwLjkiKSA9PT0gIk5hTiIn
KTsKLX0KLQotLy9DSEVDSyM5Ci1pZiAoTnVtYmVyLk5hTi50b0ZpeGVkKE51bWJlci5OYU4pICE9
PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjOTogTnVtYmVyLk5hTi50b0Zp
eGVkKE51bWJlci5OYU4pID09PSAiTmFOIicpOwotfQotCi0vL0NIRUNLIzEwCi1pZiAoTnVtYmVy
Lk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjOTogTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpID09PSAiTmFO
IicpOwotfQotCi0vL0NIRUNLIzEwCiB0cnkgewogICBzID0gTnVtYmVyLk5hTi50b0ZpeGVkKE51
bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMDog
TnVtYmVyLk5hTi50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93
IFJhbmdlRXJyb3IsIG5vdCByZXR1cm4gTmFOJyk7CiB9CiBjYXRjaCAoZSkgewotICBpZiAoIShl
IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTA6IE51bWJlci5OYU4udG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0
aHJvdyBSYW5nZUVycm9yLCBub3QgJyArIGUpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2Yg
UmFuZ2VFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFJhbmdl
RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4ZWQvUzE1LjcuNC41
X0ExLjRfVDAxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTEuNF9UMDEuanMKaW5kZXggZWYxZTQ5MjA2MDA4YmVj
ZmQ2N2I0MTc0OWIxOGUwYzUyY2JmMzg1MC4uZmE3NmIxNWExNWU3OTVmMWViMGI0YjZjZjRhNDlj
ZWQ0MTY4MWY0NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTEuNF9UMDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40
LjVfQTEuNF9UMDEuanMKQEAgLTYsNjQgKzYsNzAgQEAKIGVzNWlkOiAxNS43LjQuNV9BMS40X1Qw
MQogZGVzY3JpcHRpb246IHggaXMgMTBeMjEKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICAo
bmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgpLAorICBTdHJpbmcoMWUyMSksCisgICcobmV3IE51
bWJlcigxZTIxKSkudG9GaXhlZCgpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVk
IGJ5IFN0cmluZygxZTIxKScKKyk7CiAKLS8vQ0hFQ0sjMQotaWYgKChuZXcgTnVtYmVyKDFlMjEp
KS50b0ZpeGVkKCkgIT09IFN0cmluZygxZTIxKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogKG5ldyBOdW1iZXIoMWUyMSkpLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09IFN0cmluZygx
ZTIxKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4
ZWQoMCksCisgIFN0cmluZygxZTIxKSwKKyAgJyhuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDAp
IG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5IFN0cmluZygxZTIxKScKKyk7
CiAKLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDApICE9PSBTdHJp
bmcoMWUyMSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKDFl
MjEpKS5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gU3RyaW5nKDFlMjEpJyk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgxKSwKKyAgU3RyaW5nKDFl
MjEpLAorICAnKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMSkgbXVzdCByZXR1cm4gdGhlIHNh
bWUgdmFsdWUgcmV0dXJuZWQgYnkgU3RyaW5nKDFlMjEpJworKTsKIAotLy9DSEVDSyMzCi1pZiAo
KG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMSkgIT09IFN0cmluZygxZTIxKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMWUyMSkpLnByb3RvdHlwZS50b0Zp
eGVkKDEpID09PSBTdHJpbmcoMWUyMSknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcg
TnVtYmVyKDFlMjEpKS50b0ZpeGVkKDEuMSksCisgIFN0cmluZygxZTIxKSwKKyAgJyhuZXcgTnVt
YmVyKDFlMjEpKS50b0ZpeGVkKDEuMSkgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJu
ZWQgYnkgU3RyaW5nKDFlMjEpJworKTsKIAotLy9DSEVDSyM0Ci1pZiAoKG5ldyBOdW1iZXIoMWUy
MSkpLnRvRml4ZWQoMS4xKSAhPT0gU3RyaW5nKDFlMjEpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM0OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgxLjEpID09PSBTdHJpbmcoMWUy
MSknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVk
KDAuOSksCisgIFN0cmluZygxZTIxKSwKKyAgJyhuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDAu
OSkgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgU3RyaW5nKDFlMjEpJwor
KTsKIAotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMC45KSAhPT0g
U3RyaW5nKDFlMjEpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJl
cigxZTIxKSkudG9GaXhlZCgwLjkpID09PSBTdHJpbmcoMWUyMSknKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIxIiksCisgIFN0cmluZygxZTIx
KSwKKyAgJyhuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIxIikgbXVzdCByZXR1cm4gdGhlIHNh
bWUgdmFsdWUgcmV0dXJuZWQgYnkgU3RyaW5nKDFlMjEpJworKTsKIAotLy9DSEVDSyM2Ci1pZiAo
KG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjEiKSAhPT0gU3RyaW5nKDFlMjEpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMSIp
ID09PSBTdHJpbmcoMWUyMSknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVy
KDFlMjEpKS50b0ZpeGVkKCIxLjEiKSwKKyAgU3RyaW5nKDFlMjEpLAorICAnKG5ldyBOdW1iZXIo
MWUyMSkpLnRvRml4ZWQoIjEuMSIpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVk
IGJ5IFN0cmluZygxZTIxKScKKyk7CiAKLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKDFlMjEp
KS50b0ZpeGVkKCIxLjEiKSAhPT0gU3RyaW5nKDFlMjEpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM3OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMS4xIikgPT09IFN0cmluZygx
ZTIxKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4
ZWQoIjAuOSIpLAorICBTdHJpbmcoMWUyMSksCisgICcobmV3IE51bWJlcigxZTIxKSkudG9GaXhl
ZCgiMC45IikgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgU3RyaW5nKDFl
MjEpJworKTsKIAotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjAu
OSIpICE9PSBTdHJpbmcoMWUyMSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChu
ZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gU3RyaW5nKDFlMjEpJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFO
KSwKKyAgU3RyaW5nKDFlMjEpLAorICAnKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVy
Lk5hTikgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgU3RyaW5nKDFlMjEp
JworKTsKIAotLy9DSEVDSyM5Ci1pZiAoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVy
Lk5hTikgIT09IFN0cmluZygxZTIxKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjOTog
KG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09IFN0cmluZygxZTIxKScp
OwotfQotCi0vL0NIRUNLIzEwCi1pZiAoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUg
c3RyaW5nIikgIT09IFN0cmluZygxZTIxKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
OTogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09IFN0cmluZygx
ZTIxKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4
ZWQoInNvbWUgc3RyaW5nIiksCisgIFN0cmluZygxZTIxKSwKKyAgJyhuZXcgTnVtYmVyKDFlMjEp
KS50b0ZpeGVkKCJzb21lIHN0cmluZyIpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVy
bmVkIGJ5IFN0cmluZygxZTIxKScKKyk7CiAKLS8vQ0hFQ0sjMTAKIHRyeSB7CiAgIHMgPSAobmV3
IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOwogICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKE51bWJl
ci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93IFJhbmdlRXJyb3IsIG5vdCByZXR1cm4g
TmFOJyk7CiB9CiBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikp
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTA6IChuZXcgTnVtYmVyKDFlMjEpKS50
b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93IFJhbmdlRXJyb3Is
IG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yLCAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScpOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUuNy40LjVfQTJfVDAxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9TMTUu
Ny40LjVfQTJfVDAxLmpzCmluZGV4IGE1OTQ4ODIxZjcyZGNjY2ZhZjY4YmViZTgzNmMxZmUwODBm
ZmMzYmEuLmQxNDIxMjI1Y2NmMmQ1YWI4MjBhNzIxMzE5ZTRmYjQyZjMzMGZhN2YgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4
ZWQvUzE1LjcuNC41X0EyX1QwMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3Byb3RvdHlwZS90b0ZpeGVkL1MxNS43LjQuNV9BMl9UMDEuanMKQEAgLTYsMTMg
KzYsMTQgQEAKIGVzNWlkOiAxNS43LjQuNV9BMl9UMDEKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBO
dW1iZXIgcHJvdG90eXBlIGl0c2VsZgogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE51bWJl
ci5wcm90b3R5cGUudG9GaXhlZC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisg
ICdOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3Qg
cmV0dXJuIHRydWUnCispOwogCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvRml4
ZWQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0ZpeGVkIG1ldGhvZCBp
cyAxJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKE51bWJlci5wcm90b3R5cGUudG9GaXhlZC5sZW5n
dGggIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBsZW5ndGggcHJv
cGVydHkgb2YgdGhlIHRvRml4ZWQgbWV0aG9kIGlzIDEnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIE51bWJlci5wcm90b3R5cGUudG9GaXhlZC5sZW5ndGgsCisgIDEsCisgICdUaGUgdmFsdWUg
b2YgTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAxJwor
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMV9UMDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTFfVDAxLmpz
CmluZGV4IDEyMTk3MThiZGZlZDA3NjRkNjY0NDJhOGY0YWMwNmIxN2YwMGEyYzUuLmVhZWY2OGFk
MTkwMjA3ZWZlNDhhNDRmYWQ1YWRmZjc4ODQyOTBhMzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9B
MV9UMDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0ExX1QwMS5qcwpAQCAtOSw0MyArOSwyMSBAQAogZXM1
aWQ6IDE1LjcuNC4yX0ExX1QwMQogZGVzY3JpcHRpb246IHVuZGVmaW5lZCByYWRpeAogLS0tKi8K
LQotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiMCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmco
KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5n
KCkgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIo
KSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVy
KDApKS50b1N0cmluZygpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1p
ZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKCkgPT09ICItMSInKTsK
LX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgIT09ICIxIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KCkgPT09ICIxIicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFO
KSkudG9TdHJpbmcoKSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6
IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygpID09PSAiTmFOIicpOwotfQotCi0v
L0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0
cmluZygpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAo
bmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygpID09PSAiSW5m
aW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElW
RV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICItSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50
b1N0cmluZygpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIu
cHJvdG90eXBlLnRvU3RyaW5nKCksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoKSBt
dXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoKSkudG9TdHJp
bmcoKSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoKSBtdXN0IHJldHVybiAiMCInKTsK
K2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKCksICIwIiwgJyhuZXcg
TnVtYmVyKDApKS50b1N0cmluZygpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1
ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKCksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRv
U3RyaW5nKCkgbXVzdCByZXR1cm4gIi0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJl
cigxKSkudG9TdHJpbmcoKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgbXVzdCBy
ZXR1cm4gIjEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50
b1N0cmluZygpLCAiTmFOIiwgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygpIG11
c3QgcmV0dXJuICJOYU4iJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51
bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCksCisgICJJbmZpbml0eSIsCisgICco
bmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygpIG11c3QgcmV0
dXJuICJJbmZpbml0eSInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygpLAorICAiLUluZmluaXR5IiwKKyAg
JyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgbXVzdCBy
ZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0ExX1QwMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS43LjQuMl9BMV9UMDIuanMKaW5kZXggNDg2YjNjYTA5MGQ1Mjc2MzE5MzU2NWExNGJlNTMz
MzAwYWVlNTE3My4uNmRiODg5OWJiZGExNmM1ZDgxMGFiMGI0ZjNmYzJmMzA4NjNkNjAwNSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjcuNC4yX0ExX1QwMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTFfVDAyLmpzCkBA
IC05LDQzICs5LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTFfVDAyCiBkZXNjcmlwdGlvbjogcmFk
aXggaXMgMTAKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudG9TdHJp
bmcoMTApICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmcoMTApID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5l
dyBOdW1iZXIoKSkudG9TdHJpbmcoMTApICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEwKSA9PT0gIjAiJyk7Ci19Ci0KLS8v
Q0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMCkgIT09ICIwIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEwKSA9
PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmco
MTApICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJl
cigtMSkpLnRvU3RyaW5nKDEwKSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3
IE51bWJlcigxKSkudG9TdHJpbmcoMTApICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMCkgPT09ICIxIicpOwotfQotCi0v
L0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTApICE9PSAi
TmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVy
Lk5hTikpLnRvU3RyaW5nKDEwKSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM3Ci1pZiAoKG5l
dyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTApICE9PSAiSW5m
aW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcihOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMCkgPT09ICJJbmZpbml0eSInKTsKLX0K
LQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoMTApICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTAp
ID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90eXBl
LnRvU3RyaW5nKDEwKSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMCkgbXVzdCBy
ZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEw
KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTApIG11c3QgcmV0dXJuICIwIicpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTApLCAiMCIsICcobmV3
IE51bWJlcigwKSkudG9TdHJpbmcoMTApIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVW
YWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEwKSwgIi0xIiwgJyhuZXcgTnVtYmVyKC0x
KSkudG9TdHJpbmcoMTApIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEwKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KDEwKSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1i
ZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEwKSwKKyAgIk5hTiIsCisgICcobmV3IE51bWJlcihO
dW1iZXIuTmFOKSkudG9TdHJpbmcoMTApIG11c3QgcmV0dXJuICJOYU4iJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMTApLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMTApIG11c3QgcmV0dXJuICJJbmZpbml0eSInCispOworCith
c3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZygxMCksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTApIG11c3QgcmV0dXJuICItSW5maW5pdHkiJwor
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMV9UMDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTFfVDAzLmpz
CmluZGV4IGM2Yjg3MWMwMTk0MDI5ZDYxNmVhOGY2ZDUxMmQ4ZTc5OTI1ZGVhODEuLjkyOWQ3NmRh
NGM5NWMzOGI1ZWMxMDdmNjQ1NTA0MzhmMzhiNmI5NmEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9B
MV9UMDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0ExX1QwMy5qcwpAQCAtOSw0MyArOSwyNiBAQAogZXM1
aWQ6IDE1LjcuNC4yX0ExX1QwMwogZGVzY3JpcHRpb246IHJhZGl4IGlzIHVuZGVmaW5lZCB2YWx1
ZQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyh1bmRl
ZmluZWQpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgot
aWYgKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcodW5kZWZpbmVk
KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmlu
Zyh1bmRlZmluZWQpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IChu
ZXcgTnVtYmVyKDApKS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiMCInKTsKLX0KLQotLy9DSEVD
SyM0Ci1pZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyh1bmRlZmluZWQpICE9PSAiLTEiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5n
KHVuZGVmaW5lZCkgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIo
MSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICIxIicpOwot
fQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcodW5k
ZWZpbmVkKSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcg
TnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiTmFOIicpOwotfQot
Ci0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50
b1N0cmluZyh1bmRlZmluZWQpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmlu
Zyh1bmRlZmluZWQpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYgKChuZXcg
TnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09
ICItSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJl
cihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiLUlu
ZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5n
KHVuZGVmaW5lZCksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcodW5kZWZpbmVkKSBt
dXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoKSkudG9TdHJp
bmcodW5kZWZpbmVkKSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcodW5kZWZpbmVkKSBt
dXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3Ry
aW5nKHVuZGVmaW5lZCksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZyh1bmRlZmluZWQp
IG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRv
U3RyaW5nKHVuZGVmaW5lZCksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKHVuZGVm
aW5lZCkgbXVzdCByZXR1cm4gIi0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigx
KSkudG9TdHJpbmcodW5kZWZpbmVkKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVu
ZGVmaW5lZCkgbXVzdCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcg
TnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyh1bmRlZmluZWQpLAorICAiTmFOIiwKKyAgJyhu
ZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyh1bmRlZmluZWQpIG11c3QgcmV0dXJuICJO
YU4iJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcodW5kZWZpbmVkKSwKKyAgIkluZmluaXR5IiwKKyAgJyhu
ZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkg
bXVzdCByZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcg
TnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCksCisg
ICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcodW5kZWZpbmVkKSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuNy40LjJfQTJfVDAxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwMS5qcwppbmRleCBmNTU5
YzNlMjQ1YTllYWRhMjQxNWY3MTgzNGI0MDI5YzZlMmI4ZTAxLi42ZTc0YjM5NmYzYTcwZGY5NGY4
NzUzNzYxZTIyOTg1YjczZmZiNjJlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDAxLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3Ry
aW5nL1MxNS43LjQuMl9BMl9UMDEuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43LjQu
Ml9BMl9UMDEKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAyCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlm
IChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMikgPT09ICIwIicpOwot
fQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygyKSAhPT0gIjAiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygy
KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmlu
ZygyKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3IE51bWJl
cigwKSkudG9TdHJpbmcoMikgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51
bWJlcigtMSkpLnRvU3RyaW5nKDIpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpID09PSAiLTEiJyk7Ci19Ci0KLS8v
Q0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyKSAhPT0gIjEiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMikgPT09
ICIxIicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9T
dHJpbmcoMikgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiAobmV3
IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMikgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hF
Q0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5n
KDIpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3
IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIkluZmlu
aXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVf
SU5GSU5JVFkpKS50b1N0cmluZygyKSAhPT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDIpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIu
cHJvdG90eXBlLnRvU3RyaW5nKDIpLCAiMCIsICdOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIp
IG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0
cmluZygyKSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgbXVzdCByZXR1cm4gIjAi
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyKSwgIjAiLCAn
KG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDIpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNh
bWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpLCAiLTEiLCAnKG5ldyBOdW1iZXIo
LTEpKS50b1N0cmluZygyKSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChu
ZXcgTnVtYmVyKDEpKS50b1N0cmluZygyKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KDIpIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJl
cihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMiksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVt
YmVyLk5hTikpLnRvU3RyaW5nKDIpIG11c3QgcmV0dXJuICJOYU4iJworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoMiksCisgICJJbmZpbml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5G
SU5JVFkpKS50b1N0cmluZygyKSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMiksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMikgbXVzdCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDIuanMKaW5kZXgg
MmRlZjgyOTMzMmIwNjY1M2YyZWM5ZmViOWVhNmZlOTQwMzBiMjk0Zi4uYjY4NzEwNWI2MmJiMzJk
NzNkODMyOTQwYWMzNzU0MTA1M2I2Zjg3NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwMi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90
b1N0cmluZy9TMTUuNy40LjJfQTJfVDAyLmpzCkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUu
Ny40LjJfQTJfVDAyCiBkZXNjcmlwdGlvbjogcmFkaXggaXMgMwogLS0tKi8KLQotLy9DSEVDSyMx
Ci1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDMpID09PSAiMCIn
KTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgIT09ICIw
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJp
bmcoMykgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlmICgobmV3IE51bWJlcigwKSkudG9T
dHJpbmcoMykgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBO
dW1iZXIoMCkpLnRvU3RyaW5nKDMpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoKG5l
dyBOdW1iZXIoLTEpKS50b1N0cmluZygzKSAhPT0gIi0xIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzKSA9PT0gIi0xIicpOwotfQot
Ci0vL0NIRUNLIzUKLWlmICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMykgIT09ICIxIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMp
ID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikp
LnRvU3RyaW5nKDMpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjog
KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMpID09PSAiTmFOIicpOwotfQotCi0v
L0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0
cmluZygzKSAhPT0gIkluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzog
KG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMykgPT09ICJJ
bmZpbml0eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMykgIT09ICItSW5maW5pdHkiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZygzKSA9PT0gIi1JbmZpbml0eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVt
YmVyLnByb3RvdHlwZS50b1N0cmluZygzKSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmlu
ZygzKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoKSku
dG9TdHJpbmcoMyksICIwIiwgJyhuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMpIG11c3QgcmV0dXJu
ICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMyksICIw
IiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygzKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzKSwgIi0xIiwgJyhuZXcgTnVt
YmVyKC0xKSkudG9TdHJpbmcoMykgbXVzdCByZXR1cm4gIi0xIicpOworYXNzZXJ0LnNhbWVWYWx1
ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMyksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0
cmluZygzKSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBO
dW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMpLAorICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVy
KE51bWJlci5OYU4pKS50b1N0cmluZygzKSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDMpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMykgbXVzdCByZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkp
LnRvU3RyaW5nKDMpLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdB
VElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMpIG11c3QgcmV0dXJuICItSW5maW5pdHkiJworKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDAzLmpzCmlu
ZGV4IGQ0YmZlMmM5M2ZiMDA4YjQ5NjBkMDc3YWJlOTIxNjUwYWY3MzEyMDcuLmRlOGU0ZDE4YTU3
MTE0NTM3MjU5ZmNhN2E4MzBmYWQ1Njc2MDNhZWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9U
MDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwMy5qcwpAQCAtOCw0MyArOCwyNiBAQAogZXM1aWQ6
IDE1LjcuNC4yX0EyX1QwMwogZGVzY3JpcHRpb246IHJhZGl4IGlzIDQKIC0tLSovCi0KLS8vQ0hF
Q0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNCkgIT09ICIwIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyg0KSA9PT0g
IjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDQpICE9
PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRv
U3RyaW5nKDQpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkp
LnRvU3RyaW5nKDQpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IChu
ZXcgTnVtYmVyKDApKS50b1N0cmluZyg0KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYg
KChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNCkgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNCkgPT09ICItMSInKTsK
LX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDQpICE9PSAiMSIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmlu
Zyg0KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51bWJlci5O
YU4pKS50b1N0cmluZyg0KSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSA9PT0gIk5hTiInKTsKLX0K
LQotLy9DSEVDSyM3Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoNCkgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
Izc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDQpID09
PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5O
RUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDQpICE9PSAiLUluZmluaXR5IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoNCkgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNCksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9T
dHJpbmcoNCkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVy
KCkpLnRvU3RyaW5nKDQpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmluZyg0KSBtdXN0IHJl
dHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDQp
LCAiMCIsICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoNCkgbXVzdCByZXR1cm4gIjAiJyk7Cith
c3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNCksICItMSIsICcobmV3
IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDQpLCAiMSIsICcobmV3IE51bWJlcigxKSku
dG9TdHJpbmcoNCkgbXVzdCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChu
ZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSwKKyAgIk5hTiIsCisgICcobmV3IE51
bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoNCkgbXVzdCByZXR1cm4gIk5hTiInCispOworCith
c3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZyg0KSwKKyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJ
VElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDQpIG11c3QgcmV0dXJuICJJbmZpbml0eSInCispOwor
Cithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5J
VFkpKS50b1N0cmluZyg0KSwKKyAgIi1JbmZpbml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSBtdXN0IHJldHVybiAiLUluZmluaXR5IicK
Kyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDA0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwNC5q
cwppbmRleCBiZWE0YWIwNTBiZWM5NzcxMDM4MGZhYTBlNDMyMjJjZmRkZWU0OWFmLi4zNGJhNmFk
M2YwYTk2NjlkNWI4NjAzMjcyY2E5NGVjMDQwMmEyMzk4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTJfVDA0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDQuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVz
NWlkOiAxNS43LjQuMl9BMl9UMDQKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyA1CiAtLS0qLwotCi0v
L0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDUpICE9PSAiMCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNSkg
PT09ICIwIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZyg1
KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAobmV3IE51bWJlcigp
KS50b1N0cmluZyg1KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVy
KDApKS50b1N0cmluZyg1KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoNSkgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzQK
LWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpID09PSAiLTEi
Jyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZyg1KSAhPT0g
IjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJlcigxKSkudG9T
dHJpbmcoNSkgPT09ICIxIicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1i
ZXIuTmFOKSkudG9TdHJpbmcoNSkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoNSkgPT09ICJOYU4iJyk7
Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklU
WSkpLnRvU3RyaW5nKDUpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1
KSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSAhPT0gIi1JbmZpbml0eSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9J
TkZJTklUWSkpLnRvU3RyaW5nKDUpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZShOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDUpLCAiMCIsICdOdW1iZXIucHJvdG90eXBl
LnRvU3RyaW5nKDUpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51
bWJlcigpKS50b1N0cmluZyg1KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgbXVz
dCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDApKS50b1N0cmlu
Zyg1KSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDUpIG11c3QgcmV0dXJuICIwIicp
OworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpLCAiLTEiLCAn
KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyg1KSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQu
c2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZyg1KSwgIjEiLCAnKG5ldyBOdW1iZXIo
MSkpLnRvU3RyaW5nKDUpIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQuc2FtZVZhbHVlKAor
ICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoNSksCisgICJOYU4iLAorICAnKG5l
dyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDUpIG11c3QgcmV0dXJuICJOYU4iJworKTsK
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoNSksCisgICJJbmZpbml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIu
UE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSBtdXN0IHJldHVybiAiSW5maW5pdHkiJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lO
RklOSVRZKSkudG9TdHJpbmcoNSksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVt
YmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNSkgbXVzdCByZXR1cm4gIi1JbmZpbml0
eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwNS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9U
MDUuanMKaW5kZXggNjg4YzQwMjc0ZTgzN2ExOWY3MWUwMmU2ZDgzM2U3NDliYjFkOGMxMS4uNDc5
MmNlZTkxZmYwYmYzOGZmMzgxMzM5NDliNDM3NTY0Y2ZhZmNhNiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1Ljcu
NC4yX0EyX1QwNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDA1LmpzCkBAIC04LDQzICs4LDI2IEBA
CiBlczVpZDogMTUuNy40LjJfQTJfVDA1CiBkZXNjcmlwdGlvbjogcmFkaXggaXMgNgogLS0tKi8K
LQotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyg2KSAhPT0gIjAiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5n
KDYpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJp
bmcoNikgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1i
ZXIoKSkudG9TdHJpbmcoNikgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlmICgobmV3IE51
bWJlcigwKSkudG9TdHJpbmcoNikgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDYpID09PSAiMCInKTsKLX0KLQotLy9DSEVD
SyM0Ci1pZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyg2KSAhPT0gIi0xIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyg2KSA9PT0g
Ii0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNikg
IT09ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkp
LnRvU3RyaW5nKDYpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAoKG5ldyBOdW1iZXIo
TnVtYmVyLk5hTikpLnRvU3RyaW5nKDYpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDYpID09PSAiTmFO
IicpOwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5G
SU5JVFkpKS50b1N0cmluZyg2KSAhPT0gIkluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoNikgPT09ICJJbmZpbml0eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIo
TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNikgIT09ICItSW5maW5pdHkiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIi1JbmZpbml0eSInKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyg2KSwgIjAiLCAnTnVtYmVyLnByb3Rv
dHlwZS50b1N0cmluZyg2KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoKSkudG9TdHJpbmcoNiksICIwIiwgJyhuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDYp
IG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9T
dHJpbmcoNiksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZyg2KSBtdXN0IHJldHVybiAi
MCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyg2KSwgIi0x
IiwgJyhuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNikgbXVzdCByZXR1cm4gIi0xIicpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNiksICIxIiwgJyhuZXcgTnVt
YmVyKDEpKS50b1N0cmluZyg2KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDYpLAorICAiTmFOIiwKKyAg
JyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSBtdXN0IHJldHVybiAiTmFOIicK
Kyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9J
TkZJTklUWSkpLnRvU3RyaW5nKDYpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVt
YmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNikgbXVzdCByZXR1cm4gIkluZmluaXR5
IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElW
RV9JTkZJTklUWSkpLnRvU3RyaW5nKDYpLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVy
KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDYpIG11c3QgcmV0dXJuICItSW5m
aW5pdHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDYuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTJfVDA2LmpzCmluZGV4IDJmYjQ5N2UyYjE1NTZhNjJkY2YzZmYwZjcyMGVlYzZmNGIyYjUyOTEu
LmFjMjBmOGE0YWE0MzcxYTU1NmU2MWEzOTE2Y2Y0M2YwZjY4MTMyMWMgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS43LjQuMl9BMl9UMDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwNi5qcwpAQCAtOCw0MyArOCwy
NiBAQAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QwNgogZGVzY3JpcHRpb246IHJhZGl4IGlzIDcKIC0t
LSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNykgIT09ICIw
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0
cmluZyg3KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRv
U3RyaW5nKDcpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcg
TnVtYmVyKCkpLnRvU3RyaW5nKDcpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5l
dyBOdW1iZXIoMCkpLnRvU3RyaW5nKDcpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg3KSA9PT0gIjAiJyk7Ci19Ci0KLS8v
Q0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNykgIT09ICItMSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNykg
PT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KDcpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVy
KDEpKS50b1N0cmluZyg3KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVt
YmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSA9PT0g
Ik5hTiInKTsKLX0KLQotLy9DSEVDSyM3Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoNykgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDcpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYgKChuZXcgTnVt
YmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDcpICE9PSAiLUluZmluaXR5
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNykgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNyksICIwIiwgJ051bWJlci5w
cm90b3R5cGUudG9TdHJpbmcoNykgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVl
KChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDcpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmlu
Zyg3KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkp
LnRvU3RyaW5nKDcpLCAiMCIsICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoNykgbXVzdCByZXR1
cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoNyks
ICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpIG11c3QgcmV0dXJuICItMSInKTsK
K2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDcpLCAiMSIsICcobmV3
IE51bWJlcigxKSkudG9TdHJpbmcoNykgbXVzdCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSwKKyAgIk5hTiIs
CisgICcobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoNykgbXVzdCByZXR1cm4gIk5h
TiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSwKKyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVy
KE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDcpIG11c3QgcmV0dXJuICJJbmZp
bml0eSInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVH
QVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSwKKyAgIi1JbmZpbml0eSIsCisgICcobmV3IE51
bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSBtdXN0IHJldHVybiAi
LUluZmluaXR5IicKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDA3LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1Ljcu
NC4yX0EyX1QwNy5qcwppbmRleCBiODFhNTM3NmFmZmQyNGUyNzk4NzRmYTljN2FjNTFjYmMxY2Y4
YjE2Li5kOGFhMTJjMWE4YWYwOTNhMDEzMGY4NmZjZjg5ZmYyZTRlNzIxYTM5IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmlu
Zy9TMTUuNy40LjJfQTJfVDA3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDcuanMKQEAgLTgsNDMg
KzgsMjYgQEAKIGVzNWlkOiAxNS43LjQuMl9BMl9UMDcKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyA4
CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDgpICE9
PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5cGUu
dG9TdHJpbmcoOCkgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigp
KS50b1N0cmluZyg4KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAo
bmV3IE51bWJlcigpKS50b1N0cmluZyg4KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYg
KChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg4KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoOCkgPT09ICIwIicpOwotfQot
Ci0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpICE9PSAiLTEiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5n
KDgpID09PSAiLTEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0
cmluZyg4KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51
bWJlcigxKSkudG9TdHJpbmcoOCkgPT09ICIxIicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3
IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoOCkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoOCkg
PT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJlci5QT1NJ
VElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDgpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZyg4KSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3
IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSAhPT0gIi1JbmZp
bml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVyKE51bWJl
ci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDgpID09PSAiLUluZmluaXR5IicpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDgpLCAiMCIsICdOdW1i
ZXIucHJvdG90eXBlLnRvU3RyaW5nKDgpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVW
YWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZyg4KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9T
dHJpbmcoOCkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVy
KDApKS50b1N0cmluZyg4KSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDgpIG11c3Qg
cmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5n
KDgpLCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyg4KSBtdXN0IHJldHVybiAiLTEi
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZyg4KSwgIjEiLCAn
KG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDgpIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQu
c2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoOCksCisgICJO
YU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDgpIG11c3QgcmV0dXJu
ICJOYU4iJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOCksCisgICJJbmZpbml0eSIsCisgICcobmV3IE51
bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSBtdXN0IHJldHVybiAi
SW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVy
Lk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOCksCisgICItSW5maW5pdHkiLAorICAnKG5l
dyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOCkgbXVzdCByZXR1
cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwOC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS43LjQuMl9BMl9UMDguanMKaW5kZXggMGRlMTNmMjFjYTZjYTFkOGM1NGM4OWYxM2Q2MGUxZWQz
NzU0ZDgyZC4uOWUyNzQ1MjczM2RlYWNkODE4NDI4ZTE3YTY5YWQyMWZiYjAzYjJkNyAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9T
dHJpbmcvUzE1LjcuNC4yX0EyX1QwOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDA4LmpzCkBAIC04
LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDA4CiBkZXNjcmlwdGlvbjogcmFkaXgg
aXMgOQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyg5
KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90
eXBlLnRvU3RyaW5nKDkpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5ldyBOdW1i
ZXIoKSkudG9TdHJpbmcoOSkgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMK
LWlmICgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoOSkgIT09ICIwIikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDkpID09PSAiMCInKTsK
LX0KLQotLy9DSEVDSyM0Ci1pZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyg5KSAhPT0gIi0x
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0
cmluZyg5KSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3IE51bWJlcigxKSku
dG9TdHJpbmcoOSkgIT09ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5l
dyBOdW1iZXIoMSkpLnRvU3RyaW5nKDkpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAo
KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDkpICE9PSAiTmFOIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5n
KDkpID09PSAiTmFOIicpOwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIu
UE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSAhPT0gIkluZmluaXR5IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoOSkgPT09ICJJbmZpbml0eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAo
KG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOSkgIT09ICIt
SW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIi1JbmZpbml0eSInKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyg5KSwgIjAiLCAn
TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyg5KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5z
YW1lVmFsdWUoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSksICIwIiwgJyhuZXcgTnVtYmVyKCkp
LnRvU3RyaW5nKDkpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51
bWJlcigwKSkudG9TdHJpbmcoOSksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZyg5KSBt
dXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoLTEpKS50b1N0
cmluZyg5KSwgIi0xIiwgJyhuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoOSkgbXVzdCByZXR1cm4g
Ii0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOSksICIx
IiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZyg5KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDkpLAor
ICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSBtdXN0IHJl
dHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJl
ci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDkpLAorICAiSW5maW5pdHkiLAorICAnKG5l
dyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOSkgbXVzdCByZXR1
cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51
bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDkpLAorICAiLUluZmluaXR5IiwKKyAg
JyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDkpIG11c3Qg
cmV0dXJuICItSW5maW5pdHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDkuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmlu
Zy9TMTUuNy40LjJfQTJfVDA5LmpzCmluZGV4IGU1ZmFkNGI4MTJjOTcwZTI5NDc4MjViOWU0NzNl
OWE1NmI4ZmU3ZDcuLjQ1MTViOWUyMTgxOTBlODhkZDk0ZGM0OGFiMTFiZTVlMjAyYTE2MzEgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QwOS5qcwpA
QCAtOCw0MyArOCwyNiBAQAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QwOQogZGVzY3JpcHRpb246IHJh
ZGl4IGlzIDExCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3Ry
aW5nKDExKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIu
cHJvdG90eXBlLnRvU3RyaW5nKDExKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChu
ZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDExKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygxMSkgPT09ICIwIicpOwotfQotCi0v
L0NIRUNLIzMKLWlmICgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMSkg
PT09ICIwIicpOwotfQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5n
KDExKSAhPT0gIi0xIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1i
ZXIoLTEpKS50b1N0cmluZygxMSkgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5l
dyBOdW1iZXIoMSkpLnRvU3RyaW5nKDExKSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTEpID09PSAiMSInKTsKLX0KLQot
Ly9DSEVDSyM2Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDExKSAhPT0g
Ik5hTiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJl
ci5OYU4pKS50b1N0cmluZygxMSkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChu
ZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDExKSAhPT0gIklu
ZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVt
YmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpID09PSAiSW5maW5pdHkiJyk7Ci19
Ci0KLS8vQ0hFQ0sjOAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkp
LnRvU3RyaW5nKDExKSAhPT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEx
KSA9PT0gIi1JbmZpbml0eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlw
ZS50b1N0cmluZygxMSksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTEpIG11c3Qg
cmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygx
MSksICIwIiwgJyhuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDExKSBtdXN0IHJldHVybiAiMCInKTsK
K2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDExKSwgIjAiLCAnKG5l
dyBOdW1iZXIoMCkpLnRvU3RyaW5nKDExKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMSksICItMSIsICcobmV3IE51bWJlcigt
MSkpLnRvU3RyaW5nKDExKSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChu
ZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMSksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmlu
ZygxMSkgbXVzdCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVt
YmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMSksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIo
TnVtYmVyLk5hTikpLnRvU3RyaW5nKDExKSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDExKSwKKyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElW
RV9JTkZJTklUWSkpLnRvU3RyaW5nKDExKSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZ
KSkudG9TdHJpbmcoMTEpLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5O
RUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDExKSBtdXN0IHJldHVybiAiLUluZmluaXR5IicK
Kyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxMC5q
cwppbmRleCA4ODMyYjZmOGM3N2RjZTNiYTI2MmNiMTRiN2MwYzA4NDAxZTA0OGNjLi44NTQyM2Vl
NTM2Zjc4YTIyN2Y1MDViZGJiNWVhZGU0NWViMzc1N2Y0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTJfVDEwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTAuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVz
NWlkOiAxNS43LjQuMl9BMl9UMTAKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAxMgogLS0tKi8KLQot
Ly9DSEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgIT09ICIwIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygx
MikgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmlu
ZygxMikgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1i
ZXIoKSkudG9TdHJpbmcoMTIpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBO
dW1iZXIoMCkpLnRvU3RyaW5nKDEyKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTIpID09PSAiMCInKTsKLX0KLQotLy9D
SEVDSyM0Ci1pZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMikgIT09ICItMSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTIp
ID09PSAiLTEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmlu
ZygxMikgIT09ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1i
ZXIoMSkpLnRvU3RyaW5nKDEyKSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcg
TnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMikgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTIp
ID09PSAiTmFOIicpOwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9T
SVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMikgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklU
WSkpLnRvU3RyaW5nKDEyKSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgo
bmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMikgIT09ICIt
SW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMikgPT09ICItSW5maW5pdHkiJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTIpLCAiMCIs
ICdOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDEyKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTIpLCAiMCIsICcobmV3IE51bWJl
cigpKS50b1N0cmluZygxMikgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChu
ZXcgTnVtYmVyKDApKS50b1N0cmluZygxMiksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmlu
ZygxMikgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0x
KSkudG9TdHJpbmcoMTIpLCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMikgbXVz
dCByZXR1cm4gIi0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJp
bmcoMTIpLCAiMSIsICcobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTIpIG11c3QgcmV0dXJuICIx
IicpOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9T
dHJpbmcoMTIpLAorICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmlu
ZygxMikgbXVzdCByZXR1cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3
IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMiksCisgICJJbmZp
bml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmlu
ZygxMikgbXVzdCByZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEyKSwKKyAg
Ii1JbmZpbml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50
b1N0cmluZygxMikgbXVzdCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1
LjcuNC4yX0EyX1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTEuanMKaW5kZXggZWY3YjFkYjk5NTYy
ZGVmMGE0Y2NlZDliZTg3YjI0OThjYTUyNTMxMC4uN2IxYTViMDZjODZhNzE4YWNjNWQ4NDA0MTI3
MzczMmJiNWJlZTZiNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUu
Ny40LjJfQTJfVDExLmpzCkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDEx
CiBkZXNjcmlwdGlvbjogcmFkaXggaXMgMTMKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJl
ci5wcm90b3R5cGUudG9TdHJpbmcoMTMpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTMpID09PSAiMCInKTsKLX0KLQot
Ly9DSEVDSyMyCi1pZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEzKSA9
PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygx
MykgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIo
MCkpLnRvU3RyaW5nKDEzKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVt
YmVyKC0xKSkudG9TdHJpbmcoMTMpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEzKSA9PT0gIi0xIicpOwotfQotCi0v
L0NIRUNLIzUKLWlmICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTMpICE9PSAiMSIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMykg
PT09ICIxIicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSku
dG9TdHJpbmcoMTMpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjog
KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEzKSA9PT0gIk5hTiInKTsKLX0KLQot
Ly9DSEVDSyM3Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMTMpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3
OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMykgPT09
ICJJbmZpbml0eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpICE9PSAiLUluZmluaXR5IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoMTMpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZShOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDEzKSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50
b1N0cmluZygxMykgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVt
YmVyKCkpLnRvU3RyaW5nKDEzKSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTMpIG11
c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJp
bmcoMTMpLCAiMCIsICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTMpIG11c3QgcmV0dXJuICIw
IicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEzKSwgIi0x
IiwgJyhuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTMpIG11c3QgcmV0dXJuICItMSInKTsKK2Fz
c2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEzKSwgIjEiLCAnKG5ldyBO
dW1iZXIoMSkpLnRvU3RyaW5nKDEzKSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEzKSwKKyAgIk5hTiIs
CisgICcobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTMpIG11c3QgcmV0dXJuICJO
YU4iJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1i
ZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpIG11c3QgcmV0dXJuICJJ
bmZpbml0eSInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMyksCisgICItSW5maW5pdHkiLAorICAnKG5l
dyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpIG11c3QgcmV0
dXJuICItSW5maW5pdHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9T
MTUuNy40LjJfQTJfVDEyLmpzCmluZGV4IGM4NjliNTQ1ZmExOWVhMjMxNTUyZTY0NWM1MTY4ZTBk
YjQ0YzNhODMuLjZkZWExNzhjOTU0MDZmNWVkYzAyNzEzOTVkNjQyY2JlMzBkNjdmZTkgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3Rv
U3RyaW5nL1MxNS43LjQuMl9BMl9UMTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxMi5qcwpAQCAt
OCw0MyArOCwyNiBAQAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QxMgogZGVzY3JpcHRpb246IHJhZGl4
IGlzIDE0CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5n
KDE0KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJv
dG90eXBlLnRvU3RyaW5nKDE0KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcg
TnVtYmVyKCkpLnRvU3RyaW5nKDE0KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygxNCkgPT09ICIwIicpOwotfQotCi0vL0NI
RUNLIzMKLWlmICgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNCkgPT09
ICIwIicpOwotfQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDE0
KSAhPT0gIi0xIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIo
LTEpKS50b1N0cmluZygxNCkgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBO
dW1iZXIoMSkpLnRvU3RyaW5nKDE0KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTQpID09PSAiMSInKTsKLX0KLQotLy9D
SEVDSyM2Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE0KSAhPT0gIk5h
TiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5O
YU4pKS50b1N0cmluZygxNCkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcg
TnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE0KSAhPT0gIkluZmlu
aXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVy
LlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0K
LS8vQ0hFQ0sjOAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDE0KSAhPT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
Izg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE0KSA9
PT0gIi1JbmZpbml0eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50
b1N0cmluZygxNCksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTQpIG11c3QgcmV0
dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygxNCks
ICIwIiwgJyhuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE0KSBtdXN0IHJldHVybiAiMCInKTsKK2Fz
c2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDE0KSwgIjAiLCAnKG5ldyBO
dW1iZXIoMCkpLnRvU3RyaW5nKDE0KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFs
dWUoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNCksICItMSIsICcobmV3IE51bWJlcigtMSkp
LnRvU3RyaW5nKDE0KSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcg
TnVtYmVyKDEpKS50b1N0cmluZygxNCksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygx
NCkgbXVzdCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVy
KE51bWJlci5OYU4pKS50b1N0cmluZygxNCksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVt
YmVyLk5hTikpLnRvU3RyaW5nKDE0KSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3Ry
aW5nKDE0KSwKKyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9J
TkZJTklUWSkpLnRvU3RyaW5nKDE0KSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoMTQpLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdB
VElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE0KSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3Rv
dHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDEzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxMy5qcwpp
bmRleCBmZjI1NTFiMDIyNTgzMmVhZjk3MDc3M2M3MTNhNWQwOTM3ZGJmMWI4Li43ZjU4NGM5Nzdi
NWFlYTdlMGZiM2MyNjZiZGU0NTJhYmY5YWM2NGViIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJf
VDEzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTMuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlk
OiAxNS43LjQuMl9BMl9UMTMKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAxNQogLS0tKi8KLQotLy9D
SEVDSyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgIT09ICIwIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkg
PT09ICIwIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygx
NSkgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIo
KSkudG9TdHJpbmcoMTUpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1i
ZXIoMCkpLnRvU3RyaW5nKDE1KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTUpID09PSAiMCInKTsKLX0KLQotLy9DSEVD
SyM0Ci1pZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNSkgIT09ICItMSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTUpID09
PSAiLTEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygx
NSkgIT09ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIo
MSkpLnRvU3RyaW5nKDE1KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVt
YmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNSkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTUpID09
PSAiTmFOIicpOwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSkgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkp
LnRvU3RyaW5nKDE1KSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3
IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSkgIT09ICItSW5m
aW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSkgPT09ICItSW5maW5pdHkiJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTUpLCAiMCIsICdO
dW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDE1KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5z
YW1lVmFsdWUoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTUpLCAiMCIsICcobmV3IE51bWJlcigp
KS50b1N0cmluZygxNSkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcg
TnVtYmVyKDApKS50b1N0cmluZygxNSksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygx
NSkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSku
dG9TdHJpbmcoMTUpLCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNSkgbXVzdCBy
ZXR1cm4gIi0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmco
MTUpLCAiMSIsICcobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTUpIG11c3QgcmV0dXJuICIxIicp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJp
bmcoMTUpLAorICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygx
NSkgbXVzdCByZXR1cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51
bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSksCisgICJJbmZpbml0
eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygx
NSkgbXVzdCByZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChu
ZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE1KSwKKyAgIi1J
bmZpbml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0
cmluZygxNSkgbXVzdCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1Ljcu
NC4yX0EyX1QxNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTQuanMKaW5kZXggNzUwMTA4ZTE2MjAwZjdh
OTUzMTk4NmQ4NjMzYjdkNmJjMjlkNTUxNC4uNWI2YWVjYmYwODllY2EzN2FmNWJhNDJhOTJmZmIz
MmY1ZjZmYWZlYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxNC5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40
LjJfQTJfVDE0LmpzCkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDE0CiBk
ZXNjcmlwdGlvbjogcmFkaXggaXMgMTYKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmcoMTYpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTYpID09PSAiMCInKTsKLX0KLQotLy9D
SEVDSyMyCi1pZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE2KSA9PT0g
IjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNikg
IT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkp
LnRvU3RyaW5nKDE2KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVy
KC0xKSkudG9TdHJpbmcoMTYpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDE2KSA9PT0gIi0xIicpOwotfQotCi0vL0NI
RUNLIzUKLWlmICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTYpICE9PSAiMSIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNikgPT09
ICIxIicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9T
dHJpbmcoMTYpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5l
dyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE2KSA9PT0gIk5hTiInKTsKLX0KLQotLy9D
SEVDSyM3Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoMTYpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAo
bmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNikgPT09ICJJ
bmZpbml0eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZ
KSkudG9TdHJpbmcoMTYpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShO
dW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDE2KSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0
cmluZygxNikgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVy
KCkpLnRvU3RyaW5nKDE2KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTYpIG11c3Qg
cmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmco
MTYpLCAiMCIsICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTYpIG11c3QgcmV0dXJuICIwIicp
OworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDE2KSwgIi0xIiwg
JyhuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTYpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDE2KSwgIjEiLCAnKG5ldyBOdW1i
ZXIoMSkpLnRvU3RyaW5nKDE2KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE2KSwKKyAgIk5hTiIsCisg
ICcobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTYpIG11c3QgcmV0dXJuICJOYU4i
JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMTYpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIo
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpIG11c3QgcmV0dXJuICJJbmZp
bml0eSInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVH
QVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNiksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBO
dW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpIG11c3QgcmV0dXJu
ICItSW5maW5pdHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTUuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUu
Ny40LjJfQTJfVDE1LmpzCmluZGV4IDU5Mjc4Nzk2M2RkZDZkOTBhN2JkMDBlZjYyZjcxNzUwZGY4
ZjZmZDIuLjM3Y2Q5N2ViMjFhMmQ1OTZhZTNjY2I3ZDc3NDcwMjM2YmQ1Y2YyNjkgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3Ry
aW5nL1MxNS43LjQuMl9BMl9UMTUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxNS5qcwpAQCAtOCw0
MyArOCwyNiBAQAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QxNQogZGVzY3JpcHRpb246IHJhZGl4IGlz
IDE3CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDE3
KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90
eXBlLnRvU3RyaW5nKDE3KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVt
YmVyKCkpLnRvU3RyaW5nKDE3KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygxNykgPT09ICIwIicpOwotfQotCi0vL0NIRUNL
IzMKLWlmICgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNykgPT09ICIw
IicpOwotfQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDE3KSAh
PT0gIi0xIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEp
KS50b1N0cmluZygxNykgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1i
ZXIoMSkpLnRvU3RyaW5nKDE3KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTcpID09PSAiMSInKTsKLX0KLQotLy9DSEVD
SyM2Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE3KSAhPT0gIk5hTiIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4p
KS50b1N0cmluZygxNykgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVt
YmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE3KSAhPT0gIkluZmluaXR5
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8v
Q0hFQ0sjOAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3Ry
aW5nKDE3KSAhPT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6
IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE3KSA9PT0g
Ii1JbmZpbml0eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0
cmluZygxNyksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTcpIG11c3QgcmV0dXJu
ICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygxNyksICIw
IiwgJyhuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE3KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDE3KSwgIjAiLCAnKG5ldyBOdW1i
ZXIoMCkpLnRvU3RyaW5nKDE3KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNyksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRv
U3RyaW5nKDE3KSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVt
YmVyKDEpKS50b1N0cmluZygxNyksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNykg
bXVzdCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51
bWJlci5OYU4pKS50b1N0cmluZygxNyksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVy
Lk5hTikpLnRvU3RyaW5nKDE3KSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5n
KDE3KSwKKyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJ
TklUWSkpLnRvU3RyaW5nKDE3KSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMTcpLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElW
RV9JTkZJTklUWSkpLnRvU3RyaW5nKDE3KSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlw
ZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDE2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxNi5qcwppbmRl
eCA1MDcwZjMxNWYzMjVmZjZjMzNmZjU0N2I0YTE4MDQzNWMwMWU2Y2QwLi5kMGE4NjdhMmY2YmQy
M2Q0YTAyMzVkM2FmOTU0NGJlZjI0ZTdhZjg0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDE2
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTYuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAx
NS43LjQuMl9BMl9UMTYKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAxOAogLS0tKi8KLQotLy9DSEVD
SyMxCi1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgIT09ICIwIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgPT09
ICIwIicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygxOCkg
IT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSku
dG9TdHJpbmcoMTgpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIo
MCkpLnRvU3RyaW5nKDE4KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTgpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0
Ci1pZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOCkgIT09ICItMSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTgpID09PSAi
LTEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOCkg
IT09ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkp
LnRvU3RyaW5nKDE4KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVy
KE51bWJlci5OYU4pKS50b1N0cmluZygxOCkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTgpID09PSAi
TmFOIicpOwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVf
SU5GSU5JVFkpKS50b1N0cmluZygxOCkgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDE4KSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51
bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCkgIT09ICItSW5maW5p
dHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCkgPT09ICItSW5maW5pdHkiJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTgpLCAiMCIsICdOdW1i
ZXIucHJvdG90eXBlLnRvU3RyaW5nKDE4KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTgpLCAiMCIsICcobmV3IE51bWJlcigpKS50
b1N0cmluZygxOCkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVt
YmVyKDApKS50b1N0cmluZygxOCksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOCkg
bXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9T
dHJpbmcoMTgpLCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOCkgbXVzdCByZXR1
cm4gIi0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTgp
LCAiMSIsICcobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTgpIG11c3QgcmV0dXJuICIxIicpOwor
Cithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmco
MTgpLAorICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOCkg
bXVzdCByZXR1cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJl
cihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCksCisgICJJbmZpbml0eSIs
CisgICcobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCkg
bXVzdCByZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcg
TnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE4KSwKKyAgIi1JbmZp
bml0eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmlu
ZygxOCkgbXVzdCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4y
X0EyX1QxNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTcuanMKaW5kZXggMzMwMGI3Y2MxMTA0N2I0Njkx
ZDhjOThiMTNiMzQ0ZTE4ZTE4YjI3YS4uZjY1YzI5N2MwMDk1OTBiMmIxNDQxYjQxNzQyNTRmNzNj
ODA5NTY1NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxNy5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTJfVDE3LmpzCkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDE3CiBkZXNj
cmlwdGlvbjogcmFkaXggaXMgMTkKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90
b3R5cGUudG9TdHJpbmcoMTkpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTkpID09PSAiMCInKTsKLX0KLQotLy9DSEVD
SyMyCi1pZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE5KSA9PT0gIjAi
Jyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOSkgIT09
ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRv
U3RyaW5nKDE5KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0x
KSkudG9TdHJpbmcoMTkpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDE5KSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNL
IzUKLWlmICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTkpICE9PSAiMSIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOSkgPT09ICIx
IicpOwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJp
bmcoMTkpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBO
dW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE5KSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVD
SyM3Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmco
MTkpICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3
IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOSkgPT09ICJJbmZp
bml0eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMTkpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoMTkpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1i
ZXIucHJvdG90eXBlLnRvU3RyaW5nKDE5KSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmlu
ZygxOSkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkp
LnRvU3RyaW5nKDE5KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTkpIG11c3QgcmV0
dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTkp
LCAiMCIsICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTkpIG11c3QgcmV0dXJuICIwIicpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDE5KSwgIi0xIiwgJyhu
ZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTkpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5z
YW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDE5KSwgIjEiLCAnKG5ldyBOdW1iZXIo
MSkpLnRvU3RyaW5nKDE5KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE5KSwKKyAgIk5hTiIsCisgICco
bmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTkpIG11c3QgcmV0dXJuICJOYU4iJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKSkudG9TdHJpbmcoMTkpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVt
YmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpIG11c3QgcmV0dXJuICJJbmZpbml0
eSInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZygxOSksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1i
ZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpIG11c3QgcmV0dXJuICIt
SW5maW5pdHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMTguanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40
LjJfQTJfVDE4LmpzCmluZGV4IDlhODJiYzg0ZWI5ODM2Y2RhMTExM2VjNWNlNGM3ZjE4YTlmZTcx
YTIuLjA4YTU1NzA4YTg2OGRiNWUyMDliMDAwZWRlMGYzZWMzZjUwZmJkM2MgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS43LjQuMl9BMl9UMTguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxOC5qcwpAQCAtOCw0MyAr
OCwyNiBAQAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QxOAogZGVzY3JpcHRpb246IHJhZGl4IGlzIDIw
CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIwKSAh
PT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBl
LnRvU3RyaW5nKDIwKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVy
KCkpLnRvU3RyaW5nKDIwKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiAobmV3IE51bWJlcigpKS50b1N0cmluZygyMCkgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMK
LWlmICgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjApICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMCkgPT09ICIwIicp
OwotfQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIwKSAhPT0g
Ii0xIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50
b1N0cmluZygyMCkgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIo
MSkpLnRvU3RyaW5nKDIwKSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1
OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjApID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2
Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIwKSAhPT0gIk5hTiIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50
b1N0cmluZygyMCkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVy
KE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIwKSAhPT0gIkluZmluaXR5Iikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hF
Q0sjOAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5n
KDIwKSAhPT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChu
ZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIwKSA9PT0gIi1J
bmZpbml0eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmlu
ZygyMCksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjApIG11c3QgcmV0dXJuICIw
IicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygyMCksICIwIiwg
JyhuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIwKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5z
YW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDIwKSwgIjAiLCAnKG5ldyBOdW1iZXIo
MCkpLnRvU3RyaW5nKDIwKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoLTEpKS50b1N0cmluZygyMCksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3Ry
aW5nKDIwKSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVy
KDEpKS50b1N0cmluZygyMCksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMCkgbXVz
dCByZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJl
ci5OYU4pKS50b1N0cmluZygyMCksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5h
TikpLnRvU3RyaW5nKDIwKSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIw
KSwKKyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklU
WSkpLnRvU3RyaW5nKDIwKSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoMjApLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9J
TkZJTklUWSkpLnRvU3RyaW5nKDIwKSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90
b1N0cmluZy9TMTUuNy40LjJfQTJfVDE5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QxOS5qcwppbmRleCAw
MWYwMjJhMjM4MDc3N2RmNmEyYTRhMDM5ODRmMzNmODZiMmNkMTg4Li4wMjYxNDljZTZkMWJkMGM0
MzEwY2QyMWI1NjgxY2Y4NjFhYTQ0YzVmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDE5Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3Rv
U3RyaW5nL1MxNS43LjQuMl9BMl9UMTkuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43
LjQuMl9BMl9UMTkKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAyMQogLS0tKi8KLQotLy9DSEVDSyMx
Ci1pZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgIT09ICIwIikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgPT09ICIw
IicpOwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygyMSkgIT09
ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9T
dHJpbmcoMjEpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkp
LnRvU3RyaW5nKDIxKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAo
bmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjEpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1p
ZiAoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMSkgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjEpID09PSAiLTEi
Jyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMSkgIT09
ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRv
U3RyaW5nKDIxKSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51
bWJlci5OYU4pKS50b1N0cmluZygyMSkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjEpID09PSAiTmFO
IicpOwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5G
SU5JVFkpKS50b1N0cmluZygyMSkgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3Ry
aW5nKDIxKSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJl
cihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSkgIT09ICItSW5maW5pdHki
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVH
QVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSkgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjEpLCAiMCIsICdOdW1iZXIu
cHJvdG90eXBlLnRvU3RyaW5nKDIxKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFs
dWUoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjEpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0
cmluZygyMSkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVy
KDApKS50b1N0cmluZygyMSksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMSkgbXVz
dCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJp
bmcoMjEpLCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMSkgbXVzdCByZXR1cm4g
Ii0xIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjEpLCAi
MSIsICcobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjEpIG11c3QgcmV0dXJuICIxIicpOworCith
c3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjEp
LAorICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMSkgbXVz
dCByZXR1cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihO
dW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSksCisgICJJbmZpbml0eSIsCisg
ICcobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSkgbXVz
dCByZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVt
YmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIxKSwKKyAgIi1JbmZpbml0
eSIsCisgICcobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygy
MSkgbXVzdCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0Ey
X1QyMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMjAuanMKaW5kZXggMTVjNjRmMTQ0ODJiNjcwNWNkNGQ3
NWNjNWEwNTU3ZTRlMmQ0NjNkYy4uMDgyMDVkOTU5OWU1ODg3NWQyNmM2YTFmMzg3N2YyMmZmMGIy
ZjI2NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyMC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJf
VDIwLmpzCkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDIwCiBkZXNjcmlw
dGlvbjogcmFkaXggaXMgMjIKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5
cGUudG9TdHJpbmcoMjIpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjIpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMy
Ci1pZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIyKSA9PT0gIjAiJyk7
Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMikgIT09ICIw
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3Ry
aW5nKDIyKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSku
dG9TdHJpbmcoMjIpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAo
bmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIyKSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUK
LWlmICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjIpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMikgPT09ICIxIicp
OwotfQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmco
MjIpICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1i
ZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIyKSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM3
Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIp
ICE9PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51
bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMikgPT09ICJJbmZpbml0
eSInKTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lO
RklOSVRZKSkudG9TdHJpbmcoMjIpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMjIpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIu
cHJvdG90eXBlLnRvU3RyaW5nKDIyKSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygy
MikgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnRv
U3RyaW5nKDIyKSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjIpIG11c3QgcmV0dXJu
ICIwIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjIpLCAi
MCIsICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjIpIG11c3QgcmV0dXJuICIwIicpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIyKSwgIi0xIiwgJyhuZXcg
TnVtYmVyKC0xKSkudG9TdHJpbmcoMjIpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDIyKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkp
LnRvU3RyaW5nKDIyKSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIyKSwKKyAgIk5hTiIsCisgICcobmV3
IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjIpIG11c3QgcmV0dXJuICJOYU4iJworKTsK
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoMjIpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVy
LlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpIG11c3QgcmV0dXJuICJJbmZpbml0eSIn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVf
SU5GSU5JVFkpKS50b1N0cmluZygyMiksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIo
TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpIG11c3QgcmV0dXJuICItSW5m
aW5pdHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMjEuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTJfVDIxLmpzCmluZGV4IDY3MDVmNzA0YzY4MjEzMmEwYzFhYjE5M2JlM2JjOWEyMDkyMDc3OTcu
Ljg2YWNjYjM3NWRhYjY3OWZlMGYwYTNlZDJkMmI0ZWVlMDQzMmI0ODEgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS43LjQuMl9BMl9UMjEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyMS5qcwpAQCAtOCw0MyArOCwy
NiBAQAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QyMQogZGVzY3JpcHRpb246IHJhZGl4IGlzIDIzCiAt
LS0qLwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIzKSAhPT0g
IjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRv
U3RyaW5nKDIzKSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkp
LnRvU3RyaW5nKDIzKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAo
bmV3IE51bWJlcigpKS50b1N0cmluZygyMykgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlm
ICgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMykgPT09ICIwIicpOwot
fQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIzKSAhPT0gIi0x
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0
cmluZygyMykgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkp
LnRvU3RyaW5nKDIzKSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAo
bmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjMpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1p
ZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIzKSAhPT0gIk5hTiIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0
cmluZygyMykgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51
bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIzKSAhPT0gIkluZmluaXR5Iikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMjMpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sj
OAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIz
KSAhPT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcg
TnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIzKSA9PT0gIi1JbmZp
bml0eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygy
MyksICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjMpIG11c3QgcmV0dXJuICIwIicp
OworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygyMyksICIwIiwgJyhu
ZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIzKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1l
VmFsdWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDIzKSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkp
LnRvU3RyaW5nKDIzKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBO
dW1iZXIoLTEpKS50b1N0cmluZygyMyksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5n
KDIzKSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEp
KS50b1N0cmluZygyMyksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMykgbXVzdCBy
ZXR1cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5O
YU4pKS50b1N0cmluZygyMyksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikp
LnRvU3RyaW5nKDIzKSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIzKSwK
KyAgIkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkp
LnRvU3RyaW5nKDIzKSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmco
MjMpLAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJ
TklUWSkpLnRvU3RyaW5nKDIzKSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0
cmluZy9TMTUuNy40LjJfQTJfVDIyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyMi5qcwppbmRleCA1NzI5
MTIzNDZmY2YxMmU2NzE4NWU5MmY4YzdkZmE2MjQ0NWIwODk2Li43MGE5YWIzNTFlYzgyNWMwMmZk
ZTEwOWVlNzRmNzNlZDNjYzE1MzRkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDIyLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3Ry
aW5nL1MxNS43LjQuMl9BMl9UMjIuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43LjQu
Ml9BMl9UMjIKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAyNAogLS0tKi8KLQotLy9DSEVDSyMxCi1p
ZiAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgIT09ICIwIikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgPT09ICIwIicp
OwotfQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygyNCkgIT09ICIw
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJp
bmcoMjQpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnRv
U3RyaW5nKDI0KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3
IE51bWJlcigwKSkudG9TdHJpbmcoMjQpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAo
KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNCkgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjQpID09PSAiLTEiJyk7
Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNCkgIT09ICIx
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3Ry
aW5nKDI0KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51bWJl
ci5OYU4pKS50b1N0cmluZygyNCkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjQpID09PSAiTmFOIicp
OwotfQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5J
VFkpKS50b1N0cmluZygyNCkgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5n
KDI0KSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkgIT09ICItSW5maW5pdHkiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjQpLCAiMCIsICdOdW1iZXIucHJv
dG90eXBlLnRvU3RyaW5nKDI0KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
KG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjQpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmlu
ZygyNCkgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDAp
KS50b1N0cmluZygyNCksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNCkgbXVzdCBy
ZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmco
MjQpLCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNCkgbXVzdCByZXR1cm4gIi0x
IicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjQpLCAiMSIs
ICcobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjQpIG11c3QgcmV0dXJuICIxIicpOworCithc3Nl
cnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjQpLAor
ICAiTmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNCkgbXVzdCBy
ZXR1cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCksCisgICJJbmZpbml0eSIsCisgICco
bmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkgbXVzdCBy
ZXR1cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVy
KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI0KSwKKyAgIi1JbmZpbml0eSIs
CisgICcobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkg
bXVzdCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1Qy
My5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3Rv
U3RyaW5nL1MxNS43LjQuMl9BMl9UMjMuanMKaW5kZXggYmY0ODRjYTljN2QyZTA5YTAxNzc1NWY5
NGE0ODUwZGMxMDkwZWU5ZS4uNDQ4MjI1MTUyZTE3MTlhODYzZmZmMzVjNGY0YWE0MGI4ODdmOTc4
YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDIz
LmpzCkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDIzCiBkZXNjcmlwdGlv
bjogcmFkaXggaXMgMjUKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUu
dG9TdHJpbmcoMjUpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51
bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjUpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1p
ZiAoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI1KSA9PT0gIjAiJyk7Ci19
Ci0KLS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNSkgIT09ICIwIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5n
KDI1KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSkudG9T
dHJpbmcoMjUpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3
IE51bWJlcigtMSkpLnRvU3RyaW5nKDI1KSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlm
ICgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjUpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNSkgPT09ICIxIicpOwot
fQotCi0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjUp
ICE9PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1iZXIo
TnVtYmVyLk5hTikpLnRvU3RyaW5nKDI1KSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM3Ci1p
ZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpICE9
PSAiSW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJl
cihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNSkgPT09ICJJbmZpbml0eSIn
KTsKLX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoMjUpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoMjUpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJv
dG90eXBlLnRvU3RyaW5nKDI1KSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkg
bXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnRvU3Ry
aW5nKDI1KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjUpIG11c3QgcmV0dXJuICIw
IicpOworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjUpLCAiMCIs
ICcobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjUpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0
LnNhbWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDI1KSwgIi0xIiwgJyhuZXcgTnVt
YmVyKC0xKSkudG9TdHJpbmcoMjUpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1lVmFs
dWUoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDI1KSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRv
U3RyaW5nKDI1KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5l
dyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI1KSwKKyAgIk5hTiIsCisgICcobmV3IE51
bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjUpIG11c3QgcmV0dXJuICJOYU4iJworKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
KSkudG9TdHJpbmcoMjUpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpIG11c3QgcmV0dXJuICJJbmZpbml0eSInCisp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5G
SU5JVFkpKS50b1N0cmluZygyNSksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVt
YmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpIG11c3QgcmV0dXJuICItSW5maW5p
dHkiJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1i
ZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMjQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJf
VDI0LmpzCmluZGV4IGY5Mzc5NGEwNGQyMGM5OGIxNmJhZjM0YWU0Y2JjMDZhNTMzMzAxMmEuLjg5
ZGQzNDA1M2JmM2MxOWY5MzM4N2E5ZTBiYjkwOTMyOGZlNWE4MzIgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43
LjQuMl9BMl9UMjQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyNC5qcwpAQCAtOCw0MyArOCwyNiBA
QAogZXM1aWQ6IDE1LjcuNC4yX0EyX1QyNAogZGVzY3JpcHRpb246IHJhZGl4IGlzIDI2CiAtLS0q
LwotCi0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDI2KSAhPT0gIjAi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3Ry
aW5nKDI2KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRv
U3RyaW5nKDI2KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAobmV3
IE51bWJlcigpKS50b1N0cmluZygyNikgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlmICgo
bmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNikgPT09ICIwIicpOwotfQot
Ci0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDI2KSAhPT0gIi0xIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmlu
ZygyNikgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRv
U3RyaW5nKDI2KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3
IE51bWJlcigxKSkudG9TdHJpbmcoMjYpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAo
KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI2KSAhPT0gIk5hTiIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmlu
ZygyNikgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJl
ci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSAhPT0gIkluZmluaXR5IikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKSkudG9TdHJpbmcoMjYpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAot
aWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSAh
PT0gIi1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVt
YmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSA9PT0gIi1JbmZpbml0
eSInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNiks
ICIwIiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjYpIG11c3QgcmV0dXJuICIwIicpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygyNiksICIwIiwgJyhuZXcg
TnVtYmVyKCkpLnRvU3RyaW5nKDI2KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFs
dWUoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDI2KSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkpLnRv
U3RyaW5nKDI2KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1i
ZXIoLTEpKS50b1N0cmluZygyNiksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDI2
KSBtdXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50
b1N0cmluZygyNiksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNikgbXVzdCByZXR1
cm4gIjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5OYU4p
KS50b1N0cmluZygyNiksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRv
U3RyaW5nKDI2KSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSwKKyAg
IkluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDI2KSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYp
LAorICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklU
WSkpLnRvU3RyaW5nKDI2KSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmlu
Zy9TMTUuNy40LjJfQTJfVDI1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051
bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyNS5qcwppbmRleCBiN2I5N2Vh
ZDI3N2MzOWU0NmZhMDg3ODIyM2Q5NTVjMmJhYzMzNGEzLi45NmM0ZmI5ZjkyODIwNThjMjlkZTM1
NzkzMWNkOWEzODQ3ZGNjODBhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDI1LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS43LjQuMl9BMl9UMjUuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43LjQuMl9B
Ml9UMjUKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAyNwogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAo
TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgPT09ICIwIicpOwot
fQotCi0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygyNykgIT09ICIwIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmco
MjcpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnRvU3Ry
aW5nKDI3KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3IE51
bWJlcigwKSkudG9TdHJpbmcoMjcpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoKG5l
dyBOdW1iZXIoLTEpKS50b1N0cmluZygyNykgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjcpID09PSAiLTEiJyk7Ci19
Ci0KLS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNykgIT09ICIxIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KDI3KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51bWJlci5O
YU4pKS50b1N0cmluZygyNykgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjcpID09PSAiTmFOIicpOwot
fQotCi0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZygyNykgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI3
KSA9PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNykgIT09ICItSW5maW5pdHkiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVf
SU5GSU5JVFkpKS50b1N0cmluZygyNykgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjcpLCAiMCIsICdOdW1iZXIucHJvdG90
eXBlLnRvU3RyaW5nKDI3KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoKSkudG9TdHJpbmcoMjcpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmluZygy
NykgbXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDApKS50
b1N0cmluZygyNyksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNykgbXVzdCByZXR1
cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjcp
LCAiLTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNykgbXVzdCByZXR1cm4gIi0xIicp
OworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjcpLCAiMSIsICco
bmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjcpIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQu
c2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjcpLAorICAi
TmFOIiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNykgbXVzdCByZXR1
cm4gIk5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIu
UE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNyksCisgICJJbmZpbml0eSIsCisgICcobmV3
IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNykgbXVzdCByZXR1
cm4gIkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51
bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI3KSwKKyAgIi1JbmZpbml0eSIsCisg
ICcobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNykgbXVz
dCByZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyNi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3Ry
aW5nL1MxNS43LjQuMl9BMl9UMjYuanMKaW5kZXggZjU1NGQzMDVmZDczNThhZWMxNmU4OTFjYzVm
NDY2MzExMmQ0MTE4Ni4uNDlmZGQ3NzNkYTk5MTg2ZTEwMTNhNDkwZGI1MDg0MzFmNzU2MzNiZSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDI2Lmpz
CkBAIC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDI2CiBkZXNjcmlwdGlvbjog
cmFkaXggaXMgMjgKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudG9T
dHJpbmcoMjgpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJl
ci5wcm90b3R5cGUudG9TdHJpbmcoMjgpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAo
KG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI4KSA9PT0gIjAiJyk7Ci19Ci0K
LS8vQ0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOCkgIT09ICIwIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDI4
KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSkudG9TdHJp
bmcoMjgpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51
bWJlcigtMSkpLnRvU3RyaW5nKDI4KSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgo
bmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjgpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOCkgPT09ICIxIicpOwotfQot
Ci0vL0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjgpICE9
PSAiTmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1iZXIoTnVt
YmVyLk5hTikpLnRvU3RyaW5nKDI4KSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM3Ci1pZiAo
KG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpICE9PSAi
SW5maW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcihO
dW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOCkgPT09ICJJbmZpbml0eSInKTsK
LX0KLQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZ
KSkudG9TdHJpbmcoMjgpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmco
MjgpID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90
eXBlLnRvU3RyaW5nKDI4KSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgbXVz
dCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5n
KDI4KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjgpIG11c3QgcmV0dXJuICIwIicp
OworYXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjgpLCAiMCIsICco
bmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjgpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNh
bWVWYWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDI4KSwgIi0xIiwgJyhuZXcgTnVtYmVy
KC0xKSkudG9TdHJpbmcoMjgpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
KG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDI4KSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3Ry
aW5nKDI4KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBO
dW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI4KSwKKyAgIk5hTiIsCisgICcobmV3IE51bWJl
cihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMjgpIG11c3QgcmV0dXJuICJOYU4iJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoMjgpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpIG11c3QgcmV0dXJuICJJbmZpbml0eSInCispOwor
Cithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5J
VFkpKS50b1N0cmluZygyOCksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVy
Lk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpIG11c3QgcmV0dXJuICItSW5maW5pdHki
JworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMjcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDI3
LmpzCmluZGV4IDAwMDExODFmOGE3MWY5MWQ1MWE1YmUzNWQ4MzBiYzk0NGI5ZDRiYWUuLmQ1OTgy
ZGViZDM0NDZmMmNkNWUyY2I0Y2Q5MTRlNDZhNzBlMzlhZGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQu
Ml9BMl9UMjcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyNy5qcwpAQCAtOCw0MyArOCwyNiBAQAog
ZXM1aWQ6IDE1LjcuNC4yX0EyX1QyNwogZGVzY3JpcHRpb246IHJhZGl4IGlzIDI5CiAtLS0qLwot
Ci0vL0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDI5KSAhPT0gIjAiKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5n
KDI5KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRvU3Ry
aW5nKDI5KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAobmV3IE51
bWJlcigpKS50b1N0cmluZygyOSkgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlmICgobmV3
IE51bWJlcigwKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOSkgPT09ICIwIicpOwotfQotCi0v
L0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDI5KSAhPT0gIi0xIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygy
OSkgPT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvU3Ry
aW5nKDI5KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51
bWJlcigxKSkudG9TdHJpbmcoMjkpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAoKG5l
dyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI5KSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygy
OSkgPT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJlci5Q
T1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSAhPT0gIkluZmluaXR5IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKSkudG9TdHJpbmcoMjkpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYg
KChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSAhPT0g
Ii1JbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVy
KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSA9PT0gIi1JbmZpbml0eSIn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSksICIw
IiwgJ051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMjkpIG11c3QgcmV0dXJuICIwIicpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygyOSksICIwIiwgJyhuZXcgTnVt
YmVyKCkpLnRvU3RyaW5nKDI5KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
KG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDI5KSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkpLnRvU3Ry
aW5nKDI5KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIo
LTEpKS50b1N0cmluZygyOSksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDI5KSBt
dXN0IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b1N0
cmluZygyOSksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOSkgbXVzdCByZXR1cm4g
IjEiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50
b1N0cmluZygyOSksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3Ry
aW5nKDI5KSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChu
ZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSwKKyAgIklu
ZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3Ry
aW5nKDI5KSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpLAor
ICAiLUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkp
LnRvU3RyaW5nKDI5KSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9T
MTUuNy40LjJfQTJfVDI4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyOC5qcwppbmRleCBiMDNmMTY0MGI0
YTM4ZmU0M2MxYzBhOTNhZDVhZjk1ODZlMTQ4Mjg5Li4yNjlmYzIxMTA2NjdkMjE4NjUzN2QzMWI4
NGU1YzU1ZTA4Yjc1Y2U4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDI4LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS43LjQuMl9BMl9UMjguanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43LjQuMl9BMl9U
MjgKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAzMAogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoTnVt
YmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgPT09ICIwIicpOwotfQot
Ci0vL0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygzMCkgIT09ICIwIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzAp
ID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5n
KDMwKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3IE51bWJl
cigwKSkudG9TdHJpbmcoMzApID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoKG5ldyBO
dW1iZXIoLTEpKS50b1N0cmluZygzMCkgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzApID09PSAiLTEiJyk7Ci19Ci0K
LS8vQ0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMCkgIT09ICIxIikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMw
KSA9PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51bWJlci5OYU4p
KS50b1N0cmluZygzMCkgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2
OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzApID09PSAiTmFOIicpOwotfQot
Ci0vL0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50
b1N0cmluZygzMCkgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
Izc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMwKSA9
PT0gIkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCkgIT09ICItSW5maW5pdHkiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5G
SU5JVFkpKS50b1N0cmluZygzMCkgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMzApLCAiMCIsICdOdW1iZXIucHJvdG90eXBl
LnRvU3RyaW5nKDMwKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBO
dW1iZXIoKSkudG9TdHJpbmcoMzApLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmluZygzMCkg
bXVzdCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDApKS50b1N0
cmluZygzMCksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMCkgbXVzdCByZXR1cm4g
IjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzApLCAi
LTEiLCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMCkgbXVzdCByZXR1cm4gIi0xIicpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzApLCAiMSIsICcobmV3
IE51bWJlcigxKSkudG9TdHJpbmcoMzApIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQuc2Ft
ZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzApLAorICAiTmFO
IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMCkgbXVzdCByZXR1cm4g
Ik5hTiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuUE9T
SVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCksCisgICJJbmZpbml0eSIsCisgICcobmV3IE51
bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCkgbXVzdCByZXR1cm4g
IkluZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJl
ci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMwKSwKKyAgIi1JbmZpbml0eSIsCisgICco
bmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCkgbXVzdCBy
ZXR1cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyOS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS43LjQuMl9BMl9UMjkuanMKaW5kZXggZTQzMDQyOTliYTRhMmM5NDUwYTE1ZTZkMzNkMDA1
MTNjOTE0NWJmYi4uYjllNDY5NWE4MzU0ODZjYmVmMmVhODMyMDM2ZGEyOGZiYWRhN2Y5MyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QyOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDI5LmpzCkBA
IC04LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDI5CiBkZXNjcmlwdGlvbjogcmFk
aXggaXMgMzEKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudG9TdHJp
bmcoMzEpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmcoMzEpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5l
dyBOdW1iZXIoKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMxKSA9PT0gIjAiJyk7Ci19Ci0KLS8v
Q0hFQ0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMSkgIT09ICIwIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDMxKSA9
PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmco
MzEpICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJl
cigtMSkpLnRvU3RyaW5nKDMxKSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3
IE51bWJlcigxKSkudG9TdHJpbmcoMzEpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMSkgPT09ICIxIicpOwotfQotCi0v
L0NIRUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzEpICE9PSAi
TmFOIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVy
Lk5hTikpLnRvU3RyaW5nKDMxKSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM3Ci1pZiAoKG5l
dyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpICE9PSAiSW5m
aW5pdHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcihOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMSkgPT09ICJJbmZpbml0eSInKTsKLX0K
LQotLy9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoMzEpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEp
ID09PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90eXBl
LnRvU3RyaW5nKDMxKSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgbXVzdCBy
ZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMx
KSwgIjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzEpIG11c3QgcmV0dXJuICIwIicpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzEpLCAiMCIsICcobmV3
IE51bWJlcigwKSkudG9TdHJpbmcoMzEpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVW
YWx1ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMxKSwgIi0xIiwgJyhuZXcgTnVtYmVyKC0x
KSkudG9TdHJpbmcoMzEpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMxKSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KDMxKSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1i
ZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMxKSwKKyAgIk5hTiIsCisgICcobmV3IE51bWJlcihO
dW1iZXIuTmFOKSkudG9TdHJpbmcoMzEpIG11c3QgcmV0dXJuICJOYU4iJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMzEpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZF
X0lORklOSVRZKSkudG9TdHJpbmcoMzEpIG11c3QgcmV0dXJuICJJbmZpbml0eSInCispOworCith
c3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZygzMSksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpIG11c3QgcmV0dXJuICItSW5maW5pdHkiJwor
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMzAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDMwLmpz
CmluZGV4IDVkOTg4MWQ0OWE0ZWQyMDU4YjRkMzY5N2ZkZWFlMDFkOGM5ODZiMTMuLjM4MTRkNDQ0
NGRhMTQwNTFiNTQ0NzQ0OWZjNWJkYjdiYTllOWJmOTggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9B
Ml9UMzAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QzMC5qcwpAQCAtOCw0MyArOCwyNiBAQAogZXM1
aWQ6IDE1LjcuNC4yX0EyX1QzMAogZGVzY3JpcHRpb246IHJhZGl4IGlzIDMyCiAtLS0qLwotCi0v
L0NIRUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDMyKSAhPT0gIjAiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDMy
KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5n
KDMyKSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAobmV3IE51bWJl
cigpKS50b1N0cmluZygzMikgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlmICgobmV3IE51
bWJlcigwKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMikgPT09ICIwIicpOwotfQotCi0vL0NI
RUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMyKSAhPT0gIi0xIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMikg
PT09ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5n
KDMyKSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJl
cigxKSkudG9TdHJpbmcoMzIpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAoKG5ldyBO
dW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMyKSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMikg
PT09ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJlci5QT1NJ
VElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSAhPT0gIkluZmluaXR5IikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
KSkudG9TdHJpbmcoMzIpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYgKChu
ZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSAhPT0gIi1J
bmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVyKE51
bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSA9PT0gIi1JbmZpbml0eSInKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMiksICIwIiwg
J051bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMzIpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0
LnNhbWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygzMiksICIwIiwgJyhuZXcgTnVtYmVy
KCkpLnRvU3RyaW5nKDMyKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5l
dyBOdW1iZXIoMCkpLnRvU3RyaW5nKDMyKSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5n
KDMyKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoLTEp
KS50b1N0cmluZygzMiksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMyKSBtdXN0
IHJldHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b1N0cmlu
ZygzMiksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMikgbXVzdCByZXR1cm4gIjEi
Jyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0
cmluZygzMiksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5n
KDMyKSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcg
TnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSwKKyAgIkluZmlu
aXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5n
KDMyKSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
KG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpLAorICAi
LUluZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRv
U3RyaW5nKDMyKSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUu
Ny40LjJfQTJfVDMxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QzMS5qcwppbmRleCBhYmQ4ZWU1Njc0NDdl
Nzk5MWJhOGNkNjFkNDFiZDg1ZmJiZmUzMDEzLi5kNThhYjQ5YTVjMWQxZjQzZDA5YTU2N2QyOTBj
Y2Q1OGEzNzBlMjEzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDMxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43
LjQuMl9BMl9UMzEuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43LjQuMl9BMl9UMzEK
IGRlc2NyaXB0aW9uOiByYWRpeCBpcyAzMwogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoTnVtYmVy
LnByb3RvdHlwZS50b1N0cmluZygzMykgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgPT09ICIwIicpOwotfQotCi0v
L0NIRUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygzMykgIT09ICIwIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzMpID09
PSAiMCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDMz
KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3IE51bWJlcigw
KSkudG9TdHJpbmcoMzMpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoKG5ldyBOdW1i
ZXIoLTEpKS50b1N0cmluZygzMykgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzMpID09PSAiLTEiJyk7Ci19Ci0KLS8v
Q0hFQ0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMykgIT09ICIxIikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMzKSA9
PT0gIjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50
b1N0cmluZygzMykgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiAo
bmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzMpID09PSAiTmFOIicpOwotfQotCi0v
L0NIRUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0
cmluZygzMykgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6
IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMzKSA9PT0g
IkluZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTkVH
QVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMykgIT09ICItSW5maW5pdHkiKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5J
VFkpKS50b1N0cmluZygzMykgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMzMpLCAiMCIsICdOdW1iZXIucHJvdG90eXBlLnRv
U3RyaW5nKDMzKSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1i
ZXIoKSkudG9TdHJpbmcoMzMpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmluZygzMykgbXVz
dCByZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDApKS50b1N0cmlu
ZygzMyksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMykgbXVzdCByZXR1cm4gIjAi
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzMpLCAiLTEi
LCAnKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMykgbXVzdCByZXR1cm4gIi0xIicpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzMpLCAiMSIsICcobmV3IE51
bWJlcigxKSkudG9TdHJpbmcoMzMpIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQuc2FtZVZh
bHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzMpLAorICAiTmFOIiwK
KyAgJyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMykgbXVzdCByZXR1cm4gIk5h
TiInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZygzMyksCisgICJJbmZpbml0eSIsCisgICcobmV3IE51bWJl
cihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMykgbXVzdCByZXR1cm4gIklu
ZmluaXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5O
RUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMzKSwKKyAgIi1JbmZpbml0eSIsCisgICcobmV3
IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMykgbXVzdCByZXR1
cm4gIi1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QzMi5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS43LjQuMl9BMl9UMzIuanMKaW5kZXggMjllYzA1MGM0YTc5MjAyYzExOGJjNDBhNDMwNmIxOTZh
MzM3MGY1Yy4uYjhkNzZkMjExYjUyNjQ0Yzk1ODc1ZWJlNDExNTljZWU1MGFjMjE1ZiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9T
dHJpbmcvUzE1LjcuNC4yX0EyX1QzMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDMyLmpzCkBAIC04
LDQzICs4LDI2IEBACiBlczVpZDogMTUuNy40LjJfQTJfVDMyCiBkZXNjcmlwdGlvbjogcmFkaXgg
aXMgMzQKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmco
MzQpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90
b3R5cGUudG9TdHJpbmcoMzQpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoKG5ldyBO
dW1iZXIoKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM0KSA9PT0gIjAiJyk7Ci19Ci0KLS8vQ0hF
Q0sjMwotaWYgKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNCkgIT09ICIwIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDM0KSA9PT0g
IjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzQp
ICE9PSAiLTEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJlcigt
MSkpLnRvU3RyaW5nKDM0KSA9PT0gIi0xIicpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3IE51
bWJlcigxKSkudG9TdHJpbmcoMzQpICE9PSAiMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNCkgPT09ICIxIicpOwotfQotCi0vL0NI
RUNLIzYKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzQpICE9PSAiTmFO
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5h
TikpLnRvU3RyaW5nKDM0KSA9PT0gIk5hTiInKTsKLX0KLQotLy9DSEVDSyM3Ci1pZiAoKG5ldyBO
dW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpICE9PSAiSW5maW5p
dHkiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIu
UE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNCkgPT09ICJJbmZpbml0eSInKTsKLX0KLQot
Ly9DSEVDSyM4Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9T
dHJpbmcoMzQpICE9PSAiLUluZmluaXR5IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
ODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpID09
PSAiLUluZmluaXR5IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShOdW1iZXIucHJvdG90eXBlLnRv
U3RyaW5nKDM0KSwgIjAiLCAnTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgbXVzdCByZXR1
cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM0KSwg
IjAiLCAnKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzQpIG11c3QgcmV0dXJuICIwIicpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzQpLCAiMCIsICcobmV3IE51
bWJlcigwKSkudG9TdHJpbmcoMzQpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNhbWVWYWx1
ZSgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDM0KSwgIi0xIiwgJyhuZXcgTnVtYmVyKC0xKSku
dG9TdHJpbmcoMzQpIG11c3QgcmV0dXJuICItMSInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBO
dW1iZXIoMSkpLnRvU3RyaW5nKDM0KSwgIjEiLCAnKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM0
KSBtdXN0IHJldHVybiAiMSInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIo
TnVtYmVyLk5hTikpLnRvU3RyaW5nKDM0KSwKKyAgIk5hTiIsCisgICcobmV3IE51bWJlcihOdW1i
ZXIuTmFOKSkudG9TdHJpbmcoMzQpIG11c3QgcmV0dXJuICJOYU4iJworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoMzQpLAorICAiSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKSkudG9TdHJpbmcoMzQpIG11c3QgcmV0dXJuICJJbmZpbml0eSInCispOworCithc3Nl
cnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50
b1N0cmluZygzNCksCisgICItSW5maW5pdHkiLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpIG11c3QgcmV0dXJuICItSW5maW5pdHkiJworKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9UMzMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDMzLmpzCmlu
ZGV4IDVhOGZlY2NjYzRhYzUxMTkwMThkMWRmZmFmMmY3M2EwZWU5MjdhMDYuLjZmNWY0NWRlN2Rl
ZTU4ODU2ZGI4NGYwMTBhM2NlZjEzNTQyZDNmMzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BMl9U
MzMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QzMy5qcwpAQCAtOCw0MyArOCwyNiBAQAogZXM1aWQ6
IDE1LjcuNC4yX0EyX1QzMwogZGVzY3JpcHRpb246IHJhZGl4IGlzIDM1CiAtLS0qLwotCi0vL0NI
RUNLIzEKLWlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDM1KSAhPT0gIjAiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDM1KSA9
PT0gIjAiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM1
KSAhPT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiAobmV3IE51bWJlcigp
KS50b1N0cmluZygzNSkgPT09ICIwIicpOwotfQotCi0vL0NIRUNLIzMKLWlmICgobmV3IE51bWJl
cigwKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNSkgPT09ICIwIicpOwotfQotCi0vL0NIRUNL
IzQKLWlmICgobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDM1KSAhPT0gIi0xIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNSkgPT09
ICItMSInKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM1
KSAhPT0gIjEiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJlcigx
KSkudG9TdHJpbmcoMzUpID09PSAiMSInKTsKLX0KLQotLy9DSEVDSyM2Ci1pZiAoKG5ldyBOdW1i
ZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM1KSAhPT0gIk5hTiIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNSkgPT09
ICJOYU4iJyk7Ci19Ci0KLS8vQ0hFQ0sjNwotaWYgKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElW
RV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSAhPT0gIkluZmluaXR5IikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcoMzUpID09PSAiSW5maW5pdHkiJyk7Ci19Ci0KLS8vQ0hFQ0sjOAotaWYgKChuZXcg
TnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSAhPT0gIi1JbmZp
bml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVyKE51bWJl
ci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSA9PT0gIi1JbmZpbml0eSInKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSksICIwIiwgJ051
bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMzUpIG11c3QgcmV0dXJuICIwIicpOworYXNzZXJ0LnNh
bWVWYWx1ZSgobmV3IE51bWJlcigpKS50b1N0cmluZygzNSksICIwIiwgJyhuZXcgTnVtYmVyKCkp
LnRvU3RyaW5nKDM1KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBO
dW1iZXIoMCkpLnRvU3RyaW5nKDM1KSwgIjAiLCAnKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDM1
KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoLTEpKS50
b1N0cmluZygzNSksICItMSIsICcobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDM1KSBtdXN0IHJl
dHVybiAiLTEiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygz
NSksICIxIiwgJyhuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNSkgbXVzdCByZXR1cm4gIjEiJyk7
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmlu
ZygzNSksCisgICJOYU4iLAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM1
KSBtdXN0IHJldHVybiAiTmFOIicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVt
YmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSwKKyAgIkluZmluaXR5
IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1
KSBtdXN0IHJldHVybiAiSW5maW5pdHkiJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5l
dyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpLAorICAiLUlu
ZmluaXR5IiwKKyAgJyhuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3Ry
aW5nKDM1KSBtdXN0IHJldHVybiAiLUluZmluaXR5IicKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40
LjJfQTJfVDM0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EyX1QzNC5qcwppbmRleCBlNzFiODY5ZGVkODkzZDY1
OTVmZjI0MmVkNTliMThhOWRmZjQxNWViLi44MmI2MTBmMzFmODZmYzFlNWI3ZDIyMTg5OTlmZWIx
MzdiYzhhNmFjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVt
YmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTJfVDM0LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQu
Ml9BMl9UMzQuanMKQEAgLTgsNDMgKzgsMjYgQEAKIGVzNWlkOiAxNS43LjQuMl9BMl9UMzQKIGRl
c2NyaXB0aW9uOiByYWRpeCBpcyAzNgogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoTnVtYmVyLnBy
b3RvdHlwZS50b1N0cmluZygzNikgIT09ICIwIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgPT09ICIwIicpOwotfQotCi0vL0NI
RUNLIzIKLWlmICgobmV3IE51bWJlcigpKS50b1N0cmluZygzNikgIT09ICIwIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzYpID09PSAi
MCInKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDM2KSAh
PT0gIjAiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAobmV3IE51bWJlcigwKSku
dG9TdHJpbmcoMzYpID09PSAiMCInKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoKG5ldyBOdW1iZXIo
LTEpKS50b1N0cmluZygzNikgIT09ICItMSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzYpID09PSAiLTEiJyk7Ci19Ci0KLS8vQ0hF
Q0sjNQotaWYgKChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNikgIT09ICIxIikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM2KSA9PT0g
IjEiJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0
cmluZygzNikgIT09ICJOYU4iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiAobmV3
IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzYpID09PSAiTmFOIicpOwotfQotCi0vL0NI
RUNLIzcKLWlmICgobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmlu
ZygzNikgIT09ICJJbmZpbml0eSIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IChu
ZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM2KSA9PT0gIklu
ZmluaXR5IicpOwotfQotCi0vL0NIRUNLIzgKLWlmICgobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkpKS50b1N0cmluZygzNikgIT09ICItSW5maW5pdHkiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkp
KS50b1N0cmluZygzNikgPT09ICItSW5maW5pdHkiJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKE51
bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMzYpLCAiMCIsICdOdW1iZXIucHJvdG90eXBlLnRvU3Ry
aW5nKDM2KSBtdXN0IHJldHVybiAiMCInKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIo
KSkudG9TdHJpbmcoMzYpLCAiMCIsICcobmV3IE51bWJlcigpKS50b1N0cmluZygzNikgbXVzdCBy
ZXR1cm4gIjAiJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKDApKS50b1N0cmluZygz
NiksICIwIiwgJyhuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNikgbXVzdCByZXR1cm4gIjAiJyk7
Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzYpLCAiLTEiLCAn
KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNikgbXVzdCByZXR1cm4gIi0xIicpOworYXNzZXJ0
LnNhbWVWYWx1ZSgobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzYpLCAiMSIsICcobmV3IE51bWJl
cigxKSkudG9TdHJpbmcoMzYpIG11c3QgcmV0dXJuICIxIicpOworCithc3NlcnQuc2FtZVZhbHVl
KAorICAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzYpLAorICAiTmFOIiwKKyAg
JyhuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNikgbXVzdCByZXR1cm4gIk5hTiIn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVf
SU5GSU5JVFkpKS50b1N0cmluZygzNiksCisgICJJbmZpbml0eSIsCisgICcobmV3IE51bWJlcihO
dW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNikgbXVzdCByZXR1cm4gIkluZmlu
aXR5IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIChuZXcgTnVtYmVyKE51bWJlci5ORUdB
VElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM2KSwKKyAgIi1JbmZpbml0eSIsCisgICcobmV3IE51
bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNikgbXVzdCByZXR1cm4g
Ii1JbmZpbml0eSInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EzX1QwMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43
LjQuMl9BM19UMDEuanMKaW5kZXggMDk4MDllYzRjMzAzYWU3YjAwMmZiNDc3YjIyNjg4Y2IxZDRl
MDY2OC4uMDA0MWE3OTU5OTY0NmIzMTZhYmVlNGI1MGFjNDhlNGNmZWFjNWFjNSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJp
bmcvUzE1LjcuNC4yX0EzX1QwMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTNfVDAxLmpzCkBAIC03LDU2
ICs3LDQ4IEBACiBkZXNjcmlwdGlvbjogcmFkaXggaXMgMQogLS0tKi8KIAotLy9DSEVDSyMxCiB0
cnkgewogICB2YXIgbiA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMSk7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDEpIHNob3VsZCB0
aHJvdyBhbiBFcnJvcicpOwogfQogY2F0Y2ggKGUpIHt9CiAKLS8vQ0hFQ0sjMgogdHJ5IHsKICAg
dmFyIG4gPSAobmV3IE51bWJlcigpKS50b1N0cmluZygxKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJv
cicpOwogfQogY2F0Y2ggKGUpIHt9CiAKLS8vQ0hFQ0sjMwogdHJ5IHsKICAgdmFyIG4gPSAobmV3
IE51bWJlcigwKSkudG9TdHJpbmcoMSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiAo
bmV3IE51bWJlcigwKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CiB9CiBj
YXRjaCAoZSkge30KIAotLy9DSEVDSyM0CiB0cnkgewogICB2YXIgbiA9IChuZXcgTnVtYmVyKC0x
KSkudG9TdHJpbmcoMSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJl
cigtMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwogfQogY2F0Y2ggKGUp
IHt9CiAKLS8vQ0hFQ0sjNQogdHJ5IHsKICAgdmFyIG4gPSAobmV3IE51bWJlcigxKSkudG9TdHJp
bmcoMSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJlcigxKSkudG9T
dHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30KIAotLy9D
SEVDSyM2CiB0cnkgewogICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmlu
ZygxKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IChuZXcgTnVtYmVyKE51bWJlci5O
YU4pKS50b1N0cmluZygxKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7
fQogCi0vL0NIRUNLIzcKIHRyeSB7CiAgIHZhciBuID0gKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3
OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKSBzaG91
bGQgdGhyb3cgYW4gRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzgKIHRyeSB7
CiAgIHZhciBuID0gKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJp
bmcoMSk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BM19UMDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTNfVDAyLmpzCmlu
ZGV4IDc1MTBiNDEwMTViMTRhMWE5M2FlNWFjNjk5Mzk5OGI5ZjRkZDAzZTguLjY2ZjQzODNmZTA5
MGIzYmJmMGFjZmFkNDQ4YTE0YWEwNjg1ZDdkMDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BM19U
MDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EzX1QwMi5qcwpAQCAtNyw1NiArNyw0OCBAQAogZGVzY3Jp
cHRpb246IHJhZGl4IGlzIDM3CiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBuID0g
TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNyk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3In
KTsKIH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzIKIHRyeSB7CiAgIHZhciBuID0gKG5ldyBO
dW1iZXIoKSkudG9TdHJpbmcoMzcpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5l
dyBOdW1iZXIoKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwogfQogY2F0
Y2ggKGUpIHt9CiAKLS8vQ0hFQ0sjMwogdHJ5IHsKICAgdmFyIG4gPSAobmV3IE51bWJlcigwKSku
dG9TdHJpbmcoMzcpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIo
MCkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7
fQogCi0vL0NIRUNLIzQKIHRyeSB7CiAgIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmlu
ZygzNyk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRv
U3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7fQogCi0v
L0NIRUNLIzUKIHRyeSB7CiAgIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM3KTsK
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygz
Nykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30KIAotLy9DSEVDSyM2
CiB0cnkgewogICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNyk7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSku
dG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwogfQogY2F0Y2ggKGUpIHt9CiAK
LS8vQ0hFQ0sjNwogdHJ5IHsKICAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVf
SU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAo
bmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNykgc2hvdWxk
IHRocm93IGFuIEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30KIAotLy9DSEVDSyM4CiB0cnkgewog
ICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5n
KDM3KTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IChuZXcgTnVtYmVyKE51bWJlci5O
RUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90
eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BM19UMDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTNfVDAzLmpzCmlu
ZGV4IDA4OWY1N2M3YWMzNGQzZjExNmNiYzI3MzZmMGQxYWQ1NDkwNjdmNmMuLjA5NTgzZjNkZTYw
ZjRjZTE2MDdmMThmOWFjZWRjZjIyODg0NjU2YTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BM19U
MDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EzX1QwMy5qcwpAQCAtNyw1NiArNyw0OCBAQAogZGVzY3Jp
cHRpb246IHJhZGl4IGlzIG51bGwgdmFsdWUKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAg
dmFyIG4gPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKG51bGwpOwogICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhy
b3cgYW4gRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzIKIHRyeSB7CiAgIHZh
ciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCk7CiAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4g
RXJyb3InKTsKIH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzMKIHRyeSB7CiAgIHZhciBuID0g
KG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKG51bGwpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJv
cicpOwogfQogY2F0Y2ggKGUpIHt9CiAKLS8vQ0hFQ0sjNAogdHJ5IHsKICAgdmFyIG4gPSAobmV3
IE51bWJlcigtMSkpLnRvU3RyaW5nKG51bGwpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3In
KTsKIH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzUKIHRyeSB7CiAgIHZhciBuID0gKG5ldyBO
dW1iZXIoMSkpLnRvU3RyaW5nKG51bGwpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTog
KG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwog
fQogY2F0Y2ggKGUpIHt9CiAKLS8vQ0hFQ0sjNgogdHJ5IHsKICAgdmFyIG4gPSAobmV3IE51bWJl
cihOdW1iZXIuTmFOKSkudG9TdHJpbmcobnVsbCk7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93
IGFuIEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30KIAotLy9DSEVDSyM3CiB0cnkgewogICB2YXIg
biA9IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwp
OwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CiB9
CiBjYXRjaCAoZSkge30KIAotLy9DSEVDSyM4CiB0cnkgewogICB2YXIgbiA9IChuZXcgTnVtYmVy
KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpOwogICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUu
Ny40LjJfQTNfVDA0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0EzX1QwNC5qcwppbmRleCA1MjM2OWE3MzZkMmFk
YTljNDE4MTViMDMzMDM3OWZiZWUyM2EzYWRhLi40YjU0ZjMzY2QyYjVmODNhZjE5NWRmMDFmODQw
MWYxNTBmMjg3MmFlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTNfVDA0LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43
LjQuMl9BM19UMDQuanMKQEAgLTcsNTYgKzcsNDggQEAKIGRlc2NyaXB0aW9uOiByYWRpeCBpcyAw
CiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50
b1N0cmluZygwKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5
cGUudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30K
IAotLy9DSEVDSyMyCiB0cnkgewogICB2YXIgbiA9IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDAp
OwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmco
MCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30KIAotLy9DSEVDSyMz
CiB0cnkgewogICB2YXIgbiA9IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygwKTsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygwKSBzaG91bGQg
dGhyb3cgYW4gRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzQKIHRyeSB7CiAg
IHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygwKTsKICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFu
IEVycm9yJyk7CiB9CiBjYXRjaCAoZSkge30KIAotLy9DSEVDSyM1CiB0cnkgewogICB2YXIgbiA9
IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygwKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsK
IH0KIGNhdGNoIChlKSB7fQogCi0vL0NIRUNLIzYKIHRyeSB7CiAgIHZhciBuID0gKG5ldyBOdW1i
ZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDApOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBF
cnJvcicpOwogfQogY2F0Y2ggKGUpIHt9CiAKLS8vQ0hFQ0sjNwogdHJ5IHsKICAgdmFyIG4gPSAo
bmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKTsKICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJ
TklUWSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwogfQogY2F0Y2ggKGUp
IHt9CiAKLS8vQ0hFQ0sjOAogdHJ5IHsKICAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuTkVH
QVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
Izg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApIHNo
b3VsZCB0aHJvdyBhbiBFcnJvcicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0X1QwMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS43LjQuMl9BNF9UMDEuanMKaW5kZXggMGIxOWYyZDhkZGU1NmM2OTU5MzE3OTc4ODFiMDRk
YWQ1YTI2MGFiOS4uYmM1YzRjODI5OWFhYmYxOGE2NjUyN2VjMjYxZjJiMTdjN2UxYzU4ZiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
dG9TdHJpbmcvUzE1LjcuNC4yX0E0X1QwMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDAxLmpzCkBA
IC0xMCw3ICsxMCw2IEBACiBkZXNjcmlwdGlvbjogdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcg
b2JqZWN0cwogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgczEgPSBuZXcgU3RyaW5n
KCk7CiAgIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKQEAgLTE4LDEy
ICsxNyw5IEBACiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBl
LnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicp
OwogfQogY2F0Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBv
biBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnICsgZSk7
Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2
YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
KTsKIH0KIAotLy9DSEVDSyMyCiB0cnkgewogICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgIHMy
Lm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwpAQCAtMzEsNyArMjcsNSBA
QAogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmlu
ZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0KIGNh
dGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEg
TnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJyArIGUpOwotICB9Cisg
IGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5n
IChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlw
ZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDAyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0X1QwMi5qcwppbmRl
eCA1ZDcwMWJmOWI2NGUzNGI1NzVkOTYwM2M2YjE1ZWRjMTc4MWYxNjI2Li44ZjNmNzgyMmU4NDEz
YTI4Zjg3NzlkOGY1OGUzMzRiOTUwZWUxMzE0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDAy
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBl
L3RvU3RyaW5nL1MxNS43LjQuMl9BNF9UMDIuanMKQEAgLTEwLDcgKzEwLDYgQEAKIGRlc2NyaXB0
aW9uOiB0cmFuc2ZlcnJpbmcgdG8gdGhlIEJvb2xlYW4gb2JqZWN0cwogLS0tKi8KIAotLy9DSEVD
SyMxCiB0cnkgewogICB2YXIgczEgPSBuZXcgQm9vbGVhbigpOwogICBzMS50b1N0cmluZyA9IE51
bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CkBAIC0xOCwxMiArMTcsOSBAQAogICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1i
ZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7Ci0gIGlm
ICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBz
aG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJyArIGUpOwotICB9CisgIGFzc2VydChlIGluc3Rh
bmNlb2YgVHlwZUVycm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CiAKLS8vQ0hFQ0sjMgogdHJ5
IHsKICAgdmFyIHMyID0gbmV3IEJvb2xlYW4oKTsKICAgczIubXlUb1N0cmluZyA9IE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmc7CkBAIC0zMSw3ICsyNyw1IEBACiAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmpl
Y3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAgaWYgKCEoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0
aHJvdyBUeXBlRXJyb3IsIG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9B
NF9UMDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlw
ZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDAzLmpzCmluZGV4IDJhMjc5OGUxMWQ4YzkxMWU5Mjg4
OGNlOGY2MmRkZDMyOTY3MDJkMDkuLmZkZGUxM2RiYjFhNmM5NGQwMjY1NDMzN2JjMjQ2YTZkNzIw
NWZhY2IgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIv
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BNF9UMDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0
X1QwMy5qcwpAQCAtMTAsNyArMTAsNiBAQAogZGVzY3JpcHRpb246IHRyYW5zZmVycmluZyB0byB0
aGUgRGF0ZSBvYmplY3RzCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHZhciBzMSA9IG5l
dyBEYXRlKCk7CiAgIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKQEAg
LTE4LDEyICsxNyw5IEBACiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJv
dG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVF
cnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikp
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0
cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAn
ICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0
IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnKTsKIH0KIAotLy9DSEVDSyMyCiB0cnkgewogICB2YXIgczIgPSBuZXcgRGF0ZSgpOwog
ICBzMi5teVRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKQEAgLTMxLDcgKzI3
LDUgQEAKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlci5wcm90b3R5cGUudG9T
dHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CiB9
CiBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5v
dCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcgKyBlKTsKLSAg
fQorICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVh
dGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0X1QwNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9BNF9UMDQuanMK
aW5kZXggMGY3NWUyY2I0YmMwMDU2OGJjNmNiOTNlM2RjODdkY2Y0MjFlYWQyMi4uZmEwNmM3ZTU1
MjhmMzVjZDMzMzZlZmIzOGIxZDY2MmZmYTUwYTJkMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0
X1QwNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3Rv
dHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDA0LmpzCkBAIC0xMCw3ICsxMCw2IEBACiBkZXNj
cmlwdGlvbjogdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogLS0tKi8KIAotLy9D
SEVDSyMxCiB0cnkgewogICB2YXIgczEgPSBuZXcgT2JqZWN0KCk7CiAgIHMxLnRvU3RyaW5nID0g
TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKQEAgLTE4LDEyICsxNyw5IEBACiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51
bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAg
aWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0
IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KIAotLy9DSEVDSyMyCiB0
cnkgewogICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIu
cHJvdG90eXBlLnRvU3RyaW5nOwpAQCAtMzEsNyArMjcsNSBAQAogICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2Jq
ZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7Ci0gIGlmICghKGUg
aW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQg
dGhyb3cgVHlwZUVycm9yLCBub3QgJyArIGUpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2Yg
VHlwZUVycm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJf
QTRfVDA1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9TdHJpbmcvUzE1LjcuNC4yX0E0X1QwNS5qcwppbmRleCA1MWQ0NTEyMTM2MmJkODRmYTdj
MGI2Mzg1NDcxMWM5NDIwMzNlNWNlLi4yNmJlMGEzZWQwZTlhNzJlMmRjZDkwNDNlYjU3OWU3NDE2
NjY4YzFjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS90b1N0cmluZy9TMTUuNy40LjJfQTRfVDA1LmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS43LjQuMl9B
NF9UMDUuanMKQEAgLTEwLDcgKzEwLDYgQEAKIGRlc2NyaXB0aW9uOiB0cmFuc2ZlcnJpbmcgdG8g
dGhlIG90aGVyIG9iamVjdHMKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIHMxID0g
ewogICAgIHg6IDEKQEAgLTIwLDEyICsxOSw5IEBACiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hv
dWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVy
LnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBU
eXBlRXJyb3IsIG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KIAotLy9DSEVDSyMyCiB0cnkgewogICB2YXIgczIg
PSB7CiAgICAgeDogMQpAQCAtMzUsNyArMzEsNSBAQAogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNo
b3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFu
Y2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJl
ci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cg
VHlwZUVycm9yLCBub3QgJyArIGUpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVy
cm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS43LjQuNF9BMV9UMDEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1
ZU9mL1MxNS43LjQuNF9BMV9UMDEuanMKaW5kZXggNzI1YmQzNmU2Yzc0MjkyMmE4OTQwMzUyMDc1
NGJjN2M1MTIwZTc5OC4uYjZlMjU5ZjMyZjY2MDE4MmZhZmU3ODc0NGQ3YTU1MTY2MjZhNTk1YiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdmFsdWVPZi9TMTUuNy40LjRfQTFfVDAxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0ExX1QwMS5qcwpA
QCAtNiw0NSArNiwyNiBAQAogZXM1aWQ6IDE1LjcuNC40X0ExX1QwMQogZGVzY3JpcHRpb246IENh
bGwgd2l0aG91dCBhcmd1bWVudAogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoTnVtYmVyLnByb3Rv
dHlwZS52YWx1ZU9mKCksIDAsICdOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSBtdXN0IHJldHVy
biAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnZhbHVlT2YoKSwgMCwgJyhu
ZXcgTnVtYmVyKCkpLnZhbHVlT2YoKSBtdXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVl
KChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCksIDAsICcobmV3IE51bWJlcigwKSkudmFsdWVPZigp
IG11c3QgcmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoLTEpKS52YWx1
ZU9mKCksIC0xLCAnKG5ldyBOdW1iZXIoLTEpKS52YWx1ZU9mKCkgbXVzdCByZXR1cm4gLTEnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnZhbHVlT2YoKSwgMSwgJyhuZXcgTnVt
YmVyKDEpKS52YWx1ZU9mKCkgbXVzdCByZXR1cm4gMScpOwogCi0vL0NIRUNLIzEKLWlmIChOdW1i
ZXIucHJvdG90eXBlLnZhbHVlT2YoKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKCkgPT09IDAnKTsKLX0KLQotLy9DSEVDSyMy
Ci1pZiAoKG5ldyBOdW1iZXIoKSkudmFsdWVPZigpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCkgPT09IDAnKTsKLX0KLQotLy9D
SEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoKSAhPT0gMCkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMzogKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoKSA9PT0gMCcpOwot
fQotCi0vL0NIRUNLIzQKLWlmICgobmV3IE51bWJlcigtMSkpLnZhbHVlT2YoKSAhPT0gLTEpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigp
ID09PSAtMScpOwotfQotCi0vL0NIRUNLIzUKLWlmICgobmV3IE51bWJlcigxKSkudmFsdWVPZigp
ICE9PSAxKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiAobmV3IE51bWJlcigxKSku
dmFsdWVPZigpID09PSAxJyk7Ci19Ci0KLS8vQ0hFQ0sjNgogYXNzZXJ0LnNhbWVWYWx1ZSgKICAg
bmV3IE51bWJlcihOYU4pLnZhbHVlT2YoKSwKICAgTmFOLAotICAiTmFOIgorICAnbmV3IE51bWJl
cihOYU4pLnZhbHVlT2YoKSByZXR1cm5zIE5hTicKICk7CiAKLS8vQ0hFQ0sjNwotaWYgKChuZXcg
TnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSAhPT0gTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51
bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCkgPT09IEluZmluaXR5Jyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5G
SU5JVFkpKS52YWx1ZU9mKCksCisgIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwKKyAgJyhuZXcg
TnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSByZXR1cm5zIE51bWJl
ci5QT1NJVElWRV9JTkZJTklUWScKKyk7CiAKLS8vQ0hFQ0sjOAotaWYgKChuZXcgTnVtYmVyKE51
bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lO
RklOSVRZKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiAobmV3IE51bWJlcihOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCkgPT09IC1JbmZpbml0eScpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSku
dmFsdWVPZigpLAorICBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksCisgICcobmV3IE51bWJlcihO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCkgcmV0dXJucyBOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFknCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUuNy40LjRfQTFfVDAyLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUuNy40
LjRfQTFfVDAyLmpzCmluZGV4IDhhYzZlNDExY2M1ZjI1MmUzN2RiMWQ5YjJiNTE2NzQwM2E0OWMz
OTIuLjI3MDM1Yzg5ZTFjNWVkNDdjNjg2NGE3NWJlZjY2ZWViNTE3NTQ3OTYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2Yv
UzE1LjcuNC40X0ExX1QwMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS43LjQuNF9BMV9UMDIuanMKQEAgLTYsNDUgKzYs
MjYgQEAKIGVzNWlkOiAxNS43LjQuNF9BMV9UMDIKIGRlc2NyaXB0aW9uOiBjYWxsaW5nIHdpdGgg
YXJndW1lbnQKIC0tLSovCithc3NlcnQuc2FtZVZhbHVlKE51bWJlci5wcm90b3R5cGUudmFsdWVP
ZigiYXJndW1lbnQiKSwgMCwgJ051bWJlci5wcm90b3R5cGUudmFsdWVPZigiYXJndW1lbnQiKSBt
dXN0IHJldHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKCkpLnZhbHVlT2Yo
ImFyZ3VtZW50IiksIDAsICcobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpIG11c3Qg
cmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoImFy
Z3VtZW50IiksIDAsICcobmV3IE51bWJlcigwKSkudmFsdWVPZigiYXJndW1lbnQiKSBtdXN0IHJl
dHVybiAwJyk7Cithc3NlcnQuc2FtZVZhbHVlKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJn
dW1lbnQiKSwgLTEsICcobmV3IE51bWJlcigtMSkpLnZhbHVlT2YoImFyZ3VtZW50IikgbXVzdCBy
ZXR1cm4gLTEnKTsKK2Fzc2VydC5zYW1lVmFsdWUoKG5ldyBOdW1iZXIoMSkpLnZhbHVlT2YoImFy
Z3VtZW50IiksIDEsICcobmV3IE51bWJlcigxKSkudmFsdWVPZigiYXJndW1lbnQiKSBtdXN0IHJl
dHVybiAxJyk7CiAKLS8vQ0hFQ0sjMQotaWYgKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigiYXJn
dW1lbnQiKSAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnBy
b3RvdHlwZS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYg
KChuZXcgTnVtYmVyKCkpLnZhbHVlT2YoImFyZ3VtZW50IikgIT09IDApIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IChuZXcgTnVtYmVyKCkpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09
IDAnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoImFyZ3Vt
ZW50IikgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IChuZXcgTnVtYmVy
KDApKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChu
ZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gLTEpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSA9
PT0gLTEnKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAoKG5ldyBOdW1iZXIoMSkpLnZhbHVlT2YoImFy
Z3VtZW50IikgIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IChuZXcgTnVt
YmVyKDEpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAxJyk7Ci19Ci0KLS8vQ0hFQ0sjNgogYXNz
ZXJ0LnNhbWVWYWx1ZSgKICAgbmV3IE51bWJlcihOYU4pLnZhbHVlT2YoImFyZ3VtZW50IiksCiAg
IE5hTiwKLSAgIk5hTiIKKyAgJ25ldyBOdW1iZXIoTmFOKS52YWx1ZU9mKCJhcmd1bWVudCIpIHJl
dHVybnMgTmFOJwogKTsKIAotLy9DSEVDSyM3Ci1pZiAoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lU
SVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiAobmV3IE51bWJlcihOdW1i
ZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSBJbmZpbml0eScp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSwKKyAgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
LAorICAnKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJn
dW1lbnQiKSByZXR1cm5zIE51bWJlci5QT1NJVElWRV9JTkZJTklUWScKKyk7CiAKLS8vQ0hFQ0sj
OAotaWYgKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoImFy
Z3VtZW50IikgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudmFs
dWVPZigiYXJndW1lbnQiKSA9PT0gLUluZmluaXR5Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVu
dCIpLAorICBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksCisgICcobmV3IE51bWJlcihOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpIHJldHVybnMgTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwMS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1
LjcuNC40X0EyX1QwMS5qcwppbmRleCAwZGYxYzI5N2Y1MzBjY2I0OTcwZGU3MjU3M2NhOTEzODlk
Mzk0MzFlLi4xZDM3MWM5MDJjZjZmM2JlYmRmNjM1MjlmYWY2NzkwYjUzNTZlNDhiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1
ZU9mL1MxNS43LjQuNF9BMl9UMDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUuNy40LjRfQTJfVDAxLmpzCkBAIC0xMCw3
ICsxMCw2IEBACiBkZXNjcmlwdGlvbjogdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0
cwogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgczEgPSBuZXcgU3RyaW5nKCk7CiAg
IHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CkBAIC0xOCwxMiArMTcsOSBA
QAogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9m
IG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0
Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51
bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcgKyBlKTsKLSAgfQorICBh
c3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQogCi0v
L0NIRUNLIzIKIHRyeSB7CiAgIHZhciBzMiA9IG5ldyBTdHJpbmcoKTsKICAgczIubXlWYWx1ZU9m
ID0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mOwpAQCAtMzEsNyArMjcsNSBAQAogICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51
bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAg
aWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qg
c2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcgKyBlKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUu
Ny40LjRfQTJfVDAyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdmFsdWVPZi9TMTUuNy40LjRfQTJfVDAyLmpzCmluZGV4IGJhNjYxYjM4MDliNTAw
ZGRmZTFkMmY0ZTVhMTA5NjQwZTc5MWY3YmMuLjIyMDg4NDNiMDZiN2QzYzc2MjQ2MzU3NDAxYTQ3
YTEzZGJhMzU2YmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwMi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS43LjQu
NF9BMl9UMDIuanMKQEAgLTEwLDcgKzEwLDYgQEAKIGRlc2NyaXB0aW9uOiB0cmFuc2ZlcnJpbmcg
dG8gdGhlIEJvb2xlYW4gb2JqZWN0cwogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIg
czEgPSBuZXcgQm9vbGVhbigpOwogICBzMS52YWx1ZU9mID0gTnVtYmVyLnByb3RvdHlwZS52YWx1
ZU9mOwpAQCAtMTgsMTIgKzE3LDkgQEAKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51
bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJv
dyBUeXBlRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE51bWJlci5wcm90b3R5
cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3Is
IG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnKTsKIH0KIAotLy9DSEVDSyMyCiB0cnkgewogICB2YXIgczIgPSBuZXcgQm9v
bGVhbigpOwogICBzMi5teVZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CkBAIC0z
MSw3ICsyNyw1IEBACiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIucHJvdG90
eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9y
Jyk7CiB9CiBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Yg
b24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJyArIGUp
OwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCAnVGhlIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVl
Jyk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS43LjQuNF9BMl9UMDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS43LjQuNF9BMl9UMDMu
anMKaW5kZXggZWY2ZWEyZWJhNzNjNDMzMjA4MDJjMjU4NmIzYmZmMjBjZjYxNGM5MS4uODlkN2Yw
Mjk5YzkxNTNmZGIyMGNkZWRiOTM5YTI5ZTM4MDAwOTU1MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUuNy40LjRf
QTJfVDAzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJv
dG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwMy5qcwpAQCAtMTAsNyArMTAsNiBAQAogZGVz
Y3JpcHRpb246IHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAtLS0qLwogCi0vL0NI
RUNLIzEKIHRyeSB7CiAgIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgIHMxLnZhbHVlT2YgPSBOdW1i
ZXIucHJvdG90eXBlLnZhbHVlT2Y7CkBAIC0xOCwxMiArMTcsOSBAQAogICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBv
YmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAgaWYgKCEo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxk
IHRocm93IFR5cGVFcnJvciwgbm90ICcgKyBlKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVF
cnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQogCi0vL0NIRUNLIzIKIHRyeSB7CiAg
IHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUu
dmFsdWVPZjsKQEAgLTMxLDcgKzI3LDUgQEAKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0
aHJvdyBUeXBlRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJlci5wcm90
b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJy
b3IsIG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwNC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1
LjcuNC40X0EyX1QwNC5qcwppbmRleCAxYWU3NjcyMTI1ZWE0ODUwMjMxMjI2MWQxYTY3YmIwYjkx
NDYxYzBjLi5jYzAyZWQ3NWE2MTBmNGYxOTdhY2E4ODNjN2RjNDcyMGFkZDMyNGI5IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1
ZU9mL1MxNS43LjQuNF9BMl9UMDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUuNy40LjRfQTJfVDA0LmpzCkBAIC0xMCw3
ICsxMCw2IEBACiBkZXNjcmlwdGlvbjogdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0
cwogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB2YXIgczEgPSBuZXcgT2JqZWN0KCk7CiAg
IHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CkBAIC0xOCwxMiArMTcsOSBA
QAogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9m
IG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0
Y2ggKGUpIHsKLSAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51
bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcgKyBlKTsKLSAgfQorICBh
c3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQogCi0v
L0NIRUNLIzIKIHRyeSB7CiAgIHZhciBzMiA9IG5ldyBPYmplY3QoKTsKICAgczIubXlWYWx1ZU9m
ID0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mOwpAQCAtMzEsNyArMjcsNSBAQAogICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51
bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwogfQogY2F0Y2ggKGUpIHsKLSAg
aWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qg
c2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcgKyBlKTsKLSAgfQorICBhc3NlcnQoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9m
IFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9TMTUu
Ny40LjRfQTJfVDA1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdmFsdWVPZi9TMTUuNy40LjRfQTJfVDA1LmpzCmluZGV4IDNkNjFiODRlM2MxNDFk
YjFlYjAyOTkyYjM4MmIxNGUxYzA2OWJmZDkuLjQ4YzkyNTg5ZWI4NDRiZDg0OTBhZmQ3YTY5NzM5
ODZjN2FlZGQwZDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjcuNC40X0EyX1QwNS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1ZU9mL1MxNS43LjQu
NF9BMl9UMDUuanMKQEAgLTEwLDcgKzEwLDYgQEAKIGRlc2NyaXB0aW9uOiB0cmFuc2ZlcnJpbmcg
dG8gdGhlIG90aGVyIG9iamVjdHMKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdmFyIHMx
ID0gewogICAgIHg6IDEKQEAgLTIwLDEyICsxOSw5IEBACiAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBz
aG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CiB9CiBjYXRjaCAoZSkgewotICBpZiAoIShlIGluc3Rh
bmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBOdW1i
ZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cg
VHlwZUVycm9yLCBub3QgJyArIGUpOwotICB9CisgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVy
cm9yLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9CiAKLS8vQ0hFQ0sjMgogdHJ5IHsKICAgdmFyIHMy
ID0gewogICAgIHg6IDEKQEAgLTM1LDcgKzMxLDUgQEAKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNo
b3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0KIGNhdGNoIChlKSB7Ci0gIGlmICghKGUgaW5zdGFu
Y2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE51bWJl
ci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBU
eXBlRXJyb3IsIG5vdCAnICsgZSk7Ci0gIH0KKyAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJy
b3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDEuanMKaW5kZXggMTk2NGIxNzcw
MzNiY2Q1MDRlYmM2MGQyMDM1MjBmYjAxM2Q5MTI5Yi4uNDU5ZGY0ZmIwMjJlMzcwNjYzOWZkN2Iy
NTQ2YmUzZTllMmE3OGU2YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDEuanMKQEAgLTEzLDIyICsxMywyOCBAQCBj
cmVhdGUgYW5kIHJldHVybiBhIG5ldyBPYmplY3Qgb2JqZWN0IGlmIHRoZSBvYmplY3QgY29uc3Ry
dWN0b3IgaGFkIGJlZW4gY2FsbGVkCiAKIHZhciBuX19vYmogPSBuZXcgT2JqZWN0KG51bGwpOwog
Ci1pZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gbl9fb2JqLnRvU3RyaW5nKCkpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEnKTsKLX0KLQotaWYgKF9fb2JqLmNvbnN0cnVjdG9yICE9PSBu
X19vYmouY29uc3RydWN0b3IpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzInKTsKLX0K
LQotaWYgKF9fb2JqLnByb3RvdHlwZSAhPT0gbl9fb2JqLnByb3RvdHlwZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMycpOwotfQotCi1pZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAh
PT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQnKTsKLX0KLQotaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19vYmou
dG9TdHJpbmcoKSwKKyAgbl9fb2JqLnRvU3RyaW5nKCksCisgICdfX29iai50b1N0cmluZygpIG11
c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5IG5fX29iai50b1N0cmluZygpJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19vYmouY29uc3RydWN0b3IsCisgIG5fX29iai5j
b25zdHJ1Y3RvciwKKyAgJ1RoZSB2YWx1ZSBvZiBfX29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Ygbl9fb2JqLmNvbnN0cnVjdG9yJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19vYmoucHJvdG90eXBlLAorICBuX19vYmoucHJvdG90eXBlLAorICAn
VGhlIHZhbHVlIG9mIF9fb2JqLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2Ygbl9fb2JqLnByb3RvdHlwZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fb2Jq
LnRvTG9jYWxlU3RyaW5nKCksCisgIG5fX29iai50b0xvY2FsZVN0cmluZygpLAorICAnX19vYmou
dG9Mb2NhbGVTdHJpbmcoKSBtdXN0IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBieSBu
X19vYmoudG9Mb2NhbGVTdHJpbmcoKScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIF9f
b2JqLCB0eXBlb2Ygbl9fb2JqLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgX19vYmpgIGlzIGV4cGVj
dGVkIHRvIGJlIHR5cGVvZiBuX19vYmonKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDIuanMKaW5kZXggOWNlOTdiZWQ2
MDdmOTNlMGNlOTkzNTFlZDcxMjgwNGJlMTc3N2IyYS4uZjJiOWI5Yzg4YWFiNDcyNzRkYmFiODVl
NzRlNzNlNDRiMDU1MTEwYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDIuanMKQEAgLTE2LDIyICsxNiwyOCBAQCBj
cmVhdGUgYW5kIHJldHVybiBhIG5ldyBPYmplY3Qgb2JqZWN0IGlmIHRoZSBvYmplY3QgY29uc3Ry
dWN0b3IgaGFkIGJlZW4gY2FsbGVkCiB2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh2b2lkIDApOwog
CiAKLWlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMScpOwotfQotCi1pZiAoX19vYmouY29uc3RydWN0b3IgIT09
IG5fX29iai5jb25zdHJ1Y3RvcikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMicpOwot
fQotCi1pZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzJyk7Ci19Ci0KLWlmIChfX29iai50b0xvY2FsZVN0cmluZygp
ICE9PSBuX19vYmoudG9Mb2NhbGVTdHJpbmcoKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjNCcpOwotfQotCi1pZiAodHlwZW9mIF9fb2JqICE9PSB0eXBlb2Ygbl9fb2JqKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX29i
ai50b1N0cmluZygpLAorICBuX19vYmoudG9TdHJpbmcoKSwKKyAgJ19fb2JqLnRvU3RyaW5nKCkg
bXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgbl9fb2JqLnRvU3RyaW5nKCkn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX29iai5jb25zdHJ1Y3RvciwKKyAgbl9fb2Jq
LmNvbnN0cnVjdG9yLAorICAnVGhlIHZhbHVlIG9mIF9fb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBuX19vYmouY29uc3RydWN0b3InCispOworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX29iai5wcm90b3R5cGUsCisgIG5fX29iai5wcm90b3R5cGUsCisg
ICdUaGUgdmFsdWUgb2YgX19vYmoucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBuX19vYmoucHJvdG90eXBlJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19v
YmoudG9Mb2NhbGVTdHJpbmcoKSwKKyAgbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCksCisgICdfX29i
ai50b0xvY2FsZVN0cmluZygpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5
IG5fX29iai50b0xvY2FsZVN0cmluZygpJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Yg
X19vYmosIHR5cGVvZiBuX19vYmosICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBfX29iamAgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHlwZW9mIG5fX29iaicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMV9UMy5qcwppbmRleCAxYTVlYmM2
MjY1OTllNmZjZTQzMzdjYWVjOTBhNGZjMzUxZTM0OTdiLi5iZjRjM2Y5ZTNjOGZmMTNiMTQzZGIx
ZDdjMTI0MjdhNjg1ZjA1YzZmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMV9UMy5qcwpAQCAtMTMsMjIgKzEzLDI4IEBA
IGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25z
dHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQKIAogdmFyIG5fX29iaiA9IG5ldyBPYmplY3QoKTsKIAot
aWYgKF9fb2JqLnRvU3RyaW5nKCkgIT09IG5fX29iai50b1N0cmluZygpKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxJyk7Ci19Ci0KLWlmIChfX29iai5jb25zdHJ1Y3RvciAhPT0gbl9f
b2JqLmNvbnN0cnVjdG9yKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyJyk7Ci19Ci0K
LWlmIChfX29iai5wcm90b3R5cGUgIT09IG5fX29iai5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzMnKTsKLX0KLQotaWYgKF9fb2JqLnRvTG9jYWxlU3RyaW5nKCkgIT09
IG5fX29iai50b0xvY2FsZVN0cmluZygpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
Jyk7Ci19Ci0KLWlmICh0eXBlb2YgX19vYmogIT09IHR5cGVvZiBuX19vYmopIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fb2JqLnRv
U3RyaW5nKCksCisgIG5fX29iai50b1N0cmluZygpLAorICAnX19vYmoudG9TdHJpbmcoKSBtdXN0
IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBieSBuX19vYmoudG9TdHJpbmcoKScKKyk7
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fb2JqLmNvbnN0cnVjdG9yLAorICBuX19vYmouY29u
c3RydWN0b3IsCisgICdUaGUgdmFsdWUgb2YgX19vYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIG5fX29iai5jb25zdHJ1Y3RvcicKKyk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fb2JqLnByb3RvdHlwZSwKKyAgbl9fb2JqLnByb3RvdHlwZSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX29iai5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIG5fX29iai5wcm90b3R5cGUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX29iai50
b0xvY2FsZVN0cmluZygpLAorICBuX19vYmoudG9Mb2NhbGVTdHJpbmcoKSwKKyAgJ19fb2JqLnRv
TG9jYWxlU3RyaW5nKCkgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgbl9f
b2JqLnRvTG9jYWxlU3RyaW5nKCknCispOworCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBfX29i
aiwgdHlwZW9mIG5fX29iaiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIF9fb2JqYCBpcyBleHBlY3Rl
ZCB0byBiZSB0eXBlb2Ygbl9fb2JqJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMV9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0ExX1Q0LmpzCmluZGV4IDA2NzI3MTQ2MWY4
NjFmNjIxOWUxMWEwZWJjN2Q0ZTYzZjc1YThmM2YuLmE4ODRiMDBlNDVhODhjMTdmMjU3MDg0YWVi
ZmY1YWRmZDYwNmU4MTggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvUzE1LjIuMS4xX0ExX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0ExX1Q0LmpzCkBAIC0xMywyMiArMTMsMjggQEAgY3Jl
YXRlIGFuZCByZXR1cm4gYSBuZXcgT2JqZWN0IG9iamVjdCBpZiB0aGUgb2JqZWN0IGNvbnN0cnVj
dG9yIGhhZCBiZWVuIGNhbGxlZAogCiB2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQp
OwogCi1pZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gbl9fb2JqLnRvU3RyaW5nKCkpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzEnKTsKLX0KLQotaWYgKF9fb2JqLmNvbnN0cnVjdG9yICE9
PSBuX19vYmouY29uc3RydWN0b3IpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzInKTsK
LX0KLQotaWYgKF9fb2JqLnByb3RvdHlwZSAhPT0gbl9fb2JqLnByb3RvdHlwZSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMycpOwotfQotCi1pZiAoX19vYmoudG9Mb2NhbGVTdHJpbmco
KSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzQnKTsKLX0KLQotaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19v
YmoudG9TdHJpbmcoKSwKKyAgbl9fb2JqLnRvU3RyaW5nKCksCisgICdfX29iai50b1N0cmluZygp
IG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5IG5fX29iai50b1N0cmluZygp
JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19vYmouY29uc3RydWN0b3IsCisgIG5fX29i
ai5jb25zdHJ1Y3RvciwKKyAgJ1RoZSB2YWx1ZSBvZiBfX29iai5jb25zdHJ1Y3RvciBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Ygbl9fb2JqLmNvbnN0cnVjdG9yJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19vYmoucHJvdG90eXBlLAorICBuX19vYmoucHJvdG90eXBlLAor
ICAnVGhlIHZhbHVlIG9mIF9fb2JqLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2Ygbl9fb2JqLnByb3RvdHlwZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
b2JqLnRvTG9jYWxlU3RyaW5nKCksCisgIG5fX29iai50b0xvY2FsZVN0cmluZygpLAorICAnX19v
YmoudG9Mb2NhbGVTdHJpbmcoKSBtdXN0IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBi
eSBuX19vYmoudG9Mb2NhbGVTdHJpbmcoKScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9m
IF9fb2JqLCB0eXBlb2Ygbl9fb2JqLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgX19vYmpgIGlzIGV4
cGVjdGVkIHRvIGJlIHR5cGVvZiBuX19vYmonKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0ExX1Q1LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDUuanMKaW5kZXggYmE2Njk0
OGRmY2U0ZDY0MWU2YmE0Zjg2Nzg2NDU3NGFhMzQwMGZhZS4uMDBiYWNjZjVmYjA1NjcyM2Q3OWVi
YThlNDQ3YWM5MjVjYWEwMGYxYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTFfVDUuanMKQEAgLTEzLDI0ICsxMywzMCBA
QCBjcmVhdGUgYW5kIHJldHVybiBhIG5ldyBPYmplY3Qgb2JqZWN0IGlmIHRoZSBvYmplY3QgY29u
c3RydWN0b3IgaGFkIGJlZW4gY2FsbGVkCiAKIHZhciBuX19vYmogPSBuZXcgT2JqZWN0KHgpOwog
Ci1pZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gbl9fb2JqLnRvU3RyaW5nKCkpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEnKTsKLX0KLQotaWYgKF9fb2JqLmNvbnN0cnVjdG9yICE9PSBu
X19vYmouY29uc3RydWN0b3IpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzInKTsKLX0K
LQotaWYgKF9fb2JqLnByb3RvdHlwZSAhPT0gbl9fb2JqLnByb3RvdHlwZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMycpOwotfQotCi1pZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAh
PT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQnKTsKLX0KLQotaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19vYmou
dG9TdHJpbmcoKSwKKyAgbl9fb2JqLnRvU3RyaW5nKCksCisgICdfX29iai50b1N0cmluZygpIG11
c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5IG5fX29iai50b1N0cmluZygpJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19vYmouY29uc3RydWN0b3IsCisgIG5fX29iai5j
b25zdHJ1Y3RvciwKKyAgJ1RoZSB2YWx1ZSBvZiBfX29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Ygbl9fb2JqLmNvbnN0cnVjdG9yJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19vYmoucHJvdG90eXBlLAorICBuX19vYmoucHJvdG90eXBlLAorICAn
VGhlIHZhbHVlIG9mIF9fb2JqLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2Ygbl9fb2JqLnByb3RvdHlwZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fb2Jq
LnRvTG9jYWxlU3RyaW5nKCksCisgIG5fX29iai50b0xvY2FsZVN0cmluZygpLAorICAnX19vYmou
dG9Mb2NhbGVTdHJpbmcoKSBtdXN0IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBieSBu
X19vYmoudG9Mb2NhbGVTdHJpbmcoKScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIF9f
b2JqLCB0eXBlb2Ygbl9fb2JqLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgX19vYmpgIGlzIGV4cGVj
dGVkIHRvIGJlIHR5cGVvZiBuX19vYmonKTsKIAogdmFyIHg7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxLmpzCmluZGV4
IGU2ZWI1MjlhZDBlMzNiY2QxNzgyYjdkMzIzYmU3YWNhZTBkMWE4ZDAuLjJiNDA3NDZiMDdkZTQ3
NDVhNTBlOWU3MTBlMTc4ZDg5ZjM0OGNjYWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxLmpzCkBAIC0xMSwyNCAr
MTEsMTEgQEAKIAogdmFyIGJvb2wgPSB0cnVlOwogCi1pZiAodHlwZW9mIGJvb2wgIT09ICdib29s
ZWFuJykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogYm9vbCBzaG91bGQgYmUgYm9v
bGVhbiBwcmltaXRpdmUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGJvb2wsICdib29s
ZWFuJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIGJvb2xgIGlzIGV4cGVjdGVkIHRvIGJlICJib29s
ZWFuIicpOwogCiB2YXIgb2JqID0gT2JqZWN0KGJvb2wpOwogCi1pZiAob2JqLmNvbnN0cnVjdG9y
ICE9PSBCb29sZWFuKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBPYmplY3QodHJ1
ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwotfQotCi1pZiAodHlwZW9mIG9iaiAhPT0gIm9i
amVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE9iamVjdCh0cnVlKSByZXR1
cm5zIFRvT2JqZWN0KHRydWUpJyk7Ci19Ci0KLWlmICghb2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM0OiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwotfQot
Ci1pZiAob2JqID09PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBPYmpl
Y3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShv
YmouY29uc3RydWN0b3IsIEJvb2xlYW4sICdUaGUgdmFsdWUgb2Ygb2JqLmNvbnN0cnVjdG9yIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBCb29sZWFuJyk7Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBvYmosICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicpOworYXNzZXJ0KCEhb2JqLCAnVGhlIHZhbHVlIG9mICEh
b2JqIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUob2JqLCB0
cnVlLCAnVGhlIHZhbHVlIG9mIG9iaiBpcyBub3QgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDEwLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDEwLmpzCmlu
ZGV4IGVlOThmOTlhM2ExNWE1MjRkMTZlZTk0ZTkxZDhmZTFlMzRkZGIzYTEuLjllYTk3NmZiNDMx
ZWNjNWFlZGM2YjM5ZTQ5Zjg1NGM2N2E0YjQ0ZmYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxMC5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTAuanMKQEAgLTEx
LDE2ICsxMSwxMSBAQAogCiB2YXIgYXJyID0gWzEsIDIsIDNdOwogCi0vL0NIRUNLIzEKLWlmICh0
eXBlb2YgYXJyICE9PSAnb2JqZWN0JykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
YXJyID0gWzEsMiwzXSBpcyBOT1QgYW4gb2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBhcnIsICdvYmplY3QnLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgYXJyYCBpcyBleHBlY3Rl
ZCB0byBiZSAib2JqZWN0IicpOwogCiB2YXIgbl9vYmogPSBPYmplY3QoYXJyKTsKIAogYXJyLnB1
c2goNCk7CiAKLS8vQ0hFQ0sjMgotaWYgKChuX29iaiAhPT0gYXJyKSB8fCAobl9vYmpbM10gIT09
IDQpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBPYmplY3QoWzEsMiwzXSkgcmV0
dXJucyBUb09iamVjdChbMSwyLDNdKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShuX29iaiwgYXJy
LCAnVGhlIHZhbHVlIG9mIG5fb2JqIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBh
cnInKTsKK2Fzc2VydC5zYW1lVmFsdWUobl9vYmpbM10sIDQsICdUaGUgdmFsdWUgb2Ygbl9vYmpb
M10gaXMgZXhwZWN0ZWQgdG8gYmUgNCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDExLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDExLmpzCmluZGV4IGU2MWUwZGJl
OThlMTJjMzhhMTZmYTRjOWYzMGNjOTM3NTc3ZTAyYTAuLjZjZmVhNzFkZDE5YmMzMGU2MWE0ZmQ2
NmZkMDBjMjdmNDBiNDAzNzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTEuanMKQEAgLTgsMjIgKzgsMTcgQEAK
IGVzNWlkOiAxNS4yLjEuMV9BMl9UMTEKIGRlc2NyaXB0aW9uOiBDYWxsaW5nIE9iamVjdCBmdW5j
dGlvbiB3aXRoIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGFyZ3VtZW50IHZhbHVlCiAtLS0qLwot
Ci0vL0NIRUNLIzEKLWlmICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6ICBmdW5jdGlvbiBleHByZXNzaW9uIGNhblwndCBiZSBkZWNs
YXJhdGVkJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBmdW5jLCAndW5kZWZpbmVkJywg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIGZ1bmNgIGlzIGV4cGVjdGVkIHRvIGJlICJ1bmRlZmluZWQi
Jyk7CiAKIHZhciBuX29iaiA9IE9iamVjdChmdW5jdGlvbiBmdW5jKCkgewogICByZXR1cm4gMTsK
IH0pOwogCi0vL0NIRUNLIzIKLWlmICgobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB8
fCAobl9vYmooKSAhPT0gMSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE9iamVj
dChmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIDE7fSkgcmV0dXJucyBmdW5jdGlvbicpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgbl9vYmouY29uc3RydWN0b3IsCisgIEZ1bmN0aW9uLAorICAnVGhl
IHZhbHVlIG9mIG5fb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBGdW5jdGlvbicKKyk7Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqKCksIDEsICduX29iaigp
IG11c3QgcmV0dXJuIDEnKQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZnVuYywgJ3VuZGVmaW5l
ZCcsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBmdW5jYCBpcyBleHBlY3RlZCB0byBiZSAidW5kZWZp
bmVkIicpOwogCi0vL0NIRUNLIzMKLWlmICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6ICBmdW5jdGlvbiBleHByZXNzaW9uIGNhblwn
dCBiZSBkZWNsYXJhdGVkJyk7Ci19CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTIuanMKaW5kZXggNmRmMjgwMGY1N2Zk
YWI0ZjQ2NGU1NTk1MjM4MDA1ZThjZGZkYzA1Ny4uOGIwNWY3YTRkMjI1MmMzOWUyZjk4NzVmODlk
NWEzNzY2Mjg2NjE5MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9TMTUuMi4xLjFfQTJfVDEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxMi5qcwpAQCAtMTMsMTggKzEzLDcgQEAKICAg
cTogMQogfVsicSJdKSk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3Qi
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0
dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwotfQotCi0vL0NIRUNLIzMKLWlmIChvYmouY29u
c3RydWN0b3IgIT09IE51bWJlcikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogT2Jq
ZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKLX0KLQotLy9D
SEVDSyM0Ci1pZiAoKG9iaiAhPSAxLjEpIHx8IChvYmogPT09IDEuMSkpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4
cHJlc3Npb24pJyk7Ci19Ci0vLworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0
IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCIn
KTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLmNvbnN0cnVjdG9yLCBOdW1iZXIsICdUaGUgdmFsdWUg
b2Ygb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1i
ZXInKTsKK2Fzc2VydChvYmogPT0gMS4xLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChvYmog
PT0gMS4xKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKG9i
aiwgMS4xLCAnVGhlIHZhbHVlIG9mIG9iaiBpcyBub3QgMS4xJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTMuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTMuanMK
aW5kZXggZTE2NGJkNmZjM2VmYTIzMGUyOTYyYzk3YzEzMjU1MzM3NGU1ODFmMS4uZjNkMDIzYWIz
NjYyOWUzMGYzMzA4ZmFmZTNjOWQ1NTNjYTNiNjBkOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDEzLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxMy5qcwpAQCAt
MTEsMjIgKzExLDcgQEAKIAogdmFyIG9iaiA9IE9iamVjdCgoMSA9PT0gMSkgJiYgKCFmYWxzZSkp
OwogCi0vL0NIRUNLIzEKLWlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2Jq
ZWN0KGV4cHJlc3Npb24pJyk7Ci19Ci0KLS8vQ0hFQ0sjMS4xCi1pZiAodHlwZW9mIG9iaiAhPT0g
Im9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogT2JqZWN0KGV4cHJl
c3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKLX0KLQotLy9DSEVDSyMyCi1p
ZiAoIShvYmopKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBPYmplY3QoZXhwcmVz
c2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwotfQotCi0vL0NIRUNLIzMKLWlm
IChvYmogPT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE9iamVjdChl
eHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgQm9vbGVhbiwgJ1RoZSB2YWx1ZSBvZiBvYmouY29uc3Ry
dWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEJvb2xlYW4nKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIG9iaiwgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBv
YmpgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQoISFvYmosICdUaGUgdmFs
dWUgb2YgISFvYmogaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0Lm5vdFNhbWVWYWx1
ZShvYmosIHRydWUsICdUaGUgdmFsdWUgb2Ygb2JqIGlzIG5vdCB0cnVlJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UMTQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9U
MTQuanMKaW5kZXggZjRmOWE4NDVlNDExMTcyOTA2NmQ0YjhkYmE2OWNiY2Y4YTlhMTZkMi4uYTFi
MGQyNzZlNGQyZjYyOTFjNWE5YjVlZmJhNzhiN2ViOTBkOTBmMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDE0LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1QxNC5q
cwpAQCAtMTMsMTcgKzEzLDcgQEAKIAogdmFyIG9iaiA9IE9iamVjdCgiIiArIDEpOwogCi0vL0NI
RUNLIzIKLWlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVz
c2lvbiknKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5z
IFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKChvYmogIT0gIjEi
KSB8fCAob2JqID09PSAiMSIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBPYmpl
Y3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIFN0cmluZywgJ1RoZSB2YWx1ZSBvZiBvYmouY29u
c3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIFN0cmluZycpOworYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IG9iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKK2Fzc2VydChvYmogPT0gIjEiLCAn
VGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChvYmogPT0gIjEiKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKG9iaiwgIjEiLCAnVGhlIHZhbHVlIG9mIG9iaiBp
cyBub3QgIjEiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L1MxNS4yLjEuMV9BMl9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvUzE1LjIuMS4xX0EyX1QyLmpzCmluZGV4IGI5ZDgxMmRiZWJlNmI4MDkwZjU5NDdm
M2I2MjYzYTAyMzJkY2JlOTkuLjg5YjFmOTY5YzNlMmVjN2ZlZGNlMGQ3MjgwZmNhZjg4YzNiMjY1
MDggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1
LjIuMS4xX0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvUzE1LjIuMS4xX0EyX1QyLmpzCkBAIC0xMSwyNSArMTEsMTIgQEAKIAogdmFyIG51bSA9IDEu
MTsKIAotLy8gQ0hFQ0sjMQotaWYgKHR5cGVvZiBudW0gIT09ICdudW1iZXInKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBudW0gPSAxLjEgc2hvdWxkIGJlIE51bWJlciBwcmltaXRp
dmUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG51bSwgJ251bWJlcicsICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBudW1gIGlzIGV4cGVjdGVkIHRvIGJlICJudW1iZXIiJyk7CiAKIHZhciBv
YmogPSBPYmplY3QobnVtKTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIG9iaiAhPT0gIm9iamVj
dCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE9iamVjdCgxLjEpIHJldHVybnMg
VG9PYmplY3QoMS4xKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0
IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCIn
KTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLmNvbnN0cnVjdG9yLCBOdW1iZXIsICdUaGUgdmFsdWUg
b2Ygb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1i
ZXInKTsKIAotLy9DSEVDSyMzCi1pZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IE9iamVjdCgxLjEpIHJldHVybnMgVG9PYmplY3Qo
MS4xKScpOwotfQotCi0vL0NIRUNLIzQKLWlmICgob2JqICE9IDEuMSkgfHwgKG9iaiA9PT0gMS4x
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogT2JqZWN0KDEuMSkgcmV0dXJucyBU
b09iamVjdCgxLjEpJyk7Ci19Ci0vLworYXNzZXJ0KG9iaiA9PSAxLjEsICdUaGUgcmVzdWx0IG9m
IGV2YWx1YXRpbmcgKG9iaiA9PSAxLjEpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2Vy
dC5ub3RTYW1lVmFsdWUob2JqLCAxLjEsICdUaGUgdmFsdWUgb2Ygb2JqIGlzIG5vdCAxLjEnKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIu
MS4xX0EyX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUu
Mi4xLjFfQTJfVDMuanMKaW5kZXggM2I0NzZiNmRlYzQ4NjQ1MWU3N2QwMDE1ODIwYmI5MzhjM2M2
MDYxNy4uYzU0ZWFhN2MxN2FjYjgyZTUyZTVlMjhjNTU2NTU0Mzk5MzA2MTRjYyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDMu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFf
QTJfVDMuanMKQEAgLTExLDI0ICsxMSwxMSBAQAogCiB2YXIgc3RyID0gJ0x1a2UgU2t5d2Fsa2Vy
JzsKIAotLy8gQ0hFQ0sjMQotaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAiTHVrZSBTa3l3YWxrZXIiIHNob3VsZCBiZSBhIFN0cmlu
ZyBwcmltaXRpdmUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHN0ciwgJ3N0cmluZycs
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBzdHJgIGlzIGV4cGVjdGVkIHRvIGJlICJzdHJpbmciJyk7
CiAKIHZhciBvYmogPSBPYmplY3Qoc3RyKTsKIAotLy9DSEVDSyMyCi1pZiAob2JqLmNvbnN0cnVj
dG9yICE9PSBTdHJpbmcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE9iamVjdCgi
THVrZSBTa3l3YWxrZXIiKSByZXR1cm5zIFRvT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpJyk7Ci19
Ci0KLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBPYmplY3QoIkx1a2UgU2t5d2Fsa2VyIikgcmV0dXJucyBUb09i
amVjdCgiTHVrZSBTa3l3YWxrZXIiKScpOwotfQotCi0vL0NIRUNLIzQKLWlmICgob2JqICE9ICJM
dWtlIFNreXdhbGtlciIpIHx8IChvYmogPT09ICJMdWtlIFNreXdhbGtlciIpKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBPYmplY3QoIkx1a2UgU2t5d2Fsa2VyIikgcmV0dXJucyBU
b09iamVjdCgiTHVrZSBTa3l3YWxrZXIiKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmouY29u
c3RydWN0b3IsIFN0cmluZywgJ1RoZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0b3IgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIFN0cmluZycpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2Ygb2JqLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAgaXMgZXhwZWN0ZWQg
dG8gYmUgIm9iamVjdCInKTsKK2Fzc2VydChvYmogPT0gIkx1a2UgU2t5d2Fsa2VyIiwgJ1RoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyAob2JqID09ICJMdWtlIFNreXdhbGtlciIpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUob2JqLCAiTHVrZSBTa3l3YWxrZXIi
LCAnVGhlIHZhbHVlIG9mIG9iaiBpcyBub3QgIkx1a2UgU2t5d2Fsa2VyIicpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9U
NC5qcwppbmRleCA2NzNlNzRmMzA5ZmM1OGU0MTlmMjk1YzUzM2Y2YjUwM2MxNGQ4NmVkLi44NWE1
OWZkYjQ0NmU3ZTY3NTBkZjEyNjgyMjg1OGZhZDY4NzI2ZmUyIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNC5qcwpA
QCAtMTMsMTQgKzEzLDkgQEAKICAgZmxhZzogdHJ1ZQogfTsKIAotLy9DSEVDSyMxCi1pZiAodHlw
ZW9mKG9iaikgIT09ICdvYmplY3QnKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBv
YmogPSB7ZmxhZzp0cnVlfSBzaG91bGQgYmUgYW4gT2JqZWN0Jyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZihvYmopLCAnb2JqZWN0JywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mKG9iailgIGlz
IGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKIHZhciBuX29iaiA9IE9iamVjdChvYmopOwog
Ci0vL0NIRUNLIzIKLWlmICgobl9vYmogIT09IG9iaikgfHwgKCEobl9vYmpbJ2ZsYWcnXSkpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBPYmplY3Qoe2ZsYWc6dHJ1ZX0pIHJldHVy
bnMgVG9PYmplY3Qoe2ZsYWc6dHJ1ZX0pJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqLCBv
YmosICdUaGUgdmFsdWUgb2Ygbl9vYmogaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IG9iaicpOworYXNzZXJ0KCEhbl9vYmpbJ2ZsYWcnXSwgJ1RoZSB2YWx1ZSBvZiAhIW5fb2JqWyJm
bGFnIl0gaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDUuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNS5qcwppbmRleCBhMTQ3
ZWYxNDdhYjUzMjI3Yzg3MWEyMDc3ZmFjYTk2ZjU0Njk5ZWIwLi4zYjU3YzFkMDkyYzZkYWU4Mjky
MDU1N2ZlMWRlYzZlNmQwY2JhMjU0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNS5qcwpAQCAtMTEsMjAgKzExLDkg
QEAKIAogdmFyIG51bSA9IE5hTjsKIAotLy8gQ0hFQ0sjMQotaWYgKHR5cGVvZiBudW0gIT09ICdu
dW1iZXInKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBudW0gPSBOYU4gc2hvdWxk
IGhhdmUgbnVtYmVyIHR5cGUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG51bSwgJ251
bWJlcicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBudW1gIGlzIGV4cGVjdGVkIHRvIGJlICJudW1i
ZXIiJyk7CiAKIHZhciBvYmogPSBPYmplY3QobnVtKTsKIAotLy9DSEVDSyMyCi1pZiAob2JqLmNv
bnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE9i
amVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwotfQotCi0vL0NIRUNLIzMKLWlmICh0
eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
T2JqZWN0KE5hTikgcmV0dXJucyBUb09iamVjdChOYU4pJyk7Ci19Ci0vLworYXNzZXJ0LnNhbWVW
YWx1ZShvYmouY29uc3RydWN0b3IsIE51bWJlciwgJ1RoZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0
b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE51bWJlcicpOworYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAg
aXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1Q2LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDYuanMKaW5kZXggOGQ1NjZl
NzgyYzU1N2Q1M2I4NjMwOTI2YWUzNGQzZGQxMGU3MDBlMy4uZDY4NWQzNDZiZGIwZmZkMDZlNTgy
ZGQwZmQzZjVmMmZhZjJiYWIwNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJfVDYuanMKQEAgLTExLDI0ICsxMSwxMSBA
QAogCiB2YXIgbnVtID0gSW5maW5pdHk7CiAKLS8vIENIRUNLIzEKLWlmICh0eXBlb2YgbnVtICE9
PSAnbnVtYmVyJykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogbnVtID0gSW5maW5p
dHkgc2hvdWxkIGJlIGEgTnVtYmVyIHByaW1pdGl2ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgbnVtLCAnbnVtYmVyJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG51bWAgaXMgZXhwZWN0
ZWQgdG8gYmUgIm51bWJlciInKTsKIAogdmFyIG9iaiA9IE9iamVjdChudW0pOwogCi0vL0NIRUNL
IzIKLWlmIChvYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScp
OwotfQotCi0vL0NIRUNLIzMKLWlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0
KEluZmluaXR5KScpOwotfQotCi0vL0NIRUNLIzQKLWlmICgob2JqICE9IEluZmluaXR5KSB8fCAo
b2JqID09PSBJbmZpbml0eSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IE9iamVj
dChJbmZpbml0eSkgcmV0dXJucyBUb09iamVjdChJbmZpbml0eSknKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUob2JqLmNvbnN0cnVjdG9yLCBOdW1iZXIsICdUaGUgdmFsdWUgb2Ygb2JqLmNvbnN0cnVj
dG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXInKTsKK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIG9iaiwgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmpg
IGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQob2JqID09IEluZmluaXR5LCAn
VGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChvYmogPT0gSW5maW5pdHkpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUob2JqLCBJbmZpbml0eSwgJ1RoZSB2YWx1
ZSBvZiBvYmogaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIGBgSW5maW5pdHlgYCcpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTJf
VDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9B
Ml9UNy5qcwppbmRleCA3ZWI4ZTIyNTQ4YWJjMTM1OGQyYWRkMDE3M2E1OTVlMjIzMTdjYmJkLi44
N2M1NjkxMDZhNDc5MmRkMGJlNDAzZjQ3MGIyZmMzYzMzZDVkMmY3IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNy5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UNy5q
cwpAQCAtMTEsMjQgKzExLDExIEBACiAKIHZhciBzdHIgPSAnJzsKIAotLy8gQ0hFQ0sjMQotaWYg
KHR5cGVvZihzdHIpICE9PSAnc3RyaW5nJykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogIiIgaXMgTk9UIGEgU3RyaW5nJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZihzdHIp
LCAnc3RyaW5nJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mKHN0cilgIGlzIGV4cGVjdGVkIHRvIGJl
ICJzdHJpbmciJyk7CiAKIHZhciBvYmogPSBPYmplY3Qoc3RyKTsKIAotLy9DSEVDSyMyCi1pZiAo
b2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKLX0KLQotLy9DSEVDSyMzCi1p
ZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKLX0KLQotLy9DSEVDSyM0Ci1p
ZiAoKG9iaiAhPSAiIikgfHwgKG9iaiA9PT0gIiIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM0OiBPYmplY3QoIiIpIHJldHVybnMgVG9PYmplY3QoIiIpJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgU3RyaW5nLCAnVGhlIHZhbHVlIG9mIG9iai5jb25zdHJ1
Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgU3RyaW5nJyk7Cithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBvYmosICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2Jq
YCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOworYXNzZXJ0KG9iaiA9PSAiIiwgJ1RoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyAob2JqID09ICIiKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7
Cithc3NlcnQubm90U2FtZVZhbHVlKG9iaiwgIiIsICdUaGUgdmFsdWUgb2Ygb2JqIGlzIG5vdCAi
IicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9T
MTUuMi4xLjFfQTJfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L1MxNS4yLjEuMV9BMl9UOC5qcwppbmRleCBhZDg0MjgzMzhjYzY4ZWFhYTU5ZGNhYjM3ZjQ1YTYz
M2U3Y2ZiNWU1Li4yMGQ4NzUwODJkZmM0OGJkMWQ2MjA4MDUzY2NlNmY2MzA1ZDdmODJjIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9B
Ml9UOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4y
LjEuMV9BMl9UOC5qcwpAQCAtMTMsMTQgKzEzLDkgQEAKICAgcmV0dXJuIDE7CiB9OwogCi0vL0NI
RUNLIzEKLWlmICh0eXBlb2YgZnVuYyAhPT0gJ2Z1bmN0aW9uJykgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIDE7fSBpcyBOT1QgYW4gZnVu
Y3Rpb24nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGZ1bmMsICdmdW5jdGlvbicsICdU
aGUgdmFsdWUgb2YgYHR5cGVvZiBmdW5jYCBpcyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJyk7
CiAKIHZhciBuX29iaiA9IE9iamVjdChmdW5jKTsKIAotLy9DSEVDSyMyCi1pZiAoKG5fb2JqICE9
PSBmdW5jKSB8fCAobl9vYmooKSAhPT0gMSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IE9iamVjdChmdW5jdGlvbikgcmV0dXJucyBmdW5jdGlvbicpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZShuX29iaiwgZnVuYywgJ1RoZSB2YWx1ZSBvZiBuX29iaiBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgZnVuYycpOworYXNzZXJ0LnNhbWVWYWx1ZShuX29iaigpLCAxLCAnbl9v
YmooKSBtdXN0IHJldHVybiAxJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BMl9UOS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1Q5LmpzCmluZGV4IDI3NTdlYzM2MDgwNTVj
ODdhMGY0OGEyZTcxODY4ZjViZDE5ZjZjN2YuLmY4ODkwNGU1ZjcyMzdlMWNiMjFkNjA4NDJiMjg4
ZGE1ODRkNDQ5OTggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvUzE1LjIuMS4xX0EyX1Q5LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvUzE1LjIuMS4xX0EyX1Q5LmpzCkBAIC0xMCwxOSArMTAsMTMgQEAKICAgICBD
YWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uIGFyZ3VtZW50IHZhbHVlLiBUaGUg
ZnVuY3Rpb24KICAgICBpcyBkZWNsYXJlZAogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAodHlwZW9m
IGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGZ1
bmMgPSBmdW5jdGlvbigpe3JldHVybiAxO30gaXMgTk9UIGFuIGZ1bmN0aW9uJyk7CitmdW5jdGlv
biBmdW5jKCkgeworICByZXR1cm4gMTsKIH0KIAotdmFyIG5fb2JqID0gT2JqZWN0KGZ1bmMpOwor
YXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZnVuYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIGZ1bmNgIGlzIGV4cGVjdGVkIHRvIGJlICJmdW5jdGlvbiInKTsKIAotLy9DSEVDSyMy
Ci1pZiAoKG5fb2JqICE9PSBmdW5jKSB8fCAobl9vYmooKSAhPT0gMSkpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IE9iamVjdChmdW5jdGlvbikgcmV0dXJucyBmdW5jdGlvbicpOwot
fQordmFyIG5fb2JqID0gT2JqZWN0KGZ1bmMpOwogCi1mdW5jdGlvbiBmdW5jKCkgewotICByZXR1
cm4gMTsKLX07Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqLCBmdW5jLCAnVGhlIHZhbHVlIG9mIG5f
b2JqIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBmdW5jJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKG5fb2JqKCksIDEsICduX29iaigpIG11c3QgcmV0dXJuIDEnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EzX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTNfVDEu
anMKaW5kZXggZDc5MjE0ODVkYzAyNzM1ZGZkOTY2OWM4M2VmOWQxNWY4MGQxZjY4Ny4uODcyMzMx
MmJkY2M0OTVhZjkwY2U1MmE0YjAwZWU2MjdlNjkyMmU0ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTNfVDEuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFfQTNfVDEuanMKQEAg
LTExLDE3ICsxMSw5IEBACiAKIHZhciBvYmogPSBPYmplY3QoMSwgMiwgMyk7CiAKLS8vQ0hFQ0sj
MQotaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1l
IGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJh
Y2VzOycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIE51bWJlciwgJ1Ro
ZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIE51bWJlcicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0IiwgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAot
Ly9DSEVDSyMyCi1pZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhl
IHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBp
biBicmFjZXM7Jyk7Ci19Cithc3NlcnQob2JqID09IDEsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgKG9iaiA9PSAxKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQubm90U2FtZVZh
bHVlKG9iaiwgMSwgJ1RoZSB2YWx1ZSBvZiBvYmogaXMgbm90IDEnKTsKIAotLy9DSEVDSyMzCi1p
ZiAoKG9iaiAhPSAxKSB8fCAob2JqID09PSAxKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCczIzogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBm
dW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsn
KTsKLX0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
UzE1LjIuMS4xX0EzX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9TMTUuMi4xLjFfQTNfVDIuanMKaW5kZXggYWZjNWMyY2Y2MTA4MTFkNDUzYzBiYTBjNGFiY2Zj
NmE0YjM5NjQ1MS4uMThmMWQ4NWJlNGM0ZGM4ZWFlYzRkODc3NTMxOTg2YzVmMjk3ZDQxZCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4xLjFf
QTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUu
Mi4xLjFfQTNfVDIuanMKQEAgLTExLDEyICsxMSw1IEBACiAKIHZhciBvYmogPSBPYmplY3QobnVs
bCwgMiwgMyk7CiAKLS8vQ0hFQ0sjMQotaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlv
biBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVu
dHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwotfQotCi0vL0NIRUNLIzIKLWlmICh0eXBlb2Yg
b2JqICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogU2luY2Ug
T2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxs
aW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUob2JqLmNvbnN0cnVjdG9yLCBPYmplY3QsICdUaGUgdmFsdWUgb2Ygb2JqLmNv
bnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBPYmplY3QnKTsKK2Fz
c2VydC5zYW1lVmFsdWUodHlwZW9mIG9iaiwgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiBvYmpgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjEuMV9BM19UMy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EzX1QzLmpzCmluZGV4
IGRhMWFlZjgxNDhmN2QwY2Q4MmIxOTc2NmEwMjNlNzM3ZTZjMjM5OWMuLjJjNWY2ZmVhNjFlN2Fm
NTFjMTA4OWRlODYzN2Q5YWZkMTM3OGI4NDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMS4xX0EzX1QzLmpzCkBAIC0xMSwxNyAr
MTEsOSBAQAogCiB2YXIgb2JqID0gT2JqZWN0KChudWxsLCAyLCAzKSwgMSwgMik7CiAKLS8vQ0hF
Q0sjMQotaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBz
YW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4g
YnJhY2VzOycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIE51bWJlciwg
J1RoZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIE51bWJlcicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0Iiwg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsK
IAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMg
dGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFy
cyBpbiBicmFjZXM7Jyk7Ci19Cithc3NlcnQob2JqID09IDMsICdUaGUgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgKG9iaiA9PSAzKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQubm90U2Ft
ZVZhbHVlKG9iaiwgMywgJ1RoZSB2YWx1ZSBvZiBvYmogaXMgbm90IDMnKTsKIAotLy9DSEVDSyMz
Ci1pZiAoKG9iaiAhPSAzKSB8fCAob2JqID09PSAzKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCczIzogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBh
cyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNl
czsnKTsKLX0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvUzE1LjIuMi4xX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9TMTUuMi4yLjFfQTFfVDEuanMKaW5kZXggY2UzMGNmOWFiNDRlNDgxMjY4ZmU4NjMzNDc3
YmFkNjJlM2Q0NmMzZi4uZTQ4YmNjN2E5MzVmMTA2Yjc3YzFjNjlmZjJhMTVmNDIzMDg0YTA3YSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4y
LjFfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9T
MTUuMi4yLjFfQTFfVDEuanMKQEAgLTE2LDI4ICsxNiwxOSBAQAogCiB2YXIgb2JqID0gbmV3IE9i
amVjdCgpOwogCi0vLyBDSEVDSyMwCi1pZiAob2JqID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzA6IG5ldyBPYmplY3QoKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0
ZWQgbmF0aXZlIG9iamVjdC4nKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUob2JqLCB1bmRlZmlu
ZWQsICdUaGUgdmFsdWUgb2Ygb2JqIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5l
ZGBgJyk7Cithc3NlcnQuc2FtZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgT2JqZWN0LCAnVGhlIHZh
bHVlIG9mIG9iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
T2JqZWN0Jyk7CiAKLS8vIENIRUNLIzEKLWlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogbmV3IE9iamVjdCgpIGNyZWF0ZSBhIG5l
dyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKLX0KK2Fzc2VydCgKKyAgISFPYmplY3QucHJv
dG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIU9iamVjdC5wcm90
b3R5cGUuaXNQcm90b3R5cGVPZihvYmopIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0v
LyBDSEVDSyMyCi1pZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHdoZW4gbmV3IE9iamVjdCgpIGNhbGxzIHRo
ZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Qg
aXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKLX0KLQotLy8gQ0hFQ0sj
MwogdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnICsgJ09iamVjdCcgKyAnXSc7Ci1p
ZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IHdoZW4gbmV3IE9iamVjdCgpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJv
cGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIu
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9iai50b1N0cmluZygpLCB0b19zdHJpbmdfcmVzdWx0
LCAnb2JqLnRvU3RyaW5nKCkgcmV0dXJucyB0b19zdHJpbmdfcmVzdWx0Jyk7CiAKLS8vIENIRUNL
IzQKLWlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9T
dHJpbmcoKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogd2hlbiBuZXcgT2JqZWN0
KCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHBy
b3BlcnR5LicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgb2JqLnZhbHVlT2YoKS50b1N0cmlu
ZygpLAorICB0b19zdHJpbmdfcmVzdWx0LnRvU3RyaW5nKCksCisgICdvYmoudmFsdWVPZigpLnRv
U3RyaW5nKCkgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgdG9fc3RyaW5n
X3Jlc3VsdC50b1N0cmluZygpJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTFfVDIuanMKaW5kZXggMjc3NDQ5MTdmZmE2
OTk4NzdmODUyMDQ5OTkxOTY1NTcxMzUyZGQxZC4uN2QyZjE2ZGNkNmYwODM5YzI3Y2E2NjM0MWMz
NGRjN2M4NjhkMGFhNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9TMTUuMi4yLjFfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTFfVDIuanMKQEAgLTE3LDI4ICsxNywxOSBAQAogLy92
YXIgZm9vID0gdm9pZCAwOwogdmFyIG9iaiA9IG5ldyBPYmplY3Qodm9pZCAwKTsKIAotLy8gQ0hF
Q0sjMAotaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMwOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2
ZSBvYmplY3QuJyk7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG9iaiwgdW5kZWZpbmVkLCAnVGhl
IHZhbHVlIG9mIG9iaiBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOwor
YXNzZXJ0LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIE9iamVjdCwgJ1RoZSB2YWx1ZSBvZiBv
YmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE9iamVjdCcp
OwogCi0vLyBDSEVDSyMxCi1pZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IG5ldyBPYmplY3QodW5kZWZpbmVkKSBjcmVhdGUgYSBu
ZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Ci19Cithc3NlcnQoCisgICEhT2JqZWN0LnBy
b3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaiksCisgICdUaGUgdmFsdWUgb2YgISFPYmplY3QucHJv
dG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAot
Ly8gQ0hFQ0sjMgotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVk
KSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0
ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Ci19Ci0K
LS8vIENIRUNLIzMKIHZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJyArICdPYmplY3Qn
ICsgJ10nOwotaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxs
cyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Qg
aXMgc2V0IHRvICJPYmplY3QiLicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmoudG9TdHJpbmco
KSwgdG9fc3RyaW5nX3Jlc3VsdCwgJ29iai50b1N0cmluZygpIHJldHVybnMgdG9fc3RyaW5nX3Jl
c3VsdCcpOwogCi0vLyBDSEVDSyM0Ci1pZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9PSB0
b19zdHJpbmdfcmVzdWx0LnRvU3RyaW5nKCkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3Rl
ZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSwKKyAgdG9fc3RyaW5nX3Jlc3VsdC50b1N0
cmluZygpLAorICAnb2JqLnZhbHVlT2YoKS50b1N0cmluZygpIG11c3QgcmV0dXJuIHRoZSBzYW1l
IHZhbHVlIHJldHVybmVkIGJ5IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKScKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9B
MV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4x
X0ExX1QzLmpzCmluZGV4IDg0N2U5M2IxODAzYjJhZmY5Mjc4OTQ4YzAyNTY1YjA2YmZiNGZhNjIu
LjFjMmJmYjA2MWE3MDBlMWNjODI2MjY4MTRhOTdlNmNkYjdlNjYwMTcgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1QzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Qz
LmpzCkBAIC0xNiwyOCArMTYsMTkgQEAKIAogdmFyIG9iaiA9IG5ldyBPYmplY3QobnVsbCk7CiAK
LS8vIENIRUNLIzAKLWlmIChvYmogPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMDogbmV3IE9iamVjdChudWxsKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0
aXZlIG9iamVjdC4nKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUob2JqLCB1bmRlZmluZWQsICdU
aGUgdmFsdWUgb2Ygb2JqIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBgJyk7
Cithc3NlcnQuc2FtZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgT2JqZWN0LCAnVGhlIHZhbHVlIG9m
IG9iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgT2JqZWN0
Jyk7CiAKLS8vIENIRUNLIzEKLWlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogbmV3IE9iamVjdChudWxsKSBjcmVhdGUgYSBuZXcg
bmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Ci19Cithc3NlcnQoCisgICEhT2JqZWN0LnByb3Rv
dHlwZS5pc1Byb3RvdHlwZU9mKG9iaiksCisgICdUaGUgdmFsdWUgb2YgISFPYmplY3QucHJvdG90
eXBlLmlzUHJvdG90eXBlT2Yob2JqKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotLy8g
Q0hFQ0sjMgotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB3aGVuIG5ldyBPYmplY3QobnVsbCkgY2FsbHMg
dGhlIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVj
dCBpcyBzZXQgdG8gdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0LicpOwotfQotCi0vLyBDSEVD
SyMzCiB2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcgKyAnT2JqZWN0JyArICddJzsK
LWlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogd2hlbiBuZXcgT2JqZWN0KG51bGwpIGNhbGxzIHRoZSBbW0NsYXNz
XV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9i
amVjdCIuJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9iai50b1N0cmluZygpLCB0b19zdHJpbmdf
cmVzdWx0LCAnb2JqLnRvU3RyaW5nKCkgcmV0dXJucyB0b19zdHJpbmdfcmVzdWx0Jyk7CiAKLS8v
IENIRUNLIzQKLWlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1
bHQudG9TdHJpbmcoKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogd2hlbiBuZXcg
T2JqZWN0KG51bGwpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtb
VmFsdWVdXSBwcm9wZXJ0eS4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIG9iai52YWx1ZU9m
KCkudG9TdHJpbmcoKSwKKyAgdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpLAorICAnb2JqLnZh
bHVlT2YoKS50b1N0cmluZygpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVlIHJldHVybmVkIGJ5
IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BMV9UNC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q0LmpzCmluZGV4IDhi
MGNmYWI0YjkwMWNmOGY2NDY2ZWQxYzFlYWNiY2M1ODM0MjdmMGEuLmExZTRhYmExM2VhNmRkYjAy
YjkxZDJkYTBjM2Y0YmViNTdiNGJiODAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q0LmpzCkBAIC0xNiwyOCArMTYs
MTkgQEAKIAogdmFyIG9iaiA9IG5ldyBPYmplY3QodW5kZWZpbmVkKTsKIAotLy8gQ0hFQ0sjMAot
aWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBu
ZXcgT2JqZWN0KHVuZGVmaW5lZCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmpl
Y3QuJyk7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG9iaiwgdW5kZWZpbmVkLCAnVGhlIHZhbHVl
IG9mIG9iaiBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRlZmluZWRgYCcpOworYXNzZXJ0
LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIE9iamVjdCwgJ1RoZSB2YWx1ZSBvZiBvYmouY29u
c3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE9iamVjdCcpOwogCi0v
LyBDSEVDSyMxCi1pZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IG5ldyBPYmplY3QodW5kZWZpbmVkKSBjcmVhdGUgYSBuZXcgbmF0
aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Ci19Cithc3NlcnQoCisgICEhT2JqZWN0LnByb3RvdHlw
ZS5pc1Byb3RvdHlwZU9mKG9iaiksCisgICdUaGUgdmFsdWUgb2YgISFPYmplY3QucHJvdG90eXBl
LmlzUHJvdG90eXBlT2Yob2JqKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotLy8gQ0hF
Q0sjMgotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxs
cyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2Jq
ZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Ci19Ci0KLS8vIENI
RUNLIzMKIHZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJyArICdPYmplY3QnICsgJ10n
OwotaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUg
W1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0
IHRvICJPYmplY3QiLicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmoudG9TdHJpbmcoKSwgdG9f
c3RyaW5nX3Jlc3VsdCwgJ29iai50b1N0cmluZygpIHJldHVybnMgdG9fc3RyaW5nX3Jlc3VsdCcp
OwogCi0vLyBDSEVDSyM0Ci1pZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9PSB0b19zdHJp
bmdfcmVzdWx0LnRvU3RyaW5nKCkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IHdo
ZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmpl
Y3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSwKKyAgdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygp
LAorICAnb2JqLnZhbHVlT2YoKS50b1N0cmluZygpIG11c3QgcmV0dXJuIHRoZSBzYW1lIHZhbHVl
IHJldHVybmVkIGJ5IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKScKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BMV9UNS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q1
LmpzCmluZGV4IDI5NGIyMjA5OTUwNzA3NTRkOTdlMTlhNTVlYzYzNDZiMzVkZTQ0MjUuLjJjNjk5
Njc3YjA3YzU4NjliYmNkNWYyNzAxNjJkNDEzMjY0NTQwYTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q1LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0ExX1Q1LmpzCkBA
IC0xOCwzMCArMTgsMjEgQEAgQ3JlYXRpbmcgbmV3IE9iamVjdCh4KSwgd2hlcmUgeCBpcyAidW5k
ZWZpbmVkIiwgYW5kIGNoZWNraW5nIGl0CiAKIHZhciBvYmogPSBuZXcgT2JqZWN0KHgpOwogCi0v
LyBDSEVDSyMwCi1pZiAob2JqID09PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQg
bmF0aXZlIG9iamVjdC4nKTsKLX0KK2Fzc2VydC5ub3RTYW1lVmFsdWUob2JqLCB1bmRlZmluZWQs
ICdUaGUgdmFsdWUgb2Ygb2JqIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCBgYHVuZGVmaW5lZGBg
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKG9iai5jb25zdHJ1Y3RvciwgT2JqZWN0LCAnVGhlIHZhbHVl
IG9mIG9iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgT2Jq
ZWN0Jyk7CiAKLS8vIENIRUNLIzEKLWlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogbmV3IE9iamVjdCh1bmRlZmluZWQpIGNyZWF0
ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKLX0KK2Fzc2VydCgKKyAgISFPYmpl
Y3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIU9iamVj
dC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCi0vLyBDSEVDSyMyCi1pZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2Jq
KSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRl
ZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25z
dHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsK
LX0KLQotLy8gQ0hFQ0sjMwogdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnICsgJ09i
amVjdCcgKyAnXSc7Ci1pZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQp
IGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9i
amVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9iai50b1N0
cmluZygpLCB0b19zdHJpbmdfcmVzdWx0LCAnb2JqLnRvU3RyaW5nKCkgcmV0dXJucyB0b19zdHJp
bmdfcmVzdWx0Jyk7CiAKLS8vIENIRUNLIzQKLWlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkg
IT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0
cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgb2JqLnZhbHVlT2YoKS50b1N0cmluZygpLAorICB0b19zdHJpbmdfcmVzdWx0
LnRvU3RyaW5nKCksCisgICdvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gdGhl
IHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpJworKTsK
IAogdmFyIHg7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L1MxNS4yLjIuMV9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvUzE1LjIuMi4xX0EyX1QxLmpzCmluZGV4IGM2NTkzZmU2ZGE2ZGU0Y2VhYjk3MDJkMGVi
OGQ5MDI2NzVhNDNhYzAuLjk0ODJhYzdhYTFkMzE3OGNkMmRlNmM0ZjQ1YzBiY2U2NGU2NzY3NWMg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIu
Mi4xX0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
UzE1LjIuMi4xX0EyX1QxLmpzCkBAIC0xNSwxMiArMTUsNSBAQAogCiB2YXIgbl9vYmogPSBuZXcg
T2JqZWN0KG9iaik7CiAKLS8vQ0hFQ0sjMQotaWYgKG5fb2JqICE9PSBvYmopIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxs
ZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7
Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKG5fb2JqWydwcm9wJ10gIT09IDEpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQg
YW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqLCBvYmosICdUaGUgdmFsdWUgb2Ygbl9vYmogaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIG9iaicpOworYXNzZXJ0LnNhbWVWYWx1ZShuX29i
alsncHJvcCddLCAxLCAnVGhlIHZhbHVlIG9mIG5fb2JqWyJwcm9wIl0gaXMgZXhwZWN0ZWQgdG8g
YmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9TMTUuMi4yLjFfQTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L1MxNS4yLjIuMV9BMl9UMi5qcwppbmRleCAxNjA1MmRkNDlhNjNjNjM1N2YyNjk4NWVlYTcz
MTNkNjU5YzE0YzcxLi4wZmU3Yjk3ZTdlN2YyZjg1YzBmYTJiY2ZjNWQyODViMjU1YjJlNTg3IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIu
MV9BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1Mx
NS4yLjIuMV9BMl9UMi5qcwpAQCAtMTUsMTMgKzE1LDUgQEAKIAogdmFyIG5fb2JqID0gbmV3IE9i
amVjdChmdW5jKTsKIAotLy9DSEVDSyMxCi1pZiAobl9vYmogIT09IGZ1bmMpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxs
ZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMnKTsK
LX0KLQotLy9DSEVDSyMyCi1pZiAobl9vYmooKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCdXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUg
dmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Ci19Ci0vLworYXNzZXJ0
LnNhbWVWYWx1ZShuX29iaiwgZnVuYywgJ1RoZSB2YWx1ZSBvZiBuX29iaiBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgZnVuYycpOworYXNzZXJ0LnNhbWVWYWx1ZShuX29iaigpLCAx
LCAnbl9vYmooKSBtdXN0IHJldHVybiAxJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BMl9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1QzLmpzCmluZGV4IDUxMDI5NjI2
ODhlODk1ZjQ2MGJjODg5NmEwZjI5ZTQyODBiMWJmYmIuLjg2N2EwOTFiNDA1NGQ4MmIzMDhkNjE2
MDJkZTQ2MGQ2MGIyZDUwODMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1QzLmpzCkBAIC0xNSwxMiArMTUsNSBAQAog
CiBhcnIucHVzaCg0KTsKIAotLy9DSEVDSyMxCi1pZiAobl9vYmogIT09IGFycikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNh
bGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4n
KTsKLX0KLQotLy9DSEVDSyMyCi1pZiAobl9vYmpbM10gIT09IDQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5k
IGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKG5fb2JqLCBhcnIsICdUaGUgdmFsdWUgb2Ygbl9vYmogaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIGFycicpOworYXNzZXJ0LnNhbWVWYWx1ZShuX29ialsz
XSwgNCwgJ1RoZSB2YWx1ZSBvZiBuX29ialszXSBpcyBleHBlY3RlZCB0byBiZSA0Jyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9B
Ml9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4x
X0EyX1Q1LmpzCmluZGV4IDFiZjc4YjkwMjg4ODA0MmQ0ZTRlM2JjNTc4MzRjZjA3ZDhlMDA0N2Uu
LjcwYmZkMGUxMWZmYjUwZjdjNTRlYjVkMGY3ZmYzNTYyNThlMmM5ZDIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1Q1LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1Q1
LmpzCkBAIC0xMywxMiArMTMsNiBAQAogCiB2YXIgbl9vYmogPSBuZXcgT2JqZWN0KG9iaik7CiAK
LS8vQ0hFQ0sjMQotaWYgKG5fb2JqICE9PSBvYmopIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2
YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Ci19Ci0KLS8vQ0hFQ0sj
MgotaWYgKChuX29iai5nZXRGdWxsWWVhcigpICE9PSAxOTc4KSB8fCAobl9vYmouZ2V0TW9udGgo
KSAhPT0gMykpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIE9iamVj
dCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2lt
cGx5IHZhbHVlIHJldHVybnMuJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqLCBvYmosICdU
aGUgdmFsdWUgb2Ygbl9vYmogaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIG9iaicp
OworYXNzZXJ0LnNhbWVWYWx1ZShuX29iai5nZXRGdWxsWWVhcigpLCAxOTc4LCAnbl9vYmouZ2V0
RnVsbFllYXIoKSBtdXN0IHJldHVybiAxOTc4Jyk7Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqLmdl
dE1vbnRoKCksIDMsICduX29iai5nZXRNb250aCgpIG11c3QgcmV0dXJuIDMnKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1Q2
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJf
VDYuanMKaW5kZXggMjExMDMyYzU5NTU0NWU4OGRjMmJhNmYwMTNiYmU0OTZkZTViZjY2Zi4uODFj
NWQ1NTAzY2FhMjU1MDU0Yjk1NDIwMmYwMWYxMzYzYWViODEzMyAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJfVDYuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJfVDYuanMK
QEAgLTExLDE2ICsxMSw5IEBACiAKIHZhciBuX29iaiA9IG5ldyBPYmplY3QoZnVuYyk7CiAKLS8v
Q0hFQ0sjMQotaWYgKG5fb2JqICE9PSBmdW5jKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFs
dWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Ci19Ci0KLS8vQ0hFQ0sjMgot
aWYgKG5fb2JqKCkgIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignV2hlbiB0aGUg
T2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVj
dCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShuX29iaiwgZnVu
YywgJ1RoZSB2YWx1ZSBvZiBuX29iaiBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
ZnVuYycpOworYXNzZXJ0LnNhbWVWYWx1ZShuX29iaigpLCAxLCAnbl9vYmooKSBtdXN0IHJldHVy
biAxJyk7CiAKIGZ1bmN0aW9uIGZ1bmMoKSB7CiAgIHJldHVybiAxOwotfTsKK30KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EyX1Q3
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJf
VDcuanMKaW5kZXggZGQxNjc1ZTc0YzdlN2FjYTllMTMzMjM4NmQ1YmE0YjhjYzlmMWEzOS4uZDkz
MTkwMWQwOGEyZTUzN2Y0ZTVlNWUzYzJjOGQ3ODRiYTIzMjY0MCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJfVDcuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTJfVDcuanMK
QEAgLTgsMjcgKzgsMTcgQEAKIGVzNWlkOiAxNS4yLjIuMV9BMl9UNwogZGVzY3JpcHRpb246IFRo
ZSB2YWx1ZSBpcyBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAtLS0qLwotCi0vL0NIRUNLIzAKLWlm
ICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzA6IGZ1bmN0aW9uIGV4cHJlc3Npb24gY2FuXCd0IGJlIGRlY2xhcmF0ZWQnKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUodHlwZW9mIGZ1bmMsICd1bmRlZmluZWQnLCAnVGhlIHZhbHVlIG9mIGB0
eXBlb2YgZnVuY2AgaXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKIAogdmFyIG5fb2Jq
ID0gbmV3IE9iamVjdChmdW5jdGlvbiBmdW5jKCkgewogICByZXR1cm4gMTsKIH0pOwogCi0vL0NI
RUNLIzEKLWlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQg
YW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMnKTsKLX0K
LQotLy9DSEVDSyMyCi1pZiAobl9vYmooKSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhl
IHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgbl9vYmouY29uc3RydWN0b3IsCisgIEZ1bmN0aW9uLAorICAnVGhlIHZhbHVl
IG9mIG5fb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBG
dW5jdGlvbicKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBmdW5jICE9PSAndW5kZWZpbmVk
JykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogZnVuY3Rpb24gZXhwcmVzc2lvbiBj
YW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShuX29iaigpLCAxLCAn
bl9vYmooKSBtdXN0IHJldHVybiAxJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBmdW5jLCAn
dW5kZWZpbmVkJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIGZ1bmNgIGlzIGV4cGVjdGVkIHRvIGJl
ICJ1bmRlZmluZWQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L1MxNS4yLjIuMV9BM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvUzE1LjIuMi4xX0EzX1QxLmpzCmluZGV4IDU0YWE2YzFkYWYwYzc2OGYxNWFm
YWEzOWMzMDUzMTIwZWFmZmZlZGMuLjU1YTA3NWRkNGJiMzkyODY2ZDU2ODA1MDk4ZTQzMDc5YWRl
N2EyYTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
UzE1LjIuMi4xX0EzX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvUzE1LjIuMi4xX0EzX1QxLmpzCkBAIC0xMSwzMCArMTEsMTIgQEAKIAogdmFyIHN0ciA9
ICdPYmktV2FuIEtlbm9iaSc7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJp
bmcnKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAiT2JpLVdhbiBLZW5vYmkiIGlz
IE5PVCBhIFN0cmluZycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygc3RyLCAnc3RyaW5n
JywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHN0cmAgaXMgZXhwZWN0ZWQgdG8gYmUgInN0cmluZyIn
KTsKIAogCiB2YXIgbl9vYmogPSBuZXcgT2JqZWN0KHN0cik7CiAKLS8vQ0hFQ0sjMgotaWYgKG5f
b2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJn
dW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAodHlw
ZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzog
V2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVu
dCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwotfQotCi0vL0NIRUNLIzQKLWlmIChuX29iaiAh
PSBzdHIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IFdoZW4gdGhlIE9iamVjdCBj
b25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0
KHN0cmluZyknKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAobl9vYmogPT09IHN0cikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNh
bGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZShuX29iai5jb25zdHJ1Y3RvciwgU3RyaW5nLCAnVGhlIHZhbHVlIG9m
IG5fb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBTdHJp
bmcnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG5fb2JqLCAnb2JqZWN0JywgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIG5fb2JqYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOworYXNzZXJ0
KG5fb2JqID09IHN0ciwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAobl9vYmogPT0gc3RyKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKG5fb2JqLCBzdHIs
ICdUaGUgdmFsdWUgb2Ygbl9vYmogaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBv
ZiBgc3RyYCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9TMTUuMi4yLjFfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L1MxNS4yLjIuMV9BM19UMi5qcwppbmRleCAzZGY2OTg1YTVhY2Y2MTBiNWZkMWNmMmRh
ZWM1MzNkYmQ4MWY5NzEzLi42ZmM2YzhiYWVkOTI4NmFkZGE5YWY2OTE0M2UyNjIwNDQxZThkYTdl
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4y
LjIuMV9BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L1MxNS4yLjIuMV9BM19UMi5qcwpAQCAtMTEsMjkgKzExLDExIEBACiAKIHZhciBzdHIgPSAnJzsK
IAotLy9DSEVDSyMxCi1pZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6ICIiIGlzIE5PVCBhIFN0cmluZycpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2Ygc3RyLCAnc3RyaW5nJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHN0cmAgaXMg
ZXhwZWN0ZWQgdG8gYmUgInN0cmluZyInKTsKIAogdmFyIG5fb2JqID0gbmV3IE9iamVjdChzdHIp
OwogCi0vL0NIRUNLIzIKLWlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMg
Y2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Ci19
Ci0KLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxs
ZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKLX0KLQot
Ly9DSEVDSyM0Ci1pZiAobl9vYmogIT0gc3RyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFy
Z3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKG5f
b2JqID09PSBzdHIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IFdoZW4gdGhlIE9i
amVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRv
T2JqZWN0KHN0cmluZyknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUobl9vYmouY29uc3RydWN0b3Is
IFN0cmluZywgJ1RoZSB2YWx1ZSBvZiBuX29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgU3RyaW5nJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBuX29i
aiwgJ29iamVjdCcsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuX29iamAgaXMgZXhwZWN0ZWQgdG8g
YmUgIm9iamVjdCInKTsKK2Fzc2VydChuX29iaiA9PSBzdHIsICdUaGUgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgKG5fb2JqID09IHN0cikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0Lm5v
dFNhbWVWYWx1ZShuX29iaiwgc3RyLCAnVGhlIHZhbHVlIG9mIG5fb2JqIGlzIGV4cGVjdGVkIHRv
IG5vdCBlcXVhbCB0aGUgdmFsdWUgb2YgYHN0cmAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0EzX1QzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTNfVDMuanMKaW5kZXggZjQ3
NjIzN2M5NjMyNmJlNDIyNTFlOTQ5NmM2Y2YxNDBmOTYxZjk5ZC4uNDM2YjZlYTA2OWVhYzRhYTA4
MjBjMDUzNzRkNzM4NTExZTk1ODk5NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTNfVDMuanMKQEAgLTExLDIyICsxMSw3
IEBACiAKIHZhciBuX29iaiA9IG5ldyBPYmplY3QoIiIgKyAxKTsKIAotLy9DSEVDSyMyCi1pZiAo
bl9vYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBh
cmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwotfQotCi0vL0NIRUNLIzMKLWlmICh0
eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3Vt
ZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKG5fb2Jq
ICE9ICIxIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogV2hlbiB0aGUgT2JqZWN0
IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmpl
Y3Qoc3RyaW5nKScpOwotfQotCi0vL0NIRUNLIzUKLWlmIChuX29iaiA9PT0gIjEiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMg
Y2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKG5fb2JqLmNvbnN0cnVjdG9yLCBTdHJpbmcsICdUaGUgdmFsdWUg
b2Ygbl9vYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIFN0
cmluZycpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygbl9vYmosICdvYmplY3QnLCAnVGhlIHZh
bHVlIG9mIGB0eXBlb2Ygbl9vYmpgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3Nl
cnQobl9vYmogPT0gIjEiLCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChuX29iaiA9PSAiMSIp
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUobl9vYmosICIx
IiwgJ1RoZSB2YWx1ZSBvZiBuX29iaiBpcyBub3QgIjEiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNF9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E0X1QxLmpzCmluZGV4
IDE0N2UwNjc2YjExZWM3YjI3OTIxN2NhMjM2YWFhOWQwZTkzMjM3MzIuLjFhNzEzOTIxZTkyZDg1
NjYwZDA4Y2ViMDRjNmE0NDI3NTVmZGJmY2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E0X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E0X1QxLmpzCkBAIC0xMSwyOSAr
MTEsMTYgQEAKIAogdmFyIGJvb2wgPSB0cnVlOwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgYm9v
bCAhPT0gJ2Jvb2xlYW4nKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0cnVlIGlz
IE5PVCBhIGJvb2xlYW4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGJvb2wsICdib29s
ZWFuJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIGJvb2xgIGlzIGV4cGVjdGVkIHRvIGJlICJib29s
ZWFuIicpOwogCiB2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwogCi0vL0NIRUNLIzIKLWlm
IChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIEJvb2xl
YW4gYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KGJvb2xlYW4pJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBuX29iai5jb25zdHJ1Y3RvciwKKyAgQm9vbGVhbiwKKyAgJ1RoZSB2YWx1ZSBvZiBu
X29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgQm9vbGVh
bicKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBp
cyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScp
OwotfQotCi0vL0NIRUNLIzQKLWlmIChuX29iaiAhPSBib29sKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGgg
Qm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKLX0KLQotLy9DSEVD
SyM1Ci1pZiAobl9vYmogPT09IGJvb2wpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6
IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3Vt
ZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2Ygbl9vYmosICdvYmplY3QnLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygbl9vYmpgIGlzIGV4cGVj
dGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQobl9vYmogPT0gYm9vbCwgJ1RoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyAobl9vYmogPT0gYm9vbCkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwor
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShuX29iaiwgYm9vbCwgJ1RoZSB2YWx1ZSBvZiBuX29iaiBpcyBl
eHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGBib29sYCcpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTRfVDIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNF9UMi5q
cwppbmRleCAwZTA2NzYwMDZhNGM1MzNiYzgxMzk1ZGQzMDhhMDMzYjA2NmU0Yjg1Li5lZTNiZjNk
ZmRmMDBjZjM1MDI4ZDQ5MzlmNjU0MzgyYzFhODE0N2EyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNF9UMi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNF9UMi5qcwpAQCAt
MTEsMjkgKzExLDE2IEBACiAKIHZhciBib29sID0gZmFsc2U7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5
cGVvZiBib29sICE9PSAnYm9vbGVhbicpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IGZhbHNlIGlzIE5PVCBhIGJvb2xlYW4nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGJv
b2wsICdib29sZWFuJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIGJvb2xgIGlzIGV4cGVjdGVkIHRv
IGJlICJib29sZWFuIicpOwogCiB2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwogCi0vL0NI
RUNLIzIKLWlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3
aXRoIEJvb2xlYW4gYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KGJvb2xlYW4pJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBuX29iai5jb25zdHJ1Y3RvciwKKyAgQm9vbGVhbiwKKyAgJ1RoZSB2
YWx1ZSBvZiBuX29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgQm9vbGVhbicKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVj
dCcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25z
dHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChi
b29sZWFuKScpOwotfQotCi0vL0NIRUNLIzQKLWlmIChuX29iaiAhPSBib29sKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2Fs
bGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKLX0K
LQotLy9DSEVDSyM1Ci1pZiAobl9vYmogPT09IGJvb2wpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29s
ZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2Ygbl9vYmosICdvYmplY3QnLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygbl9vYmpg
IGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQobl9vYmogPT0gYm9vbCwgJ1Ro
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyAobl9vYmogPT0gYm9vbCkgaXMgZXhwZWN0ZWQgdG8gYmUg
dHJ1ZScpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuX29iaiwgYm9vbCwgJ1RoZSB2YWx1ZSBvZiBu
X29iaiBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGBib29sYCcpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFf
QTRfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIu
MV9BNF9UMy5qcwppbmRleCAzNzY5Y2ZjMGFlYTYyZjkwZDhmNjhjMmZhYmQ4YTM2YjcyNjdjODI1
Li5iZWUwMjg0ZGVjYzRhNGU2ODM2YWU2YjA4ZTc2NGY4MmMxNjI5NTIzIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNF9UMy5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNF9U
My5qcwpAQCAtMTEsMjIgKzExLDEyIEBACiAKIHZhciBuX29iaiA9IG5ldyBPYmplY3QoKDEgPT09
IDEpICYmICEoZmFsc2UpKTsKIAotLy9DSEVDSyMyCi1pZiAobl9vYmouY29uc3RydWN0b3IgIT09
IEJvb2xlYW4pIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIE9iamVj
dCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09i
amVjdChib29sZWFuKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgbl9vYmouY29uc3RydWN0
b3IsCisgIEJvb2xlYW4sCisgICdUaGUgdmFsdWUgb2Ygbl9vYmouY29uc3RydWN0b3IgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIEJvb2xlYW4nCispOwogCi0vL0NIRUNLIzMKLWlm
ICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBh
cmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAo
bl9vYmogIT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogV2hlbiB0aGUg
T2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIEJvb2xlYW4gYXJndW1lbnQgcmV0dXJu
IFRvT2JqZWN0KGJvb2xlYW4pJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKG5fb2JqID09PSB0cnVl
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3Ry
dWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9v
bGVhbiknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG5fb2JqLCAnb2JqZWN0JywgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIG5fb2JqYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwor
YXNzZXJ0KG5fb2JqID09IHRydWUsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKG5fb2JqID09
IHRydWUpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUobl9v
YmosIHRydWUsICdUaGUgdmFsdWUgb2Ygbl9vYmogaXMgbm90IHRydWUnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E1X1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDEu
anMKaW5kZXggZGEyYjYzMGJmYWQwMzU1NDkyNTg3YTFkZmVhZTFmYTc2MThiMjJlMy4uNDk1MTgy
M2YxNGYyMjBjOWIxZmNiZjMzYjk0Y2Y0MDRiZWQzZmNlZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDEuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDEuanMKQEAg
LTExLDI5ICsxMSwxMSBAQAogCiB2YXIgbnVtID0gMS4wOwogCi0vL0NIRUNLIzEKLWlmICh0eXBl
b2YgbnVtICE9PSAnbnVtYmVyJykgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogMS4w
IGlzIE5PVCBhIG51bWJlcicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgbnVtLCAnbnVt
YmVyJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG51bWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm51bWJl
ciInKTsKIAogdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwogCi0vL0NIRUNLIzIKLWlmIChu
X29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFy
Z3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKHR5
cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1l
bnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAobl9vYmog
IT0gbnVtKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBXaGVuIHRoZSBPYmplY3Qg
Y29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVj
dChudW1iZXIpJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKG5fb2JqID09PSBudW0pIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBj
YWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUobl9vYmouY29uc3RydWN0b3IsIE51bWJlciwgJ1RoZSB2YWx1ZSBv
ZiBuX29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgTnVt
YmVyJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBuX29iaiwgJ29iamVjdCcsICdUaGUgdmFs
dWUgb2YgYHR5cGVvZiBuX29iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKK2Fzc2Vy
dChuX29iaiA9PSBudW0sICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKG5fb2JqID09IG51bSkg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuX29iaiwgbnVt
LCAnVGhlIHZhbHVlIG9mIG5fb2JqIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUgdmFsdWUg
b2YgYG51bWAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvUzE1LjIuMi4xX0E1X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9TMTUuMi4yLjFfQTVfVDIuanMKaW5kZXggMmU1ZTJmYTkyNDRmODlmMzU3N2M4YjY2
M2E3NWUzM2ZlNTg4Yzk0MC4uNWU3MDI1NmNmZTcyOTI0MjYwMzAzMmJlMzRmZmQ2Y2M4MTMzNDVl
YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUu
Mi4yLjFfQTVfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9TMTUuMi4yLjFfQTVfVDIuanMKQEAgLTExLDE5ICsxMSw5IEBACiAKIHZhciBudW0gPSBOYU47
CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBudW0gIT09ICdudW1iZXInKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBOYU4gaXMgTk9UIGEgbnVtYmVyJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBudW0sICdudW1iZXInLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgbnVtYCBp
cyBleHBlY3RlZCB0byBiZSAibnVtYmVyIicpOwogCiB2YXIgbl9vYmogPSBuZXcgT2JqZWN0KG51
bSk7CiAKLS8vQ0hFQ0sjMgotaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBp
cyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsK
LX0KLQotLy9DSEVDSyMzCi1pZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNh
bGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZShuX29iai5jb25zdHJ1Y3RvciwgTnVtYmVyLCAnVGhlIHZhbHVlIG9m
IG5fb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1i
ZXInKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG5fb2JqLCAnb2JqZWN0JywgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIG5fb2JqYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVf
VDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9B
NV9UMy5qcwppbmRleCBkZDAwMWNlMzg0MzgxMTQwMmQ4MmQwYzc4ZjI3ZDg4ODI3YzM5NTM1Li5k
YjM5YWEyNzFmOThjZTVmNzlmMTMxNjYwY2U3NGNiOGQ4ZWVmOTQyIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNV9UMy5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNV9UMy5q
cwpAQCAtMTEsMjkgKzExLDExIEBACiAKIHZhciBudW0gPSBJbmZpbml0eTsKIAotLy9DSEVDSyMx
Ci1pZiAodHlwZW9mIG51bSAhPT0gJ251bWJlcicpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IEluZmluaXR5IGlzIE5PVCBhIG51bWJlcicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgbnVtLCAnbnVtYmVyJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG51bWAgaXMgZXhwZWN0
ZWQgdG8gYmUgIm51bWJlciInKTsKIAogdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwogCi0v
L0NIRUNLIzIKLWlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVk
IHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Ci19Ci0KLS8v
Q0hFQ0sjMwotaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0
aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKLX0KLQotLy9DSEVD
SyM0Ci1pZiAobl9vYmogIT0gbnVtKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBX
aGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50
IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKG5fb2JqID09
PSBudW0pIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IFdoZW4gdGhlIE9iamVjdCBj
b25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0
KG51bWJlciknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUobl9vYmouY29uc3RydWN0b3IsIE51bWJl
ciwgJ1RoZSB2YWx1ZSBvZiBuX29iai5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgTnVtYmVyJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBuX29iaiwgJ29i
amVjdCcsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBuX29iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9i
amVjdCInKTsKK2Fzc2VydChuX29iaiA9PSBudW0sICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
KG5fb2JqID09IG51bSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0Lm5vdFNhbWVW
YWx1ZShuX29iaiwgbnVtLCAnVGhlIHZhbHVlIG9mIG5fb2JqIGlzIGV4cGVjdGVkIHRvIG5vdCBl
cXVhbCB0aGUgdmFsdWUgb2YgYG51bWAnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E1X1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDQuanMKaW5kZXggMWFiYWQwMjgy
NWJiZTY5MzM2NTQxZDJkMGYwZDBhNjQxYTBiNGJiZC4uZTRiZjg2MjhmZWQ2ZTFkZjkzYTljZmVm
YjNmY2I1N2Q1ZDc2Zjc5NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTVfVDQuanMKQEAgLTEzLDIyICsxMyw3IEBACiAg
IHE6IDEKIH1bInEiXSkpOwogCi0vL0NIRUNLIzIKLWlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0g
TnVtYmVyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBXaGVuIHRoZSBPYmplY3Qg
Y29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVj
dChudW1iZXIpJyk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVj
dCcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25z
dHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51
bWJlciknKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAobl9vYmogIT0gMikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjNDogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3
aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwotfQotCi0vL0NI
RUNLIzUKLWlmIChuX29iaiA9PT0gMikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTog
V2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVu
dCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShuX29iai5j
b25zdHJ1Y3RvciwgTnVtYmVyLCAnVGhlIHZhbHVlIG9mIG5fb2JqLmNvbnN0cnVjdG9yIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXInKTsKK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIG5fb2JqLCAnb2JqZWN0JywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG5fb2JqYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicpOworYXNzZXJ0KG5fb2JqID09IDIsICdUaGUgcmVzdWx0
IG9mIGV2YWx1YXRpbmcgKG5fb2JqID09IDIpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fz
c2VydC5ub3RTYW1lVmFsdWUobl9vYmosIDIsICdUaGUgdmFsdWUgb2Ygbl9vYmogaXMgbm90IDIn
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1
LjIuMi4xX0E2X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9T
MTUuMi4yLjFfQTZfVDEuanMKaW5kZXggOGU2OGQxMTkzNDU0OGY0Yzg0ZTA2NGRkY2FiOTlkOGNl
NTRmNTRhNy4uMmRkNDNjMDAwMGFkYmNjY2YwN2E0NjYxZWEzNWM1N2Y5MzBlOTY0ZCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTZf
VDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4y
LjFfQTZfVDEuanMKQEAgLTExLDE3ICsxMSw4IEBACiAKIHZhciBvYmogPSBuZXcgT2JqZWN0KDEs
IDIsIDMpOwogCi0vL0NIRUNLIzEKLWlmIChvYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24g
Y2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRz
IGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUob2JqLmNvbnN0
cnVjdG9yLCBOdW1iZXIsICdUaGUgdmFsdWUgb2Ygb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXInKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9m
IG9iaiwgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmpgIGlzIGV4cGVjdGVkIHRv
IGJlICJvYmplY3QiJyk7Cithc3NlcnQob2JqID09IDEsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRp
bmcgKG9iaiA9PSAxKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQubm90U2FtZVZh
bHVlKG9iaiwgMSwgJ1RoZSB2YWx1ZSBvZiBvYmogaXMgbm90IDEnKTsKIAotLy9DSEVDSyMyCi1p
ZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVu
Y3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7
Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChvYmogIT0gMSkgfHwgKG9iaiA9PT0gMSkpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxp
bmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4g
YXBwZWFycyBpbiBicmFjZXM7Jyk7Ci19CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjIuMV9BNl9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E2X1QyLmpzCmluZGV4IGY5ODI0MmJhNzhi
YWE5MDEyOWI3ZTlhMjcwYTAzMTg0ZDdhZThiYWEuLjFiODhhY2ZjY2FhMjM4MzdiNzQ4YjViMmE3
NWY2ZGYxMWFiZjg1ZTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvUzE1LjIuMi4xX0E2X1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvUzE1LjIuMi4xX0E2X1QyLmpzCkBAIC0xMSwxMiArMTEsNSBAQAogCiB2
YXIgb2JqID0gbmV3IE9iamVjdChudWxsLCAyLCAzKTsKIAotLy9DSEVDSyMxCi1pZiAob2JqLmNv
bnN0cnVjdG9yICE9PSBPYmplY3QpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFNp
bmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24g
Y2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Ci19Ci0K
LS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRo
ZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMg
aW4gYnJhY2VzOycpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIE9iamVj
dCwgJ1RoZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIE9iamVjdCcpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLCAib2JqZWN0
IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iamAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCIn
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1
LjIuMi4xX0E2X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9T
MTUuMi4yLjFfQTZfVDMuanMKaW5kZXggOGNmMmUzNjg5MzIxODA2NTEzYTZlM2RkZjZjMWUxM2Rm
OTdlMzczNy4uMjRkM2U0MWVjMjFjOGQxN2I4NDU1MDU3ODIzYTYwYzJlNGQ2Nzg5OCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4yLjFfQTZf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4y
LjFfQTZfVDMuanMKQEAgLTExLDE3ICsxMSw3IEBACiAKIHZhciBvYmogPSBuZXcgT2JqZWN0KChu
dWxsLCAyLCAzKSwgMSwgMik7CiAKLS8vQ0hFQ0sjMQotaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0g
TnVtYmVyKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBTaW5jZSBPYmplY3QgYXMg
YSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBv
ZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwotfQotCi0vL0NIRUNLIzIKLWlm
ICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5j
dGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsK
LX0KLQotLy9DSEVDSyMzCi1pZiAoKG9iaiAhPSAzKSB8fCAob2JqID09PSAzKSkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCczIzogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGlu
ZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBh
cHBlYXJzIGluIGJyYWNlczsnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUob2JqLmNvbnN0cnVjdG9y
LCBOdW1iZXIsICdUaGUgdmFsdWUgb2Ygb2JqLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXInKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG9iaiwg
Im9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmpgIGlzIGV4cGVjdGVkIHRvIGJlICJv
YmplY3QiJyk7Cithc3NlcnQob2JqID09IDMsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKG9i
aiA9PSAzKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKG9i
aiwgMywgJ1RoZSB2YWx1ZSBvZiBvYmogaXMgbm90IDMnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuM19BMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuM19BMS5qcwppbmRleCBkOTUxNjQ4MjRl
NWU4OTJhMGFmYzgyZmIyNTNhYzAzY2IzYjA5ODdlLi4zYTMyNTI4ZDViNzFiMGIwNTdkOWQ3ZmI0
ZGJhNjhkYmYwZWJmYmMwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L1MxNS4yLjNfQTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9TMTUuMi4zX0ExLmpzCkBAIC02LDcgKzYsNyBAQAogZXM1aWQ6IDE1LjIuM19B
MQogZGVzY3JpcHRpb246IENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgInByb3Rv
dHlwZSIKIC0tLSovCi0KLWlmICghT2JqZWN0Lmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIE9iamVjdCBjb25zdHJ1Y3RvciBo
YXMgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiJyk7Ci19Cithc3NlcnQoCisgICEhT2JqZWN0Lmhh
c093blByb3BlcnR5KCJwcm90b3R5cGUiKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIU9iamVjdC5oYXNP
d25Qcm9wZXJ0eSgicHJvdG90eXBlIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjNfQTIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjNfQTIuanMK
aW5kZXggYjllYzk4ZjBjOTcyZmNjMWJmNDU5N2E0NGM3ZmI5MzRiNzUyZDA3Ny4uNmMyMWE0OGY3
ZjA2OWZkYzgzY2Q5ODAzNDNkZmIwYWI3ZjQ4NTA2NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4zX0EyLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuM19BMi5qcwpAQCAtOCw4ICs4LDcgQEAK
IGVzNWlkOiAxNS4yLjNfQTIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZihPYmplY3QpCiAtLS0qLwotCi0vLyBDSEVDSyMKLWlmICghKEZ1bmN0
aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE9iamVjdCkpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJv
cGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBl
IG9iamVjdC4nKTsKLX0KK2Fzc2VydCgKKyAgISFGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZihPYmplY3QpLAorICAnVGhlIHZhbHVlIG9mICEhRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJv
dG90eXBlT2YoT2JqZWN0KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuM19BMy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjIuM19BMy5qcwppbmRleCBj
YWQwZGYzMjRlZDkzMDY4ZTdhN2YwMDc3MDk3YTU3NmQ3YzczMzdiLi43MDg5YTg3MTU2YWE0YzZi
N2Q1ZTUxOWJhMTBkNTk0NDkyMTQ3NzBhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L1MxNS4yLjNfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMi4zX0EzLmpzCkBAIC02LDEzICs2LDkgQEAKIGVzNWlk
OiAxNS4yLjNfQTMKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBPYmplY3QubGVuZ3RoCiAtLS0qLwor
YXNzZXJ0KAorICAhIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgICdUaGUgdmFs
dWUgb2YgISFPYmplY3QuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnCispOwogCi0vL0NIRUNLIzEKLWlmICghT2JqZWN0Lmhhc093blByb3BlcnR5KCJsZW5n
dGgiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogVGhlIE9iamVjdCBjb25zdHJ1
Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJsZW5ndGgiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKE9i
amVjdC5sZW5ndGggIT09IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE9iamVj
dC5sZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDEnKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoT2JqZWN0Lmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiBPYmplY3QubGVuZ3RoIGlzIGV4cGVj
dGVkIHRvIGJlIDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvUzE1LjJfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L1MxNS4yX0ExLmpzCmluZGV4IDIzZjk2ODY0OTJjZTAyNjI5MDJiMWNlZWQ1MTNjZDAzNDRl
ZmFiYzMuLjg1NDIxNzNlMmQ5Y2MxOWE2ZTVhOGI3MWVjNTk4YTQyYjdkYWY0YWEgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzE1LjJfQTEuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TMTUuMl9BMS5qcwpAQCAt
MTEsNiArMTEsNCBAQAogCiB2YXIgdGhpc29iaiA9IHRoaXMuT2JqZWN0OwogCi1pZiAob2JqICE9
PSB0aGlzb2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ09iamVjdCBpcyB0aGUgcHJv
cGVydHkgb2YgZ2xvYmFsJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9iaiwgdGhpc29iaiwgJ1Ro
ZSB2YWx1ZSBvZiBvYmogaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHRoaXNvYmon
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzku
OV9BMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzkuOV9BMy5q
cwppbmRleCA5Nzk1NmFiNjZhNzZhMWQ3MjVhOGQ4ZTU5NTc5M2IyMmExZTcwOTg3Li5hZjgyNzNh
MGI2YTNjZTAzMmNmODQzOTJlZDU4ODM3NmRlOTEwOGM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1M5LjlfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TOS45X0EzLmpzCkBAIC04LDMzICs4LDIwIEBACiBl
czVpZDogOS45X0EzCiBkZXNjcmlwdGlvbjogVHJ5aW5nIHRvIGNvbnZlcnQgZnJvbSBCb29sZWFu
IHRvIE9iamVjdAogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0KHRydWUpLnZhbHVlT2Yo
KSwgdHJ1ZSwgJ09iamVjdCh0cnVlKS52YWx1ZU9mKCkgbXVzdCByZXR1cm4gdHJ1ZScpOworYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgT2JqZWN0KHRydWUpLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIE9iamVjdCh0cnVlKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAot
Ly8gQ0hFQ0sjMQotaWYgKE9iamVjdCh0cnVlKS52YWx1ZU9mKCkgIT09IHRydWUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE9iamVjdCh0cnVlKS52YWx1ZU9mKCkgPT09IHRydWUu
IEFjdHVhbDogJyArIChPYmplY3QodHJ1ZSkudmFsdWVPZigpKSk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBPYmplY3QodHJ1ZSkuY29uc3RydWN0b3IucHJvdG90eXBlLAorICBCb29sZWFuLnBy
b3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBPYmplY3QodHJ1ZSkuY29uc3RydWN0b3IucHJvdG90
eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZScK
Kyk7CiAKLS8vIENIRUNLIzIKLWlmICh0eXBlb2YgT2JqZWN0KHRydWUpICE9PSAib2JqZWN0Iikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdHlwZW9mIE9iamVjdCh0cnVlKSA9PT0g
Im9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KHRydWUpKSk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKE9iamVjdChmYWxzZSkudmFsdWVPZigpLCBmYWxzZSwgJ09iamVjdChmYWxzZSku
dmFsdWVPZigpIG11c3QgcmV0dXJuIGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBP
YmplY3QoZmFsc2UpLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdChmYWxz
ZSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CiAKLS8vIENIRUNLIzMKLWlmIChPYmpl
Y3QodHJ1ZSkuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSBCb29sZWFuLnByb3RvdHlwZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogT2JqZWN0KHRydWUpLmNvbnN0cnVjdG9yLnBy
b3RvdHlwZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUuIEFjdHVhbDogJyArIChPYmplY3QodHJ1ZSku
Y29uc3RydWN0b3IucHJvdG90eXBlKSk7Ci19Ci0KLS8vIENIRUNLIzQKLWlmIChPYmplY3QoZmFs
c2UpLnZhbHVlT2YoKSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6
IE9iamVjdChmYWxzZSkudmFsdWVPZigpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKE9iamVjdChm
YWxzZSkudmFsdWVPZigpKSk7Ci19Ci0KLS8vIENIRUNLIzUKLWlmICh0eXBlb2YgT2JqZWN0KGZh
bHNlKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IHR5cGVv
ZiBPYmplY3QoZmFsc2UpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3Qo
ZmFsc2UpKSk7Ci19Ci0KLS8vIENIRUNLIzYKLWlmIChPYmplY3QoZmFsc2UpLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSAhPT0gQm9vbGVhbi5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzY6IE9iamVjdChmYWxzZSkuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBCb29sZWFu
LnByb3RvdHlwZS4gQWN0dWFsOiAnICsgKE9iamVjdChmYWxzZSkuY29uc3RydWN0b3IucHJvdG90
eXBlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QoZmFsc2UpLmNvbnN0cnVjdG9y
LnByb3RvdHlwZSwKKyAgQm9vbGVhbi5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0
KGZhbHNlKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIEJvb2xlYW4ucHJvdG90eXBlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzkuOV9BNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvUzkuOV9BNC5qcwppbmRleCA3ZmMyOWE3YWFmMDRjNTA0YjA3ZDJk
MWE3YTg4NDIyNzYzNWFiYTg3Li45MDRhY2Q4OGRkYWI2M2E2ZTkxYmM3NGM3MWFmNTAzYWFiYjNk
NTAxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1M5
LjlfQTQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TOS45
X0E0LmpzCkBAIC04LDE2OCArOCwxNDIgQEAKIGVzNWlkOiA5LjlfQTQKIGRlc2NyaXB0aW9uOiBD
b252ZXJ0aW5nIGZyb20gdmFyaW91cyBudW1iZXJzIHRvIE9iamVjdAogLS0tKi8KLQotLy8gQ0hF
Q0sjMQotaWYgKE9iamVjdCgwKS52YWx1ZU9mKCkgIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IE9iamVjdCgwKS52YWx1ZU9mKCkgPT09IDAuIEFjdHVhbDogJyArIChPYmpl
Y3QoMCkudmFsdWVPZigpKSk7Ci19Ci0KLS8vIENIRUNLIzIKLWlmICh0eXBlb2YgT2JqZWN0KDAp
ICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdHlwZW9mIE9i
amVjdCgwKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KDApKSk7Ci19
Ci0KLS8vIENIRUNLIzMKLWlmIChPYmplY3QoMCkuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSBO
dW1iZXIucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBPYmplY3Qo
MCkuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBOdW1iZXIucHJvdG90eXBlLiBBY3R1YWw6ICcg
KyAoT2JqZWN0KDApLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkpOwotfQotCi0vLyBDSEVDSyM0Ci1p
ZiAoT2JqZWN0KC0wKS52YWx1ZU9mKCkgIT09IC0wKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM0LjE6IE9iamVjdCgtMCkudmFsdWVPZigpID09PSAwLiBBY3R1YWw6ICcgKyAoT2JqZWN0
KC0wKS52YWx1ZU9mKCkpKTsKLX0gZWxzZSBpZiAoMSAvIE9iamVjdCgtMCkudmFsdWVPZigpICE9
PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQuMjogT2JqZWN0KC0wKS52YWx1ZU9mKCkgPT09IC0wLiBBY3R1YWw6ICswJyk7Ci19Ci0KLS8v
IENIRUNLIzUKLWlmICh0eXBlb2YgT2JqZWN0KC0wKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzU6IHR5cGVvZiBPYmplY3QoLTApID09PSAib2JqZWN0Ii4gQWN0
dWFsOiAnICsgKHR5cGVvZiBPYmplY3QoLTApKSk7Ci19Ci0KLS8vIENIRUNLIzYKLWlmIChPYmpl
Y3QoLTApLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gTnVtYmVyLnByb3RvdHlwZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogT2JqZWN0KC0wKS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUgPT09IE51bWJlci5wcm90b3R5cGUuIEFjdHVhbDogJyArIChPYmplY3QoLTApLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSkpOwotfQotCi0vLyBDSEVDSyM3Ci1pZiAoT2JqZWN0KDEpLnZhbHVlT2Yo
KSAhPT0gMSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogT2JqZWN0KDEpLnZhbHVl
T2YoKSA9PT0gMS4gQWN0dWFsOiAnICsgKE9iamVjdCgxKS52YWx1ZU9mKCkpKTsKLX0KLQotLy8g
Q0hFQ0sjOAotaWYgKHR5cGVvZiBPYmplY3QoMSkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM4OiB0eXBlb2YgT2JqZWN0KDEpID09PSAib2JqZWN0Ii4gQWN0dWFs
OiAnICsgKHR5cGVvZiBPYmplY3QoMSkpKTsKLX0KLQotLy8gQ0hFQ0sjOQotaWYgKE9iamVjdCgx
KS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09IE51bWJlci5wcm90b3R5cGUpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzk6IE9iamVjdCgxKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09
IE51bWJlci5wcm90b3R5cGUuIEFjdHVhbDogJyArIChPYmplY3QoMSkuY29uc3RydWN0b3IucHJv
dG90eXBlKSk7Ci19Ci0KLS8vIENIRUNLIzEwCi1pZiAoT2JqZWN0KC0xKS52YWx1ZU9mKCkgIT09
IC0xKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMDogT2JqZWN0KC0xKS52YWx1ZU9m
KCkgPT09IC0xLiBBY3R1YWw6ICcgKyAoT2JqZWN0KC0xKS52YWx1ZU9mKCkpKTsKLX0KLQotLy8g
Q0hFQ0sjMTEKLWlmICh0eXBlb2YgT2JqZWN0KC0xKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzExOiB0eXBlb2YgT2JqZWN0KC0xKSA9PT0gIm9iamVjdCIuIEFj
dHVhbDogJyArICh0eXBlb2YgT2JqZWN0KC0xKSkpOwotfQotCi0vLyBDSEVDSyMxMgotaWYgKE9i
amVjdCgtMSkuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSBOdW1iZXIucHJvdG90eXBlKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxMjogT2JqZWN0KC0xKS5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUgPT09IE51bWJlci5wcm90b3R5cGUuIEFjdHVhbDogJyArIChPYmplY3QoLTEpLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSkpOwotfQotCi0vLyBDSEVDSyMxMwotaWYgKE9iamVjdChOdW1iZXIu
TUlOX1ZBTFVFKS52YWx1ZU9mKCkgIT09IE51bWJlci5NSU5fVkFMVUUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzEzOiBPYmplY3QoTnVtYmVyLk1JTl9WQUxVRSkudmFsdWVPZigpID09
PSBOdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoT2JqZWN0KE51bWJlci5NSU5fVkFMVUUp
LnZhbHVlT2YoKSkpOwotfQotCi0vLyBDSEVDSyMxNAotaWYgKHR5cGVvZiBPYmplY3QoTnVtYmVy
Lk1JTl9WQUxVRSkgIT09ICJvYmplY3QiKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
NDogdHlwZW9mIE9iamVjdChOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gIm9iamVjdCIuIEFjdHVhbDog
JyArICh0eXBlb2YgT2JqZWN0KE51bWJlci5NSU5fVkFMVUUpKSk7Ci19Ci0KLS8vIENIRUNLIzE1
Ci1pZiAoT2JqZWN0KE51bWJlci5NSU5fVkFMVUUpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0g
TnVtYmVyLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTU6IE9iamVj
dChOdW1iZXIuTUlOX1ZBTFVFKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IE51bWJlci5wcm90
b3R5cGUuIEFjdHVhbDogJyArIChPYmplY3QoTnVtYmVyLk1JTl9WQUxVRSkuY29uc3RydWN0b3Iu
cHJvdG90eXBlKSk7Ci19Ci0KLS8vIENIRUNLIzE2Ci1pZiAoT2JqZWN0KE51bWJlci5NQVhfVkFM
VUUpLnZhbHVlT2YoKSAhPT0gTnVtYmVyLk1BWF9WQUxVRSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTY6IE9iamVjdChOdW1iZXIuTUFYX1ZBTFVFKS52YWx1ZU9mKCkgPT09IE51bWJl
ci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChPYmplY3QoTnVtYmVyLk1BWF9WQUxVRSkudmFsdWVP
ZigpKSk7Ci19Ci0KLS8vIENIRUNLIzE3Ci1pZiAodHlwZW9mIE9iamVjdChOdW1iZXIuTUFYX1ZB
TFVFKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE3OiB0eXBl
b2YgT2JqZWN0KE51bWJlci5NQVhfVkFMVUUpID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5
cGVvZiBPYmplY3QoTnVtYmVyLk1BWF9WQUxVRSkpKTsKLX0KLQotLy8gQ0hFQ0sjMTgKLWlmIChP
YmplY3QoTnVtYmVyLk1BWF9WQUxVRSkuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSBOdW1iZXIu
cHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxODogT2JqZWN0KE51bWJl
ci5NQVhfVkFMVUUpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gTnVtYmVyLnByb3RvdHlwZS4g
QWN0dWFsOiAnICsgKE9iamVjdChOdW1iZXIuTUFYX1ZBTFVFKS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUpKTsKLX0KLQotLy8gQ0hFQ0sjMTkKLWlmIChPYmplY3QoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKS52YWx1ZU9mKCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTk6IE9iamVjdChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLnZh
bHVlT2YoKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoT2JqZWN0
KE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkudmFsdWVPZigpKSk7Ci19Ci0KLS8vIENIRUNLIzIw
Ci1pZiAodHlwZW9mIE9iamVjdChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSAib2JqZWN0
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjA6IHR5cGVvZiBPYmplY3QoTnVtYmVy
LlBPU0lUSVZFX0lORklOSVRZKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgT2Jq
ZWN0KE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpKTsKLX0KLQotLy8gQ0hFQ0sjMjEKLWlmIChP
YmplY3QoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09
IE51bWJlci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzIxOiBPYmpl
Y3QoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IE51
bWJlci5wcm90b3R5cGUuIEFjdHVhbDogJyArIChPYmplY3QoTnVtYmVyLlBPU0lUSVZFX0lORklO
SVRZKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpKTsKLX0KLQotLy8gQ0hFQ0sjMjIKLWlmIChPYmpl
Y3QoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS52YWx1ZU9mKCkgIT09IE51bWJlci5ORUdBVElW
RV9JTkZJTklUWSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjI6IE9iamVjdChOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFkpLnZhbHVlT2YoKSA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklO
SVRZLiBBY3R1YWw6ICcgKyAoT2JqZWN0KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudmFsdWVP
ZigpKSk7Ci19Ci0KLS8vIENIRUNLIzIzCi1pZiAodHlwZW9mIE9iamVjdChOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjM6IHR5cGVvZiBPYmplY3QoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSA9PT0gIm9iamVjdCIu
IEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpKTsK
LX0KLQotLy8gQ0hFQ0sjMjQKLWlmIChPYmplY3QoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09IE51bWJlci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI0OiBPYmplY3QoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUgPT09IE51bWJlci5wcm90b3R5cGUuIEFjdHVhbDogJyArIChPYmpl
Y3QoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpKTsKLX0K
LQotLy8gQ0hFQ0sjMjUKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0KE5hTikudmFsdWVPZigpLCBO
YU4sICJPYmplY3QoTmFOKS52YWx1ZU9mKCkiKTsKLQotLy8gQ0hFQ0sjMjYKLWlmICh0eXBlb2Yg
T2JqZWN0KE51bWJlci5OYU4pICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjY6IHR5cGVvZiBPYmplY3QoTnVtYmVyLk5hTikgPT09ICJvYmplY3QiLiBBY3R1YWw6
ICcgKyAodHlwZW9mIE9iamVjdChOdW1iZXIuTmFOKSkpOwotfQotCi0vLyBDSEVDSyMyNwotaWYg
KE9iamVjdChOdW1iZXIuTmFOKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09IE51bWJlci5wcm90
b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI3OiBPYmplY3QoTnVtYmVyLk5h
TikuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBOdW1iZXIucHJvdG90eXBlLiBBY3R1YWw6ICcg
KyAoT2JqZWN0KE51bWJlci5OYU4pLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkpOwotfQotCi0vLyBD
SEVDSyMyOAotaWYgKE9iamVjdCgxLjIzNDUpLnZhbHVlT2YoKSAhPT0gMS4yMzQ1KSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyODogT2JqZWN0KDEuMjM0NSkudmFsdWVPZigpID09PSAx
LjIzNDUuIEFjdHVhbDogJyArIChPYmplY3QoMS4yMzQ1KS52YWx1ZU9mKCkpKTsKLX0KLQotLy8g
Q0hFQ0sjMjkKLWlmICh0eXBlb2YgT2JqZWN0KDEuMjM0NSkgIT09ICJvYmplY3QiKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOTogdHlwZW9mIE9iamVjdCgxLjIzNDUpID09PSAib2Jq
ZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QoMS4yMzQ1KSkpOwotfQotCi0vLyBDSEVD
SyMzMAotaWYgKE9iamVjdCgxLjIzNDUpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gTnVtYmVy
LnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzA6IE9iamVjdCgxLjIz
NDUpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gTnVtYmVyLnByb3RvdHlwZS4gQWN0dWFsOiAn
ICsgKE9iamVjdCgxLjIzNDUpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSkpOwotfQotCi0vLyBDSEVD
SyMzMQotaWYgKE9iamVjdCgtMS4yMzQ1KS52YWx1ZU9mKCkgIT09IC0xLjIzNDUpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzMxOiBPYmplY3QoLTEuMjM0NSkudmFsdWVPZigpID09PSAt
MS4yMzQ1LiBBY3R1YWw6ICcgKyAoT2JqZWN0KC0xLjIzNDUpLnZhbHVlT2YoKSkpOwotfQotCi0v
LyBDSEVDSyMzMgotaWYgKHR5cGVvZiBPYmplY3QoLTEuMjM0NSkgIT09ICJvYmplY3QiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzMjogdHlwZW9mIE9iamVjdCgtMS4yMzQ1KSA9PT0g
Im9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KC0xLjIzNDUpKSk7Ci19Ci0KLS8v
IENIRUNLIzMzCi1pZiAoT2JqZWN0KC0xLjIzNDUpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0g
TnVtYmVyLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzM6IE9iamVj
dCgtMS4yMzQ1KS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IE51bWJlci5wcm90b3R5cGUuIEFj
dHVhbDogJyArIChPYmplY3QoLTEuMjM0NSkuY29uc3RydWN0b3IucHJvdG90eXBlKSk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKE9iamVjdCgwKS52YWx1ZU9mKCksIDAsICdPYmplY3QoMCkudmFsdWVP
ZigpIG11c3QgcmV0dXJuIDAnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIE9iamVjdCgwKSwg
Im9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QoMClgIGlzIGV4cGVjdGVkIHRv
IGJlICJvYmplY3QiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdCgwKS5jb25zdHJ1
Y3Rvci5wcm90b3R5cGUsCisgIE51bWJlci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgT2Jq
ZWN0KDApLmNvbnN0cnVjdG9yLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgTnVtYmVyLnByb3RvdHlwZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0KC0w
KS52YWx1ZU9mKCksIC0wLCAnT2JqZWN0KC0wKS52YWx1ZU9mKCkgbXVzdCByZXR1cm4gLTAnKTsK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIE9iamVjdCgtMCksICJvYmplY3QiLCAnVGhlIHZhbHVl
IG9mIGB0eXBlb2YgT2JqZWN0KC0wKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0KC0wKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisg
IE51bWJlci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0KC0wKS5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE51bWJlci5wcm90
b3R5cGUnCispOworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdCgxKS52YWx1ZU9mKCksIDEsICdP
YmplY3QoMSkudmFsdWVPZigpIG11c3QgcmV0dXJuIDEnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIE9iamVjdCgxKSwgIm9iamVjdCIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QoMSlg
IGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9i
amVjdCgxKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgIE51bWJlci5wcm90b3R5cGUsCisgICdU
aGUgdmFsdWUgb2YgT2JqZWN0KDEpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgTnVtYmVyLnByb3RvdHlwZScKKyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoT2JqZWN0KC0xKS52YWx1ZU9mKCksIC0xLCAnT2JqZWN0KC0xKS52YWx1ZU9mKCkgbXVz
dCByZXR1cm4gLTEnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIE9iamVjdCgtMSksICJvYmpl
Y3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0KC0xKWAgaXMgZXhwZWN0ZWQgdG8gYmUg
Im9iamVjdCInKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0KC0xKS5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUsCisgIE51bWJlci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0
KC0xKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIE51bWJlci5wcm90b3R5cGUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3Qo
TnVtYmVyLk1JTl9WQUxVRSkudmFsdWVPZigpLAorICBOdW1iZXIuTUlOX1ZBTFVFLAorICAnT2Jq
ZWN0KE51bWJlci5NSU5fVkFMVUUpLnZhbHVlT2YoKSByZXR1cm5zIE51bWJlci5NSU5fVkFMVUUn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0KE51bWJlci5NSU5fVkFM
VUUpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdChOdW1iZXIu
TUlOX1ZBTFVFKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOworCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBPYmplY3QoTnVtYmVyLk1JTl9WQUxVRSkuY29uc3RydWN0b3IucHJvdG90eXBl
LAorICBOdW1iZXIucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIE9iamVjdChOdW1iZXIuTUlO
X1ZBTFVFKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIE51bWJlci5wcm90b3R5cGUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmpl
Y3QoTnVtYmVyLk1BWF9WQUxVRSkudmFsdWVPZigpLAorICBOdW1iZXIuTUFYX1ZBTFVFLAorICAn
T2JqZWN0KE51bWJlci5NQVhfVkFMVUUpLnZhbHVlT2YoKSByZXR1cm5zIE51bWJlci5NQVhfVkFM
VUUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0KE51bWJlci5NQVhf
VkFMVUUpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdChOdW1i
ZXIuTUFYX1ZBTFVFKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOworCithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QoTnVtYmVyLk1BWF9WQUxVRSkuY29uc3RydWN0b3IucHJvdG90
eXBlLAorICBOdW1iZXIucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIE9iamVjdChOdW1iZXIu
TUFYX1ZBTFVFKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIE51bWJlci5wcm90b3R5cGUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBP
YmplY3QoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKS52YWx1ZU9mKCksCisgIE51bWJlci5QT1NJ
VElWRV9JTkZJTklUWSwKKyAgJ09iamVjdChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLnZhbHVl
T2YoKSByZXR1cm5zIE51bWJlci5QT1NJVElWRV9JTkZJTklUWScKKyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiBPYmplY3QoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSwKKyAgIm9i
amVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QoTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOworCithc3NlcnQuc2FtZVZh
bHVlKAorICBPYmplY3QoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKS5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUsCisgIE51bWJlci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0KE51bWJl
ci5QT1NJVElWRV9JTkZJTklUWSkuY29uc3RydWN0b3IucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlJworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgT2JqZWN0KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudmFsdWVPZigpLAorICBO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksCisgICdPYmplY3QoTnVtYmVyLk5FR0FUSVZFX0lORklO
SVRZKS52YWx1ZU9mKCkgcmV0dXJucyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFknCispOworCith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0KE51bWJlci5ORUdBVElWRV9JTkZJTklU
WSksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0KE51bWJlci5O
RUdBVElWRV9JTkZJTklUWSlgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0KE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkuY29uc3Ry
dWN0b3IucHJvdG90eXBlLAorICBOdW1iZXIucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIE9i
amVjdChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgTnVtYmVyLnByb3RvdHlwZScKKyk7CisKK2Fz
c2VydC5zYW1lVmFsdWUoT2JqZWN0KE5hTikudmFsdWVPZigpLCBOYU4sICdPYmplY3QoTmFOKS52
YWx1ZU9mKCkgcmV0dXJucyBOYU4nKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIE9i
amVjdChOdW1iZXIuTmFOKSwKKyAgIm9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBP
YmplY3QoTnVtYmVyLk5hTilgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0KE51bWJlci5OYU4pLmNvbnN0cnVjdG9yLnByb3RvdHlw
ZSwKKyAgTnVtYmVyLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBPYmplY3QoTnVtYmVyLk5h
TikuY29uc3RydWN0b3IucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBOdW1iZXIucHJvdG90eXBlJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QoMS4yMzQ1
KS52YWx1ZU9mKCksIDEuMjM0NSwgJ09iamVjdCgxLjIzNDUpLnZhbHVlT2YoKSBtdXN0IHJldHVy
biAxLjIzNDUnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIE9iamVjdCgxLjIzNDUpLCAib2Jq
ZWN0IiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdCgxLjIzNDUpYCBpcyBleHBlY3RlZCB0
byBiZSAib2JqZWN0IicpOworCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QoMS4yMzQ1KS5j
b25zdHJ1Y3Rvci5wcm90b3R5cGUsCisgIE51bWJlci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUg
b2YgT2JqZWN0KDEuMjM0NSkuY29uc3RydWN0b3IucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlJworKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZShPYmplY3QoLTEuMjM0NSkudmFsdWVPZigpLCAtMS4yMzQ1LCAnT2JqZWN0KC0xLjIzNDUpLnZh
bHVlT2YoKSBtdXN0IHJldHVybiAtMS4yMzQ1Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBP
YmplY3QoLTEuMjM0NSksICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0KC0x
LjIzNDUpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOworCithc3NlcnQuc2FtZVZhbHVl
KAorICBPYmplY3QoLTEuMjM0NSkuY29uc3RydWN0b3IucHJvdG90eXBlLAorICBOdW1iZXIucHJv
dG90eXBlLAorICAnVGhlIHZhbHVlIG9mIE9iamVjdCgtMS4yMzQ1KS5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIE51bWJlci5wcm90b3R5cGUn
CispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9T
OS45X0E1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9TOS45X0E1
LmpzCmluZGV4IDMyYzc3NDQ3NzVkMzJmYmJlYzM2OWEwOWNiMzU4ZGQ0ZWQyMzE1ODQuLjYzMzFj
NjVjZTEzZDZlM2I2NGY0ZDM3MTdlOTdiZGNjZWRkNDg4NTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzkuOV9BNS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L1M5LjlfQTUuanMKQEAgLTgsNjMgKzgsNTcgQEAK
IGVzNWlkOiA5LjlfQTUKIGRlc2NyaXB0aW9uOiBDb252ZXJ0aW5nIGZyb20gdmFyaW91cyBzdHJp
bmdzIHRvIE9iamVjdAogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdCgic29tZSBz
dHJpbmciKS52YWx1ZU9mKCksCisgICJzb21lIHN0cmluZyIsCisgICdPYmplY3QoInNvbWUgc3Ry
aW5nIikudmFsdWVPZigpIG11c3QgcmV0dXJuICJzb21lIHN0cmluZyInCispOwogCi0vLyBDSEVD
SyMxCi1pZiAoT2JqZWN0KCJzb21lIHN0cmluZyIpLnZhbHVlT2YoKSAhPT0gInNvbWUgc3RyaW5n
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogT2JqZWN0KCJzb21lIHN0cmluZyIp
LnZhbHVlT2YoKSA9PT0gInNvbWUgc3RyaW5nIi4gQWN0dWFsOiAnICsgKE9iamVjdCgic29tZSBz
dHJpbmciKS52YWx1ZU9mKCkpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBPYmpl
Y3QoInNvbWUgc3RyaW5nIiksCisgICJvYmplY3QiLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
T2JqZWN0KCJzb21lIHN0cmluZyIpYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAK
LS8vIENIRUNLIzIKLWlmICh0eXBlb2YgT2JqZWN0KCJzb21lIHN0cmluZyIpICE9PSAib2JqZWN0
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdHlwZW9mIE9iamVjdCgic29tZSBz
dHJpbmciKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgT2JqZWN0KCJzb21lIHN0
cmluZyIpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QoInNvbWUgc3RyaW5nIiku
Y29uc3RydWN0b3IucHJvdG90eXBlLAorICBTdHJpbmcucHJvdG90eXBlLAorICAnVGhlIHZhbHVl
IG9mIE9iamVjdCgic29tZSBzdHJpbmciKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIFN0cmluZy5wcm90b3R5cGUnCispOwogCi0vLyBDSEVD
SyMzCi1pZiAoT2JqZWN0KCJzb21lIHN0cmluZyIpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0g
U3RyaW5nLnByb3RvdHlwZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogT2JqZWN0
KCJzb21lIHN0cmluZyIpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gU3RyaW5nLnByb3RvdHlw
ZS4gQWN0dWFsOiAnICsgKE9iamVjdCgic29tZSBzdHJpbmciKS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0KCIiKS52YWx1ZU9mKCksICIiLCAnT2Jq
ZWN0KCIiKS52YWx1ZU9mKCkgbXVzdCByZXR1cm4gIiInKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIE9iamVjdCgiIiksICJvYmplY3QiLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0KCIi
KWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInKTsKIAotLy8gQ0hFQ0sjNAotaWYgKE9iamVj
dCgiIikudmFsdWVPZigpICE9PSAiIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
T2JqZWN0KCIiKS52YWx1ZU9mKCkgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoT2JqZWN0KCIiKS52
YWx1ZU9mKCkpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdCgiIikuY29uc3RydWN0
b3IucHJvdG90eXBlLAorICBTdHJpbmcucHJvdG90eXBlLAorICAnVGhlIHZhbHVlIG9mIE9iamVj
dCgiIikuY29uc3RydWN0b3IucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBTdHJpbmcucHJvdG90eXBlJworKTsKIAotLy8gQ0hFQ0sjNQotaWYgKHR5cGVvZiBPYmpl
Y3QoIiIpICE9PSAib2JqZWN0IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogdHlw
ZW9mIE9iamVjdCgiIikgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE9iamVjdCgi
IikpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0KCJcclx0XGJcblx2XGYiKS52YWx1ZU9m
KCksICJcclx0XGJcblx2XGYiLCAnT2JqZWN0KCJydGJudmYiKS52YWx1ZU9mKCkgbXVzdCByZXR1
cm4gInJ0Ym52ZiInKTsKIAotLy8gQ0hFQ0sjNgotaWYgKE9iamVjdCgiIikuY29uc3RydWN0b3Iu
cHJvdG90eXBlICE9PSBTdHJpbmcucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM2OiBPYmplY3QoIiIpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gU3RyaW5nLnByb3Rv
dHlwZS4gQWN0dWFsOiAnICsgKE9iamVjdCgiIikuY29uc3RydWN0b3IucHJvdG90eXBlKSk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0KCJcclx0XGJcblx2XGYiKSwKKyAg
Im9iamVjdCIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QoInJ0Ym52ZiIpYCBpcyBl
eHBlY3RlZCB0byBiZSAib2JqZWN0IicKKyk7CiAKLS8vIENIRUNLIzcKLWlmIChPYmplY3QoIlxy
XHRcYlxuXHZcZiIpLnZhbHVlT2YoKSAhPT0gIlxyXHRcYlxuXHZcZiIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzc6IE9iamVjdCgiXFxyXFx0XFxiXFxuXFx2XFxmIikudmFsdWVPZigp
ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKE9iamVjdCgiXHJcdFxiXG5cdlxmIikudmFsdWVPZigp
KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QoIlxyXHRcYlxuXHZcZiIpLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSwKKyAgU3RyaW5nLnByb3RvdHlwZSwKKyAgJ1RoZSB2YWx1ZSBvZiBP
YmplY3QoInJ0Ym52ZiIpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgU3RyaW5nLnByb3RvdHlwZScKKyk7CiAKLS8vIENIRUNLIzgKLWlmICh0
eXBlb2YgT2JqZWN0KCJcclx0XGJcblx2XGYiKSAhPT0gIm9iamVjdCIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzg6IHR5cGVvZiBPYmplY3QoIlxcclxcdFxcYlxcblxcdlxcZiIpID09
PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBPYmplY3QoIlxyXHRcYlxuXHZcZiIpKSk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdChTdHJpbmcoMTApKS52YWx1ZU9mKCksICIxMCIs
ICdPYmplY3QoU3RyaW5nKDEwKSkudmFsdWVPZigpIG11c3QgcmV0dXJuICIxMCInKTsKIAotLy8g
Q0hFQ0sjOQotaWYgKE9iamVjdCgiXHJcdFxiXG5cdlxmIikuY29uc3RydWN0b3IucHJvdG90eXBl
ICE9PSBTdHJpbmcucHJvdG90eXBlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM5OiBP
YmplY3QoIlxcclxcdFxcYlxcblxcdlxcZiIpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gU3Ry
aW5nLnByb3RvdHlwZS4gQWN0dWFsOiAnICsgKE9iamVjdCgiXHJcdFxiXG5cdlxmIikuY29uc3Ry
dWN0b3IucHJvdG90eXBlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0
KFN0cmluZygxMCkpLAorICAib2JqZWN0IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVj
dChTdHJpbmcoMTApKWAgaXMgZXhwZWN0ZWQgdG8gYmUgIm9iamVjdCInCispOwogCi0vLyBDSEVD
SyMxMAotaWYgKE9iamVjdChTdHJpbmcoMTApKS52YWx1ZU9mKCkgIT09ICIxMCIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzEwOiBPYmplY3QoU3RyaW5nKDEwKSkudmFsdWVPZigpID09
PSBmYWxzZS4gQWN0dWFsOiAnICsgKE9iamVjdChTdHJpbmcoMTApKS52YWx1ZU9mKCkpKTsKLX0K
LQotLy8gQ0hFQ0sjMTEKLWlmICh0eXBlb2YgT2JqZWN0KFN0cmluZygxMCkpICE9PSAib2JqZWN0
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTE6IHR5cGVvZiBPYmplY3QoU3RyaW5n
KDEwKSkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIE9iamVjdChTdHJpbmcoMTAp
KSkpOwotfQotCi0vLyBDSEVDSyMxMgotaWYgKE9iamVjdChTdHJpbmcoMTApKS5jb25zdHJ1Y3Rv
ci5wcm90b3R5cGUgIT09IFN0cmluZy5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzEyOiBPYmplY3QoU3RyaW5nKDEwKSkuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBT
dHJpbmcucHJvdG90eXBlLiBBY3R1YWw6ICcgKyAoT2JqZWN0KFN0cmluZygxMCkpLmNvbnN0cnVj
dG9yLnByb3RvdHlwZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0KFN0cmluZygx
MCkpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgU3RyaW5nLnByb3RvdHlwZSwKKyAgJ1RoZSB2
YWx1ZSBvZiBPYmplY3QoU3RyaW5nKDEwKSkuY29uc3RydWN0b3IucHJvdG90eXBlIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlJworKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzkuOV9BNi5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvUzkuOV9BNi5qcwppbmRleCAxNWJm
ZTViMGRkYjQyODk3M2RmYmZhMWE2ZWQ0MmRjOWIyYTcyMjkyLi5jYzIyMmE1NjI2YTdkZDE5ZTlj
MGNkZjNkOTAzZTkzNmZhODI2Y2YxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L1M5LjlfQTYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9TOS45X0E2LmpzCkBAIC0xOSwyMyArMTksMTMgQEAgZnVuY3Rpb24gTXlP
YmplY3QodmFsKSB7CiB2YXIgeCA9IG5ldyBNeU9iamVjdCgxKTsKIHZhciB5ID0gT2JqZWN0KHgp
OwogCi0vLyBDSEVDSyMxCi1pZiAoeS52YWx1ZU9mKCkgIT09IHgudmFsdWVPZigpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBPYmplY3Qob2JqKS52YWx1ZU9mKCkgPT09IG9iai52
YWx1ZU9mKCkuIEFjdHVhbDogJyArIChPYmplY3Qob2JqKS52YWx1ZU9mKCkpKTsKLX0KLQotLy8g
Q0hFQ0sjMgotaWYgKHR5cGVvZiB5ICE9PSB0eXBlb2YgeCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogdHlwZW9mIE9iamVjdChvYmopID09PSB0eXBlb2Ygb2JqLiBBY3R1YWw6ICcg
KyAodHlwZW9mIE9iamVjdChvYmopKSk7Ci19Ci0KLS8vIENIRUNLIzMKLWlmICh5LmNvbnN0cnVj
dG9yLnByb3RvdHlwZSAhPT0geC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6IE9iamVjdChvYmopLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0g
b2JqLmNvbnN0cnVjdG9yLnByb3RvdHlwZS4gQWN0dWFsOiAnICsgKE9iamVjdChvYmopLmNvbnN0
cnVjdG9yLnByb3RvdHlwZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh5LnZhbHVlT2YoKSwgeC52
YWx1ZU9mKCksICd5LnZhbHVlT2YoKSBtdXN0IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5l
ZCBieSB4LnZhbHVlT2YoKScpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgeSwgdHlwZW9mIHgs
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiB5YCBpcyBleHBlY3RlZCB0byBiZSB0eXBlb2YgeCcpOwog
Cithc3NlcnQuc2FtZVZhbHVlKAorICB5LmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKKyAgeC5jb25z
dHJ1Y3Rvci5wcm90b3R5cGUsCisgICdUaGUgdmFsdWUgb2YgeS5jb25zdHJ1Y3Rvci5wcm90b3R5
cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHguY29uc3RydWN0b3IucHJvdG90
eXBlJworKTsKIAotLy8gQ0hFQ0sjNAotaWYgKHkgIT09IHgpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IE9iamVjdChvYmopID09PSBvYmonKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
eSwgeCwgJ1RoZSB2YWx1ZSBvZiB5IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB4
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2Fz
c2lnbi9Tb3VyY2UtTnVsbC1VbmRlZmluZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L2Fzc2lnbi9Tb3VyY2UtTnVsbC1VbmRlZmluZWQuanMKaW5kZXggYjQxZTEw
MmZjMDgxOTJkZWI4YmUwMWJjNmViZjNkOTE0ZTc3YWNlMC4uZTgxZWUxMTc5ZGZhYjg3MmY1MmFi
NTlmNzNhN2NmYjQwYWU3ZmY2YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNlLU51bGwtVW5kZWZpbmVkLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvYXNzaWduL1NvdXJjZS1OdWxsLVVuZGVm
aW5lZC5qcwpAQCAtOSw0ICs5LDQgQEAKIHZhciB0YXJnZXQgPSBuZXcgT2JqZWN0KCk7CiB2YXIg
cmVzdWx0ID0gT2JqZWN0LmFzc2lnbih0YXJnZXQsIHVuZGVmaW5lZCwgbnVsbCk7CiAKLWFzc2Vy
dC5zYW1lVmFsdWUocmVzdWx0LCB0YXJnZXQsICJudWxsIGFuZCB1bmRlZmluZWQgc2hvdWxkIGJl
IGlnbm9yZWQsIHJlc3VsdCBzaG91bGQgYmUgb3JpZ2luYWwgb2JqZWN0LiIpOworYXNzZXJ0LnNh
bWVWYWx1ZShyZXN1bHQsIHRhcmdldCwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIHRhcmdldCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNlLU51bWJlci1Cb29sZW4tU3lt
Ym9sLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291
cmNlLU51bWJlci1Cb29sZW4tU3ltYm9sLmpzCmluZGV4IDY5ZWYzNDk5YTM5MzE1ODI0NzJmMDBk
OWY0YWRkYjlhYzcyMjIyZDEuLjI5NDlmYzg3MjM2YWZmZTgzNzUyMDdjY2JiYjdjMTc1ZmY4MGU3
MTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvYXNz
aWduL1NvdXJjZS1OdW1iZXItQm9vbGVuLVN5bWJvbC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L2Fzc2lnbi9Tb3VyY2UtTnVtYmVyLUJvb2xlbi1TeW1ib2wu
anMKQEAgLTEyLDQgKzEyLDQgQEAKIHZhciB0YXJnZXQgPSBuZXcgT2JqZWN0KCk7CiB2YXIgcmVz
dWx0ID0gT2JqZWN0LmFzc2lnbih0YXJnZXQsIDEyMywgdHJ1ZSwgU3ltYm9sKCdmb28nKSk7CiAK
LWFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB0YXJnZXQsICJOdW1iZXJzLCBib29sZWFucywgYW5k
IHN5bWJvbHMgY2Fubm90IGhhdmUgd3JhcHBlcnMgd2l0aCBvd24gZW51bWVyYWJsZSBwcm9wZXJ0
aWVzLiIpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHRhcmdldCwgJ1RoZSB2YWx1ZSBvZiBy
ZXN1bHQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHRhcmdldCcpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNl
LVN0cmluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvYXNzaWdu
L1NvdXJjZS1TdHJpbmcuanMKaW5kZXggNzhlMDA2NDYxZWU5ODg3ODI3MjNiNDI2NDNiYTkzZWNi
NWE1YTk0My4uM2IwZGVjZDA0NzY2MjViZWU3YjUxYWViOTMzMDgxNzE0Zjg5ZTUwZSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9hc3NpZ24vU291cmNl
LVN0cmluZy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2Fz
c2lnbi9Tb3VyY2UtU3RyaW5nLmpzCkBAIC05LDYgKzksNiBAQAogdmFyIHRhcmdldCA9IG5ldyBP
YmplY3QoKTsKIHZhciByZXN1bHQgPSBPYmplY3QuYXNzaWduKHRhcmdldCwgIjEyMyIpOwogCi1h
c3NlcnQuc2FtZVZhbHVlKHJlc3VsdFswXSwgIjEiLCAiVGhlIHZhbHVlIHNob3VsZCBiZSB7XCIw
XCI6XCIxXCJ9LiIpOwotYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRbMV0sICIyIiwgIlRoZSB2YWx1
ZSBzaG91bGQgYmUge1wiMVwiOlwiMlwifS4iKTsKLWFzc2VydC5zYW1lVmFsdWUocmVzdWx0WzJd
LCAiMyIsICJUaGUgdmFsdWUgc2hvdWxkIGJlIHtcIjJcIjpcIjNcIn0uIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdFswXSwgIjEiLCAnVGhlIHZhbHVlIG9mIHJlc3VsdFswXSBpcyBleHBlY3Rl
ZCB0byBiZSAiMSInKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0WzFdLCAiMiIsICdUaGUgdmFs
dWUgb2YgcmVzdWx0WzFdIGlzIGV4cGVjdGVkIHRvIGJlICIyIicpOworYXNzZXJ0LnNhbWVWYWx1
ZShyZXN1bHRbMl0sICIzIiwgJ1RoZSB2YWx1ZSBvZiByZXN1bHRbMl0gaXMgZXhwZWN0ZWQgdG8g
YmUgIjMiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L2RlZmluZVByb3BlcnR5L1MxNS4yLjMuNl9BMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvZGVmaW5lUHJvcGVydHkvUzE1LjIuMy42X0ExLmpzCmluZGV4IGM0
ZWUyZDY5YzBjYzk2MDliNGYyYjNlMTRmOGU2MzFlMTBmZTVlZjkuLjVmNTUyZTk5YzhiOTE2NTMz
NjMyMTBmMWM2YjczZGVjMWU4NTg0YTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvZGVmaW5lUHJvcGVydHkvUzE1LjIuMy42X0ExLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZGVmaW5lUHJvcGVydHkvUzE1LjIu
My42X0ExLmpzCkBAIC0zMSw4ICszMSw2IEBAIGZ1bmN0aW9uIGdldHRlcigpIHsKICAgfQogICBp
ZiAoIXJlZnVzZWQpIHsKICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoZiwgJ2ZvbycpOwotICAgIGlmIChkZXNjLmdldCAhPT0gZ2V0dGVyKSB7Ci0gICAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdHZXR0ZXIgb24gSFRNTEZvcm1FbGVtZW50IGRpc2FwcGVh
cnMnKTsKLSAgICB9CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLmdldCwgZ2V0dGVyLCAnVGhl
IHZhbHVlIG9mIGRlc2MuZ2V0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBnZXR0
ZXInKTsKICAgfQogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9kZWZpbmVQcm9wZXJ0eS9TMTUuMi4zLjZfQTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L2RlZmluZVByb3BlcnR5L1MxNS4yLjMuNl9BMi5qcwppbmRl
eCAyZGY5ZjFjZGUzZDBiZGZhNjQ2ZDBlOTVlN2UyMjk5YWUxMjljZDIwLi44ZjQ3MmFiZmZkN2I0
ZTExYThhODEzOGM2ZmQ1YjdmMzQxOTZmOGE5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L2RlZmluZVByb3BlcnR5L1MxNS4yLjMuNl9BMi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2RlZmluZVByb3BlcnR5L1Mx
NS4yLjMuNl9BMi5qcwpAQCAtMTcsNiArMTcsOCBAQCBmdW5jdGlvbiBnZXR0ZXIoKSB7CiBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgJ2ZvbycsIHsKICAgZ2V0OiBnZXR0ZXIKIH0pOwotaWYg
KGRlcml2ZWQuaGFzT3duUHJvcGVydHkoJ2ZvbycpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJ0FjY2Vzc29yIHByb3BlcnRpZXMgaW5oZXJpdCBhcyBvd24gcHJvcGVydGllcycpOwotfQor
Cithc3NlcnQoCisgICFkZXJpdmVkLmhhc093blByb3BlcnR5KCdmb28nKSwKKyAgJ1RoZSB2YWx1
ZSBvZiAhZGVyaXZlZC5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L2dldE93blByb3BlcnR5TmFtZXMvUzE1LjIuMy40X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL1MxNS4yLjMuNF9BMV9U
MS5qcwppbmRleCAxNGM4YmI5YjExM2FiNDg3M2M4NzU3OTY3OTZlOTFhN2JjZDBlZDFiLi5kMTY3
NWUxMTQxMTFlMzgzMGVlZjM2ZjAwMzk5MWViNTJhMmVkOWQ2IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5TmFtZXMvUzE1LjIu
My40X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
Z2V0T3duUHJvcGVydHlOYW1lcy9TMTUuMi4zLjRfQTFfVDEuanMKQEAgLTE2LDcgKzE2LDUgQEAg
ZnVuY3Rpb24gZm9vKCkge30KIAogdmFyIG5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFt
ZXMoZm9vKTsKIGZvciAodmFyIGkgPSAwLCBsZW4gPSBuYW1lcy5sZW5ndGg7IGkgPCBsZW47IGkr
KykgewotICBpZiAoIWZvby5oYXNPd25Qcm9wZXJ0eShuYW1lc1tpXSkpIHsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCdQaGFudG9tIG93biBwcm9wZXJ0eTogJyArIG5hbWVzW2ldKTsKLSAg
fQorICBhc3NlcnQoISFmb28uaGFzT3duUHJvcGVydHkobmFtZXNbaV0pLCAnVGhlIHZhbHVlIG9m
ICEhZm9vLmhhc093blByb3BlcnR5KG5hbWVzW2ldKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9TMTUuMi4zLjFfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9TMTUuMi4zLjFfQTEuanMKaW5kZXggOTViZjY4YzkyZDY1Mjk5MDk4
M2EyMjE4OWY2MGYyYjhkNTY4ZTZlYS4uNWFmMzY0YzdjZTQ3YmU1OTQ1OGU2OTk2MGExNGFlYzhm
ZTYxM2ZkYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvUzE1LjIuMy4xX0ExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1MxNS4yLjMuMV9BMS5qcwpAQCAtMTMsMTUgKzEzLDE1
IEBACiAgIHJldHVybiAic2hpZnRlZCI7CiB9KTsKIAotLy9DSEVDSyMxCi1pZiAoT2JqZWN0LnBy
b3RvdHlwZSAhPT0gb2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgT2Jq
ZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUsIG9iaiwgJ1RoZSB2YWx1ZSBvZiBP
YmplY3QucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBvYmonKTsK
IAotLy9DSEVDSyMyCiB0cnkgewogICBPYmplY3QucHJvdG90eXBlKCk7CiAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0
dHJpYnV0ZXMgUmVhZE9ubHknKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKGUgaW5zdGFuY2VvZiBU
ZXN0MjYyRXJyb3IpIHRocm93IGU7CisgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB7
CisgICAgdGhyb3cgZTsKKyAgfQogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvUzE1LjIuMy4xX0EyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuMy4xX0EyLmpzCmluZGV4IDkwNDQ5NTA3
NmYwM2YwYzZkZmMyOTBmNmRiM2Y3MWY5YmM3MjU4NzQuLmQ0MGY2ZWEwMjFlZjhhMjVlYTkzYWY3
ZTRmNTQ1ODBjZTY4NjViNDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL1MxNS4yLjMuMV9BMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9TMTUuMi4zLjFfQTIuanMKQEAgLTYs
MTkgKzYsMTkgQEAKIGVzNWlkOiAxNS4yLjMuMV9BMgogZGVzY3JpcHRpb246IENoZWNraW5nIGlm
IGVudW1lcmF0aW5nICJPYmplY3QucHJvdG90eXBlIiBwcm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fz
c2VydCgKKyAgIU9iamVjdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJyksCisgICdU
aGUgdmFsdWUgb2YgIU9iamVjdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgicHJvdG90eXBlIikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vIENIRUNLIzEKLWlmIChPYmplY3QucHJvcGVy
dHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9u
dEVudW0nKTsKLX0KLQotLy8gQ0hFQ0sjMgogdmFyIGNvdXQgPSAwOwogCiBmb3IgKHZhciBwIGlu
IE9iamVjdCkgewotICBpZiAocCA9PT0gInByb3RvdHlwZSIpIGNvdXQrKzsKKyAgaWYgKHAgPT09
ICJwcm90b3R5cGUiKSB7CisgICAgY291dCsrOworICB9CiB9CiAKLWlmIChjb3V0ICE9PSAwKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9w
ZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
Y291dCwgMCwgJ1RoZSB2YWx1ZSBvZiBjb3V0IGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKKworLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1MxNS4yLjMuMV9B
My5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1Mx
NS4yLjMuMV9BMy5qcwppbmRleCBkYzI0ZWI1YmE4ZGFmNWFhMzBmZjU1MDViYmI3YzhkZjllNTEy
ODBhLi4yYjJkZWUwN2FjMjFiY2Q4ZjVhNDUyMGZmYzQ1ODJhOWMyNDA0ZGMwIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9TMTUuMi4z
LjFfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvUzE1LjIuMy4xX0EzLmpzCkBAIC05LDE3ICs5LDE3IEBACiAKIHZlcmlmeU5vdENvbmZp
Z3VyYWJsZShPYmplY3QsICJwcm90b3R5cGUiKTsKIAotLy9DSEVDSyMxCiB0cnkgewotICBpZiAo
KGRlbGV0ZSBPYmplY3QucHJvdG90eXBlKSAhPT0gZmFsc2UpIHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogT2JqZWN0LnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVs
ZXRlJyk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgT2JqZWN0LnByb3RvdHlwZSwg
ZmFsc2UsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBPYmplY3QucHJvdG90eXBlYCBpcyBleHBlY3Rl
ZCB0byBiZSBmYWxzZScpOwogfSBjYXRjaCAoZSkgewotICBpZiAoZSBpbnN0YW5jZW9mIFRlc3Qy
NjJFcnJvcikgdGhyb3cgZTsKLSAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOworICBp
ZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgeworICAgIHRocm93IGU7CisgIH0KKyAgYXNz
ZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUg
aW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0KIAotLy9D
SEVDSyMyCiBpZiAoIShPYmplY3QuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydHkg
aGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9TMTUuMi40X0ExX1QxLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuNF9BMV9UMS5q
cwppbmRleCA0ZTEzNzA4ZTIyYjJlN2I3MGEwYmU0NzY3MzJlN2NhY2E2YjQ4YzRjLi5mMzU5ZmI4
ODg2NTJhOTk3MjJkZDVlNzUyNGRkNjU0YjQ0NThlZGRkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9TMTUuMi40X0ExX1QxLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1MxNS4y
LjRfQTFfVDEuanMKQEAgLTYsOCArNiw4IEBACiBlczVpZDogMTUuMi40X0ExX1QxCiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgaWYgb2J0YWluaW5nIE9iamVjdC5wcm90b3R5cGUucHJvdG90eXBlIGZh
aWxzCiAtLS0qLwotCi0vLyBDSEVDSyMxCi1pZiAoT2JqZWN0LnByb3RvdHlwZS5wcm90b3R5cGUg
IT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogT2JqZWN0IHBy
b3RvdHlwZSBoYXMgbm90IHByb3RvdHlwZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2Jq
ZWN0LnByb3RvdHlwZS5wcm90b3R5cGUsCisgIHVuZGVmaW5lZCwKKyAgJ1RoZSB2YWx1ZSBvZiBP
YmplY3QucHJvdG90eXBlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB1bmRlZmluZWQn
CispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvUzE1LjIuNF9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL1MxNS4yLjRfQTFfVDIuanMKaW5kZXggNzZlZTU3N2UzOTY1ZWMx
NWY0NTRlODYzMDk1YzhlNzJkYjhmYzdlNi4uN2FhZWE4OTk5ZTYxMjNjZDExYmRmYTlhYjBmNzY2
OTI5YTM5MjgwNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvUzE1LjIuNF9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9TMTUuMi40X0ExX1QyLmpzCkBAIC04LDIxICs4
LDE4IEBACiAgICAgU2luY2UgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGhhcyBub3QgcHJv
dG90eXBlLCBkZWxldGVkCiAgICAgdG9TdHJpbmcgbWV0aG9kIGNhbiBub3QgYmUgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nKCkgPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE9i
amVjdCBwcm90b3R5cGUgb2JqZWN0IGhhcyBub3QgcHJvdG90eXBlJyk7Ci19Cithc3NlcnQubm90
U2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSwgZmFsc2UsICdPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nKCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKIAogZGVsZXRlIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmc7CiAKLS8vIENIRUNLIzIKIHRyeSB7CiAgIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcoKTsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IE9iamVjdCBwcm90
b3R5cGUgb2JqZWN0IGhhcyBub3QgcHJvdG90eXBlJyk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICgo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMS4xOiBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZygpIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwot
ICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwKKyAg
ICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CiAvLwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuNF9B
Mi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1Mx
NS4yLjRfQTIuanMKaW5kZXggOWE4YmM5ZDU4ZTYyMGNlNGUwNmE0NzRkYmU1Yjg1N2UxMDJmN2Zm
YS4uMzVlOTk3NGUyZGM5ZWVkOWQzZGI2OWZjNzdmZDdhZjlmOWRlODY2YyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuNF9B
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9TMTUuMi40X0EyLmpzCkBAIC0xMyw3ICsxMyw0IEBACiAKIHZhciB0b3N0ciA9IE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcoKTsKIAotLy9DSEVDSyMxCi1pZiAodG9zdHIgIT09ICJbb2JqZWN0
IE9iamVjdF0iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUgdmFsdWUgb2Yg
dGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBPYmplY3QgcHJvdG90eXBlIG9iamVj
dCBpcyAiT2JqZWN0IicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0b3N0ciwgIltvYmplY3QgT2Jq
ZWN0XSIsICdUaGUgdmFsdWUgb2YgdG9zdHIgaXMgZXhwZWN0ZWQgdG8gYmUgIltvYmplY3QgT2Jq
ZWN0XSInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL1MxNS4yLjRfQTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9TMTUuMi40X0EzLmpzCmluZGV4IDg1NTg5OWFlNjc1ZmRkZWIx
ZTM2N2VkOWZiY2QxYWE4YmM4ZmEzZWMuLjlkMjk4Yzk3Y2E5NTQ5OThmZDhjYmMzOTlkODQ3ZjJi
ZDNiMWQxOWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL1MxNS4yLjRfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuNF9BMy5qcwpAQCAtMTEsNCArMTEsNCBAQAog
CiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIE9iamVjdC5wcm90b3R5
cGUoKTsKLX0pOworfSwgJ09iamVjdC5wcm90b3R5cGUoKSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9TMTUuMi40X0E0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvUzE1LjIuNF9BNC5qcwppbmRleCBkODQ1OWZjZDcyYTA1NzNl
MWIzNWM2YTJlOTM0OTk3OTE1NjcwZWQ2Li4yNWVkM2I1MjZlNmVjZDQyYzI2YTA0M2JiOGM5ZWY2
YzFmMGYxMDllIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9TMTUuMi40X0E0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL1MxNS4yLjRfQTQuanMKQEAgLTExLDQgKzExLDQgQEAK
IAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBuZXcgT2JqZWN0LnBy
b3RvdHlwZTsKLX0pOworfSwgJ2BuZXcgT2JqZWN0LnByb3RvdHlwZWAgdGhyb3dzIGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjIuNC4xX0ExX1QxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvY29uc3RydWN0b3Iv
UzE1LjIuNC4xX0ExX1QxLmpzCmluZGV4IGU3M2E4ODhmMGE2MmJhNzY3ZDM1YTU1NGVlNWU1MmQ3
MzhlYmI5YmYuLmJhZmJjMmY3ZWI5ODIxMDMxNDM4Yjg3ODc5Yjk3NWQwYzFhM2JiOWYgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2Nv
bnN0cnVjdG9yL1MxNS4yLjQuMV9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9jb25zdHJ1Y3Rvci9TMTUuMi40LjFfQTFfVDEuanMK
QEAgLTgsOCArOCw4IEBACiBlczVpZDogMTUuMi40LjFfQTFfVDEKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyB0aGUgT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcgogLS0tKi8KLQotLy9DSEVDSyMx
Ci1pZiAoT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90
eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3InKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IsCisgIE9i
amVjdCwKKyAgJ1RoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBPYmplY3QnCispOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvY29uc3RydWN0b3Iv
UzE1LjIuNC4xX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvY29uc3RydWN0b3IvUzE1LjIuNC4xX0ExX1QyLmpzCmluZGV4IDMxMTgzNjMy
YWU2YWIzYzcwMTg0NmZkYmM0NGU0NTcxMDJkY2Y2ZTIuLjUwYTYzMDM5NTQxMDc1N2E0N2JmMWVk
NzkxNGZkMmQ0YTc5MWUzMTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL2NvbnN0cnVjdG9yL1MxNS4yLjQuMV9BMV9UMi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9jb25zdHJ1
Y3Rvci9TMTUuMi40LjFfQTFfVDIuanMKQEAgLTE1LDI4ICsxNSwxNCBAQAogCiB2YXIgb2JqID0g
bmV3IGNvbnN0cjsKIAotLy8gQ0hFQ0sjMAotaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBuZXcgT2JqZWN0KCkgcmV0dXJuIHRoZSBuZXdseSBj
cmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Ci19Cithc3NlcnQubm90U2FtZVZhbHVlKG9iaiwgdW5k
ZWZpbmVkLCAnVGhlIHZhbHVlIG9mIG9iaiBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRl
ZmluZWRgYCcpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmouY29uc3RydWN0b3IsIE9iamVjdCwgJ1Ro
ZSB2YWx1ZSBvZiBvYmouY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIE9iamVjdCcpOwogCi0vLyBDSEVDSyMxCi1pZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmpl
Y3QpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IG5ldyBPYmplY3QoKSBjcmVhdGUg
YSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Ci19Cithc3NlcnQoCisgICEhT2JqZWN0
LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaiksCisgICdUaGUgdmFsdWUgb2YgISFPYmplY3Qu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsK
IAotLy8gQ0hFQ0sjMgotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikp
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxs
cyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2Jq
ZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Ci19Ci0KLS8vIENI
RUNLIzMKIHZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJyArICdPYmplY3QnICsgJ10n
OwotaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tDbGFzc11d
IHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmpl
Y3QiLicpOwotfQotCi0vLyBDSEVDSyM0Ci1pZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9
PSB0b19zdHJpbmdfcmVzdWx0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiB3aGVu
IG5ldyBPYmplY3QoKSBjYWxscyB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGhhcyBubyBb
W1ZhbHVlXV0gcHJvcGVydHkuJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG9iai50b1N0cmluZygp
LCB0b19zdHJpbmdfcmVzdWx0LCAnb2JqLnRvU3RyaW5nKCkgcmV0dXJucyB0b19zdHJpbmdfcmVz
dWx0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSwgdG9fc3Ry
aW5nX3Jlc3VsdCwgJ29iai52YWx1ZU9mKCkudG9TdHJpbmcoKSByZXR1cm5zIHRvX3N0cmluZ19y
ZXN1bHQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BMTIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUu
Mi40LjVfQTEyLmpzCmluZGV4IDZiOGMxYmQ1NzkyZWM0YjZkMDRhZGU4ZWY2NGVhODk2MTAyZTkx
MzUuLjc2OTQzYmQ2YmVjZjY4ODllOWZkZmM2ZDI4NzAzNmQyYzZjNDFmODQgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blBy
b3BlcnR5L1MxNS4yLjQuNV9BMTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvaGFzT3duUHJvcGVydHkvUzE1LjIuNC41X0ExMi5qcwpAQCAt
MTAsNCArMTAsNCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAg
IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh1bmRlZmluZWQsICdmb28nKTsK
LX0pOworfSwgJ09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh1bmRlZmluZWQs
ICJmb28iKSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0
eS9TMTUuMi40LjVfQTEzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvaGFzT3duUHJvcGVydHkvUzE1LjIuNC41X0ExMy5qcwppbmRleCBlMWRkNWE3
YjAyZjgyNDE1ZmQwZDdkYjE3YzkyOTA5NDA1NDFiNzk2Li5hMWFlZmNhMGI3MDM5OGQwYTY1YWYz
ZWMyZjlmNDAzOWE0MzU5ZTk4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUuMi40LjVfQTEzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093
blByb3BlcnR5L1MxNS4yLjQuNV9BMTMuanMKQEAgLTEwLDQgKzEwLDQgQEAKIAogYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LmNhbGwobnVsbCwgJ2ZvbycpOwotfSk7Cit9LCAnT2JqZWN0LnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eS5jYWxsKG51bGwsICJmb28iKSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUuMi40LjVfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUuMi40
LjVfQTFfVDEuanMKaW5kZXggZTE0MWViMjE0YmNmMmI0NmM3MDJlMTc0NzljN2JlZDU2NmNiMDUx
Zi4uNjczMTU3OTJmMGY5MWIwNTM2ZDVjOGFkZWVjYmI5MTg0MGVhYjAyZSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaGFzT3duUHJv
cGVydHkvUzE1LjIuNC41X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BMV9UMS5qcwpA
QCAtMTMsMTQgKzEzLDEzIEBACiAgICAgQ2hlY2tpbmcgdHlwZSBvZiB0aGUgT2JqZWN0LnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSBhbmQgdGhlCiAgICAgcmV0dXJuZWQgcmVzdWx0CiAtLS0qLwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHksCisgICJmdW5jdGlvbiIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5YCBpcyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJworKTsKIAot
Ly9DSEVDSyMxCi1pZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09
ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGhhc093blByb3Bl
cnR5IG1ldGhvZCBpcyBkZWZpbmVkJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKCEoT2JqZWN0LnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSkpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCB3b3JrcyBwcm9wZXJseScp
OwotfQotLy8KK2Fzc2VydCgKKyAgISFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJo
YXNPd25Qcm9wZXJ0eSIpLAorICAnVGhlIHZhbHVlIG9mICEhT2JqZWN0LnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9B
MV9UMi5qcwppbmRleCBkNWNjOWQxOWU5YzgxMmM1MmY2Mzk3M2ZiM2QxZjg5ZmFjYWQ1YWIxLi40
ZmUxYTc2MzhhYzI2YjFjOTY5Mjc4YjQyY2Q1MjhlZTVhYjIxNjlhIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0
eS9TMTUuMi40LjVfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvaGFzT3duUHJvcGVydHkvUzE1LjIuNC41X0ExX1QyLmpzCkBAIC0x
MSwyOCArMTEsMjggQEAKIGVzNWlkOiAxNS4yLjQuNV9BMV9UMgogZGVzY3JpcHRpb246IEFyZ3Vt
ZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9w
ZXJ0eQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBkZWZpbmVkJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSwKKyAgImZ1bmN0
aW9uIiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHlgIGlzIGV4cGVjdGVkIHRvIGJlICJmdW5jdGlvbiInCispOwogCiB2YXIgb2JqID0gewog
ICB0aGVfcHJvcGVydHk6IHRydWUKIH07CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBvYmouaGFz
T3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgdHlwZW9mIG9iai5oYXNPd25Qcm9wZXJ0eSwKKyAgImZ1bmN0aW9uIiwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIG9iai5oYXNPd25Qcm9wZXJ0eWAgaXMgZXhwZWN0ZWQgdG8gYmUg
ImZ1bmN0aW9uIicKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgiaGFz
T3duUHJvcGVydHkiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogaGFzT3duUHJv
cGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Ci19Cithc3NlcnQoCisgICFvYmouaGFzT3du
UHJvcGVydHkoImhhc093blByb3BlcnR5IiksCisgICdUaGUgdmFsdWUgb2YgIW9iai5oYXNPd25Q
cm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAot
Ly9DSEVDSyM0Ci1pZiAoIShvYmouaGFzT3duUHJvcGVydHkoInRoZV9wcm9wZXJ0eSIpKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtz
IHByb3Blcmx5Jyk7Ci19Ci0vLworYXNzZXJ0KAorICAhIW9iai5oYXNPd25Qcm9wZXJ0eSgidGhl
X3Byb3BlcnR5IiksCisgICdUaGUgdmFsdWUgb2YgISFvYmouaGFzT3duUHJvcGVydHkoInRoZV9w
cm9wZXJ0eSIpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaGFzT3duUHJvcGVydHkv
UzE1LjIuNC41X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvaGFzT3duUHJvcGVydHkvUzE1LjIuNC41X0ExX1QzLmpzCmluZGV4IDk5ZTFm
OTcwMDRkYjhiNTc4NjEyNjg2MzViMmE3ZDAwYzE1NTc0YWUuLjk5N2E1YmZiNDUxMzc3MjAyNWY3
NDg4NGJkOWY5NTMzZWZkYWJkMzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BMV9UMy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9o
YXNPd25Qcm9wZXJ0eS9TMTUuMi40LjVfQTFfVDMuanMKQEAgLTIwLDIyICsyMCwyNCBAQAogCiB2
YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKIAotLy9DSEVDSyMxCi1pZiAodHlwZW9mIE9iamVj
dC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBkZWZpbmVkJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSwKKyAgImZ1bmN0aW9uIiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdC5wcm90
b3R5cGUuaGFzT3duUHJvcGVydHlgIGlzIGV4cGVjdGVkIHRvIGJlICJmdW5jdGlvbiInCispOwog
Ci0vL0NIRUNLIzIKLWlmICh0eXBlb2YgaW5zdGFuY2UuaGFzT3duUHJvcGVydHkgIT09ICJmdW5j
dGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IGhhc093blByb3BlcnR5IG1l
dGhvZCBpcyBhY2Nlc3NlZCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIGluc3Rh
bmNlLmhhc093blByb3BlcnR5LAorICAiZnVuY3Rpb24iLAorICAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgaW5zdGFuY2UuaGFzT3duUHJvcGVydHlgIGlzIGV4cGVjdGVkIHRvIGJlICJmdW5jdGlvbiIn
CispOwogCi0vL0NIRUNLIzMKLWlmIChpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmci
KSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogaGFzT3duUHJvcGVydHkgbWV0aG9k
IHdvcmtzIHByb3Blcmx5Jyk7Ci19Cithc3NlcnQoCisgICFpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0
eSgidG9TdHJpbmciKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhaW5zdGFuY2UuaGFzT3duUHJvcGVydHko
InRvU3RyaW5nIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjNAotaWYg
KCEoaW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImFwcm9wZXJ0eSIpKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjNDogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7
Ci19Cithc3NlcnQoCisgICEhaW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImFwcm9wZXJ0eSIpLAor
ICAnVGhlIHZhbHVlIG9mICEhaW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImFwcm9wZXJ0eSIpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaGFzT3duUHJvcGVydHkvUzE1LjIuNC41X0E2
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaGFz
T3duUHJvcGVydHkvUzE1LjIuNC41X0E2LmpzCmluZGV4IGJlOWZkNTQ2NjNkNTU3NGUzNzEyMjI5
M2NkNDEwNTI2ZWU5YWRhODcuLjdiMTU0ODg3NWYwODhhNGE3YTJkZDllNTZjMjg1ODdkNjY2Y2Y5
ZjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BNi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUuMi40
LjVfQTYuanMKQEAgLTgsOSArOCw4IEBACiAgICAgQ2hlY2tpbmcgaWYgb2J0YWluaW5nIHRoZSBw
cm90b3R5cGUgcHJvcGVydHkgb2YKICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5
IGZhaWxzCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBl
IHByb3BlcnR5JyArIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkucHJvdG90eXBlKTsK
LX0KLS8vCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3Bl
cnR5LnByb3RvdHlwZSwKKyAgdW5kZWZpbmVkLAorICAnVGhlIHZhbHVlIG9mIE9iamVjdC5wcm90
b3R5cGUuaGFzT3duUHJvcGVydHkucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHVuZGVm
aW5lZCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUuMi40LjVfQTcuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9TMTUu
Mi40LjVfQTcuanMKaW5kZXggOGI5OWIzNzZhNWI5OTNlYjI1ZWM0NjllN2VlZTI3MTNiZjliODc5
Yy4uYmZmYjkyYzEwZmQ5OTZjNzA4NWYzMGYxOWMyYTc3OTU0NWQ4NzBiNSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvaGFzT3duUHJv
cGVydHkvUzE1LjIuNC41X0E3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L1MxNS4yLjQuNV9BNy5qcwpAQCAtNyw4
ICs3LDYgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkiIGZhaWxzCiAtLS0qLwogCi12YXIgRkFDVE9SWSA9IE9i
amVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Ci0KIGFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKLSAgbmV3IEZBQ1RPUlk7Ci19KTsKKyAgbmV3IE9iamVjdC5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkoKTsKK30sICdgbmV3IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkoKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0Vu
dW1lcmFibGUvUzE1LjIuNC43X0ExMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMTAuanMK
aW5kZXggNTQzODVhMjFhODJmYjQzZmMzNzI0Y2U5NzEyZjMzNTM4YWJhOGEzNy4uOTZkNGU5NWE2
YTFlNWIyYWZlZDJlYWE4YzZkY2FkNWM3NWFhNTlhOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUv
UzE1LjIuNC43X0ExMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTEwLmpzCkBAIC0x
MSwxMSArMTEsMTAgQEAKICAgICBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxl
Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KIC0t
LSovCi0KLS8vQ0hFQ0sjMQotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVu
Z3RoIHByb3BlcnR5Jyk7Ci19Cithc3NlcnQoCisgICEhT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0
eUlzRW51bWVyYWJsZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2Yg
ISFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJs
ZW5ndGgiKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogdmFyIG9iaiA9IE9iamVjdC5w
cm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoOwogCkBAIC0yMyw3ICsyMiwxMCBA
QAogICByZXR1cm4gInNoaWZ0ZWQiOwogfSk7CiAKLS8vQ0hFQ0sjMgotaWYgKE9iamVjdC5wcm90
b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoICE9PSBvYmopIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJh
YmxlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUu
bGVuZ3RoLAorICBvYmosCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0
eUlzRW51bWVyYWJsZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIG9i
aicKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTExLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1
LjIuNC43X0ExMS5qcwppbmRleCAzNWQyZDVlMmRhYjlkZGUxMzAxY2YxYjYzODcwMjIzMzlhZGY4
ZjA4Li43YmY5NzAzMmE0N2E0Y2FkYTdkNjIxYTU0MDNhNGE4MmEzYTVhODhkIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0
eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQu
N19BMTEuanMKQEAgLTYsMTMgKzYsMTMgQEAKIGVzNWlkOiAxNS4yLjQuN19BMTEKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyB0aGUgdmFsdWUgb2YgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eS5sZW5ndGgKIC0tLSovCithc3NlcnQoCisgICEhT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlz
RW51bWVyYWJsZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgICdUaGUgdmFsdWUgb2YgISFP
YmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJsZW5n
dGgiKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotLy9DSEVDSyMxCi1pZiAoIShPYmpl
Y3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSkpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRoZSBPYmplY3QucHJvdG90eXBl
LnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBsZW5ndGggcHJvcGVydHknKTsKLX0KLQotLy9DSEVD
SyMyCi1pZiAoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggIT09
IDEpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBsZW5ndGggcHJvcGVydHkg
b2YgdGhlIHRvT2JqZWN0IG1ldGhvZCBpcyAxJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBP
YmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCwKKyAgMSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBiZSAxJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQu
N19BMTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTEyLmpzCmluZGV4IDg4MGI2ZWZhNjY0
MDA5NTI4M2UwZGJiNTgxZjg2N2VlOWQyMDBiMWYuLmY5NWI1MWYzM2MxYTBlY2MyZTU2OTIyNmYx
ZmZiM2NhNDgwM2Q4MWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMTIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJv
cGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0ExMi5qcwpAQCAtMTAsNCArMTAsNCBAQAogCiBh
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIE9iamVjdC5wcm90b3R5cGUu
cHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh1bmRlZmluZWQsICdmb28nKTsKLX0pOworfSwgJ09i
amVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh1bmRlZmluZWQsICJmb28i
KSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJs
ZS9TMTUuMi40LjdfQTEzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0ExMy5qcwppbmRleCBl
YzhmMzg1OTFiY2UzNDQzMzlmMmYwODc0YzFkYTI0NzM2MDI3MzVhLi4wZGIwYWFkZDBmZjhmNDIz
NjRhNzE4YmViN2U0ODEzMDg5ZTQ4ZjJhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40
LjdfQTEzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMTMuanMKQEAgLTEwLDQgKzEw
LDQgQEAKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBPYmplY3Qu
cHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwobnVsbCwgJ2ZvbycpOwotfSk7Cit9
LCAnT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG51bGwsICJmb28i
KSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJs
ZS9TMTUuMi40LjdfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTFfVDEuanMKaW5k
ZXggYzdlNDhkZjhmOGQzNTk4MGM4ZTQ0YTNiOTE1Y2U1MDQ5YmI2NjhkZS4uNjY5ZGM0MmJiZGRi
ZjFlNzQ2YzBhYWMwOTYxNDUwNTMwOGMxZDk0MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1
LjIuNC43X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMV9UMS5qcwpAQCAt
MTAsMTEgKzEwLDExIEBACiAgICAgQ2FsbGluZyB0aGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0
aG9kIGZvciBvYmplY3QgaW4gdGhlCiAgICAgcHJvdG90eXBlIGNoYWluCiAtLS0qLwotCi0vL0NI
RUNLIzEKLWlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAh
PT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogcHJvcGVydHlJ
c0VudW1lcmFibGUgbWV0aG9kIGlzIGRlZmluZWQnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLAorICAiZnVuY3Rp
b24iLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlz
RW51bWVyYWJsZWAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKIHZhciBwcm90
byA9IHsKICAgcm9vdHByb3A6ICJhdmlzIgpAQCAtMjIsMjQgKzIyLDI0IEBACiAKIGZ1bmN0aW9u
IEFWSVNGQUNUT1JZKG5hbWUpIHsKICAgdGhpcy5uYW1lID0gbmFtZQotfTsKK30KIAogQVZJU0ZB
Q1RPUlkucHJvdG90eXBlID0gcHJvdG87CiAKIHZhciBzZWFndWxsID0gbmV3IEFWSVNGQUNUT1JZ
KCJzZWFndWxsIik7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBzZWFndWxsLnByb3BlcnR5SXNF
bnVtZXJhYmxlICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYWNjZXNzZWQnKTsKLX0KLQotLy9DSEVD
SyMzCi1pZiAoIShzZWFndWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJuYW1lIikpKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29y
a3MgcHJvcGVybHknKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoc2VhZ3VsbC5wcm9wZXJ0eUlzRW51
bWVyYWJsZSgicm9vdHByb3AiKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogcHJv
cGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhl
IHByb3RvdHlwZSBjaGFpbicpOwotfQotLy8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBz
ZWFndWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlLAorICAiZnVuY3Rpb24iLAorICAnVGhlIHZhbHVl
IG9mIGB0eXBlb2Ygc2VhZ3VsbC5wcm9wZXJ0eUlzRW51bWVyYWJsZWAgaXMgZXhwZWN0ZWQgdG8g
YmUgImZ1bmN0aW9uIicKKyk7CisKK2Fzc2VydCgKKyAgISFzZWFndWxsLnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCJuYW1lIiksCisgICdUaGUgdmFsdWUgb2YgISFzZWFndWxsLnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCJuYW1lIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisKK2Fzc2VydCgKKyAg
IXNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUoInJvb3Rwcm9wIiksCisgICdUaGUgdmFsdWUg
b2YgIXNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUoInJvb3Rwcm9wIikgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTJfVDEu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9w
ZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTJfVDEuanMKaW5kZXggZGY1M2MxMzU5ZmM2ZjM4
YjYwMzI1ZjA2NThhMmFlZjJmNzkxMjE3NS4uNmUyOWFhMDFlNjliODlhMWJmYzU4MDUxZGYxZmQ0
Zjg2NTZhYmI4NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0EyX1QxLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3Bl
cnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMl9UMS5qcwpAQCAtMTQsMTQgKzE0LDE1IEBACiAg
ICAgQ2hlY2tpbmcgdGhlIHR5cGUgb2YgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZSBhbmQgdGhlCiAgICAgcmV0dXJuZWQgcmVzdWx0CiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsCisgICJm
dW5jdGlvbiIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnByb3Bl
cnR5SXNFbnVtZXJhYmxlYCBpcyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJworKTsKIAotLy9D
SEVDSyMxCi1pZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUg
IT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGhhc093blBy
b3BlcnR5IG1ldGhvZCBpcyBkZWZpbmVkJyk7Ci19Cithc3NlcnQoCisgICFPYmplY3QucHJvdG90
eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpLAorICAnVGhl
IHZhbHVlIG9mICFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0
eUlzRW51bWVyYWJsZSIpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0vL0NIRUNLIzIK
LWlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0eUlzRW51
bWVyYWJsZSIpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBoYXNPd25Qcm9wZXJ0
eSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKLX0KLS8vCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZl
cmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43
X0EyX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0EyX1QyLmpzCmluZGV4IGM0M2Q2MWFl
NDFkMDVlZmFjZTUwNzI2OTk4M2M0NTU2N2I5NGJlNzkuLjJhZGE1YjdmODJjNWNlYTVkYjc4OThj
YjRiOTI1YmY4NjJkMmU4MDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BMl9U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTJfVDIuanMKQEAgLTE0LDMyICsxNCwz
MSBAQAogICAgIEFyZ3VtZW50IG9mIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMg
YSBjdXN0b20gYm9vbGVhbgogICAgIHByb3BlcnR5CiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmICh0
eXBlb2YgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPT0gImZ1bmN0aW9u
IikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogcHJvcGVydHlJc0VudW1lcmFibGUg
bWV0aG9kIGlzIGRlZmluZWQnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBPYmpl
Y3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLAorICAiZnVuY3Rpb24iLAorICAnVGhl
IHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZWAg
aXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKIHZhciBvYmogPSB7CiAgIHRoZV9w
cm9wZXJ0eTogdHJ1ZQogfTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIG9iai5wcm9wZXJ0eUlz
RW51bWVyYWJsZSAhPT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGlzIGFjY2Vzc2VkJyk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICB0eXBlb2Ygb2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlLAorICAiZnVuY3Rp
b24iLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlYCBp
cyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJworKTsKIAotLy9DSEVDSyMzCi1pZiAoIShvYmou
cHJvcGVydHlJc0VudW1lcmFibGUoInRoZV9wcm9wZXJ0eSIpKSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIHdvcmtzIHByb3Blcmx5
Jyk7Ci19Cithc3NlcnQoCisgICEhb2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0aGVfcHJvcGVy
dHkiKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIW9iai5wcm9wZXJ0eUlzRW51bWVyYWJsZSgidGhlX3By
b3BlcnR5IikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjNAogdmFyIGFj
Y3VtID0gIiI7CiBmb3IgKHZhciBwcm9wIGluIG9iaikgewogICBhY2N1bSArPSBwcm9wOwogfQot
aWYgKGFjY3VtLmluZGV4T2YoInRoZV9wcm9wZXJ0eSIpICE9PSAwKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM0OiBlbnVtZXJhdGluZyB3b3JrcyBwcm9wZXJseScpOwotfQotLy8KK2Fz
c2VydC5zYW1lVmFsdWUoYWNjdW0uaW5kZXhPZigidGhlX3Byb3BlcnR5IiksIDAsICdhY2N1bS5p
bmRleE9mKCJ0aGVfcHJvcGVydHkiKSBtdXN0IHJldHVybiAwJyk7CisKKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9T
MTUuMi40LjdfQTYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTYuanMKaW5kZXggM2MxNDdl
ZGQ2Mjk0ZjRlMDcyMGVkMDA1Njk3MzA0MGRjNDQ4NjE2Ni4uMjViZmEzMWNjNTEwNGEzYjRjZGRj
OGE2MjRkNDRiMzUzMTRjM2M2ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0E2
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BNi5qcwpAQCAtOCw5ICs4LDggQEAKICAg
ICBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZgogICAgIE9i
amVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgZmFpbHMKIC0tLSovCi0KLS8vQ0hF
Q0sjMQotaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUucHJvdG90eXBl
ICE9PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE9iamVjdC5w
cm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkn
ICsgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5wcm90b3R5cGUpOwotfQot
Ly8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1l
cmFibGUucHJvdG90eXBlLAorICB1bmRlZmluZWQsCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0LnBy
b3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdW5kZWZpbmVkJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BNy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3Bl
cnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BNy5qcwppbmRleCA5OGFjNzRhMTIzNjg3MGVmZWNj
ZTAyMWZiMzU3MWExN2RjMDE4NDc5Li5iOTA5ZjU3NzQ4YTM1NmNhMjBiMGE5NGIzZmQ5ZDJlM2Nl
MGFmZGNhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTcuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0Vu
dW1lcmFibGUvUzE1LjIuNC43X0E3LmpzCkBAIC05LDggKzksNiBAQAogICAgIGZhaWxzCiAtLS0q
LwogCi12YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7
Ci0KIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgbmV3IEZBQ1RPUlk7
Ci19KTsKKyAgbmV3IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoKTsKK30s
ICdgbmV3IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoKWAgdGhyb3dzIGEg
VHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43
X0E4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
cHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0E4LmpzCmluZGV4IGI2MjVjMDAwMzk3YzJi
M2ZhNDlhYWY4NDg2ZjEzNTZhMGRjZGZiM2MuLjFjODVhMGQ4N2RiYzQ5YmM5ZjQzOGYyM2I2MmQ3
NGEwMjRjNTFmYmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BOC5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0
eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTguanMKQEAgLTEwLDIxICsxMCwxOSBAQAogICAgIENo
ZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZQogICAgIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJ
c0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAtLS0qLworYXNzZXJ0KAorICAhIU9i
amVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0
aCcpLAorICAnVGhlIHZhbHVlIG9mICEhT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVy
YWJsZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7
CiAKLS8vQ0hFQ0sjMAotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJs
ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMwOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3Ro
IHByb3BlcnR5Jyk7Ci19Ci0KK2Fzc2VydCgKKyAgIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJ
c0VudW1lcmFibGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVl
IG9mICFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCJsZW5ndGgiKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotLy8gQ0hFQ0sj
MQotaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB0aGUg
T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFz
IHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Ci19Ci0KLS8vIENIRUNLIzIKIGZvciAodmFyIHAg
aW4gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSkgewotICBpZiAocCA9PT0g
Imxlbmd0aCIpCi0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHRoZSBPYmplY3QucHJv
dG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJp
YnV0ZXMgRG9udEVudW0nKTsKKyAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShwLCAibGVuZ3RoIiwgJ1Ro
ZSB2YWx1ZSBvZiBwIGlzIG5vdCAibGVuZ3RoIicpOwogfQogLy8KKworLy8gVE9ETzogQ29udmVy
dCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1Mx
NS4yLjQuN19BOS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL3Byb3BlcnR5SXNFbnVtZXJhYmxlL1MxNS4yLjQuN19BOS5qcwppbmRleCBkZTMyMzM2
NTQ1NjgzN2ZlYmIzYmZlMGVmMjFlMWIxYjI1MTQ2NjZhLi5iYTA3NjdjZDNkMjJhYjEwZjQ2MDY0
NDc1YWMyYTQzMjI4MTE2MjIzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9TMTUuMi40LjdfQTku
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
cHJvcGVydHlJc0VudW1lcmFibGUvUzE1LjIuNC43X0E5LmpzCkBAIC0xMCwxNCArMTAsMTQgQEAK
ICAgICBDaGVja2luZyBpZiBkZWxldGluZyB0aGUKICAgICBPYmplY3QucHJvdG90eXBlLnByb3Bl
cnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fzc2VydCgKKyAg
ISFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0Vu
dW1lcmFibGUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
CispOwogCi0vL0NIRUNLIzAKLWlmICghKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1l
cmFibGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgaGFzIGxl
bmd0aCBwcm9wZXJ0eScpOwotfQorYXNzZXJ0KAorICAhIWRlbGV0ZSBPYmplY3QucHJvdG90eXBl
LnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiAhIWRlbGV0ZSBP
YmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworKTsKIAotLy9DSEVDSyMxCi1pZiAoIWRlbGV0ZSBPYmplY3QucHJvdG90eXBl
LnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogVGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHBy
b3BlcnR5IGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQotLy8K
Ky8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2Fs
ZVN0cmluZy9TMTUuMi40LjNfQTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEuanMKaW5kZXggMmNm
MWVhN2NhMjcwMjBkMzRiZjdiMmVjNDA0MWQwMzA3OTUwOWRiZi4uZjZkZTg3NTI1OTMwYTI4OGQ2
MjE1YmI4OGNiNGZiMjI0YzNkZjQ3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0ExLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Rv
TG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BMS5qcwpAQCAtOCwxOCArOCwyMCBAQAogICAgIENoZWNr
aW5nIHRoZSB0eXBlIG9mIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgYW5kIHRoZQog
ICAgIHJldHVybmVkIHJlc3VsdAogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBP
YmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLAorICAiZnVuY3Rpb24iLAorICAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZ2AgaXMgZXhwZWN0
ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKLS8vQ0hFQ0sjMQotaWYgKHR5cGVvZiBPYmplY3Qu
cHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiB0b0xvY2FsZVN0cmluZyBtZXRob2QgZGVmaW5lZCcpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpLAorICBP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCksCisgICdPYmplY3QucHJvdG90eXBlLnRvTG9jYWxl
U3RyaW5nKCkgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZygpJworKTsKIAotLy9DSEVDSyMyCi1pZiAoT2JqZWN0LnByb3RvdHlw
ZS50b0xvY2FsZVN0cmluZygpICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRvTG9jYWxlU3RyaW5nIGZ1bmN0aW9uIHJldHVy
bnMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRvU3RyaW5nKCknKTsKLX0KLQotLy9DSEVDSyMyCi1p
ZiAoe30udG9Mb2NhbGVTdHJpbmcoKSAhPT0ge30udG9TdHJpbmcoKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogdG9Mb2NhbGVTdHJpbmcgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVz
dWx0IG9mIGNhbGxpbmcgdG9TdHJpbmcoKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAge30u
dG9Mb2NhbGVTdHJpbmcoKSwKKyAge30udG9TdHJpbmcoKSwKKyAgJyh7fSkudG9Mb2NhbGVTdHJp
bmcoKSBtdXN0IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBieSAoe30pLnRvU3RyaW5n
KCknCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0ExMC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4y
LjQuM19BMTAuanMKaW5kZXggZGZkYjg0ZjBjY2QyMmE2YzU0MmYwMGJhNDZlYzUxODZiYWI2ZGU4
Zi4uNTMwMmNiMTU2ZDY3M2M2OTgzMWM5NjJjOGM1ZjhkNDcxZWM0Y2RhMyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVT
dHJpbmcvUzE1LjIuNC4zX0ExMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEwLmpzCkBAIC0x
MSwxMSArMTEsMTAgQEAKICAgICBwcm9wZXJ0eSBmYWlscwogaW5jbHVkZXM6IFtwcm9wZXJ0eUhl
bHBlci5qc10KIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKCEoT2JqZWN0LnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgbGVu
Z3RoIHByb3BlcnR5LicpOwotfQorYXNzZXJ0KAorICAhIU9iamVjdC5wcm90b3R5cGUudG9Mb2Nh
bGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICEhT2Jq
ZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKIHZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnRv
TG9jYWxlU3RyaW5nLmxlbmd0aDsKIApAQCAtMjMsNyArMjIsMTAgQEAKICAgcmV0dXJuICJzaGlm
dGVkIjsKIH0pOwogCi0vL0NIRUNLIzIKLWlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3Ry
aW5nLmxlbmd0aCAhPT0gb2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUg
T2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBh
dHRyaWJ1dGVzIFJlYWRPbmx5LicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnBy
b3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgsCisgIG9iaiwKKyAgJ1RoZSB2YWx1ZSBvZiBP
YmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2Ygb2JqJworKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9w
ZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BMTEuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmlu
Zy9TMTUuMi40LjNfQTExLmpzCmluZGV4IGQ3NWI1NjVkNGU4OTAwZGU4OTNlOTFjN2ZkZmM4NmUy
Y2E1N2FjMWMuLmExM2JmNWU1YjZiMDZjMTZmNzkwMGEzOGNiOWMxYmZjYzA5YTYxYjYgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Rv
TG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BMTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0ExMS5q
cwpAQCAtNiwxMyArNiwxMyBAQAogZXM1aWQ6IDE1LjIuNC4zX0ExMQogZGVzY3JpcHRpb246IENo
ZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aAogLS0tKi8K
K2Fzc2VydCgKKyAgISFPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3Bl
cnR5KCJsZW5ndGgiKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIU9iamVjdC5wcm90b3R5cGUudG9Mb2Nh
bGVTdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
CispOwogCi0vL0NIRUNLIzEKLWlmICghKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcu
aGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgbWV0aG9kIGlzIDAn
KTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5s
ZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRoZSBsZW5ndGgg
cHJvcGVydHkgb2YgdGhlIHRvTG9jYWxlU3RyaW5nIG1ldGhvZCBpcyAwJyk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCwKKyAg
MCwKKyAgJ1RoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBiZSAwJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19B
MTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90
b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEyLmpzCmluZGV4IGEyNDA2NDM3MmVkYWI2N2I2MDVj
YTQ1MjEzMzY1OWJhYjdiYzlmMDMuLmFkNWUwZTI3YWZmYjY2NDk0ZjFhNmE2ZmFkNTcyNDE3ZDJj
ZDA5YWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BMTIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1
LjIuNC4zX0ExMi5qcwpAQCAtMTAsNCArMTAsNCBAQAogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CiAgIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuY2FsbCh1
bmRlZmluZWQpOwotfSk7Cit9LCAnT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxs
KHVuZGVmaW5lZCkgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVT
dHJpbmcvUzE1LjIuNC4zX0ExMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BMTMuanMKaW5kZXggNWEw
OTdmMjJlODIwY2IwYjAxM2ZmNWVmODZiZWJkODdhZTJiNTg4Ny4uZDJkYjg2MjExODMxZGNmNjQ3
Zjk2Mzg2NmQ1YzI0NmU2ZjljY2Y3OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0ExMy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90
b0xvY2FsZVN0cmluZy9TMTUuMi40LjNfQTEzLmpzCkBAIC0xMCw0ICsxMCw0IEBACiAKIGFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgT2JqZWN0LnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZy5jYWxsKG51bGwpOwotfSk7Cit9LCAnT2JqZWN0LnByb3RvdHlwZS50b0xvY2Fs
ZVN0cmluZy5jYWxsKG51bGwpIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Rv
TG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BNi5qcwppbmRl
eCA4YjkxYzgzODE4OGE0YWMxZmEwYjFkZDk1ZDhlNTI2MDQzNzA4MGM4Li40MzRhZmI4MmI3Zjdm
MWQ5MWRhNjNhOWRiOGVjNzk4NTY3ZjAwNTU3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9TMTUuMi40LjNf
QTYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E2LmpzCkBAIC04LDkgKzgsOCBAQAogICAgIENo
ZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mCiAgICAgT2JqZWN0
LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBmYWlscwogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAo
T2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b0xvY2Fs
ZVN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScgKyBPYmplY3QucHJvdG90eXBlLnRv
TG9jYWxlU3RyaW5nLnByb3RvdHlwZSk7Ci19Ci0vLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2Jq
ZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm90b3R5cGUsCisgIHVuZGVmaW5lZCwKKyAg
J1RoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSBp
cyBleHBlY3RlZCB0byBlcXVhbCB1bmRlZmluZWQnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1
LjIuNC4zX0E3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E3LmpzCmluZGV4IGIxODY1MTIzNTFkMjlj
OGRlNDg4ZWE0Yzk1YWM2YzIzZTFjMmQ5ODcuLjFhOGE0YTNlMmQ3NTEyMWI4YTQwNzM0NzFlYzcw
NTZiODNiMjljYmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BNy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmlu
Zy9TMTUuMi40LjNfQTcuanMKQEAgLTcsOCArNyw2IEBACiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcg
aWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIiBmYWlscwog
LS0tKi8KIAotdmFyIEZBQ1RPUlkgPSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nOwot
CiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIG5ldyBGQUNUT1JZOwot
fSk7CisgIG5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKCk7Cit9LCAnYG5ldyBP
YmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKClgIHRocm93cyBhIFR5cGVFcnJvciBleGNl
cHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BOC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4y
LjQuM19BOC5qcwppbmRleCA4Y2NhYWFhMGRkYzhlYjU5YTRkMGYxNTVjNTQ3MDU0NGNkODM5Y2I0
Li4zNDZiYjE4MjcxMjA2NzBhZGVmZDdhMTZmOTBkYWI1N2ZlZjdmYTUzIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0
cmluZy9TMTUuMi40LjNfQTguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E4LmpzCkBAIC0xMCwy
MSArMTAsMTkgQEAKICAgICBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgT2JqZWN0LnByb3Rv
dHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgKICAgICBwcm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fz
c2VydCgKKyAgISFPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5
KCdsZW5ndGgnKSwKKyAgJ1RoZSB2YWx1ZSBvZiAhIU9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVT
dHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwogCi0vL0NIRUNLIzAKLWlmICghKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuaGFz
T3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDog
dGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4n
KTsKLX0KLQorYXNzZXJ0KAorICAhT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm9w
ZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgIU9iamVjdC5wcm90
b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoImxlbmd0aCIpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0vLyBDSEVDSyMxCi1pZiAoT2JqZWN0LnByb3RvdHlw
ZS50b0xvY2FsZVN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3Ry
aW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKLX0KLQot
Ly8gQ0hFQ0sjMgogZm9yICh2YXIgcCBpbiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
KSB7Ci0gIGlmIChwID09PSAibGVuZ3RoIikKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhh
cyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOworICBhc3NlcnQubm90U2FtZVZhbHVlKHAsICJs
ZW5ndGgiLCAnVGhlIHZhbHVlIG9mIHAgaXMgbm90ICJsZW5ndGgiJyk7CiB9CiAvLworCisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJp
bmcvUzE1LjIuNC4zX0E5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvUzE1LjIuNC4zX0E5LmpzCmluZGV4IDlhZDkwNDg5
MzM2NGYwMzIyZTJmYWY2YTk3MjM0ZmI3YzY5Yzk3ZDAuLmUxMTc5MWFlYmRiNmQ2Y2NiODk1ZDgx
MDdhZThmMmI3MGI3NWRmMmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL1MxNS4yLjQuM19BOS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2Fs
ZVN0cmluZy9TMTUuMi40LjNfQTkuanMKQEAgLTEwLDE4ICsxMCwxOSBAQAogICAgIENoZWNrbmln
IGlmIGRlbGV0aW5nIG9mIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0
aAogICAgIHByb3BlcnR5IGZhaWxzCiAtLS0qLworYXNzZXJ0KAorICAhIU9iamVjdC5wcm90b3R5
cGUudG9Mb2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVl
IG9mICEhT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVu
Z3RoIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjMAotaWYgKCEoT2Jq
ZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xv
Y2FsZVN0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Ci19Cithc3NlcnQoCisgICEhZGVsZXRl
IE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9m
ICEhZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOwogCi0vL0NIRUNLIzEKLWlmICghZGVsZXRlIE9iamVjdC5wcm90
b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkg
ZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19Cithc3NlcnQoCisg
ICFPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgn
KSwKKyAgJ1RoZSB2YWx1ZSBvZiAhT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNP
d25Qcm9wZXJ0eSgibGVuZ3RoIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hF
Q0sjMgotaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHko
J2xlbmd0aCcpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBUaGUgT2JqZWN0LnBy
b3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgZG9lcyBub3QgaGF2ZSB0aGUg
YXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVBy
b3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTEwLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRf
QTEwLmpzCmluZGV4IDg3YmY1M2YzYTM5YWNkYmM4ZjJmYjM5YjE1MzI5YWE0MDZiY2VhYTkuLmY0
MDhhN2U4Yzg1OTE0NTZkMzZjY2ZmZTIyYWFjODJmYzE5OWQxNzcgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIu
NC40X0ExMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMTAuanMKQEAgLTksMTEgKzksMTAgQEAKICAgICBm
YWlscwogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KIC0tLSovCi0KLS8vQ0hFQ0sjMQot
aWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnZh
bHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKLX0KK2Fzc2VydCgKKyAgISFPYmplY3QucHJv
dG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9m
ICEhT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBpcyBl
eHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAogdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUudmFs
dWVPZi5sZW5ndGg7CiAKQEAgLTIxLDcgKzIwLDEwIEBACiAgIHJldHVybiAic2hpZnRlZCI7CiB9
KTsKIAotLy9DSEVDSyMyCi1pZiAoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCAhPT0g
b2JqKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlw
ZS52YWx1ZU9mIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3Ro
LAorICBvYmosCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Ygb2JqJworKTsKKworLy8gVE9ETzog
Q29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40
X0ExMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L3ZhbHVlT2YvUzE1LjIuNC40X0ExMS5qcwppbmRleCBhNDU4Mzg5YzhmNjg5NzhhYWM2MTg4MzQ4
Nzg3NDhmMTY4NDRjOGQ2Li5iMTE0ZmI0MGJjYTllZGQzZjQzZmE0NDA3MWVjN2ViZmU4OWIwOWIw
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTExLmpzCkBAIC02
LDEzICs2LDEzIEBACiBlczVpZDogMTUuMi40LjRfQTExCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcg
dGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgKIC0tLSovCithc3NlcnQoCisgICEh
T2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiAhIU9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgibGVu
Z3RoIikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjMQotaWYgKCEoT2Jq
ZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIHRvT2Jq
ZWN0IG1ldGhvZCBpcyAwJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKE9iamVjdC5wcm90b3R5cGUu
dmFsdWVPZi5sZW5ndGggIT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IFRo
ZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIHRvT2JqZWN0IG1ldGhvZCBpcyAwJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoLAorICAwLAor
ICAnVGhlIHZhbHVlIG9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gYmUgMCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMTIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9B
MTIuanMKaW5kZXggYjA5ZDk1ZGVhOWY1NjhlY2QwOTZiNGVkZjg3NTE3ZDI0ZjZkZTk0ZC4uODI3
NTJlNzA3MjdlZjY0ZDhkZDQ4ZWZlZTIxNzY5NzgwNmUxNGQzMCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40
LjRfQTEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExMi5qcwpAQCAtMTEsNCArMTEsNCBAQAogCiBhc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIE9iamVjdC5wcm90b3R5cGUudmFs
dWVPZi5jYWxsKHVuZGVmaW5lZCk7Ci19KTsKK30sICdPYmplY3QucHJvdG90eXBlLnZhbHVlT2Yu
Y2FsbCh1bmRlZmluZWQpIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVl
T2YvUzE1LjIuNC40X0ExMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExMy5qcwppbmRleCA0ZTc5ZGRkY2Q2NGZh
YmYxM2FiYzNlMDg3MjU4NTdhMTY0YWNlYzE2Li5hN2YwZjQ1YzA3MjczNzc5NDQ2OWIyODVlMGE5
ZjhlNGUzMzFjYTc0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMTMuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRf
QTEzLmpzCkBAIC0xMSw0ICsxMSw0IEBACiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwobnVsbCk7Ci19KTsKK30s
ICdPYmplY3QucHJvdG90eXBlLnZhbHVlT2YuY2FsbChudWxsKSB0aHJvd3MgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMTQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMTQu
anMKaW5kZXggYmZmNjUyNzg2ZDRmZGU3NzVhMzIwOWRmNDJmMWEwNmJkMjc4ZjI3NC4uYTlhNjU1
M2M4YzRlMDkxZmQ4ZDYyOGFiY2ZlZGYxZTkxZjRlZTg5ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRf
QTE0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExNC5qcwpAQCAtMTEsNCArMTEsNCBAQAogCiBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICgxLCBPYmplY3QucHJvdG90eXBlLnZh
bHVlT2YpKCk7Ci19KTsKK30sICcoMSwgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSgpIHRocm93
cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExNS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2Yv
UzE1LjIuNC40X0ExNS5qcwppbmRleCAxNDdhMzFhZWU0MDY4NDVmNGY3N2QzMDg3NTdlM2FlM2Ew
YjhjYmI5Li4xMWQyM2Q4M2M0MjRhYzM1MjVjMjUwNGE1OWJiZWQzMjQxZTNmOTVjIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1
ZU9mL1MxNS4yLjQuNF9BMTUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTE1LmpzCkBAIC05LDggKzksNyBA
QAogZGVzY3JpcHRpb246IENoZWNraW5nIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiB3aGVuIGNh
bGxlZCBhcyBhIGdsb2JhbCBmdW5jdGlvbi4KIC0tLSovCiAKLXZhciB2ID0gT2JqZWN0LnByb3Rv
dHlwZS52YWx1ZU9mOwotCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0g
IHYoKTsKLX0pOworICBjb25zdCB2YWx1ZU9mID0gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mOwor
ICB2YWx1ZU9mKCk7Cit9LCAnYGNvbnN0IHZhbHVlT2YgPSBPYmplY3QucHJvdG90eXBlLnZhbHVl
T2Y7IHZhbHVlT2YoKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVP
Zi9TMTUuMi40LjRfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UMS5qcwppbmRleCA4YjkyYjYzYmY1
ZWVlOTM2OGRkZjhiYjA4ODAyNDQ5YzhkZGUyNzE4Li4zYjg0MDg4MmFjYmYyYmJkM2QxYmNhM2Jk
MDZhNjI4NDZmMDBiNjM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4y
LjQuNF9BMV9UMS5qcwpAQCAtNiwyMCArNiwxMyBAQAogZXM1aWQ6IDE1LjIuNC40X0ExX1QxCiBk
ZXNjcmlwdGlvbjogIlwidGhpc1wiIHZhbHVlIGlzIGEgbnVtYmVyIgogLS0tKi8KLQotLy9DSEVD
SyMxCi1pZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVP
ZiwKKyAgImZ1bmN0aW9uIiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdC5wcm90b3R5
cGUudmFsdWVPZmAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKIHZhciBvYmog
PSBuZXcgT2JqZWN0KDEuMSk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAh
PT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdmFsdWVPZiBt
ZXRob2QgYWNjZXNzZWQnKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAob2JqLnZhbHVlT2YoKSAhPT0g
MS4xKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2Qg
cmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2Jq
LnZhbHVlT2YsICJmdW5jdGlvbiIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmoudmFsdWVPZmAg
aXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmoudmFs
dWVPZigpLCAxLjEsICdvYmoudmFsdWVPZigpIG11c3QgcmV0dXJuIDEuMScpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVP
Zi9TMTUuMi40LjRfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UMi5qcwppbmRleCBmOTk1N2RhNTNh
ZWVmZjAzNGZjZDY0N2EwMGRjMDQ4MTVlNGMwYjM0Li41OWE1ODQ4OTJjMDlhNjA1OWUyMjg3MGE5
N2IzYTQzNWJhYjQ1ZjM1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UMi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4y
LjQuNF9BMV9UMi5qcwpAQCAtNiwyMCArNiwxMyBAQAogZXM1aWQ6IDE1LjIuNC40X0ExX1QyCiBk
ZXNjcmlwdGlvbjogIlwidGhpc1wiIHZhbHVlIGlzIGEgYm9vbGVhbiIKIC0tLSovCi0KLS8vQ0hF
Q0sjMQotaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHZhbHVlT2YgbWV0aG9kIGRlZmluZWQn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVl
T2YsCisgICJmdW5jdGlvbiIsCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBPYmplY3QucHJvdG90
eXBlLnZhbHVlT2ZgIGlzIGV4cGVjdGVkIHRvIGJlICJmdW5jdGlvbiInCispOwogCiB2YXIgb2Jq
ID0gbmV3IE9iamVjdCh0cnVlKTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIG9iai52YWx1ZU9m
ICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB2YWx1ZU9m
IG1ldGhvZCBhY2Nlc3NlZCcpOwotfQotCi0vL0NIRUNLIzMKLWlmIChvYmoudmFsdWVPZigpICE9
PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBUaGUgdmFsdWVPZiBtZXRo
b2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Yg
b2JqLnZhbHVlT2YsICJmdW5jdGlvbiIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmoudmFsdWVP
ZmAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmou
dmFsdWVPZigpLCB0cnVlLCAnb2JqLnZhbHVlT2YoKSBtdXN0IHJldHVybiB0cnVlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92
YWx1ZU9mL1MxNS4yLjQuNF9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1QzLmpzCmluZGV4IDA2OTY2
NjBhODQ5ODE5NjcxYzA0YjU5ZmE2ZmU5YTJkZWYyOThiMDMuLmEzYTA5MTM5NzBiYjkzZmY5YThm
NGJjNTQyZTk2ZjdlMTIwMjE0N2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1QzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2Yv
UzE1LjIuNC40X0ExX1QzLmpzCkBAIC02LDIwICs2LDEzIEBACiBlczVpZDogMTUuMi40LjRfQTFf
VDMKIGRlc2NyaXB0aW9uOiAiXCJ0aGlzXCIgdmFsdWUgaXMgYSBzdHJpbmciCiAtLS0qLwotCi0v
L0NIRUNLIzEKLWlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rp
b24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZp
bmVkJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52
YWx1ZU9mLAorICAiZnVuY3Rpb24iLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0LnBy
b3RvdHlwZS52YWx1ZU9mYCBpcyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJworKTsKIAogdmFy
IG9iaiA9IG5ldyBPYmplY3QoImdyZWVuZmllbGQiKTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9m
IG9iai52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwotfQotCi0vL0NIRUNLIzMKLWlmIChvYmou
dmFsdWVPZigpICE9PSAiZ3JlZW5maWVsZCIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBvYmoudmFsdWVPZiwgImZ1bmN0aW9uIiwgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIG9iai52YWx1ZU9mYCBpcyBleHBlY3RlZCB0byBiZSAiZnVuY3Rpb24iJyk7Cith
c3NlcnQuc2FtZVZhbHVlKG9iai52YWx1ZU9mKCksICJncmVlbmZpZWxkIiwgJ29iai52YWx1ZU9m
KCkgbXVzdCByZXR1cm4gImdyZWVuZmllbGQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9U
NC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Zh
bHVlT2YvUzE1LjIuNC40X0ExX1Q0LmpzCmluZGV4IDg1ZTRjNzExYmVjZWJlNTA3MDkyZTIwYjYy
ODg1NWMzMTJlN2VmM2QuLmZlZmNlY2FiNDJmMDY5MGExNjhjOGRmYzNjZjk0MDZhMWYyYzMxZDcg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1Q0LmpzCkBA
IC02LDIwICs2LDEzIEBACiBlczVpZDogMTUuMi40LjRfQTFfVDQKIGRlc2NyaXB0aW9uOiAiXCJ0
aGlzXCIgdmFsdWUgaXMgYW4gb2JqZWN0IgogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAodHlwZW9m
IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiwKKyAgImZ1bmN0aW9u
IiwKKyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZmAgaXMg
ZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKIHZhciBvYmogPSBuZXcgT2JqZWN0Owog
Ci0vL0NIRUNLIzIKLWlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Ci19
Ci0KLS8vQ0hFQ0sjMwotaWYgKG9iai52YWx1ZU9mKCkgIT09IG9iaikgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogVGhlIHZhbHVlT2YgbWV0aG9kIHJldHVybnMgaXRzIHRoaXMgdmFs
dWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG9iai52YWx1ZU9mLCAiZnVuY3Rpb24i
LCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLnZhbHVlT2ZgIGlzIGV4cGVjdGVkIHRvIGJlICJm
dW5jdGlvbiInKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLnZhbHVlT2YoKSwgb2JqLCAnb2JqLnZh
bHVlT2YoKSByZXR1cm5zIG9iaicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTFfVDUuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1Mx
NS4yLjQuNF9BMV9UNS5qcwppbmRleCBiMTg1OThlMjhiOWViMTVhZTJiOTc0ZTMwY2NjNDgzZDdk
OTczZjUyLi40MDNiYjBiN2FmNDZlYWFjZTcwMWZjNTIwMzViOWU2Mjc5YzlhMTRjIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1
ZU9mL1MxNS4yLjQuNF9BMV9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UNS5qcwpAQCAtNiwyMCAr
NiwxMyBAQAogZXM1aWQ6IDE1LjIuNC40X0ExX1Q1CiBkZXNjcmlwdGlvbjogIlwidGhpc1wiIHZh
bHVlIGlzIFwibnVsbFwiIgogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAodHlwZW9mIE9iamVjdC5w
cm90b3R5cGUudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiwKKyAgImZ1bmN0aW9uIiwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZmAgaXMgZXhwZWN0ZWQg
dG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKIHZhciBvYmogPSBuZXcgT2JqZWN0KG51bGwpOwogCi0v
L0NIRUNLIzIKLWlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Ci19Ci0K
LS8vQ0hFQ0sjMwotaWYgKG9iai52YWx1ZU9mKCkgIT09IG9iaikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogVGhlIHZhbHVlT2YgbWV0aG9kIHJldHVybnMgaXRzIHRoaXMgdmFsdWUn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIG9iai52YWx1ZU9mLCAiZnVuY3Rpb24iLCAn
VGhlIHZhbHVlIG9mIGB0eXBlb2Ygb2JqLnZhbHVlT2ZgIGlzIGV4cGVjdGVkIHRvIGJlICJmdW5j
dGlvbiInKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLnZhbHVlT2YoKSwgb2JqLCAnb2JqLnZhbHVl
T2YoKSByZXR1cm5zIG9iaicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTFfVDYuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4y
LjQuNF9BMV9UNi5qcwppbmRleCBiMzdkNDNmMDFmZDNiMDYzZGU0M2ZjZjk5NzkxNjU5ZWUyNjAy
MTU2Li40NDM2Y2VjMzM0OGVkNjE4MzYwMWEyZTBhOTcyM2JjMmVlMjUyYTI3IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9m
L1MxNS4yLjQuNF9BMV9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BMV9UNi5qcwpAQCAtNiwyMCArNiwx
MyBAQAogZXM1aWQ6IDE1LjIuNC40X0ExX1Q2CiBkZXNjcmlwdGlvbjogIlwidGhpc1wiIHZhbHVl
IGlzIFwidW5kZWZpbmVkXCIiCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgT2JqZWN0
LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLAorICAiZnVuY3Rpb24iLAorICAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mYCBpcyBleHBlY3Rl
ZCB0byBiZSAiZnVuY3Rpb24iJworKTsKIAogdmFyIG9iaiA9IG5ldyBPYmplY3QodW5kZWZpbmVk
KTsKIAotLy9DSEVDSyMyCi1pZiAodHlwZW9mIG9iai52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcp
OwotfQotCi0vL0NIRUNLIzMKLWlmIChvYmoudmFsdWVPZigpICE9PSBvYmopIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlz
IHZhbHVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvYmoudmFsdWVPZiwgImZ1bmN0
aW9uIiwgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIG9iai52YWx1ZU9mYCBpcyBleHBlY3RlZCB0byBi
ZSAiZnVuY3Rpb24iJyk7Cithc3NlcnQuc2FtZVZhbHVlKG9iai52YWx1ZU9mKCksIG9iaiwgJ29i
ai52YWx1ZU9mKCkgcmV0dXJucyBvYmonKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0ExX1Q3Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVP
Zi9TMTUuMi40LjRfQTFfVDcuanMKaW5kZXggNmM4YTI2ZDM2ZWY2MTk3MWUzNzI1ZTY4MzUyMDU5
YTExMGI0MTk0MC4uNWUyMjRkMzdiZDM3YTdjNTJmMWQ1NDcwNTQzNzMyOTgyZDk4NDU0NyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
dmFsdWVPZi9TMTUuMi40LjRfQTFfVDcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvdmFsdWVPZi9TMTUuMi40LjRfQTFfVDcuanMKQEAgLTYs
MjAgKzYsMTMgQEAKIGVzNWlkOiAxNS4yLjQuNF9BMV9UNwogZGVzY3JpcHRpb246ICJcInRoaXNc
IiB2YWx1ZSBpcyBcInZvaWQgMFwiIgogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAodHlwZW9mIE9i
amVjdC5wcm90b3R5cGUudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiwKKyAgImZ1bmN0aW9uIiwK
KyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZmAgaXMgZXhw
ZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicKKyk7CiAKIHZhciBvYmogPSBuZXcgT2JqZWN0KHZvaWQg
MCk7CiAKLS8vQ0hFQ0sjMgotaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdmFsdWVPZiBtZXRob2QgYWNjZXNzZWQn
KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAob2JqLnZhbHVlT2YoKSAhPT0gb2JqKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhp
cyB2YWx1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygb2JqLnZhbHVlT2YsICJmdW5j
dGlvbiIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBvYmoudmFsdWVPZmAgaXMgZXhwZWN0ZWQgdG8g
YmUgImZ1bmN0aW9uIicpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmoudmFsdWVPZigpLCBvYmosICdv
YmoudmFsdWVPZigpIHJldHVybnMgb2JqJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BNi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2Yv
UzE1LjIuNC40X0E2LmpzCmluZGV4IGJmMzc0ZmY3OTJlZGY5Mzc1MGJlZjgzODc3YzY4Y2Y4OGI1
ZWI2OWEuLjFiMzdhYjM0Y2ViMjllYWYzOTRiODc2NTMyMTk0ODg0ZjQ5NDJhOGUgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVl
T2YvUzE1LjIuNC40X0E2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0E2LmpzCkBAIC04LDkgKzgsOCBAQAog
ICAgIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mCiAgICAg
T2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGZhaWxzCiAtLS0qLwotCi0vL0NIRUNLIzEKLWlmIChP
YmplY3QucHJvdG90eXBlLnZhbHVlT2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBoYXMgbm90
IHByb3RvdHlwZSBwcm9wZXJ0eScgKyBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YucHJvdG90eXBl
KTsKLX0KLS8vCithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnZhbHVlT2Yu
cHJvdG90eXBlLAorICB1bmRlZmluZWQsCisgICdUaGUgdmFsdWUgb2YgT2JqZWN0LnByb3RvdHlw
ZS52YWx1ZU9mLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVhbCB1bmRlZmluZWQnCispOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvdmFsdWVPZi9TMTUuMi40LjRfQTcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BNy5qcwppbmRleCAyYTZlYjlj
NDA1Yjc0Zjk2N2NiM2EzY2UxYTNlNWUwYzUxOGJhMWYxLi5mODc0NGI2YWVmNmFkMzBmMjJjNzcx
YWQ1NmZlYWY5N2YwNGU5ZjQ2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BNy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4y
LjQuNF9BNy5qcwpAQCAtNyw4ICs3LDYgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBjcmVh
dGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiIgZmFpbHMKIC0tLSovCiAKLXZhciBG
QUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mOwotCiBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7Ci0gIG5ldyBGQUNUT1JZOwotfSk7CisgIG5ldyBPYmplY3QucHJv
dG90eXBlLnZhbHVlT2YoKTsKK30sICdgbmV3IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZigpYCB0
aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BOC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVl
T2YvUzE1LjIuNC40X0E4LmpzCmluZGV4IDg1ZDRiZDliNzk2NjI0ODc5ZmE5YjkzYzBhNjRhZTA5
MWM2MjRhOWEuLmZlNjYyY2NjMDhkODEyNGE5MWYzN2I1NzM5Yjg5OWYyNzY1ZmU5ZmMgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3Zh
bHVlT2YvUzE1LjIuNC40X0E4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0E4LmpzCkBAIC04LDIxICs4LDE5
IEBACiAgICAgQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFs
dWVPZi5sZW5ndGgKICAgICBwcm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fzc2VydCgKKyAgISFPYmpl
Y3QucHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICAnVGhlIHZh
bHVlIG9mICEhT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotLy9DSEVDSyMwCi1pZiAoIShPYmplY3Qu
cHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBoYXMgbGVu
Z3RoIHByb3BlcnR5LicpOwotfQotCithc3NlcnQoCisgICFPYmplY3QucHJvdG90eXBlLnZhbHVl
T2YucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpLAorICAnVGhlIHZhbHVlIG9mICFPYmpl
Y3QucHJvdG90eXBlLnZhbHVlT2YucHJvcGVydHlJc0VudW1lcmFibGUoImxlbmd0aCIpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0vLyBDSEVDSyMxCi1pZiAoT2JqZWN0LnByb3RvdHlw
ZS52YWx1ZU9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJv
cGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Ci19Ci0KLS8vIENIRUNLIzIKIGZv
ciAodmFyIHAgaW4gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSB7Ci0gIGlmIChwID09PSAibGVu
Z3RoIikKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdGhlIE9iamVjdC5wcm90b3R5
cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7
CisgIGFzc2VydC5ub3RTYW1lVmFsdWUocCwgImxlbmd0aCIsICdUaGUgdmFsdWUgb2YgcCBpcyBu
b3QgImxlbmd0aCInKTsKIH0KIC8vCisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVy
dHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS92YWx1ZU9mL1MxNS4yLjQuNF9BOS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0E5Lmpz
CmluZGV4IGE1ZDI5NjBjMjlmOGNlODJmYjY5OWI4OTgwYzcwNjNmYjI3Y2I0ZjYuLmIxODIzMzJj
NjZmNWUxMDE3YzMwYWYzZDAzZDUzNWYyYTVhODEyNGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2YvUzE1LjIuNC40X0E5
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L3ZhbHVlT2YvUzE1LjIuNC40X0E5LmpzCkBAIC0xMCwxOCArMTAsMTkgQEAKICAgICBDaGVja25p
ZyBpZiBkZWxldGluZyBvZiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aAogICAg
IHByb3BlcnR5IGZhaWxzCiAtLS0qLworYXNzZXJ0KAorICAhIU9iamVjdC5wcm90b3R5cGUudmFs
dWVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJyksCisgICdUaGUgdmFsdWUgb2YgISFPYmplY3Qu
cHJvdG90eXBlLnZhbHVlT2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnCispOwogCi0vL0NIRUNLIzAKLWlmICghKE9iamVjdC5wcm90b3R5cGUudmFsdWVP
Zi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMwOiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGhhcyBsZW5ndGggcHJvcGVydHknKTsK
LX0KK2Fzc2VydCgKKyAgISFkZWxldGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiAhIWRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwogCi0vL0NIRUNLIzEKLWlmICghZGVsZXRlIE9i
amVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGRvZXMg
bm90IGhhdmUgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwotfQorYXNzZXJ0KAorICAhT2Jq
ZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgJ1RoZSB2
YWx1ZSBvZiAhT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgi
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKIAotLy9DSEVDSyMyCi1pZiAoT2JqZWN0LnBy
b3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJv
cGVydHkgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Ci19CisvLyBU
T0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMS4xX1Qx
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQu
MV9BMS4xX1QxLmpzCmluZGV4IDczNjNlMjgyOGQ4ZjdmMmQ5ZWM3YWU1MGUwNWE2NzA1ZTZhNTVl
NzIuLjc4NzA3ODY3NGE3ZWZhMGZmODZkZGZjMjE3YTU3OGYwZjBkZjEyYjEgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTEu
MV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwv
UzI1LjQuNC4xX0ExLjFfVDEuanMKQEAgLTcsNyArNyw0IEBACiBhdXRob3I6IFNhbSBNaWtlcwog
ZGVzY3JpcHRpb246IFByb21pc2UuYWxsIGlzIGNhbGxhYmxlCiAtLS0qLwotCi1pZiAoKHR5cGVv
ZiBQcm9taXNlLmFsbCkgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignRXhwZWN0ZWQgUHJvbWlzZS5hbGwgdG8gYmUgYSBmdW5jdGlvbicpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgUHJvbWlzZS5hbGwsICJmdW5jdGlvbiIsICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBQcm9taXNlLmFsbGAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9uIicpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQu
MV9BMi4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxs
L1MyNS40LjQuMV9BMi4xX1QxLmpzCmluZGV4IDZjY2NjY2FjZTY2NTc2OTUxZDE5YjkyNTQyYjU5
Zjk1ZmNhNTE2ODUuLmUyMDhiMDc0OTA1YzI1MWE2MjZhMjI5ZWZhM2I2NzVmNzlkODY2MmIgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUu
NC40LjFfQTIuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9hbGwvUzI1LjQuNC4xX0EyLjFfVDEuanMKQEAgLTksNiArOSw0IEBACiAtLS0qLwogCiB2
YXIgcCA9IFByb21pc2UuYWxsKFtdKTsKLWlmICghKHAgaW5zdGFuY2VvZiBQcm9taXNlKSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdFeHBlY3RlZCBwIHRvIGJlIGEgUHJvbWlzZScpOwot
fQorYXNzZXJ0KCEhKHAgaW5zdGFuY2VvZiBQcm9taXNlKSwgJ1RoZSB2YWx1ZSBvZiAhIShwIGlu
c3RhbmNlb2YgUHJvbWlzZSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMi4z
X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40
LjQuMV9BMi4zX1QxLmpzCmluZGV4IDFlNGYxZDY1NmZjMWQ2YWE3N2MyYTc1MDdhMWRkYTM3N2U3
YTM0MzYuLmNmNjFmZDdjYzY0YzJhZmQ5MWUzNzFkZmFhNjk3Y2RlYjVlMmFkNzUgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFf
QTIuM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9h
bGwvUzI1LjQuNC4xX0EyLjNfVDEuanMKQEAgLTEyLDcgKzEyLDUgQEAKIHZhciBhcmcgPSBbXTsK
IAogUHJvbWlzZS5hbGwoYXJnKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewotICBpZiAoIShyZXN1
bHQgaW5zdGFuY2VvZiBBcnJheSkpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJleHBl
Y3RlZCBhbiBhcnJheSBmcm9tIFByb21pc2UuYWxsLCBnb3QgIiArIHJlc3VsdCk7Ci0gIH0KKyAg
YXNzZXJ0KCEhKHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5KSwgJ1RoZSB2YWx1ZSBvZiAhIShyZXN1
bHQgaW5zdGFuY2VvZiBBcnJheSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfSkudGhlbigk
RE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMi4zX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMi4zX1QyLmpzCmluZGV4IDY3YmUwNjhl
MzMyZTY4MjEwNmVlZWIzMDI0ODg5NGEzZWEwZjkxODQuLjM5M2U5M2Y2ZmM5Y2E1NDRjY2NhZGQ2
NTVjOWNmYWJjMTc4MjcwNzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTIuM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0EyLjNfVDIuanMKQEAgLTEy
LDcgKzEyLDUgQEAKIHZhciBhcmcgPSBbXTsKIAogUHJvbWlzZS5hbGwoYXJnKS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgewotICBpZiAocmVzdWx0Lmxlbmd0aCAhPT0gMCkgewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoImV4cGVjdGVkIGFuIGVtcHR5IGFycmF5IGZyb20gUHJvbWlzZS5hbGwo
W10pLCBnb3QgIiArIHJlc3VsdCk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVu
Z3RoLCAwLCAnVGhlIHZhbHVlIG9mIHJlc3VsdC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMCcp
OwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMi4zX1QzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMi4zX1QzLmpzCmlu
ZGV4IDgxYWFjZTVmNGNlOTQ5Y2FkYWE1NzAzYzg1N2NkMWU5YTNhYWMxZjkuLmJkNDQwNzY2YWNh
Yjk2NTg4NTNlNmNjM2E1MTIxOWNhYjg0MWZmMjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTIuM19UMy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0EyLjNf
VDMuanMKQEAgLTEyLDcgKzEyLDUgQEAKIHZhciBhcmcgPSBbXTsKIAogUHJvbWlzZS5hbGwoYXJn
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewotICBpZiAocmVzdWx0ID09PSBhcmcpIHsKLSAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJleHBlY3RlZCBhIG5ldyBhcnJheSBmcm9tIFByb21pc2Uu
YWxsIGJ1dCBhcmd1bWVudCB3YXMgcmUtdXNlZCIpOwotICB9CisgIGFzc2VydC5ub3RTYW1lVmFs
dWUocmVzdWx0LCBhcmcsICdUaGUgdmFsdWUgb2YgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIG5vdCBl
cXVhbCB0aGUgdmFsdWUgb2YgYGFyZ2AnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40
LjFfQTMuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2Fs
bC9TMjUuNC40LjFfQTMuMV9UMS5qcwppbmRleCAyNDM4MWJlNmJiNmQ4MDc2MjBkNGIwZjIwYWI0
OWE3MzI2OGNlOTVjLi42NzgzNTE2NGM0ZTk5NGM2MTE5ZTI1N2ZmZDlhMDM4M2I2YWYwMzUxIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1
LjQuNC4xX0EzLjFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1By
b21pc2UvYWxsL1MyNS40LjQuMV9BMy4xX1QxLmpzCkBAIC0xNyw3ICsxNyw1IEBACiBQcm9taXNl
LmFsbChub25JdGVyYWJsZSkudGhlbihmdW5jdGlvbigpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignUHJvbWlzZSB1bmV4cGVjdGVkbHkgcmVzb2x2ZWQ6IFByb21pc2UuYWxsKG5vbkl0ZXJh
YmxlKSBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CiB9LCBmdW5jdGlvbihlcnIpIHsKLSAgaWYg
KCEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJ0V4cGVjdGVkIFR5cGVFcnJvciwgZ290ICcgKyBlcnIpOwotICB9CisgIGFzc2VydCghIShl
cnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpLCAnVGhlIHZhbHVlIG9mICEhKGVyciBpbnN0YW5jZW9m
IFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwogfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2Uv
YWxsL1MyNS40LjQuMV9BMy4xX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMy4xX1QyLmpzCmluZGV4IDBkOTQ3ZDNkZGNkZWZlZjhl
MGJjODdmM2E5MTY1ZjJlNjhhYjkzMmYuLjY3ODBlMjFiNjI1OWY5NWFjNzg1ZjY2MDNkNGYzZTky
MjI4OGI5ZDAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL2FsbC9TMjUuNC40LjFfQTMuMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0EzLjFfVDIuanMKQEAgLTE2LDcgKzE2LDUg
QEAKIFByb21pc2UuYWxsKG5ldyBFcnJvcigiYWJydXB0IikpLnRoZW4oZnVuY3Rpb24oKSB7CiAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ1Byb21pc2UgdW5leHBlY3RlZGx5IHJlc29sdmVkOiBQ
cm9taXNlLmFsbChhYnJ1cHRDb21wbGV0aW9uKSBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CiB9
LCBmdW5jdGlvbihlcnIpIHsKLSAgaWYgKCEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ0V4cGVjdGVkIFR5cGVFcnJvciwgZ290ICcgKyBl
cnIpOwotICB9CisgIGFzc2VydCghIShlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpLCAnVGhlIHZh
bHVlIG9mICEhKGVyciBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScpOwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMy4xX1QzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BMy4xX1QzLmpz
CmluZGV4IGIzOWVmMGI4YTZjMTkyZjBiZTNmMWZmODI2N2UwZGIzNzJjNzk0ZGQuLjI1ZTY3NDRj
NjljZmU2MzA3YTgwOGY3NWYzOWI3ZWEzYThmZDJiMjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTMuMV9UMy5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0Ez
LjFfVDMuanMKQEAgLTIyLDcgKzIyLDUgQEAKIFByb21pc2UuYWxsKGl0ZXJUaHJvd3MpLnRoZW4o
ZnVuY3Rpb24oKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ1Byb21pc2UgdW5leHBlY3Rl
ZGx5IGZ1bGZpbGxlZDogUHJvbWlzZS5hbGwoaXRlclRocm93cykgc2hvdWxkIHRocm93IFR5cGVF
cnJvcicpOwogfSwgZnVuY3Rpb24oZXJyKSB7Ci0gIGlmICghKGVyciBpbnN0YW5jZW9mIEVycm9y
KSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ0V4cGVjdGVkIHByb21pc2UgdG8gYmUg
cmVqZWN0ZWQgd2l0aCBlcnJvciwgZ290ICcgKyBlcnIpOwotICB9CisgIGFzc2VydCghIShlcnIg
aW5zdGFuY2VvZiBFcnJvciksICdUaGUgdmFsdWUgb2YgISEoZXJyIGluc3RhbmNlb2YgRXJyb3Ip
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40
LjFfQTUuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2Fs
bC9TMjUuNC40LjFfQTUuMV9UMS5qcwppbmRleCBhYTBmMzJjMWEwMzA5NDc3OTVmODNmMTFmNjZj
MDA0ZTM4MTUyODdjLi43MDkzN2RmZDk0NjM4OGExNDI1M2ZmMjkwZGY1ZGE4OWVlMDM2MzY0IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1
LjQuNC4xX0E1LjFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1By
b21pc2UvYWxsL1MyNS40LjQuMV9BNS4xX1QxLmpzCkBAIC0yNSw1ICsyNSw1IEBAIHJlamVjdHMg
aWYgSXRlcmF0b3JTdGVwKCkgdGhyb3dzCiBQcm9taXNlLmFsbChpdGVyVGhyb3dzKS50aGVuKGZ1
bmN0aW9uKCkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdQcm9taXNlIHVuZXhwZWN0ZWRs
eSByZXNvbHZlZDogUHJvbWlzZS5hbGwoaXRlclRocm93cykgc2hvdWxkIHRocm93IFR5cGVFcnJv
cicpOwogfSwgZnVuY3Rpb24ocmVhc29uKSB7Ci0gIGFzc2VydC5zYW1lVmFsdWUocmVhc29uLCBl
cnJvcik7CisgIGFzc2VydC5zYW1lVmFsdWUocmVhc29uLCBlcnJvciwgJ1RoZSB2YWx1ZSBvZiBy
ZWFzb24gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIGVycm9yJyk7CiB9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0E3LjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0E3LjFfVDEuanMKaW5kZXggOWM2MDg5
YmMyNjcxZjA4MGM5OWNiMTVlOTc2MTczOTA3NzUxODg5MC4uNjNiNTk4MmIxYWMyMzNmMzdiYjZj
Y2FjYjExODA5NWU4YmFjNzMzYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1Byb21pc2UvYWxsL1MyNS40LjQuMV9BNy4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTcuMV9UMS5qcwpAQCAt
MTYsMTYgKzE2LDggQEAKIHZhciBwQWxsID0gUHJvbWlzZS5hbGwoW3AxXSk7CiAKIHBBbGwudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKLSAgaWYgKCEocEFsbCBpbnN0YW5jZW9mIFByb21pc2UpKSB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgUHJvbWlzZS5hbGwoKSB0byBi
ZSBwcm9taXNlLCBhY3R1YWxseSAiICsgcEFsbCk7Ci0gIH0KLSAgaWYgKCEocmVzdWx0IGluc3Rh
bmNlb2YgQXJyYXkpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgUHJv
bWlzZS5hbGwoKSB0byBiZSBwcm9taXNlIGZvciBhbiBBcnJheSwgYWN0dWFsbHkgIiArIHJlc3Vs
dCk7Ci0gIH0KLSAgaWYgKHJlc3VsdC5sZW5ndGggIT09IDEpIHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCJFeHBlY3RlZCBQcm9taXNlLmFsbChbcDFdKSB0byBiZSBhIHByb21pc2UgZm9y
IG9uZS1lbGVtZW50IEFycmF5LCBhY3R1YWxseSAiICsgcmVzdWx0KTsKLSAgfQotICBpZiAocmVz
dWx0WzBdICE9PSAzKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgcmVz
dWx0WzBdIHRvIGJlIDMsIGFjdHVhbGx5ICIgKyByZXN1bHRbMF0pOwotICB9CisgIGFzc2VydCgh
IShwQWxsIGluc3RhbmNlb2YgUHJvbWlzZSksICdUaGUgdmFsdWUgb2YgISEocEFsbCBpbnN0YW5j
ZW9mIFByb21pc2UpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKKyAgYXNzZXJ0KCEhKHJlc3Vs
dCBpbnN0YW5jZW9mIEFycmF5KSwgJ1RoZSB2YWx1ZSBvZiAhIShyZXN1bHQgaW5zdGFuY2VvZiBB
cnJheSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3Vs
dC5sZW5ndGgsIDEsICdUaGUgdmFsdWUgb2YgcmVzdWx0Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBi
ZSAxJyk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0WzBdLCAzLCAnVGhlIHZhbHVlIG9mIHJl
c3VsdFswXSBpcyBleHBlY3RlZCB0byBiZSAzJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1
LjQuNC4xX0E4LjJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlz
ZS9hbGwvUzI1LjQuNC4xX0E4LjJfVDEuanMKaW5kZXggMWRjZTExZTRiY2U1YzQ3MGViN2M4ZjM1
MTc1NjUwZTQ1YjFjOTIyNi4uM2E5YTczZjc3YmZhYjM4NDdkY2M4M2JjOWNkNTE3N2JjZWI1MzBm
NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxs
L1MyNS40LjQuMV9BOC4yX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTguMl9UMS5qcwpAQCAtMTksOSArMTksNyBAQAogUHJv
bWlzZS5hbGwoW3AxLCBwMl0pLnRoZW4oZnVuY3Rpb24ocmVzb2x2ZSkgewogICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCJEaWQgbm90IGV4cGVjdCBwcm9taXNlIHRvIGJlIGZ1bGZpbGxlZC4iKTsK
IH0sIGZ1bmN0aW9uKHJlamVjdGVkKSB7Ci0gIGlmIChyZWplY3RlZCAhPT0gMSkgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVjdGVkIHByb21pc2UgdG8gYmUgcmVqZWN0ZWQgd2l0
aCAxLCBhY3R1YWxseSAiICsgcmVqZWN0ZWQpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUocmVq
ZWN0ZWQsIDEsICdUaGUgdmFsdWUgb2YgcmVqZWN0ZWQgaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwog
fSkudGhlbigkRE9ORSwgJERPTkUpOwogCiByZWplY3RQMSgxKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFfQTguMl9UMi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9TMjUuNC40LjFf
QTguMl9UMi5qcwppbmRleCA2NTZlNmVhNjAyMTc2Zjg0ZTg1MmU5YzY2YzYzYTNkNDdiMTg1MDZk
Li4wNTkwYjg4MzU1OThjZGViMWY5NWIyOWYxM2Y5YTNkNjlhYzBkNjFiIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvUzI1LjQuNC4xX0E4LjJf
VDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL1My
NS40LjQuMV9BOC4yX1QyLmpzCkBAIC0xOSw5ICsxOSw3IEBACiBQcm9taXNlLmFsbChbcDEsIHAy
XSkudGhlbihmdW5jdGlvbigpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRGlkIG5vdCBl
eHBlY3QgcHJvbWlzZSB0byBiZSBmdWxmaWxsZWQuIik7CiB9LCBmdW5jdGlvbihyZWplY3RlZCkg
ewotICBpZiAocmVqZWN0ZWQgIT09IDIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJF
eHBlY3RlZCBwcm9taXNlIHRvIGJlIHJlamVjdGVkIHdpdGggMiwgYWN0dWFsbHkgIiArIHJlamVj
dGVkKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKHJlamVjdGVkLCAyLCAnVGhlIHZhbHVlIG9m
IHJlamVjdGVkIGlzIGV4cGVjdGVkIHRvIGJlIDInKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsK
IAogcmVqZWN0UDIoMik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUHJvbWlzZS9wcm90b3R5cGUvUzI1LjQuNC4yX0ExLjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvUzI1LjQuNC4yX0ExLjFfVDEuanMK
aW5kZXggNDU2YjY0OWFmNjFjZGEzMDVhNTI3NGJhYmMxMDc1MGUxYTNmOWU4NS4uNjE3NzZlNDRh
YzZiYjljNDQ5MmEwNWU1YTM4ZTM3Y2VhZDNjMDhmZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL1MyNS40LjQuMl9BMS4xX1QxLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9T
MjUuNC40LjJfQTEuMV9UMS5qcwpAQCAtOSw3ICs5LDggQEAKIGF1dGhvcjogU2FtIE1pa2VzCiBk
ZXNjcmlwdGlvbjogUHJvbWlzZSBwcm90b3R5cGUgZXhpc3RzCiAtLS0qLwotCi1pZiAoUHJvbWlz
ZS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJF
eHBlY3RlZCBQcm9taXNlLnByb3RvdHlwZSB0byBiZSBkZWZpbmVkLiIpOwotfQorYXNzZXJ0Lm5v
dFNhbWVWYWx1ZSgKKyAgUHJvbWlzZS5wcm90b3R5cGUsCisgIHVuZGVmaW5lZCwKKyAgJ1RoZSB2
YWx1ZSBvZiBQcm9taXNlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgYGB1bmRl
ZmluZWRgYCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UHJvbWlzZS9wcm90b3R5cGUvUzI1LjQuNV9BMy4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL1MyNS40LjVfQTMuMV9UMS5qcwppbmRleCBj
YTY5ZGFmNTU3YjZjMmZkZmQyZjdlYzIzZTUzZTU5ZTUwOTE2ZTY3Li5iNjE2MDkxNTIxZmU2MzIw
NmRmYzNjYmVjMDdjMDVhZDcwMWM5ZDE4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvUzI1LjQuNV9BMy4xX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9TMjUuNC41X0Ez
LjFfVDEuanMKQEAgLTgsNyArOCw4IEBACiBhdXRob3I6IFNhbSBNaWtlcwogZGVzY3JpcHRpb246
IFByb21pc2UucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBQcm9taXNlIGNvbnN0cnVjdG9y
CiAtLS0qLwotCi1pZiAoUHJvbWlzZS5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IFByb21pc2Up
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgUHJvbWlzZS5wcm90b3R5cGUu
Y29uc3RydWN0b3IgdG8gYmUgUHJvbWlzZSIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUHJv
bWlzZS5wcm90b3R5cGUuY29uc3RydWN0b3IsCisgIFByb21pc2UsCisgICdUaGUgdmFsdWUgb2Yg
UHJvbWlzZS5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIFByb21pc2UnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2NhdGNoL1MyNS40LjUuMV9BMS4xX1QxLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2NhdGNoL1MyNS40
LjUuMV9BMS4xX1QxLmpzCmluZGV4IDg4MjYxNTExNWE2ZTBlY2QxMWI5MWJlN2I0MjQ4MWIxODMz
MjhmZDYuLmU5NjZmODc2YTdkMzQ5OTgxOGM0YTViODBkYTNlODQ4YjhiYWJmZWIgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9jYXRj
aC9TMjUuNC41LjFfQTEuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0Y2gvUzI1LjQuNS4xX0ExLjFfVDEuanMKQEAgLTgsNyAr
OCw3IEBACiBhdXRob3I6IFNhbSBNaWtlcwogZGVzY3JpcHRpb246IFByb21pc2UucHJvdG90eXBl
LmNhdGNoIGlzIGEgZnVuY3Rpb24KIC0tLSovCi0KLWlmICghKFByb21pc2UucHJvdG90eXBlLmNh
dGNoIGluc3RhbmNlb2YgRnVuY3Rpb24pKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4
cGVjdGVkIFByb21pc2UucHJvdG90eXBlLmNhdGNoIHRvIGJlIGEgZnVuY3Rpb24iKTsKLX0KK2Fz
c2VydCgKKyAgISEoUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggaW5zdGFuY2VvZiBGdW5jdGlvbiks
CisgICdUaGUgdmFsdWUgb2YgISEoUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggaW5zdGFuY2VvZiBG
dW5jdGlvbikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0Y2gvUzI1LjQuNS4x
X0EyLjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90
b3R5cGUvY2F0Y2gvUzI1LjQuNS4xX0EyLjFfVDEuanMKaW5kZXggNWJlMjhhYjYyOGMwZmVmYWYz
ODk3YjliYzY2YTI3OGNlMWM0MTVlMS4uM2EzNjk5ZTdlM2M5MjY1MzYxZDkyYzMyMDhlMWUxYzhl
NmM2ZTMxOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcHJvdG90eXBlL2NhdGNoL1MyNS40LjUuMV9BMi4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9jYXRjaC9TMjUuNC41LjFfQTIu
MV9UMS5qcwpAQCAtMTEsNiArMTEsNyBAQAogCiB2YXIgcCA9IFByb21pc2UucmVzb2x2ZSgzKTsK
IAotaWYgKCEocC5jYXRjaCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCJFeHBlY3RlZCBwLmNhdGNoIHRvIGJlIGEgZnVuY3Rpb24iKTsKLX0KK2Fzc2Vy
dCgKKyAgISEocC5jYXRjaCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSwKKyAgJ1RoZSB2YWx1ZSBvZiAh
IShwLmNhdGNoIGluc3RhbmNlb2YgRnVuY3Rpb24pIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJv
dG90eXBlL2NhdGNoL1MyNS40LjUuMV9BMy4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2NhdGNoL1MyNS40LjUuMV9BMy4xX1QxLmpzCmlu
ZGV4IGUwYzM4NjIwMTU0Y2E0NzVjMDY2NTg4MTMyMzYyOTU4ODAzMzBhZWIuLmFhYWEyN2EyNWI5
MTM5NzBjOWI4ZTA1NmVlNzdkM2M0YmQ0NTAzMGIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9jYXRjaC9TMjUuNC41LjFfQTMuMV9U
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5
cGUvY2F0Y2gvUzI1LjQuNS4xX0EzLjFfVDEuanMKQEAgLTEwLDE0ICsxMCwxMiBAQAogZmxhZ3M6
IFthc3luY10KIC0tLSovCiAKLXZhciBvYmogPSB7fTsKK3ZhciBhcmcgPSB7fTsKIAotdmFyIHAg
PSBQcm9taXNlLnJlc29sdmUob2JqKTsKK3ZhciBwID0gUHJvbWlzZS5yZXNvbHZlKGFyZyk7CiAK
IHAuY2F0Y2goZnVuY3Rpb24oKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIlNob3VsZCBu
b3QgYmUgY2FsbGVkIC0gcHJvbWlzZSBpcyBmdWxmaWxsZWQiKTsKLX0pLnRoZW4oZnVuY3Rpb24o
YXJnKSB7Ci0gIGlmIChhcmcgIT09IG9iaikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
IkV4cGVjdGVkIHByb21pc2UgdG8gYmUgZnVsZmlsbGVkIHdpdGggb2JqLCBnb3QgIiArIGFyZyk7
Ci0gIH0KK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVz
dWx0LCBhcmcsICdUaGUgdmFsdWUgb2YgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBhcmcnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9jYXRjaC9TMjUuNC41
LjFfQTMuMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3By
b3RvdHlwZS9jYXRjaC9TMjUuNC41LjFfQTMuMV9UMi5qcwppbmRleCA3YWVjOWU0ZGEzZmMyNGFl
MjMyYjA5ODJmNzYzMmRjYmZkNzkyYWJlLi44OTYyNDExNTM0MDVkYzkyODUxOGQzZDIyZWQxYmNj
ZDZkZDFlZTBmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9wcm90b3R5cGUvY2F0Y2gvUzI1LjQuNS4xX0EzLjFfVDIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2NhdGNoL1MyNS40LjUuMV9B
My4xX1QyLmpzCkBAIC0xMCwxNCArMTAsMTIgQEAKIGZsYWdzOiBbYXN5bmNdCiAtLS0qLwogCi12
YXIgb2JqID0ge307Cit2YXIgYXJnID0ge307CiAKLXZhciBwID0gUHJvbWlzZS5yZWplY3Qob2Jq
KTsKK3ZhciBwID0gUHJvbWlzZS5yZWplY3QoYXJnKTsKIAogcC50aGVuKGZ1bmN0aW9uKCkgewog
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJTaG91bGQgbm90IGJlIGNhbGxlZDogZGlkIG5vdCBl
eHBlY3QgcHJvbWlzZSB0byBiZSBmdWxmaWxsZWQiKTsKLX0pLmNhdGNoKGZ1bmN0aW9uKGFyZykg
ewotICBpZiAoYXJnICE9PSBvYmopIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJTaG91
bGQgaGF2ZSBiZWVuIHJlamVjdGVkIHdpdGggcmVhc29uIG9iaiwgZ290ICIgKyBhcmcpOwotICB9
Cit9KS5jYXRjaChmdW5jdGlvbihyZXN1bHQpIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQs
IGFyZywgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIGFyZycpOwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0Ex
LjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5
cGUvdGhlbi9TMjUuNC41LjNfQTEuMV9UMS5qcwppbmRleCAwZmQ4NTVhZjY1MzYzYzdlNTVjYWM4
MWJmMTUwMGRhNmE5NGRhYTA2Li40OTdjODUwMTE3MDQwNTlmMDQ5YzhlOGEyM2UzZGRlYjYzMWY1
NDQ0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9w
cm90b3R5cGUvdGhlbi9TMjUuNC41LjNfQTEuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvdGhlbi9TMjUuNC41LjNfQTEuMV9UMS5q
cwpAQCAtOCw3ICs4LDcgQEAKIGF1dGhvcjogU2FtIE1pa2VzCiBkZXNjcmlwdGlvbjogUHJvbWlz
ZS5wcm90b3R5cGUudGhlbiBpcyBhIGZ1bmN0aW9uIG9mIHR3byBhcmd1bWVudHMKIC0tLSovCi0K
LWlmICghKFByb21pc2UucHJvdG90eXBlLnRoZW4gaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgUHJvbWlzZS5wcm90b3R5cGUudGhlbiB0
byBiZSBhIGZ1bmN0aW9uIik7Ci19Cithc3NlcnQoCisgICEhKFByb21pc2UucHJvdG90eXBlLnRo
ZW4gaW5zdGFuY2VvZiBGdW5jdGlvbiksCisgICdUaGUgdmFsdWUgb2YgISEoUHJvbWlzZS5wcm90
b3R5cGUudGhlbiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3By
b3RvdHlwZS90aGVuL1MyNS40LjUuM19BMS4xX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0ExLjFfVDIuanMKaW5k
ZXggYTE0MWVkMzFiYWQ1ZDVhZDNkZTJiNDY3NDRjMzQyODhhNjdkNmFmMy4uN2I0ZTMxNzJjYjhk
MGUyNDA3ODc5Y2FmZjlmYTFjMGM1MjRlNmFlMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0ExLjFfVDIu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBl
L3RoZW4vUzI1LjQuNS4zX0ExLjFfVDIuanMKQEAgLTExLDEwICsxMSw1IEBACiAKIHZhciBwID0g
bmV3IFByb21pc2UoZnVuY3Rpb24oKSB7fSk7CiAKLWlmICghKHAudGhlbiBpbnN0YW5jZW9mIEZ1
bmN0aW9uKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJFeHBlY3RlZCBwLnRoZW4gdG8g
YmUgYSBmdW5jdGlvbiIpOwotfQotCi1pZiAocC50aGVuLmxlbmd0aCAhPT0gMikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCJFeHBlY3RlZCBwLnRoZW4gdG8gYmUgYSBmdW5jdGlvbiBvZiB0
d28gYXJndW1lbnRzIik7Ci19Cithc3NlcnQoISEocC50aGVuIGluc3RhbmNlb2YgRnVuY3Rpb24p
LCAnVGhlIHZhbHVlIG9mICEhKHAudGhlbiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHAudGhlbi5sZW5ndGgsIDIsICdUaGUg
dmFsdWUgb2YgcC50aGVuLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAyJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvdGhlbi9T
MjUuNC41LjNfQTQuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUuM19BNC4xX1QxLmpzCmluZGV4IGVhNjliMmQ3MzU1
M2VlOWM3MmYyZDUwNDVkMDQxNGEwYjZlMzNiNDYuLjNiOTYyNWJiNzdlYjM1ZDI2NzcxZjI3ZTky
MmM5OTMxMzZlYTI2ODggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUuM19BNC4xX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUu
M19BNC4xX1QxLmpzCkBAIC0xMSwxMiArMTEsMTAgQEAKIGZsYWdzOiBbYXN5bmNdCiAtLS0qLwog
Ci12YXIgb2JqID0ge307Ci12YXIgcCA9IFByb21pc2UucmVzb2x2ZShvYmopOwordmFyIGFyZyA9
IHt9OwordmFyIHAgPSBQcm9taXNlLnJlc29sdmUoYXJnKTsKIAogcC50aGVuKHVuZGVmaW5lZCwg
dW5kZWZpbmVkKQotICAudGhlbihmdW5jdGlvbihhcmcpIHsKLSAgICBpZiAoYXJnICE9PSBvYmop
IHsKLSAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVjdGVkIHJlc29sdXRpb24gb2Jq
ZWN0IHRvIGJlIHBhc3NlZCB0aHJvdWdoLCBnb3QgIiArIGFyZyk7Ci0gICAgfQotICB9KS50aGVu
KCRET05FLCAkRE9ORSk7CisgIC50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgYXJnLCAnVGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgYXJnJyk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvdGhl
bi9TMjUuNC41LjNfQTQuMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Q
cm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUuM19BNC4xX1QyLmpzCmluZGV4IDk5MDNkNTc5
MjAyMGIzNmY5ODgyZjk0YWFlZWY3YjAzMDQ4NDE0ODMuLjE2MmU1NmE4NGNiYjg1ZjIzNjg4NTI4
Nzc4MzVhZjkyYTRkMjVlNTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUuM19BNC4xX1QyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40
LjUuM19BNC4xX1QyLmpzCkBAIC0xMSwxMyArMTEsMTEgQEAKIGZsYWdzOiBbYXN5bmNdCiAtLS0q
LwogCi12YXIgb2JqID0ge307Ci12YXIgcCA9IFByb21pc2UucmVqZWN0KG9iaik7Cit2YXIgYXJn
ID0ge307Cit2YXIgcCA9IFByb21pc2UucmVqZWN0KGFyZyk7CiAKIHAudGhlbih1bmRlZmluZWQs
IHVuZGVmaW5lZCkudGhlbihmdW5jdGlvbigpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigi
U2hvdWxkIG5vdCBiZSBjYWxsZWQgLS0gcHJvbWlzZSB3YXMgcmVqZWN0ZWQuIik7Ci19LCBmdW5j
dGlvbihhcmcpIHsKLSAgaWYgKGFyZyAhPT0gb2JqKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiRXhwZWN0ZWQgcmVzb2x1dGlvbiBvYmplY3QgdG8gYmUgcGFzc2VkIHRocm91Z2gsIGdv
dCAiICsgYXJnKTsKLSAgfQorfSwgZnVuY3Rpb24ocmVzdWx0KSB7CisgIGFzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCBhcmcsICdUaGUgdmFsdWUgb2YgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBhcmcnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL1My
NS40LjUuM19BNC4yX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E0LjJfVDEuanMKaW5kZXggYzg1NzExOTAyZWVm
YTAxMzM0ODExNjBmYmRiNzhiNGUzMGI1YmU3Mi4uNWQyNGU0MzQ0Mjc2YmEyOWMzYmZlNTY0N2Fm
NTQ5ZmUyYzBlYWM0MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E0LjJfVDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4z
X0E0LjJfVDEuanMKQEAgLTExLDEyICsxMSwxMCBAQAogZmxhZ3M6IFthc3luY10KIC0tLSovCiAK
LXZhciBvYmogPSB7fTsKLXZhciBwID0gUHJvbWlzZS5yZXNvbHZlKG9iaik7Cit2YXIgYXJnID0g
e307Cit2YXIgcCA9IFByb21pc2UucmVzb2x2ZShhcmcpOwogCiBwLnRoZW4oMywgNSkKLSAgLnRo
ZW4oZnVuY3Rpb24oYXJnKSB7Ci0gICAgaWYgKGFyZyAhPT0gb2JqKSB7Ci0gICAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCJFeHBlY3RlZCByZXNvbHV0aW9uIG9iamVjdCB0byBiZSBwYXNzZWQg
dGhyb3VnaCwgZ290ICIgKyBhcmcpOwotICAgIH0KLSAgfSkudGhlbigkRE9ORSwgJERPTkUpOwor
ICAudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIGFy
ZywgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IGFyZycpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E0LjJf
VDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUv
dGhlbi9TMjUuNC41LjNfQTQuMl9UMi5qcwppbmRleCA3NzkyMzI3ZTAzZTIxZTVhM2E3NzM1NWM1
ZTFlM2UwYTQ5NDA3NDBmLi5iNDhhN2U5MTc3NWRkOGQwZmNkNWRmY2UyOWU0ZTZmNTM5OTMzYjI4
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90
b3R5cGUvdGhlbi9TMjUuNC41LjNfQTQuMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvdGhlbi9TMjUuNC41LjNfQTQuMl9UMi5qcwpA
QCAtMTEsMTMgKzExLDExIEBACiBmbGFnczogW2FzeW5jXQogLS0tKi8KIAotdmFyIG9iaiA9IHt9
OwotdmFyIHAgPSBQcm9taXNlLnJlamVjdChvYmopOwordmFyIGFyZyA9IHt9OwordmFyIHAgPSBQ
cm9taXNlLnJlamVjdChhcmcpOwogCiBwLnRoZW4oMywgNSkudGhlbihmdW5jdGlvbigpIHsKICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiU2hvdWxkIG5vdCBiZSBjYWxsZWQgLS0gcHJvbWlzZSB3
YXMgcmVqZWN0ZWQuIik7Ci19LCBmdW5jdGlvbihhcmcpIHsKLSAgaWYgKGFyZyAhPT0gb2JqKSB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgcmVzb2x1dGlvbiBvYmplY3Qg
dG8gYmUgcGFzc2VkIHRocm91Z2gsIGdvdCAiICsgYXJnKTsKLSAgfQorfSwgZnVuY3Rpb24ocmVz
dWx0KSB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCBhcmcsICdUaGUgdmFsdWUgb2YgcmVz
dWx0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBhcmcnKTsKIH0pLnRoZW4oJERP
TkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Q
cm9taXNlL3Byb3RvdHlwZS90aGVuL1MyNS40LjUuM19BNS4zX1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E1LjNf
VDEuanMKaW5kZXggZGEzNjc4ZWQzMGIxOWRhOTAyMWYxOWVkZGMxNzliOGYxMWU4ZGZkNi4uZDA3
ZTA3YTZiYmUxM2Y5MmMzOGRkZjlkODdhN2U4ZTQ1OGZiYzEzMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vUzI1LjQuNS4z
X0E1LjNfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2Uv
cHJvdG90eXBlL3RoZW4vUzI1LjQuNS4zX0E1LjNfVDEuanMKQEAgLTI2LDcgKzI2LDcgQEAKICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiU2hvdWxkIG5vdCBiZSBjYWxsZWQgLS0gUHJvbWlzZSBy
ZWplY3RlZC4iKTsKIH0sIGZ1bmN0aW9uKCkgewogICBzZXF1ZW5jZS5wdXNoKDMpOwotICBhc3Nl
cnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgMyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2Vx
dWVuY2UubGVuZ3RoLCAzLCAnVGhlIHZhbHVlIG9mIHNlcXVlbmNlLmxlbmd0aCBpcyBleHBlY3Rl
ZCB0byBiZSAzJyk7CiAgIGNoZWNrU2VxdWVuY2Uoc2VxdWVuY2UsICJTaG91bGQgYmUgZmlyc3Qi
KTsKIH0pLmNhdGNoKCRET05FKTsKIApAQCAtMzYsMTIgKzM2LDEyIEBACiAgICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiU2hvdWxkIG5vdCBiZSBjYWxsZWQgKDIpIC0tIFByb21pc2UgcmVqZWN0
ZWQuIik7CiAgIH0sIGZ1bmN0aW9uKCkgewogICAgIHNlcXVlbmNlLnB1c2goNSk7Ci0gICAgYXNz
ZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5sZW5ndGgsIDUpOworICAgIGFzc2VydC5zYW1lVmFsdWUo
c2VxdWVuY2UubGVuZ3RoLCA1LCAnVGhlIHZhbHVlIG9mIHNlcXVlbmNlLmxlbmd0aCBpcyBleHBl
Y3RlZCB0byBiZSA1Jyk7CiAgIGNoZWNrU2VxdWVuY2Uoc2VxdWVuY2UsICJTaG91bGQgYmUgdGhp
cmQiKTsKICAgfSkudGhlbigkRE9ORSwgJERPTkUpOwogCiAgIHNlcXVlbmNlLnB1c2goNCk7Ci0g
IGFzc2VydC5zYW1lVmFsdWUoc2VxdWVuY2UubGVuZ3RoLCA0KTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShzZXF1ZW5jZS5sZW5ndGgsIDQsICdUaGUgdmFsdWUgb2Ygc2VxdWVuY2UubGVuZ3RoIGlzIGV4
cGVjdGVkIHRvIGJlIDQnKTsKICAgY2hlY2tTZXF1ZW5jZShzZXF1ZW5jZSwgIlNob3VsZCBiZSBz
ZWNvbmQiKTsKIH0pLmNhdGNoKCRET05FKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTEuMV9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0ExLjFfVDEu
anMKaW5kZXggZGE1MzQzNGIyYmVmNTA1NmY0YjI1Njc2MDA5NTVlYjA5ZTcyNTc2ZS4uYzM4Mzhl
NjhjYWZmZDE2NzhkYzE4YWU0NTVkZGYwODM4NTA1MjlhZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTEuMV9UMS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQu
M19BMS4xX1QxLmpzCkBAIC03LDcgKzcsNCBAQAogYXV0aG9yOiBTYW0gTWlrZXMKIGRlc2NyaXB0
aW9uOiBQcm9taXNlLnJhY2UgaXMgY2FsbGFibGUKIC0tLSovCi0KLWlmICh0eXBlb2YgUHJvbWlz
ZS5yYWNlICE9PSAiZnVuY3Rpb24iKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVj
dGVkIFByb21pc2UucmFjZSB0byBiZSBhIGZ1bmN0aW9uLCBhY3R1YWxseSAiICsgdHlwZW9mIFBy
b21pc2UucmFjZSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBQcm9taXNlLnJhY2UsICJm
dW5jdGlvbiIsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBQcm9taXNlLnJhY2VgIGlzIGV4cGVjdGVk
IHRvIGJlICJmdW5jdGlvbiInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0EyLjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4xX1QxLmpzCmluZGV4
IDFlNmE3MTdkNjIzN2IxODVjYzRjYTZkMjQxNzA1MjcwYzJlYzNmNzMuLjU3MmViY2RhMTdkMTQz
MmJlNjhlMjVhNDY5ZjFhMjczOWQzMzdkZjcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0EyLjFfVDEuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTIuMV9U
MS5qcwpAQCAtMTAsNiArMTAsNCBAQAogCiB2YXIgcCA9IFByb21pc2UucmFjZShbXSk7CiAKLWlm
ICghKHAgaW5zdGFuY2VvZiBQcm9taXNlKSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJF
eHBlY3RlZCBQcm9taXNlLnJhY2UoW10pIHRvIHJldHVybiBhIHByb21pc2UuIik7Ci19Cithc3Nl
cnQoISEocCBpbnN0YW5jZW9mIFByb21pc2UpLCAnVGhlIHZhbHVlIG9mICEhKHAgaW5zdGFuY2Vv
ZiBQcm9taXNlKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4yX1QxLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNf
QTIuMl9UMS5qcwppbmRleCBmY2NhNDM0NDFiZjJjOGRlNmFjZmEzNGRjOGJiZDgxYjE2MjgxZjJm
Li5hYzMxYjgxZmFiMDAzMGNhZmY4MGU0Y2Y0ZjY2NjcwZDAwYzJlNGU1IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4y
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2Uv
UzI1LjQuNC4zX0EyLjJfVDEuanMKQEAgLTE0LDcgKzE0LDUgQEAKIFByb21pc2UucmFjZShub25J
dGVyYWJsZSkudGhlbihmdW5jdGlvbigpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignUHJv
bWlzZSB1bmV4cGVjdGVkbHkgZnVsZmlsbGVkOiBQcm9taXNlLnJhY2Uobm9uSXRlcmFibGUpIHNo
b3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0sIGZ1bmN0aW9uKGVycikgewotICBpZiAoIShlcnIg
aW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignRXhw
ZWN0ZWQgVHlwZUVycm9yLCBnb3QgJyArIGVycik7Ci0gIH0KKyAgYXNzZXJ0KCEhKGVyciBpbnN0
YW5jZW9mIFR5cGVFcnJvciksICdUaGUgdmFsdWUgb2YgISEoZXJyIGluc3RhbmNlb2YgVHlwZUVy
cm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1My
NS40LjQuM19BMi4yX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmFjZS9TMjUuNC40LjNfQTIuMl9UMi5qcwppbmRleCA3Yjc1ZGMwYTg1ZDc2YTgxYzYzMzk1
ZTU2NTcwN2UwNTIxNzA1ZTZkLi45NmMxMWY4OTMyZTc4OGYxMDViZmQ3YjAwNmI2NDNhYTRkZGU4
OWZlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9y
YWNlL1MyNS40LjQuM19BMi4yX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0EyLjJfVDIuanMKQEAgLTEyLDcgKzEyLDUgQEAK
IFByb21pc2UucmFjZShuZXcgRXJyb3IoImFicnVwdCIpKS50aGVuKGZ1bmN0aW9uKCkgewogICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdQcm9taXNlIHVuZXhwZWN0ZWRseSByZXNvbHZlZDogUHJv
bWlzZS5yYWNlKGFicnVwdENvbXBsZXRpb24pIHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0s
IGZ1bmN0aW9uKGVycikgewotICBpZiAoIShlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignRXhwZWN0ZWQgVHlwZUVycm9yLCBnb3QgJyArIGVy
cik7Ci0gIH0KKyAgYXNzZXJ0KCEhKGVyciBpbnN0YW5jZW9mIFR5cGVFcnJvciksICdUaGUgdmFs
dWUgb2YgISEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVl
Jyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4yX1QzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTIuMl9UMy5q
cwppbmRleCAyNGFmOGViYTY1OTEzZWEwNjBhZjNlNzQwYzg0YjYwMjA1ODAyZDMzLi40ZDNjMzFh
Y2UxMzg0MzJmMDFmYzkzNWQ4OTcyNzY1MWM3YjFlZjY1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BMi4yX1QzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4z
X0EyLjJfVDMuanMKQEAgLTIzLDcgKzIzLDUgQEAKIFByb21pc2UucmFjZShpdGVyVGhyb3dzKS50
aGVuKGZ1bmN0aW9uKCkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdQcm9taXNlIHVuZXhw
ZWN0ZWRseSBmdWxmaWxsZWQ6IFByb21pc2UucmFjZShpdGVyVGhyb3dzKSBzaG91bGQgdGhyb3cn
KTsKIH0sIGZ1bmN0aW9uKGVycikgewotICBpZiAoIShlcnIgaW5zdGFuY2VvZiBFcnJvcikpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdFeHBlY3RlZCBQcm9taXNlIHRvIGJlIHJlamVj
dGVkIHdpdGggYW4gZXJyb3IsIGdvdCAnICsgZXJyKTsKLSAgfQorICBhc3NlcnQoISEoZXJyIGlu
c3RhbmNlb2YgRXJyb3IpLCAnVGhlIHZhbHVlIG9mICEhKGVyciBpbnN0YW5jZW9mIEVycm9yKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQu
M19BNC4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFj
ZS9TMjUuNC40LjNfQTQuMV9UMS5qcwppbmRleCBiYmYxMjRjNTEyNWFjN2EyZjlhYjA0YjZiYmE1
NzdlYTU1NWJiOGQyLi4zODhjNGY3NmE2NTE2ZGNhMTEyMGI2NDQ0Yjc0MjI1NTMyMTQwYTc4IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1My
NS40LjQuM19BNC4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Q
cm9taXNlL3JhY2UvUzI1LjQuNC4zX0E0LjFfVDEuanMKQEAgLTIyLDUgKzIyLDUgQEAKIFByb21p
c2UucmFjZShpdGVyVGhyb3dzKS50aGVuKGZ1bmN0aW9uKCkgewogICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCdQcm9taXNlIHVuZXhwZWN0ZWRseSBmdWxmaWxsZWQ6IFByb21pc2UucmFjZShpdGVy
VGhyb3dzKSBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7CiB9LCBmdW5jdGlvbihyZWFzb24pIHsK
LSAgYXNzZXJ0LnNhbWVWYWx1ZShyZWFzb24sIGVycm9yKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZWFzb24sIGVycm9yLCAnVGhlIHZhbHVlIG9mIHJlYXNvbiBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgZXJyb3InKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E0
LjFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1My
NS40LjQuM19BNC4xX1QyLmpzCmluZGV4IDMxZjczMmNlNDU0NDRjMzkyMTUxYjhmNTEwYzkwNTYx
NmMyMzA5NWEuLjU5ZDE2ZjZkNTgxMmRiYmFjNTYyMGI2YWJmZDYzYTQ2MGVlMWY1YTAgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQu
NC4zX0E0LjFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmFjZS9TMjUuNC40LjNfQTQuMV9UMi5qcwpAQCAtMjksNyArMjksNSBAQAogUHJvbWlzZS5y
YWNlKGl0ZXJUaHJvd3MpLnRoZW4oZnVuY3Rpb24oKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJ1Byb21pc2UgdW5leHBlY3RlZGx5IGZ1bGZpbGxlZDogUHJvbWlzZS5yYWNlKGl0ZXJUaHJv
d3MpIHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKIH0sIGZ1bmN0aW9uKGVycikgewotICBpZiAo
IShlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignRXhwZWN0ZWQgVHlwZUVycm9yLCBnb3QgJyArIGVycik7Ci0gIH0KKyAgYXNzZXJ0KCEhKGVy
ciBpbnN0YW5jZW9mIFR5cGVFcnJvciksICdUaGUgdmFsdWUgb2YgISEoZXJyIGluc3RhbmNlb2Yg
VHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CiB9KS50aGVuKCRET05FLCAkRE9O
RSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9y
YWNlL1MyNS40LjQuM19BNi4yX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTYuMl9UMS5qcwppbmRleCA5MTRmNzY3ZTI1NTQ4ODhi
NmM2MzAzOTg5OGJjNzJiNWExYTA0ZWZjLi4zMzdkYzMzNzYyZjU4N2M4Y2VjNmQ4ZGMwZmYyMjY2
YmE3NWVjN2EzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9yYWNlL1MyNS40LjQuM19BNi4yX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E2LjJfVDEuanMKQEAgLTIwLDE3ICsy
MCwxNyBAQAogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJTaG91bGQgbm90IGZ1bGZpbGwuIik7
CiB9LCBmdW5jdGlvbigpIHsKICAgc2VxdWVuY2UucHVzaCg0KTsKLSAgYXNzZXJ0LnNhbWVWYWx1
ZShzZXF1ZW5jZS5sZW5ndGgsIDQpOworICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0
aCwgNCwgJ1RoZSB2YWx1ZSBvZiBzZXF1ZW5jZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgNCcp
OwogY2hlY2tTZXF1ZW5jZShzZXF1ZW5jZSwgIlRoaXMgaGFwcGVucyBzZWNvbmQiKTsKIH0pLmNh
dGNoKCRET05FKTsKIAogUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpIHsKICAgc2Vx
dWVuY2UucHVzaCgzKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5sZW5ndGgsIDMpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgMywgJ1RoZSB2YWx1ZSBvZiBzZXF1
ZW5jZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMycpOwogICBjaGVja1NlcXVlbmNlKHNlcXVl
bmNlLCAiVGhpcyBoYXBwZW5zIGZpcnN0Iik7CiB9KS50aGVuKGZ1bmN0aW9uKCkgewogICBzZXF1
ZW5jZS5wdXNoKDUpOwotICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgNSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoc2VxdWVuY2UubGVuZ3RoLCA1LCAnVGhlIHZhbHVlIG9mIHNlcXVl
bmNlLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSA1Jyk7CiAgIGNoZWNrU2VxdWVuY2Uoc2VxdWVu
Y2UsICJUaGlzIGhhcHBlbnMgdGhpcmQiKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKIApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUu
NC40LjNfQTcuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNl
L3JhY2UvUzI1LjQuNC4zX0E3LjFfVDEuanMKaW5kZXggYzI1MGZjYWQ3Y2RiYjJiYTBkMjNhNDdi
ZmIwN2Y1Nzk0N2JiMzQ5Ni4uYWU0ODljZDQ0M2RlZWJiNTY4ZmQzZGNlNTVmZGI0MWQ4ZjQwMGZl
ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFj
ZS9TMjUuNC40LjNfQTcuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4xX1QxLmpzCkBAIC0xNywyMyArMTcsMjEgQEAK
IAogc2VxdWVuY2UucHVzaCgxKTsKIAotcC50aGVuKGZ1bmN0aW9uKGFyZykgewotICBpZiAoYXJn
ICE9PSAxKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgcHJvbWlzZSB0
byBiZSBmdWxmaWxsZWQgd2l0aCAxLCBnb3QgIiArIGFyZyk7Ci0gIH0KK3AudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdUaGUgdmFsdWUgb2Yg
cmVzdWx0IGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKIAogICBzZXF1ZW5jZS5wdXNoKDQpOwotICBh
c3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgNCk7CisgIGFzc2VydC5zYW1lVmFsdWUo
c2VxdWVuY2UubGVuZ3RoLCA0LCAnVGhlIHZhbHVlIG9mIHNlcXVlbmNlLmxlbmd0aCBpcyBleHBl
Y3RlZCB0byBiZSA0Jyk7CiAgIGNoZWNrU2VxdWVuY2Uoc2VxdWVuY2UsICJUaGlzIGhhcHBlbnMg
c2Vjb25kIik7CiB9KS5jYXRjaCgkRE9ORSk7CiAKIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVu
Y3Rpb24oKSB7CiAgIHNlcXVlbmNlLnB1c2goMyk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2VxdWVu
Y2UubGVuZ3RoLCAzKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5sZW5ndGgsIDMsICdU
aGUgdmFsdWUgb2Ygc2VxdWVuY2UubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDMnKTsKICAgY2hl
Y2tTZXF1ZW5jZShzZXF1ZW5jZSwgIlRoaXMgaGFwcGVucyBmaXJzdCIpOwogfSkudGhlbihmdW5j
dGlvbigpIHsKICAgc2VxdWVuY2UucHVzaCg1KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5j
ZS5sZW5ndGgsIDUpOworICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgNSwgJ1Ro
ZSB2YWx1ZSBvZiBzZXF1ZW5jZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgNScpOwogICBjaGVj
a1NlcXVlbmNlKHNlcXVlbmNlLCAiVGhpcyBoYXBwZW5zIHRoaXJkIik7CiB9KS50aGVuKCRET05F
LCAkRE9ORSk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Q
cm9taXNlL3JhY2UvUzI1LjQuNC4zX0E3LjFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4xX1QyLmpzCmluZGV4IGRmN2ViZjQ0
YjhiNWI2NjE2ZjUxN2E2MzNhODZjOTNmZGVlYTY0NDYuLjQ2NzAwOTRkNzJjMjNmNDJmNDU4NGNm
NTU3ZmU3YzQ0NDExYmM3OTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E3LjFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTcuMV9UMi5qcwpAQCAt
MTcsMjMgKzE3LDIxIEBACiAKIHNlcXVlbmNlLnB1c2goMSk7CiAKLXAudGhlbihmdW5jdGlvbihh
cmcpIHsKLSAgaWYgKGFyZyAhPT0gMSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4
cGVjdGVkIHByb21pc2UgdG8gYmUgZnVsZmlsbGVkIHdpdGggMSwgZ290ICIgKyBhcmcpOwotICB9
CitwLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAx
LCAnVGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSAxJyk7CiAKICAgc2VxdWVu
Y2UucHVzaCg0KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5sZW5ndGgsIDQpOworICBh
c3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgNCwgJ1RoZSB2YWx1ZSBvZiBzZXF1ZW5j
ZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgNCcpOwogICBjaGVja1NlcXVlbmNlKHNlcXVlbmNl
LCAiVGhpcyBoYXBwZW5zIHNlY29uZCIpOwogfSkuY2F0Y2goJERPTkUpOwogCiBQcm9taXNlLnJl
c29sdmUoKS50aGVuKGZ1bmN0aW9uKCkgewogICBzZXF1ZW5jZS5wdXNoKDMpOwotICBhc3NlcnQu
c2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgMyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2VxdWVu
Y2UubGVuZ3RoLCAzLCAnVGhlIHZhbHVlIG9mIHNlcXVlbmNlLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBiZSAzJyk7CiAgIGNoZWNrU2VxdWVuY2Uoc2VxdWVuY2UsICJUaGlzIGhhcHBlbnMgZmlyc3Qi
KTsKIH0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgIHNlcXVlbmNlLnB1c2goNSk7Ci0gIGFzc2VydC5z
YW1lVmFsdWUoc2VxdWVuY2UubGVuZ3RoLCA1KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5j
ZS5sZW5ndGgsIDUsICdUaGUgdmFsdWUgb2Ygc2VxdWVuY2UubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGJlIDUnKTsKICAgY2hlY2tTZXF1ZW5jZShzZXF1ZW5jZSwgIlRoaXMgaGFwcGVucyB0aGlyZCIp
OwogfSkudGhlbigkRE9ORSwgJERPTkUpOwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4xX1QzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTcuMV9UMy5q
cwppbmRleCBjOWZlMGVmMzQwMmJhM2QzNTVhN2Q4ZGYxY2M0NTMyMjZlMjJlNTdlLi5mNzE2MjY1
ZjFlNDViMTUyZWUxY2NlYTcyN2EzMWZhYzcwNjlmOTU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4xX1QzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4z
X0E3LjFfVDMuanMKQEAgLTE3LDIzICsxNywyMSBAQAogCiBzZXF1ZW5jZS5wdXNoKDEpOwogCi1w
LnRoZW4oZnVuY3Rpb24oYXJnKSB7Ci0gIGlmIChhcmcgIT09IDIpIHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCJFeHBlY3RlZCBwcm9taXNlIHRvIGJlIGZ1bGZpbGxlZCB3aXRoIDIsIGdv
dCAiICsgYXJnKTsKLSAgfQorcC50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMiwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUg
MicpOwogCiAgIHNlcXVlbmNlLnB1c2goNCk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2VxdWVuY2Uu
bGVuZ3RoLCA0KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5sZW5ndGgsIDQsICdUaGUg
dmFsdWUgb2Ygc2VxdWVuY2UubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDQnKTsKICAgY2hlY2tT
ZXF1ZW5jZShzZXF1ZW5jZSwgIlRoaXMgaGFwcGVucyBzZWNvbmQiKTsKIH0pLmNhdGNoKCRET05F
KTsKIAogUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpIHsKICAgc2VxdWVuY2UucHVz
aCgzKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5sZW5ndGgsIDMpOworICBhc3NlcnQu
c2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgMywgJ1RoZSB2YWx1ZSBvZiBzZXF1ZW5jZS5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gYmUgMycpOwogICBjaGVja1NlcXVlbmNlKHNlcXVlbmNlLCAiVGhp
cyBoYXBwZW5zIGZpcnN0Iik7CiB9KS50aGVuKGZ1bmN0aW9uKCkgewogICBzZXF1ZW5jZS5wdXNo
KDUpOwotICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgNSk7CisgIGFzc2VydC5z
YW1lVmFsdWUoc2VxdWVuY2UubGVuZ3RoLCA1LCAnVGhlIHZhbHVlIG9mIHNlcXVlbmNlLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBiZSA1Jyk7CiAgIGNoZWNrU2VxdWVuY2Uoc2VxdWVuY2UsICJUaGlz
IGhhcHBlbnMgdGhpcmQiKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKIApkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTcu
Ml9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JhY2UvUzI1
LjQuNC4zX0E3LjJfVDEuanMKaW5kZXggOGY5OTI1MWNkOTZiYWVhNzYwZWYzODA4MWRiMWVhYWMx
ZGQ1MDliYi4uMDEzYWU3MzFiNzQzMzY5MTZhMzgzYjM5OTc2NDEyMzQ1YmFiZDVmZiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9TMjUuNC40
LjNfQTcuMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlz
ZS9yYWNlL1MyNS40LjQuM19BNy4yX1QxLmpzCkBAIC0xOSwyMyArMTksMjEgQEAKIAogcC50aGVu
KGZ1bmN0aW9uKCkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJTaG91bGQgbm90IGJlIGZ1
bGZpbGxlZCAtIGV4cGVjdGVkIHJlamVjdGlvbi4iKTsKLX0sIGZ1bmN0aW9uKGFyZykgewotICBp
ZiAoYXJnICE9PSAxKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgcmVq
ZWN0aW9uIHJlYXNvbiB0byBiZSAxLCBnb3QgIiArIGFyZyk7Ci0gIH0KK30sIGZ1bmN0aW9uKHJl
c3VsdCkgeworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ1RoZSB2YWx1ZSBvZiByZXN1
bHQgaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwogCiAgIHNlcXVlbmNlLnB1c2goNCk7Ci0gIGFzc2Vy
dC5zYW1lVmFsdWUoc2VxdWVuY2UubGVuZ3RoLCA0KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1
ZW5jZS5sZW5ndGgsIDQsICdUaGUgdmFsdWUgb2Ygc2VxdWVuY2UubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGJlIDQnKTsKICAgY2hlY2tTZXF1ZW5jZShzZXF1ZW5jZSwgIlRoaXMgaGFwcGVucyBzZWNv
bmQiKTsKIH0pLmNhdGNoKCRET05FKTsKIAogUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlv
bigpIHsKICAgc2VxdWVuY2UucHVzaCgzKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzZXF1ZW5jZS5s
ZW5ndGgsIDMpOworICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxlbmd0aCwgMywgJ1RoZSB2
YWx1ZSBvZiBzZXF1ZW5jZS5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMycpOwogICBjaGVja1Nl
cXVlbmNlKHNlcXVlbmNlLCAiVGhpcyBoYXBwZW5zIGZpcnN0Iik7CiB9KS50aGVuKGZ1bmN0aW9u
KCkgewogICBzZXF1ZW5jZS5wdXNoKDUpOwotICBhc3NlcnQuc2FtZVZhbHVlKHNlcXVlbmNlLmxl
bmd0aCwgNSk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2VxdWVuY2UubGVuZ3RoLCA1LCAnVGhlIHZh
bHVlIG9mIHNlcXVlbmNlLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSA1Jyk7CiAgIGNoZWNrU2Vx
dWVuY2Uoc2VxdWVuY2UsICJUaGlzIGhhcHBlbnMgdGhpcmQiKTsKIH0pLnRoZW4oJERPTkUsICRE
T05FKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmFjZS9TMjUuNC40LjNfQTcuM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E3LjNfVDEuanMKaW5kZXggNDg0MDg4Mjg5MjI4
MTA4NGZhYmY3ZmRjMDIyMzI1N2FmOTNlZTc5Yi4uNGY1OTA5MWRhMmMxMGVmYzFkZTFlOWRjNDcx
NDU0NmM0NDg3ZWI3MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvcmFjZS9TMjUuNC40LjNfQTcuM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1MyNS40LjQuM19BNy4zX1QxLmpzCkBAIC0xOSw4
ICsxOSw2IEBACiByZWplY3RQMihuZXcgRXJyb3IoIlByb21pc2UucmFjZSBzaG91bGQgbm90IHNl
ZSB0aGlzIGlmIFAxIGFscmVhZHkgcmVzb2x2ZWQiKSk7CiByZXNvbHZlUDEoMSk7CiAKLVByb21p
c2UucmFjZShbcDEsIHAyXSkudGhlbihmdW5jdGlvbihhcmcpIHsKLSAgaWYgKGFyZyAhPT0gMSkg
ewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVjdGVkIGZ1bGZpbGxtZW50IHdpdGgg
MSwgZ290ICIgKyBhcmcpOwotICB9CitQcm9taXNlLnJhY2UoW3AxLCBwMl0pLnRoZW4oZnVuY3Rp
b24ocmVzdWx0KSB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnVGhlIHZhbHVlIG9m
IHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSAxJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yYWNlL1My
NS40LjQuM19BNy4zX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmFjZS9TMjUuNC40LjNfQTcuM19UMi5qcwppbmRleCA3OGNhMGNhZTc1NzFlZDkyZWYyMjc3
ZTkxOTkxNDFmYjZlMmViMWJhLi4xYzM0MDk2NmQyZTFhZjQzM2QzZTAyNDgwMmQxYjJjYmZjMDQy
MzBlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9y
YWNlL1MyNS40LjQuM19BNy4zX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3JhY2UvUzI1LjQuNC4zX0E3LjNfVDIuanMKQEAgLTE4LDEwICsxOCw4IEBA
CiAKIFByb21pc2UucmFjZShbcDEsIHAyXSkudGhlbihmdW5jdGlvbigpIHsKICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiU2hvdWxkIG5vdCBiZSBmdWxmaWxsZWQ6IGV4cGVjdGVkIHJlamVjdGlv
bi4iKTsKLX0sIGZ1bmN0aW9uKGFyZykgewotICBpZiAoYXJnICE9PSAyKSB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgcmVqZWN0aW9uIHJlYXNvbiB0byBiZSAyLCBnb3Qg
IiArIGFyZyk7Ci0gIH0KK30sIGZ1bmN0aW9uKHJlc3VsdCkgeworICBhc3NlcnQuc2FtZVZhbHVl
KHJlc3VsdCwgMiwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgMicpOwog
fSkudGhlbigkRE9ORSwgJERPTkUpOwogCiByZWplY3RQMigyKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JlamVjdC9TMjUuNC40LjRfQTEuMV9U
MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JlamVjdC9TMjUu
NC40LjRfQTEuMV9UMS5qcwppbmRleCBkYjY5MGVkNDhlNTdjMWYwODBhYzMzNjEzNmI1YTRhNTBm
M2JlMjdlLi42NjQ5YTZkYjg3ZWI0MGU2YmMzNjdjZDU1ZjY3YjY0MjZmMDgzMDU0IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yZWplY3QvUzI1LjQu
NC40X0ExLjFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21p
c2UvcmVqZWN0L1MyNS40LjQuNF9BMS4xX1QxLmpzCkBAIC04LDcgKzgsOCBAQAogYXV0aG9yOiBT
YW0gTWlrZXMKIGRlc2NyaXB0aW9uOiBQcm9taXNlLnJlamVjdCBpcyBhIGZ1bmN0aW9uCiAtLS0q
LwotCi1pZiAoKHR5cGVvZiBQcm9taXNlLnJlamVjdCkgIT09ICJmdW5jdGlvbiIpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgUHJvbWlzZS5yZWplY3QgdG8gYmUgYSBmdW5j
dGlvbiIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFByb21pc2UucmVqZWN0LAor
ICAiZnVuY3Rpb24iLAorICAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgUHJvbWlzZS5yZWplY3RgIGlz
IGV4cGVjdGVkIHRvIGJlICJmdW5jdGlvbiInCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmVqZWN0L1MyNS40LjQuNF9BMi4xX1QxLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmVqZWN0L1MyNS40LjQuNF9B
Mi4xX1QxLmpzCmluZGV4IGM2YjY0MjJhYWUxN2UyZTE0NmY0MjZkNTE4YzYyYWUwZDhjNTZjMjgu
LjZkNDMxZDNmNzc5M2M5NmY2ZGE5MjVmOTllOTQ0MzE5MmM5NDUxYmEgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3JlamVjdC9TMjUuNC40LjRfQTIu
MV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yZWpl
Y3QvUzI1LjQuNC40X0EyLjFfVDEuanMKQEAgLTE4LDE0ICsxOCwxMCBAQAogCiB2YXIgcCA9IFBy
b21pc2UucmVqZWN0KDMpOwogCi1pZiAoIShwIGluc3RhbmNlb2YgUHJvbWlzZSkpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgUHJvbWlzZS5yZWplY3QgdG8gcmV0dXJuIGEg
cHJvbWlzZS4iKTsKLX0KK2Fzc2VydCghIShwIGluc3RhbmNlb2YgUHJvbWlzZSksICdUaGUgdmFs
dWUgb2YgISEocCBpbnN0YW5jZW9mIFByb21pc2UpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsK
IAogcC50aGVuKGZ1bmN0aW9uKCkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJQcm9taXNl
IHNob3VsZCBub3QgYmUgZnVsZmlsbGVkLiIpOwotfSwgZnVuY3Rpb24oYXJnKSB7Ci0gIGlmIChh
cmcgIT09IDMpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJFeHBlY3RlZCBwcm9taXNl
IHRvIGJlIHJlamVjdGVkIHdpdGggc3VwcGxpZWQgYXJnLCBnb3QgIiArIGFyZyk7Ci0gIH0KK30s
IGZ1bmN0aW9uKHJlc3VsdCkgeworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMywgJ1RoZSB2
YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgMycpOwogfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2Uv
cmVzb2x2ZS9TMjUuNC40LjVfQTEuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3Jlc29sdmUvUzI1LjQuNC41X0ExLjFfVDEuanMKaW5kZXggMjFjM2NjYTA2
OGY0YWVhYjE4NjU0NjBjZTY0ODlmMjNhMDg5NDMxNi4uMjNjNDJiN2EyMTRjOWI5MmU0YzU3MDY1
MDk5YjBiOGM2NTM4YzkxMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1Byb21pc2UvcmVzb2x2ZS9TMjUuNC40LjVfQTEuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BMS4xX1QxLmpz
CkBAIC04LDcgKzgsOCBAQAogYXV0aG9yOiBTYW0gTWlrZXMKIGRlc2NyaXB0aW9uOiBQcm9taXNl
LnJlc29sdmUgaXMgYSBmdW5jdGlvbgogLS0tKi8KLQotaWYgKCh0eXBlb2YgUHJvbWlzZS5yZXNv
bHZlKSAhPT0gImZ1bmN0aW9uIikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJFeHBlY3Rl
ZCBQcm9taXNlLnJlc29sdmUgdG8gYmUgYSBmdW5jdGlvbiIpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIFByb21pc2UucmVzb2x2ZSwKKyAgImZ1bmN0aW9uIiwKKyAgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIFByb21pc2UucmVzb2x2ZWAgaXMgZXhwZWN0ZWQgdG8gYmUgImZ1bmN0aW9u
IicKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlz
ZS9yZXNvbHZlL1MyNS40LjQuNV9BMi4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1Byb21pc2UvcmVzb2x2ZS9TMjUuNC40LjVfQTIuMV9UMS5qcwppbmRleCAyOWRmNmE3
ZjgwMzVlYWE5ODJiMDU0Y2Y2MWUwMDQ5MWQ1MmIxNWRlLi45MGU1ZTQ1MzI4M2UxYjZlYWJhZDVl
ODcyNDZkZGE5MGY3Nzg0NDlkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUHJvbWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BMi4xX1QxLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Jlc29sdmUvUzI1LjQuNC41X0EyLjFfVDEu
anMKQEAgLTEwLDYgKzEwLDQgQEAKIHZhciBwMSA9IFByb21pc2UucmVzb2x2ZSgxKSwKICAgcDIg
PSBQcm9taXNlLnJlc29sdmUocDEpOwogCi1pZiAocDEgIT09IHAyKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIkV4cGVjdGVkIHAxID09PSBQcm9taXNlLnJlc29sdmUocDEpIGJlY2F1c2Ug
dGhleSBoYXZlIHNhbWUgY29uc3RydWN0b3IiKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUocDEsIHAy
LCAnVGhlIHZhbHVlIG9mIHAxIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBwMicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmVz
b2x2ZS9TMjUuNC40LjVfQTIuMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL3Jlc29sdmUvUzI1LjQuNC41X0EyLjJfVDEuanMKaW5kZXggN2Q0MjY0ZTZkMjAy
ZjViZTkzN2MzNzljMTA1ZTAyNGI2ZDE4NmI4YS4uNGJlODg1NTQ4NmYyMjk2MzJjYmU1OWY5MDkw
MDVlZWRjYjQ2MDc2MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvcmVzb2x2ZS9TMjUuNC40LjVfQTIuMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BMi4yX1QxLmpzCkBA
IC0xMywxNiArMTMsMTIgQEAKICAgICByZXNvbHZlUDEgPSByZXNvbHZlOwogICB9KSwKICAgcDIg
PSBQcm9taXNlLnJlc29sdmUocDEpLAotICBvYmogPSB7fTsKKyAgYXJnID0ge307CiAKLWlmIChw
MSAhPT0gcDIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQgcDEgPT09IFBy
b21pc2UucmVzb2x2ZShwMSkgYmVjYXVzZSB0aGV5IGhhdmUgc2FtZSBjb25zdHJ1Y3RvciIpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZShwMSwgcDIsICdUaGUgdmFsdWUgb2YgcDEgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIHAyJyk7CiAKLXAyLnRoZW4oZnVuY3Rpb24oYXJnKSB7Ci0g
IGlmIChhcmcgIT09IG9iaikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVjdGVk
IHByb21pc2UgdG8gYmUgcmVzb2x2ZWQgd2l0aCBvYmosIGFjdHVhbGx5ICIgKyBhcmcpOwotICB9
CitwMi50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwg
YXJnLCAnVGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgYXJnJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CiAKLXJlc29sdmVQMShvYmopOworcmVz
b2x2ZVAxKGFyZyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UHJvbWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BMi4zX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1Byb21pc2UvcmVzb2x2ZS9TMjUuNC40LjVfQTIuM19UMS5qcwppbmRleCAw
NWQxMzBlMTcxMDBlNzgxZmY3ZmMyOTBmN2Q4ZDM4MzgxZjYwZGMwLi4wZjU4NTk5NzA4Y2I1MTc0
YThjNjUzZjJlM2U4YzdlODgyMGQ0ZGFmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUHJvbWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BMi4zX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Jlc29sdmUvUzI1LjQuNC41X0Ey
LjNfVDEuanMKQEAgLTEzLDE4ICsxMywxNCBAQAogICAgIHJlamVjdFAxID0gcmVqZWN0OwogICB9
KSwKICAgcDIgPSBQcm9taXNlLnJlc29sdmUocDEpLAotICBvYmogPSB7fTsKKyAgYXJnID0ge307
CiAKLWlmIChwMSAhPT0gcDIpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiRXhwZWN0ZWQg
cDEgPT09IFByb21pc2UucmVzb2x2ZShwMSkgYmVjYXVzZSB0aGV5IGhhdmUgc2FtZSBjb25zdHJ1
Y3RvciIpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShwMSwgcDIsICdUaGUgdmFsdWUgb2YgcDEgaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIHAyJyk7CiAKIHAyLnRoZW4oZnVuY3Rpb24o
KSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVjdGVkIHAyIHRvIGJlIHJlamVjdGVk
LCBub3QgZnVsZmlsbGVkLiIpOwotfSwgZnVuY3Rpb24oYXJnKSB7Ci0gIGlmIChhcmcgIT09IG9i
aikgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIkV4cGVjdGVkIHByb21pc2UgdG8gYmUg
cmVqZWN0ZWQgd2l0aCByZWFzb24gb2JqLCBhY3R1YWxseSAiICsgYXJnKTsKLSAgfQorfSwgZnVu
Y3Rpb24ocmVzdWx0KSB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCBhcmcsICdUaGUgdmFs
dWUgb2YgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBhcmcnKTsKIH0p
LnRoZW4oJERPTkUsICRET05FKTsKIAotcmVqZWN0UDEob2JqKTsKK3JlamVjdFAxKGFyZyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yZXNvbHZl
L1MyNS40LjQuNV9BNC4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1By
b21pc2UvcmVzb2x2ZS9TMjUuNC40LjVfQTQuMV9UMS5qcwppbmRleCBhNjQyOGJiMDU3ZDJjMzVi
ZDE5Y2Y4NWMxOTNlODMxNTRhNWM0MDY1Li5jMTA3OTEwMzM1MWY1NzVlMjExM2RmZTQzNGYwNTIw
NzViNjRmN2ViIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9yZXNvbHZlL1MyNS40LjQuNV9BNC4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Jlc29sdmUvUzI1LjQuNC41X0E0LjFfVDEuanMKQEAgLTIw
LDcgKzIwLDUgQEAKIHAudGhlbihmdW5jdGlvbigpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigiU2hvdWxkIG5vdCBmdWxmaWxsOiBzaG91bGQgcmVqZWN0IHdpdGggVHlwZUVycm9yLiIpOwog
fSwgZnVuY3Rpb24oZXJyKSB7Ci0gIGlmICghKGVyciBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJFeHBlY3RlZCBUeXBlRXJyb3IsIGdvdCAiICsg
ZXJyKTsKLSAgfQorICBhc3NlcnQoISEoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yKSwgJ1RoZSB2
YWx1ZSBvZiAhIShlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRy
dWUnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvdGNvLWZuLXJlYWxtLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS90Y28tZm4tcmVhbG0uanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDkzZmNhNjNjNjk1NDYyNjMxNTkyYzJkYWNkM2MzNTkwM2JmOGVlMAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9yZXZv
Y2FibGUvdGNvLWZuLXJlYWxtLmpzCkBAIC0wLDAgKzEsMjMgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2Rlc2NyaXB0aW9uOiA+CisgIFJlYWxtIG9mIHRoZSBUeXBlRXJyb3Ig
ZnJvbSBpbnZva2luZyBhIHJldm9rZWQgUHJveHkgZHVyaW5nIHRhaWwtY2FsbAorICBvcHRpbWl6
YXRpb24KK2VzaWQ6IHNlYy10YWlsLXBvc2l0aW9uLWNhbGxzCitmbGFnczogW29ubHlTdHJpY3Rd
CitmZWF0dXJlczogW1Byb3h5LCB0YWlsLWNhbGwtb3B0aW1pemF0aW9uXQorLS0tKi8KKwordmFy
IG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpOwordmFyIEYgPSBvdGhlci5ldmFsU2NyaXB0KGAK
KyAgKGZ1bmN0aW9uKCkgeworICAgIHZhciB7IHByb3h5LCByZXZva2UgfSA9IFByb3h5LnJldm9j
YWJsZShmdW5jdGlvbigpIHt9LCB7fSk7CisgICAgcmV2b2tlKCk7CisgICAgcmV0dXJuIHByb3h5
KCk7CisgIH0pCitgKTsKKworYXNzZXJ0LnRocm93cyhvdGhlci5nbG9iYWwuVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgRigpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVhbG0vY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVhbG0vY29uc3RydWN0b3IuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDU1NDU0YTZlMTE2NDBiYzQzZWIzYjg0MjliM2U5N2JkZTI3YWY3NjAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlYWxtL2NvbnN0cnVjdG9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0tY29uc3RydWN0b3IK
LWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtIGlzIGEgY29uc3RydWN0b3IgYW5kIGhhcyBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZC4KLWluY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KLWZl
YXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnktcmVhbG1zLCBSZWZsZWN0LmNvbnN0cnVjdF0KLS0t
LSovCi1hc3NlcnQuc2FtZVZhbHVlKAotICB0eXBlb2YgUmVhbG0sCi0gICdmdW5jdGlvbicsCi0g
ICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFJlYWxtIGlzIG5vdCBhIGZ1bmN0aW9uJwotKTsKLQot
YXNzZXJ0KGlzQ29uc3RydWN0b3IoUmVhbG0pKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKFJlYWxtKSwgRnVuY3Rpb24ucHJvdG90eXBlKTsKLW5ldyBSZWFsbSgpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL2Rlc2NyaXB0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vZGVzY3JpcHRvci5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ0NzAyNGQ0OWMxZTdjYmY2YjIyM2E0
NzliNzEyMGE4YTUyYTQyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vZGVzY3JpcHRvci5q
cworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQot
ZXNpZDogc2VjLXJlYWxtLWNvbnN0cnVjdG9yCi1kZXNjcmlwdGlvbjogPgotICBUaGUgUmVhbG0g
Y29uc3RydWN0b3IgaXMgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlICJSZWFsbSIgcHJvcGVydHkg
b2YgdGhlIGdsb2JhbCBvYmplY3QuCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotZmVh
dHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0
eSh0aGlzLCAiUmVhbG0iLCB7Ci0gIGVudW1lcmFibGU6IGZhbHNlLAotICB3cml0YWJsZTogdHJ1
ZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlLAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vZXh0ZW5zaWJpbGl0eS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9leHRlbnNpYmlsaXR5LmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkNjNkNTAwMjYzNmU1YmMxZDUyMGNjODQxMDRmNjc5ZGQwN2JmZWY5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9leHRlbnNpYmlsaXR5LmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMTUgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLWNv
bnN0cnVjdG9yCi1kZXNjcmlwdGlvbjogPgotICBUaGUgUmVhbG0gY29uc3RydWN0b3IgaXMgZXh0
ZW5zaWJsZQotaW5mbzogfAotICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVj
dHMKLQotICBVbmxlc3Mgc3BlY2lmaWVkIG90aGVyd2lzZSwgdGhlIFtbRXh0ZW5zaWJsZV1dIGlu
dGVybmFsIHNsb3Qgb2YgYSBidWlsdC1pbgotICBvYmplY3QgaW5pdGlhbGx5IGhhcyB0aGUgdmFs
dWUgdHJ1ZS4KLWZlYXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnktcmVhbG1zXQotLS0tKi8KLQot
YXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuaXNFeHRlbnNpYmxlKFJlYWxtKSwgdHJ1ZSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vaW5zdGFuY2UtZXh0
ZW5zaWJpbGl0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9pbnN0
YW5jZS1leHRlbnNpYmlsaXR5LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGMw
ODEzYzIxYWVhOTBlODkzNzEzZjNhZGY5OTE0NmFlZDRhMWJkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWFsbS9pbnN0YW5jZS1leHRlbnNpYmlsaXR5LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDMg
KzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0KLWRlc2NyaXB0
aW9uOiA+Ci0gIFRoZSBuZXcgaW5zdGFuY2UgaXMgZXh0ZW5zaWJsZQotaW5mbzogfAotICBSZWFs
bSAoICkKLQotICAuLi4KLSAgMi4gTGV0IE8gYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1
Y3RvcihOZXdUYXJnZXQsICIlUmVhbG0ucHJvdG90eXBlJSIsCi0gIMKrIFtbUmVhbG1dXSwgW1tF
eGVjdXRpb25Db250ZXh0XV0gwrspLgotICAuLi4KLSAgMTMuIFJldHVybiBPLgotCi0gIE9yZGlu
YXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yIGNyZWF0ZXMgYSBuZXcgb3JkaW5hcnkgb2JqZWN0cyBp
bmNsdWRpbmcgdGhlCi0gIGludGVybmFsIHNsb3RzIFtbUHJvdG90eXBlXV0gYW5kIFtbRXh0ZW5z
aWJsZV1dLiBUaGUgbGF0dGVyIHdpbGwgaGF2ZSBpdHMKLSAgdmFsdWUgc2V0IHRvIHRydWUuCi1p
bmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFy
eS1yZWFsbXNdCi0tLS0qLwotCi1jb25zdCByZWFsbSA9IG5ldyBSZWFsbSgpOwotCi1hc3NlcnQo
T2JqZWN0LmlzRXh0ZW5zaWJsZShyZWFsbSkpOwotCi1PYmplY3QuZGVmaW5lUHJvcGVydHkocmVh
bG0sICdmb28nLCB7fSk7Ci1hc3NlcnQocmVhbG0uaGFzT3duUHJvcGVydHkoJ2ZvbycpLCAnY29u
ZmlybXMgZXh0ZW5zaWJpbGl0eSBhZGRpbmcgYSBuZXcgcHJvcGVydHknKTsKLQotT2JqZWN0LmRl
ZmluZVByb3BlcnR5KHJlYWxtLCAnZm9vJywgewotICB2YWx1ZTogJ2JhcicsCi0gIHdyaXRhYmxl
OiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUsCi0gIGVudW1lcmFibGU6IGZhbHNlLAotfSk7
Ci0KLXZlcmlmeVByb3BlcnR5KHJlYWxtLCAnZm9vJywgewotICB2YWx1ZTogJ2JhcicsCi0gIHdy
aXRhYmxlOiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUsCi0gIGVudW1lcmFibGU6IGZhbHNl
LAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0v
aW5zdGFuY2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vaW5zdGFu
Y2UuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiNjczNGRlMmU3NTBmZDQzZTdm
NGNhYzdmNDc5ZGFhMGY2MjNhNzkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL2luc3RhbmNl
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIx
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0t
Ci1lc2lkOiBzZWMtcmVhbG0tY29uc3RydWN0b3IKLWRlc2NyaXB0aW9uOiA+Ci0gIG5ldyBSZWFs
bSgpIHJldHVybnMgYSByZWFsbSBpbnN0YW5jZQotaW5mbzogfAotICBSZWFsbSAoICkKLQotICAu
Li4KLSAgMi4gTGV0IE8gYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdUYXJn
ZXQsICIlUmVhbG0ucHJvdG90eXBlJSIsCi0gIMKrIFtbUmVhbG1dXSwgW1tFeGVjdXRpb25Db250
ZXh0XV0gwrspLgotICAuLi4KLSAgMTMuIFJldHVybiBPLgotZmVhdHVyZXM6IFtjYWxsYWJsZS1i
b3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgdHlwZW9mIFJlYWxt
LAotICAnZnVuY3Rpb24nLAotICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBSZWFsbSBpcyBub3Qg
YSBmdW5jdGlvbicKLSk7Ci0KLXZhciByZWFsbSA9IG5ldyBSZWFsbSgpOwotCi1hc3NlcnQocmVh
bG0gaW5zdGFuY2VvZiBSZWFsbSk7Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0UHJv
dG90eXBlT2YocmVhbG0pLAotICBSZWFsbS5wcm90b3R5cGUsCi0gICdbW1Byb3RvdHlwZV1dIGlz
IHNldCB0byAlUmVhbG0ucHJvdG90eXBlJScKLSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlYWxtL2xlbmd0aC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjI5OWZlZDNmMGNlMWMwMTM4NGNiNzE4ZDVkMmM0ZTdkYjU0YWMzNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVhbG0vbGVuZ3RoLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLy8g
Q29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0tY29uc3RydWN0b3IKLWRlc2NyaXB0
aW9uOiA+Ci0gIFRoZSB2YWx1ZSBvZiBSZWFsbS5sZW5ndGggaXMgMAotaW5mbzogfAotICBSZWFs
bSAoICkKLQotICBFdmVyeSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25z
dHJ1Y3RvcnMsIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Ci0gIHdob3NlIHZhbHVlIGlzIGEgbm9u
LW5lZ2F0aXZlIGludGVncmFsIE51bWJlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRo
aXMgdmFsdWUKLSAgaXMgZXF1YWwgdG8gdGhlIG51bWJlciBvZiByZXF1aXJlZCBwYXJhbWV0ZXJz
IHNob3duIGluIHRoZSBzdWJjbGF1c2UgaGVhZGluZyBmb3IgdGhlCi0gIGZ1bmN0aW9uIGRlc2Ny
aXB0aW9uLiBPcHRpb25hbCBwYXJhbWV0ZXJzIGFuZCByZXN0IHBhcmFtZXRlcnMgYXJlIG5vdCBp
bmNsdWRlZCBpbgotICB0aGUgcGFyYW1ldGVyIGNvdW50LgotCi0gIFVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkLCB0aGUgImxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbiBv
YmplY3QgaGFzCi0gIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVt
ZXJhYmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCi0KLWluY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10K
LS0tLSovCi0KLXZlcmlmeVByb3BlcnR5KFJlYWxtLCAibGVuZ3RoIiwgewotICB2YWx1ZTogMCwK
LSAgZW51bWVyYWJsZTogZmFsc2UsCi0gIHdyaXRhYmxlOiBmYWxzZSwKLSAgY29uZmlndXJhYmxl
OiB0cnVlLAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVhbG0vbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9uYW1l
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiM2M2ZTE3ZDJjMWIxYTFmYzAwZTFl
NmExZDc1ZTQ3YmQ2NzQ3ZDViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9uYW1lLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCi1kZXNjcmlwdGlvbjog
PgotICBUaGUgdmFsdWUgb2YgUmVhbG0ubmFtZSBpcyAnUmVhbG0nCi1pbmZvOiB8Ci0gIEV2ZXJ5
IGJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgaGFzIGEg
Im5hbWUiIHByb3BlcnR5IAotICB3aG9zZSB2YWx1ZSBpcyBhIFN0cmluZy4gVW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUgaXMgdGhlIG5hbWUgCi0gIHRoYXQgaXMgZ2l2ZW4g
dG8gdGhlIGZ1bmN0aW9uIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4gCi0KLSAgVW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQsIHRoZSAibmFtZSIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlv
biAKLSAgb2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlcyAKLSAgeyBbW1dyaXRhYmxlXV06IGZhbHNl
LCBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KLQotaW5j
bHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWZlYXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnkt
cmVhbG1zXQotLS0tKi8KLQotdmVyaWZ5UHJvcGVydHkoUmVhbG0sICJuYW1lIiwgewotICB2YWx1
ZTogIlJlYWxtIiwKLSAgZW51bWVyYWJsZTogZmFsc2UsCi0gIHdyaXRhYmxlOiBmYWxzZSwKLSAg
Y29uZmlndXJhYmxlOiB0cnVlLAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVhbG0vcHJvdG8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVhbG0vcHJvdG8uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2MDMxZWI4
MDg5MmM4NGUzMjUzZmM5MDcyZmRjOGNhMTk0NzgwNTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
YWxtL3Byb3RvLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8qLS0tCi1lc2lkOiBzZWMtcHJvcGVydGllcy1vZi10aGUtcmVhbG0tY29uc3RydWN0b3IK
LWRlc2NyaXB0aW9uOiA+Ci0gIFRoZSBbW1Byb3RvdHlwZV1dIG9mIFJlYWxtIGlzIEZ1bmN0aW9u
LlByb3RvdHlwZS4KLWluZm86IHwKLSAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgZXZlcnkg
YnVpbHQtaW4gZnVuY3Rpb24gYW5kIGV2ZXJ5IGJ1aWx0LWluIGNvbnN0cnVjdG9yCi0gIGhhcyB0
aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCwgd2hpY2ggaXMgdGhlIGluaXRpYWwgdmFsdWUg
b2YgdGhlIGV4cHJlc3Npb24KLSAgRnVuY3Rpb24ucHJvdG90eXBlLCBhcyB0aGUgdmFsdWUgb2Yg
aXRzIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgc2xvdC4KLQotZmVhdHVyZXM6IFtjYWxsYWJsZS1i
b3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotCi1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90
b3R5cGVPZihSZWFsbSksIEZ1bmN0aW9uLnByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1Rh
Zy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvU3lt
Ym9sLnRvU3RyaW5nVGFnLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmUyOTZk
M2NmNWYyYmU0YmY3ODRlOTFjMWZjMTgyMmRiYjU5MjE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWFsbS9wcm90b3R5cGUvU3ltYm9sLnRvU3RyaW5nVGFnLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MjIgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlw
ZS1AQHRvc3RyaW5ndGFnCi1kZXNjcmlwdGlvbjogPgotICBgU3ltYm9sLnRvU3RyaW5nVGFnYCBw
cm9wZXJ0eSBkZXNjcmlwdG9yCi1pbmZvOiB8Ci0gIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBA
QHRvU3RyaW5nVGFnIHByb3BlcnR5IGlzIHRoZSBTdHJpbmcgdmFsdWUKLSAgIlJlYWxtIi4KLQot
ICBUaGlzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2Us
IFtbRW51bWVyYWJsZV1dOgotICBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgotaW5j
bHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWZlYXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnkt
cmVhbG1zLCBTeW1ib2wudG9TdHJpbmdUYWddCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0eShSZWFs
bS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywgewotICAgIHZhbHVlOiAnUmVhbG0nLAot
ICAgIGVudW1lcmFibGU6IGZhbHNlLAotICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICBjb25maWd1
cmFibGU6IHRydWUKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9kZXNjcmlwdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9kZXNjcmlwdG9yLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTVmMGY1YTM4MWM5N2I0YTVlOTc0NDY0
ZTJlYzhmZTNhZmIyOGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvZGVzY3JpcHRvci5qcworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQotZGVz
Y3JpcHRpb246ID4KLSAgICBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgaXMgYW4gRUNNQVNjcmlw
dCBTdGFuZGFyZCBidWlsdC1pbiBvYmplY3QgZnVuY3Rpb24uCi1pbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0qLwot
Ci12ZXJpZnlQcm9wZXJ0eShSZWFsbS5wcm90b3R5cGUsICJldmFsdWF0ZSIsIHsKLSAgZW51bWVy
YWJsZTogZmFsc2UsCi0gIHdyaXRhYmxlOiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUsCi19
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90
b3R5cGUvZXZhbHVhdGUvZXJyb3JzLWZyb20tdGhlLW90aGVyLXJlYWxtLWlzLXdyYXBwZWQtaW50
by1hLXR5cGVlcnJvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9w
cm90b3R5cGUvZXZhbHVhdGUvZXJyb3JzLWZyb20tdGhlLW90aGVyLXJlYWxtLWlzLXdyYXBwZWQt
aW50by1hLXR5cGVlcnJvci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ2YTMy
MWRkYzQwODJjODJmNzJlZmM4NzE4MDIyMGZmZDJkZmMzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL2Vycm9ycy1mcm9tLXRoZS1vdGhlci1yZWFsbS1pcy13
cmFwcGVkLWludG8tYS10eXBlZXJyb3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBA
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1yZWFsbS5wcm90b3R5cGUuZXZhbHVh
dGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSB3cmFwcyBlcnJv
cnMgZnJvbSBvdGhlciByZWFsbSBpbnRvIFR5cGVFcnJvcnMKLWZlYXR1cmVzOiBbY2FsbGFibGUt
Ym91bmRhcnktcmVhbG1zXQotLS0tKi8KLQotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgdHlwZW9mIFJl
YWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwKLSAgJ2Z1bmN0aW9uJywKLSAgJ1RoaXMgdGVzdCBtdXN0
IGZhaWwgaWYgUmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJwotKTsK
LQotY29uc3QgciA9IG5ldyBSZWFsbSgpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gci5ldmFsdWF0ZSgnLi4uJyksICdTeW50YXhFcnJvciA9PiBUeXBlRXJyb3InKTsKLWFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiByLmV2YWx1YXRlKCd0aHJvdyA0MicpLCAndGhyb3cg
cHJpbWl0aXZlID0+IFR5cGVFcnJvcicpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHIuZXZhbHVhdGUoJ3Rocm93IG5ldyBSZWZlcmVuY2VFcnJvcigiYWFhIiknKSwgJ2N1c3RvbSBj
dG9yID0+IFR5cGVFcnJvcicpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZh
bHVhdGUoJ3Rocm93IG5ldyBUeXBlRXJyb3IoImFhYSIpJyksICdDaGlsZCBUeXBlRXJyb3IgPT4g
UGFyZW50IFR5cGVFcnJvcicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9sZW5ndGguanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL2xlbmd0aC5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUyOTZmZjRiNzEyYjRhZDQ4OTg2NTQ5MzczNTFj
N2Y2YjE1Y2FlYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L2xlbmd0aC5qcworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8vIENvcHlyaWdodCAo
QykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQotZGVzY3JpcHRpb246
ID4KLSAgVGhlIHZhbHVlIG9mIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZS5sZW5ndGggaXMgMQot
aW5mbzogfAotICBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgKCBzb3VyY2VUZXh0ICkKLQotICBF
dmVyeSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIGhh
cyBhICJsZW5ndGgiIHByb3BlcnR5Ci0gIHdob3NlIHZhbHVlIGlzIGEgbm9uLW5lZ2F0aXZlIGlu
dGVncmFsIE51bWJlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUKLSAg
aXMgZXF1YWwgdG8gdGhlIG51bWJlciBvZiByZXF1aXJlZCBwYXJhbWV0ZXJzIHNob3duIGluIHRo
ZSBzdWJjbGF1c2UgaGVhZGluZyBmb3IgdGhlCi0gIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLiBPcHRp
b25hbCBwYXJhbWV0ZXJzIGFuZCByZXN0IHBhcmFtZXRlcnMgYXJlIG5vdCBpbmNsdWRlZCBpbgot
ICB0aGUgcGFyYW1ldGVyIGNvdW50LgotCi0gIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0
aGUgImxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QgaGFzCi0g
IHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZh
bHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCi0KLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxw
ZXIuanNdCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLXZl
cmlmeVByb3BlcnR5KFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwgImxlbmd0aCIsIHsKLSAgdmFs
dWU6IDEsCi0gIGVudW1lcmFibGU6IGZhbHNlLAotICB3cml0YWJsZTogZmFsc2UsCi0gIGNvbmZp
Z3VyYWJsZTogdHJ1ZSwKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uYW1lLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDIxMWQ3ODUwZWVkYjc4NTc5ZWRhNTIzMjRhZTE3NGE1
NWUzM2I2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbmFt
ZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAy
MSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0t
LQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQotZGVzY3JpcHRpb246ID4KLSAg
VGhlIHZhbHVlIG9mIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZS5uYW1lIGlzICdldmFsdWF0ZScK
LWluZm86IHwKLSAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29u
c3RydWN0b3JzLCBoYXMgYSAibmFtZSIgcHJvcGVydHkgCi0gIHdob3NlIHZhbHVlIGlzIGEgU3Ry
aW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZSBpcyB0aGUgbmFtZSAK
LSAgdGhhdCBpcyBnaXZlbiB0byB0aGUgZnVuY3Rpb24gaW4gdGhpcyBzcGVjaWZpY2F0aW9uLiAK
LQotICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlICJuYW1lIiBwcm9wZXJ0eSBvZiBh
IGJ1aWx0LWluIGZ1bmN0aW9uIAotICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGVzIAotICB7IFtb
V3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVd
XTogdHJ1ZSB9LgotCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotZmVhdHVyZXM6IFtj
YWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0eShSZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUsICJuYW1lIiwgewotICB2YWx1ZTogImV2YWx1YXRlIiwKLSAgZW51
bWVyYWJsZTogZmFsc2UsCi0gIHdyaXRhYmxlOiBmYWxzZSwKLSAgY29uZmlndXJhYmxlOiB0cnVl
LAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0v
cHJvdG90eXBlL2V2YWx1YXRlL25vdC1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbm90LWNvbnN0cnVjdG9yLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDdmZTA4MTM0YmY2MWMzYTI0ZDY4MjJm
OWY2MTU5ODViZTAwODcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvbm90LWNvbnN0cnVjdG9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAot
Ly8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmV2YWx1YXRl
Ci1kZXNjcmlwdGlvbjogPgotICBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgaXMgbm90IGEgY29u
c3RydWN0b3IuCi1pbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCi1mZWF0dXJlczogW2NhbGxh
YmxlLWJvdW5kYXJ5LXJlYWxtcywgUmVmbGVjdC5jb25zdHJ1Y3RdCi0tLS0qLwotCi1hc3NlcnQu
c2FtZVZhbHVlKAotICB0eXBlb2YgUmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlLAotICAnZnVuY3Rp
b24nLAotICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUg
aXMgbm90IGEgZnVuY3Rpb24nCi0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKAotICBpc0NvbnN0cnVj
dG9yKFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSksCi0gIGZhbHNlLAotICAnaXNDb25zdHJ1Y3Rv
cihSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUpIG11c3QgcmV0dXJuIGZhbHNlJwotKTsKLQotYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKLSAgbmV3IFJlYWxtLnByb3RvdHlwZS5ldmFs
dWF0ZSgiIik7Ci19LCAnYG5ldyBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUoIiIpYCB0aHJvd3Mg
VHlwZUVycm9yJyk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsgCi1yLmV2YWx1YXRlKCdnbG9i
YWxUaGlzLnggPSAwJyk7Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Ci0gIG5l
dyByLmV2YWx1YXRlKCJnbG9iYWxUaGlzLnggKz0gMTsiKTsKLX0sICdgbmV3IHIuZXZhbHVhdGUo
Ii4uLiIpYCB0aHJvd3MgVHlwZUVycm9yJyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0
ZSgnZ2xvYmFsVGhpcy54JyksIDAsICdObyBjb2RlIGV2YWx1YXRlZCBpbiB0aGUgbmV3IGV4cHJl
c3Npb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFs
bS9wcm90b3R5cGUvZXZhbHVhdGUvcHJvdG8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3Byb3RvLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0OTU2N2M5Yjk0YmVlZmEzZDY0YWUwNjNkZTg3MzRjYzc3MzlmN2RlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvcHJvdG8uanMKKysr
IC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6
IHNlYy1yZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFRoZSBbW1By
b3RvdHlwZV1dIG9mIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBGdW5jdGlvbi5Qcm90b3R5
cGUuCi0KLSAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgZXZlcnkgYnVpbHQtaW4gZnVuY3Rp
b24gYW5kIGV2ZXJ5IGJ1aWx0LWluIGNvbnN0cnVjdG9yCi0gIGhhcyB0aGUgRnVuY3Rpb24gcHJv
dG90eXBlIG9iamVjdCwgd2hpY2ggaXMgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIGV4cHJlc3Np
b24KLSAgRnVuY3Rpb24ucHJvdG90eXBlLCBhcyB0aGUgdmFsdWUgb2YgaXRzIFtbUHJvdG90eXBl
XV0gaW50ZXJuYWwgc2xvdC4KLQotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNd
Ci0tLS0qLwotCi1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihSZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUpLCBGdW5jdGlvbi5wcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9yZXR1
cm5zLXByaW1pdGl2ZS12YWx1ZXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3JldHVybnMtcHJpbWl0aXZlLXZhbHVlcy5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FiMTM5ODU5YTM4Y2Q0ZWVjNTRmMGZkNjA4NjZm
MDc5YjU0YjYwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L3JldHVybnMtcHJpbWl0aXZlLXZhbHVlcy5qcworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAg
QEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5ldmFs
dWF0ZQotZGVzY3JpcHRpb246ID4KLSAgUmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHJldHVybnMg
cHJpbWl0aXZlIHZhbHVlcwotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0t
LS0qLwotCi1hc3NlcnQuc2FtZVZhbHVlKAotICB0eXBlb2YgUmVhbG0ucHJvdG90eXBlLmV2YWx1
YXRlLAotICAnZnVuY3Rpb24nLAotICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBSZWFsbS5wcm90
b3R5cGUuZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCi0pOwotCi1jb25zdCByID0gbmV3IFJl
YWxtKCk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgnMSArIDEnKSwgMik7Ci1hc3Nl
cnQuc2FtZVZhbHVlKHIuZXZhbHVhdGUoJ251bGwnKSwgbnVsbCk7Ci1hc3NlcnQuc2FtZVZhbHVl
KHIuZXZhbHVhdGUoJycpLCB1bmRlZmluZWQsICd1bmRlZmluZWQgZnJvbSBlbXB0eSBjb21wbGV0
aW9uJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHIuZXZhbHVhdGUoJ3VuZGVmaW5lZCcpLCB1bmRlZmlu
ZWQpOwotYXNzZXJ0LnNhbWVWYWx1ZShyLmV2YWx1YXRlKCd0cnVlJyksIHRydWUpOwotYXNzZXJ0
LnNhbWVWYWx1ZShyLmV2YWx1YXRlKCdmYWxzZScpLCBmYWxzZSk7Ci1hc3NlcnQuc2FtZVZhbHVl
KHIuZXZhbHVhdGUoJ2Z1bmN0aW9uIGZuKCkge30nKSwgdW5kZWZpbmVkLCAnZm4gZGVjbGFyYXRp
b24gaGFzIGVtcHR5IGNvbXBsZXRpb24nKTsKLWFzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgn
e30nKSwgdW5kZWZpbmVkLCAnQmxvY2sgaGFzIGVtcHR5IGNvbXBsZXRpb24nKTsKLWFzc2VydC5z
YW1lVmFsdWUoci5ldmFsdWF0ZSgnLTAnKSwgLTApOwotYXNzZXJ0LnNhbWVWYWx1ZShyLmV2YWx1
YXRlKCcic3RyIicpLCAnc3RyJyk7Ci1hc3NlcnQoTnVtYmVyLmlzTmFOKHIuZXZhbHVhdGUoJ05h
TicpKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0v
cHJvdG90eXBlL2V2YWx1YXRlL3JldHVybnMtc3ltYm9sLXZhbHVlcy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvcmV0dXJucy1zeW1i
b2wtdmFsdWVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDFhYTgxMzgxZDJm
M2EzNDBkZWQxNTc0M2I4ZGYxYzcyODA3OGE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9w
cm90b3R5cGUvZXZhbHVhdGUvcmV0dXJucy1zeW1ib2wtdmFsdWVzLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMjMgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0u
cHJvdG90eXBlLmV2YWx1YXRlCi1kZXNjcmlwdGlvbjogPgotICBSZWFsbS5wcm90b3R5cGUuZXZh
bHVhdGUgcmV0dXJucyBzeW1ib2wgdmFsdWVzCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5
LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5cGVvZiBSZWFsbS5wcm90
b3R5cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlm
IFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0KLWNvbnN0
IHIgPSBuZXcgUmVhbG0oKTsKLWNvbnN0IHMgPSByLmV2YWx1YXRlKCdTeW1ib2woKScpOwotCi1h
c3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBzLCAnc3ltYm9sJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHMu
Y29uc3RydWN0b3IsIFN5bWJvbCwgJ3ByaW1pdGl2ZSBkb2VzIG5vdCBleHBvc2Ugb3RoZXIgUmVh
bG0gY29uc3RydWN0b3InKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9m
KHMpLCBTeW1ib2wucHJvdG90eXBlKTsKLWFzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgnU3lt
Ym9sLmZvcigieCIpJyksIFN5bWJvbC5mb3IoJ3gnKSk7Ci1hc3NlcnQuc2FtZVZhbHVlKFN5bWJv
bC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzKSwgJ1N5bWJvbCgpJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3Ro
cm93cy10eXBlZXJyb3ItaWYtZXZhbHVhdGlvbi1yZXNvbHZlcy10by1ub24tcHJpbWl0aXZlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0
ZS90aHJvd3MtdHlwZWVycm9yLWlmLWV2YWx1YXRpb24tcmVzb2x2ZXMtdG8tbm9uLXByaW1pdGl2
ZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRiODUzYWJiODQ2N2ZhZjgyN2Y0
MTE3YTk4YWU0Y2JhMDE1NWQ4YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBl
L2V2YWx1YXRlL3Rocm93cy10eXBlZXJyb3ItaWYtZXZhbHVhdGlvbi1yZXNvbHZlcy10by1ub24t
cHJpbWl0aXZlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCi1kZXNjcmlwdGlv
bjogPgotICBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgdGhyb3dzIGEgVHlwZUVycm9yIGlmIGV2
YWx1YXRlIHJlc29sdmVzIHRvIG5vbi1wcmltaXRpdmUgdmFsdWVzCi1mZWF0dXJlczogW2NhbGxh
YmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5cGVv
ZiBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRlc3Qg
bXVzdCBmYWlsIGlmIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicK
LSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHIuZXZhbHVhdGUoJ2dsb2JhbFRoaXMnKSwgJ2dsb2JhbFRoaXMnKTsKLWFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiByLmV2YWx1YXRlKCdbXScpLCAnYXJyYXkgbGl0ZXJhbCcp
OwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZhbHVhdGUoYAotICAgICh7Ci0g
ICAgICAgIFtTeW1ib2wudG9QcmltaXRpdmVdKCkgeyByZXR1cm4gJ3N0cmluZyc7IH0sCi0gICAg
ICAgIHRvU3RyaW5nKCkgeyByZXR1cm4gJ3N0cic7IH0sCi0gICAgICAgIHZhbHVlT2YoKSB7IHJl
dHVybiAxOyB9Ci0gICAgfSk7Ci1gKSwgJ29iamVjdCBsaXRlcmFsIHdpdGggaW1tZWRpYXRlIHBy
aW1pdGl2ZSBjb2VyY2lvbiBtZXRob2RzJyk7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gci5ldmFsdWF0ZSgnT2JqZWN0LmNyZWF0ZShudWxsKScpLCAnb3JkaW5hcnkgb2JqZWN0IHdp
dGggbnVsbCBfX3Byb3RvX18nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvdGhyb3dzLXdoZW4tYXJndW1lbnQtaXMt
bm90LWEtc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3By
b3RvdHlwZS9ldmFsdWF0ZS90aHJvd3Mtd2hlbi1hcmd1bWVudC1pcy1ub3QtYS1zdHJpbmcuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiOWYwMTg1YWNiM2Y4M2JkMTI5Njk5YjVk
YjIxYzhjNGEwYjhmNDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS90aHJvd3Mtd2hlbi1hcmd1bWVudC1pcy1ub3QtYS1zdHJpbmcuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyNSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1yZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlwZS5l
dmFsdWF0ZSB0aHJvd3Mgd2hlbiBhcmd1bWVudCBpcyBub3QgYSBzdHJpbmcuCi1mZWF0dXJlczog
W2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0g
IHR5cGVvZiBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlz
IHRlc3QgbXVzdCBmYWlsIGlmIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5j
dGlvbicKLSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLQotYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHIuZXZhbHVhdGUoWycxKzEnXSkpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHIuZXZhbHVhdGUoeyBbU3ltYm9sLnRvUHJpbWl0aXZlXSgpIHsgcmV0dXJuICcx
KzEnOyB9fSkpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZhbHVhdGUoMSkp
OwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZhbHVhdGUobnVsbCkpOwotYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZhbHVhdGUodW5kZWZpbmVkKSk7Ci1hc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSh0cnVlKSk7Ci1hc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZShmYWxzZSkpOwotYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IHIuZXZhbHVhdGUobmV3IFN0cmluZygnbm9wZScpKSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1
YXRlL3ZhbGlkYXRlcy1yZWFsbS1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3ZhbGlkYXRlcy1yZWFsbS1vYmplY3QuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3ZTIzYmE2OWU5N2ZlY2U1MzQ1YTBlNmIx
ZjJmMWM0OTQwMmVjYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS92YWxpZGF0ZXMtcmVhbG0tb2JqZWN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmV2
YWx1YXRlCi1kZXNjcmlwdGlvbjogPgotICBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgdmFsaWRh
dGVzIHJlYWxtIG9iamVjdC4KLWZlYXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnktcmVhbG1zXQot
LS0tKi8KLQotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgdHlwZW9mIFJlYWxtLnByb3RvdHlwZS5ldmFs
dWF0ZSwKLSAgJ2Z1bmN0aW9uJywKLSAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgUmVhbG0ucHJv
dG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJwotKTsKLQotY29uc3QgciA9IG5ldyBS
ZWFsbSgpOwotY29uc3QgYm9ndXMgPSB7fTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgewotICByLmV2YWx1YXRlLmNhbGwoYm9ndXMsICcnKTsKLX0sICd0aHJvd3MgYSBU
eXBlRXJyb3IgaWYgdGhpcyBpcyBub3QgYSBSZWFsbSBvYmplY3QnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3Jh
cHBlZC1mdW5jdGlvbi1hcmd1bWVudHMtYXJlLXdyYXBwZWQtaW50by10aGUtaW5uZXItcmVhbG0t
ZXh0ZW5kZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90
eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tYXJndW1lbnRzLWFyZS13cmFwcGVkLWludG8t
dGhlLWlubmVyLXJlYWxtLWV4dGVuZGVkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlNTlhZDY5MzY4MTg4NDRiOWNmMWU3YTI5ZjhjY2I0ZjI1NzU3ODgyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbi1hcmd1bWVu
dHMtYXJlLXdyYXBwZWQtaW50by10aGUtaW5uZXItcmVhbG0tZXh0ZW5kZWQuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw0NiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1y
ZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlw
ZS5ldmFsdWF0ZSB3cmFwcGVkIGZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgd3JhcHBlZCBpbnRvIHRo
ZSBpbm5lciByZWFsbSwgZXh0ZW5kZWQuCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJl
YWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5cGVvZiBSZWFsbS5wcm90b3R5
cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFJl
YWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0KLWNvbnN0IHIg
PSBuZXcgUmVhbG0oKTsKLWNvbnN0IGJsdWVGbiA9ICh4LCB5KSA9PiB4ICsgeTsKLQotY29uc3Qg
cmVkV3JhcHBlZEZuID0gci5ldmFsdWF0ZShgCi0gICAgZnVuY3Rpb24gZm4od3JhcHBlZDEsIHdy
YXBwZWQyLCB3cmFwcGVkMykgewotICAgICAgICBpZiAod3JhcHBlZDEueCkgewotICAgICAgICAg
ICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHdyYXBwZWQyLngpIHsKLSAgICAg
ICAgICAgIHJldHVybiAyOwotICAgICAgICB9Ci0gICAgICAgIGlmICh3cmFwcGVkMy54KSB7Ci0g
ICAgICAgICAgICAvLyBOb3QgdW53cmFwcGVkCi0gICAgICAgICAgICByZXR1cm4gMzsKLSAgICAg
ICAgfQotICAgICAgICBpZiAod3JhcHBlZDEgPT09IHdyYXBwZWQyKSB7Ci0gICAgICAgICAgICAv
LyBBbHdheXMgYSBuZXcgd3JhcHBlZCBmdW5jdGlvbgotICAgICAgICAgICAgcmV0dXJuIDQ7Ci0g
ICAgICAgIH0KLQotICAgICAgICAvLyBObyB1bndyYXBwaW5nCi0gICAgICAgIGlmICh3cmFwcGVk
MyA9PT0gZm4pIHsKLSAgICAgICAgICAgIHJldHVybiA1OwotICAgICAgICB9OwotCi0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0KLSAgICBmbi54ID0gJ3NlY3JldCc7Ci0gICAgZm47Ci1gKTsK
LWFzc2VydC5zYW1lVmFsdWUocmVkV3JhcHBlZEZuKGJsdWVGbiwgYmx1ZUZuLCByZWRXcmFwcGVk
Rm4pLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbi1hcmd1bWVudHMtYXJlLXdy
YXBwZWQtaW50by10aGUtaW5uZXItcmVhbG0uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tYXJndW1lbnRz
LWFyZS13cmFwcGVkLWludG8tdGhlLWlubmVyLXJlYWxtLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxYWZjZDY3MDRmNzgzYjk4NmY3MDE1YzYwYzIzN2ZlYzk2ZmRlMTgxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlv
bi1hcmd1bWVudHMtYXJlLXdyYXBwZWQtaW50by10aGUtaW5uZXItcmVhbG0uanMKKysrIC9kZXYv
bnVsbApAQCAtMSwyNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1y
ZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlw
ZS5ldmFsdWF0ZSB3cmFwcGVkIGZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgd3JhcHBlZCBpbnRvIHRo
ZSBpbm5lciByZWFsbQotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0q
LwotCi1hc3NlcnQuc2FtZVZhbHVlKAotICB0eXBlb2YgUmVhbG0ucHJvdG90eXBlLmV2YWx1YXRl
LAotICAnZnVuY3Rpb24nLAotICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBSZWFsbS5wcm90b3R5
cGUuZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCi0pOwotCi1jb25zdCByID0gbmV3IFJlYWxt
KCk7Ci1jb25zdCBibHVlRm4gPSAoeCwgeSkgPT4geCArIHk7Ci0KLWNvbnN0IHJlZFdyYXBwZWRG
biA9IHIuZXZhbHVhdGUoYAotMCwgKGJsdWVXcmFwcGVkRm4sIGEsIGIsIGMpID0+IHsKLSAgICBy
ZXR1cm4gYmx1ZVdyYXBwZWRGbihhLCBiKSAqIGM7Ci19Ci1gKTsKLWFzc2VydC5zYW1lVmFsdWUo
cmVkV3JhcHBlZEZuKGJsdWVGbiwgMiwgMywgNCksIDIwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1m
dW5jdGlvbi1mcm9tLXJldHVybi12YWx1ZXMtc2hhcmUtbm8taWRlbnRpdHkuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQt
ZnVuY3Rpb24tZnJvbS1yZXR1cm4tdmFsdWVzLXNoYXJlLW5vLWlkZW50aXR5LmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZWMzZTY4MTc5OGUyYzdjYTMzZGE2YWI0MWIyMDI1MTgw
YjVjNjY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3Jh
cHBlZC1mdW5jdGlvbi1mcm9tLXJldHVybi12YWx1ZXMtc2hhcmUtbm8taWRlbnRpdHkuanMKKysr
IC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6
IHNlYy1yZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnBy
b3RvdHlwZS5ldmFsdWF0ZSB3cmFwcGVkIGZ1bmN0aW9uIGZyb20gcmV0dXJuIHZhbHVlcyBzaGFy
ZSBubyBpZGVudGl0eS4KLWZlYXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnktcmVhbG1zXQotLS0t
Ki8KLQotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgdHlwZW9mIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0
ZSwKLSAgJ2Z1bmN0aW9uJywKLSAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgUmVhbG0ucHJvdG90
eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJwotKTsKLQotY29uc3QgciA9IG5ldyBSZWFs
bSgpOwotCi1yLmV2YWx1YXRlKGAKLWZ1bmN0aW9uIGZuKCkgeyByZXR1cm4gNDI7IH0KLWdsb2Jh
bFRoaXMuYXJyb3cgPSB4ID0+IHggKiAyOwotZ2xvYmFsVGhpcy5wRm4gPSBuZXcgUHJveHkoZm4s
IHsKLSAgICBhcHBseSgpIHsKLSAgICAgICAgcEZuLnVzZWQgPSAxOwotICAgICAgICByZXR1cm4g
Mzk7Ci0gICAgfQotfSk7Ci1hc3luYyBmdW5jdGlvbiBhRm4oKSB7Ci0gICAgcmV0dXJuIDE7Ci19
Ci0KLWZ1bmN0aW9uICogZ2VuRm4oKSB7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLWZuLnggPSAnc2Vj
cmV0cyc7Ci1hcnJvdy54ID0gJ3NlY3JldHMnOwotcEZuLnggPSAnc2VjcmV0cyc7Ci1hRm4ueCA9
ICdzZWNyZXRzJzsKLWdlbkZuLnggPSAnc2VjcmV0cyc7Ci1gKQotCi1jb25zdCB3cmFwcGVkT3Jk
aW5hcnkgPSByLmV2YWx1YXRlKCcoKSA9PiBmbicpKCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiB3cmFwcGVkT3JkaW5hcnksICdmdW5jdGlvbicsICdvcmRpbmFyeSBmdW5jdGlvbiB3cmFwcGVk
Jyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRPcmRpbmFyeSgpLCA0MiwgJ29yZGluYXJ5LCBy
ZXR1cm4nKTsKLWFzc2VydC5zYW1lVmFsdWUod3JhcHBlZE9yZGluYXJ5LngsIHVuZGVmaW5lZCwg
J29yZGluYXJ5LCBubyBwcm9wZXJ0eSBzaGFyZWQnKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdyYXBwZWRPcmRpbmFyeSwgJ3gnKSwgZmFs
c2UsICdvcmRpbmFyeSwgbm8gb3duIHByb3BlcnR5IHNoYXJlZCcpOwotCi1jb25zdCB3cmFwcGVk
QXJyb3cgPSByLmV2YWx1YXRlKCcoKSA9PiBhcnJvdycpKCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiB3cmFwcGVkQXJyb3csICdmdW5jdGlvbicsICdhcnJvdyBmdW5jdGlvbiB3cmFwcGVkJyk7
Ci1hc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRBcnJvdyg3KSwgMTQsICdhcnJvdyBmdW5jdGlvbiwg
cmV0dXJuJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRBcnJvdy54LCB1bmRlZmluZWQsICdh
cnJvdyBmdW5jdGlvbiwgbm8gcHJvcGVydHknKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdyYXBwZWRBcnJvdywgJ3gnKSwgZmFsc2UsICdh
cnJvdyBmdW5jdGlvbiwgbm8gb3duIHByb3BlcnR5IHNoYXJlZCcpOwotCi1jb25zdCB3cmFwcGVk
UHJveGllZCA9IHIuZXZhbHVhdGUoJygpID0+IHBGbicpKCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiB3cmFwcGVkUHJveGllZCwgJ2Z1bmN0aW9uJywgJ3Byb3hpZWQgb3JkaW5hcnkgZnVuY3Rp
b24gd3JhcHBlZCcpOwotYXNzZXJ0LnNhbWVWYWx1ZShyLmV2YWx1YXRlKCdwRm4udXNlZCcpLCB1
bmRlZmluZWQsICdwRm4gbm90IGNhbGxlZCB5ZXQnKTsKLWFzc2VydC5zYW1lVmFsdWUod3JhcHBl
ZFByb3hpZWQoKSwgMzksICdyZXR1cm4gb2YgdGhlIHByb3hpZWQgY2FsbGFibGUnKTsKLWFzc2Vy
dC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgncEZuLnVzZWQnKSwgMSwgJ3BmbiBjYWxsZWQnKTsKLWFz
c2VydC5zYW1lVmFsdWUod3JhcHBlZFByb3hpZWQueCwgdW5kZWZpbmVkLCAncHJveHkgY2FsbGFi
bGUsIG5vIHByb3BlcnR5Jyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkuY2FsbCh3cmFwcGVkUHJveGllZCwgJ3gnKSwgZmFsc2UsICdwcm94eSBjYWxs
YWJsZSwgbm8gb3duIHByb3BlcnR5IHNoYXJlZCcpOwotCi1jb25zdCB3cmFwcGVkQXN5bmMgPSBy
LmV2YWx1YXRlKCcoKSA9PiBhRm4nKSgpOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygd3JhcHBl
ZEFzeW5jLCAnZnVuY3Rpb24nLCAnYXN5bmMgZnVuY3Rpb24gd3JhcHBlZCcpOwotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHdyYXBwZWRBc3luYygpLCAnd3JhcHBlZCBmdW5jdGlvbiBj
YW5ub3QgcmV0dXJuIG5vbiBjYWxsYWJsZSBvYmplY3QnKTsKLWFzc2VydC5zYW1lVmFsdWUod3Jh
cHBlZEFzeW5jLngsIHVuZGVmaW5lZCwgJ2FzeW5jIGZ1bmN0aW9uLCBubyBwcm9wZXJ0eScpOwot
YXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwod3Jh
cHBlZEFzeW5jLCAneCcpLCBmYWxzZSwgJ2FzeW5jIGZ1bmN0aW9uLCBubyBvd24gcHJvcGVydHkg
c2hhcmVkJyk7Ci0KLWNvbnN0IHdyYXBwZWRHZW5lcmF0b3IgPSByLmV2YWx1YXRlKCcoKSA9PiBn
ZW5GbicpKCk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3cmFwcGVkR2VuZXJhdG9yLCAnZnVu
Y3Rpb24nLCAnZ2VuIGZ1bmN0aW9uIHdyYXBwZWQnKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB3cmFwcGVkR2VuZXJhdG9yKCksICd3cmFwcGVkIGZ1bmN0aW9uIGNhbm5vdCByZXR1
cm4gbm9uIGNhbGxhYmxlIG9iamVjdCcpOwotYXNzZXJ0LnNhbWVWYWx1ZSh3cmFwcGVkR2VuZXJh
dG9yLngsIHVuZGVmaW5lZCwgJ2dlbmVyYXRvciwgbm8gcHJvcGVydHknKTsKLWFzc2VydC5zYW1l
VmFsdWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdyYXBwZWRHZW5lcmF0
b3IsICd4JyksIGZhbHNlLCAnZ2VuZXJhdG9yLCBubyBvd24gcHJvcGVydHkgc2hhcmVkJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBl
L2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tb2JzZXJ2aW5nLXRoZWlyLXNjb3Blcy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3Jh
cHBlZC1mdW5jdGlvbi1vYnNlcnZpbmctdGhlaXItc2NvcGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzNWVjMDQ1MGY5NzgxZDc5ZjdmMzc5NGU0MzQzZGExZjY2NjY1MmJjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5j
dGlvbi1vYnNlcnZpbmctdGhlaXItc2NvcGVzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmV2
YWx1YXRlCi1kZXNjcmlwdGlvbjogPgotICBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgd3JhcHBl
ZCBmdW5jdGlvbiBvYnNlcnZpbmcgdGhlaXIgc2NvcGVzCi1mZWF0dXJlczogW2NhbGxhYmxlLWJv
dW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5cGVvZiBSZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRlc3QgbXVzdCBm
YWlsIGlmIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0K
LWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLWxldCBteVZhbHVlOwotCi1mdW5jdGlvbiBibHVlRm4o
eCkgewotICAgIG15VmFsdWUgPSB4OwotICAgIHJldHVybiBteVZhbHVlOwotfQotCi0vLyBjYiBp
cyBhIG5ldyBmdW5jdGlvbiBpbiB0aGUgcmVkIFJlYWxtIHRoYXQgY2hhaW5zIHRoZSBjYWxsIHRv
IHRoZSBibHVlRm4KLWNvbnN0IHJlZEZ1bmN0aW9uID0gci5ldmFsdWF0ZShgCi0gICAgdmFyIG15
VmFsdWUgPSAncmVkJzsKLSAgICAwLCBmdW5jdGlvbihjYikgewotICAgICAgICBjYig0Mik7Ci0g
ICAgICAgIHJldHVybiBteVZhbHVlOwotICAgIH07Ci1gKTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShy
ZWRGdW5jdGlvbihibHVlRm4pLCAncmVkJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKG15VmFsdWUsIDQy
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90
b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtYWNjZXB0cy1jYWxsYWJsZS1vYmplY3Rz
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1hY2NlcHRzLWNhbGxhYmxlLW9iamVjdHMuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1YmI0MWVjZTcxZWZkMzY4M2FkZDc5YzlkM2I1Y2Fi
MWFjMDc4ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93
cmFwcGVkLWZ1bmN0aW9ucy1hY2NlcHRzLWNhbGxhYmxlLW9iamVjdHMuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyMyArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1yZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlwZS5l
dmFsdWF0ZSBhY2NlcHRzIGNhbGxhYmxlIG9iamVjdHMKLWZlYXR1cmVzOiBbY2FsbGFibGUtYm91
bmRhcnktcmVhbG1zXQotLS0tKi8KLQotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgdHlwZW9mIFJlYWxt
LnByb3RvdHlwZS5ldmFsdWF0ZSwKLSAgJ2Z1bmN0aW9uJywKLSAgJ1RoaXMgdGVzdCBtdXN0IGZh
aWwgaWYgUmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJwotKTsKLQot
Y29uc3QgciA9IG5ldyBSZWFsbSgpOwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiByLmV2YWx1
YXRlKCdmdW5jdGlvbiBmbigpIHt9IGZuJyksICdmdW5jdGlvbicsICd2YWx1ZSBmcm9tIGEgZm4g
ZGVjbGFyYXRpb24nKTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIHIuZXZhbHVhdGUoJyhmdW5j
dGlvbigpIHt9KScpLCAnZnVuY3Rpb24nLCAnZnVuY3Rpb24gZXhwcmVzc2lvbicpOwotYXNzZXJ0
LnNhbWVWYWx1ZSh0eXBlb2Ygci5ldmFsdWF0ZSgnKGFzeW5jIGZ1bmN0aW9uKCkge30pJyksICdm
dW5jdGlvbicsICdhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uJyk7Ci1hc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiByLmV2YWx1YXRlKCcoZnVuY3Rpb24qKCkge30pJyksICdmdW5jdGlvbicsICdnZW5l
cmF0b3IgZXhwcmVzc2lvbicpOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygci5ldmFsdWF0ZSgn
KGFzeW5jIGZ1bmN0aW9uKigpIHt9KScpLCAnZnVuY3Rpb24nLCAnYXN5bmMgZ2VuZXJhdG9yIGV4
cHJlc3Npb24nKTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIHIuZXZhbHVhdGUoJygpID0+IHt9
JyksICdmdW5jdGlvbicsICdhcnJvdyBmdW5jdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1
bmN0aW9ucy1jYW4tcmVzb2x2ZS1jYWxsYWJsZS1yZXR1cm5zLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9u
cy1jYW4tcmVzb2x2ZS1jYWxsYWJsZS1yZXR1cm5zLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzYzc0MGJlNjJmYWQ4NTVjMmY4YzM0NmNlMTcyZDc3N2M3Njg1Y2ZiLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMt
Y2FuLXJlc29sdmUtY2FsbGFibGUtcmV0dXJucy5qcworKysgL2Rldi9udWxsCkBAIC0xLDI1ICsw
LDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5l
dmFsdWF0ZQotZGVzY3JpcHRpb246ID4KLSAgUmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHdyYXBw
ZWQgZnVuY3Rpb25zIGNhbiByZXNvbHZlIGNhbGxhYmxlIHJldHVybnMuCi1mZWF0dXJlczogW2Nh
bGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5
cGVvZiBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRl
c3QgbXVzdCBmYWlsIGlmIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlv
bicKLSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLQotY29uc3Qgd3JhcHBlZCA9IHIuZXZh
bHVhdGUoJ3ggPT4geSA9PiB4ICogeScpOwotY29uc3QgbmVzdGVkV3JhcHBlZCA9IHdyYXBwZWQo
Mik7Ci1jb25zdCBvdGhlck5lc3RlZFdyYXBwZWQgPSB3cmFwcGVkKDQpOwotCi1hc3NlcnQuc2Ft
ZVZhbHVlKG90aGVyTmVzdGVkV3JhcHBlZCgzKSwgMTIpOwotYXNzZXJ0LnNhbWVWYWx1ZShuZXN0
ZWRXcmFwcGVkKDMpLCA2KTsKLQotYXNzZXJ0Lm5vdFNhbWVWYWx1ZShuZXN0ZWRXcmFwcGVkLCBv
dGhlck5lc3RlZFdyYXBwZWQsICduZXcgd3JhcHBpbmcgZm9yIGVhY2ggcmV0dXJuJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2
YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb25zLW5ldy13cmFwcGluZy1vbi1lYWNoLWV2YWx1YXRpb24u
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1
YXRlL3dyYXBwZWQtZnVuY3Rpb25zLW5ldy13cmFwcGluZy1vbi1lYWNoLWV2YWx1YXRpb24uanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1NmYzZTFmYjg5ODNmMzY5OGY2Y2NkZmQz
ODVkOWMzZGU0YjhiZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1uZXctd3JhcHBpbmctb24tZWFjaC1ldmFsdWF0aW9uLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1l
c2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCi1kZXNjcmlwdGlvbjogPgotICBSZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUgd3JhcHBlZCBmdW5jdGlvbnMgcHJvZHVjZSBuZXcgd3JhcHBp
bmcgb24gZWFjaCBldmFsdWF0aW9uLgotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFs
bXNdCi0tLS0qLwotCi1hc3NlcnQuc2FtZVZhbHVlKAotICB0eXBlb2YgUmVhbG0ucHJvdG90eXBl
LmV2YWx1YXRlLAotICAnZnVuY3Rpb24nLAotICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBSZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCi0pOwotCi1jb25zdCByID0g
bmV3IFJlYWxtKCk7Ci0KLXIuZXZhbHVhdGUoYAotZnVuY3Rpb24gZm4oKSB7Ci0gICAgcmV0dXJu
IDQyOwotfQotYCk7Ci0KLWNvbnN0IHdyYXBwZWQgPSByLmV2YWx1YXRlKCdmbicpOwotY29uc3Qg
b3RoZXJXcmFwcGVkID0gci5ldmFsdWF0ZSgnZm4nKTsKLQotYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh3
cmFwcGVkLCBvdGhlcldyYXBwZWQpOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygd3JhcHBlZCwg
J2Z1bmN0aW9uJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvdGhlcldyYXBwZWQsICdmdW5j
dGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxt
L3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1zaGFyZS1uby1wcm9wZXJ0aWVz
LWV4dGVuZGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3Rv
dHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1zaGFyZS1uby1wcm9wZXJ0aWVzLWV4dGVu
ZGVkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwM2JjMTI0ZTcyODFkNzQxZTgx
Mjc1NjI4OTM5YTUzNjY1MjRmMzRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5
cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJvcGVydGllcy1leHRlbmRl
ZC5qcworKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAy
MSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0t
LQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQotZGVzY3JpcHRpb246ID4KLSAg
UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHdyYXBwZWQgZnVuY3Rpb25zIHNoYXJlIG5vIHByb3Bl
cnRpZXMsIGV4dGVuZGVkCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0t
LSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5cGVvZiBSZWFsbS5wcm90b3R5cGUuZXZhbHVh
dGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFJlYWxtLnByb3Rv
dHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVh
bG0oKTsKLQotci5ldmFsdWF0ZShgCi1mdW5jdGlvbiBmbigpIHsgcmV0dXJuIDQyOyB9Ci1nbG9i
YWxUaGlzLmFycm93ID0geCA9PiB4ICogMjsKLWdsb2JhbFRoaXMucEZuID0gbmV3IFByb3h5KGZu
LCB7Ci0gICAgYXBwbHkoKSB7Ci0gICAgICAgIHBGbi51c2VkID0gMTsKLSAgICAgICAgcmV0dXJu
IDM5OwotICAgIH0KLX0pOwotYXN5bmMgZnVuY3Rpb24gYUZuKCkgewotICAgIHJldHVybiAxOwot
fQotCi1mdW5jdGlvbiAqIGdlbkZuKCkgewotICAgIHJldHVybiAxOwotfQotCi1mbi54ID0gJ3Nl
Y3JldHMnOwotYXJyb3cueCA9ICdzZWNyZXRzJzsKLXBGbi54ID0gJ3NlY3JldHMnOwotYUZuLngg
PSAnc2VjcmV0cyc7Ci1nZW5Gbi54ID0gJ3NlY3JldHMnOwotYCk7Ci0KLWNvbnN0IHdyYXBwZWRP
cmRpbmFyeSA9IHIuZXZhbHVhdGUoJ2ZuJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3cmFw
cGVkT3JkaW5hcnksICdmdW5jdGlvbicsICdvcmRpbmFyeSBmdW5jdGlvbiB3cmFwcGVkJyk7Ci1h
c3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRPcmRpbmFyeSgpLCA0MiwgJ29yZGluYXJ5LCByZXR1cm4n
KTsKLWFzc2VydC5zYW1lVmFsdWUod3JhcHBlZE9yZGluYXJ5LngsIHVuZGVmaW5lZCwgJ29yZGlu
YXJ5LCBubyBwcm9wZXJ0eSBzaGFyZWQnKTsKLQotY29uc3Qgd3JhcHBlZEFycm93ID0gci5ldmFs
dWF0ZSgnYXJyb3cnKTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIHdyYXBwZWRBcnJvdywgJ2Z1
bmN0aW9uJywgJ2Fycm93IGZ1bmN0aW9uIHdyYXBwZWQnKTsKLWFzc2VydC5zYW1lVmFsdWUod3Jh
cHBlZEFycm93KDcpLCAxNCwgJ2Fycm93IGZ1bmN0aW9uLCByZXR1cm4nKTsKLWFzc2VydC5zYW1l
VmFsdWUod3JhcHBlZEFycm93LngsIHVuZGVmaW5lZCwgJ2Fycm93IGZ1bmN0aW9uLCBubyBwcm9w
ZXJ0eScpOwotCi1jb25zdCB3cmFwcGVkUHJveGllZCA9IHIuZXZhbHVhdGUoJ3BGbicpOwotYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygd3JhcHBlZFByb3hpZWQsICdmdW5jdGlvbicsICdwcm94aWVk
IG9yZGluYXJ5IGZ1bmN0aW9uIHdyYXBwZWQnKTsKLWFzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0
ZSgncEZuLnVzZWQnKSwgdW5kZWZpbmVkLCAncEZuIG5vdCBjYWxsZWQgeWV0Jyk7Ci1hc3NlcnQu
c2FtZVZhbHVlKHdyYXBwZWRQcm94aWVkKCksIDM5LCAncmV0dXJuIG9mIHRoZSBwcm94aWVkIGNh
bGxhYmxlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHIuZXZhbHVhdGUoJ3BGbi51c2VkJyksIDEsICdw
Zm4gY2FsbGVkJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRQcm94aWVkLngsIHVuZGVmaW5l
ZCwgJ3Byb3h5IGNhbGxhYmxlLCBubyBwcm9wZXJ0eScpOwotCi1jb25zdCB3cmFwcGVkQXN5bmMg
PSByLmV2YWx1YXRlKCdhRm4nKTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIHdyYXBwZWRBc3lu
YywgJ2Z1bmN0aW9uJywgJ2FzeW5jIGZ1bmN0aW9uIHdyYXBwZWQnKTsKLWFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB3cmFwcGVkQXN5bmMoKSwgJ3dyYXBwZWQgZnVuY3Rpb24gY2Fubm90
IHJldHVybiBub24gY2FsbGFibGUgb2JqZWN0Jyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRB
c3luYy54LCB1bmRlZmluZWQsICdhc3luYyBmbiwgbm8gcHJvcGVydHknKTsKLQotY29uc3Qgd3Jh
cHBlZEdlbmVyYXRvciA9IHIuZXZhbHVhdGUoJ2dlbkZuJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiB3cmFwcGVkR2VuZXJhdG9yLCAnZnVuY3Rpb24nLCAnZ2VuIGZ1bmN0aW9uIHdyYXBwZWQn
KTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB3cmFwcGVkR2VuZXJhdG9yKCksICd3
cmFwcGVkIGZ1bmN0aW9uIGNhbm5vdCByZXR1cm4gbm9uIGNhbGxhYmxlIG9iamVjdCcpOwotYXNz
ZXJ0LnNhbWVWYWx1ZSh3cmFwcGVkR2VuZXJhdG9yLngsIHVuZGVmaW5lZCwgJ2dlbmVyYXRvciwg
bm8gcHJvcGVydHknKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJv
cGVydGllcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5
cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJvcGVydGllcy5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFjOGJkYWJiOGExNzQ4Zjg5MDA0ODliMzIzZTQ0
ZjIzMWY4NDIwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L3dyYXBwZWQtZnVuY3Rpb25zLXNoYXJlLW5vLXByb3BlcnRpZXMuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyOCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1yZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlwZS5ldmFs
dWF0ZSB3cmFwcGVkIGZ1bmN0aW9ucyBzaGFyZSBubyBwcm9wZXJ0aWVzCi1mZWF0dXJlczogW2Nh
bGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5
cGVvZiBSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRl
c3QgbXVzdCBmYWlsIGlmIFJlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlv
bicKLSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLQotY29uc3Qgd3JhcHBlZCA9IHIuZXZh
bHVhdGUoYAotZnVuY3Rpb24gZm4oKSB7Ci0gICAgcmV0dXJuIGZuLnNlY3JldDsKLX0KLQotZm4u
c2VjcmV0ID0gJ2NvbmZpZGVudGlhbCc7Ci1mbjsKLWApOwotCi1hc3NlcnQuc2FtZVZhbHVlKHdy
YXBwZWQuc2VjcmV0LCB1bmRlZmluZWQpOwotYXNzZXJ0LnNhbWVWYWx1ZSh3cmFwcGVkKCksICdj
b25maWRlbnRpYWwnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvZGVzY3JpcHRvci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvZGVzY3JpcHRv
ci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY4YzU1ZjkxMzIxYTdkNmZiZGMz
NGM4YTRhZDM5Y2JkYTk1YTM2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBl
L2ltcG9ydFZhbHVlL2Rlc2NyaXB0b3IuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBA
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1yZWFsbS5wcm90b3R5cGUuaW1wb3J0
dmFsdWUKLWRlc2NyaXB0aW9uOiA+Ci0gIFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBpcyBh
biBFQ01BU2NyaXB0IFN0YW5kYXJkIGJ1aWx0LWluIG9iamVjdCBmdW5jdGlvbi4KLWluY2x1ZGVz
OiBbcHJvcGVydHlIZWxwZXIuanNdCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxt
c10KLS0tLSovCi0KLXZlcmlmeVByb3BlcnR5KFJlYWxtLnByb3RvdHlwZSwgImltcG9ydFZhbHVl
IiwgewotICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgd3JpdGFibGU6IHRydWUsCi0gIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSwKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9leHBvcnROYW1lLXRvc3RyaW5nLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1
ZS9leHBvcnROYW1lLXRvc3RyaW5nLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
YzExZWRiNWMwZDc1NDdjODdkMDMzMjI4MzllZjM0MmY2ZTJhOWUxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvZXhwb3J0TmFtZS10b3N0cmluZy5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNp
ZDogc2VjLXJlYWxtLnByb3RvdHlwZS5pbXBvcnR2YWx1ZQotZGVzY3JpcHRpb246ID4KLSAgUmVh
bG0ucHJvdG90eXBlLmltcG9ydFZhbHVlIGNvZXJjZXMgZXhwb3J0TmFtZSB0byBzdHJpbmcuCi1m
ZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5zYW1l
VmFsdWUoCi0gIHR5cGVvZiBSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUsCi0gICdmdW5jdGlv
bicsCi0gICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1
ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLWxldCBj
b3VudCA9IDA7Ci0KLWNvbnN0IGV4cG9ydE5hbWUgPSB7Ci0gIHRvU3RyaW5nKCkgewotICAgIGNv
dW50ICs9IDE7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwotICB9Ci19OwotCi1hc3Nl
cnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4gewotICByLmltcG9ydFZhbHVlKCcnLCBleHBv
cnROYW1lKTsKLX0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFs
dWUvaW1wb3J0LXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxt
L3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9pbXBvcnQtdmFsdWUuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM2MjZhNDNlMWRlNTk4ZjJmNzFhODJlNTE0ODdiYWY5Yzg1YzU2YmQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9pbXBvcnQtdmFs
dWUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIw
MjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyot
LS0KLWVzaWQ6IHNlYy1yZWFsbS5wcm90b3R5cGUuaW1wb3J0dmFsdWUKLWRlc2NyaXB0aW9uOiA+
Ci0gIFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBjYW4gaW1wb3J0IGEgdmFsdWUuCi1mbGFn
czogW2FzeW5jLCBtb2R1bGVdCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10K
LS0tLSovCi0KLWFzc2VydC5zYW1lVmFsdWUoCi0gIHR5cGVvZiBSZWFsbS5wcm90b3R5cGUuaW1w
b3J0VmFsdWUsCi0gICdmdW5jdGlvbicsCi0gICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFJlYWxt
LnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0KLWNvbnN0IHIg
PSBuZXcgUmVhbG0oKTsKLQotci5pbXBvcnRWYWx1ZSgnLi9pbXBvcnQtdmFsdWVfRklYVFVSRS5q
cycsICd4JykudGhlbih4ID0+IHsKLQotICBhc3NlcnQuc2FtZVZhbHVlKHgsIDEpOwotCi19KS50
aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL2ltcG9ydC12YWx1ZV9GSVhUVVJFLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRW
YWx1ZS9pbXBvcnQtdmFsdWVfRklYVFVSRS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDMxNGE3Zjk0NWY4MGRlZjY5MjMwM2QxNDU1NDdkNmFlNmIyZjFjYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL2ltcG9ydC12YWx1ZV9GSVhUVVJF
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi1leHBv
cnQgdmFyIHggPSAxOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9sZW5ndGguanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL2xlbmd0aC5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFlYWVhODdjODVmY2UwMDRlMDNmMTY3ZDhhZWUz
MTI2OTc4ZWE1OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZh
bHVlL2xlbmd0aC5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3RvdHlwZS5pbXBvcnR2YWx1ZQotZGVzY3Jp
cHRpb246ID4KLSAgVGhlIHZhbHVlIG9mIFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZS5sZW5n
dGggaXMgMgotaW5mbzogfAotICBFdmVyeSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1
ZGluZyBjb25zdHJ1Y3RvcnMsIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5Ci0gIHdob3NlIHZhbHVl
IGlzIGEgbm9uLW5lZ2F0aXZlIGludGVncmFsIE51bWJlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVj
aWZpZWQsIHRoaXMgdmFsdWUKLSAgaXMgZXF1YWwgdG8gdGhlIG51bWJlciBvZiByZXF1aXJlZCBw
YXJhbWV0ZXJzIHNob3duIGluIHRoZSBzdWJjbGF1c2UgaGVhZGluZyBmb3IgdGhlCi0gIGZ1bmN0
aW9uIGRlc2NyaXB0aW9uLiBPcHRpb25hbCBwYXJhbWV0ZXJzIGFuZCByZXN0IHBhcmFtZXRlcnMg
YXJlIG5vdCBpbmNsdWRlZCBpbgotICB0aGUgcGFyYW1ldGVyIGNvdW50LgotCi0gIFVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgImxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBm
dW5jdGlvbiBvYmplY3QgaGFzCi0gIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxz
ZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCi0KLWlu
Y2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5
LXJlYWxtc10KLS0tLSovCi0KLXZlcmlmeVByb3BlcnR5KFJlYWxtLnByb3RvdHlwZS5pbXBvcnRW
YWx1ZSwgImxlbmd0aCIsIHsKLSAgdmFsdWU6IDIsCi0gIGVudW1lcmFibGU6IGZhbHNlLAotICB3
cml0YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLX0pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1
ZS9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlw
ZS9pbXBvcnRWYWx1ZS9uYW1lLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YjIz
MzY3OTlkYmM3YTU3ZDY1OTBlYjZmMTQ2MjRjMTI0MzE3YzQzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvbmFtZS5qcworKysgL2Rldi9udWxsCkBAIC0x
LDI3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXJlYWxtLnByb3Rv
dHlwZS5pbXBvcnRWYWx1ZQotZGVzY3JpcHRpb246ID4KLSAgVGhlIHZhbHVlIG9mIFJlYWxtLnBy
b3RvdHlwZS5pbXBvcnRWYWx1ZS5uYW1lIGlzICdpbXBvcnRWYWx1ZScKLWluZm86IHwKLSAgUmVh
bG0ucHJvdG90eXBlLmltcG9ydFZhbHVlCi0KLSAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSAibmFtZSIgcHJvcGVydHkgCi0gIHdo
b3NlIHZhbHVlIGlzIGEgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2
YWx1ZSBpcyB0aGUgbmFtZSAKLSAgdGhhdCBpcyBnaXZlbiB0byB0aGUgZnVuY3Rpb24gaW4gdGhp
cyBzcGVjaWZpY2F0aW9uLiAKLQotICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlICJu
YW1lIiBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIGZ1bmN0aW9uIAotICBvYmplY3QgaGFzIHRoZSBh
dHRyaWJ1dGVzIAotICB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxz
ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgotCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVy
LmpzXQotZmVhdHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotCi12ZXJp
ZnlQcm9wZXJ0eShSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUsICJuYW1lIiwgewotICB2YWx1
ZTogImltcG9ydFZhbHVlIiwKLSAgZW51bWVyYWJsZTogZmFsc2UsCi0gIHdyaXRhYmxlOiBmYWxz
ZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlLAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL25vdC1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUv
aW1wb3J0VmFsdWUvbm90LWNvbnN0cnVjdG9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3ZDgzZTQ5ZDNjYjgxMDY2YmE4MzQ1YjcyNTNjMmFjYjVlY2U3NTJlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvbm90LWNvbnN0cnVjdG9yLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1l
c2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmltcG9ydHZhbHVlCi1kZXNjcmlwdGlvbjogPgotICBS
ZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUgaXMgbm90IGEgY29uc3RydWN0b3IuCi1pbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCi1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxt
cywgUmVmbGVjdC5jb25zdHJ1Y3RdCi0tLS0qLwotCi1hc3NlcnQuc2FtZVZhbHVlKAotICB0eXBl
b2YgUmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlLAotICAnZnVuY3Rpb24nLAotICAnVGhpcyB0
ZXN0IG11c3QgZmFpbCBpZiBSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUgaXMgbm90IGEgZnVu
Y3Rpb24nCi0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKAotICBpc0NvbnN0cnVjdG9yKFJlYWxtLnBy
b3RvdHlwZS5pbXBvcnRWYWx1ZSksCi0gIGZhbHNlLAotICAnaXNDb25zdHJ1Y3RvcihSZWFsbS5w
cm90b3R5cGUuaW1wb3J0VmFsdWUpIG11c3QgcmV0dXJuIGZhbHNlJwotKTsKLQotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKLSAgbmV3IFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1
ZSgiIiwgIm5hbWUiKTsKLX0sICdgbmV3IFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSgiIilg
IHRocm93cyBUeXBlRXJyb3InKTsKLQotY29uc3QgciA9IG5ldyBSZWFsbSgpOyAKLQotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKLSAgbmV3IHIuaW1wb3JWYWx1ZSgiLi9pbXBvcnQt
dmFsdWVfRklYVFVSRS5qcyIsICJ4Iik7Ci19LCAnYG5ldyByLmltcG9yVmFsdWUoIi4uLiIpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3Byb3RvLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9wcm90by5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM3ZWRhOGJmMmExMTVmOTY2ZTA5Y2JiOTBm
Yjc0NmQxYTA3ZGVkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9y
dFZhbHVlL3Byb3RvLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy8gQ29weXJp
Z2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtcmVhbG0ucHJvdG90eXBlLmltcG9ydHZhbHVlCi1kZXNj
cmlwdGlvbjogPgotICBUaGUgW1tQcm90b3R5cGVdXSBvZiBSZWFsbS5wcm90b3R5cGUuaW1wb3J0
VmFsdWUgaXMgQXN5bmNGdW5jdGlvbi5Qcm90b3R5cGUuCi1pbmZvOiB8Ci0gIFVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGV2ZXJ5IGJ1aWx0LWluIGZ1bmN0aW9uIGFuZCBldmVyeSBidWlsdC1p
biBjb25zdHJ1Y3RvcgotICBoYXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QsIHdoaWNo
IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uCi0gIEZ1bmN0aW9uLnByb3Rv
dHlwZSwgYXMgdGhlIHZhbHVlIG9mIGl0cyBbW1Byb3RvdHlwZV1dIGludGVybmFsIHNsb3QuCi0K
LWZlYXR1cmVzOiBbY2FsbGFibGUtYm91bmRhcnktcmVhbG1zXQotLS0tKi8KLQotYXNzZXJ0LnNh
bWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVl
KSwgRnVuY3Rpb24ucHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvc3BlY2lmaWVyLXRvc3RyaW5n
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBv
cnRWYWx1ZS9zcGVjaWZpZXItdG9zdHJpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGJlYmE5NDRiMzM3NGNmZWQxYmE5YjJkY2E0M2JlZTg1NDUyNWNjNGUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9zcGVjaWZpZXItdG9zdHJpbmcu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0K
LWVzaWQ6IHNlYy1yZWFsbS5wcm90b3R5cGUuaW1wb3J0dmFsdWUKLWRlc2NyaXB0aW9uOiA+Ci0g
IFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBjb2VyY2VzIHNwZWNpZmllciB0byBzdHJpbmcu
Ci1mZWF0dXJlczogW2NhbGxhYmxlLWJvdW5kYXJ5LXJlYWxtc10KLS0tLSovCi0KLWFzc2VydC5z
YW1lVmFsdWUoCi0gIHR5cGVvZiBSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUsCi0gICdmdW5j
dGlvbicsCi0gICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFJlYWxtLnByb3RvdHlwZS5pbXBvcnRW
YWx1ZSBpcyBub3QgYSBmdW5jdGlvbicKLSk7Ci0KLWNvbnN0IHIgPSBuZXcgUmVhbG0oKTsKLWxl
dCBjb3VudCA9IDA7Ci0KLWNvbnN0IHNwZWNpZmllciA9IHsKLSAgdG9TdHJpbmcoKSB7Ci0gICAg
Y291bnQgKz0gMTsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7Ci0gIH0KLX07Ci0KLWFz
c2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7Ci0gIHIuaW1wb3J0VmFsdWUoc3BlY2lm
aWVyKTsKLX0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUv
dGhyb3dzLWlmLWltcG9ydC12YWx1ZS1kb2VzLW5vdC1leGlzdC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvdGhyb3dzLWlmLWlt
cG9ydC12YWx1ZS1kb2VzLW5vdC1leGlzdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNzc3NDZiMTAzNWVmM2MzMDc1YzQ3ODIzNjllMDliZTYwNzViMWFjOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3Rocm93cy1pZi1pbXBvcnQtdmFs
dWUtZG9lcy1ub3QtZXhpc3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vLyBD
b3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1yZWFsbWltcG9ydHZhbHVlCi1kZXNjcmlwdGlv
bjogPgotICBSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUgcmVqZWN0cyB3aGVuIGV4cG9ydCBu
YW1lIGRvZXMgbm90IGV4aXN0Ci1pbmZvOiB8Ci0gIFJlYWxtSW1wb3J0VmFsdWUgKCBzcGVjaWZp
ZXJTdHJpbmcsIGV4cG9ydE5hbWVTdHJpbmcsIGNhbGxlclJlYWxtLCBldmFsUmVhbG0sIGV2YWxD
b250ZXh0ICkKLQotICAgIEFzc2VydDogVHlwZShzcGVjaWZpZXJTdHJpbmcpIGlzIFN0cmluZy4K
LSAgICBBc3NlcnQ6IFR5cGUoZXhwb3J0TmFtZVN0cmluZykgaXMgU3RyaW5nLgotICAgIEFzc2Vy
dDogY2FsbGVyUmVhbG0gaXMgYSBSZWFsbSBSZWNvcmQuCi0gICAgQXNzZXJ0OiBldmFsUmVhbG0g
aXMgYSBSZWFsbSBSZWNvcmQuCi0gICAgQXNzZXJ0OiBldmFsQ29udGV4dCBpcyBhbiBleGVjdXRp
b24gY29udGV4dCBhc3NvY2lhdGVkIHRvIGEgUmVhbG0gaW5zdGFuY2UncyBbW0V4ZWN1dGlvbkNv
bnRleHRdXS4KLSAgICBMZXQgaW5uZXJDYXBhYmlsaXR5IGJlICEgTmV3UHJvbWlzZUNhcGFiaWxp
dHkoJVByb21pc2UlKS4KLSAgICBMZXQgcnVubmluZ0NvbnRleHQgYmUgdGhlIHJ1bm5pbmcgZXhl
Y3V0aW9uIGNvbnRleHQuCi0gICAgSWYgcnVubmluZ0NvbnRleHQgaXMgbm90IGFscmVhZHkgc3Vz
cGVuZGVkLCBzdXNwZW5kIHJ1bm5pbmdDb250ZXh0LgotICAgIFB1c2ggZXZhbENvbnRleHQgb250
byB0aGUgZXhlY3V0aW9uIGNvbnRleHQgc3RhY2s7IGV2YWxDb250ZXh0IGlzIG5vdyB0aGUgcnVu
bmluZyBleGVjdXRpb24gY29udGV4dC4KLSAgICBQZXJmb3JtICEgSG9zdEltcG9ydE1vZHVsZUR5
bmFtaWNhbGx5KG51bGwsIHNwZWNpZmllclN0cmluZywgaW5uZXJDYXBhYmlsaXR5KS4KLSAgICBT
dXNwZW5kIGV2YWxDb250ZXh0IGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgZXhlY3V0aW9uIGNvbnRl
eHQgc3RhY2suCi0gICAgUmVzdW1lIHRoZSBjb250ZXh0IHRoYXQgaXMgbm93IG9uIHRoZSB0b3Ag
b2YgdGhlIGV4ZWN1dGlvbiBjb250ZXh0IHN0YWNrIGFzIHRoZSBydW5uaW5nCi0gICAgZXhlY3V0
aW9uIGNvbnRleHQuCi0gICAgTGV0IHN0ZXBzIGJlIHRoZSBzdGVwcyBvZiBhbiBFeHBvcnRHZXR0
ZXIgZnVuY3Rpb24gYXMgZGVzY3JpYmVkIGJlbG93LgotCi0gIEFuIEV4cG9ydEdldHRlciBmdW5j
dGlvbiBpcyBhbiBhbm9ueW1vdXMgYnVpbHQtaW4gZnVuY3Rpb24gd2l0aCBhIFtbRXhwb3J0TmFt
ZVN0cmluZ11dCi0gIGludGVybmFsIHNsb3QuIFdoZW4gYW4gRXhwb3J0R2V0dGVyIGZ1bmN0aW9u
IGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50IGV4cG9ydHMsCi0gIGl0IHBlcmZvcm1zIHRoZSBmb2xs
b3dpbmcgc3RlcHM6Ci0KLSAgICBBc3NlcnQ6IGV4cG9ydHMgaXMgYSBtb2R1bGUgbmFtZXNwYWNl
IGV4b3RpYyBvYmplY3QuCi0gICAgTGV0IGYgYmUgdGhlIGFjdGl2ZSBmdW5jdGlvbiBvYmplY3Qu
Ci0gICAgTGV0IHN0cmluZyBiZSBmLltbRXhwb3J0TmFtZVN0cmluZ11dLgotICAgIEFzc2VydDog
VHlwZShzdHJpbmcpIGlzIFN0cmluZy4KLSAgICBMZXQgaGFzT3duIGJlID8gSGFzT3duUHJvcGVy
dHkoZXhwb3J0cywgc3RyaW5nKS4KLSAgICBJZiBoYXNPd24gaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KLSAgICAuLi4KLQotZmxhZ3M6IFthc3luYywgbW9kdWxlXQotZmVh
dHVyZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotCi1hc3NlcnQuc2FtZVZh
bHVlKAotICB0eXBlb2YgUmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlLAotICAnZnVuY3Rpb24n
LAotICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUg
aXMgbm90IGEgZnVuY3Rpb24nCi0pOwotCi1jb25zdCByID0gbmV3IFJlYWxtKCk7Ci0KLXIuaW1w
b3J0VmFsdWUoJy4vaW1wb3J0LXZhbHVlX0ZJWFRVUkUuanMnLCAneScpCi0gIC50aGVuKAotICAg
ICgpID0+ICRET05FKCdFeHBlY3RlZCByZWplY3Rpb24nKSwKLSAgICAoKSA9PiAkRE9ORSgpCi0g
ICk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJv
dG90eXBlL2ltcG9ydFZhbHVlL3ZhbGlkYXRlcy1yZWFsbS1vYmplY3QuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3ZhbGlkYXRl
cy1yZWFsbS1vYmplY3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0YTIyNDE1
ODM3MmIzMTBkYjVmMDEwZDY2NjA4NjU1ODNjZjliYzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
YWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS92YWxpZGF0ZXMtcmVhbG0tb2JqZWN0LmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBz
ZWMtcmVhbG0ucHJvdG90eXBlLmltcG9ydHZhbHVlCi1kZXNjcmlwdGlvbjogPgotICBSZWFsbS5w
cm90b3R5cGUuaW1wb3J0VmFsdWUgdmFsaWRhdGVzIHJlYWxtIG9iamVjdC4KLWZlYXR1cmVzOiBb
Y2FsbGFibGUtYm91bmRhcnktcmVhbG1zXQotLS0tKi8KLQotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAg
dHlwZW9mIFJlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSwKLSAgJ2Z1bmN0aW9uJywKLSAgJ1Ro
aXMgdGVzdCBtdXN0IGZhaWwgaWYgUmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlIGlzIG5vdCBh
IGZ1bmN0aW9uJwotKTsKLQotY29uc3QgciA9IG5ldyBSZWFsbSgpOwotY29uc3QgYm9ndXMgPSB7
fTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICByLmltcG9ydFZh
bHVlLmNhbGwoYm9ndXMsICJzcGVjaWZpZXIiLCAibmFtZSIpOwotfSwgJ3Rocm93cyBhIFR5cGVF
cnJvciBpZiB0aGlzIGlzIG5vdCBhIFJlYWxtIG9iamVjdCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9wcm90by5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWFsbS9wcm90b3R5cGUvcHJvdG8uanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5NzAyMTA1YjQ2MTU3MDM0Yzk4MTJhYzVkNjMxYjE5
Y2JiYTgzY2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlYWxtL3Byb3RvdHlwZS9wcm90by5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNp
ZDogc2VjLXByb3BlcnRpZXMtb2YtdGhlLXJlYWxtLXByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0
aW9uOiA+Ci0gIFRoZSBbW1Byb3RvdHlwZV1dIG9mIFJlYWxtLnByb3RvdHlwZSBpcyBPYmplY3Qu
UHJvdG90eXBlLgotaW5mbzogfAotICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBldmVyeSBi
dWlsdC1pbiBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgT2JqZWN0IHByb3RvdHlwZQotICBvYmpl
Y3QsIHdoaWNoIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uIE9iamVjdC5w
cm90b3R5cGUsIGFzIHRoZSB2YWx1ZQotICBvZiBpdHMgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBz
bG90LCBleGNlcHQgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGl0c2VsZi4KLQotZmVhdHVy
ZXM6IFtjYWxsYWJsZS1ib3VuZGFyeS1yZWFsbXNdCi0tLS0qLwotCi1hc3NlcnQuc2FtZVZhbHVl
KE9iamVjdC5nZXRQcm90b3R5cGVPZihSZWFsbS5wcm90b3R5cGUpLCBPYmplY3QucHJvdG90eXBl
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4xX0ExX1QxLmpzCmluZGV4IDIwZmYwNjEzNGFmZjM1NjZkMzI2ZmNjMGEwZjM1NWFiZTNl
NGQyMWUuLmE0M2UzZDI5ODMxZGQ1MzEwNjhlZWM0ZDRhMzdkYmM4OTgxOWVmODMgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9B
MV9UMS5qcwpAQCAtNywxMSArNywxNCBAQAogZGVzY3JpcHRpb246IFRlc3RlZCBSZWdFeHAgaXMg
ImEqKiIKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiBuZXcgUmVnRXhwKCJhKioiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsg
KG5ldyBSZWdFeHAoImEqKiIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTog
bmV3IFJlZ0V4cCgiYSoqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVn
RXhwKCJhKioiKSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yICE9PSB0cnVlKSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBuZXcgUmVn
RXhwKCJhKioiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFz
c2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUs
CisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEwLmpzCmluZGV4IDlhNzc5NmM4Y2Vh
NGU0Njk3OGU0MjQ1ZDk5MzkwM2NjZGE1ZDVlYzAuLjc2Mjc5ZDM0MDdiMTE2NDFhODQzYjNjYjJk
OTI5NzM0NzJmYThmMDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEwLmpzCkBAIC03LDExICs3LDE0IEBACiBkZXNj
cmlwdGlvbjogVGVzdGVkIFJlZ0V4cCBpcyAiKythIgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdFeHAoIisrYSIpIHRocm93
IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiKythIikpKTsKKyAgICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCIrK2EiKSB0aHJvdyBTeW50YXhF
cnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIisrYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0J
aWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAoIisrYSIpIHRocm93IFN5bnRheEVycm9yLiBB
Y3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5n
IChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7
CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFf
VDExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9B
MV9UMTEuanMKaW5kZXggYzA4OTUwZGVlNzI5NDEyNGJiOGMwZTAwODNmNTc4ODkzYzUwYzVjZi4u
YzBmNjViOWIxZDFjZWE1ZjUyZDdjZWQ0Njg0OWZhYWRhNjUyZTNjYyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTEuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTEu
anMKQEAgLTcsMTEgKzcsMTQgQEAKIGRlc2NyaXB0aW9uOiBUZXN0ZWQgUmVnRXhwIGlzICI/YSIK
IC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4x
OiBuZXcgUmVnRXhwKCI/YSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJl
Z0V4cCgiP2EiKSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdF
eHAoIj9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCI/YSIp
KSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0
cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAoIj9hIikg
dGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhy
b3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxMi5qcwppbmRleCAxYTZmYjNmYzE0YTIxZjQwODkwNGQz
NmJlYjg3NzBhNTM2MjAyNWY5Li4wNzEyMjczMzI3MWZiOTQ1NDc3ZDNkZTRkNmRiOTNkMDhmZjUx
MjljIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4xX0ExX1QxMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4xX0ExX1QxMi5qcwpAQCAtNywxMSArNywxNCBAQAogZGVzY3JpcHRpb246IFRl
c3RlZCBSZWdFeHAgaXMgIj8/YSIKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCI/P2EiKSB0aHJvdyBTeW50YXhFcnJv
ci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/YSIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiPz9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVh
bDogJyArIChuZXcgUmVnRXhwKCI/P2EiKSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgoZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiBuZXcgUmVnRXhwKCI/P2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsg
KGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5j
ZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxMy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEzLmpzCmlu
ZGV4IDk1NzVjMDhlZGJmNGVhNWI2NTE2MmVlMjcxNTYxNGZkMWU5NWIyZTcuLmJkZDFjYjIxZDAx
OTY3ODk4NjAxODc1Y2E3MTQyYjVmN2EwY2NmNjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEzLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDEzLmpzCkBAIC03LDEx
ICs3LDE0IEBACiBkZXNjcmlwdGlvbjogVGVzdGVkIFJlZ0V4cCBpcyAieHsxfXsxLH0iCiAtLS0q
LwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3
IFJlZ0V4cCgieHsxfXsxLH0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBS
ZWdFeHAoInh7MX17MSx9IikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBu
ZXcgUmVnRXhwKCJ4ezF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3
IFJlZ0V4cCgieHsxfXsxLH0iKSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgoZSBpbnN0YW5jZW9m
IFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4y
OiBuZXcgUmVnRXhwKCJ4ezF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
ZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJy
b3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRP
RE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDE0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTQuanMKaW5k
ZXggNjJkMWRiNmY1MjcxOTJhNGQ2MGZlOTM3NjAxZWZiYWQ4YjQ5MzNkZi4uZjgyMTk5OWJhNGIy
ZWUzODcwOWRjOWExYWI5YTVjOWEwODc4ZTcyZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTQuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTQuanMKQEAgLTcsMTEg
KzcsMTQgQEAKIGRlc2NyaXB0aW9uOiBUZXN0ZWQgUmVnRXhwIGlzICJ4ezEsMn17MX0iCiAtLS0q
LwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3
IFJlZ0V4cCgieHsxLDJ9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcg
UmVnRXhwKCJ4ezEsMn17MX0iKSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6
IG5ldyBSZWdFeHAoInh7MSwyfXsxfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
bmV3IFJlZ0V4cCgieHsxLDJ9ezF9IikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFu
Y2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzEuMjogbmV3IFJlZ0V4cCgieHsxLDJ9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDog
JyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50
YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5z
dGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMTUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxNS5q
cwppbmRleCAzYzEyNjVlYzU2YmJkMzBhODY4ZGYxMDNmM2Q0YzAyNDE0N2UxOTM5Li4xNGU3NmM2
YjY4NTNhMmU0NTU5MTBhZjA0NDExNTVhOTE2MjcwYzg5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxNS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxNS5qcwpAQCAt
NywxMSArNywxNCBAQAogZGVzY3JpcHRpb246IFRlc3RlZCBSZWdFeHAgaXMgInh7MSx9ezF9Igog
LS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6
IG5ldyBSZWdFeHAoInh7MSx9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChu
ZXcgUmVnRXhwKCJ4ezEsfXsxfSIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEu
MTogbmV3IFJlZ0V4cCgieHsxLH17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsg
KG5ldyBSZWdFeHAoInh7MSx9ezF9IikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFu
Y2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzEuMjogbmV3IFJlZ0V4cCgieHsxLH17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAn
ICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRh
eEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisv
LyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QxNi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDE2Lmpz
CmluZGV4IGUyYmE3NGNhYmJmMzQ4NGNiYWNjZmM3YTcyMDA4NGJlZDVhNzJiMjYuLjRlZGU3YTNh
NDNjZjRlZGM1YThiZTI2N2M2ZmEwYzdkZGI5ZTE1Y2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDE2LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDE2LmpzCkBAIC03
LDExICs3LDE0IEBACiBkZXNjcmlwdGlvbjogVGVzdGVkIFJlZ0V4cCBpcyAieHswLDF9ezEsfSIK
IC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4x
OiBuZXcgUmVnRXhwKCJ4ezAsMX17MSx9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyAr
IChuZXcgUmVnRXhwKCJ4ezAsMX17MSx9IikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiBuZXcgUmVnRXhwKCJ4ezAsMX17MSx9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVh
bDogJyArIChuZXcgUmVnRXhwKCJ4ezAsMX17MSx9IikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAo
KGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9y
LiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3Rh
bmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0
aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisg
ICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFf
QTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4x
X0ExX1QyLmpzCmluZGV4IDcwZWFlZGM0N2Q5MzhkNmJlMTE4MjUzMGVmMDNmODAyNTA4OTNjNzMu
LjA4Yzc4MDc3YTlhMjBmMjFkNzM5NDcyMmY0Mjg3ZDU4NzkwNmRiNTIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDIuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMi5q
cwpAQCAtNywxMSArNywxNCBAQAogZGVzY3JpcHRpb246IFRlc3RlZCBSZWdFeHAgaXMgImEqKioi
CiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEu
MTogbmV3IFJlZ0V4cCgiYSoqKiIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3
IFJlZ0V4cCgiYSoqKiIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3
IFJlZ0V4cCgiYSoqKiIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4
cCgiYSoqKiIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJy
b3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdF
eHAoImEqKioiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFz
c2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUs
CisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UMy5qcwppbmRleCAyZDg3NTA1ZmI1YmUy
NTQ0ZTI4ZTRmZmJjYWZmYjZmMjdmMmYwOGQ0Li5iMzgyODUwM2Y3OWU1N2Y2MTNjZjQ5ZjIyOTIw
YjljMDc0ZThiNDU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4xX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDMuanMKQEAgLTcsMTEgKzcsMTQgQEAKIGRlc2NyaXB0
aW9uOiBUZXN0ZWQgUmVnRXhwIGlzICJhKysiCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiYSsrIikgdGhyb3cgU3lu
dGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKysiKSkpOworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdFeHAoImErKyIpIHRocm93IFN5bnRheEVycm9y
LiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSsrIikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAo
KGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgiYSsrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVh
bDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBT
eW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUg
aW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0K
KworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UNC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDQu
anMKaW5kZXggNmRjMDNjOTlhY2QxYjA4NWMzYTc4ODUwOGJkM2Q2M2M3NTQ3OGJhMS4uMTBjNTRk
ODJlMjQxZDQ1Njc5ZTRhNmJmZDZhMDAzYzMxNjRhMjg0NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UNC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q0LmpzCkBAIC03
LDExICs3LDE0IEBACiBkZXNjcmlwdGlvbjogVGVzdGVkIFJlZ0V4cCBpcyAiYSsrKyIKIC0tLSov
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcg
UmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhw
KCJhKysrIikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhw
KCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKysr
IikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09
IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgiYSsr
KyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAn
VGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0
LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q1LmpzCmluZGV4IDQ5ZDAzMGE3MzdkYjEyZjNiOWVh
YzAxZjZmYmY4MmIwNGRlNmRiMzguLmEyM2FkZmRkYTlkNDk1NjA2M2QzZGZjYjBiMjFiZjQ1ODNk
Y2NlMmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjFfQTFfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMV9BMV9UNS5qcwpAQCAtNywxMSArNywxNCBAQAogZGVzY3JpcHRpb246IFRl
c3RlZCBSZWdFeHAgaXMgImE/Pz8iCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiYT8/PyIpIHRocm93IFN5bnRheEVy
cm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYT8/PyIpKSk7CisgICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiYT8/PyIpIHRocm93IFN5bnRheEVycm9yLiBB
Y3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYT8/PyIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChl
IGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAoImE/Pz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFs
OiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5
bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBp
bnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQor
CisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q2Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UNi5q
cwppbmRleCBjNjIzN2I4YzhmMjRjNmRjZTEwZWFhZDUxODJkNjg2YTU0ZmE2NTcyLi5jMGQ3NzQw
N2MwNGNhOTRmYmQzMDc1OGVmYjQ1NGQwNjRjZDQ4NWFhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q2LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDYuanMKQEAgLTcs
MTEgKzcsMTQgQEAKIGRlc2NyaXB0aW9uOiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/PyIKIC0tLSov
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcg
UmVnRXhwKCJhPz8/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4
cCgiYT8/Pz8iKSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdF
eHAoImE/Pz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJh
Pz8/PyIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3Ip
ICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAo
ImE/Pz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBhc3Nl
cnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAor
ICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBh
c3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDcuanMKaW5kZXggYmUxMTJiNGIwZDFmNTNl
OGViN2JiZGY3NzVlZjUyMWQ0NTZiMmM2NS4uNTc0ZWIwMzEzZGRmMzhiY2QyYzM1NDI3MzJhNWZj
ZTBmYzhiN2E4OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMV9BMV9UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q3LmpzCkBAIC03LDExICs3LDE0IEBACiBkZXNjcmlwdGlv
bjogVGVzdGVkIFJlZ0V4cCBpcyAiKmEiCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiKmEiKSB0aHJvdyBTeW50YXhF
cnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiphIikpKTsKKyAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCIqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1
YWw6ICcgKyAobmV3IFJlZ0V4cCgiKmEiKSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgoZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiBuZXcgUmVnRXhwKCIqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
ZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJy
b3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRP
RE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDguanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q4LmpzCmluZGV4
IDZmZTgyM2I4Y2U3MmI2NzM1ZGJhMmQ2MmVjOTBjMzdlNDIyYjg5N2YuLjBhZTIzNjAyZjQyNjI1
OGVhYTc4N2EzYjMxZjViNTM5MmEzMjVhYTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFfQTFfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMV9BMV9UOC5qcwpAQCAtNywxMSArNywx
NCBAQAogZGVzY3JpcHRpb246IFRlc3RlZCBSZWdFeHAgaXMgIioqYSIKIC0tLSovCiAKLS8vQ0hF
Q0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCIq
KmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIioqYSIpKSk7
CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiKiphIikgdGhy
b3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCIqKmEiKSkpOwogfSBjYXRj
aCAoZSkgewotCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBuZXcgUmVnRXhwKCIqKmEiKSB0aHJvdyBTeW50
YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2Yg
ZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4xX0ExX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMV9BMV9UOS5qcwppbmRleCA0ZjUyMGQ1Njk2MDA1ZGRkZGRlNTIwMDIzZDkxOWQ2NmI4
MDZlMThlLi4yNGJmMTc5Y2I1NTU4NGI2YmQ4NzFkZjgzNDdkNDVkYmU0NGQ5MmMxIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4xX0ExX1Q5
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjFf
QTFfVDkuanMKQEAgLTcsMTEgKzcsMTQgQEAKIGRlc2NyaXB0aW9uOiBUZXN0ZWQgUmVnRXhwIGlz
ICIrYSIKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiBuZXcgUmVnRXhwKCIrYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
bmV3IFJlZ0V4cCgiK2EiKSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5l
dyBSZWdFeHAoIithIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhw
KCIrYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3Ip
ICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAo
IithIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3Nl
cnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMS4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMS4xX1QxLmpzCmluZGV4IDQ1ZmQxOGQ3
YWZhNTBhMjM3ODIxOTExZjZmNWQxNWNhNDBkZWYyYTAuLjBkZjA0MzZmYmFmOWI5MmZlYTBhYzk3
YjFlOTcwYjE2YTY1MTI5MjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTBfQTEuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEwX0ExLjFfVDEuanMKQEAgLTksMTMgKzks
MTEgQEAKIGRlc2NyaXB0aW9uOiBVc2UgXHQgaW4gUmVnRXhwIGFuZCBcdTAwMDkgaW4gdGVzdGVk
IHN0cmluZwogLS0tKi8KIAotLy9DSEVDSyMxCiB2YXIgYXJyID0gL1x0Ly5leGVjKCJcdTAwMDki
KTsKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDA5IikpIHsKICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHZhciBhcnIgPSAvXFx0Ly5leGVjKCJcXHUwMDA5Iik7
IGFyclswXSA9PT0gIlxcdTAwMDkiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwogfQog
Ci0vL0NIRUNLIzIKIHZhciBhcnIgPSAvXHRcdC8uZXhlYygiYVx1MDAwOVx1MDAwOWIiKTsKIGlm
ICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDA5XHUwMDA5IikpIHsKICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhciBhcnIgPSAvXFx0XFx0Ly5leGVjKCJhXFx1MDAw
OVxcdTAwMDliIik7IGFyclswXSA9PT0gIlxcdTAwMDlcXHUwMDA5Ii4gQWN0dWFsLiAnICsgKGFy
ciAmJiBhcnJbMF0pKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTBfQTEuMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTBfQTEuMl9UMS5qcwppbmRleCBhNmUyMDFkM2ZhMThl
YzBkYmJiMjMwNjgzOWJjYjdmOGRjOWU0YzU1Li4zNGVmYWY5ODk1N2I3MTQ4M2YzNjVmYmU2Zjc3
ODQ5YmZiZjkxN2IxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjEwX0ExLjJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BMS4yX1QxLmpzCkBAIC05LDEzICs5LDExIEBA
CiBkZXNjcmlwdGlvbjogVXNlIFxuIGluIFJlZ0V4cCBhbmQgXHUwMDBBIGluIHRlc3RlZCBzdHJp
bmcKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdmFyIGFyciA9IC9cbi8uZXhlYygiXHUwMDBBIik7CiBp
ZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQSIpKSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiB2YXIgYXJyID0gL1xcbi8uZXhlYygiXFx1MDAwQSIpOyBhcnJb
MF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKIH0KIAotLy9D
SEVDSyMyCiB2YXIgYXJyID0gL1xuXG4vLmV4ZWMoImFcdTAwMEFcdTAwMEFiIik7CiBpZiAoKGFy
ciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQVx1MDAwQSIpKSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiB2YXIgYXJyID0gL1xcblxcbi8uZXhlYygiYVxcdTAwMEFcXHUw
MDBBYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBBXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYg
YXJyWzBdKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjEwX0ExLjNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjEwX0ExLjNfVDEuanMKaW5kZXggM2IwZTk1NGUxOTZhODBiNWVi
NGMxZWJkYWI0ZWY0ZmRmMWQ0Mzk3MS4uNzg0YjExYTI2ZmQxYTk4MzNkNTFkOTI0ZThmN2FlNDk3
Njk5ZjYxOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xMF9BMS4zX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTBfQTEuM19UMS5qcwpAQCAtOSwxMyArOSwxMSBAQAogZGVz
Y3JpcHRpb246IFVzZSBcdiBpbiBSZWdFeHAgYW5kIFx1MDAwQiBpbiB0ZXN0ZWQgc3RyaW5nCiAt
LS0qLwogCi0vL0NIRUNLIzEKIHZhciBhcnIgPSAvXHYvLmV4ZWMoIlx1MDAwQiIpOwogaWYgKChh
cnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMEIiKSkgewogICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogdmFyIGFyciA9IC9cXHYvLmV4ZWMoIlxcdTAwMEIiKTsgYXJyWzBdID09
PSAiXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sj
MgogdmFyIGFyciA9IC9cdlx2Ly5leGVjKCJhXHUwMDBCXHUwMDBCYiIpOwogaWYgKChhcnIgPT09
IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMEJcdTAwMEIiKSkgewogICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogdmFyIGFyciA9IC9cXHZcXHYvLmV4ZWMoImFcXHUwMDBCXFx1MDAwQmIi
KTsgYXJyWzBdID09PSAiXFx1MDAwQlxcdTAwMEIiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclsw
XSkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xMF9BMS40X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xMF9BMS40X1QxLmpzCmluZGV4IGQ5ZTMzZjExMTI3OWY1NjA1M2JiOTJh
MWVhMTg4ZmYzYzQxYzM2NjguLjQ1YTg1ODhlNzI3M2JkMDFjZjYyNjFiMDU3ZTlhODlmNThlNGEy
MDUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTBfQTEuNF9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjEwX0ExLjRfVDEuanMKQEAgLTksMTMgKzksMTEgQEAKIGRlc2NyaXB0
aW9uOiBVc2UgXGYgaW4gUmVnRXhwIGFuZCBcdTAwMEMgaW4gdGVzdGVkIHN0cmluZwogLS0tKi8K
IAotLy9DSEVDSyMxCiB2YXIgYXJyID0gL1xmLy5leGVjKCJcdTAwMEMiKTsKIGlmICgoYXJyID09
PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBDIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IHZhciBhcnIgPSAvXFxmLy5leGVjKCJcXHUwMDBDIik7IGFyclswXSA9PT0gIlxc
dTAwMEMiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwogfQogCi0vL0NIRUNLIzIKIHZh
ciBhcnIgPSAvXGZcZi8uZXhlYygiYVx1MDAwQ1x1MDAwQ2IiKTsKIGlmICgoYXJyID09PSBudWxs
KSB8fCAoYXJyWzBdICE9PSAiXHUwMDBDXHUwMDBDIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IHZhciBhcnIgPSAvXFxmXFxmLy5leGVjKCJhXFx1MDAwQ1xcdTAwMENiIik7IGFy
clswXSA9PT0gIlxcdTAwMENcXHUwMDBDIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTBfQTEuNV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTBfQTEuNV9UMS5qcwppbmRleCA2MmZlOWJiZTJhZTA5ZmM0NDQxMzQ5ZmRkMTJj
NTlmM2I1M2IxMmU1Li5mMjYyZTY1OGQ0NjdiYzc3YTMzY2YzZWYyNjNjNGNlOWJjNWZkZjM4IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjEwX0ExLjVfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xMF9BMS41X1QxLmpzCkBAIC05LDEzICs5LDExIEBACiBkZXNjcmlwdGlvbjog
VXNlIFxyIGluIFJlZ0V4cCBhbmQgXHUwMDBEIGluIHRlc3RlZCBzdHJpbmcKIC0tLSovCiAKLS8v
Q0hFQ0sjMQogdmFyIGFyciA9IC9cci8uZXhlYygiXHUwMDBEIik7CiBpZiAoKGFyciA9PT0gbnVs
bCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiB2YXIgYXJyID0gL1xcci8uZXhlYygiXFx1MDAwRCIpOyBhcnJbMF0gPT09ICJcXHUwMDBE
Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKIH0KIAotLy9DSEVDSyMyCiB2YXIgYXJy
ID0gL1xyXHIvLmV4ZWMoImFcdTAwMERcdTAwMERiIik7CiBpZiAoKGFyciA9PT0gbnVsbCkgfHwg
KGFyclswXSAhPT0gIlx1MDAwRFx1MDAwRCIpKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiB2YXIgYXJyID0gL1xcclxcci8uZXhlYygiYVxcdTAwMERcXHUwMDBEYiIpOyBhcnJbMF0g
PT09ICJcXHUwMDBEXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEw
X0EyLjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEwX0EyLjFfVDEuanMKaW5kZXggNjM4N2Y2MmFlOWYwMzY5ZGU0NzBhMzNiNjQ0NTE0N2Ux
ZmE4MGVhNS4uMTA4MDA0NmQyNDUxZTg0NDQ3ZTY2YTVmZGU1ZTRlZTE3YjIzYjA3MCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9B
Mi4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTBfQTIuMV9UMS5qcwpAQCAtNyw4ICs3LDcgQEAKIGRlc2NyaXB0aW9uOiAiQ29udHJv
bExldHRlciA6OiBBIC0gWiIKIC0tLSovCiAKLS8vQ0hFQ0sjMDA0MS0wMDVBCi12YXIgcmVzdWx0
ID0gdHJ1ZTsgCit2YXIgcmVzdWx0ID0gdHJ1ZTsKIGZvciAodmFyIGFscGhhID0gMHgwMDQxOyBh
bHBoYSA8PSAweDAwNUE7IGFscGhhKyspIHsKICAgdmFyIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNv
ZGUoYWxwaGEgJSAzMik7CiAgIHZhciBhcnIgPSAobmV3IFJlZ0V4cCgiXFxjIiArIFN0cmluZy5m
cm9tQ2hhckNvZGUoYWxwaGEpKSkuZXhlYyhzdHIpOyAgCkBAIC0xNyw2ICsxNiw0IEBACiAgIH0K
IH0KIAotaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogQ2hhcmFjdGVyRXNjYXBlIDo6IGMgQSAtIFonKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUocmVz
dWx0LCB0cnVlLCAnVGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEwX0EyLjFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEwX0EyLjFfVDIuanMKaW5kZXggNzIwYWM4YzE4ZTk5N2ZjZTUxOTZmOGE3YTg0
YjM0NWI0ZmQ3NTYxYS4uYjNkZGI3ODhkZWQxMWQ0NmE3OWU4MDUxMzUxYmYwYTEyZDYwMWEzMCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4xMF9BMi4xX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTBfQTIuMV9UMi5qcwpAQCAtNyw4ICs3LDcgQEAKIGRlc2NyaXB0aW9uOiAi
Q29udHJvbExldHRlciA6OiBhIC0geiIKIC0tLSovCiAKLS8vQ0hFQ0sjMDA2MS0wMDdBCi12YXIg
cmVzdWx0ID0gdHJ1ZTsgCit2YXIgcmVzdWx0ID0gdHJ1ZTsKIGZvciAodmFyIGFscGhhID0gMHgw
MDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICAgdmFyIHN0ciA9IFN0cmluZy5mcm9t
Q2hhckNvZGUoYWxwaGEgJSAzMik7CiAgIHZhciBhcnIgPSAobmV3IFJlZ0V4cCgiXFxjIiArIFN0
cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSkuZXhlYyhzdHIpOyAgCkBAIC0xNyw2ICsxNiw0IEBA
CiAgIH0KIH0KIAotaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogQ2hhcmFjdGVyRXNjYXBlIDo6IGMgYSAtIHonKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCB0cnVlLCAnVGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEwX0EzLjFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjEwX0EzLjFfVDEuanMKaW5kZXggOTA2ZGRkNzMzM2VhZWE2YjM5ZmRh
NzE3N2I3YzNiZmI4Y2Y5MWM1Ny4uZjY4OGYxODFkYzI2NTJjZjFhMDAxMjZlMzM3OWEzMzhiZTA4
YzI3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xMF9BMy4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTBfQTMuMV9UMS5qcwpAQCAtNywyNSArNywyMSBAQAogZGVzY3Jp
cHRpb246IFRlc3RlZCBzdHJpbmcgaW5jbHVkZSBlcXVhbCB1bmljb2RlIHN5bWJvbHMKIC0tLSov
CiAKLS8vQ0hFQ0sjMAogdmFyIGFyciA9IC9ceDAwLy5leGVjKCJcdTAwMDAiKTsgCiBpZiAoKGFy
ciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMCIpKSB7CiAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMwOiB2YXIgYXJyID0gL1xceDAwLy5leGVjKFxcdTAwMDApOyBhcnJbMF0gPT09
ICJcXHUwMDAwIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKIH0KIAotLy9DSEVDSyMx
CiB2YXIgYXJyID0gL1x4MDEvLmV4ZWMoIlx1MDAwMSIpOyAKIGlmICgoYXJyID09PSBudWxsKSB8
fCAoYXJyWzBdICE9PSAiXHUwMDAxIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IHZhciBhcnIgPSAvXFx4MDEvLmV4ZWMoXFx1MDAwMSk7IGFyclswXSA9PT0gIlxcdTAwMDEiLiBB
Y3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwogfQogCi0vL0NIRUNLIzIKIHZhciBhcnIgPSAv
XHgwQS8uZXhlYygiXHUwMDBBIik7IAogaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09
ICJcdTAwMEEiKSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdmFyIGFyciA9IC9c
XHgwQS8uZXhlYyhcXHUwMDBBKTsgYXJyWzBdID09PSAiXFx1MDAwQSIuIEFjdHVhbC4gJyArIChh
cnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sjMwogdmFyIGFyciA9IC9ceEZGLy5leGVjKCJc
dTAwRkYiKTsgCiBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDBGRiIpKSB7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiB2YXIgYXJyID0gL1xceEZGLy5leGVjKFxc
dTAwRkYpOyBhcnJbMF0gPT09ICJcXHUwMEZGIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0p
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTBfQTMuMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTBfQTMuMV9UMi5qcwppbmRleCA1MjQ0MTVhYjAzYjA0NzgwNzhlZmIwZmRi
NWJkODI1OTAyN2ZhNDQwLi4xZWU2NTQ3NmJkYmI0OGU5OTBlN2RiYmYxZGY4MzExZDdmODQzY2M3
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEwX0EzLjFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xMF9BMy4xX1QyLmpzCkBAIC03LDcgKzcsNiBAQAogZGVzY3JpcHRpb246
IENoZWNraW5nIEVOR0xJU0ggQ0FQSVRBTCBBTFBIQUJFVCBhbmQgZW5nbGlzaCBzbWFsbCBhbHBo
YWJldAogLS0tKi8KIAotLy9DSEVDSyM0MS01QQogdmFyIGhleCA9IFsiXFx4NDEiLCAiXFx4NDIi
LCAiXFx4NDMiLCAiXFx4NDQiLCAiXFx4NDUiLCAiXFx4NDYiLCAiXFx4NDciLCAiXFx4NDgiLCAi
XFx4NDkiLCAiXFx4NEEiLCAiXFx4NEIiLCAiXFx4NEMiLCAiXFx4NEQiLCAiXFx4NEUiLCAiXFx4
NEYiLCAiXFx4NTAiLCAiXFx4NTEiLCAiXFx4NTIiLCAiXFx4NTMiLCAiXFx4NTQiLCAiXFx4NTUi
LCAiXFx4NTYiLCAiXFx4NTciLCAiXFx4NTgiLCAiXFx4NTkiLCAiXFx4NUEiXTsKIHZhciBjaGFy
YWN0ZXIgPSBbIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoi
LCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwg
IlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwogdmFyIHJlc3VsdCA9IHRydWU7CkBAIC0xOCwxMSAr
MTcsOCBAQAogICB9CiB9CiAKLWlmIChyZXN1bHQgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IEVOR0xJU0ggQ0FQSVRBTCBBTFBIQUJFVCcpOwotfSAgCithc3NlcnQu
c2FtZVZhbHVlKHJlc3VsdCwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScpOwogCi0vL0NIRUNLIzYxLTdBCiBoZXggPSBbIlxceDYxIiwgIlxceDYyIiwg
IlxceDYzIiwgIlxceDY0IiwgIlxceDY1IiwgIlxceDY2IiwgIlxceDY3IiwgIlxceDY4IiwgIlxc
eDY5IiwgIlxceDZBIiwgIlxceDZCIiwgIlxceDZDIiwgIlxceDZEIiwgIlxceDZFIiwgIlxceDZG
IiwgIlxceDcwIiwgIlxceDcxIiwgIlxceDcyIiwgIlxceDczIiwgIlxceDc0IiwgIlxceDc1Iiwg
IlxceDc2IiwgIlxceDc3IiwgIlxceDc4IiwgIlxceDc5IiwgIlxceDdBIl07CiBjaGFyYWN0ZXIg
PSBbImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIs
ICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAi
dyIsICJ4IiwgInkiLCAieiJdOwogdmFyIHJlc3VsdCA9IHRydWU7CkBAIC0zMyw2ICsyOSw0IEBA
CiAgIH0KIH0KIAotaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIHRydWUsICdUaGUgdmFsdWUgb2YgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUn
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTBfQTQuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTBfQTQuMV9UMS5qcwppbmRleCBmMzEwZjIyZjRmNmY3OTEzZDdhYWU2MWE2
OGQ2YmFlMmQ4ZDJjYWJhLi4yNTg1ZWQ4MmM2ODYzMjExMWJiYjZhNDQyMjcyNDhkN2M1ZjY0YjA5
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEwX0E0LjFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xMF9BNC4xX1QxLmpzCkBAIC05LDM3ICs5LDMxIEBACiBkZXNjcmlwdGlv
bjogUmVnRXhwIGFuZCB0ZXN0ZWQgc3RyaW5nIGluY2x1ZGUgdW5jb2RlIHN5bWJvbHMKIC0tLSov
CiAKLS8vQ0hFQ0sjMAogdmFyIGFyciA9IC9cdTAwMDAvLmV4ZWMoIlx1MDAwMCIpOyAKIGlmICgo
YXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzA6IHZhciBhcnIgPSAvXFx1MDAwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBd
ID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hF
Q0sjMQogdmFyIGFyciA9IC9cdTAwMDEvLmV4ZWMoIlx1MDAwMSIpOyAKIGlmICgoYXJyID09PSBu
dWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAxIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IHZhciBhcnIgPSAvXFx1MDAwMS8uZXhlYyhcXHUwMDAxKTsgYXJyWzBdID09PSAiXFx1
MDAwMSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sjMgogdmFy
IGFyciA9IC9cdTAwMEEvLmV4ZWMoIlx1MDAwQSIpOyAKIGlmICgoYXJyID09PSBudWxsKSB8fCAo
YXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZh
ciBhcnIgPSAvXFx1MDAwQS8uZXhlYyhcXHUwMDBBKTsgYXJyWzBdID09PSAiXFx1MDAwQSIuIEFj
dHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sjMwogdmFyIGFyciA9IC9c
dTAwRkYvLmV4ZWMoIlx1MDBGRiIpOyAKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9
PSAiXHUwMEZGIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IHZhciBhcnIgPSAv
XFx1MDBGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyAr
IChhcnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sjNAogdmFyIGFyciA9IC9cdTBGRkYvLmV4
ZWMoIlx1MEZGRiIpOyAKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwRkZG
IikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IHZhciBhcnIgPSAvXFx1MEZGRi8u
ZXhlYyhcXHUwRkZGKTsgYXJyWzBdID09PSAiXFx1MEZGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYg
YXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sjNQogdmFyIGFyciA9IC9cdUZGRkYvLmV4ZWMoIlx1RkZG
RiIpOyAKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHVGRkZGIikpIHsKICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IHZhciBhcnIgPSAvXFx1RkZGRi8uZXhlYyhcXHVG
RkZGKTsgYXJyWzBdID09PSAiXFx1RkZGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEwX0E0LjFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEwX0E0LjFfVDIuanMKaW5kZXggMTU2ZWFmYjBmZTA2NTdiYzBmNTYwNjBlNjgy
Yjg4YTYyOGYzMmRkZC4uOGZjODRhMmQ4ODM3Y2Y4MDQ4ZTdkNjc1NjdmMWQ3YjMyNDQ4NmY4MiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4xMF9BNC4xX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTBfQTQuMV9UMi5qcwpAQCAtMTEsNyArMTEsNiBAQAogICAgIGFscGhhYmV0
CiAtLS0qLwogCi0vL0NIRUNLIzQxLTVBCiB2YXIgaGV4ID0gWyJcXHUwMDQxIiwgIlxcdTAwNDIi
LCAiXFx1MDA0MyIsICJcXHUwMDQ0IiwgIlxcdTAwNDUiLCAiXFx1MDA0NiIsICJcXHUwMDQ3Iiwg
IlxcdTAwNDgiLCAiXFx1MDA0OSIsICJcXHUwMDRBIiwgIlxcdTAwNEIiLCAiXFx1MDA0QyIsICJc
XHUwMDREIiwgIlxcdTAwNEUiLCAiXFx1MDA0RiIsICJcXHUwMDUwIiwgIlxcdTAwNTEiLCAiXFx1
MDA1MiIsICJcXHUwMDUzIiwgIlxcdTAwNTQiLCAiXFx1MDA1NSIsICJcXHUwMDU2IiwgIlxcdTAw
NTciLCAiXFx1MDA1OCIsICJcXHUwMDU5IiwgIlxcdTAwNUEiXTsKIHZhciBjaGFyYWN0ZXIgPSBb
IkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJM
IiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIs
ICJYIiwgIlkiLCAiWiJdOwogdmFyIHJlc3VsdCA9IHRydWU7CkBAIC0yMiwxMSArMjEsOCBAQAog
ICB9CiB9CiAKLWlmIChyZXN1bHQgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IEVOR0xJU0ggQ0FQSVRBTCBBTFBIQUJFVCcpOwotfSAgCithc3NlcnQuc2FtZVZhbHVl
KHJlc3VsdCwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScpOwogCi0vL0NIRUNLIzYxLTdBCiBoZXggPSBbIlxcdTAwNjEiLCAiXFx1MDA2MiIsICJcXHUw
MDYzIiwgIlxcdTAwNjQiLCAiXFx1MDA2NSIsICJcXHUwMDY2IiwgIlxcdTAwNjciLCAiXFx1MDA2
OCIsICJcXHUwMDY5IiwgIlxcdTAwNkEiLCAiXFx1MDA2QiIsICJcXHUwMDZDIiwgIlxcdTAwNkQi
LCAiXFx1MDA2RSIsICJcXHUwMDZGIiwgIlxcdTAwNzAiLCAiXFx1MDA3MSIsICJcXHUwMDcyIiwg
IlxcdTAwNzMiLCAiXFx1MDA3NCIsICJcXHUwMDc1IiwgIlxcdTAwNzYiLCAiXFx1MDA3NyIsICJc
XHUwMDc4IiwgIlxcdTAwNzkiLCAiXFx1MDA3QSJdOwogY2hhcmFjdGVyID0gWyJhIiwgImIiLCAi
YyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4i
LCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5Iiwg
InoiXTsKIHZhciByZXN1bHQgPSB0cnVlOwpAQCAtMzcsNiArMzMsNCBAQAogICB9CiB9CiAKLWlm
IChyZXN1bHQgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGVuZ2xp
c2ggc21hbGwgYWxwaGFiZXQnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB0cnVlLCAn
VGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEwX0E0LjFf
VDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEw
X0E0LjFfVDMuanMKaW5kZXggZWZhNmY4MmE4ZWY4NDcwZGM1YjNmOWI4MGNiODcyMDAxNWU0Mzk3
Ny4uNmQyMmQzNTljNDBiNTJkZmVjMjU1NzZhMDQ5OWMzNGUzYWQwYzZhNSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMF9BNC4xX1Qz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
MTBfQTQuMV9UMy5qcwpAQCAtMTEsNyArMTEsNiBAQAogICAgIGFscGhhYmV0IGluIHVuaWNvZGUg
bm90YXRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMDQxMC0wNDJGLCAwNDAxIAogdmFyIGhleCA9IFsi
XFx1MDQxMCIsICJcXHUwNDExIiwgIlxcdTA0MTIiLCAiXFx1MDQxMyIsICJcXHUwNDE0IiwgIlxc
dTA0MTUiLCAiXFx1MDQxNiIsICJcXHUwNDE3IiwgIlxcdTA0MTgiLCAiXFx1MDQxOSIsICJcXHUw
NDFBIiwgIlxcdTA0MUIiLCAiXFx1MDQxQyIsICJcXHUwNDFEIiwgIlxcdTA0MUUiLCAiXFx1MDQx
RiIsICJcXHUwNDIwIiwgIlxcdTA0MjEiLCAiXFx1MDQyMiIsICJcXHUwNDIzIiwgIlxcdTA0MjQi
LCAiXFx1MDQyNSIsICJcXHUwNDI2IiwgIlxcdTA0MjciLCAiXFx1MDQyOCIsICJcXHUwNDI5Iiwg
IlxcdTA0MkEiLCAiXFx1MDQyQiIsICJcXHUwNDJDIiwgIlxcdTA0MkQiLCAiXFx1MDQyRSIsICJc
XHUwNDJGIiwgIlxcdTA0MDEiXTsKIHZhciBjaGFyYWN0ZXIgPSBbIlx1MDQxMCIsICJcdTA0MTEi
LCAiXHUwNDEyIiwgIlx1MDQxMyIsICJcdTA0MTQiLCAiXHUwNDE1IiwgIlx1MDQxNiIsICJcdTA0
MTciLCAiXHUwNDE4IiwgIlx1MDQxOSIsICJcdTA0MUEiLCAiXHUwNDFCIiwgIlx1MDQxQyIsICJc
dTA0MUQiLCAiXHUwNDFFIiwgIlx1MDQxRiIsICJcdTA0MjAiLCAiXHUwNDIxIiwgIlx1MDQyMiIs
ICJcdTA0MjMiLCAiXHUwNDI0IiwgIlx1MDQyNSIsICJcdTA0MjYiLCAiXHUwNDI3IiwgIlx1MDQy
OCIsICJcdTA0MjkiLCAiXHUwNDJBIiwgIlx1MDQyQiIsICJcdTA0MkMiLCAiXHUwNDJEIiwgIlx1
MDQyRSIsICJcdTA0MkYiLCAiXHUwNDAxIl07CiB2YXIgcmVzdWx0ID0gdHJ1ZTsKQEAgLTIyLDEx
ICsyMSw4IEBACiAgIH0KIH0KIAotaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogUlVTU0lBTiBDQVBJVEFMIEFMUEhBQkVUJyk7Ci19ICAKK2Fzc2Vy
dC5zYW1lVmFsdWUocmVzdWx0LCB0cnVlLCAnVGhlIHZhbHVlIG9mIHJlc3VsdCBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJyk7CiAKLS8vQ0hFQ0sjMDQzMC0wNDRGLCAwNDUxCiBoZXggPSBbIlxcdTA0
MzAiLCAiXFx1MDQzMSIsICJcXHUwNDMyIiwgIlxcdTA0MzMiLCAiXFx1MDQzNCIsICJcXHUwNDM1
IiwgIlxcdTA0MzYiLCAiXFx1MDQzNyIsICJcXHUwNDM4IiwgIlxcdTA0MzkiLCAiXFx1MDQzQSIs
ICJcXHUwNDNCIiwgIlxcdTA0M0MiLCAiXFx1MDQzRCIsICJcXHUwNDNFIiwgIlxcdTA0M0YiLCAi
XFx1MDQ0MCIsICJcXHUwNDQxIiwgIlxcdTA0NDIiLCAiXFx1MDQ0MyIsICJcXHUwNDQ0IiwgIlxc
dTA0NDUiLCAiXFx1MDQ0NiIsICJcXHUwNDQ3IiwgIlxcdTA0NDgiLCAiXFx1MDQ0OSIsICJcXHUw
NDRBIiwgIlxcdTA0NEIiLCAiXFx1MDQ0QyIsICJcXHUwNDREIiwgIlxcdTA0NEUiLCAiXFx1MDQ0
RiIsICJcXHUwNDUxIl07CiBjaGFyYWN0ZXIgPSBbIlx1MDQzMCIsICJcdTA0MzEiLCAiXHUwNDMy
IiwgIlx1MDQzMyIsICJcdTA0MzQiLCAiXHUwNDM1IiwgIlx1MDQzNiIsICJcdTA0MzciLCAiXHUw
NDM4IiwgIlx1MDQzOSIsICJcdTA0M0EiLCAiXHUwNDNCIiwgIlx1MDQzQyIsICJcdTA0M0QiLCAi
XHUwNDNFIiwgIlx1MDQzRiIsICJcdTA0NDAiLCAiXHUwNDQxIiwgIlx1MDQ0MiIsICJcdTA0NDMi
LCAiXHUwNDQ0IiwgIlx1MDQ0NSIsICJcdTA0NDYiLCAiXHUwNDQ3IiwgIlx1MDQ0OCIsICJcdTA0
NDkiLCAiXHUwNDRBIiwgIlx1MDQ0QiIsICJcdTA0NEMiLCAiXHUwNDREIiwgIlx1MDQ0RSIsICJc
dTA0NEYiLCAiXHUwNDUxIl07CiB2YXIgcmVzdWx0ID0gdHJ1ZTsKQEAgLTM3LDYgKzMzLDQgQEAK
ICAgfQogfQogCi1pZiAocmVzdWx0ICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBydXNzaWFuIHNtYWxsIGFscGhhYmV0Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xMF9BNS4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xMF9BNS4xX1QxLmpzCmluZGV4IGY1MWI4NzgzNDY3MGVjYjI2NGU1ZjZkYjhm
MjUwMDBmNzJiYjQ1ODguLjNjMjI0YzQzZTI3NjU1MjhkZDE3OGFkZjM0ZGQ1ZTk0ZTA1ODRjMjgg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTBfQTUuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjEwX0E1LjFfVDEuanMKQEAgLTksNyArOSw2IEBACiBkZXNjcmlwdGlvbjog
IlRlc3RlZCBzdHJpbmcgaXMgXCJ+YCFAIyQlXiYqKCktKz17W31dfFxcXFw6Oyc8LD4uLz9cIiAr
ICdcIiciCiAtLS0qLwogCi0vL0NIRUNLIzEKIHZhciBub25faWRlbnQgPSAifmAhQCMkJV4mKigp
LSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIic7CiBmb3IgKHZhciBrID0gMDsgayA8IG5vbl9pZGVu
dC5sZW5ndGg7ICsraykgewogICB2YXIgYXJyID0gbmV3IFJlZ0V4cCgiXFwiICsgbm9uX2lkZW50
W2tdLCAiZyIpLmV4ZWMobm9uX2lkZW50KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1QxLmpzCmluZGV4IDc3NjM2
NTgwMGE0ZGNhMzJkYzhlMGY3Y2QxNmVlYWY5ZjVhOGM2YjAuLjAzZDNkNTE3YzI2YTMwMDJlYWY2
YzdlNjcwNDk1M2Q0NTM0YjlmZWIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMV9BMV9UMS5qcwpAQCAtOSwxMyArOSwx
MSBAQAogICAgIGNvbnNpc3Rpbmcgb2YgYSA8TlVMPiBjaGFyYWN0ZXIgKFVuaWNvZGV2YWx1ZTAw
MDApCiAtLS0qLwogCi0vL0NIRUNLIzEKIHZhciBhcnIgPSAvXDAvLmV4ZWMoIlx1MDAwMCIpOyAK
IGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IHZhciBhcnIgPSAvXFwwLy5leGVjKFxcdTAwMDApOyBhcnJb
MF0gPT09ICJcXHUwMDAwIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKIH0KIAotLy9D
SEVDSyMyCiB2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKCJcdTAwMDAiKTsgCiBp
ZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMCIpKSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiB2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKFxc
dTAwMDApOyBhcnJbMF0gPT09ICJcXHUwMDAwIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0p
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTFfQTFfVDQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjExX0ExX1Q0LmpzCmluZGV4IDQ4ZmYzMThlNTI2NGFmMGE0MTRmOTY5ODg3NjEz
MWRkNWI3Nzk1M2MuLmE1YTRjZDk0YjJkNWZmNjdiN2I2NDQ2ZGQ3MzU4MzVmNTUwNTZlMDggMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
MTFfQTFfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xMV9BMV9UNC5qcwpAQCAtOSwxMiArOSwxMCBAQAogCiB2YXIgYXJyID0gLyhBKVwx
Ly5leGVjKCJBQSIpOwogCi0vL0NIRUNLIzEKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBd
ICE9PSAiQUEiKSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogdmFyIGFyciA9ICgv
KEEpXFwxLy5leGVjKCJBQSIpKTsgYXJyWzBdID09PSAiQUEiLiBBY3R1YWwuICcgKyAoYXJyICYm
IGFyclswXSkpOwogfQogCi0vL0NIRUNLIzIKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzFd
ICE9PSAiQSIpKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB2YXIgYXJyID0gKC8o
QSlcXDEvLmV4ZWMoIkFBIikpOyBhcnJbMV0gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBh
cnJbMV0pKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q1LmpzCmluZGV4IDljYmRiYTUxNjc4ZmFmNDc0YTAy
M2U1NjEzOGU0ZDQ1NjA1YzA2ZTMuLmUxMDgwYmIyZTM1OTRlYWNkZDg5NWE0MzNjNWE3MDAzMTEx
MDI0ZTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTFfQTFfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4xMV9BMV9UNS5qcwpAQCAtOSwxMiArOSwxMCBAQAogCiB2YXIgYXJy
ID0gL1wxKEEpLy5leGVjKCJBQSIpOwogCi0vL0NIRUNLIzEKIGlmICgoYXJyID09PSBudWxsKSB8
fCAoYXJyWzBdICE9PSAiQSIpKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB2YXIg
YXJyID0gKC9cXDEoQSkvLmV4ZWMoIkFBIikpOyBhcnJbMF0gPT09ICJBIi4gQWN0dWFsLiAnICsg
KGFyciAmJiBhcnJbMF0pKTsKIH0KIAotLy9DSEVDSyMyCiBpZiAoKGFyciA9PT0gbnVsbCkgfHwg
KGFyclsxXSAhPT0gIkEiKSkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogdmFyIGFy
ciA9ICgvXFwxKEEpLy5leGVjKCJBQSIpKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChh
cnIgJiYgYXJyWzFdKSk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMV9BMV9UNi5qcwppbmRleCBjOTM2Nzg0YWFlZjFm
Y2MxNjc0ZTdkOTQwMmUwMDY2NTZlYzU4ZjE4Li5hNWRhNGM0ZTEyZWZlMzgwNTEzZDYxNDE2OTk1
MjE5MTkxNjM2ZDJmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDYuanMKQEAgLTksMTcgKzksMTQgQEAKIAog
dmFyIGFyciA9IC8oQSlcMShCKVwyLy5leGVjKCJBQUJCIik7CiAKLS8vQ0hFQ0sjMQogaWYgKChh
cnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJBQUJCIikpIHsKICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IHZhciBhcnIgPSAvKEEpXFwxKEIpXFwyLy5leGVjKCJBQUJCIik7IGFyclsw
XSA9PT0gIkFBQkIiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwogfQogCi0vL0NIRUNL
IzIKIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzFdICE9PSAiQSIpKSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiB2YXIgYXJyID0gLyhBKVxcMShCKVxcMi8uZXhlYygiQUFCQiIp
OyBhcnJbMV0gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMV0pKTsKIH0KIAotLy9D
SEVDSyMzCiBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsyXSAhPT0gIkIiKSkgewogICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogdmFyIGFyciA9IC8oQSlcXDEoQilcXDIvLmV4ZWMoIkFB
QkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7CiB9CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjExX0ExX1Q3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xMV9BMV9UNy5qcwppbmRleCA3NjkxZDAyMzJjYTVlZWEzOTRlMjc3YmE4MjkzZjAzZjc3
ZDc2MjgwLi41M2Y4MzEzMjIxM2YzYzlmMjVjMDI4YjJlZTY0MTlkMjUwNDQ2YzYzIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0Ex
X1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTFfQTFfVDcuanMKQEAgLTksMTcgKzksMTQgQEAKIAogdmFyIGFyciA9IC9cMShBKShCKVwy
Ly5leGVjKCJBQkIiKTsKIAotLy9DSEVDSyMxCiBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsw
XSAhPT0gIkFCQiIpKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiB2YXIgYXJyID0g
L1xcMShBKShCKVxcMi8uZXhlYygiQUJCIik7IGFyclswXSA9PT0gIkFCQiIuIEFjdHVhbC4gJyAr
IChhcnIgJiYgYXJyWzBdKSk7CiB9CiAKLS8vQ0hFQ0sjMgogaWYgKChhcnIgPT09IG51bGwpIHx8
IChhcnJbMV0gIT09ICJBIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhciBh
cnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4g
JyArIChhcnIgJiYgYXJyWzFdKSk7CiB9CiAKLS8vQ0hFQ0sjMwogaWYgKChhcnIgPT09IG51bGwp
IHx8IChhcnJbMl0gIT09ICJCIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IHZh
ciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVh
bC4gJyArIChhcnIgJiYgYXJyWzJdKSk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q4LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMV9BMV9UOC5qcwppbmRleCA3Zjk5
MDY0ZGM3ZjI0MjY2Y2VmY2I0NGQ2NTg5OGNlNWJmNTk1YzhjLi41MWRiZTZmNWM2ZWIzOTg3MWEy
Mzk2NDc4MGRiMGNhZDRlNDk1NmQ2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDguanMKQEAgLTksMTQgKzks
MTIgQEAKIAogdmFyIGFyciA9IC8oKCgoKCgoKCgoQSkpKSkpKSkpKSlcMVwyXDNcNFw1XDZcN1w4
XDlcMTAvLmV4ZWMoIkFBQUFBQUFBQUFBIik7CiAKLS8vQ0hFQ0sjMQogaWYgKChhcnIgPT09IG51
bGwpIHx8IChhcnJbMF0gIT09ICJBQUFBQUFBQUFBQSIpKSB7CiAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMVxcMlxcM1xcNFxc
NVxcNlxcN1xcOFxcOVxcMTAvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFB
QUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKIH0KIAogZm9yICh2YXIgaSA9
IDE7IGkgPD0gMTA7IGkrKykgewotICAvL0NIRUNLI2kKLSAgaWYgKChhcnIgPT09IG51bGwpIHx8
IChhcnJbaV0gIT09ICJBIikpIHsKKyAgICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFycltpXSAh
PT0gIkEiKSkgewogICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiB2YXIgYXJyID0gLygo
KCgoKCgoKChBKSkpKSkpKSkpKVxcMVxcMlxcM1xcNFxcNVxcNlxcN1xcOFxcOVxcMTAvLmV4ZWMo
IkFBQUFBQUFBQUFBIik7IGFyclsnICsgaSArICddID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIg
JiYgYXJyW2ldKSk7CiAgIH0KIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjExX0ExX1Q5LmpzCmluZGV4IDM4NjBiZjExY2Zk
NzcwMmZkMjAxMjZkNmFjMjI1MWIxYmZjZTM4NGQuLjAzNmVhODcyZWE3OTdkNjFlYjIyODYyNzYw
MWIyOTJhZjYyNjM5NDUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTFfQTFfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xMV9BMV9UOS5qcwpAQCAtOSwxNCArOSwxMiBAQAog
CiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxMFw5XDhcN1w2XDVcNFwzXDJcMS8u
ZXhlYygiQUFBQUFBQUFBQUEiKTsKIAotLy9DSEVDSyMxCiBpZiAoKGFyciA9PT0gbnVsbCkgfHwg
KGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxMFxcOVxcOFxcN1xcNlxcNVxc
NFxcM1xcMlxcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWzBdID09PSAiQUFBQUFBQUFBQUEi
LiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwogfQogCiBmb3IgKHZhciBpID0gMTsgaSA8
PSAxMDsgaSsrKSB7Ci0gIC8vQ0hFQ0sjaQotICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFycltp
XSAhPT0gIkEiKSkgeworICAgIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyW2ldICE9PSAiQSIp
KSB7CiAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgo
KEEpKSkpKSkpKSkpXFwxMFxcOVxcOFxcN1xcNlxcNVxcNFxcM1xcMlxcMS8uZXhlYygiQUFBQUFB
QUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJb
aV0pKTsKICAgfQogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4xMl9BM19UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTJfQTNfVDUuanMKaW5kZXggM2MxNWI4ZGFmNmQ5NDZiNTBh
N2IxZmMwNTg2MmQ0N2MyNjc1MmFkZC4uMGE1NjdkMzkxMDk0MjMxZWZmOWUwNjZlMGI4NmVhZWMw
NzllMThhMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xMl9BM19UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjEyX0EzX1Q1LmpzCkBAIC05LDEzICs5LDE0IEBACiBkZXNjcmlw
dGlvbjogbm9uLXcKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdmFyIG5vbl93ID0gIlxmXG5cclx0XHZ+
YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/ICIgKyAnIic7Ci1pZiAoL1x3Ly5leGVjKG5v
bl93KSAhPT0gbnVsbCkgewotICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IG5vbi13Jyk7
Ci19CiAKLS8vQ0hFQ0sjMgorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgL1x3Ly5leGVjKG5vbl93KSwK
KyAgbnVsbCwKKyAgJy93Ly5leGVjKCIiZm5ydHZ+YCFAIyQlXiYqKCktKz17W31dfDo7XCc8LD4u
Lz8gIiArIFwnIlwnIikgbXVzdCByZXR1cm4gbnVsbCcKKyk7CisKIHZhciBub25fVyA9ICJfMDEy
MzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZX
WFlaIjsKIHZhciByZWdleHBfdyA9IC9cdy9nOwogdmFyIGsgPSAwOwpAQCAtMjMsNiArMjQsNCBA
QAogICAgaysrOwogfQogCi1pZiAobm9uX1cubGVuZ3RoICE9PSBrKSB7Ci0gICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogbm9uLVcnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUobm9uX1cubGVu
Z3RoLCBrLCAnVGhlIHZhbHVlIG9mIG5vbl9XLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgaycpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xMl9BNF9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTJfQTRfVDUuanMKaW5kZXggODczYTk2YjdhODlhODk0
NWYyMWM4Mzc1Nzg5Mzc3YWZiM2UyODc5Ni4uYTVkZTQ4ZTUwZDNiNzIyOThkOWRjNWJiNzFiYzU2
ZjE4ZjEyMjlkOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xMl9BNF9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEyX0E0X1Q1LmpzCkBAIC05LDcgKzksNiBAQAogZGVzY3Jp
cHRpb246IG5vbi13CiAtLS0qLwogCi0vL0NIRUNLIzEKIHZhciBub25fdyA9ICJcZlxuXHJcdFx2
fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwogdmFyIHJlZ2V4cF9XID0g
L1xXL2c7CiB2YXIgayA9IDA7CkBAIC0xNywxMiArMTYsMTIgQEAKICAgIGsrKzsKIH0KIAotaWYg
KG5vbl93Lmxlbmd0aCAhPT0gaykgewotICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IG5v
bi13Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKG5vbl93Lmxlbmd0aCwgaywgJ1RoZSB2YWx1ZSBv
ZiBub25fdy5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIGsnKTsKIAot
Ly9DSEVDSyMyCiB2YXIgbm9uX1cgPSAiXzAxMjM0NTY3ODlfYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7Ci1pZiAoL1xXLy5leGVjKG5vbl9XKSAh
PT0gbnVsbCkgewotICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IG5vbi1XJyk7Ci19CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIC9cVy8uZXhlYyhub25fVyksCisgIG51bGwsCisgICcvVy8u
ZXhlYygiIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVoiIikgbXVzdCByZXR1cm4gbnVsbCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMS5q
cwppbmRleCBhYzA2YWRkYWRlYmZkNjg4M2FhNmEyM2Y2ZDAyM2M4MzY5M2UzYzhiLi4zNTQyOGZi
YzdlNDg5ZjMwNzJjNGExMjFkMzUyODM4ZmM4YjBjNzEwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDEuanMK
QEAgLTEwLDkgKzEwLDUgQEAKIGRlc2NyaXB0aW9uOiBFeGVjdXRlIC9bXWEvLnRlc3QoIlwwYVww
YSIpIGFuZCBjaGVjayByZXN1bHRzCiAtLS0qLwogCi12YXIgX19leGVjdXRlZCA9IC9bXWEvLnRl
c3QoIlwwYVwwYSIpOzsKLQotLy9DSEVDSyMxCi0gaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogL1tdYS8udGVzdCgiXFwwYVxcMGEiKSA9PT0gZmFsc2UnKTsK
LX0KK3ZhciBfX2V4ZWN1dGVkID0gL1tdYS8udGVzdCgiXDBhXDBhIik7Cithc3NlcnQoIV9fZXhl
Y3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMV9UMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEzX0ExX1QxMC5qcwppbmRleCBhNjRjMjI4NTMyN2IzYzRlMTAxYTBkMDg1MWZj
NjhmMWM3MDIyYjZhLi4wNTBhNGZlNDIwZmU1ZjZiNmU3YjVmYzU1MjJmYjJiNWYxODJkOGMwIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjEzX0ExX1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEzX0ExX1QxMC5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBfX2V4cGVjdGVkLmlu
ZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiXG5cblxhYmMzMjQyMzRcbiI7CiAKLS8vQ0hF
Q0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLWNcXGRdKy8uZXhlYygi
XFxuXFxuXFxhYmMzMjQyMzRcXG4iKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4
ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvW2EtY1xcZF0rLy5leGVjKCJcXG5cXG5cXGFiYzMyNDIz
NFxcbiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBl
Y3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0g
L1thLWNcXGRdKy8uZXhlYygiXFxuXFxuXFxhYmMzMjQyMzRcXG4iKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW2EtY1xcZF0rLy5leGVjKCJcXG5c
XG5cXGFiYzMyNDIzNFxcbiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4x
M19BMV9UMTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEzX0ExX1QxMS5qcwppbmRleCA3MzA5ZTQ5NWIwYTQ0MmJjNGM4Yzc3ZDQzNmNhZmYwZWJj
MjA1MGZkLi40M2U3ZTQzMTk3Nzc1MDk5Yzg3ZWI2ZTk4MDE1YTA5Nzk1ZGY0OThjIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0Ex
X1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEzX0ExX1QxMS5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0g
MDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRl
ZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVu
Z3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
Lmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAg
X19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAot
Ly9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL2FiWy5dP2MvLmV4ZWMo
ImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBl
Y3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0g
L2FiWy5dP2MvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3Rl
ZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7
IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5k
ZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NDogX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZFsnICsgaW5k
ZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2lu
ZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2lu
ZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDEyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMTIuanMKaW5kZXggMDAyMTA0ZTMxMzAxNDZl
ZTYwNzkxNDUzNDNmMTRlZGE5NDlkNmUyOC4uNjJmNDhjNzA1NjYyNzQyMDRkZWEyNzRjZmU3MGRl
ZWJhOTdiMDQwNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xM19BMV9UMTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMTIuanMKQEAgLTE2LDI0ICsxNiwyOCBAQAog
X19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CiAKLS8vQ0hF
Q0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYl1jLy5leGVjKCJhYmMi
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4
cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQg
PSAvYVtiXWMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3Rl
ZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5p
bnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBfX2V4ZWN1dGVkID0gL2FbYl1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQu
aW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9y
KHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChf
X2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvYVtiXWMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1
dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9f
ZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMTMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxMy5qcwppbmRleCBlYmZj
NGM5NzVlYmZmMTk1ODRlODJkODc2NWJjOTYxZDU3NGVkN2YwLi5iMTQzMjQ1YTA3ZjFmNjhlMzI3
ZDQ1MTg0ZjQwZjI5ODRiMGQyZjIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxMy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxMy5qcwpAQCAtMTgsMjQg
KzE4LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMTU7CiBfX2V4cGVjdGVkLmlucHV0ID0gImEx
YiAgYjJjICBjM2QgIGRlZiAgZjRnIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5n
dGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IF9fZXhlY3V0ZWQgPSAvW2Etel1bXjEtOV1bYS16XS8uZXhlYygiYTFiICBiMmMgIGMzZCAgZGVm
ICBmNGciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9
PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhl
Y3V0ZWQgPSAvW2Etel1bXjEtOV1bYS16XS8uZXhlYygiYTFiICBiMmMgIGMzZCAgZGVmICBmNGci
KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRl
eCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQu
aW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bYS16
XVteMS05XVthLXpdLy5leGVjKCJhMWIgIGIyYyAgYzNkICBkZWYgIGY0ZyIpOyBfX2V4ZWN1dGVk
LmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAg
X19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9D
SEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsr
KSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9bYS16XVteMS05XVthLXpd
Ly5leGVjKCJhMWIgIGIyYyAgYzNkICBkZWYgIGY0ZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xM19BMV9UMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxNC5qcwppbmRleCBkZWIwNDcyNDQyYzdkMDk2ZjMz
YmFkNGZmYzM5NTE3ZDZmNjQ1MThjLi4yODM1MmNmZTA4MjlhNzg5ZTlhMmI1NjgyNDdlNTIyYmVl
NGVmMTg2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEzX0ExX1QxNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QxNC5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBfX2V4
cGVjdGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiMTIzKiYkYWJjIjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvWyomJF17M30vLmV4ZWMo
IjEyMyomJGFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3Ro
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5k
ZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
X19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4
cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNL
IzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvWyomJF17M30vLmV4ZWMoIjEyMyom
JGFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9
IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10g
PT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5k
ZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisg
ICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4
XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisg
ICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEzX0ExX1QxNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDE1LmpzCmluZGV4IDQ3NjNlODU1NTlhMzYyNjg4OTlkNDJm
MmEwODNiZTkyYmE1M2U0YTUuLmRiZDdmYjU4NDk1MGU2YmZiYjcwNjI2NjIyODVjODljZGQ1NGE0
ZGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTNfQTFfVDE1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDE1LmpzCkBAIC0xNiwyNCArMTYsMjggQEAKIF9fZXhwZWN0
ZWQuaW5kZXggPSA0OwogX19leHBlY3RlZC5pbnB1dCA9ICJsaW5lMVxubGluZTIiOwogCi0vL0NI
RUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bXFxkXVtcXG5dW15cXGRd
Ly5leGVjKCJsaW5lMVxcbmxpbmUyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBl
Y3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19l
eGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxu
bGluZTIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhw
ZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9
IC9bXFxkXVtcXG5dW15cXGRdLy5leGVjKCJsaW5lMVxcbmxpbmUyIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4
ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9f
ZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0K
KyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVj
dGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
MTNfQTFfVDE3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMV9UMTcuanMKaW5kZXggMGJlZGFjODExMTRjN2VhZTNkNmVkYTAxZmNlYThjYjk1
MmYwY2IwZi4uNDg0ZDdmNmNlOTIyOTRhMmFjN2EzOGRmOGE2OGJlMmJlMzEwODhkOCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19B
MV9UMTcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMV9UMTcuanMKQEAgLTEyLDcgKzEyLDQgQEAKIAogdmFyIF9fZXhlY3V0ZWQgPSAv
W10vLmV4ZWMoImFbYlxuW11cdGNdZCIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkICE9
PSBudWxsKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IC9bXS8uZXhlYygiYVtiXFxu
W11cXHRjXWQiKSA9PT0gZmFsc2UnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19leGVjdXRlZCwg
bnVsbCwgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJlIG51bGwnKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTNfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjEzX0ExX1QyLmpzCmluZGV4IGU5MGI3YjQzZWRkNDMyMzkyODlhYTAzZmJmMjhlNTBi
NGU0ZDdiNDUuLjFmY2VhMTRjZTk4OWM3N2M3Yzk5Yzc4MWU5NTI5ZGQ4YzMzMzFmYmYgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNf
QTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMV9UMi5qcwpAQCAtMTAsOSArMTAsNSBAQAogZGVzY3JpcHRpb246IEV4ZWN1dGUg
L2FbXS8udGVzdCgiXDBhXDBhIikgYW5kIGNoZWNrIHJlc3VsdHMKIC0tLSovCiAKLXZhciBfX2V4
ZWN1dGVkID0gL2FbXS8udGVzdCgiXDBhXDBhIik7OwotCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IC9hW10vLnRlc3QoIlxcMGFcXDBh
IikgPT09IGZhbHNlJyk7Ci19Cit2YXIgX19leGVjdXRlZCA9IC9hW10vLnRlc3QoIlwwYVwwYSIp
OworYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1QzLmpzCmluZGV4IDk0NjkyMTI1M2JkYjdi
YzdhYWJjYTQ3ZGNhZjVhZjc0N2FlMDc0NjMuLjhiNzA3MzY5YmEwMjk5MzUyMTY4NGRiNjM4ZDg1
YTgwOTc4ZWI0NmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UMy5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBf
X2V4cGVjdGVkLmluZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAicVlxeSAiOwogCi0vL0NI
RUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccysp
Ly5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVu
Z3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQu
aW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1
dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwK
KyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAot
Ly9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxz
KykvLmV4ZWMoInFZcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlu
cHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5k
ZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0g
IT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBf
X2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInFZcXkgIik7IF9fZXhlY3V0ZWRb
JyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVj
dXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UNC5qcwppbmRleCA4YjJlM2RiMmRm
ODczNjA4NTQ4OTA2MDQ0N2YxMDJlMDdlZWQ0OTg0Li5jMGE2MjRmNGE3MzQ1MTc0Njg2MzVjODg1
MmVkNTAyNDliMTNhMGY5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDQuanMKQEAgLTE2LDI0ICsxNiwyOCBA
QAogX19leHBlY3RlZC5pbmRleCA9IDM7CiBfX2V4cGVjdGVkLmlucHV0ID0gInRxYXF5ICI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89
XFxzKykvLmV4ZWMoInRxYXF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0
ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAor
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhl
Y3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsg
X19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcK
Kyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5w
dXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9xW2F4LXpi
XSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhw
ZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRl
eD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVk
W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzQ6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhcXkgIik7IF9f
ZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q1LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UNS5qcwppbmRleCA4
N2E4YzhhMzg2MGM0ZTI3NjFjMGQ3NTkzYTAxNzgxN2I2OTIyYWE4Li41ZDkwOGNjYTQ1MzE5NTc5
ZDU0Y2RjOGJmY2RjZGMxMTUyZmVmZTczIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDUuanMKQEAgLTE2LDI0
ICsxNiwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDE7CiBfX2V4cGVjdGVkLmlucHV0ID0gInRx
YVx0ICBxeSAiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9
IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0
aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5s
ZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9f
ZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8v
Q0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccysp
Ly5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3Rl
ZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5p
bnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYVxcdCAgcXkgIik7IF9f
ZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
cHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5w
dXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCisp
OwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7
IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhd
KSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL3FbYXgtemJd
KD89XFxzKykvLmV4ZWMoInRxYVxcdCAgcXkgIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10g
PT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5k
ZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisg
ICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4
XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisg
ICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEzX0ExX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xM19BMV9UNi5qcwppbmRleCA1NjU0NjU3ZWE0ZjZjM2Y3MjI1NzMwNGIw
ZGI3OGE2NTJjNzRmY2ZjLi44YzJhNjc1MGI3NmVkOTg5ODZmZmEyNDE4MjFhNmY4MDhiY2EzMzcw
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjEzX0ExX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTNfQTFfVDYuanMKQEAgLTE2LDI0ICsxNiwyOCBAQAogX19leHBlY3RlZC5p
bmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlIjsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7
IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
bGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBl
Y3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0g
L2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19l
eHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVj
dXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOyBfX2V4ZWN1
dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwK
KyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAot
Ly9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRl
eCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewot
CQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9hYltlcmNzdF1kZS8u
ZXhlYygiYWJjZGUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0
ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2lu
ZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFf
VDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEz
X0ExX1Q3LmpzCmluZGV4IGEzNzEzNTFlMGRlZDhhNmRkOTNkNmJkYzBjMGMwMDdmNDMwZTEwZTQu
LjA5NTYzNzY0ZWNiNGJjMGEzMmRiYWQ4ODY0NTEyNWIwNDVhYjE2NmMgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDcuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19B
MV9UNy5qcwpAQCAtMTIsNyArMTIsNCBAQAogCiB2YXIgX19leGVjdXRlZCA9IC9hYltlcnN0XWRl
Ly50ZXN0KCJhYmNkZSIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IC9hYltlcnN0XWRlLy50ZXN0KCJhYmNkZSIpID09PSBmYWxz
ZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q4LmpzCmluZGV4IDg2M2U2MzAw
MzY4MGJmY2Q4MjZhYjJkNDY2MDU1ZDg5ODQ4MjEzNDYuLmIxYmJiNjY4YjdiZGU0MTk0NWRlMTY3
NGU3NzcxMDYyNTIxMzQyYTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UOC5qcwpAQCAtMTYsMjQgKzE2LDI4
IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hp
amtsIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQu
bGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvW2Qt
aF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0
aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChf
X2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsg
X19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcK
Kyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5w
dXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bZC1oXSsv
LmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3Rl
ZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7
IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5k
ZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NDogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UOS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTFfVDkuanMKaW5kZXggYTAxZTZlYzQw
OGM4MWExNTY0ZThhNGVkOWE5MTMyYTFhZjgzMDUxYS4uMGFjNjU0ODdjNDc0Mjk0OTk1Y2MxMDNl
NmI3NTFiNTRmY2Q4ODUwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMV9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0ExX1Q5LmpzCkBAIC0xNiwyNCArMTYsMjgg
QEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAzOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmM2ZGVmZ2hp
amtsIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQu
bGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvWzEy
MzQ1NjddLnsyfS8uZXhlYygiYWJjNmRlZmdoaWprbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0g
JyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0
ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sj
MgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJh
YmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9
PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhl
Y3V0ZWQgPSAvWzEyMzQ1NjddLnsyfS8uZXhlYygiYWJjNmRlZmdoaWprbCIpOyBfX2V4ZWN1dGVk
LmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAg
X19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9D
SEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsr
KSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5l
eGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBf
X2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9
CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBl
Y3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjEzX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMl9UMS5qcwppbmRleCBiM2UzYmU2ZGM0YWFlZDI0MTQ2NzE1Y2IxMzkwNjg2YTQx
MzAyODdhLi42NjA5YTVmNTcyYjU4NDZjYWZhMGMxM2FmMTU0ZDllOGM1M2M3ZDY3IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0Ey
X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTNfQTJfVDEuanMKQEAgLTE2LDI0ICsxNiwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDE7
CiBfX2V4cGVjdGVkLmlucHV0ID0gImFcbmFiYSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0
ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWQu
bGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwK
KyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsK
IAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVj
KCJhXFxuYWJhIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBf
X2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0
ZWQgPSAvW15dYS9tLmV4ZWMoImFcXG5hYmEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW15dYS9tLmV4ZWMoImFcXG5hYmEiKTsgX19leGVjdXRl
ZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4
ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1QyLmpzCmluZGV4IDI3Y2NjYTQ0
MzViMzUwN2QzM2MwNWYwZWFjNjFiMWU0ZmFhYjY3NzAuLmVmZTc1NjYyZDdiZWVhMDhmNmZlMTc0
Y2MxNGVjNDlkMjQ3MjFkZWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UMi5qcwpAQCAtMTYsMjQgKzE2LDI4
IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiICAgYVx0XG4i
OwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5n
dGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9hW15dLy5l
eGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5s
ZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX2V4ZWN1dGVkID0gL2FbXl0vLmV4ZWMoIiAgIGFcXHRcXG4iKTsgX19leGVjdXRlZC5p
bmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
LmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9f
ZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hF
Q0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0
XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3Rl
ZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0
ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0g
L2FbXl0vLmV4ZWMoIiAgIGFcXHRcXG4iKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0g
JyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0p
OwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBf
X2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsK
IH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTNfQTJfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjEzX0EyX1QzLmpzCmluZGV4IDVlZjMwMjM1YjhlNzBiMDU2YjAyZjZlYmY4ZWY4
ZDFkZWU5NDE1ODguLjRjMGJjYTNhYjM2OGRjMGY4NWQ4YTM4NThhODZjZDdlYTM4ZDM1MDIgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
MTNfQTJfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xM19BMl9UMy5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4
ID0gOTsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWIgYW4gYXogYVkgbiI7CiAKLS8vQ0hFQ0sjMQot
aWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbXmItel1cXHMrLy5leGVjKCJhYiBh
biBheiBhWSBuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRl
eCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X2V4ZWN1dGVkID0gL2FbXmItel1cXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAor
ICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvYVteYi16XVxccysvLmV4
ZWMoImFiIGFuIGF6IGFZIG4iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBp
bmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4
XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6
IF9fZXhlY3V0ZWQgPSAvYVteYi16XVxccysvLmV4ZWMoImFiIGFuIGF6IGFZIG4iKTsgX19leGVj
dXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBf
X2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1Q0LmpzCmluZGV4IGQzMTMy
YTA3YzNlMDRmMDUxYmQ3Zjg4MGQ2YmMyNTBhMzMzMzljMmYuLjA2ZWI5MWI2YjIxM2JmYmZiYTY1
YzQwOTc4MTFlNWMyYjdjNDE3NGQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UNC5qcwpAQCAtMTYsMjQgKzE2
LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiZWFzeVxi
dG9cdTAwMDhyaWRlIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9f
ZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0
ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWQu
bGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwK
KyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsK
IAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1teXFxiXSsvZy5l
eGVjKCJlYXN5XFxidG9cXHUwMDA4cmlkZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19l
eHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVj
dXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxiXSsvZy5leGVjKCJlYXN5XFxidG9cXHUwMDA4cmlk
ZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
cHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQu
bGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVk
W2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9b
XlxcYl0rL2cuZXhlYygiZWFzeVxcYnRvXFx1MDAwOHJpZGUiKTsgX19leGVjdXRlZFsnICsgaW5k
ZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2lu
ZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2lu
ZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1Q1LmpzCmluZGV4IDBmMGM0NGM4MGY2ZTI0MjQw
MjgwMTI1MGEzYTNlOWEzOWRkZDJhZjUuLjRiNjM3MWMyNTZkZTZlMDMzNGFjYzlmNWViMmU4ZGZl
MDNjNmU5MGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTNfQTJfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UNS5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBfX2V4
cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjIjsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvYVteMS05XWMvLmV4ZWMoImFiYyIp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC9hW14xLTldYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVj
dGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVk
LmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IF9fZXhlY3V0ZWQgPSAvYVteMS05XWMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0
ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5w
dXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9hW14xLTldYy8uZXhlYygiYWJjIik7
IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1Q2LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UNi5qcwppbmRl
eCAwYTUxMzA3ZjdmY2M5M2NjYjZiYjQ5OTIyYmFiYTAyYjI0MzY2OTNkLi44NjkwZGM3NjRjNWU1
NDQyNzI1MTM1OGU3ZmRlY2IxNjFhY2ZkZDJkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1Q2LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDYuanMKQEAgLTEy
LDcgKzEyLDQgQEAKIAogdmFyIF9fZXhlY3V0ZWQgPSAvYVteYl1jLy50ZXN0KCJhYmMiKTsKIAot
Ly9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiAvYVteYl1jLy50ZXN0KCJhYmMiKSA9PT0gZmFsc2UnKTsKLX0KK2Fzc2VydCghX19leGVjdXRl
ZCwgJ1RoZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjEzX0EyX1Q3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xM19BMl9UNy5qcwppbmRleCBkYWZhYjUwNDk3MzBiNzY3NmU5ZWY5OTlmNmI1MjJhZjk2
MDcwYWYyLi40NmNkNTFlNGU1ZWE4ODcwZmI1Y2FjMDkyYTQxNjQzMmIyNTgyMTVhIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0Ey
X1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTNfQTJfVDcuanMKQEAgLTE2LDI0ICsxNiwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDk7
CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiYyMkJWRlZiUmKkBnaGkiOwogCi0vL0NIRUNLIzEKLWlm
IChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bXmEtel17NH0vLmV4ZWMoImFiYyMkJWRl
ZiUmKkBnaGkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9f
ZXhlY3V0ZWQgPSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAor
ICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvW15hLXpdezR9Ly5leGVj
KCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVk
LmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsg
aW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRl
eF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4
ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAg
IF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UOC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTJfVDguanMKaW5kZXggMmE3
ZTY0YzI2ZmI0M2VmNjQ1MDk1ODcwODBlMjMwM2U5YWQzYmNlNC4uNGNjMzliZmJkZDk2ZWY0OGU3
YmJhYWY3NzNkMWQ2ZDYwNTUwMDdmNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BMl9UOC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EyX1Q4LmpzCkBAIC0xNiwyNCAr
MTYsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmMj
JCVkZWYlJipAZ2hpIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9f
ZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0
ZWQgPSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09
PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0
aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBl
Y3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVD
SyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVm
JSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19l
eHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVk
ID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAn
ICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5p
bnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3Io
dmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9f
ZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9bXl0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGki
KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTNfVDEuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EzX1QxLmpzCmlu
ZGV4IGQ1NDI1ZmYxYTJmNjU0YWIwYTlmN2JkYTZhNzZlYjRiNzVhYjZlMDAuLjg2NTljNGE2NTc1
ZmZhMTg5N2JiZDU4MmE5N2QzNjJmODQ0MTY5NjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTNfVDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BM19UMS5qcwpAQCAt
MTMsMjQgKzEzLDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQg
PSAiYWJjXGJkZWYiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19l
eHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRl
ZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcg
KyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVk
Lmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIK
LWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvLltcXGJdLi8uZXhlYygiYWJjXFxiZGVm
Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5k
ZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVk
LmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvLltc
XGJdLi8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVj
dGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9
MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtp
bmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiBfX2V4ZWN1dGVkID0gLy5bXFxiXS4vLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTNfQTNfVDIuanMKaW5kZXggYjNlYTNjMWFi
NjQwZDU2NGE0MzRhMTZhODE0NjA2ZmIyMWI4MmIxNC4uM2YwZGM5MmY0YzllNGYyMjc0MDcxMmE4
NTY5MmIwYTc4M2JmNDdkYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BM19UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEzX0EzX1QyLmpzCkBAIC0xMywyNCArMTMsMjgg
QEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYlxiXGJk
ZWYiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9jW1xc
Yl17M31kLy5leGVjKCJhYmNcXGJcXGJcXGJkZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcg
KyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVk
Lmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIK
LWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxi
XFxiXFxiZGVmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBf
X2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0
ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2NbXFxiXXszfWQvLmV4ZWMoImFi
Y1xcYlxcYlxcYmRlZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19B
M19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
MTNfQTNfVDMuanMKaW5kZXggOWRkMGFkMGQwYThiY2RkYjFiODgzZGIzYmQ1N2VjMWI2YTc1YTJh
Yi4uZGFiZTUzNWU5Mzg1ZDA0OTQwODRiZjk2YzQ5NmIzM2JjMDFhNTJjOSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xM19BM19UMy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjEz
X0EzX1QzLmpzCkBAIC0xMywyNCArMTMsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19l
eHBlY3RlZC5pbnB1dCA9ICJhYmNcYmRlZiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQu
bGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4
ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5s
ZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
bGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0
aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQu
aW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9bXlxc
W1xcYlxcXV0rLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhl
Y3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMzogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNcXGJkZWYiKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcK
Kyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0
aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtc
XGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09
ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhd
KTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAg
X19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjEzX0EzX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xM19BM19UNC5qcwppbmRleCBjMWNhNTZlMzUwNjM1ZjdmMDc3YzcxMDZlNDMz
MDU5ZTliZThjNWYxLi5iNTE2MTUwOTcxY2JlZGI0YTNlYjRhNDVkYmRlOWQ1NTI0ZjBhOTMxIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjEzX0EzX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTNfQTNfVDQuanMKQEAgLTEzLDI0ICsxMywyOCBAQAogX19leHBlY3RlZC5pbmRl
eCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9f
ZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY2RlZiIp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5k
ZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9f
ZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNkZWYiKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcK
Kyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0
aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtc
XGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcg
KyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsK
LQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19l
eHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjE1X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4xNV9BMV9UMS5qcwppbmRleCAwZjQwOGU2MTM0Y2U3NTk2MDA2OTQzOGQ0NDdmMDMw
ODlmNGM3ZjY5Li4wOTU0ZDkwODcwZDdkYTU4MTA0Yjk3NDNkYTNlNTkzMjUyMWE0OTQzIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1
X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTVfQTFfVDEuanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4
Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4xOiAvW2ItYWMtZV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFs
OiAnICsgKG5ldyBSZWdFeHAoIltiLWFjLWVdIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7
Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW2ItYWMtZV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhF
cnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUg
aW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2
YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1
ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xNV9BMV9UMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjE1X0ExX1QxMC5qcwppbmRleCAxMDhiZjBhNTE0NGNjZGU5YTY0MGM5OThjZjdh
ZGJjMTJkZjVjOTQ5Li43ZjE1OTZkYTIzMmVjNzQ1YjBkNjE0OTAzMmI4ZDIyYjQ0OWM0NmY3IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjE1X0ExX1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjE1X0ExX1QxMC5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhlIGNvcnJl
Y3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxLjE6IC9bXFwxMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4g
QWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDEwYi1HXSIpLmV4ZWMoImEiKSkpOwogfSBjYXRj
aCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tcXDEwYi1HXS8uZXhlYygiYSIpIHRocm93
IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1
bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3Mo
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjE1X0ExX1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDExLmpzCmluZGV4IGRjZGQ3MDJiNzc2MWFmMjc5NTMy
MGQ3ZjViMGQ5NmM0ZTIyZTIxMTIuLjI0MDczMzM5ZmRlM2IzMWFkNmI1MjM1M2E4OWE4YjE0NGU5
NDY2MzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTVfQTFfVDExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDExLmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0
aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tcXGJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4
RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxiZC1HXSIpLmV4ZWMoImEiKSkpOwog
fSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tcXGJkLUddLy5leGVjKCJhIikg
dGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRo
cm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDEyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTIuanMKaW5kZXggOGEwZmNlZGZhNjVhZWIw
MGY4ZTkwZGI2NjFhYjEyYTY2YTRlMTY2My4uMTFhNDNkNzA2YzEzMTAzODY3N2ZiNjc5OGE2YmRm
ODg3YmUzMzEzMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xNV9BMV9UMTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTIuanMKQEAgLTE2LDExICsxNiwxNCBAQAog
ICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW1xcQmQtR10vLmV4ZWMoImEiKSB0aHJvdyBT
eW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXEJkLUddIikuZXhlYygiYSIp
KSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0
cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW1xcQmQtR10vLmV4ZWMo
ImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3Nl
cnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxMy5qcwppbmRleCBiNGUxNWFmMmEw
ZjliMjYxMDBmM2UyNWI2YzQ3ZDhlMTY0NmM2Y2Q4Li4wZjRjMWY1MWI5OWUyN2NjMDVhYzBlOTkx
N2QzNGRjMDMyOWQ1ZmJkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxMy5qcwpAQCAtMTYsMTEgKzE2LDE0
IEBACiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bXFx0ZC1HXS8uZXhlYygiYSIpIHRo
cm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW1xcdGQtR10iKS5leGVj
KCJhIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikg
IT09IHRydWUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bXFx0ZC1HXS8u
ZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFz
c2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUs
CisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE0LmpzCmluZGV4IGZmMDAw
YzIyNjk0NzhjNmNiODJlOWEzY2RmMzk5YTYxYWRiNjVhYjcuLjllYzg3ZGQ3MDA5NjQ5MmVlMTg1
NzQ3MTcxNjFlNDc2ODViY2Q3NzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE0LmpzCkBAIC0xNiwxMSAr
MTYsMTQgQEAKICAgICB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQog
dHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tcXG5kLUddLy5leGVjKCJh
IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxuZC1HXSIp
LmV4ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tcXG5k
LUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0K
KyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAg
dHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4
RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZl
cnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE1LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTUuanMKaW5kZXgg
NTIyMzhlMzRmNWJhNDliM2ViZGNiMjMwZmJjNWNlMmVjNDcwMTAwOS4uODBhYWNlMmFjOWEwMGJl
OWI4YTJlMmQyOTBjNjRjNmY2MzE0YWNjNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTUuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTUuanMKQEAgLTE2
LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVD
SyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW1xcdmQtR10vLmV4
ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHZk
LUddIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3lu
dGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAv
W1xcdmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsK
LSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwK
KyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBT
eW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzog
Q29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTYuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNi5qcwpp
bmRleCAyNTgxYzRlZGMxMTFiMmNmNTBhOTM2NjdjNjY5OGEyMTZiNjNmNDQwLi5hYzcwNWI0Yzgx
OGU2YjFjMmNjYTYwMjY1MmVjOGE1NTMzZjMyYjRlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNi5qcwpA
QCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0v
L0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bXFxmZC1H
XS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgi
W1xcZmQtR10iKS5leGVjKCJhIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvcikgIT09IHRydWUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjI6IC9bXFxmZC1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
ZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5j
ZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxNy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE3
LmpzCmluZGV4IDQ2Nzk0M2FjYmE5YzZjZTgzNmRhYzc4MjE1MWQ5NTQxMGI3NWEyNGMuLmFjMWE3
OWIwY2M2Y2IxNjg3M2VjZjBmNTBmMTBlMTVkZTI0OTc3N2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE3LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE3
LmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSov
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tc
XHJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVn
RXhwKCJbXFxyZC1HXSIpLmV4ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzEuMjogL1tcXHJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDog
JyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3lu
dGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGlu
c3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDE4
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9B
MV9UMTguanMKaW5kZXggYWUyZTkwNTlmYzA2MWM2ZDUyNmNkMTUyODU4Mzg0Y2IyMTc1NmFmMy4u
ZWMxOGUzNTc5OGY3MGI1OWZkOGZjYWY4YWY4NDljOGZiNTAxNDJmMCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTguanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9B
MV9UMTguanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4
Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4xOiAvW1xcYzAwMDFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFj
dHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxjMDAwMWQtR10iKS5leGVjKCIxIikpKTsKIH0gY2F0
Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bXFxjMDAwMWQtR10vLmV4ZWMoIjEiKSB0
aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhy
b3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxOS5qcwppbmRleCAyMDkyY2UwMTE2YzFhZjRi
ODRiNGFiY2I2MmNlZjhkY2IzMmRmMTk0Li4wYWEzNjNiZGM0YWZjMGQ2MjFmYjQzYzU1OGIwY2Zm
ZGVlNDljNGU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjE1X0ExX1QxOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QxOS5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAg
ICAgdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRy
eSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bXFx4MDA2MWQtR10vLmV4ZWMo
IjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHgwMDYx
ZC1HXSIpLmV4ZWMoIjEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5
bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjog
L1tcXHgwMDYxZC1HXS8uZXhlYygiMSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
ZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5j
ZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMi5q
cwppbmRleCA0ZGMxYjgwNDA2ZjY3ZDBiNjFkYzkzZDVlYjI3YzM5ZGRiZDlhOTRiLi5hYmY5ODg2
ODBiNTgwMmJlOTQ3NDJjYjAzZmI4ZDQ1MWNlMTFkOGVhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDIuanMK
QEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAot
Ly9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW2EtZGMt
Yl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAo
IlthLWRjLWJdIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MS4yOiAvW2EtZGMtYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsg
KGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhF
cnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFu
Y2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8g
VE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjAuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Qy
MC5qcwppbmRleCAyNGEyY2NiMWJmOWRiZjY1ZGEwNjA2N2U3ZTJiZWI1ZjlkNTA1MTE3Li5kZmY0
NThkZTU4ZTZmM2UyMDI0YzZmMDQzNmIzODI1ODU0ZGMwMDhjIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyMC5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Qy
MC5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0
aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxLjE6IC9bXFx1MDA2MWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFs
OiAnICsgKG5ldyBSZWdFeHAoIltcXHUwMDYxZC1HXSIpLmV4ZWMoImEiKSkpOwogfSBjYXRjaCAo
ZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tcXHUwMDYxZC1HXS8uZXhlYygiYSIpIHRocm93
IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1
bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3Mo
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjE1X0ExX1QyMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDIxLmpzCmluZGV4IGVlYjA4YjU4MWVmYjM3NWZmNjRh
MjE5YTgyYzc1ZDc4N2Y3YWNiYmMuLmYzNDk1NzZlMDkzNWU2NzJjNWFiYmU5NzA2YzcwNjAzOGEz
MDAyYTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTVfQTFfVDIxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDIxLmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0
aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tcXGFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4
RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxhZC1HXSIpLmV4ZWMoImEiKSkpOwog
fSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tcXGFkLUddLy5leGVjKCJhIikg
dGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRo
cm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDIyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjIuanMKaW5kZXggZWQ3ZGNlYzk5MTVjNGJh
NzkxYzQ0ZWQxMmU1NmU5NzQzMTc0ZWY1Yi4uZmM3YWEzMWI2YmYxMGEyYjFhZjM3YWY3NzQ3OTZj
YjBiOGVkN2E3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xNV9BMV9UMjIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjIuanMKQEAgLTE2LDExICsxNiwxNCBAQAog
ICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW2MtZWItYV0vLmV4ZWMoImEiKSB0aHJvdyBT
eW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltjLWViLWFdIikuZXhlYygiYSIp
KSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0
cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW2MtZWItYV0vLmV4ZWMo
ImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3Nl
cnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyMy5qcwppbmRleCAyMGMxYjMzNTQx
NmVlNjZmNjZiNzNhMzE3ZmI4OGNhZjk1MmNmYzBjLi4xMjU3MjRhNmQwNjc0ZTk3MWE3ODQ3NDM0
OTI4ZDY5NzcwODA1NGU0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyMy5qcwpAQCAtMTYsMTEgKzE2LDE0
IEBACiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bYi1HXFxkXS8uZXhlYygiYSIpIHRo
cm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2ItR1xcZF0iKS5leGVj
KCJhIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikg
IT09IHRydWUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bYi1HXFxkXS8u
ZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFz
c2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUs
CisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyNC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI0LmpzCmluZGV4IDI4MWZm
ZmE3MmZhZWZkMTViNWNkMjRhNDU3YTZhNGQ2MzRlZTJiNjYuLjFlZGIzODUyZGI0MDcxNTU5YjRm
ZTlmZjg0N2Y4YmJlYzlmODJkMDkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI0LmpzCkBAIC0xNiwxMSAr
MTYsMTQgQEAKICAgICB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQog
dHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tiLUdcXERdLy5leGVjKCJh
IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxEXSIp
LmV4ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tiLUdc
XERdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0K
KyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAg
dHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4
RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZl
cnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI1LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjUuanMKaW5kZXgg
Yzg0ZTBhZWM1Zjc5MGM1MDhmMmRlNDZlYWNhODg0ZGMzZjkzNWYxNi4uZDU5ZDAyODBmN2FmOTk5
NDM3MDRhMTk5OTlkM2NlZDBiNGJlY2ExNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjUuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjUuanMKQEAgLTE2
LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVD
SyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW2ItR1xcc10vLmV4
ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltiLUdc
XHNdIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3lu
dGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAv
W2ItR1xcc10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsK
LSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwK
KyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBT
eW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzog
Q29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjYuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyNi5qcwpp
bmRleCBjYTVmY2E2OGIxNzgzNDM4ZjU4OGQ3MDJjN2NkNWRhNzM1YjdkZWVmLi5jMmMwYmFjYjFh
MmNhZWM3MzNlZTg1N2E3MzFiZDQ4NmM3OTk1NjM3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyNi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyNi5qcwpA
QCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0v
L0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bYi1HXFxT
XS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgi
W2ItR1xcU10iKS5leGVjKCJhIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvcikgIT09IHRydWUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjI6IC9bYi1HXFxTXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
ZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVy
cm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5j
ZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QyNy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI3
LmpzCmluZGV4IDJiNDRhYjRkMDlkMmVkNzEyNmEwM2YzMWI5ZjNmYmExMTllYTBhMGUuLmQ5ZGI1
MDVkOGY4NjE0M2QwYTM0YTE5ODY4ZmI4YWUxODFkZWI0MjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI3LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI3
LmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSov
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1ti
LUdcXHddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVn
RXhwKCJbYi1HXFx3XSIpLmV4ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzEuMjogL1tiLUdcXHddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDog
JyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3lu
dGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGlu
c3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDI4
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9B
MV9UMjguanMKaW5kZXggMmIxZWIxMjQxMzMxMjViZWE0NWZlMTQ4ZTlmODc5Y2MzZWRlMjgwNS4u
NjFlMDdmYzliNWIyOTZhNzdlNDI2NTQ3NjQ2NTkzZGUyZmUyNzQ4NyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMjguanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9B
MV9UMjguanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgog
LS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4x
OiAvW2ItR1xcV10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5l
dyBSZWdFeHAoIltiLUdcXFddIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChl
IGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMS4yOiAvW2ItR1xcV10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0
dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
KGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsK
IH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9B
MV9UMjkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjE1X0ExX1QyOS5qcwppbmRleCAxMDcxMTJiOTY0YzVmMzE0ZjlmNTQxNmQzM2JjMDBiNmQ0YjI5
NDEyLi43NzU0ODQwZjdkY2I0NjkxZmY0YzZjM2E0OGMyNGVkNDVlZDRlZTFiIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Qy
OS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjE1X0ExX1QyOS5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0
aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxLjE6IC9bYi1HXFwwXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcg
KyAobmV3IFJlZ0V4cCgiW2ItR1xcMF0iKS5leGVjKCJhIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAg
aWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewotICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxLjI6IC9bYi1HXFwwXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9y
LiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0
YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVh
dGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJwor
ICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjE1X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4xNV9BMV9UMy5qcwppbmRleCAxNTdjMzgxYWI3M2Y1NDFjZTM3ZTNlZTgwMmM3ZDczOTQy
YjZkYjYyLi5hYTg0ODBhNDZlMGYzODJlZGM1MGM2OTdmZWNkMzk0NGE3YTRiNWY2IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0Ex
X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuMTVfQTFfVDMuanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2Vw
dGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiAvW1xcZGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAn
ICsgKG5ldyBSZWdFeHAoIltcXGRiLUddIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0g
IGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMS4yOiAvW1xcZGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJv
ci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5z
dGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
KyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4xNV9BMV9UMzAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjE1X0ExX1QzMC5qcwppbmRleCA5NTAxOTBjMWEwYzZhZjcyYmFlZTc4MTllYWNkZThh
OTM1ZTQwNmFjLi44ZDgyZDQwZDljNGRjMjQxNDk2OGQxNjE1NzNkZmVmNDgwZGFmMzliIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1
X0ExX1QzMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjE1X0ExX1QzMC5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhlIGNvcnJlY3Qg
ZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjE6IC9bYi1HXFwxMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0
dWFsOiAnICsgKG5ldyBSZWdFeHAoIltiLUdcXDEwXSIpLmV4ZWMoImEiKSkpOwogfSBjYXRjaCAo
ZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tiLUdcXDEwXS8uZXhlYygiYSIpIHRocm93IFN5
bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBm
b3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjE1X0ExX1QzMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDMxLmpzCmluZGV4IGUwZDlkNTA5YTcwOTBhOTZiN2RlYWIw
MTdmZWVlYmEzODczNzVkZmIuLmUwZGZhODIwNjY0ZGRmM2FhNmFmZGY3N2YxODk3Njc5YjU5NmQw
NTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTVfQTFfVDMxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDMxLmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0aGUg
Y29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzEuMTogL1tkLUdcXGJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJy
b3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxiXSIpLmV4ZWMoImEiKSkpOwogfSBj
YXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tkLUdcXGJdLy5leGVjKCJhIikgdGhy
b3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJl
c3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93
cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDMyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzIuanMKaW5kZXggMTcwMTRjNTBkM2FjN2ZhZDJj
ZjA0YWRmYjU1MzllMjk5ZjAxNGUxYy4uM2NjMzZjMmY5MWFjNjdhZTM1NDE4OGFlMDBmZDg4YmVh
YTdjN2EwYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xNV9BMV9UMzIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzIuanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAg
IHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW2QtR1xcQl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50
YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXEJdIikuZXhlYygiYSIpKSk7
CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVl
KXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW2QtR1xcQl0vLmV4ZWMoImEi
KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQu
dGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzMy5qcwppbmRleCAyN2ZhMWUyNTQ1ZWI4
Yjc5NzQ1NGI1NDA5ZDY5NzRkY2M1MmEzYTAzLi40ZmI5ZTRkZGI3ODA0ZjFlNDVlMDFhZTNjOGYw
MTY3NzFiNGE2NWM0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzMy5qcwpAQCAtMTYsMTEgKzE2LDE0IEBA
CiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bZC1HXFx0XS8uZXhlYygiYSIpIHRocm93
IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2QtR1xcdF0iKS5leGVjKCJh
IikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09
IHRydWUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bZC1HXFx0XS8uZXhl
YygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisg
ICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFz
c2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM0LmpzCmluZGV4IGJiMTc4YTA3
NWU0Yzc4NWQ3ODM5MzI1ZTk2M2UzMjQ5MTliMmNlMDAuLmYyNmY2MTdhODc0ODkzMzllNDgzY2Mx
ZGI4YTczZWI0YTZhOGI0MGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM0LmpzCkBAIC0xNiwxMSArMTYs
MTQgQEAKICAgICB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5
IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tkLUdcXG5dLy5leGVjKCJhIikg
dGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxuXSIpLmV4
ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tkLUdcXG5d
Ly5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1
ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJy
b3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQg
dG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM1LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzUuanMKaW5kZXggZmQ1
ZTBiOGU3YTFjOTc4MDc0NDc2MTg0MTBlMzYwMWNkZDc3NjRmZi4uM2NiYTFmMGI2MWM1NDY1YmE2
OTY5YmQ5NmY3ZmY2NGQyYWI0MjVkOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzUuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzUuanMKQEAgLTE2LDEx
ICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMx
CiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW2QtR1xcdl0vLmV4ZWMo
ImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHZd
IikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4
RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW2Qt
R1xcdl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAg
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAg
ICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50
YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29u
dmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzYuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzNi5qcwppbmRl
eCAyYmFiMzM1Njk4MDE4NTE2YTU1OGFmY2VjZmZhY2RhYjNmNmFiMjA2Li43Y2M0OGU5MjhlZjYz
OTQ1YjYzODU4YjFiNWE1NzFiMjRkNjY3NDA1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzNi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzNi5qcwpAQCAt
MTYsMTEgKzE2LDE0IEBACiAgICAgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NI
RUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bZC1HXFxmXS8u
ZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2Qt
R1xcZl0iKS5leGVjKCJhIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBT
eW50YXhFcnJvcikgIT09IHRydWUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6
IC9bZC1HXFxmXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkp
OwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
LAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9m
IFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RP
OiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzNy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM3Lmpz
CmluZGV4IDc4M2FjYTIzMmI5ZTBhMWI1NjJjNTk1NDNhYWI0NTYzYjBkNWM2MWIuLjM3MDdhOTky
OTJmNDNhYmE1YWYzNDI3MTU1MzdkZjYyZDRmOTJmMTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM3LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM3Lmpz
CkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAK
LS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tkLUdc
XHJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhw
KCJbZC1HXFxyXSIpLmV4ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5j
ZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzEuMjogL1tkLUdcXHJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyAr
IChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4
RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3Rh
bmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDM4Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9U
MzguanMKaW5kZXggNWIxODRkMDAxNTNhZTY5OWIzNDYyMjNiODM0MDRlMjFjODkyNmZmYy4uYmIz
ZDVmOGZiOTY5ZjQyOTFjYWFhNWQ5NjUxMmM3NDQ4NjZjYWMxNSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UMzguanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9U
MzguanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2Vw
dGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiAvW2QtR1xcYzAwMDFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVh
bDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxjMDAwMV0iKS5leGVjKCIxIikpKTsKIH0gY2F0Y2gg
KGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bZC1HXFxjMDAwMV0vLmV4ZWMoIjEiKSB0aHJv
dyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVl
KAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dz
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4xNV9BMV9UMzkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzOS5qcwppbmRleCBjY2Q0ODU4YjI3OWE2MTlmYTli
ZjRlYTM3YzQ1YmY3MmVlMDAwZjU0Li5kOWM1YWQzMDczMzQ3YThiYzU5MjE1Yjk4NTA3ZTE2YTEy
YTRjYzU3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjE1X0ExX1QzOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1QzOS5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAg
dGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7
CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bZC1HXFx4MDA2MV0vLmV4ZWMoIjEi
KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHgwMDYx
XSIpLmV4ZWMoIjEiKSkpOwogfSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRh
eEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tk
LUdcXHgwMDYxXS8uZXhlYygiMSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkp
OwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9y
LAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9m
IFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RP
OiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UNC5qcwpp
bmRleCAyMmQzY2UyY2VmZmY1OWRmMWQ0YjY4MjEzZGZkY2IwMzQ2ZGNiZWJjLi44MzI1YTA0ZDU2
NDUzMzlmZTI4NTg5ZTU1OThhYzg2ODljOWJhYmEyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q0LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDQuanMKQEAg
LTE2LDExICsxNiwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9D
SEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW1xcRGItR10v
LmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltc
XERiLUddIikuZXhlYygiYSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpICE9PSB0cnVlKXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4y
OiAvW1xcRGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUp
KTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJv
ciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9E
TzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UNDAuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q0MC5q
cwppbmRleCBmZWIyYTAzMDJjMjkyM2E4MjY0ZGI1NGQ1OWNkOGY0OWM4Mjc3NmQzLi5iNGVjNDQy
YjU5OWUyMTg0Y2M4ZGRlZTE4NGU2OWRjOTc1YWY3MTczIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q0MC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q0MC5q
cwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9u
CiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjE6IC9bZC1HXFx1MDA2MV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAn
ICsgKG5ldyBSZWdFeHAoIltkLUdcXHUwMDYxXSIpLmV4ZWMoImEiKSkpOwogfSBjYXRjaCAoZSkg
ewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tkLUdcXHUwMDYxXS8uZXhlYygiYSIpIHRocm93IFN5
bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBm
b3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjE1X0ExX1Q0MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDQxLmpzCmluZGV4IGY1OTE0NDdjMzQ0ZDY2NzkwNDdiNzAy
OTFjYzNhYzNiNWNkNTRlODQuLmU2ZTA3MDA1NGRmNTExZjhmNTg2MTZlNmVjYTNiMGRiYWUyYTk4
MGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuMTVfQTFfVDQxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDQxLmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0aGUg
Y29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzEuMTogL1tkLUdcXGFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJy
b3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxhXSIpLmV4ZWMoImEiKSkpOwogfSBj
YXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tkLUdcXGFdLy5leGVjKCJhIikgdGhy
b3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJl
c3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93
cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q1LmpzCmluZGV4IDJkMDczM2I2NzA3OTFlNGU0YjVk
MDY0NTk0MGI0NWI4MzNiNWY1YWEuLjg3MmRjMDRlZWFmYTJiOWJmMTEwMDhjMTc5MGE4Njk3ZTdi
MTFlNzAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuMTVfQTFfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UNS5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAgdGhl
IGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bXFxzYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVy
cm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW1xcc2ItR10iKS5leGVjKCJhIikpKTsKIH0g
Y2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bXFxzYi1HXS8uZXhlYygiYSIpIHRo
cm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJv
d3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UNi5qcwppbmRleCAxMTI4NTRkNGE1OWQxYTIwN2Jm
MDBkMmI1NDE2YzFhNzg1YTkzZGNjLi4zYzY4YzE0YjY3M2Q5MmRkNTI2Mzk3MTU2NTkzYTlmNmI1
NGNhODI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjE1X0ExX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDYuanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAgIHRo
ZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW1xcU2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhF
cnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFNiLUddIikuZXhlYygiYSIpKSk7CiB9
IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsK
LSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW1xcU2ItR10vLmV4ZWMoImEiKSB0
aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhy
b3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDcuanMKaW5kZXggYjY2Nzk5NDNlNjRkZmQxZjk0
NTY5ZDQzZmZjYjA1ZTNmOTI5YzVlNS4uOTBmOTZlMWMxYjUwZTVmMjI3NzBkZDhjMjEwY2M3Zjgw
ODM3NmMzNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi4xNV9BMV9UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q3LmpzCkBAIC0xNiwxMSArMTYsMTQgQEAKICAgICB0
aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1tcXHdiLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4
RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx3Yi1HXSIpLmV4ZWMoImEiKSkpOwog
fSBjYXRjaCAoZSkgewotICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1tcXHdiLUddLy5leGVjKCJhIikg
dGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRo
cm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q4LmpzCmluZGV4IGYxYzIyOGE1NmFhNDNhOWM3
MGM3MTViZTkyN2I1ZWIyMmVjYTIwOTAuLjI4MzA3Yzk1YmM2YmUyM2NkZGYyMWIzMjJhYzQ5MjEw
ZDU2MDZhMGIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuMTVfQTFfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UOC5qcwpAQCAtMTYsMTEgKzE2LDE0IEBACiAgICAg
dGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bXFxXYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRh
eEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW1xcV2ItR10iKS5leGVjKCJhIikpKTsK
IH0gY2F0Y2ggKGUpIHsKLSAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUp
ewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bXFxXYi1HXS8uZXhlYygiYSIp
IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1Ro
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBl
Y3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50
aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjE1X0ExX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4xNV9BMV9UOS5qcwppbmRleCAxZmQzYjFhNWEzOTM5ZjQy
MWYzMWI0NmI5NjNkZDRkZjU2Y2FlMjY1Li4wZDU5MDM1YWZmOTU5Mzc2N2Y0NjEwNGIyNjJiYzZl
ZGI1ZmVlNGNmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjE1X0ExX1Q5LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuMTVfQTFfVDkuanMKQEAgLTE2LDExICsxNiwxNCBAQAogICAg
IHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW1xcMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50
YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDBiLUddIikuZXhlYygiYSIpKSk7
CiB9IGNhdGNoIChlKSB7Ci0gIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVl
KXsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiAvW1xcMGItR10vLmV4ZWMoImEi
KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQu
dGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxLmpzCmluZGV4IGRhZDQ3NjZhMGRjOGE1NzA4
MTZhYTIwNjYxNTg2ZTU4YjRiYTNlYzQuLjEyZWE1Mzg4YzkwYjQ1NDE1MmRlNDEwMGFlYjY3YzVk
YjVmOGYzYzcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuM19BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDEuanMKQEAgLTE2LDI0ICsxNiwyOCBAQCBUaGUgcGF0
dGVybiBmaXJzdCB0cmllcyB0byBtYXRjaCB0aGUgbGVmdCBBbHRlcm5hdGl2ZSAoZm9sbG93ZWQg
YnkgdGhlIHNlcXVlbCBvZgogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0
ID0gImFiYyI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVj
dGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0g
L2F8YWIvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQu
bGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0
ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogX19leGVjdXRlZCA9IC9hfGFiLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0
ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwot
aWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9hfGFiLy5leGVjKCJhYmMiKTsgX19leGVj
dXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQs
CisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAK
LS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5k
ZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygi
YWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4
XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisg
ICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDEwLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxMC5q
cwppbmRleCBlNmY5ODAwYWQ4MmY5ODBmNDc1MmMwMjE3ZWNlNWIzNTlkMTQ5Zjk4Li5iOTg3ZDRk
NjhhYzlkZmJiYTc5ZmExODhmNzFjMWZkYmY1NWVlNDUwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDEwLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTAuanMK
QEAgLTE2LDI0ICsxNiwyOCBAQCBUaGUgcGF0dGVybiBmaXJzdCB0cmllcyB0byBtYXRjaCB0aGUg
bGVmdCBBbHRlcm5hdGl2ZSAoZm9sbG93ZWQgYnkgdGhlIHNlcXVlbCBvZgogX19leHBlY3RlZC5p
bmRleCA9IDM7CiBfX2V4cGVjdGVkLmlucHV0ID0gIkFFS2VGQ0RhYiI7CiAKLS8vQ0hFQ0sjMQot
aWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJB
RUtlRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9f
ZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS2VGQ0RhYiIpOyBfX2V4ZWN1dGVk
LmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAg
X19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9D
SEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5l
eGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5w
dXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRl
eDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAh
PT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9f
ZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS2VGQ0RhYiIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTEuanMKaW5kZXggZTdlNjM5MzJk
MGYzMzFiZjZjYTMxMzgzYWIzNTY4ODRmNGQyN2UwNy4uNzA0Zjg2NzI5ZGFkYzVmNjI3OTliZDQ4
MjhhNmY2NzI2YWFiMDFkOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDExLmpzCkBAIC0xNiwyNCArMTYsMjgg
QEAgVGhlIHBhdHRlcm4gZmlyc3QgdHJpZXMgdG8gbWF0Y2ggdGhlIGxlZnQgQWx0ZXJuYXRpdmUg
KGZvbGxvd2VkIGJ5IHRoZSBzZXF1ZWwgb2YKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBl
Y3RlZC5pbnB1dCA9ICIxMTExMTExMTExMTExMTExIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVj
dXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTEx
Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19l
eHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVk
ID0gLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpOyBfX2V4ZWN1dGVkLmluZGV4
ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5k
ZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBl
Y3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMz
Ci1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLzExMTExfDExMS8uZXhlYygiMTExMTEx
MTExMTExMTExMSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9f
ZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBf
X2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVj
dXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsgX19leGVjdXRlZFsn
ICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1
dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDEyLmpzCmluZGV4IGQ2MjM0NWM5YWMx
OWI2ODcwZjFiMjFiNmQ3NTE2OTU5NTRlMzNlMjguLjEwODY5MTJkMGVhMzZjOWQ3MmIxN2E4OTI3
NzFhOWQ4OGI2MmE0MWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxMi5qcwpAQCAtMTYsMjQgKzE2LDI4IEBA
IFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChm
b2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0
ZWQuaW5wdXQgPSAiYWJjIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09
IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhl
Y3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsg
X19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1p
ZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL3h5enwuLi4vLmV4ZWMoImFiYyIpOyBfX2V4
ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRl
eCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsK
IAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL3h5enwuLi4vLmV4
ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4
cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRl
ZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0g
JyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0p
OwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBf
X2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsK
IH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuM19BMV9UMTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjNfQTFfVDEzLmpzCmluZGV4IDI2NWIwNTE2MWJmNTY0MDgyNmFmZWFjY2I2Y2U3
Yjk2ZTM4MDQxZmIuLmY0ZTVmN2RmZWMxMDI0MjYxNDFiZmVmMGQ5NTYyNTVlOTJiMzBjNTYgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
M19BMV9UMTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4zX0ExX1QxMy5qcwpAQCAtMTYsMjQgKzE2LDI4IEBAIFRoZSBwYXR0ZXJuIGZpcnN0
IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2Vx
dWVsIG9mCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjIjsK
IAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3Ro
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKC4pLi58YWJj
Ly5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0
aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmlu
ZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fZXhlY3V0ZWQgPSAvKC4pLi58YWJjLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0
ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwot
aWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBf
X2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
cHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0Jwor
KTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3Ro
OyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4
XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oLikuLnxh
YmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0Ex
X1QxNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
M19BMV9UMTQuanMKaW5kZXggMTg2NmY2OWY0NDg3Njc0ZTNmOWM4ZGQyYmI0N2RiYmFmN2VhNmE2
ZC4uZjQzYTllNzA0MGM2ZTc0OWUwNWVhNjFmNjNjYzc5MGM4ODJhMWQ5YyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxNC5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNf
QTFfVDE0LmpzCkBAIC0xNiwyNCArMTYsMjggQEAgVGhlIHBhdHRlcm4gZmlyc3QgdHJpZXMgdG8g
bWF0Y2ggdGhlIGxlZnQgQWx0ZXJuYXRpdmUgKGZvbGxvd2VkIGJ5IHRoZSBzZXF1ZWwgb2YKIF9f
ZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJjb2xvcjogZ3JleSI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUp
eS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4
ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvLis6IGdyKGF8ZSl5Ly5leGVjKCJjb2xvcjogZ3JleSIp
OyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4
JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLy4rOiBn
cihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvLis6IGdyKGF8ZSl5Ly5leGVjKCJjb2xvcjogZ3JleSIp
OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVl
KAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxNS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMTUuanMKaW5k
ZXggNWEyMzVlZmNjMzdmMmY3NTlmYmMyMzMwM2E5YTFhOGUwMWFmZjNlNC4uYjNjMmZkZDI1YjE1
ZTQ3MGIyODdjZjc2OTgzOGMyMmY2YmI3MzRkOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxNS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDE1LmpzCkBAIC0x
OCwyNCArMTgsMjggQEAgVGhlIHBhdHRlcm4gZmlyc3QgdHJpZXMgdG8gbWF0Y2ggdGhlIGxlZnQg
QWx0ZXJuYXRpdmUgKGZvbGxvd2VkIGJ5IHRoZSBzZXF1ZWwgb2YKIF9fZXhwZWN0ZWQuaW5kZXgg
PSAzOwogX19leHBlY3RlZC5pbnB1dCA9ICJIaSBCb2IiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4
ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5l
eGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0
aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmlu
ZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fZXhlY3V0ZWQgPSAvKFJvYil8KEJvYil8KFJvYmVydCl8KEJvYmJ5KS8uZXhlYygiSGkgQm9i
Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5k
ZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVk
LmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKFJv
Yil8KEJvYil8KFJvYmVydCl8KEJvYmJ5KS8uZXhlYygiSGkgQm9iIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhSb2IpfChCb2IpfChSb2JlcnQp
fChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi4zX0ExX1QxNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuM19BMV9UMTYuanMKaW5kZXggZjc1ZTY4NzNjZmM1Y2IwNTRhMWFjMWZhMjQ3Y2Fk
YzE1ZWYyYWZjNS4uOTBhMWQ2NjIyOWYxYTVhZTY2NjdmMzE3Y2E1MzJjNTRjMDdjMTZkMCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4z
X0ExX1QxNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjNfQTFfVDE2LmpzCkBAIC0xNiwyNCArMTYsMjggQEAgVGhlIHBhdHRlcm4gZmlyc3Qg
dHJpZXMgdG8gbWF0Y2ggdGhlIGxlZnQgQWx0ZXJuYXRpdmUgKGZvbGxvd2VkIGJ5IHRoZSBzZXF1
ZWwgb2YKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICIiOwogCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oKXwvLmV4ZWMoIiIp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC8oKXwvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRl
eCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAh
PT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4
ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVj
dGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9
MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtp
bmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsg
J10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRb
aW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0s
CisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2lu
ZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0n
CisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjNfQTFfVDE3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QxNy5qcwppbmRleCA3ZWM1N2FjMjlhYjczNDRmMjBkMDkx
NDE2N2Y0MWU2ZTBiMDU1OTZlLi4yNGE4NzRkYzQwNjI4NWQwMWM1N2U1MTM3YjNkZmQ5NjIyOTg2
NjU5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjNfQTFfVDE3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuM19BMV9UMTcuanMKQEAgLTE2LDI0ICsxNiwyOCBAQCBUaGUgcGF0dGVy
biBmaXJzdCB0cmllcyB0byBtYXRjaCB0aGUgbGVmdCBBbHRlcm5hdGl2ZSAoZm9sbG93ZWQgYnkg
dGhlIHNlcXVlbCBvZgogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0g
IiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxl
bmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL3woKS8u
ZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAh
PT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4
ZWN1dGVkID0gL3woKS8uZXhlYygiIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVj
dGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVk
LmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IF9fZXhlY3V0ZWQgPSAvfCgpLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5w
dXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZh
ciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4
ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvfCgpLy5leGVjKCIiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UMi5qcwppbmRleCAxZDZlMDQzYTE5ZjY3MmQ1
MTQwOGIxM2E5YmIxN2Q0MWJlNzE2M2JjLi40YmEzMzE3NzBkOTNkMGYxMjQ2OGM4NWQ1YjI2Mzg0
ZGE4MDZlNTk4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjNfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1QyLmpzCkBAIC0xNiwyNCArMTYsMjggQEAgVGhlIHBh
dHRlcm4gZmlyc3QgdHJpZXMgdG8gbWF0Y2ggdGhlIGxlZnQgQWx0ZXJuYXRpdmUgKGZvbGxvd2Vk
IGJ5IHRoZSBzZXF1ZWwgb2YKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1
dCA9ICJhYmMiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9
IC8oKGEpfChhYikpKChjKXwoYmMpKS8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09
PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0
aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBl
Y3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVD
SyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLygoYSl8KGFiKSkoKGMpfChiYykp
Ly5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09
IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVj
dXRlZCA9IC8oKGEpfChhYikpKChjKXwoYmMpKS8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLygoYSl8KGFiKSkoKGMpfChiYykp
Ly5leGVjKCJhYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0
ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2lu
ZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9U
My5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19B
MV9UMy5qcwppbmRleCBmNzRkOWNiYjE3NDgzN2Y1MDYwMGFhYTU0ZjNhMGNlNGQyYTllYmUwLi42
YjM5NzU4YjE2YmZmN2M4Yjk3Y2Y3YWZiNWVkOTczYzM5ZmI1NTgyIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDMuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1Qz
LmpzCkBAIC0xOCwyNCArMTgsMjggQEAgVGhlIHBhdHRlcm4gZmlyc3QgdHJpZXMgdG8gbWF0Y2gg
dGhlIGxlZnQgQWx0ZXJuYXRpdmUgKGZvbGxvd2VkIGJ5IHRoZSBzZXF1ZWwgb2YKIF9fZXhwZWN0
ZWQuaW5kZXggPSAxMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIG9mIGNvdXJzZSBy
ZXBlYXQgMTIiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9
IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCBvZiBjb3Vyc2UgcmVwZWF0IDEyIik7
IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
bGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBl
Y3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0g
L1xcZHszfXxbYS16XXs0fS8uZXhlYygiMiwgMTIgYW5kIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsg
X19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcK
Kyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5w
dXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXGR7M318
W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCBvZiBjb3Vyc2UgcmVwZWF0IDEyIik7IF9fZXhlY3V0
ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAor
ICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0v
L0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4
KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0J
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcZHszfXxbYS16XXs0
fS8uZXhlYygiMiwgMTIgYW5kIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UNC5qcwppbmRleCAzODVhNjhhNDc0ZmQwMjkx
ZWIwZWUzNWUyZGJkNTJlZmI4MDFiMzNhLi40YTY0MzI5MDBhMGMyZDcyOTE4N2M1N2Q1ODE1YjAy
YzY3YmE5M2RhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjNfQTFfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1Q0LmpzCkBAIC0xOCwyNCArMTgsMjggQEAgVGhlIHBh
dHRlcm4gZmlyc3QgdHJpZXMgdG8gbWF0Y2ggdGhlIGxlZnQgQWx0ZXJuYXRpdmUgKGZvbGxvd2Vk
IGJ5IHRoZSBzZXF1ZWwgb2YKIF9fZXhwZWN0ZWQuaW5kZXggPSAxMDsKIF9fZXhwZWN0ZWQuaW5w
dXQgPSAiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiI7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHszfXxbYS16XXs0fS8uZXhl
YygiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmxl
bmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisg
IF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAK
LS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17
NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVj
dXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAK
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17
NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVj
dXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQs
CisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAK
LS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5k
ZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpd
ezR9Ly5leGVjKCIyLCAxMiBhbmQgMjM0IEFORCBvZiBjb3Vyc2UgcmVwZWF0IDEyIik7IF9fZXhl
Y3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
X19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDUuanMKaW5kZXggMWI1YThj
MDkyMTFkOTQwYTA5Y2VkZmRhNTE3NjhjNjE2N2YxNDIzNy4uOGQxNGE5MmQ2ZjE4M2VmYmQzNzUz
ZmQ3ZjgwMjJjODg3YjM0YTkwMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UNS5qcwpAQCAtMTQsNyArMTQsNCBA
QCBUaGUgcGF0dGVybiBmaXJzdCB0cmllcyB0byBtYXRjaCB0aGUgbGVmdCBBbHRlcm5hdGl2ZSAo
Zm9sbG93ZWQgYnkgdGhlIHNlcXVlbCBvZgogCiB2YXIgX19leGVjdXRlZCA9IC9cZHszfXxbYS16
XXs0fS8udGVzdCgiMiwgMTIgYW5kIDIzIEFORCAwLjAwLjEiKTsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvXFxkezN9fFthLXpd
ezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpID09PSBmYWxzZScpOwotfQorYXNz
ZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuM19BMV9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UNi5qcwppbmRleCAyNjIyNDhhM2FlZjhjMzAzNjYyNWFh
MGU0ZmMxY2M2MmJlNTc2ZDFjLi40OWYzZjAxMjM0Y2U2ZTQ2ZjVjNTBjYzE3MDM1NzZhZGQ5MWMw
NWNkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjNfQTFfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi4zX0ExX1Q2LmpzCkBAIC0xNiwyNCArMTYsMjggQEAgVGhlIHBhdHRlcm4g
Zmlyc3QgdHJpZXMgdG8gbWF0Y2ggdGhlIGxlZnQgQWx0ZXJuYXRpdmUgKGZvbGxvd2VkIGJ5IHRo
ZSBzZXF1ZWwgb2YKIF9fZXhwZWN0ZWQuaW5kZXggPSA0OwogX19leHBlY3RlZC5pbnB1dCA9ICJB
RUtGQ0QiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3Rl
ZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9h
YnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhw
ZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3Ro
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9f
ZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4
ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRl
eCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsK
IAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2FifGNkfGVmL2ku
ZXhlYygiQUVLRkNEIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8
X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09
IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4
ZWN1dGVkID0gL2FifGNkfGVmL2kuZXhlYygiQUVLRkNEIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4
ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRl
eF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
W2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRl
eF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjNfQTFfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDcuanMKaW5kZXggZTlmOTIzMzNiOWMzMmJjZTJiNjY2
MjNkNWJiMWU2MGY1MmRmMTdlNy4uZDNlN2NmNGFiZjQ1NmY2ZjI1NTk5YjJiMGNhY2U5NTY2NGFm
ZmYxNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi4zX0ExX1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuM19BMV9UNy5qcwpAQCAtMTIsNyArMTIsNCBAQCBUaGUgcGF0dGVybiBm
aXJzdCB0cmllcyB0byBtYXRjaCB0aGUgbGVmdCBBbHRlcm5hdGl2ZSAoZm9sbG93ZWQgYnkgdGhl
IHNlcXVlbCBvZgogCiB2YXIgX19leGVjdXRlZCA9IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIik7
CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogL2FifGNkfGVmLy50ZXN0KCJBRUtGQ0QiKSA9PT0gZmFsc2UnKTsKLX0KK2Fzc2VydCgh
X19leGVjdXRlZCwgJ1RoZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjNfQTFfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjNfQTFfVDguanMKaW5kZXggN2M2NmNiNDA5ZDJlYWIxYThmMWU1OGNhOTMx
NTZmNGVmYjY0NmIzNy4uN2VkNDIyNjQ3NDVhYWRhOTNlMjUwZDQ3ZWJiZjFiZDVlNWZjY2QyOCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi4zX0ExX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuM19BMV9UOC5qcwpAQCAtMTYsMjQgKzE2LDI4IEBAIFRoZSBwYXR0ZXJuIGZpcnN0
IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2Vx
dWVsIG9mCiBfX2V4cGVjdGVkLmluZGV4ID0gNDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiQUVLRkNE
IjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVu
Z3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8
Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhw
ZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3Ro
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9f
ZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEIik7
IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlu
cHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8
Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBl
Y3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4
PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRb
aW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjNDogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEIik7IF9fZXhl
Y3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
X19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDkuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjNfQTFfVDkuanMKaW5kZXggMzI0N2Fj
NjkwN2RhNmI1NTFiMjE1ZWQxNWVlZDAxOTExMjU1ZDc1ZC4uNzQ2OTJhMGI4NmQ3MDA1ODMyZjk3
NzRiYjgxZDM4OWU1ZTUzN2QxYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi4zX0ExX1Q5LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuM19BMV9UOS5qcwpAQCAtMTYsMjQgKzE2LDI4
IEBAIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZl
IChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mCiBfX2V4cGVjdGVkLmluZGV4ID0gNDsKIF9fZXhw
ZWN0ZWQuaW5wdXQgPSAiQUVLRkNEYWIiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxl
bmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVj
dXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVu
Z3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgn
CispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmlu
ZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8
Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4
cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAor
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1
dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIik7IF9f
ZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
cHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5w
dXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCisp
OwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7
IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhd
KSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/OmFifGNk
KSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi41X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi41X0ExX1QxLmpzCmluZGV4IDFlNjFjMjM2NTI2ODNjNzExN2I1MjQ4ZDYzOGNkNzQ5
ZDNmNWQxOTQuLjcxYTEwOTNhNTEzMTVjYzU4NjU0YjBmYzU3Nzk5ODE5ZTQyYWUwZjIgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNV9B
MV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjVfQTFfVDEuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7
CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoaSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhl
Y3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsg
X19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5s
ZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVj
dGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAv
YVthLXpdezIsNH0vLmV4ZWMoImFiY2RlZmdoaSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsg
X19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRl
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcK
Kyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0
aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvYVthLXpd
ezIsNH0vLmV4ZWMoImFiY2RlZmdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi41X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi41X0ExX1QyLmpzCmluZGV4IDNiZGUwYzFkMzBkZDYyMjYwN2NlNzNjYWNjMmRmNWRm
OTFjNDkzYzQuLjE3M2Y2NzcyMmNhODExNmU0N2NjMDg0NDNiZDBiMjM0NmRkYWZmMDggMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNV9B
MV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjVfQTFfVDIuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7
CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoaSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhl
Y3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7
IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
bGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBl
Y3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0g
L2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcg
KyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmlu
ZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChf
X2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKCJhYmNkZWZnaGki
KTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1
dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxl
bmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtp
bmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvYVth
LXpdezIsNH0/Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9
PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRl
eF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAg
ICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuNV9BMV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuNV9BMV9UMy5qcwppbmRleCBjZmFjZWUxMGNiYmFhZGVlMjhkNzRkZDcxYjhi
ZTA4OGYxNzk0N2M1Li4wNTJiNWI3M2UzMWE5ZDAyNzhmZTBhMWRiMDQwYjYyYzg1OGNhNTk1IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjVfQTFfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi41X0ExX1QzLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXgg
PSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYWJhYWMiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4
ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJh
YWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4
cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNL
IzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8u
ZXhlYygiYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8
X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09
IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4
ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoImFhYmFhYyIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi41X0ExX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi41X0ExX1Q0LmpzCmluZGV4IGFjMDU1NDk0OTVi
NDU5ZmNmMTk1NzFiYzA2NWYyYjZjMTZlNmEyM2YuLjcwNWEzY2FlYmZlYjFjY2RmMjc5ODBmNDRi
NmEwMGU2MzBlOTZlNjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuNV9BMV9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjVfQTFfVDQuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAog
X19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gInphYWNiYmJjYWMiOwog
Ci0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oeikoKGErKT8o
YispPyhjKSkqLy5leGVjKCJ6YWFjYmJiY2FjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsg
X19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1p
ZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMo
InphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09
IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVj
dXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKCJ6YWFjYmJiY2FjIik7IF9fZXhlY3V0
ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAor
ICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0v
L0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4
KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0J
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/
KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0g
JyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0p
OwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBf
X2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsK
IH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNV9BMV9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuNV9BMV9UNS5qcwppbmRleCBmZTliNmRkMzI1MWE5NzkzNWZjYmU4MmRkNWE5Y2Ey
MWQ0YTRhNmZjLi42YjY1NWI4NDQyYjY4OTllZDY0YTNlNDY2Mzk5MDA2MGM3ZTRhOGVhIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjVf
QTFfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi41X0ExX1Q1LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAw
OwogX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYWMiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFhYyIpOyBfX2V4ZWN1
dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5n
dGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVu
Z3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcK
Kyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5k
ZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxc
MSsvLmV4ZWMoImJhYWFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5p
bmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1
dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBf
X2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQg
PT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1
dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVj
dGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQK
IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlp
ZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFj
Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDEuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDEuanMKaW5k
ZXggNTYzMzc4MWU1OTJmZjhhMjM4ZjEwM2UzZWEzZmRkMjYwOGQ1OTk1OS4uNGM0ZDJiNGI5Nzgz
YzJhMDNlYzc5ZTM5M2IxOGY0NjhmODI2OTZiZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0ExX1QxLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMV9UMS5qcwpAQCAtMTEs
NyArMTEsNCBAQAogCiB2YXIgX19leGVjdXRlZCA9IC9zJC8udGVzdCgicGFpcnNcbm1ha2VzXHRk
b3VibGUiKTsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiAvcyQvLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFs
c2UnKTsKLX0KK2Fzc2VydCghX19leGVjdXRlZCwgJ1RoZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDIuanMKaW5kZXggNzJkNzczOWFi
MTBiNTBlYTM2NDJjYzFjNGUzNDI3MTRlZjExMmJjMS4uODIxNDQ1MjY4ZmUzMWFjMjRiZDMyZTNm
YTQwZWFkZGZjYmEyMjI3MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMV9UMi5qcwpAQCAtMTUsMjQgKzE1LDI4IEBA
CiBfX2V4cGVjdGVkLmluZGV4ID0gMTc7CiBfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtl
c1x0ZG91YmxlIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhw
ZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQg
PSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5sZW5ndGgg
PT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVu
Z3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4
cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NI
RUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxu
bWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC9lJC8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVk
LmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAg
X19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9D
SEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsr
KSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9lJC8uZXhlYygicGFpcnNc
XG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42
X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi42X0ExX1QzLmpzCmluZGV4IGU1YjJmMzBhYzA0MDRjZTAxOTUwN2U5ZTFlMmZjY2I2OTg4YzAz
ZDEuLjViMDk1MzA1NzUwMzcyODBlYWE3MWJmNzdmNzE4ZGFkNGI4OGYzYTMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMV9UMy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZf
QTFfVDMuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDQ7CiBfX2V4
cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvcyQvbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0
ZG91YmxlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAh
PT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4
ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVk
LmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAg
X19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9D
SEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNc
XG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5p
bnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGlu
ZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhd
ICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
X19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVj
dXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBf
X2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMV9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMV9UNC5qcwppbmRleCAwMDg2Njc4
Y2FmNTM4NTEyMzVhNmMxMzJhNjM4YzAxNDgwNDRhNjU1Li5hZmZkZjQ4MjQwZmEyN2ZlYjc0OWIy
MDM0MDNmMjBkNDhkOWE4ZmY3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0ExX1Q0LmpzCkBAIC0xNSwyNCArMTUsMjgg
QEAKIF9fZXhwZWN0ZWQuaW5kZXggPSA0OwogX19leHBlY3RlZC5pbnB1dCA9ICJwYWlyc1xubWFr
ZXNcdGRvdWJsZSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4
cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gL1teZV0kL21nLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5s
ZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAor
ICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwog
Ci0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhl
YygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19l
eHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVj
dXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiBfX2V4ZWN1dGVkID0gL1teZV0kL21nLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3Vi
bGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVk
Lmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3Rl
ZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAv
W15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBp
bmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRb
aW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRb
aW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0ExX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0ExX1Q1LmpzCmluZGV4IDhiMDIwOTY5MmYwNGYzZDdm
OWY5NTRjYWMwMjBkYmNkZjIyMWMwN2QuLjNhZWM1ZWNiMWIzZjRjNGNjMmY3N2ZiM2I0NDczM2U2
ZWYyOGRiMDYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuNl9BMV9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjZfQTFfVDUuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBl
Y3RlZC5pbmRleCA9IDE3OwogX19leHBlY3RlZC5pbnB1dCA9ICJwYWlyc1xubWFrZXNcdGRvdWJs
ZXMiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9lcyQv
bWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZC5sZW5n
dGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
bGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBf
X2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0v
L0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvZXMkL21nLmV4ZWMoInBh
aXJzXFxubWFrZXNcXHRkb3VibFxcdTAwNjVzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBf
X2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4
ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvZXMkL21nLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3Vi
bFxcdTAwNjVzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19l
eHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9f
ZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1
dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxcXHUwMDY1cyIpOyBfX2V4
ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAg
IF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1QxLmpzCmluZGV4IDU5NDNl
NjcwNjA1ZTc2YmU0YTE5MDg3NGIxNzVmYTJkZTljMzM5NTEuLjdjNzk4M2I4NjBhZGU1NGFmM2Nj
YWZlMDUzOTE5NWMxNGIxMjU1ZmYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDEuanMKQEAgLTExLDcgKzExLDQg
QEAKIAogdmFyIF9fZXhlY3V0ZWQgPSAvXm0vLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7
CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogL15tLy50ZXN0KCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIikgPT09IGZhbHNlJyk7Ci19
Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1QxMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UMTAuanMKaW5kZXggZWJmZmM0ODBhNjBmODEx
NDM5YTJmZWQ3YTRjMDk2YzMzN2QzMGU3YS4uZjEzZWJmZWM0ZjA2N2ViNmJlNzZiOWE4YzgyNGM4
YWExZmYyNGE4YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0EyX1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDEwLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9f
ZXhwZWN0ZWQuaW5kZXggPSA0OwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcbjEyM3h5eiI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL15cXGQrL20uZXhl
YygiYWJjXFxuMTIzeHl6Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5s
ZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX2V4ZWN1dGVkID0gL15cXGQrL20uZXhlYygiYWJjXFxuMTIzeHl6Iik7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAor
ICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXlxcZCsvbS5leGVjKCJh
YmNcXG4xMjN4eXoiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxf
X2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0g
X19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhl
Y3V0ZWQgPSAvXlxcZCsvbS5leGVjKCJhYmNcXG4xMjN4eXoiKTsgX19leGVjdXRlZFsnICsgaW5k
ZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2lu
ZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2lu
ZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UMi5qcwppbmRleCBlNzZmOGVhNThjY2RkMjk3ZmJk
NjJlYmVhMjg5Y2MyNzQyNzkwYjJmLi4yNDZkMzU4MjRkODAxOTEzYjllMGQ1Y2IyNjVhNjYzYjRl
YmI3NDU4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjZfQTJfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0EyX1QyLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0
ZWQuaW5kZXggPSA2OwogX19leHBlY3RlZC5pbnB1dCA9ICJwYWlyc1xubWFrZXNcdGRvdWJsZSI7
CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0
aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL15tL20uZXhl
YygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9f
ZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVu
Z3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYg
KF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRk
b3VibGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhw
ZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9
IC9ebS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0
ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAog
Zm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXm0vbS5leGVjKCJwYWlyc1xcbm1ha2Vz
XFx0ZG91YmxlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVk
W2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRl
eF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJf
VDMuanMKaW5kZXggMjJmYjI2ZTNiNGI4MWMwN2MzMmM0OWNlNWFlYjViOTc0NDA3MWU3NS4uMGRk
ZTc1YzY1ZGM2NWM3MTRkNTAwYTUzMDQ1NjQzZmZjNDUyMGM5YyAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1QzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UMy5q
cwpAQCAtMTcsMjQgKzE3LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQu
aW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXnBbYS16XS8uZXhlYygicGFpcnNcXG5tYWtl
c1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3Rl
ZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVj
dXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3Vi
bGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0g
X19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1
dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBf
X2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
cHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0Jwor
KTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3Ro
OyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4
XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9ecFthLXpd
Ly5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UNC5qcwppbmRleCBlMzZlYzhkMzA1Yzg3ODNj
OWY0NGNmYmQ1OTgwODcyNGIyMjJiMDE5Li41ZTc5ZDliMDlmMTFmZDNhYjAyZWUxNGU5YTA2NWJl
NWVkZDc1OWQ5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjZfQTJfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q0LmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhw
ZWN0ZWQuaW5kZXggPSAxOTsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3Vi
bGVcbnBlc29zIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhw
ZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQg
PSAvXnBbYi16XS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4
ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5s
ZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
bGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0
aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQu
aW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9ecFti
LXpdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQu
aW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBf
X2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NI
RUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXnBbYi16XS9tLmV4ZWMoInBh
aXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsg
X19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1
dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFy
IGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhl
Y3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9ecFtiLXpdL20uZXhlYygicGFpcnNcXG5tYWtlc1xc
dGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4
cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9Cisg
IGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3Rl
ZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZf
QTJfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjZfQTJfVDUuanMKaW5kZXggMTYwOWZiODczNjIzMGM4MDBlNzY0MWQ3YmU4OWRkMDZjZjg4YjM0
OC4uNTc1ZDQ3MjRjMTE4ZjJhNzFlYjU5Yjg3ZmRlOWFhZmM5NTFiNDdmNCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q1Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9B
Ml9UNS5qcwpAQCAtMTcsMjQgKzE3LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gNjsKIF9fZXhw
ZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xc
bm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0
aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChf
X2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0
ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC9eW15wXS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIp
OyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9eW15w
XS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkWycg
KyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q2LmpzCmluZGV4IDA1MTBiZTQyNjNiOWY1
ZWNkMWE3NTk2ZGFlNWVkZjA4OGIwOTlhMmEuLmJjZDQ3ZDdhNGZiMDdkYTMyNzVjM2ExNDVmZmUw
ZWQ0MmFjOTcwODggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuNl9BMl9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDYuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19l
eHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlIjsKIAotLy9DSEVD
SyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXmFiLy5leGVjKCJhYmNkZSIp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVk
LmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlu
cHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IF9fZXhlY3V0ZWQgPSAvXmFiLy5leGVjKCJhYmNkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAn
ICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5p
bnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3Io
dmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9f
ZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0
ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19l
eGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJfVDcuanMKaW5kZXggMDhmNTU2ZmU5
ODNiMTY3NGM2ODU4NGZkZDA5MTQ2YzhkM2ZkNWQ0Mi4uYjczZTAwNDcwNmU3MGNkZmZjOTQ4NTE3
YTNiODNkNzNlZTE4MmM4NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9UNy5qcwpAQCAtMTEsNyArMTEsNCBAQAog
CiB2YXIgX19leGVjdXRlZCA9IC9eLi5eZS8udGVzdCgiYWJcbmNkZSIpOwogCi0vL0NIRUNLIzEK
LWlmIChfX2V4ZWN1dGVkKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IC9eLi5eZS8u
dGVzdCgiYWJcXG5jZGUiKSA9PT0gZmFsc2UnKTsKLX0KK2Fzc2VydCghX19leGVjdXRlZCwgJ1Ro
ZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTJf
VDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZf
QTJfVDguanMKaW5kZXggMjc1OTNkODY5MWNiNDdlYjBlYWRiZGE0MTBmOGM5MTYyNzE3YjdiOC4u
MTE0YmYyMzEzNWQ1NDk3NjM4NzFlNmYzYWQwY2VhMDQ1NGIxNWJmOCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EyX1Q4LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BMl9U
OC5qcwpAQCAtMTEsNyArMTEsNCBAQAogCiB2YXIgX19leGVjdXRlZCA9IC9eeHh4Ly50ZXN0KCJ5
eXl5eSIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkKSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IC9eeHh4Ly50ZXN0KCJ5eXl5eSIpID09PSBmYWxzZScpOwotfQorYXNzZXJ0
KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuNl9BMl9UOS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuNl9BMl9UOS5qcwppbmRleCA4ZmVkMmY5MTQxODE3ZmIzZDc0NTg5N2Ux
ZDZlZWViZTc5NWZlMzgyLi5iODc0MGU5NTQ1ZmY0YzYyMmVkMzU0YWY0YWFhMWU4NjU2Zjg2ZGFh
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjZfQTJfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi42X0EyX1Q5LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5k
ZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJeXl54IjsKIAotLy9DSEVDSyMxCi1pZiAoX19l
eGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXlxcXisvLmV4ZWMoIl5eXngiKTsgX19leGVjdXRl
ZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3Ro
LAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCisp
OwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcXisvLmV4
ZWMoIl5eXngiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9f
ZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRl
ZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBl
Y3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4
PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRb
aW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjNDogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkWycgKyBp
bmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRb
aW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRb
aW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxLmpzCmluZGV4IDJmN2I2YmNjMzk2NDUxZjE1
ODA3MWYyMGQ4YmU5NjI5ZTU1NzU4MDQuLjMzNTJiZDhlMDc5YmY0MGExMWE1N2NlYmM1Yzk0ZTFk
ZGZkZGVlMDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuNl9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDEuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBl
Y3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gInBpbG90XG5zb3ZpZXQgcm9ib3Rc
dG9wZW5vZmZpY2UiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19l
eHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRl
ZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVk
LmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxi
cC8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQu
aW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBf
X2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NI
RUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicC8uZXhlYygicGlsb3Rc
XG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBf
X2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIg
aW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVj
dXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYnAvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90
XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0Ez
X1QxMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
Nl9BM19UMTAuanMKaW5kZXggYTZlOWZiZjA4OWJlMjkxNjY2ZmI2NzIyZDgyNmY1Y2FkYzZhMjQz
Ni4uMzkwMDMwZGJmZmIyYzNjMmQyMzMzOTAxOTRjOTBkNWU1MTVlZjk2MCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxMC5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZf
QTNfVDEwLmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxMzsKIF9f
ZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CiAKLS8v
Q0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYnJvYm90XFxiLy5l
eGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5n
dGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
bGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBf
X2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0v
L0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxicm9ib3RcXGIvLmV4
ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4
ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5k
ZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBl
Y3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMz
Ci1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYnJvYm90XFxiLy5leGVjKCJwaWxv
dFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5w
dXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZh
ciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4
ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxicm9ib3RcXGIvLmV4ZWMoInBpbG90XFxuc292
aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi42X0EzX1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuNl9BM19UMTEuanMKaW5kZXggNzk4Y2JmYzA3NDhiMTdhNDZkM2I4MjNiNTU3Zjk3
Y2Y2Mzg4MGExOS4uZWVhYWU3Y2VmNTM5ZTA5ZTljZGIwMWFlZmMyM2M4OWUyOTE4OTdhNCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42
X0EzX1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjZfQTNfVDExLmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXgg
PSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNl
IjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVu
Z3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXFxiXFx3
ezV9XFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVj
dXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVu
Z3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgn
CispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmlu
ZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxiXFx3
ezV9XFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVj
dXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAK
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXGJcXHd7NX1cXGIv
LmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmlu
cHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
aW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19l
eHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVD
SyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7
Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9cXGJcXHd7NX1cXGIvLmV4ZWMo
InBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRl
eCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5k
ZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5k
ZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UMTIuanMKaW5kZXggMDhjNGMxMzkyYTMxNDYzMzhh
ZTRlNmFlM2M5Y2I5YzQ5N2I5MzFlYy4uOTAzOGYyNzc0NzExMjUwNTI4NTllZDdiNjY0YjQyNmMy
YWYxNzA2OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi42X0EzX1QxMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDEyLmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhw
ZWN0ZWQuaW5kZXggPSAxOTsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2Jv
dFx0b3Blbm9mZmljZSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBf
X2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1
dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsg
X19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5s
ZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVj
dGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAv
XFxib3AvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1
dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwK
KyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAot
Ly9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJw
aWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQu
aW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9y
KHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChf
X2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxib3AvLmV4ZWMoInBpbG90XFxuc292aWV0
IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi42X0EzX1QxMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BM19UMTMuanMKaW5kZXggN2Y1YWNmZjZmYzY4MWMwZWU1ZjQxY2Y3ZTMyMGFjMjBl
Yzg2YTVjMi4uMDU2MGM2NDFiMGYyMGY2MzY1N2RlYjlmZmNmY2E3YzE2ZTNjY2M1ZSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0Ez
X1QxMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjZfQTNfVDEzLmpzCkBAIC0xMyw3ICsxMyw0IEBACiAKIHZhciBfX2V4ZWN1dGVkID0gL29w
XGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvb3BcXGIv
LnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwot
fQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDE0LmpzCmluZGV4IGUxZmE2NGFjNGU4ZWY0
MGY5ZjdhZDEwOWZjZjI5YzE0NjEwMzY2YjkuLmFjNjY1ZWIyM2E2M2RiZGNhMTgxN2RjNTljN2Y0
OTAxMjcwYWVlZTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuNl9BM19UMTQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxNC5qcwpAQCAtMTcsMjQgKzE3LDI4IEBACiBf
X2V4cGVjdGVkLmluZGV4ID0gMjg7CiBfX2V4cGVjdGVkLmlucHV0ID0gInBpbG90XG5zb3ZpZXQg
cm9ib3RcdG9wZW5vZmZpY2UiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAh
PT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19l
eGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xc
dTAwNjUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9
PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhl
Y3V0ZWQgPSAvZVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUw
MDY1Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVj
dGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAv
ZVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1Iik7IF9f
ZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
cHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5w
dXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCisp
OwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7
IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhd
KSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2VcXGIvLmV4
ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljXFx1MDA2NSIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UMTUuanMKaW5kZXggNzliZDUwMTgx
MDA3NTdkMTAwNTZhZmQ1MzE1YTllMTY2ZTdhZTdiNy4uMTdjNTZhMzhiN2ZkNDc5NjNkNjFhNDVi
NWVjYWEzZGRiNzYwNTg2ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QxNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDE1LmpzCkBAIC0xMyw3ICsxMyw0IEBA
CiAKIHZhciBfX2V4ZWN1dGVkID0gL1xiZS8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Bl
bm9mZmljXHUwMDY1Iik7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogL1xcYmUvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0
b3Blbm9mZmljXFx1MDA2NSIpID09PSBmYWxzZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAn
VGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9B
M19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
Nl9BM19UMi5qcwppbmRleCBiYmNmZTQ1NGUwODg3NmI0ZGY3Yzc1NWQ5ZTI3NTNkZDZjZjI4ZjYy
Li42MWVlN2VmMTA4MmU2MjEwNzUxZjAyOGIwN2I4ZTllYzI3ODI1Nzk5IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0Ez
X1QyLmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAzOwogX19leHBl
Y3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKIAotLy9DSEVD
SyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvb3RcXGIvLmV4ZWMoInBpbG90
XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3Zp
ZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVj
dGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVk
LmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IF9fZXhlY3V0ZWQgPSAvb3RcXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Bl
bm9mZmljZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4
cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRl
ZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9f
ZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDMuanMKaW5kZXggNmIx
MTNlYzM1ZDg2MDA1ZGEwNTU3Mjk2ZGZmMDYxOWRlMDRmODQwYy4uYTdlYTkxODMwYzBhZDM1NDJj
MzhkYzJjYTVjNmQyMzVjMzgyODY1MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UMy5qcwpAQCAtMTMsNyArMTMs
NCBAQAogCiB2YXIgX19leGVjdXRlZCA9IC9cYm90Ly50ZXN0KCJwaWxvdFxuc292aWV0IHJvYm90
XHRvcGVub2ZmaWNlIik7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogL1xcYm90Ly50ZXN0KCJwaWxvdFxcbnNvdmlldCByb2JvdFxc
dG9wZW5vZmZpY2UiKSA9PT0gZmFsc2UnKTsKLX0KK2Fzc2VydCghX19leGVjdXRlZCwgJ1RoZSB2
YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNf
VDQuanMKaW5kZXggZGEzYmVlODU3YTRkOTU3MWM1MWQ2YmFmMmFmZTc5Mzc3ZmRjMjc2ZC4uYWU2
OWM0Y2QzZjI5YjkxNTg1NjlmOTVkNGQyZWZiYzIyYWI4MzliOSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q0LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UNC5q
cwpAQCAtMTcsMjQgKzE3LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gNjsKIF9fZXhwZWN0ZWQu
aW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CiAKLS8vQ0hFQ0sjMQot
aWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYnNvLy5leGVjKCJwaWxvdFxcbnNv
dmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0
aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChf
X2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxic28vLmV4ZWMoInBpbG90XFxuc292aWV0IHJv
Ym90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5p
bmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1
dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBf
X2V4ZWN1dGVkID0gL1xcYnNvLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZp
Y2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVk
Lmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3Rl
ZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAv
XFxic28vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1
dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9f
ZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q1LmpzCmluZGV4IDY5ZjRkMTU2
NjkyZjg1ZmE2MmU5OGI4NjY5OGUyNmNlZmFkOTBiNGEuLmQ4NGEwNTRlMTBhODExNzI1N2FiYjA0
Y2JkOTJkNmU5ZGMzOTg1MjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDUuanMKQEAgLTEzLDcgKzEzLDQgQEAK
IAogdmFyIF9fZXhlY3V0ZWQgPSAvc29cYi8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Bl
bm9mZmljZSIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IC9zb1xcYi8udGVzdCgicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVu
b2ZmaWNlIikgPT09IGZhbHNlJyk7Ci19Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUg
b2YgIV9fZXhlY3V0ZWQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q2LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q2Lmpz
CmluZGV4IGVjOGI2OTViMmViMTBhYjI3YTlmMWNlMzg1OGZiZjNiOTY0NjNmNTEuLmFjMDFhYzk2
ZmViOTY2YWIxNTYzMGNiNzEwNDJkZWYyNzFmZTc2N2IgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UNi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDYuanMKQEAg
LTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDM7CiBfX2V4cGVjdGVkLmlucHV0
ID0gInBpbE90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiOwogCi0vL0NIRUNLIzEKLWlmIChf
X2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3Zp
ZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBl
Y3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19l
eGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1teb110XFxiLy5leGVjKCJwaWxPdFxcbnNvdmlldCBy
b2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5w
dXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzog
X19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVu
b2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBl
Y3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhw
ZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVk
ID0gL1teb110XFxiLy5leGVjKCJwaWxPdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsg
X19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UNy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UNy5qcwppbmRleCA3
ZDZhYzk0MTMxMGYxYmVmYzNiODM0OGZmNTU0OGE4NWM3OTRjNjIzLi5kMTE0YmZiNzMxMDgwODEx
ODg5YjVmMzA1ODIzODMzMzM3NWVkMzA2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDcuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q3LmpzCkBAIC0xNywyNCAr
MTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAicGls
T3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0
ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBfX2V4ZWN1dGVkID0gL1teb110XFxiL2kuZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9i
b3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5s
ZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX2V4ZWN1dGVkID0gL1teb110XFxiL2kuZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3Rc
XHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9
PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhl
Y3V0ZWQgPSAvW15vXXRcXGIvaS5leGVjKCJwaWxPdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZp
Y2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVk
Lmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3Rl
ZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAv
W15vXXRcXGIvaS5leGVjKCJwaWxPdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19l
eGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
ICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UOC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BM19UOC5qcwppbmRleCAxZDg1
MWU2NTdjYzgzNDA3ZWIzZWY0M2Q2Njk4ZTk0YTQwMjQxMDllLi45MWY3ZThiMWYyYzEzNmY0OTZi
ZWQ2MGY5ZGY4MzE4MTM3ZWUxYTllIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTNfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q4LmpzCkBAIC0xNywyNCArMTcs
MjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3Rc
bnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQu
bGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBfX2V4ZWN1dGVkID0gL1xcYnJvLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9w
ZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9f
ZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmlj
ZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
ZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3Rl
ZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xc
YnJvLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRl
ZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisg
IF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8v
Q0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgr
KykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJ
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBp
bG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0EzX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0EzX1Q5LmpzCmluZGV4IDIxOGI2NzE0MjJjZmI1YmIwNWVhYzBi
ZjM0ZWJhNzkxOWU1MjJlMmQuLmI4M2M5MmQ2YmQ1ODk0YWQ1Y2RlMjlmOGVlM2JhNDJmNDUyOWMw
ZGQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BM19UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjZfQTNfVDkuanMKQEAgLTEzLDcgKzEzLDQgQEAKIAogdmFyIF9fZXhlY3V0
ZWQgPSAvclxiLy50ZXN0KCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CiAKLS8v
Q0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
L3JcXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxz
ZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UMS5qcwppbmRleCA3ZmRiMDA0MzVk
NzUwZDQzYWQyMWQ2ZGQwNDM0ZmRkZjI5NzBiYjI4Li5iODI5MTFjNmU2OWY0ZjU0MGM2YTkzMDFh
MDFlNTkxODRiMTc5NDlmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjZfQTRfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1QxLmpzCkBAIC0xNywyNCArMTcsMjggQEAK
IF9fZXhwZWN0ZWQuaW5kZXggPSAxOwogX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2Vc
dGZvclxuZXZpbCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4
cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gL1xcQmV2aWxcXEIvLmV4ZWMoImRldmlscyBhcmlzZVxcdGZvclxcbmV2aWwiKTsgX19leGVj
dXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVu
Z3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgn
CispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmlu
ZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCZXZp
bFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4
ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5k
ZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBl
Y3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMz
Ci1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQmV2aWxcXEIvLmV4ZWMoImRldmls
cyBhcmlzZVxcdGZvclxcbmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0w
OyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2lu
ZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxu
ZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRl
eF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAor
ICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1QyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1QyLmpz
CmluZGV4IGQwYWUxY2NiMDA4NjQ4MzI2MDdkM2M5Yjg3NTdhN2U4ZDljMmFkYzIuLjQ3NjM2MjE0
M2VkNGNjZjVkMjU1MmJiMDg1OTVjNjU1N2EzYjZhM2IgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UMi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTRfVDIuanMKQEAg
LTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDE3OwogX19leHBlY3RlZC5pbnB1
dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC9bZi16XWVcXEIvLmV4ZWMoImRldmlscyBhcmlzZVxcdGZv
clxcbnJldmlsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRl
eCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwi
KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRl
eCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQu
aW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bZi16
XWVcXEIvLmV4ZWMoImRldmlscyBhcmlzZVxcdGZvclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2
aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0g
JyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0p
OwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBf
X2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsK
IH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BNF9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuNl9BNF9UMy5qcwppbmRleCAwNDAwZWU4YjQ5M2ZiZGEzMTM2ZmE3ZTYyMGJmY2Ni
MTU2MjQ3MGVjLi44ZjE3NTA3NjgwNzU0ZmE5ZmIwOTc3YmEwY2FhMjg4MDQwZjcxNDY5IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZf
QTRfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi42X0E0X1QzLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAx
NDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmT3JcbnJldmlsIjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCb1xcQi9pLmV4ZWMo
ImRldmlscyBhcmlzZVxcdGZPclxcbnJldmlsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsg
X19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1p
ZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJp
c2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5p
bmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1
dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBf
X2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIp
OyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9cXEJv
XFxCL2kuZXhlYygiZGV2aWxzIGFyaXNlXFx0Zk9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UNC5qcwppbmRleCA1ZTM1YWE0Yjg0M2M4OWYz
Njg4Zjk2MzRhMGM0NmRlNTdiNjc2ZDgxLi41Mzc3MjFjNTBjZDVmYjgzNTgwZDU2MTJlNWM4NGRj
YzRjNTE1YzIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjZfQTRfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q0LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhw
ZWN0ZWQuaW5kZXggPSAxOwogX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxu
cmV2aWwiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3Rl
ZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9c
XEJcXHdcXEIvLmV4ZWMoImRldmlscyBhcmlzZVxcdGZvclxcbnJldmlsIik7IF9fZXhlY3V0ZWQu
bGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwK
KyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsK
IAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8u
ZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXEJcXHdcXEIvLmV4ZWMoImRldmlscyBhcmlz
ZVxcdGZvclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlu
cHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5k
ZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0g
IT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBf
X2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwi
KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UNS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UNS5qcwppbmRl
eCA2ZDU2YWMyZTc0MzkxYTRmZWQ1NDBkNDNiNTM3ZWI4MDRkMWQ0ODcxLi4yMGM1ODMzNGFiNzNh
M2I5MjQwMjU4M2NhYzcwMDQwOGJhNzJlZDQzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTRfVDUuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q1LmpzCkBAIC0xNSwy
NCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJk
ZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxl
bmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogX19leGVjdXRlZCA9IC9cXHdcXEIvLmV4ZWMoImRldmlscyBhcmlzZVxcdGZvclxcbnJldmls
Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19l
eHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVk
ID0gL1xcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRl
ZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisg
IF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8v
Q0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXHdcXEIvLmV4ZWMoImRl
dmlscyBhcmlzZVxcdGZvclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4
cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAor
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5k
ZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRl
ZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxu
cmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5k
ZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwK
KyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UNi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UNi5q
cwppbmRleCA4MjliZTBhMzVjYWZlOWJjNmFmYTkxZjIwMjU0MTA1ODc5YzUxZTlhLi4zMGJkMGYx
OTMxNGEyNWZhNzY3NGZiZmYyOGRlNzlkNGFhOGI1MGE1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTRfVDYuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q2LmpzCkBA
IC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxOwogX19leHBlY3RlZC5pbnB1
dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC9cXEJcXHcvLmV4ZWMoImRldmlscyBhcmlzZVxcdGZvclxc
bnJldmlsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAh
PT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4
ZWN1dGVkID0gL1xcQlxcdy8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19l
eGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5k
ZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRl
eCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7
CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXEJcXHcvLmV4
ZWMoImRldmlscyBhcmlzZVxcdGZvclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcg
KyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlu
cHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2
YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19l
eGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcdy8uZXhlYygiZGV2aWxzIGFyaXNlXFx0
Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0
ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2lu
ZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9U
Ny5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9B
NF9UNy5qcwppbmRleCBhYjAyYjI4MzY4MWIzMjBkNmQ1YzY3Y2Q3NzE4NDg5ZGNjMzI1MTU4Li5j
YWY0OWM0MmEwYjc5Yjc3OGZhNDU2ZmFhOGRhZDk1YTQ0ZmQzNzFhIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTRfVDcuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q3
LmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAzOwogX19leHBlY3Rl
ZC5pbnB1dCA9ICJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyI7CiAKLS8vQ0hFQ0sjMQotaWYg
KF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xCW156XXs0fVxCLy5leGVjKCJkZXZpbCBh
cmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBl
Y3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19l
eGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xCW156XXs0fVxCLy5leGVjKCJkZXZpbCBhcmlzZVxc
dGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmlu
ZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9f
ZXhlY3V0ZWQgPSAvXEJbXnpdezR9XEIvLmV4ZWMoImRldmlsIGFyaXNlXFx0Zm9yenp4XFxuZXZp
bHMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVk
Lmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3Rl
ZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAv
XEJbXnpdezR9XEIvLmV4ZWMoImRldmlsIGFyaXNlXFx0Zm9yenp4XFxuZXZpbHMiKTsgX19leGVj
dXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBf
X2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UOC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNF9UOC5qcwppbmRleCBjMzM2NTg1
NzFmNzZmOGI1NzVkYWZjMjlhNzkxZWU4OTIwMjVjOGViLi40MWMzN2EyOWU5OTUxNGRlMzkzYTdk
ZGY4MjRjOTI3ODZjOTY0MTE4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTRfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E0X1Q4LmpzCkBAIC0xNywyNCArMTcsMjgg
QEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWwgYXJp
c2VcdGZvcnp6eFxuZXZpbHMiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAh
PT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19l
eGVjdXRlZCA9IC9cXEJcXHd7NH1cXEIvLmV4ZWMoImRldmlsIGFyaXNlXFx0Zm9yenp4XFxuZXZp
bHMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7
IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlu
cHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3
ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWQu
aW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBf
X2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NI
RUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4Kysp
IHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcd3s0fVxcQi8uZXhl
YygiZGV2aWwgYXJpc2VcXHRmb3J6enhcXG5ldmlscyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0E1X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0E1X1QxLmpzCmluZGV4IDJkMjQ0ZjUxZDg2ZDg4YzY2NjYyN2M0
NjU2YWIyNTM1OTc0YTU2MjUuLjAwNGUyYjczMjRjNTBlNTY2OGE1ODkwZjY2NDE1MTFhOGYxOWQx
NGEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BNV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjZfQTVfVDEuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5p
bmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gInJvYm90IjsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9i
b3QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0
ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwot
aWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9eXl5eXl5ecm9ib3QkJCQkLy5leGVjKCJy
b2JvdCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9
IC9eXl5eXl5ecm9ib3QkJCQkLy5leGVjKCJyb2JvdCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0E1X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0E1X1QyLmpzCmluZGV4IGU0NjIxOTJjOWM5OGViODk0ZTFjMGQy
ZjEzY2Q5YWQxMTQzODAyN2UuLmFjZGY4YWY3NGY2OWRhNzA5ZjAxOTRiNjE2MTBiODRjMjQ2NDVi
N2YgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BNV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjZfQTVfVDIuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5p
bmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gInJvYm90IHdhbGwtZSI7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJv
dFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWQu
bGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwK
KyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsK
IAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxc
QlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9f
ZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFxCXFxC
XFxCXFxCXFxCYm90XFxiXFxiXFxiXFxiXFxiXFxiXFxiLy5leGVjKCJyb2JvdCB3YWxsLWUiKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcK
Kyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0
aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFxC
XFxCXFxCXFxCXFxCYm90XFxiXFxiXFxiXFxiXFxiXFxiXFxiLy5leGVjKCJyb2JvdCB3YWxsLWUi
KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNl9UMS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNl9UMS5qcwppbmRl
eCA3OTk0N2I1YzBiMzEwM2FiMTQ5MDJlNWI1MTUzMTI4NzI3NmZiNjE4Li4xNTFhMGExODgxMGYz
ZDc3NjJlMjI1NjY4MmZhMzIwZjg2NGJhM2I3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTZfVDEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42X0E2X1QxLmpzCkBAIC0xNSwy
NCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJI
ZWxsbyBXb3JsZCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4
cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQi
KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRl
eCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQu
aW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9eLio/
JC8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0w
OyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2lu
ZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IF9fZXhlY3V0ZWQgPSAvXi4qPyQvLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWRb
JyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVj
dXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTZfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjZfQTZfVDIuanMKaW5kZXggNTA2NjZjYWZjYjI4
MzlhYjFkNmViMWNhMzkxOGJhNjhlNjQzOTVhNi4uNTM3ZDA4ODFjNTIzMTk2NTE5ZTA2YzE4ZWJl
MjI3ZGVlNzc0ZjYwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0E2X1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuNl9BNl9UMi5qcwpAQCAtMTMsMjQgKzEzLDI4IEBACiBf
X2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiSGVsbG8gV29ybGQiOwog
Ci0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9eLio/Ly5leGVj
KCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVu
Z3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQu
aW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmlu
ZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
aW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19l
eHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVD
SyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL14uKj8vLmV4ZWMoIkhlbGxvIFdv
cmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3Rl
ZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0
ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0g
L14uKj8vLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09
ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhd
KTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAg
X19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjZfQTZfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjZfQTZfVDMuanMKaW5kZXggYTMwNGJjZGY3NWJjMjc0NDkwMzZkOTE5N2E0MTQ5
OTBmMzRmYzA5Yi4uZTczZmM1NDMxN2QzZTVmNWZmOTllYzExYzcwYWFlZWQxYmE5NWQ1MSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi42
X0E2X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BNl9UMy5qcwpAQCAtMTMsMjQgKzEzLDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0g
MDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiSGVsbG86IFdvcmxkIjsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXi4qPyg6fCQpLy5leGVjKCJIZWxsbzogV29y
bGQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvXi4qPyg6fCQpLy5leGVjKCJIZWxsbzogV29ybGQiKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0
ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwot
aWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBX
b3JsZCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9
IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi42X0E2X1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi42X0E2X1Q0LmpzCmluZGV4IGMyMzg5YmE0Yzk1MDBiYWFjYTkxMGZi
YjI3ZDIwODRjNWJkYzQ5OGYuLjE5YmQ0NzU3NWZkY2E4NDdlZTkyYjRmZmYxM2Q0MWFjNTQ3OWNj
NDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuNl9BNl9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjZfQTZfVDQuanMKQEAgLTEzLDI0ICsxMywyOCBAQAogX19leHBlY3RlZC5p
bmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvOiBXb3JsZCI7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKig6fCQpLy5leGVjKCJIZWxs
bzogV29ybGQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9f
ZXhlY3V0ZWQgPSAvXi4qKDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOyBfX2V4ZWN1dGVkLmlu
ZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
aW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19l
eHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVD
SyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL14uKig6fCQpLy5leGVjKCJIZWxs
bzogV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4
cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19l
eHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0
ZWQgPSAvXi4qKDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRl
eCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5k
ZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5k
ZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxLmpzCmluZGV4IDdlMDRlNjJiNzk4ODcxMDNhNDMy
ZWNiZTg1ODgzN2JhYWYxMTdkNWYuLjI5ZWFmYmZiYWUwZjY0YmRjZjg5NjgwZDE2NDViMDcyMzQ0
NzgyOTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuN19BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTFfVDEuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3Rl
ZC5pbmRleCA9IDE0OwogX19leHBlY3RlZC5pbnB1dCA9ICJ0aGUgYW5zd2VyIGlzIDQyIjsKIAot
Ly9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4
ZWMoInRoZSBhbnN3ZXIgaXMgNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4
ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBhbnN3ZXIgaXMgNDIi
KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRl
eCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQu
aW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9cXGR7
Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsg
X19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1
dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFy
IGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhl
Y3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0
MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0g
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxMC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UMTAuanMK
aW5kZXggMmQ5ZThjYjM5YTMyZjg0OTk1ZDg2MDQ4ZjBlNmZkNjZlNjc2M2Y0ZC4uNGJlNDNkNDE2
ZWE0YzYxOWZhYjdlMDM4ZTg0MTJmMTMwYWUyZGJmNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxMC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDEwLmpzCkBA
IC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAzOwogX19leHBlY3RlZC5pbnB1
dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVk
Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogX19leGVjdXRlZCA9IC9iezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZm
Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19l
eHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVk
ID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5p
bmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
LmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9f
ZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hF
Q0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9iezAsOTN9Yy8uZXhlYygiYWFh
YmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVk
LmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsg
aW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRl
eF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsg
X19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UMTEuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDExLmpzCmluZGV4
IDZhNjBiMWI3YzAwNTVjMzFiNDU3ZTE2ZGQxOTc2NmY3NGE1ZmFiMzAuLjdmYWViMDkwY2JhZWQw
ODVhMzA1Y2RmNmI0OTJhM2VjYmM3ZWI5NTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UMTEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxMS5qcwpAQCAtMTUs
MjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gNjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAi
YWFhYmJiYmNjY2RkZWVlZWZmZmZmIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5n
dGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsg
X19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5s
ZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVj
dGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAv
Ynh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRl
eCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
ZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhw
ZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sj
MwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9ieHswLDkzfWMvLmV4ZWMoImFhYWJi
YmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5p
bnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGlu
ZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhd
ICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
X19leGVjdXRlZCA9IC9ieHswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBf
X2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxMi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UMTIuanMKaW5kZXgg
NDAzMzk2ZTFjYjFjYzQ1M2I2YjlkNTU1MWNjNGNhMmI2NDU1OWY1Zi4uYmNjMmM1ZWY4NDNkZmQx
ODFiNjQxNGExM2UxN2FlMjk3MDEyY2Q3OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QxMi5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDEyLmpzCkBAIC0xNSwy
NCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJ3
ZWlyd2VyZGYiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9
IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBf
X2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxl
bmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlm
IChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7
IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlu
cHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvLnswLDkz
fS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVk
LmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsg
aW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRl
eF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiBfX2V4ZWN1dGVkID0gLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpOyBfX2V4ZWN1dGVkWycg
KyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1QyLmpzCmluZGV4IGY2OGYxOGI5NDE3Yjk4
NWRmNTM2ZjFkNDdiMWQ4YzJkOGEzMTdmYTQuLjZmYTNlNTBhNDY5NzI5ZmNiNGY3NTkxMzQyMDRi
YzJjMGZiOGI5ZGQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDIuanMKQEAgLTExLDcgKzExLDQgQEAKIAogdmFy
IF9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKTsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvXFxkezIs
NH0vLnRlc3QoInRoZSA3IG1vdmllIikgPT09IGZhbHNlJyk7Ci19Cithc3NlcnQoIV9fZXhlY3V0
ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi43X0ExX1QzLmpzCmluZGV4IDNlYTc4YTdkNTFkMjcyODViZjgxYzk2YzFlOTM5ZmY4NGZm
ODg1NzQuLmU3Y2E1NjI3MDg4NWQwMWRlYjI4NmIzZTQzNDdhNmFhMzJkMjZiZmYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9U
My5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjdfQTFfVDMuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDQ7CiBf
X2V4cGVjdGVkLmlucHV0ID0gInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayI7
CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0
aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9
Ly5leGVjKCJ0aGUgMjAwMDAgTGVhZ3VlcyBVbmRlciB0aGUgU2VhIGJvb2siKTsgX19leGVjdXRl
ZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3Ro
LAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCisp
OwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0v
LmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVk
LmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAg
X19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9D
SEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0
aGUgMjAwMDAgTGVhZ3VlcyBVbmRlciB0aGUgU2VhIGJvb2siKTsgX19leGVjdXRlZC5pbnB1dCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0
ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAog
Zm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAw
MCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0ExX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0ExX1Q0LmpzCmluZGV4IDZkYThkMGNiZTdjYmM0Y2Q1NGM2NGFkYTI3
MDQ4MmY1ZTljZmVlMDEuLjE0OWE0NDZhMDViODcyZjU0NTdlODRmZDQ5YWJjMmM2ZjVmMTc2ODYg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BMV9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjdfQTFfVDQuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRl
eCA9IDE1OwogX19leHBlY3RlZC5pbnB1dCA9ICJ0aGUgRmFocmVuaGVpdCA0NTEgYm9vayI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5l
eGVjKCJ0aGUgRmFocmVuaGVpdCA0NTEgYm9vayIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIEZhaHJl
bmhlaXQgNDUxIGJvb2siKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsgX19l
eGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5w
dXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1
dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7
CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsg
aW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0p
IHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0v
LmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsg
J10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRb
aW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0s
CisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2lu
ZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0n
CisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTFfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTFfVDUuanMKaW5kZXggYzdhMmFlOTljOTBkZDVkOTc2MDQzZTY0
ZjczODlhZTE4NGQ2YzE2OS4uYTJkMjkwMWQ2YmRlZjdkNTAyODdkN2Y4MDU2ZjNmYzY3NWNlMzQy
ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi43X0ExX1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuN19BMV9UNS5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmlu
ZGV4ID0gNDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIDE5ODQgbm92ZWwiOwogCi0vL0NIRUNL
IzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhl
IDE5ODQgbm92ZWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0
aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmlu
ZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAor
ICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMo
InRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlu
cHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5k
ZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0g
IT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBf
X2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgMTk4NCBub3ZlbCIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q2LmpzCmluZGV4IGY3OWY0NzVjMDJm
YmE1ZWI4NTE5NDg5NDE1ZWYyM2M2NjhiYWJiNjUuLjBjMzRhOTBkNzllODdiNDY1MDc1Y2YwMmU1
MTU5MTE5ODJlZDg4MmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDYuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAog
X19leHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gIjBhMDExYiI7CiAKLS8v
Q0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVj
KCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4
ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoIjBhMFxcdTAwMzFcXHUwMDMx
YiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
ZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3Rl
ZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xc
ZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQu
aW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9y
KHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChf
X2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoIjBhMFxcdTAwMzFc
XHUwMDMxYiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtp
bmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhd
LAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q3Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q3
LmpzCmluZGV4IDIzMmFmZGY1NDkwZTExZTdiNjg2NTE3Y2E0ZTQ2MGI3ZThkNzNlNjEuLjM5MmIw
YjZjOWQwODQ4ZTc3YmJmYWMwMjUzOTU2NTI5ODRlOTNmYWIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UNy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTFfVDcuanMK
QEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlu
cHV0ID0gIjBhMDExMjJiIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09
IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhl
Y3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoIjBhMFxcdTAwMzFcXHUwMDMxMjJiIik7IF9fZXhlY3V0
ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0
aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJwor
KTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRl
eCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9
Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMTIyYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsg
X19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRl
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAz
MTIyYiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9
IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UOC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMV9UOC5qcwppbmRleCBlMTI0YTFhOWQwZTA1NzVk
OTA4NThjZjU2YTFiNDhiYWE5Mzg0MzZhLi44ZDdlYjIyOGNhODYzYzczY2QxNDk1MjFkMTc4OGE5
ZGVmOGI0MmNjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTFfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0ExX1Q4LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhw
ZWN0ZWQuaW5kZXggPSA0OwogX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZm
ZmYiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9iezIs
M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09
ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3Ro
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVj
dGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNL
IzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJi
YmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmlu
ZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9f
ZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0
LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwog
Ci0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGlu
ZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4
ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09
PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4
XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAg
IF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0g
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICAp
OwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi43X0ExX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0ExX1Q5LmpzCmluZGV4IDUzY2MyM2Q5NGI2ZjFlYzU3OWM0ZTk3OThkNjc3
N2Y3Zjc2ZWU3Y2YuLmU1ODkzZjNhOWUwOTNiNDg1N2Y1ZjNhZGUxOTg4MTYwNTBiYTVjN2IgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BMV9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjdfQTFfVDkuanMKQEAgLTExLDcgKzExLDQgQEAKIAogdmFyIF9fZXhlY3V0ZWQgPSAv
Yns0Miw5M31jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKIAotLy9DSEVDSyMxCi1p
ZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvYns0Miw5M31j
Ly50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSA9PT0gZmFsc2UnKTsKLX0KK2Fzc2VydCgh
X19leGVjdXRlZCwgJ1RoZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjdfQTJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTJfVDEuanMKaW5kZXggMWQxNGU4ZDI1NjY4ZDc1YTQ1MTU2ZTRhY2M5
ODdlMzg3NzhhMDM5Ny4uMmEwOWE0MDQzMDk2MTcyYWVjY2Q3YWQ1NTMwNzBkM2JiOTM5NTA0MCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuN19BMl9UMS5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4
ID0gNTsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiQ0VcdUZGRkZMXHVGRkREYm94MTI3IjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhl
YygiQ0VcXHVGRkZGTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBf
X2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxl
bmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlm
IChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VcXHVGRkZG
TFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRVxcdUZGRkZMXFx1RkZERGJveDEyNyIpOyBf
X2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
cHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0Jwor
KTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3Ro
OyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4
XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9cXHd7M31c
XGQ/Ly5leGVjKCJDRVxcdUZGRkZMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRl
eCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5k
ZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5k
ZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi43X0EyX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EyX1QyLmpzCmluZGV4IDJkYTM4NDA2ZGZhNmZiMGU2YzIw
OTM3ZjM4MDk0YTIyNDI4NGFjOGQuLjIwZDY5MDlhZDc0ZDYxM2E4ZjY3MGU5MTk0MzdhYWVmMjE1
Y2I3MmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuN19BMl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTJfVDIuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3Rl
ZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gIkNFTExcdUZGRERib3gxMjciOwogCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5l
eGVjKCJDRUxMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhw
ZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3Ro
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9f
ZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRUxMXFx1RkZERGJv
eDEyNyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBl
Y3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0g
L1xcd3szfVxcZD8vLmV4ZWMoIkNFTExcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQuaW5wdXQg
PT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1
dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVj
dGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQK
IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlp
ZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFTExc
XHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVj
dGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFz
c2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtp
bmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTJf
VDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdf
QTJfVDMuanMKaW5kZXggOGE0OTBmNDAwOGM5ZTI0ZjNlMWUzMWQ1MmYzNTAzZDg4M2ZlYTI2Mi4u
NDM1Zjg1MjgwNDVmYjFhNTlmNTY5Y2ZkNjI5OTNiOGJmN2E0OTBhYyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EyX1QzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMl9U
My5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gNTsKIF9fZXhwZWN0
ZWQuaW5wdXQgPSAiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIjsKIAotLy9DSEVDSyMxCi1pZiAoX19l
eGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVm
ZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09
IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVj
dXRlZCA9IC9iezJ9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQu
aW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBf
X2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NI
RUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJi
YmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5p
bnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGlu
ZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhd
ICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
X19leGVjdXRlZCA9IC9iezJ9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhl
Y3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
X19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTJfVDQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTJfVDQuanMKaW5kZXggYTk1OTMw
MGQ5MTBmYjQ4MjdjNmM5NDZhZTZjNzEyZDRjMjhiNGE5ZC4uN2JmOWU3Mjg1YmE1YzhkODk2NGFl
MDI1OTJkYTZkZDBmMzRjOGI3OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EyX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BMl9UNC5qcwpAQCAtMTEsNyArMTEsNCBA
QAogCiB2YXIgX19leGVjdXRlZCA9IC9iezh9Ly50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYi
KTsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiAvYns4fS8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7
Ci19Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxLmpzCmluZGV4IGE4YjY2Y2I1Y2Y3NDZl
NTJjYjA1OWU1MGIyNDEyNDhkNzgwMWMzNjkuLjM0MmQwNzdlZmVkZTM2MDUwOTZmYWYzOTJjNTFi
Zjc0MzZjYjBlZGQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDEuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19l
eHBlY3RlZC5pbmRleCA9IDg7CiBfX2V4cGVjdGVkLmlucHV0ID0gImxhbmd1YWdlICBqYXZhXG4i
OwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5n
dGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9cXHMramF2
YVxccysvLmV4ZWMoImxhbmd1YWdlICBqYXZhXFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAn
ICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3Rl
ZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMy
Ci1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFu
Z3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC9cXHMramF2YVxccysvLmV4ZWMoImxhbmd1YWdlICBqYXZhXFxuIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0
LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwog
Ci0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGlu
ZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxz
Ky8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9
PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRl
eF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAg
ICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuN19BM19UMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTNfVDEwLmpzCmluZGV4IGE4YzhlMWMwODIxZmJmZWU3NDU2YTY0NzVj
Yzg2MGNkN2I2MjVkOGIuLmVjYTZmN2E0Mjk3YTMwODM4M2VjNTJhNjQxMWRmMDViYjNiZTQ5NmUg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BM19UMTAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0EzX1QxMC5qcwpAQCAtMTEsNyArMTEsNCBAQAogCiB2YXIgX19leGVjdXRl
ZCA9IC9vKy8udGVzdCgiYWJjZGVmZyIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IC9vKy8udGVzdCgiYWJjZGVmZyIpID09PSBm
YWxzZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVk
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTEuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDExLmpzCmluZGV4IGFhZWUw
ZTA3MWU3ZTFiOWYzNDQ3ZGRiNWQ3NTU2ZjcyZDUyMGNiMWEuLjMyMjA2NWY1OWJlZmQ3NzY5ODFj
YmMzMzQ5MTA2YThkYzkxMTFjZjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxMS5qcwpAQCAtMTUsMjQgKzE1
LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVm
ZyI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxl
bmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2QrLy5l
eGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5n
dGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5p
bmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09
ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVk
LmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVj
dXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQs
CisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAK
LS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5k
ZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFi
Y2RlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5k
ZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwK
KyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDEy
LmpzCmluZGV4IDI2ZmU1NTc1ZGI3M2Y4MzcyMzNhNTA4NWVlZTYwMTdlMWI2ZjE0ZjEuLmI4ZTQw
NDVkMTM3OTg2YjI2MTdkMjVjODU4MTg2ZDA1YmU1NzhiYzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTIuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxMi5q
cwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMTsKIF9fZXhwZWN0ZWQu
aW5wdXQgPSAiYWJiYmJiYmJjIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGgg
IT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9f
ZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5s
ZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAor
ICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwog
Ci0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYisp
Ly5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5w
dXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzog
X19leGVjdXRlZCA9IC8oYispKGIrKShiKykvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVk
LmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAg
X19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9D
SEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsr
KSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oYispKGIrKShiKykvLmV4
ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0Ez
X1QxMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BM19UMTMuanMKaW5kZXggYWQwZmMyYzBhMWJkZGZhYjM0YjI2OTIzMTJiY2M2ZmQ1NmVhMzQ3
Mi4uZTg2NTgzMjE0ZTg1NzgxNjQ3YzFlYjdkNzUwOTIzMmRlZWQzMzcwOCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxMy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdf
QTNfVDEzLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxOwogX19l
eHBlY3RlZC5pbnB1dCA9ICJhYmJiYmJiYmMiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVk
Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogX19leGVjdXRlZCA9IC8oYispKGIqKS8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0
ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0
aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJwor
KTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRl
eCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYiop
Ly5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5w
dXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzog
X19leGVjdXRlZCA9IC8oYispKGIqKS8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJi
YmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5k
ZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwK
KyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTQuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDE0
LmpzCmluZGV4IGE5OGY5NmVkN2Q1YjMwOWI4NmM2Y2U4YWFmYmY1MzRmNTkzOGNhNzEuLjAwYzY1
ZWE3MGNhNDg0ZmIwZWQyMDYxNWI0NWU0ODMzYTZkOTZkNGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMTQuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QxNC5q
cwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMTsKIF9fZXhwZWN0ZWQu
aW5wdXQgPSAiYWJiYmJiYmJjIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGgg
IT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9f
ZXhlY3V0ZWQgPSAvYipiKy8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09
PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0
aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBl
Y3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVD
SyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJi
YyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
ZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3Rl
ZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2Iq
YisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3Rl
ZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7
IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5k
ZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NDogX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UMi5qcwppbmRleCAzZmZkNTcyMmQ0NzFhZjZl
OGNmYzdmZWJkYWVlZGNjMjIwNzZkMmVjLi42NGYzZGY1NjRiMmJjYTg2NzhiYzY4NTc0YWFlNjIy
NWU1YTgyZmMzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1QyLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhw
ZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJcdCBqYXZhIG9iamVjdCI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxz
Ky8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19l
eHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5n
dGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAo
X19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEg
b2JqZWN0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4
cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQg
PSAvXFxzK2phdmFcXHMrLy5leGVjKCJcXHQgamF2YSBvYmplY3QiKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxzK2phdmFcXHMrLy5leGVjKCJc
XHQgamF2YSBvYmplY3QiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhw
ZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVk
W2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19B
M19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BM19UMy5qcwppbmRleCA1MmE2NDNiYTJmZWJiNmFmYjUyNzlmYzFkYjA5MjY4ZDBkNDJhYWQ5
Li4wODczNThmMjZlZDAxY2QwYTJiMmU1MGFjNjc3MjA1ODI5YzhkMTMzIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDMuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0Ez
X1QzLmpzCkBAIC0xMSw3ICsxMSw0IEBACiAKIHZhciBfX2V4ZWN1dGVkID0gL1xzK2phdmFccysv
LnRlc3QoIlx0IGphdmF4IHBhY2thZ2UiKTsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvXFxzK2phdmFcXHMrLy50ZXN0KCJcXHQg
amF2YXggcGFja2FnZSIpID09PSBmYWxzZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhl
IHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19U
NC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19B
M19UNC5qcwppbmRleCA4MTUxYjVkZGRhMWJhZDhjYjA0NmVkODIwY2RiZmZhMWU5MTYwZjQyLi4z
MTBhMzJlMzY0MGM0MjUwOTlkMjFmZTdmMjgwNjQ0NzZiMGU3YTY5IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDQuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1Q0
LmpzCkBAIC0xMSw3ICsxMSw0IEBACiAKIHZhciBfX2V4ZWN1dGVkID0gL1xzK2phdmFccysvLnRl
c3QoImphdmFcblxub2JqZWN0Iik7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogL1xccytqYXZhXFxzKy8udGVzdCgiamF2YVxcblxc
bm9iamVjdCIpID09PSBmYWxzZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVl
IG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UNS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UNS5q
cwppbmRleCA2MWJlNjNhOTI0NzZlNTQ3MDlhZjljNjk1MmNiN2Y5MGRhMmFlMmRhLi43NTNkYjc0
MmYyMGE0OTMwOWMxOGI1MWUyODA0ODlkYjliNzZhYzM1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDUuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1Q1LmpzCkBA
IC0xNywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAxMDsKIF9fZXhwZWN0ZWQuaW5w
dXQgPSAieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9f
ZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdK1xcZCsvLmV4ZWMoInggMiBmZiA1NSB4
MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVk
Lmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1
dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6
MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0g
X19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1
dGVkID0gL1thLXpdK1xcZCsvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcK
Kyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0
aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0r
XFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkWycg
KyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1Q2LmpzCmluZGV4IDFkZjA4MGRhYTFlZjBi
Y2FhOTQyMWMzYzAwNjEzNmI2YzAyYWY1MmIuLjg2YWMwMTU0OWY5ZjQxNWNkMjNlNWNkMjk4Y2Qz
OTcyMDE5ZDkyMTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BM19UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDYuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19l
eHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gIl9fYWJjMTIzLjAiOwogCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bYS16XStcXGQrLy5l
eGVjKCJfX2FiYzEyMy4wIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5s
ZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX2V4ZWN1dGVkID0gL1thLXpdK1xcZCsvLmV4ZWMoIl9fYWJjMTIzLjAiKTsgX19leGVj
dXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAK
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bYS16XStcXGQrLy5l
eGVjKCJfX2FiYzEyMy4wIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlu
cHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5k
ZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0g
IT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBf
X2V4ZWN1dGVkID0gL1thLXpdK1xcZCsvLmV4ZWMoIl9fYWJjMTIzLjAiKTsgX19leGVjdXRlZFsn
ICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1
dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BM19UNy5qcwppbmRleCA3NWJlZTgzMjA0OTIz
NGI2ZmUyNDhhMDEzMjhiNDE2NGU2ZDRmNjVmLi4zYWExZmI4NDFmZWE1MDk2ODM2YWFkYjBhMTE4
YmI5ZjM3NTZlOTgyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTNfVDcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0EzX1Q3LmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9f
ZXhwZWN0ZWQuaW5kZXggPSAxMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAieCAyIGZmIDU1IHgyIGFz
MSB6MTIgYWJjMTIuMCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBf
X2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1
dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19l
eGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5k
ZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRl
eCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7
CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bYS16XSsoXFxk
KykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJ4
IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10g
PT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5k
ZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisg
ICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4
XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisg
ICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjdfQTNfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTNfVDguanMKaW5kZXggODcxZjYxZDAxYjk1Yjc2OWQ0MDY2NmM1N2Nk
NGQyZWJlNGVjOGIxNC4uZDdiYmQyNGMyNGY3YTQxMGI5OGYzNDU2MGUxYjIzODY3N2U2ZmQxZiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0EzX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuN19BM19UOC5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4
ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiX19hYmMxMjMuMCI7CiAKLS8vQ0hFQ0sjMQotaWYg
KF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMx
MjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09
IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVj
dXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsgX19leGVjdXRlZC5pbmRl
eCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
ZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhw
ZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sj
MwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoIl9f
YWJjMTIzLjAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4
cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19l
eHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0
ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJfX2FiYzEyMy4wIik7IF9fZXhlY3V0ZWRbJyArIGlu
ZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtp
bmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTNfVDkuanMKaW5kZXggZTNjNTk5ZDY2N2Y4MDczOTlj
NTQyNDNjMzNjMWY3YTcxZWIxYmQ2ZS4uZGQ3ODc1NTkzZTRlNjYzZGNjZmI1N2UxMzY5MjRjZTUz
ZTczMDk4NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0EzX1Q5LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuN19BM19UOS5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVj
dGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGRkZGRlZmciOwogCi0vL0NI
RUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGRk
ZGRlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9
PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhl
Y3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcg
KyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmlu
ZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChf
X2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0
LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwog
Ci0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGlu
ZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJh
YmNkZGRkZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3Rl
ZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3Nl
cnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5k
ZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Qx
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0
X1QxLmpzCmluZGV4IDlhNzBiZTRhM2I5NGMyMmU0Zjk3YjFiNTk5NzZhOThiMTBkNWI2MzMuLmRi
NTBiNGUzNmY4YjUxYTEzNTYxYTdiZGZhZDFiNjFiNzY3MDMzYmIgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDEu
anMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVk
LmlucHV0ID0gJyJiZWFzdCItbmlja25hbWUnOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVk
Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9f
ZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
Lmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVu
Z3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3Rl
ZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1te
Il0qLy5leGVjKFwnImJlYXN0Ii1uaWNrbmFtZVwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5k
ZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9f
ZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVc
Jyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5w
dXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5s
ZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRb
aW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1te
Il0qLy5leGVjKFwnImJlYXN0Ii1uaWNrbmFtZVwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAn
XSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtp
bmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwK
KyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5k
ZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScK
KyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuN19BNF9UMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTRfVDEwLmpzCmluZGV4IGJlMTU4NzI3YTFkYWIxMWFkODZjMDA5
NjUxNWY4MDA2NTNjNzIxNDUuLjliMWZlNDI4ODUyYjczN2QxNDM4MzAwZTU0N2FhMTM3N2VlNTdl
YjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuN19BNF9UMTAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0E0X1QxMC5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVk
LmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGRkZGVmZyc7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2QqLy5leGVjKFwnYWJjZGRkZGVm
Z1wnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsg
X19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRl
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2QqLy5leGVjKFwnYWJjZGRkZGVmZ1wnKTsgX19leGVj
dXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQs
CisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAK
LS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5k
ZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdh
YmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3Rl
ZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3Nl
cnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5k
ZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Qx
MS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19B
NF9UMTEuanMKaW5kZXggN2RkM2UxNWU5ZGViMzg4MWE5ODcxYzdjN2M2Mzk0MzE5MDg5Njk3NC4u
N2VlZTg4ZWYxNjEzZDFhNTE1MzdmODVmZjFkZDRkMTFlMDEyNTFkZCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxMS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRf
VDExLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBl
Y3RlZC5pbnB1dCA9ICdhYmNkZGRkZWZnJzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5s
ZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IF9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKFwnYWJjZGRkZGVmZ1wnKTsgX19leGVjdXRlZC5s
ZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAor
ICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwog
Ci0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKFwn
YWJjZGRkZGVmZ1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09
IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVj
dXRlZCA9IC9jZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAn
ICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5p
bnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3Io
dmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9f
ZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9jZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBf
X2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxMi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMTIuanMKaW5kZXgg
MTFjODE2OTU2M2NiNzlmY2ZhNzA4OTM4YzZiODg4NzZlZDAxMGMwMS4uMTMxZGYwNDU5MjkzYzVk
ZWNhZTJkOWU5M2FmODMwNmQ3ZWMzNmM5ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxMi5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDEyLmpzCkBAIC0xNSwy
NCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICdh
YmNkZWZnJzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0
ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAv
Y3gqZC8uZXhlYyhcJ2FiY2RlZmdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBl
Y3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19l
eGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL2N4KmQvLmV4ZWMoXCdhYmNkZWZnXCcpOyBfX2V4ZWN1
dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwK
KyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAot
Ly9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2N4KmQvLmV4ZWMoXCdh
YmNkZWZnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4
cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRl
ZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9
PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRl
eF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAg
ICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuN19BNF9UMTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTRfVDEzLmpzCmluZGV4IGJhOThkNWI5NTkyMDk0NDYxYzNhMTJiYWUy
MjY5MmJiMzk3NWYxMzEuLjg1MjFkY2Y1OWU0MjgxZTVlMTQzMWU3ZGQ4NTViNWI3N2I0ZGFhMTIg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BNF9UMTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0E0X1QxMy5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmlu
ZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAneHh4eHh4eCc7CiAKLS8vQ0hFQ0sjMQotaWYg
KF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwn
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4
cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQg
PSAvKHgqKSh4KykvLmV4ZWMoXCd4eHh4eHh4XCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsg
X19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRl
eCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19l
eGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5w
dXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1
dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7
CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsg
aW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0p
IHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKHgqKSh4Kykv
LmV4ZWMoXCd4eHh4eHh4XCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43
X0E0X1QxNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BNF9UMTQuanMKaW5kZXggNDBlNWM5MWFjN2IxMGFjYmE3ZWNhYWNjNWFiMDRmNDMwNjUw
MjBiZC4uYzU4Nzc4ZDQwYmI3ZDRhY2Y0NjY3NDVlYTczMjAxZDE0ODI3MWJjNyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Qx
NC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjdfQTRfVDE0LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwog
X19leHBlY3RlZC5pbnB1dCA9ICcxMjM0NTY3ODkwJzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVj
dXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKFxcZCopKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwn
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4
cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQg
PSAvKFxcZCopKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0
ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwot
aWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0
NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4
cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRl
ZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBp
bmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRb
aW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRb
aW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMTUuanMKaW5kZXggMGQ2YzNlNzIyMzUzYjVi
MWM0MjkyYTA4ZTAzZDljMTRlMDJhMmU4OC4uODUyNDI4MTFlYTk4YjZmOTdiM2E2ODE4OTBhMDUx
NjEyOThjMjMxOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0E0X1QxNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDE1LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9f
ZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICcxMjM0NTY3ODkwJzsKIAot
Ly9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKFxcZCopXFxkKFxc
ZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0
aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChf
X2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopXFxkKFxcZCspLy5leGVjKFwnMTIzNDU2
Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhw
ZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9
IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmlucHV0
ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5w
dXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMo
XCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0
X1QxNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BNF9UMTYuanMKaW5kZXggNDBkZDkyYzBlNzkxZDU5MWI0ODdjOTRiYzliYWVhMzAzZDY3YTZh
Yy4uZDNlM2I0Y2NlYzRiMzE5OTg4NjUwZjE5OTA0NzNhM2U4MDM1M2Y1MSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxNi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdf
QTRfVDE2LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19l
eHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5s
ZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IF9fZXhlY3V0ZWQgPSAvKHgrKSh4KikvLmV4ZWMoXCd4eHh4eHh4XCcpOyBfX2V4ZWN1dGVk
Lmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgs
CisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7
CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8oeCspKHgqKS8u
ZXhlYyhcJ3h4eHh4eHhcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmlu
ZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9f
ZXhlY3V0ZWQgPSAvKHgrKSh4KikvLmV4ZWMoXCd4eHh4eHh4XCcpOyBfX2V4ZWN1dGVkLmlucHV0
ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5w
dXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oeCspKHgqKS8uZXhlYyhcJ3h4eHh4
eHhcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4
XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisg
ICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDE3LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QxNy5q
cwppbmRleCBjZTdjMDJhMDdhMjkzNTYxYmJkMDEwMThhM2Q0YzE4MzQxMGFlMmQyLi4zY2M0Y2E3
NjEzNjAzMmZmNDRkY2U4ZTk4OGVkNjIxNDEyN2ViYjcyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDE3LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMTcuanMK
QEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlu
cHV0ID0gJ3h4eHh4eHl5eXl5eSc7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3Ro
ICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBf
X2V4ZWN1dGVkID0gL3gqeSskLy5leGVjKFwneHh4eHh4eXl5eXl5XCcpOyBfX2V4ZWN1dGVkLmxl
bmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisg
IF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAK
LS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhc
J3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoXCd4eHh4eHh5
eXl5eXlcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2lu
ZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5z
YW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0s
CisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDE4Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Qx
OC5qcwppbmRleCA5NjA0MGI2OGU3YmJmODg2YjU1M2JkNTkwYWRjMmE4MTA3NTU4MzEwLi43NDlk
YzkwYzY1YTk0N2Y4OWNhYmQ4MTBjYmVlZmY1NmUxNDNiZWVlIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDE4LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMTgu
anMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDE7CiBfX2V4cGVjdGVk
LmlucHV0ID0gJ2FiY2RlZic7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9
PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4
ZWN1dGVkID0gL1tcXGRdKltcXHNdKmJjLi8uZXhlYyhcJ2FiY2RlZlwnKTsgX19leGVjdXRlZC5s
ZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAor
ICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwog
Ci0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10q
YmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3Rl
ZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5p
bnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBfX2V4ZWN1dGVkID0gL1tcXGRdKltcXHNdKmJjLi8uZXhlYyhcJ2FiY2RlZlwnKTsgX19leGVj
dXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQs
CisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAK
LS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5k
ZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10q
YmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0E0X1QxOS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuN19BNF9UMTkuanMKaW5kZXggOTIxMzQ2Y2Q1YWM5YjA1Njc5ZGM1Mjc4MTI5MDgzY2Jj
ZjA3NWYzYi4uMDI4ZTA3ZDQ0ZmI4OTc4OWZlYTQ4ZjlmNmRiZTc4OTgwYWIxNjkyMSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0
X1QxOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjdfQTRfVDE5LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAx
OwogX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZWYnOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC9iYy4uW1xcZF0qW1xcc10qLy5leGVjKFwnYWJjZGVmXCcp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC9iYy4uW1xcZF0qW1xcc10qLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09
PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3Rl
ZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1p
ZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdh
YmNkZWZcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBl
Y3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhw
ZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVk
ID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWRbJyArIGlu
ZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtp
bmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDIuanMKaW5kZXggYmZlZTMxNDY3ODkzMTY2ZDMx
OTdjMDljMzAwMzVjMmYyODdmN2JmNS4uYmFmZjgzMTVhZGUxMTA3YjJjMDhjNzA0MGU3MzhmZTkw
YWRmNzhlOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0E0X1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMi5qcwpAQCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVj
dGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2Ugc2FpZDogImRvblwndCIn
OwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5n
dGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8u
ZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6
ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0g
X19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1
dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2Ugc2FpZDogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQu
aW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBf
X2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NI
RUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4Kysp
IHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxp
Y2Ugc2FpZDogImRvblwndCJcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBf
X2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9
CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBl
Y3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjdfQTRfVDIwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi43X0E0X1QyMC5qcwppbmRleCBkODFkYTRkYzAwYTk3NDk0MGIxNGVhZjljNjFhYTgxYjZj
NDM0ZTM4Li5hN2ZlZGE2ODgxOTQ0MGVjOGUyMWQ5N2UwYzNiZTRjODBlYTc5MDYzIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRf
VDIwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BNF9UMjAuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7
CiBfX2V4cGVjdGVkLmlucHV0ID0gJ2ExYjJjMyc7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0
ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBfX2V4ZWN1dGVkID0gLy4qLy5leGVjKFwnYTFiMmMzXCcpOyBfX2V4ZWN1dGVkLmxl
bmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisg
IF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAK
LS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8uKi8uZXhlYyhcJ2Ex
YjJjM1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhw
ZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9
IC8uKi8uZXhlYyhcJ2ExYjJjM1wnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0w
OyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2lu
ZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWRbJyArIGlu
ZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtp
bmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDIxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1QyMS5qcwppbmRleCA1NjUyYTc2NDEwNjYzMjZk
NGQ1Mjk4NDJmNTMzY2ZmYmYxYmJkYTQ4Li45ZmYxMzEzMjAxYmY4MGEwNWM0NGY4NTU1MzQ2YjVh
NDdkYTg5MmIyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTRfVDIxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UMjEuanMKQEAgLTExLDcgKzExLDQgQEAKIAogdmFy
IF9fZXhlY3V0ZWQgPSAvW3h5el0qMS8udGVzdCgnYTAuYjIuYzMnKTsKIAotLy9DSEVDSyMxCi1p
ZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvW3h5el0qMS8u
dGVzdChcJ2EwLmIyLmMzXCcpID09PSBmYWxzZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAn
VGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19B
NF9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BNF9UMy5qcwppbmRleCBmYmI0MjIyZTA4Y2FjMWQyNjhmMjVkNDZkZWQ2NmUxNTBkZWZiNmI1
Li43NDYxYmQxYTQzOTdiOWYyMjAzZjEzMzZmYmM1OTJlYzEzMmIzMWVlIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDMuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0
X1QzLmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBl
Y3RlZC5pbnB1dCA9ICJiZWZvcmVcJ2lcJ3N0YXJ0IjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVj
dXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsg
X19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5s
ZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVj
dGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAv
W14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5k
ZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9f
ZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygiYmVmb3JlXCdpXCdzdGFydCIp
OyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9bXiJd
Ki8uZXhlYygiYmVmb3JlXCdpXCdzdGFydCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09
PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4
XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAg
IF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0g
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICAp
OwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi43X0E0X1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0E0X1Q0LmpzCmluZGV4IGE0YjFjNzhjYTNlNzdhYTRjNzcxZDU3NTk3MzRi
YmFiMzdmZGUyNzAuLmM3NjdhOGRmOWM2MGQ4MzZjNjg1YTlhZmFmM2IyY2I0MTE5NjZhOTMgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BNF9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjdfQTRfVDQuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9
IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gJ2FsaWNlIFwic3dlZXBcIjogImRvblwndCInOwogCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhc
J2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcg
KyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVk
Lmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIK
LWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXCJz
d2VlcFxcIjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVk
LmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlu
cHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXCJzd2VlcFxcIjogImRvblwndCJc
Jyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5w
dXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5s
ZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRb
aW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1te
Il0qLy5leGVjKFwnYWxpY2UgXFwic3dlZXBcXCI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkWycg
KyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Q1LmpzCmluZGV4IDNkYTlhMTNiOWQ3M2Rl
M2Y1ZmJjNWU2NzE2MjQ2MTMxOWVmNDI5MTMuLjVlNzYyZmE4YWUxZmJmYjRlZDRlNTFjYjg0YWJl
N2Q1Yjc0YzEzMTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BNF9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDUuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19l
eHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gJ2FsaWNlICJzd2VlcCI6ICJk
b25cJ3QiJzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0
ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAv
W14iXSovLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVk
LmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvW14i
XSovLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVj
dXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAK
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhc
J2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmlucHV0
ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5w
dXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxc
dTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0E0X1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0E0X1Q2LmpzCmluZGV4IDY0NjQyM2ZkMzhkOTQwMWZmODI4MmZiZDUy
MWQwNDlmMjQ0MTEzNzQuLmRkNDQ2NDJmYmY5ZDBjZjlhOTdlNjQ5ODlmNGI2ZGY1YTU4MzFhOTQg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BNF9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjdfQTRfVDYuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRl
eCA9IDY7CiBfX2V4cGVjdGVkLmlucHV0ID0gJ2FsaWNlICJzd2VlcCI6ICJkb25cJ3QiJzsKIAot
Ly9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10q
WyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVk
LmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvWyJc
J11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0
IlwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0
ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9b
IlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25c
J3QiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9
IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJk
b25cJ3QiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtp
bmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhd
LAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Q3Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Q3
LmpzCmluZGV4IDNhZGQzNDAxZmE1MGZjYzQ0NDFjNDZlMjk0ZWI3MDg4NDgwZWUyNWQuLjVkZWMz
ODIyMWY0NGFmMjE3YmU4MDU5NzkwMGVjOWMwMjU4NTA2MTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UNy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDcuanMK
QEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDE3OwogX19leHBlY3RlZC5p
bnB1dCA9ICdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCcnOwogCi0vL0NIRUNLIzEKLWlmIChf
X2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2Fs
aWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJ1wnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBf
X2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxl
bmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlm
IChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdh
bGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBf
X2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4
ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBj
cmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVj
dGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9
MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtp
bmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgY3JpZXMg
b3V0OiBcJ2RvblwndFwnXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43
X0E0X1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0E0X1Q4LmpzCmluZGV4IDEyMDQ0NmZkM2Y4M2EwMDU3MTQxM2ZlYTRjOTBhNjM3MzRhYjFm
ZTQuLjEyNDk5OTc0ZjkwODQ4ZTk0YWY3MGE3ZGQ5ODBmZTJjYjI2YmYyYTYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNF9UOC5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdf
QTRfVDguanMKQEAgLTEzLDcgKzEzLDQgQEAKIAogdmFyIF9fZXhlY3V0ZWQgPSAvWyInXVteIidd
KlsiJ10vLnRlc3QoJ2FsaWNlIGNyaWVzIG91dDogZG9uXCd0Jyk7CiAKLS8vQ0hFQ0sjMQotaWYg
KF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogL1siXCddW14iXCdd
KlsiXCddLy50ZXN0KFwnYWxpY2UgY3JpZXMgb3V0OiBkb25cJ3RcJykgPT09IGZhbHNlJyk7Ci19
Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E0X1Q5LmpzCmluZGV4IDM1Yjg3MDRjMDA1NTViMGVm
MTZjYWY3MTc0NDBjZjk3NGIyMzdjOTMuLjhmZDkyMTE5NmE0Njc2MzFhZDVkMjRhODBhNmM1MzIz
MGQ5YThlOGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuN19BNF9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTRfVDkuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBl
Y3RlZC5pbmRleCA9IDE2OwogX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBjcmllcyBvdXQ6XCJc
Iic7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxl
bmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1siXCdd
W14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgY3JpZXMgb3V0OlxcIlxcIlwnKTsgX19leGVjdXRl
ZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3Ro
LAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCisp
OwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJc
J10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmlu
ZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
aW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19l
eHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVD
SyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5l
eGVjKFwnYWxpY2UgY3JpZXMgb3V0OlxcIlxcIlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5w
dXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZh
ciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4
ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGlj
ZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0E1X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi43X0E1X1QxLmpzCmluZGV4IDVhMDQ4ZDBiODU5YTQyZGZkY2Y3OGQwYzZjYjgzOGZiODg4
Y2UwODYuLjkxNjNiNzZkMmUzNTIyOGMzMjBlZTlhZGY0M2E3MjVjNWE4NzY4MDcgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9U
MS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjdfQTVfVDEuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDc7CiBf
X2V4cGVjdGVkLmlucHV0ID0gInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21h
IHNjcmlwdCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVj
dGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0g
L2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBl
Y21hIHNjcmlwdCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3Ro
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5k
ZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
X19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBl
eHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhw
ZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0
ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlw
dCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5w
dXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZh
ciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4
ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGph
dmFzY3JpcHQgaXMgZXh0ZW5zaW9uIG9mIGVjbWEgc2NyaXB0Iik7IF9fZXhlY3V0ZWRbJyArIGlu
ZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtp
bmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1QxMC5qcwppbmRleCA1ODQ0M2M4MTBiNDk4OGNj
MzUyMDA4Y2MyNzcxOTE5MzJiZDhlNGJmLi4yZGUzOTMyYThhMWUyNWY1ZmQ2MjQxZGExOTAxODVi
MzEwMTJiZTM4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTVfVDEwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UMTAuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19l
eHBlY3RlZC5pbmRleCA9IDM7CiBfX2V4cGVjdGVkLmlucHV0ID0gIjEyM2F6Nzg5IjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvYWI/Yz9kP3g/eT96Ly5l
eGVjKCIxMjNhejc4OSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVu
Z3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQu
aW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogX19leGVjdXRlZCA9IC9hYj9jP2Q/eD95P3ovLmV4ZWMoIjEyM2F6Nzg5Iik7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAor
ICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvYWI/Yz9kP3g/eT96Ly5l
eGVjKCIxMjNhejc4OSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1
dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4
PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9
PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19l
eGVjdXRlZCA9IC9hYj9jP2Q/eD95P3ovLmV4ZWMoIjEyM2F6Nzg5Iik7IF9fZXhlY3V0ZWRbJyAr
IGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRl
ZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1QxMS5qcwppbmRleCBjMzQ1YzQwMmFmNGI0
YzM4YmY5ZDZiMDllMGNiNjIzYzkzNmM3OThmLi4wZWE5OWQ1MWNhNzk5ZTA5ODNhNTMxZDRlZWJm
OTQ0OWExZjcyZTkxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTVfVDExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UMTEuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAog
X19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gIj8/Pz8/IjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXFw/P1xcPz9cXD8/XFw/
P1xcPz8vLmV4ZWMoIj8/Pz8/Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3Rl
ZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVj
dXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIp
OyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4
JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcPz9c
XD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsg
X19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1
dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFy
IGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhl
Y3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9cXD8/XFw/P1xcPz9cXD8/XFw/Py8uZXhlYygiPz8/
Pz8iKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhd
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAg
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UMTIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDEyLmpz
CmluZGV4IDdlZTk1OWU4OTI1OWRjNTFkY2ZiZGI1ZDMwY2RhZDJhMDdiZGFiMjYuLjRmMDBlMDg2
NzMxYWU3ZWEzNWY2ZDdlZTQwMjU2ZWMwYzRhOWM4OTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UMTIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1QxMi5qcwpA
QCAtMTUsMjQgKzE1LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5w
dXQgPSAidGVzdCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4
cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAn
ICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3Rl
ZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMy
Ci1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0
ZXN0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVj
dGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAv
Lj8uPy4/Lj8uPy4/Lj8vLmV4ZWMoInRlc3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvLj8uPy4/Lj8uPy4/Lj8vLmV4ZWMoInRlc3QiKTsgX19l
eGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
ICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UMi5qcwppbmRleCBhZmQ0
Zjc2ZTU1MWI0MDI5YWU0MDcyYjMzNmRkY2YzZTQzMDE1ZWM1Li41NmQ3NzM4MDJlMDkzM2JhNDUw
YzdmNjA3MmNjZTIwNjgwZGI4Njk2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1QyLmpzCkBAIC0xNywyNCArMTcs
MjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSA3OwogX19leHBlY3RlZC5pbnB1dCA9ICJzdGF0ZTog
amF2YSBhbmQgamF2YXNjcmlwdCBhcmUgdmFzdGx5IGRpZmZlcmVudCI7CiAKLS8vQ0hFQ0sjMQot
aWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0
YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7IF9fZXhlY3V0
ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0
aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJwor
KTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRl
eCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2Ny
aXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVy
ZW50Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVj
dGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAv
amF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3Rs
eSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxf
X2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0g
X19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhl
Y3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQg
YXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyAr
IF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwot
CX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4
cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BNV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuN19BNV9UMy5qcwppbmRleCA1MDE0NzgzYmRiYzc0OGUxMjQzMDkzMjNjYmNmOTc4NDI3
ZjNjYWQxLi41Y2NiZTU1YjM1N2UwYzQwMGViMGQ0OTU2ZTYyMjMwZTEyMjZlMjljIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0E1X1QzLmpzCkBAIC0xMyw3ICsxMyw0IEBACiAKIHZhciBfX2V4ZWN1dGVkID0gL2phdmEo
c2NyaXB0KT8vLnRlc3QoInN0YXRlOiBib3RoIEphdmEgYW5kIEphdmFTY3JpcHQgdXNlZCBpbiB3
ZWIgZGV2ZWxvcG1lbnQiKTsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGgg
SmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpID09PSBmYWxzZScp
OwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UNC5qcwppbmRleCBiMTVhMmFkOGZmZmM2
OGYzN2UxODIwMWU0YmFmNWM2MTY1NmFjMGVkLi41ODM5NmVjNmUxNzEwNzc5YTg5ZTJiNmNjNTY0
NjU2ZTM2ZmRjMmIyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjdfQTVfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q0LmpzCkBAIC0xNSwyNCArMTUsMjggQEAKIF9f
ZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwogCi0vL0NI
RUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNk
ZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4
cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAor
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1
dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2NkP2UvLmV4ZWMoImFiY2RlZiIp
OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVl
KAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q1LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q1LmpzCmluZGV4
IGQ1OTM5NDg5MTIyMGI5ZGQ0NDYxOTc0ODE2ZjUxNjg4ODRjOTAwMzYuLjMwOGU3NDU4YjkwY2Vi
NmVlMDkxMzI4ZDYwY2JlM2EyYzQ3Yjc0MjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UNS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDUuanMKQEAgLTE1LDI0
ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFi
Y2RlZiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVk
Lmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2Nk
eD9lLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVk
Lmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1
dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IF9fZXhlY3V0ZWQgPSAvY2R4P2UvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlu
ZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
aW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19l
eHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVD
SyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2NkeD9lLy5leGVjKCJhYmNkZWYi
KTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1
dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxl
bmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtp
bmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvY2R4
P2UvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43
X0E1X1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi43X0E1X1Q2LmpzCmluZGV4IDA2YTAyOGQ3NDE3YzlhODY3ODYyMjFiMWQ4Zjg2OTVmMGNjNzg2
NDIuLjBmNzQzNGM3YjgxODBjZWYwNjQzY2RiYjAxNzM4NGI2MjFkY2JhOGIgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UNi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdf
QTVfVDYuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4
cGVjdGVkLmlucHV0ID0gInBxcnN0dXZ3IjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5s
ZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IF9fZXhlY3V0ZWQgPSAvbz9wcXJzdC8uZXhlYygicHFyc3R1dnciKTsgX19leGVjdXRlZC5s
ZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAor
ICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwog
Ci0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvbz9wcXJzdC8uZXhl
YygicHFyc3R1dnciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09
IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVj
dXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAn
ICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5p
bnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3Io
dmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9f
ZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBf
X2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q3LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q3LmpzCmluZGV4IDA2
NzZhMmQyZjE2ZDJjNjgzZGVkYWZjNmQ2ZmVmZGRlZTQ2NzQ1NDQuLjRmZjViMzdjOGI4ZmNmNTIz
NTdjZTg5NGM2NmQzOTUzYjkwOWI3ZjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDcuanMKQEAgLTE1LDI0ICsx
NSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2Qi
OwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5n
dGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC94P3k/ej8v
LmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0
aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmlu
ZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fZXhlY3V0ZWQgPSAveD95P3o/Ly5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09
ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVk
LmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAveD95P3o/Ly5leGVjKCJhYmNkIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0
LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwog
Ci0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGlu
ZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhl
YygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtp
bmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhd
LAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q4Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q4
LmpzCmluZGV4IDViMjc5NjMxNDgzNDA4NzFmMTQxYTI2YTRiMzViNjBmZWQ5OTQyNmUuLmQ5OWFh
OWJlNjQ0YWI1Y2E4ZDlkOWM0NWEyNWVhYzkxOTNjYjUyNTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNV9UOC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTVfVDguanMK
QEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlu
cHV0ID0gImFiY2QiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19l
eHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRl
ZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBf
X2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxl
bmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlm
IChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAveD9heT9iej9jLy5leGVjKCJhYmNkIik7IF9f
ZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAveD9heT9iej9j
Ly5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8
X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09
IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4
ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0E1X1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi43X0E1X1Q5LmpzCmluZGV4IDkxMmQ0OGZiMjI2ODFkZWY5YTRlN2Q0
NDFmODI0MzUxYjAxNmJhYTUuLjI5NDRkZmU0MWIzMGY2ZmIxZjg0Y2VmMWQ3NmQzYWQ3YjJkZGIz
ZDYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuN19BNV9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjdfQTVfVDkuanMKQEAgLTE1LDI0ICsxNSwyOCBAQAogX19leHBlY3RlZC5p
bmRleCA9IDE7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiYmJiYyI7CiAKLS8vQ0hFQ0sjMQotaWYg
KF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBf
X2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxl
bmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0
ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9i
P2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQu
aW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MzogX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvYj9iP2I/Yi8uZXhlYygiYWJiYmJj
Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDEuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDEuanMKaW5k
ZXggNTNmN2FiMDQzZDA4YzgzNGFjNmM5NDkwYzRhOTQ5YjdjNjlmMWI1Yi4uZTY5ZWQ0Zjc0ZTU2
MzQ1YjZhZGIxNDhkYTU2YzdlMjJhNjUyMjE4OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E2X1QxLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuN19BNl9UMS5qcwpAQCAtMTYs
MjQgKzE2LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAi
YWFhYmJiYmNjY2RkZWVlZWZmZmZmIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5n
dGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IF9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVk
LmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvYnsy
LH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVl
ZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4
cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRl
ZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycg
KyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E2X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E2X1QyLmpzCmluZGV4IDQ0NDhhYWVkMmY1NWQ1
NDQ3OGYxNTJhOGNhOTUyNzQ4MWM3N2QxZDUuLjE1Njg0NGYzYjQzYmQ1MGQyYzg2OTBkZmJkYWVk
NGEyNTRiYWE5NDggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BNl9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDIuanMKQEAgLTEyLDcgKzEyLDQgQEAKIAogdmFy
IF9fZXhlY3V0ZWQgPSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKIAot
Ly9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSA9PT0gZmFsc2UnKTsKLX0K
K2Fzc2VydCghX19leGVjdXRlZCwgJ1RoZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDMuanMKaW5kZXggZjgzODcwYmUxYzQ5NGExNjEw
ZDMwMjA3YmMyNWEyODIxNDhjMDVkYS4uMDJlNjAwN2JhZjE4NTY0NmM0ZDVlOWZiZjc4YmU4Yzg0
NjQ1OTM2ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi43X0E2X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuN19BNl9UMy5qcwpAQCAtMTYsMjQgKzE2LDI4IEBACiBfX2V4cGVj
dGVkLmluZGV4ID0gMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAid3FlNDU2NjQ2ZHNmZiI7CiAKLS8v
Q0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsxLH0vLmV4ZWMo
IndxZTQ1NjY0NmRzZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxl
bmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVk
LmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1
dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwK
KyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAot
Ly9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsxLH0vLmV4ZWMo
IndxZTQ1NjY0NmRzZmYiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5w
dXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRl
eDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAh
PT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9f
ZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkWycg
KyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E2X1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43X0E2X1Q0LmpzCmluZGV4IGIxNzI5OTllMDhjNWU3
Mzk1Y2U3YjQ5NjFjMzdmODlmZWJhOTIyYzguLmEzZWIyODAyMTYwMTM0ZjliMDc5YmI5NTA1MWM0
ODY1ZGIxMDJiNTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BNl9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDQuanMKQEAgLTE2LDI0ICsxNiwyOCBAQAogX19l
eHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gIjEyMzEyMyI7CiAKLS8vQ0hF
Q0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfS8uZXhlYygi
MTIzMTIzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAh
PT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4
ZWN1dGVkID0gLygxMjMpezEsfS8uZXhlYygiMTIzMTIzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09
ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVk
LmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcK
Kyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0
aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7
MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9f
ZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0K
KyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVj
dGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIu
N19BNl9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuN19BNl9UNS5qcwppbmRleCBlMDJiNjYwZWYwNWNhODExYTdlZTA1MmQyOTk5NTA0ODY5MDEx
OWJiLi5iMDM0YjkyOGVkOWUwYzQ1MmYwODEwMzA3Zjc3YTIxNmRmZjU0MzU2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjdfQTZfVDUu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi43
X0E2X1Q1LmpzCkBAIC0xNiwyNCArMTYsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19l
eHBlY3RlZC5pbnB1dCA9ICIxMjMxMjN4MTIzIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRl
ZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9eFxcMS8uZXhlYygiMTIzMTIzeDEyMyIpOyBf
X2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxl
bmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0
ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8o
MTIzKXsxLH14XFwxLy5leGVjKCIxMjMxMjN4MTIzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcg
KyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmlu
ZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChf
X2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9eFxcMVxcLy5leGVjKCIxMjMxMjN4
MTIzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3Rl
ZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0
ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0g
LygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZFsnICsgaW5kZXgg
KyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4
XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRb
aW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4
XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuN19BNl9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuN19BNl9UNi5qcwppbmRleCA2MWYyODJjM2U5ZDYyYjFlNDgxYTAw
MmQ4MDYxN2VjZDUxM2RhNDM4Li4xOWYyZGMzYWEwM2MzMzU3NWQwNjdhNzIwNDkzMTBlMzQ2M2Qz
ODkyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjdfQTZfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi43X0E2X1Q2LmpzCkBAIC0xNiwyNCArMTYsMjggQEAKIF9fZXhwZWN0ZWQu
aW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJ4eHh4eHh4IjsKIAotLy9DSEVDSyMxCi1p
ZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4
eHgiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIp
OyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC94ezEs
Mn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0ExX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi44X0ExX1QxLmpzCmluZGV4IDg0YzFhODY0MGUyMjI0YThhMzI0Yzk3ZDkxNDhmZjU5
NzI1Yjk5YjQuLmUwNTcxMGUwNzY2OGIwNTc2YTFkZTVhYjZkMTY5MTY4NjE4NTY4OWUgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9B
MV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTFfVDEuanMKQEAgLTE2LDI0ICsxNiwyOCBAQCBUaGUgZm9ybSAoPz0gRGlzanVuY3Rp
b24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KIF9fZXhwZWN0
ZWQuaW5kZXggPSAxOwogX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFjIjsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSkvLmV4ZWMoImJhYWFi
YWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0
ZWQgPSAvKD89KGErKSkvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5k
ZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9f
ZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4
ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1
dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsK
IAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkg
ewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oPz0oYSspKS8u
ZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0Ex
X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44
X0ExX1QyLmpzCmluZGV4IDU4NjZmODI1Y2VkNzI2NmRiOGY5NmRlZDA5NWVhMzc4YjIwYzkzZjQu
LjE0M2M4ZWI5MTE1NGM5Mjc2ZWRjN2VlOWZhMmE3NTM3YjYxYWY1ZjMgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMV9UMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFf
VDIuanMKQEAgLTE2LDI0ICsxNiwyOCBAQCBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVj
aWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KIF9fZXhwZWN0ZWQuaW5kZXgg
PSAzOwogX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFjIjsKIAotLy9DSEVDSyMxCi1pZiAoX19l
eGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMi
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4
cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQg
PSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8oPz0oYSspKWEqYlxcMS8uZXhlYygiYmFhYWJh
YyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
cHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQu
bGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVk
W2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8o
Pz0oYSspKWEqYlxcMS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi44X0ExX1QzLmpzCmluZGV4IDdiMTY2NjA2YThmODQ2OGJmMzg3YmQ1ZmE4
ZWQzYmMxMGVhNGZhM2IuLmViNmZjMzU3ZmIyYmUyYjE2NzNiZWRhNmM0YzgwMTFiMGRlZmYyY2Ug
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjhfQTFfVDMuanMKQEAgLTE4LDI0ICsxOCwyOCBAQCBUaGUgZm9ybSAoPz0gRGlz
anVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KIF9f
ZXhwZWN0ZWQuaW5kZXggPSA1OwogX19leHBlY3RlZC5pbnB1dCA9ICJqdXN0IEphdmFzY3JpcHQ6
IHRoZSB3YXkgYWYgamVkaSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9
PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4
ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJqdXN0IEphdmFzY3Jp
cHQ6IHRoZSB3YXkgYWYgamVkaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0
ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAor
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhl
Y3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygi
anVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8u
ZXhlYygianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/
PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0
ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19l
eGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFfVDQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFfVDQuanMKaW5kZXggOGYwMjBkYmMy
OTkzOGVmMTJlY2YxMzQ2NmY0NWExODU1ZDFlNTRlYS4uNzQ3MDQ1ZmYzZTBmODc3MzM0ZTg2NDFh
NmI4ZTUxNzU0Mjk5MjUxMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi44X0ExX1Q0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMV9UNC5qcwpAQCAtMTgsMjQgKzE4LDI4IEBA
IFRoZSBmb3JtICg/PSBEaXNqdW5jdGlvbiApIHNwZWNpZmllcyBhIHplcm8td2lkdGggcG9zaXRp
dmUgbG9va2FoZWFkLgogX19leHBlY3RlZC5pbmRleCA9IDk7CiBfX2V4cGVjdGVkLmlucHV0ID0g
InRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygi
dGFzdGUgb2YgamF2YTogdGhlIGNvb2tib29rICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6
KS8uZXhlYygidGFzdGUgb2YgamF2YTogdGhlIGNvb2tib29rICIpOyBfX2V4ZWN1dGVkLmluZGV4
ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5k
ZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBl
Y3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMz
Ci1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1c
XDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8o
Pz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWRb
JyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVj
dXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTFfVDUuanMKaW5kZXggZTI1OWE1YWM3MzZh
ODkxMDRhYjkxYzJhOTdhZDI2ODgwZTZlMzUxNS4uNmYwYjdlMWI2MzRlZTNkMjA4OWRiYmNjMzJj
MWFkZDE1ZDc0MmZiNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi44X0ExX1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMV9UNS5qcwpAQCAtMTQsNyArMTQsNCBAQCBUaGUg
Zm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxv
b2thaGVhZC4KIAogdmFyIF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVw6KS8u
dGVzdCgicmhpbm8gaXMgSmF2YVNjcmlwdCBlbmdpbmUiKTsKIAotLy9DSEVDSyMxCi1pZiAoX19l
eGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiAvW0pqXWF2YShbU3NdY3Jp
cHQpPyg/PVxcOikvLnRlc3QoInJoaW5vIGlzIEphdmFTY3JpcHQgZW5naW5lIikgPT09IGZhbHNl
Jyk7Ci19Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QxLmpzCmluZGV4IGU3MGE0NTY5MmU2
NWM0ZjNhNDUxYjU3NjRjMDNmYWZmYTA0YWNiZTQuLmIyZDJlNDcwYTA2YzgwNDc2NDVjZjc2MmUz
NzgxYjRjYzU2YjJjYmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDEuanMKQEAgLTE4LDI0ICsxOCwyOCBAQCBU
aGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZl
IGxvb2thaGVhZC4KIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJi
YWFhYmFhYyI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVj
dGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0g
LyguKj8pYSg/IShhKyliXFwyYylcXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOyBfX2V4ZWN1dGVk
Lmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgs
CisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7
CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8oLio/KWEoPyEo
YSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8u
ZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5w
dXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRl
eDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAh
PT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9f
ZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcXDJjKVxcMiguKikvLmV4ZWMoImJhYWFiYWFjIik7
IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDEwLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QxMC5qcwppbmRl
eCBmYTcwYjJjMzAyNzMyNTY2YjhlMjVhZDEwNWIxNTllMmJjNDU0MWNhLi40ODBkMWY0ZjU1Y2Iz
MmQ5Njg4Nzg1YjhhYjhlNzEyZTdiYWFkZGY0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDEwLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UMTAuanMKQEAgLTE2
LDI0ICsxNiwyOCBAQCBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJv
LXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KIF9fZXhwZWN0ZWQuaW5kZXggPSAxOwogX19leHBl
Y3RlZC5pbnB1dCA9ICJiYyI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9
PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4
ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcg
KyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVk
Lmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIK
LWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJiYyIpOyBf
X2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
ZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4Jwor
KTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1
dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8
Yy8uZXhlYygiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxf
X2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0g
X19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhl
Y3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EyX1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BMl9UMTEuanMKaW5kZXggMmQ2MWM0MmM3ZTQzMDZmYmNiMTJkM2Vj
OGVkMmU1NWVjOWNhZWQzYS4uYjc3MDBmNjlkNjFmOGU0NDdiMzA0YTJlM2ZjOWNlMDY4NTI4ZjZj
ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0EyX1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTJfVDExLmpzCkBAIC0xNiwyNCArMTYsMjggQEAgVGhlIGZvcm0gKD8h
IERpc2p1bmN0aW9uICkgc3BlY2lmaWVzIGEgemVyby13aWR0aCBuZWdhdGl2ZSBsb29rYWhlYWQu
CiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiZCI7CiAKLS8vQ0hF
Q0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygi
ZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9f
ZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRl
ZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhw
ZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0
ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7
IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDIuanMKaW5kZXgg
YTBkMzJiYWM2OWYyZjkwMmRhZjQ0YTdiMTkyMmY4NWE5ZDgyYmMyMi4uMGIzYTIzYmQ5ZTA0NzQz
MjllZDExMzk3Y2UxMTZhNTk3NGUzMjI5MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UMi5qcwpAQCAtMTgsMjQg
KzE4LDI4IEBAIFRoZSBmb3JtICg/ISBEaXNqdW5jdGlvbiApIHNwZWNpZmllcyBhIHplcm8td2lk
dGggbmVnYXRpdmUgbG9va2FoZWFkLgogX19leHBlY3RlZC5pbmRleCA9IDk7CiBfX2V4cGVjdGVk
LmlucHV0ID0gInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5IjsKIAotLy9DSEVDSyMxCi1p
ZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcq
KS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKTsgX19leGVjdXRlZC5sZW5n
dGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
bGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBf
X2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0v
L0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCko
W0EtWl1cXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKTsgX19leGVj
dXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAK
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0
KShbQS1aXVxcdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOyBfX2V4
ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1
dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsK
IAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkg
ewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9KYXZhKD8hU2Ny
aXB0KShbQS1aXVxcdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOyBf
X2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1QzLmpzCmluZGV4IDll
ZDUyYjRmNjdlYWQ1YWFiZGQ1YzBkYmEzODJjNjcwNjMzMmVkZDAuLmJjZWEwMjYyNjdiNDU4NTM4
M2QyZTRjY2IxNTkwNWJhODVlYmRmY2YgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDMuanMKQEAgLTE0LDcgKzE0
LDQgQEAgVGhlIGZvcm0gKD8hIERpc2p1bmN0aW9uICkgc3BlY2lmaWVzIGEgemVyby13aWR0aCBu
ZWdhdGl2ZSBsb29rYWhlYWQuCiAKIHZhciBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtB
LVpdXHcqKS8udGVzdCgidXNpbmcgb2YgSmF2YSBsYW5ndWFnZSIpOwogCi0vL0NIRUNLIzEKLWlm
IChfX2V4ZWN1dGVkKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IC9KYXZhKD8hU2Ny
aXB0KShbQS1aXVxcdyopLy50ZXN0KCJ1c2luZyBvZiBKYXZhIGxhbmd1YWdlIikgPT09IGZhbHNl
Jyk7Ci19Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1Q0LmpzCmluZGV4IDg3ZjM4OTg0NjUw
NDYzYzk5Mzc3ZWY3YWE3OGIzZjIzNGQ0YjAwNjMuLjUwNzg4MzA2OWE0ZDY5ZWVkNjgzOWQzODNl
MjE1MjYwOGVkMDE0ZDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDQuanMKQEAgLTE0LDcgKzE0LDQgQEAgVGhl
IGZvcm0gKD8hIERpc2p1bmN0aW9uICkgc3BlY2lmaWVzIGEgemVyby13aWR0aCBuZWdhdGl2ZSBs
b29rYWhlYWQuCiAKIHZhciBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8u
dGVzdCgiaSdtIGEgSmF2YVNjcmlwdGVyICIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVk
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxc
dyopLy50ZXN0KCJpXCdtIGEgSmF2YVNjcmlwdGVyICIpID09PSBmYWxzZScpOwotfQorYXNzZXJ0
KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJl
IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BMl9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BMl9UNS5qcwppbmRleCAyZTE2ZTVjYTZkYzc4Yzc3OGZkYTM3ZGEz
NTFlMjU3MWIzOTI4ZDE2Li5kYWYxNjYxNTBlYWJkYzAwZjY3Y2NlMDVlNWZjMzY2ZWNiZjY0NjYy
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTJfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EyX1Q1LmpzCkBAIC0xOCwyNCArMTgsMjggQEAgVGhlIGZvcm0gKD8hIERp
c2p1bmN0aW9uICkgc3BlY2lmaWVzIGEgemVyby13aWR0aCBuZWdhdGl2ZSBsb29rYWhlYWQuCiBf
X2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiSmF2YVNjciBvb3BzIGlw
dCAiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9KYXZh
KD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOyBfX2V4ZWN1
dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5n
dGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVu
Z3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcK
Kyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5k
ZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9KYXZhKD8h
U2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOyBfX2V4ZWN1dGVk
LmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAg
X19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9D
SEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtB
LVpdXFx3KikvLmV4ZWMoIkphdmFTY3Igb29wcyBpcHQgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09
ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVk
LmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZv
cih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAo
X19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3Kikv
LmV4ZWMoIkphdmFTY3Igb29wcyBpcHQgIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09
ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhd
KTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAg
X19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjhfQTJfVDYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjhfQTJfVDYuanMKaW5kZXggZDA0YTE3ZWNiNjQyZmMzM2VjZmM2NzhhYjU4YWEx
MjFkOTJjN2VhYy4uNTYzYzJiNGMxZjliNDQ4M2M3YzcwYzZhYjg0ZjIwZDRhMzRhZjVjMCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44
X0EyX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuOF9BMl9UNi5qcwpAQCAtMTYsMjQgKzE2LDI4IEBAIFRoZSBmb3JtICg/ISBEaXNqdW5j
dGlvbiApIHNwZWNpZmllcyBhIHplcm8td2lkdGggbmVnYXRpdmUgbG9va2FoZWFkLgogX19leHBl
Y3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFoLmluZm8iOwogCi0vL0NIRUNL
IzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwv
KS8uZXhlYygiYWguaW5mbyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQu
bGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0
ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWguaW5mbyIp
OyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4
JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXC4o
PyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcg
KyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlu
cHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2
YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19l
eGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJh
aC5pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2lu
ZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5z
YW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0s
CisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDcuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDcu
anMKaW5kZXggNWM0N2FlM2I2ZTc2OWY5ZDhhYzM1YzU3Mjg0ZjdmOGNiNzIyZDY4Ny4uZDhjNTE3
Y2I5NzhiYzI1NjA3Zjc2ODI3NDU2ZDc0NTJlY2JmYjkwMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1Q3LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UNy5qcwpA
QCAtMTYsMjQgKzE2LDI4IEBAIFRoZSBmb3JtICg/ISBEaXNqdW5jdGlvbiApIHNwZWNpZmllcyBh
IHplcm8td2lkdGggbmVnYXRpdmUgbG9va2FoZWFkLgogX19leHBlY3RlZC5pbmRleCA9IDI7CiBf
X2V4cGVjdGVkLmlucHV0ID0gImFoL2luZm8iOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVk
Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWgvaW5mbyIp
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9
IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWgvaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4
ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5k
ZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBl
Y3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMz
Ci1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5l
eGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8
X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09
IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4
ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0
ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19l
eGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDguanMKaW5kZXggMDU2ZTg5ZWY3
ZDFlOTE0MzBiZTU0ZGM2MGMxM2U3NjAwZWMwNjQ1MC4uNjgzNDYzOWNhMDQ0OWRhYmQ1MjI5Mzcy
MWMxM2NlY2Y0MWQwOTBiNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UOC5qcwpAQCAtMTIsNyArMTIsNCBAQCBU
aGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZl
IGxvb2thaGVhZC4KIAogdmFyIF9fZXhlY3V0ZWQgPSAvKFwuKD8hY29tfG9yZyl8XC8pLy50ZXN0
KCJhaC5jb20iKTsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiAvKFxcLig/IWNvbXxvcmcpfFxcLykvLnRlc3QoImFoLmNvbSIpID09
PSBmYWxzZScpOwotfQorYXNzZXJ0KCFfX2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1
dGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UOS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BMl9UOS5qcwppbmRleCAzNjNh
NzFmYjExMTRkOTk0NGQ0NGU1MzU5MTI1MWU3MTk5OTRiODdiLi41ODQ4MTI2NTAxMDBhMTJmY2U5
ZjcyMzYxNmZhMmE3NzJlZjBlM2MxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTJfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EyX1Q5LmpzCkBAIC0xNiwyNCArMTYs
MjggQEAgVGhlIGZvcm0gKD8hIERpc2p1bmN0aW9uICkgc3BlY2lmaWVzIGEgemVyby13aWR0aCBu
ZWdhdGl2ZSBsb29rYWhlYWQuCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5w
dXQgPSAiIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0
ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAv
KD8hYXxiKXxjLy5leGVjKCIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVk
Lmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1
dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbmRl
eCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
ZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhw
ZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sj
MwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoIiIpOyBf
X2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
cHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0Jwor
KTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3Ro
OyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4
XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIp
fGMvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3Rl
ZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3Nl
cnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5k
ZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Qx
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0Ez
X1QxLmpzCmluZGV4IDZiNjQ0ZDJlMjQ2ZjQxN2EyNWZjYjU1ZWIxYzFiZjRlOTBlOTVlYzkuLjJl
NTJmZDU5ZmU2NjY0ZGQ4YzJmM2YzMjgyMGZlMGExMjA5OTYzNzAgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDEu
anMKQEAgLTE5LDI0ICsxOSwyOCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBh
IGJhY2tyZWZlcmVuY2UgKFwgZm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3Rl
ZC5pbmRleCA9IDk7CiBfX2V4cGVjdGVkLmlucHV0ID0gIkxlYXJuaW5nIGphdmFTY3JpcHQgaXMg
ZnVubnksIHJlYWxseSI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBf
X2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1
dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFy
bmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09
ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3Ro
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVj
dGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNL
IzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8p
XFxzaXNcXHMoZnVuXFx3KikvLmV4ZWMoIkxlYXJuaW5nIGphdmFTY3JpcHQgaXMgZnVubnksIHJl
YWxseSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBl
Y3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0g
LyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBq
YXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVu
XFx3KikvLmV4ZWMoIkxlYXJuaW5nIGphdmFTY3JpcHQgaXMgZnVubnksIHJlYWxseSIpOyBfX2V4
ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAg
IF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxMC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTAuanMKaW5kZXggN2Qy
MzI3MmRkMzYwNzJlZDQxNGY0YzNhMDU0ZTRkNTU2OGZiMTExNy4uZWNlYTYzZWM0NDFmYWJiZDI3
YTRlZTNhNzZkZWJmY2MxOTVmNDM4MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDEwLmpzCkBAIC0xNywyNCAr
MTcsMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNl
IChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwog
X19leHBlY3RlZC5pbnB1dCA9ICIxMjM0NTYxMjM0NTYiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4
ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oXFxkezN9KShcXGR7M30pXFwxXFwyLy5leGVjKCIx
MjM0NTYxMjM0NTYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0
aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmlu
ZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2
Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5k
ZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVk
LmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKFxc
ZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWQuaW5w
dXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXGR7M30pKFxcZHszfSlcXDFc
XDIvLmV4ZWMoIjEyMzQ1NjEyMzQ1NiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0EzX1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuOF9BM19UMTEuanMKaW5kZXggOTE0Y2ZmYTJkNTFkODNlNzZmZjljOWI4NjIzZWE3
OWM5NWY3MDdhNi4uNGVjYmVmZDU5NzNkOGJmOGFkMmRmZTg0ZWM5NWRkZDk3M2IxODA2ZiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44
X0EzX1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjhfQTNfVDExLmpzCkBAIC0xNywyNCArMTcsMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUg
dXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBk
ZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWZn
aCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxl
bmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2EoLi4o
Li4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhw
ZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3Ro
LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9f
ZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9hKC4uKC4uKS4uKS8uZXhlYygiYWJjZGVmZ2giKTsg
X19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcK
Kyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5w
dXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9hKC4uKC4u
KS4uKS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0w
OyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2lu
ZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IF9fZXhlY3V0ZWQgPSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIik7IF9fZXhlY3V0
ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19l
eGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDEyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxMi5qcwppbmRleCA1ZGI3YTg4
OGNlN2MzNjQ4YTM2MGRiOGE5OGZlYTY0NmJiNTMxMDU3Li5mNTA2N2U5MDYxYjFjNTIyN2QzNzE5
ODNhNzlmMzIwNGE5ZDhkMTI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTIuanMKQEAgLTE3LDI0ICsxNywy
OCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2tyZWZlcmVuY2UgKFwg
Zm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3RlZC5pbmRleCA9IDE7CiBfX2V4
cGVjdGVkLmlucHV0ID0gInhhYmNkZWZnIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5s
ZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBf
X2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxl
bmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0
ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8o
YShiKGMpKSkoZChlKGYpKSkvLmV4ZWMoInhhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09
ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVk
LmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4
YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4
cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRl
ZCA9IC8oYShiKGMpKSkoZChlKGYpKSkvLmV4ZWMoInhhYmNkZWZnIik7IF9fZXhlY3V0ZWRbJyAr
IGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRl
ZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDEzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxMy5qcwppbmRleCA1MmUxYTA5ODU4ZTE1
NGY1YjdjYzIwMDJlYzY3YjMxODM4Mjc2ZTExLi43OTc4YzhhYzA0Mzg5N2U4Y2Y3Y2NiN2Y5MmU5
NmJjMDI0NDJiODA5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDEzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTMuanMKQEAgLTE5LDI0ICsxOSwyOCBAQCBU
aGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2tyZWZlcmVuY2UgKFwgZm9sbG93
ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3RlZC5pbmRleCA9IDE7CiBfX2V4cGVjdGVk
LmlucHV0ID0gInhhYmNkZWZiY2VmZyI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVu
Z3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVxcMlxcNS8uZXhlYygieGFiY2RlZmJj
ZWZnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0g
X19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1
dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVxcMlxcNS8uZXhlYygieGFiY2RlZmJjZWZnIik7IF9f
ZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkp
KGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZC5pbnB1dCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0
ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAog
Zm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1
Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyAr
IF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwot
CX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4
cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BM19UMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4yLjhfQTNfVDE0LmpzCmluZGV4IDBlYTZhY2JlNzM2Njc3NzVjYWMxNjA0NmMyNjRjOTg2
MzIwYTkxMDAuLjNlOTM2MzkxMDE2NWUyM2QyOTc2NDY4MWI2ZmJmZmM1MTNlYTUyN2UgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9B
M19UMTQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0EzX1QxNC5qcwpAQCAtMTcsMjQgKzE3LDI4IEBAIFRoZSByZXN1bHQgY2FuIGJlIHVz
ZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVj
aW1hCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZCI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2EoLj8pYlxcMWNc
XDFkXFwxLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3Rl
ZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVj
dXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBfX2V4ZWN1dGVkID0gL2EoLj8pYlxcMWNcXDFkXFwxLy5leGVjKCJhYmNkIik7IF9f
ZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvYSguPyliXFwx
Y1xcMWRcXDEvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0w
OyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2lu
ZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzQ6IF9fZXhlY3V0ZWQgPSAvYSguPyliXFwxY1xcMWRcXDEvLmV4ZWMoImFiY2QiKTsgX19leGVj
dXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBf
X2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE1LmpzCmluZGV4IDQ5ZjNk
Njc5Nzk1YjE2YTk5YTM2MTA4ZjdlOGI4ZDEzYWNlYWVkNDAuLjhmYzFjMmU3NDE1MGViYTllMmZj
NWE4NGFhNTIyMDEyNjU4YzZjZjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxNS5qcwpAQCAtMTYsMTUgKzE2
LDE1IEBAIFRoZSByZXN1bHQgY2FuIGJlIHVzZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAo
XCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hCiB2YXIgX19jbG9zZVBhcmVuID0gJyknOwog
dmFyIF9fcGF0dGVybiA9ICcnOwogdmFyIG51bVBhcmVucyA9IDIwMDsKLSAgCisKIGZvciAodmFy
IGk9MDsgaTxudW1QYXJlbnM7IGkrKykKICAgICBfX3BhdHRlcm4gKz0gX19vcGVuUGFyZW47Ci0g
ICAgCisKIF9fcGF0dGVybiArPSBfX3N0ck9yaWdpbmFsOwogCiBmb3IgKGk9MDsgaTxudW1QYXJl
bnM7IGkrKykgCiAgICAgX19wYXR0ZXJuICs9IF9fY2xvc2VQYXJlbjsKLSAgICAKKwogdmFyIF9f
cmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7CiAKIHZhciBfX2V4ZWN1dGVkID0gX19yZS5leGVj
KF9fc3RyT3JpZ2luYWwpOwpAQCAtMzUsMjQgKzM1LDI4IEBAIFRoZSByZXN1bHQgY2FuIGJlIHVz
ZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVj
aW1hCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0ck9yaWdp
bmFsOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IG5ldyBSZWdFeHAo
X19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVj
dXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVu
Z3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgn
CispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmlu
ZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9f
cGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAor
ICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7
IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5wdXQg
PT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1
dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVj
dGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQK
IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlp
ZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1
dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EzX1QxNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BM19UMTYuanMKaW5kZXggNDg2MmRiNzRkYWI5N2NhMDcxYWQ1MDM4
NjQxYjZkMjUzYmJhMmM2Mi4uNTY1ZGQ0YzFkYTdjYzc1NDBkNzIwNGMyYWRhOThhMjkzYzc5MmFk
ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0EzX1QxNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTNfVDE2LmpzCkBAIC0xNiwxNSArMTYsMTUgQEAgVGhlIHJlc3VsdCBj
YW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9u
emVybyBkZWNpbWEKIHZhciBfX2Nsb3NlUGFyZW4gPSAnKSc7CiB2YXIgX19wYXR0ZXJuID0gJyc7
CiB2YXIgbnVtUGFyZW5zID0gMjAwOwotICAKKwogZm9yICh2YXIgaT0wOyBpPG51bVBhcmVuczsg
aSsrKQogICAgIF9fcGF0dGVybiArPSBfX29wZW5QYXJlbjsKLSAgICAKKwogX19wYXR0ZXJuICs9
IF9fc3RyT3JpZ2luYWw7CiAKIGZvciAoaT0wOyBpPG51bVBhcmVuczsgaSsrKSAKICAgICBfX3Bh
dHRlcm4gKz0gX19jbG9zZVBhcmVuOwotICAgIAorCiB2YXIgX19yZSA9IG5ldyBSZWdFeHAoX19w
YXR0ZXJuKTsKIAogdmFyIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7CkBA
IC0zMywyNCArMzMsMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNr
cmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5k
ZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyT3JpZ2luYWw7CiAKLS8vQ0hFQ0sjMQot
aWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1
dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRl
ZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhl
Y3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUu
ZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBp
bmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4
XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6
IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19z
dHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVk
W2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRl
eF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE3
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0Ez
X1QxNy5qcwppbmRleCAyZDk5Nzc3ZWZjZWEzZWQ5NmQzMDUxZWVhMjhhZmMwMGNiODVmZmZjLi5i
ZmE1MDM4ZmY5OWI3MTFiZTBlZjg3OTVjZWU2ZjBkNjZlOTVmNTY0IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE3LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19U
MTcuanMKQEAgLTI4LDI0ICsyOCwyOCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBp
biBhIGJhY2tyZWZlcmVuY2UgKFwgZm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBl
Y3RlZC5pbmRleCA9IDc7CiBfX2V4cGVjdGVkLmlucHV0ID0gX19odG1sOwogCi0vL0NIRUNLIzEK
LWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxc
XC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9D
SEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLzxib2R5Lio+KCguKlxcbj8p
Kj8pPFxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19l
eHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0v
L0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXFxu
PykqPyk8XFwvYm9keT4vaS5leGVjKF9faHRtbCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBf
X2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5n
dGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
cHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0Jwor
KTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3Ro
OyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4
XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC88Ym9keS4q
PigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZFsnICsgaW5k
ZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2lu
ZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2lu
ZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE4LmpzCmluZGV4IDc1ZGI2NWIxZGVlYjQwYmMy
NTc4NjdjNGE5NTI2MGIzOTQ2OTYyODQuLjkwN2MzYjZhMGM1YmYyZWMzM2YwYjFmMWM1ODBhMzc3
N2RjMTU5M2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BM19UMTguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxOC5qcwpAQCAtMTUsNyArMTUsNCBAQCBUaGUgcmVz
dWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2tyZWZlcmVuY2UgKFwgZm9sbG93ZWQgYnkg
YSBub256ZXJvIGRlY2ltYQogCiB2YXIgX19leHBlY3RlZCA9ICdUbyBzaWduIHVwIGNsaWNrIDxh
IGhyZWY9Imh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtIj5oZXJlPC9hPic7CiAKLS8v
Q0hFQ0sjMQotaWYgKF9fcmVwbGFjZWQgIT09IF9fZXhwZWN0ZWQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19yZXBsYWNlZCA9ICJUbyBzaWduIHVwIGNsaWNrIHxoZXJlfGh0dHBz
Ond3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtfCIucmVwbGFjZSgvKFxcfCkoW1xcd1xceDgxLVxc
eGZmIF0qKShcXHwpKFtcXC9hLXpdW1xcdzpcXC9cXC5dKlxcLlthLXpdezMsNH0pKFxcfCkvaWcs
IFwnPGEgaHJlZj0iJDQiPiQyPC9hPlwnKTsgX19yZXBsYWNlZCA9PT0gJyArIF9fZXhwZWN0ZWQg
KyAnLiBBY3R1YWw6ICcgKyBfX3JlcGxhY2VkKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19yZXBs
YWNlZCwgX19leHBlY3RlZCwgJ1RoZSB2YWx1ZSBvZiBfX3JlcGxhY2VkIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE5LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QxOS5qcwppbmRl
eCA2MWI3MDliMzhiODU2NWZiMGVmMDk1OGNhNTUwOGQxNjA0YzZjNmYxLi4zM2Q1YjdiY2M5MWVh
ODRiMDRkZDY4MDE2MjgxZTg3MjE3MDhkZjc3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDE5LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMTkuanMKQEAgLTE5
LDI0ICsxOSwyOCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2tyZWZl
cmVuY2UgKFwgZm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3RlZC5pbmRleCA9
IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gIkNvdXJzZV9DcmVhdG9yID0gVGVzdCI7CiAKLS8vQ0hF
Q0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbXFxTXSsoWyBcXHRdK1tc
XFNdKykqKVsgXFx0XSo9WyBcXHRdKltcXFNdKy8uZXhlYygiQ291cnNlX0NyZWF0b3IgPSBUZXN0
Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19l
eHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVk
ID0gLyhbXFxTXSsoWyBcXHRdK1tcXFNdKykqKVsgXFx0XSo9WyBcXHRdKltcXFNdKy8uZXhlYygi
Q291cnNlX0NyZWF0b3IgPSBUZXN0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVj
dGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVk
LmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzM6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0q
W1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZC5pbnB1dCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0
ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAog
Zm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSop
WyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19l
eGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
ICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMi5qcwppbmRleCA3NTdm
MjBmYzZiMDE2MjdmZmQwYzc2YjdlNzFiOThmYjMzNzg1MmUzLi5hN2MwMDcyMDJkYWFiMWY2ZDY5
OTc0YzA4OWViYjZiZDliOTFhNzNjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QyLmpzCkBAIC0xOSwyNCArMTks
MjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChc
IGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAxNjsKIF9f
ZXhwZWN0ZWQuaW5wdXQgPSAiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiOwog
Ci0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oW0pqXWF2YShb
U3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEg
aXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxl
bmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVk
LmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3Kikv
LmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7IF9fZXhlY3V0ZWQu
aW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBf
X2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NI
RUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0
KT8pXFxzaXNcXHMoZnVuXFx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwg
dHJ5IGl0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBl
Y3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhw
ZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVk
ID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJEZXZlbG9w
aW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EzX1QyMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BM19UMjAuanMKaW5kZXggYTEyNTFjY2NhNTEzMjM3NzA0ODMyOTg0
Yjc2YzcwY2E1MmFkNzk4Ni4uMTJiMDViZjIxZWIwOTdjYTNmZWJlOWI1ZmZjNjQwNjQ3MTVlMDk0
NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMi44X0EzX1QyMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTNfVDIwLmpzCkBAIC0xNywyNCArMTcsMjggQEAgVGhlIHJlc3VsdCBj
YW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9u
emVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJB
QUEiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9eKEEp
PyhBLiopJC8uZXhlYygiQUFBIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3Rl
ZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVj
dXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRl
ZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisg
IF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8v
Q0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhl
YygiQUFBIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBl
Y3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhw
ZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVk
ID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9
PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRl
eF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAg
ICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuOF9BM19UMjEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTNfVDIxLmpzCmluZGV4IGE2Mzg1ZjVjNTdkODUwODU4YzI4Y2EwMGY0
YzRkMmE5YzQyNGU1M2YuLjJlYjBiNGVhYzg5OTgyYmNhZmI5ZmI3OTQyZWVlY2MyNmNkZTVmMWYg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BM19UMjEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EzX1QyMS5qcwpAQCAtMTcsMjQgKzE3LDI4IEBAIFRoZSByZXN1bHQgY2Fu
IGJlIHVzZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnpl
cm8gZGVjaW1hCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiQUEi
OwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5n
dGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9eKEEpPyhB
LiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxl
bmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVk
LmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIik7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4
cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNL
IzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFB
Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5w
dXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5s
ZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRb
aW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL14o
QSk/KEEuKikkLy5leGVjKCJBQSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi44X0EzX1QyMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuOF9BM19UMjIuanMKaW5kZXggZTNiNTViNmFiM2RlZWE5ZDU4ZmM0NGVhYzA1OTNiMjNl
NjBlODgzNC4uMzdiNzZlYmYzODBjODM1MmE4YmU3M2Y1M2U5NzgyYzU2OGU4NTUwMCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0Ez
X1QyMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTNfVDIyLmpzCkBAIC0xNywyNCArMTcsMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNl
ZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNp
bWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJBIjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4
ZWMoIkEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9
PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhl
Y3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5k
ZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9f
ZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQSIpOyBfX2V4ZWN1
dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwK
KyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAot
Ly9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRl
eCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewot
CQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8u
ZXhlYygiQSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtp
bmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhd
LAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QyMy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19U
MjMuanMKaW5kZXggNDlkZmQ2YTU5MmQ3ZTQwNzk1MmJiZGM3MDRhZDdjOWYzZGRkODEwZS4uODg0
YzQ2MzdjN2U4NzEyZTc2Y2ZkNmE4YTBjNWU4NTNiZDA2NTg2MSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QyMy5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDIz
LmpzCkBAIC0yMSwyNCArMjEsMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4g
YSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWEKIF9fZXhwZWN0
ZWQuaW5kZXggPSAxMzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFh
YWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRl
eCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVk
ID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBf
X2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0K
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBe
QUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJp
bmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
Lmxlbmd0aCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisg
IF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7
IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI0LmpzCmluZGV4IGMyNTViNmUwMGVhNmUy
M2FiMjI0NGNjZDYzNWU5NWI5ZjBlYTc4M2IuLjJkMzZjYTQ3NzNiZjMyY2U2NTUzYjhmOTA3Mzhi
NzkwNzlhMTUzYTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BM19UMjQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QyNC5qcwpAQCAtMjEsMjQgKzIxLDI4IEBAIFRo
ZSByZXN1bHQgY2FuIGJlIHVzZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dl
ZCBieSBhIG5vbnplcm8gZGVjaW1hCiBfX2V4cGVjdGVkLmluZGV4ID0gMTM7CiBfX2V4cGVjdGVk
LmlucHV0ID0gX19zdHJpbmc7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9
PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0
cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAv
KEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQot
Ly9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5B
QWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5n
KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5p
bnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0
ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxl
bmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5kZXgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQn
CispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5n
dGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5k
ZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7
ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVj
KF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRb
aW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4
XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjUu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNf
VDI1LmpzCmluZGV4IDUwYzNhMjMwOTNiMmVmYzQ2NTcxNzEwNGQyNzhkM2ViMTMzYTQ5NDAuLjY5
ZjgyNTZmZTQ1NWMxYWJhMWQwMjc2ZDRiNzBlMzYwODJmMTk2NzUgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjUuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Qy
NS5qcwpAQCAtMjEsMjQgKzIxLDI4IEBAIFRoZSByZXN1bHQgY2FuIGJlIHVzZWQgZWl0aGVyIGlu
IGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hCiBfX2V4cGVj
dGVkLmluZGV4ID0gMTM7CiBfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFh
YWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4
ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9f
c3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0g
LyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4
cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0KLS8v
Q0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQWFh
QUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4
cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOworCithc3NlcnQu
c2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9
MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtp
bmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVj
dXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi44X0EzX1QyNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjYuanMKaW5kZXggNWE1MDkxZjkwMWIwZTBiZDBjY2Uy
MGI0MzAzZjllNzA4NzgyZjhjMC4uODgwZWY0MWJhMDNmYjliNmVmMWM2ODhkYmZmMDA2MjRjYTg5
NTViMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi44X0EzX1QyNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI2LmpzCkBAIC0xOSwyNCArMTksMjggQEAgVGhlIHJlc3Vs
dCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEg
bm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9
IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAi
YSI7IF9fZXhlY3V0ZWQgPSAvKGEpP2EvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0
aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5s
ZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVj
dGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fc3RyaW5nID0gImEi
OyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19l
eGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcg
KyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAiYSI7IF9f
ZXhlY3V0ZWQgPSAvKGEpP2EvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi44X0EzX1QyNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjcuanMKaW5kZXggMmQxY2NhNmJjMmViMjMyOWU1NWIw
YjliNzAxYzM4NGI1MjIxZTU3NS4uYjU3YjMxMDVkYzAxYWVlMDFlMjYxZmZjYzAxYzg1ZjE2ZDQw
ZWFmZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi44X0EzX1QyNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI3LmpzCkBAIC0xOSwyNCArMTksMjggQEAgVGhlIHJlc3Vs
dCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEg
bm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9
IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAi
YSI7IF9fZXhlY3V0ZWQgPSAvYXwoYikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0
aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5s
ZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVj
dGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fc3RyaW5nID0gImEi
OyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19l
eGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcg
KyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAiYSI7IF9f
ZXhlY3V0ZWQgPSAvYXwoYikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi44X0EzX1QyOC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjguanMKaW5kZXggMmMxYzIyMTc3MDM4NGVkZmVmZDgw
MzVkOTIzMzhmOThmODIwMzdmNS4uNGY2YTZlMjZkMTRmMGZlM2RiZjQ4MWIzMWQwOTQwOGY3ODhi
NmVmOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi44X0EzX1QyOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI4LmpzCkBAIC0xOSwyNCArMTksMjggQEAgVGhlIHJlc3Vs
dCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEg
bm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9
IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAi
YSI7IF9fZXhlY3V0ZWQgPSAvKGEpPyhhKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVu
Z3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
Lmxlbmd0aCk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhw
ZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19zdHJpbmcgPSAi
YSI7IF9fZXhlY3V0ZWQgPSAvKGEpPyhhKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0
ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19zdHJpbmcgPSAiYSI7
IF9fZXhlY3V0ZWQgPSAvKGEpPyhhKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQg
PT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1
dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBl
Y3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAi
YSI7IF9fZXhlY3V0ZWQgPSAvKGEpPyhhKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyAr
IGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRl
ZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QyOS5qcwppbmRleCA0YWMzNDlmYWQ3N2Y3
ZTUzZGUzOGQwN2IwNmQ3ZTk2ZGM1NjFlODc0Li4wMWMyZmRlNjJlNjA5MjNjMmI2MzZmZWNiYjNh
OGJmYzIyMWE2MmFkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDI5LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMjkuanMKQEAgLTE5LDI0ICsxOSwyOCBAQCBU
aGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2tyZWZlcmVuY2UgKFwgZm9sbG93
ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVk
LmlucHV0ID0gX19zdHJpbmc7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9
PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0
cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5n
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVj
KF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0k
Ly5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5w
dXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5k
ZXgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4
cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNL
IzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsK
LQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFth
LXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9
PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRl
eF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAg
ICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuOF9BM19UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BM19UMy5qcwppbmRleCBhNzZhNmUwNGFmMmI3ZmIyMTYzOWFhNDU2OWJm
OTJiYzliYWEzNTI0Li5jZTg1NjA1M2FmYTVlMzlmNGQ2YzA0ODRmYzY1MjUwZTVkM2RjYjMzIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4y
LjhfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi44X0EzX1QzLmpzCkBAIC0xNiw3ICsxNiw0IEBAIFRoZSByZXN1bHQgY2FuIGJlIHVz
ZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVj
aW1hCiAKIHZhciBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxzaXNccyhmdW5c
dyopLy50ZXN0KCJEZXZlbG9waW5nIHdpdGggSmF2YVNjcmlwdCBpcyBkYW5nZXJvdXMsIGRvIG5v
dCB0cnkgaXQgd2l0aG91dCBhc3Npc3RhbmNlIik7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0
ZWQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogLyhbSmpdYXZhKFtTc11jcmlwdCk/
KVxcc2lzXFxzKGZ1blxcdyopLy50ZXN0KCJEZXZlbG9waW5nIHdpdGggSmF2YVNjcmlwdCBpcyBk
YW5nZXJvdXMsIGRvIG5vdCB0cnkgaXQgd2l0aG91dCBhc3Npc3RhbmNlIikgPT09IGZhbHNlJyk7
Ci19Cithc3NlcnQoIV9fZXhlY3V0ZWQsICdUaGUgdmFsdWUgb2YgIV9fZXhlY3V0ZWQgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QzMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMzAuanMKaW5kZXggOWNjOTBiZWRjY2Q0
N2YwOWYyNjBhNDNkNDEyMDczMmJmYzAzNzBjZi4uM2Y3OWM3ZmRhMjUwMWNlNGY0ODgxNDQ0MDBj
YTI3ODk0MmZjMTZmYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuMi44X0EzX1QzMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDMwLmpzCkBAIC0xOSwyNCArMTksMjggQEAg
VGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxv
d2VkIGJ5IGEgbm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3Rl
ZC5pbnB1dCA9IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAh
PT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19z
dHJpbmcgPSAiYWIiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJp
bmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1
dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5l
eGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXgg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAo
X19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMzOiBfX3N0cmluZyA9ICJhYiI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlth
LXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVk
LmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAg
X19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9D
SEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsr
KSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAiYWIiOyBfX2V4ZWN1dGVkID0g
L14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCAr
ICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
W2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuMi44X0EzX1QzMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UMzEuanMKaW5kZXggZmVhMDcyYWI1MjQ5NWI0ZWQ4ZThk
NTJmOTY0YmUxYzU2ODc0MDFmOC4uZWUzMzkwZjkwNGZkOWE1ZWNhNDdmMTJlMDU4ZjI2ZGM2MjY0
ZjhmYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMi44X0EzX1QzMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC4yLjhfQTNfVDMxLmpzCkBAIC0xOSwyNCArMTksMjggQEAgVGhlIHJlc3Vs
dCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEg
bm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9
IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAi
YWJjIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRl
eCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X3N0cmluZyA9ICJhYmMiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19z
dHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1
dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8u
ZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4
JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAiYWJjIjsgX19leGVjdXRlZCA9IC9eKFth
LXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9
PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRl
eF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAg
ICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAg
KTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuOF9BM19UMzIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTNfVDMyLmpzCmluZGV4IGMyNjZmZTZiYzFiZjlmYjljNDUzZjdhYjNi
YmU1YTRmNjZhZTA0OTIuLjZkNzk2NWVjNmY1OGUxMmM4Y2NjNWY5OWNjOWU4NTllYjJjYTJiZTcg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BM19UMzIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0EzX1QzMi5qcwpAQCAtMTksMjQgKzE5LDI4IEBAIFRoZSByZXN1bHQgY2Fu
IGJlIHVzZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnpl
cm8gZGVjaW1hCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0
cmluZzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQu
bGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fc3RyaW5nID0gInd3dy5u
ZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykqW2Etel1cXC4pK1thLXpdezIs
fSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQu
bGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNL
IzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IF9fc3RyaW5nID0gInd3dy5uZXRzY2FwZS5jb20iOyBfX2V4
ZWN1dGVkID0gL14oKFthLXpdKykqW2Etel1cXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcp
OyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlu
cHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IF9fc3RyaW5nID0gInd3dy5uZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykq
W2Etel1cXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09
PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0
ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVk
Lmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3Rl
ZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fc3RyaW5nID0gInd3
dy5uZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykqW2Etel1cXC4pK1thLXpd
ezIsfSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi44X0EzX1QzMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuOF9BM19UMzMuanMKaW5kZXggODk3MDBiN2IzNDA1NmJhNTE2MTAwYTkzZGQ1YzY3NzIw
NDczYWRjZi4uNjlkYTY1Y2M5YjRlNjEyOWYwYjU0ZDQ2ZTM0MjExMzJjODhkMTNlMCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0Ez
X1QzMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTNfVDMzLmpzCkBAIC0xOSwyNCArMTksMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNl
ZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNp
bWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwog
Ci0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBl
LmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5l
eGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0
aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1p
ZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRl
ZCA9IC9eKChbYS16XSspKihbYS16XSlcXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOyBf
X2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9f
c3RyaW5nID0gInd3dy5uZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykqKFth
LXpdKVxcLikrW2Etel17Mix9JC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09
ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3Rl
ZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
cHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQu
bGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVk
W2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAid3d3
Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16
XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyAr
IF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwot
CX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4
cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjIuOF9BM19UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjIuOF9BM19UNC5qcwppbmRleCA5Mjc2NWMyZjBiMTA5MjAyMzdlNjA1YTg5NGM2MDNjYjk2
ZjRjY2I3Li4wMjIxNjViZGY3ZTc2OGIzYmUzODE1ZWNjNzc5MDY0NWFlZTQ3NWVkIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNf
VDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi44X0EzX1Q0LmpzCkBAIC0xNywyNCArMTcsMjggQEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBl
aXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWEK
IF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwogCi0vL0NI
RUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oYWJjKS8uZXhlYygiYWJj
Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19l
eHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVk
ID0gLyhhYmMpLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0
ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQu
aW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MzogX19leGVjdXRlZCA9IC8oYWJjKS8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09
ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVk
LmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZv
cih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAo
X19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhYmMpLy5leGVjKCJhYmMiKTsgX19leGVj
dXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBf
X2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UNS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UNS5qcwppbmRleCA0OTVlNDEz
MWQxMDlkNTJkZWY1YTRmYjUwMGQzYTA4MjRhODE2ZDc5Li5mZTRjYjc0ZDZkZmMyZDIxMWUyMjJm
MzY3NDkwMGMzZDMwZjRjMmM2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Q1LmpzCkBAIC0xNywyNCArMTcsMjgg
QEAgVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZv
bGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWEKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBl
Y3RlZC5pbnB1dCA9ICJhYmNkZWZnIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5n
dGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IF9fZXhlY3V0ZWQgPSAvYShiYylkKGVmKWcvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5s
ZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAor
ICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwog
Ci0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvYShiYylkKGVmKWcv
LmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19l
eGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0
ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5w
dXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJj
ZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRl
eF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAor
ICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Q2LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Q2Lmpz
CmluZGV4IGQ5MzQ3NzgyMjU0ZDI4MGQ5NmExMjczYWRjYTFiZTkxYjMzZGI5MmEuLmIxMDllYTQ4
OWQ1OTI4YTU1NWE0NjIzNDZiNDZkN2ZiOTYwOTUxN2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UNi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDYuanMKQEAg
LTE3LDI0ICsxNywyOCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2ty
ZWZlcmVuY2UgKFwgZm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3RlZC5pbmRl
eCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKIAotLy9DSEVDSyMxCi1pZiAo
X19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKC57M30pKC57NH0pLy5leGVjKCJhYmNkZWZn
aCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9f
ZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRl
ZCA9IC8oLnszfSkoLns0fSkvLmV4ZWMoImFiY2RlZmdoIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09
ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVk
LmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvKC57M30pKC57NH0pLy5leGVjKCJhYmNkZWZn
aCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
cHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQu
bGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVk
W2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8o
LnszfSkoLns0fSkvLmV4ZWMoImFiY2RlZmdoIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10g
PT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5k
ZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisg
ICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4
XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisg
ICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4yLjhfQTNfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4yLjhfQTNfVDcuanMKaW5kZXggMWU0NWFmMDQ4NTk5MTUwMTgzYjEzZjAzODE4
MmJiODUwMDUzMjA4ZS4uYTcxODdjMzJlMmU1ZGYwNDBkY2U1Y2ZiZmM1YmVkNDk3M2E1YTI5YyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi44X0EzX1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjIuOF9BM19UNy5qcwpAQCAtMTcsMjQgKzE3LDI4IEBAIFRoZSByZXN1bHQgY2FuIGJl
IHVzZWQgZWl0aGVyIGluIGEgYmFja3JlZmVyZW5jZSAoXCBmb2xsb3dlZCBieSBhIG5vbnplcm8g
ZGVjaW1hCiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFiY2Rh
YWJjZCI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVk
Lmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyhh
YSliY2RcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBf
X2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxl
bmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlm
IChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKGFhKWJjZFxcMS8uZXhlYygiYWFiY2RhYWJj
ZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVj
dXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlu
ZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3Rl
ZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyhh
YSliY2RcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFhKWJjZFxcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBf
X2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Q4LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0EzX1Q4LmpzCmluZGV4IDRk
ZTUwZTljYjdjNjEzOTJmMmEzMWVjYzVlNjM3YTgyNmNkNzI2NTcuLmE4NDAyMGRkYTI4MTE5NjE3
Zjc1Yjc5ZTQ2NjIzYzE5MWRjOTA2NTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UOC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTNfVDguanMKQEAgLTE3LDI0ICsx
NywyOCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhlciBpbiBhIGJhY2tyZWZlcmVuY2Ug
KFwgZm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19leHBlY3RlZC5pbmRleCA9IDA7CiBf
X2V4cGVjdGVkLmlucHV0ID0gImFhYmNkYWFiY2QiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC8oYWEpLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVk
LmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKGFh
KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4
cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAor
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1
dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0
LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwog
Ci0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGlu
ZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhYSkuK1xcMS8u
ZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44
X0EzX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi44X0EzX1Q5LmpzCmluZGV4IDgwNmQ5NjczNTQwMzM2YjMyNjJlYTI4NjQwNWVjZWNiNjZmZTNh
MDYuLjdlYjYwODUzYzAyMDAxMjYxMDY4OWFmMWY0ZDc2NzA1NWM3ZjdmMDIgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BM19UOS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhf
QTNfVDkuanMKQEAgLTE3LDI0ICsxNywyOCBAQCBUaGUgcmVzdWx0IGNhbiBiZSB1c2VkIGVpdGhl
ciBpbiBhIGJhY2tyZWZlcmVuY2UgKFwgZm9sbG93ZWQgYnkgYSBub256ZXJvIGRlY2ltYQogX19l
eHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhYmNkYWFiY2QiOwogCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oLnsyfSkuK1xcMS8u
ZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQu
bGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0
ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogX19leGVjdXRlZCA9IC8oLnsyfSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4
ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRl
eCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsK
IAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwx
Ly5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVk
LmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsg
aW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRl
eF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0
ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19l
eGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDEuanMKaW5kZXggNzYyODY5MWI5
ZDc4ZmYwYzVmYTkzYzYyYThiOWIwYmY0YjZhYmQ2Mi4uNTdlMjY4NWUzZTcyOGZlMDlhZGYzM2Q1
NjcyMWFlOTk1Mjg3MzVjYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UMS5qcwpAQCAtMTcsMjQgKzE3LDI4IEBA
CiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKIAot
Ly9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVj
dXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsg
X19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1p
ZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX3N0cmluZyA9ICJhYmNkZSI7IF9fZXhlY3V0ZWQgPSAvYWIuZGUv
LmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRl
eCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAh
PT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3N0
cmluZyA9ICJhYmNkZSI7IF9fZXhlY3V0ZWQgPSAvYWIuZGUvLmV4ZWMoX19zdHJpbmcpOyBfX2V4
ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1
dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsK
IAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkg
ewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAiYWJjZGUiOyBfX2V4
ZWN1dGVkID0gL2FiLmRlLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAn
XSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtp
bmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwK
KyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5k
ZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScK
KyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BNF9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BNF9UMi5qcwppbmRleCBjYzZlNDc4YWRhYzA4MTdkZDgwYzE4OTg3
YTVlMzRlNTdlZWEwYzkxLi41ODAyYTU1NDNkM2UyOTRkZWVjNWUwZmZkOGUwZGNjZjEyODk5Zjg5
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTRfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0E0X1QyLmpzCkBAIC0xNywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5k
ZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChf
X2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAibGluZSAxXG5saW5lIDIiOyBfX2V4ZWN1dGVkID0g
Ly4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVk
Lmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1
dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IF9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsgX19leGVjdXRlZCA9IC8uKy8uZXhl
YyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBf
X2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fc3RyaW5n
ID0gImxpbmUgMVxubGluZSAyIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9f
ZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
cHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5w
dXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCisp
OwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7
IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhd
KSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3N0cmluZyA9ICJsaW5lIDFcbmxp
bmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBp
bmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRb
aW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRb
aW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1QzLmpzCmluZGV4IDBkMmEwNjQzMzVkOWQwOGJl
NWYwMmJjNzQ1MGU0M2VlMWVjNjZjNWYuLmE0ZWE4ODNjOWY2MmU1MTNkZjc5ZmI1ZTMzZDg4NzIy
OWYwNjE4MmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BNF9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDMuanMKQEAgLTE3LDI0ICsxNywyOCBAQAogX19leHBl
Y3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhl
Y3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgot
aWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogX19zdHJpbmcgPSAidGhpcyBpcyBhIHRlc3QiOyBfX2V4ZWN1dGVk
ID0gLy4qYS4qLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhw
ZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0
ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogX19zdHJpbmcgPSAidGhpcyBpcyBhIHRlc3QiOyBfX2V4ZWN1dGVkID0gLy4qYS4qLy5l
eGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxf
X2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0g
X19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fc3Ry
aW5nID0gInRoaXMgaXMgYSB0ZXN0IjsgX19leGVjdXRlZCA9IC8uKmEuKi8uZXhlYyhfX3N0cmlu
Zyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDQuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDQuanMKaW5k
ZXggMjc5NjE0NmQ0MDYzMjEwN2FlOWNhZDljOTdiMGYwMDgxY2ZkM2UxMS4uNmNjYTQ2ZTA2YTNm
OWRkN2NkYmVkMTJlMzcwMTI1MmQ0NWM0Y2RiZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q0LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UNC5qcwpAQCAtMTcs
MjQgKzE3LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSBf
X3N0cmluZzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0
ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fc3RyaW5nID0gInRo
aXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBf
X2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxl
bmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0
ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19zdHJpbmcgPSAidGhp
cyBpcyBhIComXiUkIyB0ZXN0IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9f
ZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAq
Jl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVk
LmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAg
X19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4
cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9D
SEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsr
KSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAidGhpcyBpcyBhIComXiUkIyB0
ZXN0IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGlu
ZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtp
bmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDUuanMKaW5kZXggYThmZDg4NTg4MWM3MTY3Y2Jk
MzAyMGEyMWM3MDNkMDBjNjYyNWQzZi4uNmFlNmQ2ODZjMjY1YTZlMTFiYzY5NDY4YjkzZjUyODhj
ZDdjY2IyMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0E0X1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UNS5qcwpAQCAtMTcsMjQgKzE3LDI4IEBACiBfX2V4cGVj
dGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKIAotLy9DSEVDSyMx
Ci1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4r
Ly5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxl
bmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVk
LmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsg
X19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
aW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5p
bmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcK
Kyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5w
dXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19zdHJpbmcgPSAiLi4uLiI7IF9f
ZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsg
X19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1
dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFy
IGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhl
Y3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogX19zdHJpbmcgPSAiLi4uLiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19z
dHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRl
eF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAor
ICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q2LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q2Lmpz
CmluZGV4IDdkMjlkZDI3NmU2NDdkMzAzY2JlMjM2MzNiMjhmN2I2OGU5ZDc1NjcuLmJjMWZmNWVj
MTM1YmYyMjRjM2FiZWRjNjNjYjNlOTVhZDM0MDEzZmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UNi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDYuanMKQEAg
LTE3LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0
ID0gX19zdHJpbmc7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4
cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0cmluZyA9
ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19z
dHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09
IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19zdHJp
bmcgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVj
KF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9f
ZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19zdHJpbmcg
PSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9f
c3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVj
dGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBl
Y3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fc3RyaW5nID0g
ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0
cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4
XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisg
ICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDcuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDcuanMK
aW5kZXggYjJkNzI4ZGFlMmIwYTVkNGU5Y2VjZDI1M2I4ZWNiOTY2NTdhMWNhOS4uYzVjZjNmMWJk
MGI1ZjI1NDUyZjllN2FhMmFiYmQ1NzBjOTY2NGI1YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q3LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UNy5qcwpAQCAt
MTcsMjQgKzE3LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMDsKIF9fZXhwZWN0ZWQuaW5wdXQg
PSBfX3N0cmluZzsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhw
ZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fc3RyaW5nID0g
IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0
cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0g
X19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3N0cmlu
ZyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMo
X19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19l
eHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3N0cmluZyA9
ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19z
dHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
LmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0
ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVj
dGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19zdHJpbmcgPSAi
QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3Ry
aW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhd
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAg
ICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UOC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UOC5qcwpp
bmRleCBjNjA3OTk0MDc2ZTNiNTY2NjgxMDQzNWJlNTU4MDEyNGZhNWY4YTk5Li4xNGI3NTk2Mzhj
NGMwNzIyYjlkOTFhZjA4ZjBjMzhkYTQxZGYxZGQxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDguanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q4LmpzCkBAIC0x
NywyNCArMTcsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9
IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBl
Y3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAi
YDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3Ry
aW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fc3RyaW5n
ID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhf
X3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4
cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fc3RyaW5nID0g
ImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0
cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3Rl
ZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0
ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3N0cmluZyA9ICJg
MTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJp
bmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0g
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q5LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E0X1Q5LmpzCmlu
ZGV4IGRlZDNlOTFlNmFhODI2M2YyZjJlN2E2ODY3ZTlkNWM4NTUyOTc2N2IuLmQ0YzQwNDlmZWIw
MGFhYmFhMDJkNzJmNWY3Yzg1M2YzOTRjYmJhMGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNF9UOS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTRfVDkuanMKQEAgLTE3
LDI0ICsxNywyOCBAQAogX19leHBlY3RlZC5pbmRleCA9IDA7CiBfX2V4cGVjdGVkLmlucHV0ID0g
X19zdHJpbmc7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVj
dGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0cmluZyA9ICJ8
XFxbe119OzpcIlwnLDw+Lj8vIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9f
ZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
Lmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVu
Z3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3Rl
ZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3N0cmluZyA9ICJ8XFxb
e119OzpcIlwnLDw+Lj8vIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhl
Y3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4
LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwog
Ci0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcs
PD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1
dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlu
cHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhw
ZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sj
NAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewot
CWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBf
X2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAn
XSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtp
bmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwK
KyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5k
ZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScK
KyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjIuOF9BNV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjIuOF9BNV9UMS5qcwppbmRleCBlY2VkNzExMTc2ODdiZDdjZjkwNDc4OWNi
YTg4YzI4YjMyMTAzNTE3Li42MTgyNDg3MmM5NmJhMTRmMDUwY2RhY2YyN2ZiMTA5NDBiNjhkMTc1
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4yLjhfQTVfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuMi44X0E1X1QxLmpzCkBAIC0xNiwyNCArMTYsMjggQEAKIF9fZXhwZWN0ZWQuaW5k
ZXggPSAwOwogX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwogCi0vL0NIRUNLIzEKLWlmIChf
X2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19zdHJpbmcgPSAiQUJDIGRlZiBnaGkiOyBfX2V4ZWN1dGVkID0gL1th
LXpdKy9pZy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4
ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsv
aWcuZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmlu
ZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9f
c3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0
cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3Rl
ZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0
ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3N0cmluZyA9ICJB
QkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4
ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1
YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAg
IF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E1X1QyLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi44X0E1X1QyLmpzCmluZGV4IDlhNmQ2
ZDUxM2FjMWEyNTdiNjI4ZDYzMzZhNWE0NjIxZjJjYjM4NGQuLjI4ODEwOGZjYmQ5YzY4ZTA3NWZh
YTYwZjhlYTI4ZGRlYmRlMGRhYWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOF9BNV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjhfQTVfVDIuanMKQEAgLTE2LDI0ICsxNiwy
OCBAQAogX19leHBlY3RlZC5pbmRleCA9IDQ7CiBfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7
CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0
aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3N0cmluZyA9ICJBQkMgZGVmIGdo
aSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5n
dGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQu
bGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBf
X2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0v
L0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19l
eGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAn
ICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5p
bmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAo
X19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMzOiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Et
el0rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBp
bmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4
XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6
IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19z
dHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRl
eF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAor
ICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi45X0ExX1QxLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi45X0ExX1QxLmpz
CmluZGV4IGM3YWM2YmY3MzJlZjUyNGNjOWNhYmRmODFmYTY0ZTM4MTIzYmZlNjAuLjY4ZjE5MzZi
ZGVkYmU0M2Q2NjUxMjA4ZDU3ZGZkNjdlNTc3NDNkMzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UMS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjlfQTFfVDEuanMKQEAg
LTE4LDI0ICsxOCwyOCBAQCBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2Fw
dHVyaW5nIHBhcmVudGhlc2VzIChzZWUKIF9fZXhwZWN0ZWQuaW5kZXggPSAxNDsKIF9fZXhwZWN0
ZWQuaW5wdXQgPSAiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiOwogCi0vL0NIRUNLIzEKLWlm
IChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJk
byB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9f
ZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVu
Z3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYg
KF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5
b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBl
Y3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRl
ZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMzOiBfX2V4ZWN1dGVkID0gL1xcYihcXHcrKSBcXDFcXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4g
dGhlIHRoZSBiYW5kIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8
X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09
IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4
ZWN1dGVkID0gL1xcYihcXHcrKSBcXDFcXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBi
YW5kIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4
XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisg
ICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjlfQTFfVDIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjlfQTFfVDIuanMK
aW5kZXggMGFlZTU5ODBiNGQwZGU2YzFhODRhNDAzMjM4MTBlYzFiNDFmNjliMS4uM2FkZjJkYzE4
ZjdiMDRjZTViMGI4OGY2OTA0OWU2MDIxZGMzZmJmMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi45X0ExX1QyLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UMi5qcwpAQCAt
MTksMjQgKzE5LDI4IEBAIG1hdGNoZXMgdGhlIHJlc3VsdCBvZiB0aGUgbnRoIHNldCBvZiBjYXB0
dXJpbmcgcGFyZW50aGVzZXMgKHNlZQogX19leHBlY3RlZC5pbmRleCA9IDY7CiBfX2V4cGVjdGVk
LmlucHV0ID0gIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiOwogCi0vL0NIRUNLIzEK
LWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/
KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVk
Lmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgs
CisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7
CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsy
fShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIp
OyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4
JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbeHVd
XFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0
eDIzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0
dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4
ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQu
aW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3Rl
ZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0
ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0g
LyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZG
eDA0eDA0eDIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVk
W2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRl
eF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjlfQTFfVDMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjlfQTFf
VDMuanMKaW5kZXggMDE2ZjE5NzM5MWNlYTA0NWMxMmE2Njk5MmUyZTlkOTA4MThkZDEyZS4uYjRm
NWM1ZTIyYzA2YWI0ZGZmY2NjMGY4ZGJlYjZjNjNhNWUzMjljZSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi45X0ExX1QzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UMy5q
cwpAQCAtMTksMjQgKzE5LDI4IEBAIG1hdGNoZXMgdGhlIHJlc3VsdCBvZiB0aGUgbnRoIHNldCBv
ZiBjYXB0dXJpbmcgcGFyZW50aGVzZXMgKHNlZQogX19leHBlY3RlZC5pbmRleCA9IDEyOwogX19l
eHBlY3RlZC5pbnB1dCA9ICJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIjsKIAotLy9D
SEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0Et
SF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19l
eGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQu
bGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
Lmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGgnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVk
LmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKFt4
dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4
MDR4MjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhw
ZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9
IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDA1dTAwRkZ1MDBG
RngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9f
ZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBf
X2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVj
dXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDA1dTAw
RkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19l
eHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMi45
X0ExX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
Mi45X0ExX1Q1LmpzCmluZGV4IGIwZjY5NTNjNjMzNGY1ZWI3MmUwNWFkYTY5MmZlMGFjOWY1ODkw
ZjUuLjE5ZTNlMjRkMWE3ZGQ4ZjQ2Mzg0MDMyN2FjMjUwNmU1MTNiOGUzY2IgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjIuOV9BMV9UNS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yLjlf
QTFfVDUuanMKQEAgLTE2LDI0ICsxNiwyOCBAQCBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50
aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUKIF9fZXhwZWN0ZWQuaW5kZXggPSAw
OwogX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYyI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0
ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWMiKTsgX19leGVjdXRl
ZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3Ro
LAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCisp
OwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKGEqKWJcXDEr
Ly5leGVjKCJiYWFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRl
eCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAh
PT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4
ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQu
aW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9y
KHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChf
X2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEqKWJcXDErLy5leGVjKCJiYWFhYyIpOyBf
X2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMl9BMV9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjJfQTFfVDEuanMKaW5kZXggNzNlY2M3
YzA4N2M1YzM0YTgxNDY0OGEwZGFjMGM4YzU2MDI5MDEwNi4uOGIxN2EyMGYxNjUzODI3NDI5NTlk
NGU4MGY4N2MxYjc0ODY3NzZjNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMl9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4yX0ExX1QxLmpzCkBAIC03MywxNCArNzMsMTUgQEAK
ICc8L2h0bWw+JzsKIAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vL0NIRUNLIzEKIHRyeSB7CiAg
ICAgZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX3BhdHRlcm5zLmxlbmd0aDsgaW5kZXgrKykgewot
ICAgIAl2YXIgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuc1tpbmRleF0pOwotICAgIAlfX3Jl
LnRlc3QoX19odG1sKTsKKyAgICAgICAgdmFyIF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybnNb
aW5kZXhdKTsKKyAgICAgICAgX19yZS50ZXN0KF9faHRtbCk7CiAgICAgfQogfSBjYXRjaCAoZSkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMnK2luZGV4KyI6IFhNTCBTaGFsbG93IFBhcnNp
bmcgd2l0aCBSZWd1bGFyIEV4cHJlc3Npb246ICIrX19wYXR0ZXJuc1tpbmRleF0pOworICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMnK2luZGV4KyI6IFhNTCBTaGFsbG93IFBhcnNpbmcgd2l0
aCBSZWd1bGFyIEV4cHJlc3Npb246ICIrX19wYXR0ZXJuc1tpbmRleF0pOwogfQogLy8KIC8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLworCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBm
b3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4zLjFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4zLjFfQTFfVDEuanMKaW5kZXggOWMxZDQ5MWEyNzg2ZWU1YWVjNWYwMDQ5ZDI3
ZDQyNDMzMWZhYzIwNC4uY2RkMzU2Mjk2MThiNGQ4YmMyOTg5M2Q3YTYwYjJjNTA3YmY0NjU2ZCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
My4xX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjMuMV9BMV9UMS5qcwpAQCAtMTMsNyArMTMsNCBAQAogdmFyIF9faW5zdGFuY2UgPSBS
ZWdFeHAoX19yZSk7CiBfX3JlLmluZGljYXRvciA9IDE7CiAKLS8vQ0hFQ0sjMQotaWYgKF9faW5z
dGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9f
cmUgPSAveC9pOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUpOyBfX3JlLmluZGljYXRvciA9IDE7
IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRp
Y2F0b3IpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19pbnN0YW5jZS5pbmRpY2F0b3IsIDEsICdU
aGUgdmFsdWUgb2YgX19pbnN0YW5jZS5pbmRpY2F0b3IgaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
My4xX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMy4xX0ExX1QyLmpzCmluZGV4IDA4ZjhjMDVhY2JlNGQ1MGZmMTM2OWIwNDRhNTViN2QzMDIw
NTMxZGEuLjc5MWQ5M2EyYWZmNjY1YmI0YTMzZGI4MjQyOGViMGY3MjdjNGU2MDAgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BMV9U
Mi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4z
LjFfQTFfVDIuanMKQEAgLTEzLDcgKzEzLDQgQEAKIHZhciBfX2luc3RhbmNlID0gUmVnRXhwKF9f
cmUsIGZ1bmN0aW9uKCl7fSgpKTsKIF9fcmUuaW5kaWNhdG9yID0gMTsKIAotLy9DSEVDSyMxCi1p
ZiAoX19pbnN0YW5jZS5pbmRpY2F0b3IgIT09IDEpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IF9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgZnVuY3Rp
b24oKXt9KCkpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAx
LiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoX19pbnN0YW5jZS5pbmRpY2F0b3IsIDEsICdUaGUgdmFsdWUgb2YgX19pbnN0YW5jZS5pbmRp
Y2F0b3IgaXMgZXhwZWN0ZWQgdG8gYmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0ExX1QzLmpzCmluZGV4IGYzMjQ5
ZmQ2YTllMjgwNmRkNWFjODk4Yjg5M2I0YTBjNzBlZTMxOTkuLmJmNTFjNDNhNzFlYWYxZjUwMWUx
ZDc2MDBkODEwNGI2N2Q3ODcyN2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTFfVDMuanMKQEAgLTE1LDkgKzE1LDYg
QEAgUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB4KSwgd2hlcmUg
eCBpcwogdmFyIF9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgeCk7CiBfX3JlLmluZGljYXRvciA9
IDE7CiAKLS8vQ0hFQ0sjMQotaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCk7IF9faW5zdGFuY2Ug
PSBSZWdFeHAoX19yZSwgeCk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0
b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShfX2luc3RhbmNlLmluZGljYXRvciwgMSwgJ1RoZSB2YWx1ZSBvZiBfX2luc3Rh
bmNlLmluZGljYXRvciBpcyBleHBlY3RlZCB0byBiZSAxJyk7CiAKIHZhciB4OwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0ExX1Q0
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0Ex
X1Q0LmpzCmluZGV4IGQzMTQ4NjQ2OTdiM2I0MzNkM2QxYzJiOTc3OTBlNzk0Y2IwZDE0YjkuLmFi
YWViNmU4MmVlNjliZTE1YTQ5MDM4OTQ4MzFlNDNkNDVhYzYzNDggMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BMV9UNC5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTFfVDQu
anMKQEAgLTEzLDcgKzEzLDQgQEAKIHZhciBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHZvaWQg
MCk7CiBfX3JlLmluZGljYXRvciA9IDE7CiAKLS8vQ0hFQ0sjMQotaWYgKF9faW5zdGFuY2UuaW5k
aWNhdG9yICE9PSAxKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBSZWdF
eHAoKTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB2b2lkIDApOyBfX3JlLmluZGljYXRvciA9
IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5p
bmRpY2F0b3IpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19pbnN0YW5jZS5pbmRpY2F0b3IsIDEs
ICdUaGUgdmFsdWUgb2YgX19pbnN0YW5jZS5pbmRpY2F0b3IgaXMgZXhwZWN0ZWQgdG8gYmUgMScp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuMy4xX0ExX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuMy4xX0ExX1Q1LmpzCmluZGV4IGMxMmE3NTU0MTQyMGVlZjhlMjAyYmMyYjgyMTA3YzY4
N2UxMzFkMjEuLjkxYjc3NTkyZTJmNWM4MDM4MzFmMTQxZTg1NzRlODVjMzQ3MjQ0ZmMgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9B
MV9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC4zLjFfQTFfVDUuanMKQEAgLTEzLDcgKzEzLDQgQEAKIHZhciBfX2luc3RhbmNlID0gUmVnRXhw
KF9fcmUsIHVuZGVmaW5lZCk7CiBfX3JlLmluZGljYXRvciA9IDE7CiAKLS8vQ0hFQ0sjMQotaWYg
KF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IF9fcmUgPSAvXFxiL207IF9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgdW5kZWZpbmVkKTsg
X19yZS5pbmRpY2F0b3IgPSAxOyBfX2luc3RhbmNlLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAn
ICsgKF9faW5zdGFuY2UuaW5kaWNhdG9yKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9faW5zdGFu
Y2UuaW5kaWNhdG9yLCAxLCAnVGhlIHZhbHVlIG9mIF9faW5zdGFuY2UuaW5kaWNhdG9yIGlzIGV4
cGVjdGVkIHRvIGJlIDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BMl9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BMl9UMS5qcwppbmRleCBlMzQwZGQwOWU1YzRlMGM0
ZmFkNGIxODZiY2RhZjIyY2Q5OWVjYTE2Li4xOGM5OGY3MDJhZDA2MzQ1M2ZlYmRjMTkwYmEzZjE0
MjlkNzc1YjAzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC4zLjFfQTJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0EyX1QxLmpzCkBAIC0xMSwxMSArMTEsMTQgQEAgY2FsbCB0
aGUgUmVnRXhwIGNvbnN0cnVjdG9yICgxNS4xMC40LjEpLCBwYXNzaW5nIGl0IHRoZSBwYXR0ZXJu
IGFuZCBmbGFncyBhcmd1bWUKICAgICBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBSZWdFeHAobmV3IFJlZ0V4cCgiXFxk
IiksICIxIikpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoUmVnRXhwKG5ldyBSZWdF
eHAoIlxkIiksICIxIikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBSZWdF
eHAobmV3IFJlZ0V4cCgiXFxkIiksICIxIikpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcg
KyAoUmVnRXhwKG5ldyBSZWdFeHAoIlxkIiksICIxIikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAo
KGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzEuMjogUmVnRXhwKG5ldyBSZWdFeHAoIlxcZCIpLCAiMSIpKSB0aHJvdyBTeW50
YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2Yg
ZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC4zLjFfQTJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC4zLjFfQTJfVDIuanMKaW5kZXggOWVkMmUyNjg0YTJmZDY0ZjQ0YWZhZmI1M2Q2YWM4
NTZjYWNjZjkxNC4uZWUyNTcyOWI2YWYzODFmMmIyOGNjNzFjNDc5ZGUwNDRiYjk0ZGYyNCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4x
X0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjMuMV9BMl9UMi5qcwpAQCAtMTMsMTEgKzEzLDE0IEBAIGNhbGwgdGhlIFJlZ0V4cCBjb25z
dHJ1Y3RvciAoMTUuMTAuNC4xKSwgcGFzc2luZyBpdCB0aGUgcGF0dGVybiBhbmQgZmxhZ3MgYXJn
dW1lCiAKIHZhciB4ID0gMTsKIAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjE6IHZhciB4ID0gMTsgUmVnRXhwKC9bYS1iXT8vLCB4KSB0aHJvdyBTeW50YXhF
cnJvci4gQWN0dWFsOiAnICsgKFJlZ0V4cCgvW2EtYl0/LywgeCkpKTsKKyAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMS4xOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cg
U3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChSZWdFeHAoL1thLWJdPy8sIHgpKSk7CiB9IGNhdGNo
IChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IHZhciB4ID0gMTsgUmVnRXhwKC9bYS1iXT8vLCB4
KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLQl9IAorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhw
ZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQu
dGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0EzX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0EzX1QxLmpzCmluZGV4IDUzNTA5Y2EwYzBiZGEwMTE3
MGM4YjhmNWZiOTYyZmI2MjFhMWExOTIuLmNiODY4OTU1NGQxZDM2Zjk1MmVlYmNlZWIzNjZiYWE5
OWZiNDFkMDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjMuMV9BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC4zLjFfQTNfVDEuanMKQEAgLTEyLDEyICsxMiwxMCBAQCBjYWxsIHRo
ZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4g
YW5kIGZsYWdzIGFyZ3VtZQogdmFyIF9fcmUgPSAiZCsiOwogdmFyIF9faW5zdGFuY2UgPSBSZWdF
eHAoX19yZSwgImkiKTsKIAotLy9DSEVDSyMxCi1pZiAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvciAh
PT0gUmVnRXhwKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSAiZCsiOyBf
X2luc3RhbmNlID0gUmVnRXhwKF9fcmUsICJpIik7IF9faW5zdGFuY2UuY29uc3RydWN0b3IgPT09
IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UuY29uc3RydWN0b3IpKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9faW5zdGFuY2UuY29uc3RydWN0b3IsCisgIFJlZ0V4cCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2luc3RhbmNlLmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBSZWdFeHAnCispOwogCi0vL0NIRUNLIzIKLWlmIChfX2luc3RhbmNlLnNvdXJj
ZSAhPT0gX19yZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gImQrIjsg
X19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCAiaSIpOyBfX2luc3RhbmNlLnNvdXJjZSA9PT0gX19y
ZS4gQWN0dWFsOiAnKyAoX19pbnN0YW5jZS5zb3VyY2UpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
X19pbnN0YW5jZS5zb3VyY2UsIF9fcmUsICdUaGUgdmFsdWUgb2YgX19pbnN0YW5jZS5zb3VyY2Ug
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fcmUnKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BM19UMi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjMuMV9BM19UMi5q
cwppbmRleCA3OWM5YTQ2NmUzZDY4OGVhYjgxNGM0YjMyMWMzZTE1Njc5ODUwODAyLi4xYjExYzgy
ZTA0MGY3OTBjZDNkMDUyMjVjNTVlMmYyNDI4ZWQ2YjdiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC4zLjFfQTNfVDIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuMy4xX0EzX1QyLmpzCkBA
IC0xMywxMiArMTMsMTAgQEAgY2FsbCB0aGUgUmVnRXhwIGNvbnN0cnVjdG9yICgxNS4xMC40LjEp
LCBwYXNzaW5nIGl0IHRoZSBwYXR0ZXJuIGFuZCBmbGFncyBhcmd1bWUKIAogdmFyIF9faW5zdGFu
Y2UgPSBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbYS1jXSoiO319LCAiZ20i
KTsKIAotLy9DSEVDSyMxCi1pZiAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9faW5zdGFuY2UgPSBSZWdFeHAoe3RvU3Ry
aW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbYS1jXSoiO319LCAiZ20iKTsgX19pbnN0YW5jZS5jb25z
dHJ1Y3RvciA9PT0gUmVnRXhwLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5jb25zdHJ1Y3Rvcikp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19pbnN0YW5jZS5jb25zdHJ1Y3RvciwKKyAgUmVn
RXhwLAorICAnVGhlIHZhbHVlIG9mIF9faW5zdGFuY2UuY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIFJlZ0V4cCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9faW5z
dGFuY2Uuc291cmNlICE9PSAiW2EtY10qIikgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMy
OiBfX2luc3RhbmNlID0gUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiW2EtY10q
Ijt9fSwgImdtIik7IF9faW5zdGFuY2Uuc291cmNlID09PSAiW2EtY10qIi4gQWN0dWFsOiAnKyAo
X19pbnN0YW5jZS5zb3VyY2UpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19pbnN0YW5jZS5zb3Vy
Y2UsICJbYS1jXSoiLCAnVGhlIHZhbHVlIG9mIF9faW5zdGFuY2Uuc291cmNlIGlzIGV4cGVjdGVk
IHRvIGJlICJbYS1jXSoiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDEuanMKaW5kZXggOTg1ODYzZjE0ZWQ0ZmI2
YTRmYzQ2YzE5NDAxNGNkNjc2NDg5MTViMS4uZGJkZjA0ZDkzYTMyNTczMjcxODdlM2RlMDEzMGUw
OTA4OGU3MzU5YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0ExX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMV9UMS5qcwpAQCAtMTAsMjQgKzEwLDI4IEBACiAtLS0q
LwogCiB2YXIgX19wYXR0ZXJuID0gLy4vaTsKLXZhciBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRl
cm4pOyAKK3ZhciBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOwogCi0vL0NIRUNLIzEKLWlm
IChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMTogX19wYXR0ZXJuID0gLy4vaTsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJu
KTsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291
cmNlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLnNvdXJjZSwKKyAgX19wYXR0ZXJu
LnNvdXJjZSwKKyAgJ1RoZSB2YWx1ZSBvZiBfX3JlLnNvdXJjZSBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19wYXR0ZXJuLnNvdXJjZScKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9f
cmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRl
cm4pOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsg
KF9fcmUubXVsdGlsaW5lKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLm11bHRpbGlu
ZSwKKyAgX19wYXR0ZXJuLm11bHRpbGluZSwKKyAgJ1RoZSB2YWx1ZSBvZiBfX3JlLm11bHRpbGlu
ZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19wYXR0ZXJuLm11bHRpbGluZScK
Kyk7CiAKLS8vQ0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSBfX3BhdHRlcm4uZ2xvYmFsKSB7
Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0g
bmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLmdsb2JhbCA9PT0gX19wYXR0ZXJuLmdsb2JhbC4g
QWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3Jl
Lmdsb2JhbCwKKyAgX19wYXR0ZXJuLmdsb2JhbCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX3JlLmdsb2Jh
bCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19wYXR0ZXJuLmdsb2JhbCcKKyk7
CiAKLS8vQ0hFQ0sjNAotaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNh
c2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcGF0dGVybiA9IC8uL2k7IF9f
cmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJu
Lmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fcmUuaWdub3JlQ2FzZSwKKyAgX19wYXR0ZXJuLmlnbm9yZUNhc2UsCisg
ICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX3BhdHRlcm4uaWdub3JlQ2FzZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDIuanMKaW5kZXgg
MGYyYjZmMzc1YzIzNjZhM2MwYmJjNzY1YzU3M2JmYmM2OGJhY2IzOC4uM2FhMTMxODZjNDZmZmUz
ZjRiMDQwMDhlOGNiNWY3NTY4YjQ2OGJkZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMV9UMi5qcwpAQCAtMTQsMjQg
KzE0LDI4IEBACiB2YXIgX19wYXR0ZXJuID0gL1x0L207CiB2YXIgX19yZSA9IG5ldyBSZWdFeHAo
X19wYXR0ZXJuLCB4KTsKIAotLy9DSEVDSyMxCi1pZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVy
bi5zb3VyY2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcGF0dGVybiA9IC9c
XHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5zb3VyY2Ug
PT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX3JlLnNvdXJjZSwKKyAgX19wYXR0ZXJuLnNvdXJjZSwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX3JlLnNvdXJjZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19wYXR0ZXJuLnNvdXJjZScKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fcmUubXVsdGlsaW5lICE9
PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7
IF9fcmUubXVsdGlsaW5lID09PSBfX3BhdHRlcm4ubXVsdGlsaW5lLiBBY3R1YWw6ICcgKyAoX19y
ZS5tdWx0aWxpbmUpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUubXVsdGlsaW5lLAor
ICBfX3BhdHRlcm4ubXVsdGlsaW5lLAorICAnVGhlIHZhbHVlIG9mIF9fcmUubXVsdGlsaW5lIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX3BhdHRlcm4ubXVsdGlsaW5lJworKTsK
IAotLy9DSEVDSyMzCi1pZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3
IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5n
bG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19yZS5nbG9iYWwsCisgIF9fcGF0dGVybi5nbG9iYWwsCisgICdUaGUgdmFsdWUgb2YgX19y
ZS5nbG9iYWwgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fcGF0dGVybi5nbG9i
YWwnCispOwogCi0vL0NIRUNLIzQKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5p
Z25vcmVDYXNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3BhdHRlcm4gPSAv
XFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUuaWdub3Jl
Q2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNh
c2UpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUuaWdub3JlQ2FzZSwKKyAgX19wYXR0
ZXJuLmlnbm9yZUNhc2UsCisgICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX3BhdHRlcm4uaWdub3JlQ2FzZScKKyk7CiAKIHZh
ciB4OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9T
MTUuMTAuNC4xX0ExX1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuNC4xX0ExX1QzLmpzCmluZGV4IDkwYjE5ZDI5Nzc1NTczMjNjZjdmMTlhZGM1MTJh
Y2Q5MDJhMzU1YTEuLmZkZDg5ZWUyMTk2YzhiYzg5NGZhNWM1ODA3YTQ2NGFlMTA5NjA5YTYgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQu
MV9BMV9UMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC40LjFfQTFfVDMuanMKQEAgLTEyLDIyICsxMiwyNiBAQAogdmFyIF9fcGF0dGVybiA9IC9b
YS1iXS9nOwogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsKIAotLy9D
SEVDSyMxCi1pZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcGF0dGVybiA9IC9bYS1iXS9nOyBfX3JlID0gbmV3IFJl
Z0V4cChfX3BhdHRlcm4sIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNl
LiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19y
ZS5zb3VyY2UsCisgIF9fcGF0dGVybi5zb3VyY2UsCisgICdUaGUgdmFsdWUgb2YgX19yZS5zb3Vy
Y2UgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fcGF0dGVybi5zb3VyY2UnCisp
OwogCi0vL0NIRUNLIzIKLWlmIChfX3JlLm11bHRpbGluZSAhPT0gX19wYXR0ZXJuLm11bHRpbGlu
ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19wYXR0ZXJuID0gL1thLWJdL2c7
IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09
IF9fcGF0dGVybi5tdWx0aWxpbmUuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS5tdWx0aWxpbmUsCisgIF9fcGF0dGVybi5tdWx0aWxp
bmUsCisgICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fcGF0dGVybi5tdWx0aWxpbmUnCispOwogCi0vL0NIRUNLIzMKLWlmIChf
X3JlLmdsb2JhbCAhPT0gX19wYXR0ZXJuLmdsb2JhbCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMzogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVy
biwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyAr
IChfX3JlLmdsb2JhbCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS5nbG9iYWwsCisg
IF9fcGF0dGVybi5nbG9iYWwsCisgICdUaGUgdmFsdWUgb2YgX19yZS5nbG9iYWwgaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fcGF0dGVybi5nbG9iYWwnCispOwogCi0vL0NIRUNL
IzQKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3BhdHRlcm4gPSAvW2EtYl0vZzsgX19yZSA9IG5l
dyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVy
bi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKAorICBfX3JlLmlnbm9yZUNhc2UsCisgIF9fcGF0dGVybi5pZ25vcmVDYXNlLAor
ICAnVGhlIHZhbHVlIG9mIF9fcmUuaWdub3JlQ2FzZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19wYXR0ZXJuLmlnbm9yZUNhc2UnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0ExX1Q0LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0ExX1Q0LmpzCmluZGV4
IDFiYzBkMzk5ZWQ4ZGE3N2M3NTAzZjlmM2ExZjYxMGI5MDFiNTYxYWMuLjVlZDU3ZDc1ZjhlOGRk
YTdjMWZmYzgzOTgxMWY1NmUxNjEyNjAxNWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMV9UNC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDQuanMKQEAgLTEyLDIy
ICsxMiwyNiBAQAogdmFyIF9fcGF0dGVybiA9IG5ldyBSZWdFeHA7CiB2YXIgX19yZSA9IG5ldyBS
ZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLnNvdXJj
ZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
X19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRl
ZmluZWQpOyBfX3JlLnNvdXJjZSA9PT0gX19wYXR0ZXJuLnNvdXJjZS4gQWN0dWFsOiAnKyAoX19y
ZS5zb3VyY2UpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUuc291cmNlLAorICBfX3Bh
dHRlcm4uc291cmNlLAorICAnVGhlIHZhbHVlIG9mIF9fcmUuc291cmNlIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX3BhdHRlcm4uc291cmNlJworKTsKIAotLy9DSEVDSyMyCi1p
ZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fcGF0dGVybiA9IG5ldyBSZWdFeHA7IF9fcmUgPSBuZXcgUmVn
RXhwKF9fcGF0dGVybiwgdW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IF9fcGF0dGVybi5t
dWx0aWxpbmUuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19yZS5tdWx0aWxpbmUsCisgIF9fcGF0dGVybi5tdWx0aWxpbmUsCisgICdUaGUg
dmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fcGF0dGVybi5tdWx0aWxpbmUnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX3JlLmdsb2JhbCAh
PT0gX19wYXR0ZXJuLmdsb2JhbCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19w
YXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmlu
ZWQpOyBfX3JlLmdsb2JhbCA9PT0gX19wYXR0ZXJuLmdsb2JhbC4gQWN0dWFsOiAnICsgKF9fcmUu
Z2xvYmFsKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLmdsb2JhbCwKKyAgX19wYXR0
ZXJuLmdsb2JhbCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX3JlLmdsb2JhbCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19wYXR0ZXJuLmdsb2JhbCcKKyk7CiAKLS8vQ0hFQ0sjNAotaWYg
KF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fcGF0dGVybiA9IG5ldyBSZWdFeHA7IF9fcmUgPSBuZXcgUmVn
RXhwKF9fcGF0dGVybiwgdW5kZWZpbmVkKTsgX19yZS5pZ25vcmVDYXNlID09PSBfX3BhdHRlcm4u
aWdub3JlQ2FzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19yZS5pZ25vcmVDYXNlLAorICBfX3BhdHRlcm4uaWdub3JlQ2FzZSwKKyAg
J1RoZSB2YWx1ZSBvZiBfX3JlLmlnbm9yZUNhc2UgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fcGF0dGVybi5pZ25vcmVDYXNlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMV9UNS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMV9UNS5qcwppbmRleCBm
OTg4ZTM4Mzk3N2RlY2Q3ZWJlNTJmYzZjOGY4ODcxOWY5YmVmOTZlLi5iODljZGY4ZDdlMGE0MDRi
MDliYTY4YWQwYTIwNThlYWIyNjI0OGI3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTFfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0ExX1Q1LmpzCkBAIC0xNCwyMiAr
MTQsMjYgQEAgUGF0dGVybiBpcyBSZWdFeHAoIjE/IiwibWlnIikgYW5kIFJlZ0V4cCBpcyBuZXcK
IHZhciBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7CiB2YXIgX19yZSA9IG5ldyBSZWdF
eHAoX19wYXR0ZXJuLCAoZnVuY3Rpb24oKXt9KSgpKTsKIAotLy9DSEVDSyMxCi1pZiAoX19yZS5z
b3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzE6IF9fcGF0dGVybiA9IFJlZ0V4cCgiMT8iLCJtaWciKTsgX19yZSA9IG5ldyBSZWdFeHAoX19w
YXR0ZXJuLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3Vy
Y2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X3JlLnNvdXJjZSwKKyAgX19wYXR0ZXJuLnNvdXJjZSwKKyAgJ1RoZSB2YWx1ZSBvZiBfX3JlLnNv
dXJjZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19wYXR0ZXJuLnNvdXJjZScK
Kyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGls
aW5lKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3BhdHRlcm4gPSBSZWdFeHAo
IjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSko
KSk7IF9fcmUubXVsdGlsaW5lID09PSBfX3BhdHRlcm4ubXVsdGlsaW5lLiBBY3R1YWw6ICcgKyAo
X19yZS5tdWx0aWxpbmUpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUubXVsdGlsaW5l
LAorICBfX3BhdHRlcm4ubXVsdGlsaW5lLAorICAnVGhlIHZhbHVlIG9mIF9fcmUubXVsdGlsaW5l
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX3BhdHRlcm4ubXVsdGlsaW5lJwor
KTsKIAotLy9DSEVDSyMzCi1pZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcGF0dGVybiA9IFJlZ0V4cCgiMT8iLCJt
aWciKTsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19y
ZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS5nbG9iYWwsCisgIF9fcGF0dGVybi5nbG9i
YWwsCisgICdUaGUgdmFsdWUgb2YgX19yZS5nbG9iYWwgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fcGF0dGVybi5nbG9iYWwnCispOwogCi0vL0NIRUNLIzQKLWlmIChfX3JlLmln
bm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyM0OiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVn
RXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19w
YXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fcmUuaWdub3JlQ2FzZSwKKyAgX19wYXR0ZXJuLmlnbm9yZUNh
c2UsCisgICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX3BhdHRlcm4uaWdub3JlQ2FzZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTJfVDEuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTJfVDEuanMK
aW5kZXggMmMzMjU2NjM1ODA4NDBkNjcyMDdjMjI1YjFmZDM3NWE2NGUyMzc5Mi4uOTNmZDgzNzk0
OGRmZWYzMjEzYzE4YWUyZTZmOTI5MTMyOGQzMjNiOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EyX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMl9UMS5qcwpAQCAt
MTEsNiArMTEsNSBAQAogICAgIHBhdHRlcm4gaXMgIi9cdTAwNDIvaSIsIGRvZXMgbm90IGZhaWwK
IC0tLSovCiAKLS8vQ0hFQ0sjMQogdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoL1x1MDA0Mi9p
LCAiaSIpOwogYXNzZXJ0KHJlZ0V4cE9iai5pZ25vcmVDYXNlKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMl9UMi5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BMl9UMi5qcwpp
bmRleCA4MTY2YTFmNTJjMDA0MTJjOTY4YmZmZmVhNjA2YThhNjQ4OWEwMmVjLi45YmQyZjZhZjYy
MWU0NDg0NGM5MjgyZGJhNTczMTdhNWUwZTMyZGM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTJfVDIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EyX1QyLmpzCkBAIC0x
MiwxMSArMTIsMTQgQEAKICAgICBwYXR0ZXJuIGlzICIvMT8xL21pZyIsIGZhaWxzCiAtLS0qLwog
Ci0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBS
ZWdFeHAoLzE/MS9taWcsIHt9KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBS
ZWdFeHAoLzE/MS9taWcsIHt9KSkpOwogfSBjYXRjaCAoZSkgewotICBpZiAoKGUgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MS4yOiBuZXcgUmVnRXhwKC8xPzEvbWlnLCB7fSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDog
JyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3lu
dGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGlu
c3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisK
Ky8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19UMS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19U
MS5qcwppbmRleCAwMjY0ODI0YmRiZTUyMzNmZWIxNDA0NmZiYjk0NWM5NWJlYmY1NTgwLi4zNTY1
ZDI3MDUzMzA4ZTE4ZGMyNjMzOTQwNzBkZDIxMjk2ZTRkNmU3IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDEuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EzX1QxLmpz
CkBAIC05LDE3ICs5LDYgQEAKIAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwogCi0vL0NIRUNLIzIK
LWlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IF9fcmUgPSBuZXcgUmVnRXhwOyBfX3JlLm11bHRpbGluZSA9PT0gZmFsc2UuIEFjdHVh
bDogJyArIChfX3JlLm11bHRpbGluZSkpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX3JlLmdsb2Jh
bCAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSBuZXcg
UmVnRXhwOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkp
OwotfQotCi0vL0NIRUNLIzQKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5pZ25vcmVD
YXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShfX3JlLm11bHRpbGluZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0
aWxpbmUgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5n
bG9iYWwsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJl
IGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuaWdub3JlQ2FzZSwgZmFsc2UsICdUaGUg
dmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFf
QTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40
LjFfQTNfVDIuanMKaW5kZXggNDU5YzIzYjdiYzUyM2NkYmQ1NmY1YTdhNDQ1MDRmYmNhOGU0MTY0
Ny4uNjUwZGI4NWU3ZmM1YTU2MjkyNDk5MmJhZTZjNjdkMzI1YTE2ZDA1NCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EzX1QyLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9B
M19UMi5qcwpAQCAtOSwxNyArOSw2IEBACiAKIHZhciBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDAp
OwogCi0vL0NIRUNLIzIKLWlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHZvaWQgMCk7IF9fcmUubXVs
dGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19Ci0KLS8v
Q0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IGZh
bHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoX19y
ZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
X19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0
dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLm11
bHRpbGluZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQg
dG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5nbG9iYWwsIGZhbHNlLCAnVGhl
IHZhbHVlIG9mIF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cithc3NlcnQu
c2FtZVZhbHVlKF9fcmUuaWdub3JlQ2FzZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5pZ25v
cmVDYXNlIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDMuanMKaW5kZXgg
ZmYxODQ5Y2MyMjllZGFjNjU1N2QwNjE3YjJiOGViNDdjMDk5OThhMS4uM2I3YTk0MTc5ZDg1ZjY3
OTYyYzM3NWMwNDk5ODk5YzI1NWEyMjJjZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EzX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19UMy5qcwpAQCAtOSwxOSAr
OSw4IEBACiAKIHZhciBfX3JlID0gbmV3IFJlZ0V4cCh4KTsKIAotLy9DSEVDSyMyCi1pZiAoX19y
ZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X3JlID0gbmV3IFJlZ0V4cCh4KTsgdmFyIHg7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0
dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fcmUuZ2xv
YmFsICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19yZSA9IG5l
dyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChf
X3JlLmdsb2JhbCkpOwotfQotCi0vL0NIRUNLIzQKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZh
bHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh4
KTsgdmFyIHg7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmln
bm9yZUNhc2UpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5tdWx0aWxpbmUsIGZhbHNlLCAn
VGhlIHZhbHVlIG9mIF9fcmUubXVsdGlsaW5lIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cith
c3NlcnQuc2FtZVZhbHVlKF9fcmUuZ2xvYmFsLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmds
b2JhbCBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmln
bm9yZUNhc2UsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUuaWdub3JlQ2FzZSBpcyBleHBlY3Rl
ZCB0byBiZSBmYWxzZScpOwogCiB2YXIgeDsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19UNC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19UNC5qcwppbmRleCA1ZGNiOWVh
MmIxMjU1MjA5MTE3ZjViNDA1ZDFkZjAwZDFmY2VlNzAzLi40NzI5MDIyMjM0YTFiZDY2MmI2OTE3
ZGY4YzM0NDJiYWMwODkxNjM2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTNfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EzX1Q0LmpzCkBAIC05LDE3ICs5LDYgQEAK
IAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9f
cmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
X19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBB
Y3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19yZS5n
bG9iYWwgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3JlID0g
bmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyAr
IChfX3JlLmdsb2JhbCkpOwotfQotCi0vL0NIRUNLIzQKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09
IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4
cCh1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19y
ZS5pZ25vcmVDYXNlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUubXVsdGlsaW5lLCBmYWxz
ZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLm11bHRpbGluZSBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScp
OworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmdsb2JhbCwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19y
ZS5nbG9iYWwgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19y
ZS5pZ25vcmVDYXNlLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmlnbm9yZUNhc2UgaXMgZXhw
ZWN0ZWQgdG8gYmUgZmFsc2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BM19UNS5qcwppbmRleCA5NjY4OTljNTVlN2Vi
Njk4MmQwZjA3Y2M2OGVmZjE4YjI4MGRlMWIxLi42MDU4NGY5OTRhNDcxNWRjYzMxMDU0ZjY3NGUw
MGFiMjczM2EyZjJkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC40LjFfQTNfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0EzX1Q1LmpzCkBAIC05LDE3ICs5LDYgQEAKIAogdmFy
IF9fcmUgPSBuZXcgUmVnRXhwKChmdW5jdGlvbigpe30pKCkpOwogCi0vL0NIRUNLIzIKLWlmIChf
X3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fcmUgPSBuZXcgUmVnRXhwKChmdW5jdGlvbigpe30pKCkpOyBfX3JlLm11bHRpbGluZSA9PT0g
ZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwotfQotCi0vL0NIRUNLIzMKLWlm
IChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IF9fcmUgPSBuZXcgUmVnRXhwKChmdW5jdGlvbigpe30pKCkpOyBfX3JlLmdsb2JhbCA9PT0gZmFs
c2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwotfQotCi0vL0NIRUNLIzQKLWlmIChfX3Jl
Lmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBf
X3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5pZ25vcmVDYXNlID09PSBm
YWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZShfX3JlLm11bHRpbGluZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMg
ZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5nbG9iYWwsIGZh
bHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7
Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuaWdub3JlQ2FzZSwgZmFsc2UsICdUaGUgdmFsdWUgb2Yg
X19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDEuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDEu
anMKaW5kZXggZGMxOWUwNzlkMDQ2ZGY4MWMwM2M1YzAzY2Q5NDg5MGIyNzc3OTJlMi4uMjQyZmE5
N2ZkOTdkM2FlYWQzY2Q0NTZlNjRmNDJlNWM4ZDlhNWUxMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E0X1QxLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNF9UMS5qcwpA
QCAtOSwyMiArOSw3IEBACiAKIHZhciBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOwog
Ci0vL0NIRUNLIzEKLWlmIChfX3JlLnNvdXJjZSAhPT0gIm51bGwiKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLnNv
dXJjZSA9PT0gIm51bGwiLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwotfQotCi0vL0NIRUNL
IzIKLWlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUubXVsdGlsaW5l
ID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19Ci0KLS8vQ0hFQ0sj
MwotaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMzogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IGZh
bHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoX19y
ZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
X19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxz
ZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShf
X3JlLnNvdXJjZSwgIm51bGwiLCAnVGhlIHZhbHVlIG9mIF9fcmUuc291cmNlIGlzIGV4cGVjdGVk
IHRvIGJlICJudWxsIicpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLm11bHRpbGluZSwgZmFsc2Us
ICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoX19yZS5nbG9iYWwsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUu
Z2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUu
aWdub3JlQ2FzZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVj
dGVkIHRvIGJlIGZhbHNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDIuanMKaW5kZXggMjA1MDViZTk0ZGJlZDUz
YTQ3YjA1ZDY1YTc1Nzg2MzE2YzBmMzA1Zi4uOThiNGE4MmNhNjRiMmUzNTZiYzRjNGE4NGI3ZTNj
OTllZWZhMzk5OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0E0X1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNF9UMi5qcwpAQCAtOSwxNyArOSw2IEBACiAKIHZhciBf
X3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7CiAKLS8vQ0hFQ0sjMgotaWYg
KF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MjogX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkLCB1bmRlZmluZWQpOyBfX3JlLm11bHRpbGlu
ZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwotfQotCi0vL0NIRUNL
IzMKLWlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5nbG9i
YWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVDSyM0
Ci1pZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNDogX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkLCB1bmRlZmluZWQpOyBfX3JlLmln
bm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKF9fcmUubXVsdGlsaW5lLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3Jl
Lm11bHRpbGluZSBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShf
X3JlLmdsb2JhbCwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5nbG9iYWwgaXMgZXhwZWN0ZWQg
dG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5pZ25vcmVDYXNlLCBmYWxzZSwg
J1RoZSB2YWx1ZSBvZiBfX3JlLmlnbm9yZUNhc2UgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjQuMV9BNF9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjQuMV9BNF9UMy5qcwppbmRleCAzNGY2NDJjOGM0YTJkMWRlOTA5ZTNhOTcxZTdlYTFhNTYz
ZTdkNjQ2Li5iODU4NGE0MDRmNjk0NWZjZjMxNjhkOTgyMTkyYzRjZDU4ODJkZTFlIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
NC4xX0E0X1QzLmpzCkBAIC05LDE3ICs5LDYgQEAKIAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKHt9
LnAsIHt9LnEpOwogCi0vL0NIRUNLIzIKLWlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHt9LnAsIHt9
LnEpOyBfX3JlLm11bHRpbGluZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGlu
ZSkpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt9LnAsIHt9LnEpOyBf
X3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwotfQotCi0v
L0NIRUNLIzQKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh7fS5wLCB7fS5xKTsgX19yZS5pZ25v
cmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZShfX3JlLm11bHRpbGluZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5t
dWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19y
ZS5nbG9iYWwsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRv
IGJlIGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuaWdub3JlQ2FzZSwgZmFsc2UsICdU
aGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40
LjFfQTRfVDQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC40LjFfQTRfVDQuanMKaW5kZXggOTc2ZTMyNTBmZmU5NmYwMmE1MTU0MjU3ODYxOWQ4NjYxNWI3
ZmNmZi4uODZhYWUyOTY1MzljMGI1OTcyMGY2ZGFiN2EyYzlkODc3ZGFhNDc3MSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E0X1Q0
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQu
MV9BNF9UNC5qcwpAQCAtOSwyMiArOSw3IEBACiAKIHZhciBfX3JlID0gbmV3IFJlZ0V4cChudWxs
LCB2b2lkIDApOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLnNvdXJjZSAhPT0gIm51bGwiKSB7Ci0g
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lk
IDApOyBfX3JlLnNvdXJjZSA9PT0gIm51bGwiLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwot
fQotCi0vL0NIRUNLIzIKLWlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9f
cmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19
Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMzogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5n
bG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVD
SyM0Ci1pZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjNDogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5pZ25vcmVD
YXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZShfX3JlLnNvdXJjZSwgIm51bGwiLCAnVGhlIHZhbHVlIG9mIF9fcmUuc291cmNl
IGlzIGV4cGVjdGVkIHRvIGJlICJudWxsIicpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLm11bHRp
bGluZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8g
YmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5nbG9iYWwsIGZhbHNlLCAnVGhlIHZh
bHVlIG9mIF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKF9fcmUuaWdub3JlQ2FzZSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVD
YXNlIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDUuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTRfVDUuanMKaW5kZXggNGRi
ZTNiYTFmMTAwYWMyYzNmZDc2MzkyOWY5Yzg4YTE3NjdiYjY2Yi4uY2E3ODA5NWIxM2U4OWYwZDNl
YWU3ODQ3YjNlMzQwZWUzZGQ3MWVkZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E0X1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNF9UNS5qcwpAQCAtOSwxNyArOSw2
IEBACiAKIHZhciBfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7CiAKLS8v
Q0hFQ0sjMgotaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoIiIsIChmdW5jdGlvbigpe30pKCkpOyBf
X3JlLm11bHRpbGluZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwot
fQotCi0vL0NIRUNLIzMKLWlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgp
KTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0K
LQotLy9DSEVDSyM0Ci1pZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoIiIsIChmdW5jdGlvbigpe30p
KCkpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVD
YXNlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUubXVsdGlsaW5lLCBmYWxzZSwgJ1RoZSB2
YWx1ZSBvZiBfX3JlLm11bHRpbGluZSBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0
LnNhbWVWYWx1ZShfX3JlLmdsb2JhbCwgZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5nbG9iYWwg
aXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5pZ25vcmVD
YXNlLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmlnbm9yZUNhc2UgaXMgZXhwZWN0ZWQgdG8g
YmUgZmFsc2UnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjQuMV9BNV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UMS5qcwppbmRleCBmNWQ0YzVlMWEwYjBhNjJjOTk3ODkw
NWMwMTY5MjU1YWQxMWM5ZTViLi5lYzZlOTI0ZWRiOTEwNDk3NjBlODM2ZGIxMTRiMTA3MTQ2ODU3
NDVlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC40LjFfQTVfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0E1X1QxLmpzCkBAIC05LDExICs5LDE0IEBACiBkZXNjcmlwdGlvbjog
Q2hlY2tpbmcgaWYgdXNpbmcgImlpIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0
IGV4Y2VwdGlvbgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjE6IG5ldyBSZWdFeHAodW5kZWZpbmVkLCJpaSIpIHRocm93IFN5bnRheEVycm9y
LiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCh1bmRlZmluZWQsImlpIikpKTsKKyAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKHVuZGVmaW5lZCwiaWkiKSB0aHJvdyBT
eW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAodW5kZWZpbmVkLCJpaSIpKSk7CiB9
IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAodW5kZWZpbmVkLCJp
aSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAn
VGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0
LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UMy5qcwppbmRleCAyMWQ2Yjc0ZGZiOGY2M2U5
OGNmYjI5YzRjMWZiODEzYWU3M2M0NzU5Li5hZmIyNmNiYzc4ZmM3NGU0YzY2YjdmZGI2ODA1MzNl
ZThiOGE5ZWE0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC40LjFfQTVfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1QzLmpzCkBAIC05LDExICs5LDE0IEBACiBkZXNjcmlw
dGlvbjogQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgdHJ5IHRvIHVzZSBldmFsKCJcIm1pZ3JcIiIp
IGFzIEYKIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiBuZXcgUmVnRXhwKCIiLGV2YWwoIlxcIm1pZ3JcXCIiKSkgdGhyb3cgU3ludGF4RXJy
b3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCIiLGV2YWwoIlwibWlnclwiIikpKSk7CisgICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiIixldmFsKCJcXCJtaWdy
XFwiIikpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiIixldmFs
KCJcIm1pZ3JcIiIpKSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRh
eEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBuZXcg
UmVnRXhwKCIiLGV2YWwoIlxcIm1pZ3JcXCIiKSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDog
JyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50
YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5z
dGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1Q0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1Q0
LmpzCmluZGV4IDQ3ZjljYTQ3MGNjZjRiYWYwODg2ODRiNWUxZDg1Y2VhMWM5NGVkOGMuLmU5MWEx
MjkxYjE4MjE2MmFlOGJhNzRlNzk3ZGYwZWM2YmFjZDk2OTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UNC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDQuanMK
QEAgLTksMTEgKzksMTQgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiB1c2luZyAieiIgYXMg
RiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hF
Q0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCJh
fGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhfGIi
LCJ6IikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCJh
fGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhfGIi
LCJ6IikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikg
IT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgi
YXxiIiwieiIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwK
KyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3Ip
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
YXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UNi5qcwppbmRleCBiZGRlYzdlOGU0
ODQyODJlOTU5ZjczZjU5NTZiYzJjYTY4Y2I2ODE4Li5kMDVjNTBhNWJhNDI4ZmM2OTk3NjIyMDU3
NWU5NGVhYzlhZjdhZGZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1Q2LmpzCkBAIC0xMSwxMSArMTEsMTQgQEAK
ICAgICBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCIuIixudWxsKSB0aHJvdyBTeW50YXhFcnJvci4g
QWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIi4iLG51bGwpKSk7CisgICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiLiIsbnVsbCkgdGhyb3cgU3ludGF4RXJyb3IuIEFj
dHVhbDogJyArIChuZXcgUmVnRXhwKCIuIixudWxsKSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgo
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMS4yOiBuZXcgUmVnRXhwKCIuIixudWxsKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0
dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9m
IFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAo
ZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwog
fQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVf
VDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFf
QTVfVDcuanMKaW5kZXggN2FiMThjY2Y3NjFmMjJkNzkyMGI4NWNiNzk2MzJjYTFkMGFhOTViMi4u
MTIzM2E5MDIwNjk1NmU1YTA1OGIxYjMyMTk1NjU4MzMxOWMyOTlmZiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1Q3LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9U
Ny5qcwpAQCAtOSwxMSArOSwxNCBAQAogZGVzY3JpcHRpb246IENoZWNraW5nIGlmIHVzaW5nIDEu
MCBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAot
Ly9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdF
eHAoIl4iLDEuMCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJe
IiwxLjApKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgi
XiIsMS4wKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIl4iLDEu
MCkpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09
IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgiXiIs
MS4wKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5z
YW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLAorICAgIHRydWUsCisgICAg
J1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSBpcyBl
eHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2Vy
dC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDguanMKaW5kZXggMjYzYTk1M2FhOTE4NDkw
ZjgyZjliYjUyZjViOGM3MTQwZTliZWU1My4uMjcwZTZiYmQyZDJmMmZhZjY0MmI1NzM0NTU2Mzg1
ZjAxYWQ3MjdmMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0E1X1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UOC5qcwpAQCAtMTEsMTEgKzExLDE0IEBACiAgICAg
ZXhjZXB0aW9uCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzEuMTogbmV3IFJlZ0V4cCgifCIsdHJ1ZSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVh
bDogJyArIChuZXcgUmVnRXhwKCJ8Iix0cnVlKSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxLjE6IG5ldyBSZWdFeHAoInwiLHRydWUpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6
ICcgKyAobmV3IFJlZ0V4cCgifCIsdHJ1ZSkpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5z
dGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzEuMjogbmV3IFJlZ0V4cCgifCIsdHJ1ZSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDog
JyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50
YXhFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5z
dGFuY2VvZiBTeW50YXhFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1Q5Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E1X1Q5
LmpzCmluZGV4IDE4YTExZTA4Y2FkODhmNGYxYjEwYTg3Mjk1ZTMxMzJlNTA4MTg5NWYuLjMwMjA4
YjRhYWZjYzNlZjM0M2UyZmUzMjI1Y2FhZWU4MGEzOWM0MWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BNV9UOS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTVfVDkuanMK
QEAgLTExLDExICsxMSwxNCBAQAogICAgIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogLS0tKi8KIAot
Ly9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdF
eHAoIiRzdXAiLHt0b1N0cmluZzpmdW5jdGlvbigpe319KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0
dWFsOiAnICsgKG5ldyBSZWdFeHAoIiRzdXAiLHt0b1N0cmluZzpmdW5jdGlvbigpe319KSkpOwor
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdFeHAoIiRzdXAiLHt0b1N0
cmluZzpmdW5jdGlvbigpe319KSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBS
ZWdFeHAoIiRzdXAiLHt0b1N0cmluZzpmdW5jdGlvbigpe319KSkpOwogfSBjYXRjaCAoZSkgewot
CWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMS4yOiBuZXcgUmVnRXhwKCIkc3VwIix7dG9TdHJpbmc6ZnVuY3Rpb24o
KXt9fSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQu
c2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwKKyAgICB0cnVlLAorICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3Nl
cnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E2X1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E2X1QxLmpzCmluZGV4IGZmZjE0MTczMjgxZTA0
YmUwNDRmOTJmZDdmODk3YTY2ZDg5ZjNkMmEuLmJiNzE1MGFkZDRiY2U3ZjBmMjVlNDgyMzdmNGI5
OGZiMmM2MjJiMjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvUzE1LjEwLjQuMV9BNl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTZfVDEuanMKQEAgLTEwLDcgKzEwLDQgQEAKIHZhciBf
X3JlID0gbmV3IFJlZ0V4cDsKIF9fcmUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0ICIrIlJl
Z0V4cCIrIl0iKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBuZXcgUmVn
RXhwOyBfX3JlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgX19yZS50b1N0
cmluZygpID09PSAiW29iamVjdCAiKyJSZWdFeHAiKyJdIi4gQWN0dWFsOiAnICsgKF9fcmUudG9T
dHJpbmcoKSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLnRvU3RyaW5nKCksICJbb2JqZWN0
ICIrIlJlZ0V4cCIrIl0iLCAnX19yZS50b1N0cmluZygpIG11c3QgcmV0dXJuICJbb2JqZWN0ICIr
IlJlZ0V4cCIrIl0iJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL1MxNS4xMC40LjFfQTdfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTdfVDEuanMKaW5kZXggYzBkOTI0OWRmZDljNjNiYTNj
MTlmYzA2MmY1MzNiMTUwMWIzNWI2MS4uNzBjNTE3NjcwNjQyNDQyOGU0YTUxYzhkZjU4NDc0MTg1
MWQwZTI2YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuNC4xX0E3X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjQuMV9BN19UMS5qcwpAQCAtMTUsNyArMTUsNCBAQAogdmFyIF9fcmUg
PSBuZXcgUmVnRXhwOwogUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwogCi0vL0NIRUNL
IzEKLWlmIChfX3JlLmluZGljYXRvciAhPT0gMSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOyBf
X3JlLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKF9fcmUuaW5kaWNhdG9yKSk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKF9fcmUuaW5kaWNhdG9yLCAxLCAnVGhlIHZhbHVlIG9mIF9fcmUuaW5k
aWNhdG9yIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BN19UMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BN19UMi5qcwppbmRleCA1MzFk
NWNhZGQ5Njk4YTg4N2ZlNDUwMzI3Njc3NjA1OGMyMTZmNjZhLi5kNjlhOTNlMDRhMzM4MTVkYTVj
ZDE3YTAxZTM2ZTFhODg2MGI1MTQwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTdfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E3X1QyLmpzCkBAIC0xMiw3ICsxMiw4
IEBACiAKIHZhciBfX3JlID0gbmV3IFJlZ0V4cCgpOwogCi0vL0NIRUNLIzEKLWlmIChSZWdFeHAu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19yZSkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoKTsgUmVnRXhwLnByb3RvdHlwZS5pc1By
b3RvdHlwZU9mKF9fcmUpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS5p
c1Byb3RvdHlwZU9mKF9fcmUpKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJv
dG90eXBlLmlzUHJvdG90eXBlT2YoX19yZSksCisgIHRydWUsCisgICdSZWdFeHAucHJvdG90eXBl
LmlzUHJvdG90eXBlT2YobmV3IFJlZ0V4cCgpKSBtdXN0IHJldHVybiB0cnVlJworKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9B
OF9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQu
MV9BOF9UMS5qcwppbmRleCA0OGZlYjQ1NjA2ODc4NDUyODE4YzQxMzExNmY2NWU1YmZiYTA3OTk2
Li5jYTBiOWEwYmRhYjBkMTQ4Y2I4NGU1MjVkM2Q1N2Q2MDY4OTQ2NDFjIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDEuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4
X1QxLmpzCkBAIC05LDI3ICs5LDggQEAKIAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJp
Iik7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gdHJ1ZSkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOyBfX3Jl
Lmlnbm9yZUNhc2UgPT09IHRydWUuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKLX0K
LQotLy9DSEVDSyMyCi1pZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUubXVs
dGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19Ci0KLS8v
Q0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOyBfX3JlLmdsb2JhbCA9PT0g
ZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwotfQotCi0vL0NIRUNLIzQKLWlmIChf
X3JlLmxhc3RJbmRleCAhPT0gMCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3Jl
ID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAn
ICsgKF9fcmUubGFzdEluZGV4KSk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKHR5cGVvZiBfX3JlLnNv
dXJjZSA9PT0gInVuZGVmaW5lZCIpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogX19y
ZSA9IG5ldyBSZWdFeHAoImF8YiIsImkiKTsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZp
bmVkIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmlnbm9yZUNhc2UsIHRydWUsICdUaGUg
dmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoX19yZS5tdWx0aWxpbmUsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUubXVs
dGlsaW5lIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUu
Z2xvYmFsLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmdsb2JhbCBpcyBleHBlY3RlZCB0byBi
ZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmxhc3RJbmRleCwgMCwgJ1RoZSB2YWx1
ZSBvZiBfX3JlLmxhc3RJbmRleCBpcyBleHBlY3RlZCB0byBiZSAwJyk7Cithc3NlcnQubm90U2Ft
ZVZhbHVlKHR5cGVvZiBfX3JlLnNvdXJjZSwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgdHlw
ZW9mIF9fcmUuc291cmNlIGlzIG5vdCAidW5kZWZpbmVkIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QxMC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTAuanMK
aW5kZXggOGIzZmMwNjI0ZGZlNTlmYjAxNTk2NWVlNWVlMmQ1ZmFhMjRlY2I2NC4uYTAwMzBlNzJi
MjMyN2FkNDQ1OTExZjYwYjljZDQwMTM5M2Y2ODhiOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QxMC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDEwLmpzCkBA
IC05LDI3ICs5LDggQEAKIAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsKIAotLy9D
SEVDSyMxCi1pZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7IF9fcmUuaWdub3JlQ2Fz
ZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKLX0KLQotLy9DSEVD
SyMyCi1pZiAoX19yZS5tdWx0aWxpbmUgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyBfX3JlLm11bHRpbGluZSA9PT0g
dHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYg
KF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBf
X3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFs
OiAnICsgKF9fcmUuZ2xvYmFsKSk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKF9fcmUubGFzdEluZGV4
ICE9PSAwKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSBuZXcgUmVnRXhw
KHRydWUsIm0iKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJ
bmRleCkpOwotfQotCi0vL0NIRUNLIzUKLWlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRl
ZmluZWQiKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IF9fcmUgPSBuZXcgUmVnRXhw
KHRydWUsIm0iKTsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZShfX3JlLmlnbm9yZUNhc2UsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUu
aWdub3JlQ2FzZSBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShf
X3JlLm11bHRpbGluZSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLm11bHRpbGluZSBpcyBleHBl
Y3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuZ2xvYmFsLCBmYWxzZSwg
J1RoZSB2YWx1ZSBvZiBfX3JlLmdsb2JhbCBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNz
ZXJ0LnNhbWVWYWx1ZShfX3JlLmxhc3RJbmRleCwgMCwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmxhc3RJ
bmRleCBpcyBleHBlY3RlZCB0byBiZSAwJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKHR5cGVvZiBf
X3JlLnNvdXJjZSwgInVuZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgdHlwZW9mIF9fcmUuc291cmNl
IGlzIG5vdCAidW5kZWZpbmVkIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTEuanMKaW5kZXggZTBmMmVkMjBk
MDY0NmYwZWVmZGQzNDA3MTMwNTZhYTU2ZTc2NWNlOC4uZjU0Njg2OTg2Y2U1ZmFiZDQ4MWI3NWQx
YjgxZDYyNzhhNDQ0MTVkOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QxMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDExLmpzCkBAIC05LDI3ICs5LDggQEAK
IAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKE1hdGgsZXZhbCgiXCJnXCIiKSk7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcXCJnXFwiIikpOyBfX3JlLmln
bm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Ci19Ci0K
LS8vQ0hFQ0sjMgotaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7
IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7
Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKE1hdGgsZXZhbCgiXFwiZ1xcIiIp
KTsgX19yZS5nbG9iYWwgPT09IHRydWUuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwotfQot
Ci0vL0NIRUNLIzQKLWlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9f
cmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKLX0KLQot
Ly9DSEVDSyM1Ci1pZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxc
ImdcXCIiKSk7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoX19yZS5pZ25vcmVDYXNlLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmln
bm9yZUNhc2UgaXMgZXhwZWN0ZWQgdG8gYmUgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19y
ZS5tdWx0aWxpbmUsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUubXVsdGlsaW5lIGlzIGV4cGVj
dGVkIHRvIGJlIGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuZ2xvYmFsLCB0cnVlLCAn
VGhlIHZhbHVlIG9mIF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoX19yZS5sYXN0SW5kZXgsIDAsICdUaGUgdmFsdWUgb2YgX19yZS5sYXN0SW5k
ZXggaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh0eXBlb2YgX19y
ZS5zb3VyY2UsICJ1bmRlZmluZWQiLCAnVGhlIHZhbHVlIG9mIHR5cGVvZiBfX3JlLnNvdXJjZSBp
cyBub3QgInVuZGVmaW5lZCInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDEyLmpzCmluZGV4IGEzMjA1MzFkYmZk
NzBhMjAzNTFlMDM5YWRmNDNhOGM4MjA5MmQ2N2YuLmViN2ZiYmIxMGIwZGIzMzQxYjQ5MTRlMGNh
Mjg5NDc1YmU2YWZiMDcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QxMi5qcwpAQCAtOSwxMSArOSwxMCBAQAog
ICAgIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fSB9CiAtLS0qLwogCi0vL0NI
RUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgi
XFx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52
YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlx1MDA0
MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7
fX0pKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiXFx1
MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxv
ZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlx1MDA0MiIs
IHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0p
KSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKGUgIT09ICJpbnZhbG9mIiApIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgiXFx1MDA0MiIsIHt0b1N0cmluZzp2b2lk
IDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9m
Ii4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoZSwgImludmFsb2Yi
LCAnVGhlIHZhbHVlIG9mIGUgaXMgZXhwZWN0ZWQgdG8gYmUgImludmFsb2YiJyk7CiB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTMuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDEz
LmpzCmluZGV4IGUyZWUyZDQ0MDM4ODljMzc5NGI0NGZlODkzNGVhZjg1NzAwODEzNGEuLjM0YjMx
NTY3MDc1ZmFlYTI2ZWRjMzY0ODA2NzE5NTA0MDNkMTljOTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMTMuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QxMy5q
cwpAQCAtOSwxMSArOSwxMCBAQAogICAgIH0KIC0tLSovCiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCIxIiwge3RvU3RyaW5nOmZ1
bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319KSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyAr
IChuZXcgUmVnRXhwKCIxIiwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319
KSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdFeHAoIjEiLCB7
dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0pIHRocm93ICJpbnRvc3RyIi4g
QWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIjEiLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAi
aW50b3N0ciI7fX0pKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKGUgIT09ICJpbnRvc3RyIiApIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogbmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmlu
ZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6
ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZShlLCAiaW50b3N0ciIsICdUaGUgdmFs
dWUgb2YgZSBpcyBleHBlY3RlZCB0byBiZSAiaW50b3N0ciInKTsKIH0KKworLy8gVE9ETzogQ29u
dmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QyLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1QyLmpzCmluZGV4IDFh
ZmE3ZDZjOWNkYmYyNTIzNzllOTJhMWE2NjhmYTA1Mzk3NTQ5ZTUuLmU5YzdjYmU4ZTY4YmUwN2Q0
NzgyYjE3YzJmYTczMTgxNjczNjc4OTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQThfVDIuanMKQEAgLTksMjcgKzks
OCBAQAogCiB2YXIgX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7
fSgpLCJpZyIpOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IHRydWUpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24o
KXtyZXR1cm4gImF8YnxbXSI7IF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsg
KF9fcmUuaWdub3JlQ2FzZSkpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX3JlLm11bHRpbGluZSAh
PT0gZmFsc2UpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19yZSA9IG5ldyBSZWdF
eHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4g
QWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fcmUu
Z2xvYmFsICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSBu
ZXcgUmVnRXhwKGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iOyBfX3JlLmdsb2JhbCA9PT0gdHJ1
ZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Ci19Ci0KLS8vQ0hFQ0sjNAotaWYgKF9fcmUu
bGFzdEluZGV4ICE9PSAwKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSBu
ZXcgUmVnRXhwKGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iOyBfX3JlLmxhc3RJbmRleCA9PT0g
MC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKHR5
cGVvZiBfX3JlLnNvdXJjZSA9PT0gInVuZGVmaW5lZCIpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNTogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IHR5
cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
X19yZS5pZ25vcmVDYXNlLCB0cnVlLCAnVGhlIHZhbHVlIG9mIF9fcmUuaWdub3JlQ2FzZSBpcyBl
eHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUubXVsdGlsaW5lLCBm
YWxzZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLm11bHRpbGluZSBpcyBleHBlY3RlZCB0byBiZSBmYWxz
ZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmdsb2JhbCwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBf
X3JlLmdsb2JhbCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9f
cmUubGFzdEluZGV4LCAwLCAnVGhlIHZhbHVlIG9mIF9fcmUubGFzdEluZGV4IGlzIGV4cGVjdGVk
IHRvIGJlIDAnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUodHlwZW9mIF9fcmUuc291cmNlLCAidW5k
ZWZpbmVkIiwgJ1RoZSB2YWx1ZSBvZiB0eXBlb2YgX19yZS5zb3VyY2UgaXMgbm90ICJ1bmRlZmlu
ZWQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC40LjFfQThfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC40LjFfQThfVDMuanMKaW5kZXggYWMzZWZmOTM2NmE3Yzc0MDBlZDA4OWY4YzUx
ZWZmMDE3YzNjMzU2MC4uM2I3M2IyNzkwMGVjZGRiNGE0NzlhYTdjZWFjNmNhMWRmMGQ3ZmIxMiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
NC4xX0E4X1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
UzE1LjEwLjQuMV9BOF9UMy5qcwpAQCAtMTEsMjcgKzExLDggQEAKIAogdmFyIF9fcmUgPSBuZXcg
UmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iO319LCAoZnVuY3Rpb24o
KXtyZXR1cm4gIm0iO30pKCkpOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09
IGZhbHNlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBuZXcgUmVnRXhw
KHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyBfX3JlLmlnbm9yZUNhc2UgPT09
IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Ci19Ci0KLS8vQ0hFQ0sjMgot
aWYgKF9fcmUubXVsdGlsaW5lICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0i
OyBfX3JlLm11bHRpbGluZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7
Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24o
KXtyZXR1cm4gIlswLTldIjsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19y
ZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5n
OmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6
ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAodHlwZW9mIF9fcmUu
c291cmNlID09PSAidW5kZWZpbmVkIikgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBf
X3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjsgdHlw
ZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShf
X3JlLmlnbm9yZUNhc2UsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUuaWdub3JlQ2FzZSBpcyBl
eHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLm11bHRpbGluZSwg
dHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLm11bHRpbGluZSBpcyBleHBlY3RlZCB0byBiZSB0cnVl
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuZ2xvYmFsLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBf
X3JlLmdsb2JhbCBpcyBleHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShf
X3JlLmxhc3RJbmRleCwgMCwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmxhc3RJbmRleCBpcyBleHBlY3Rl
ZCB0byBiZSAwJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKHR5cGVvZiBfX3JlLnNvdXJjZSwgInVu
ZGVmaW5lZCIsICdUaGUgdmFsdWUgb2YgdHlwZW9mIF9fcmUuc291cmNlIGlzIG5vdCAidW5kZWZp
bmVkIicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9TMTUuMTAuNC4xX0E4X1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0E4X1Q0LmpzCmluZGV4IDg0Zjc2NmY3NzIxNWQ5YmIxZjQ2ZDRjZGI0
YzU5Y2E2OGFjOTMxOWUuLmE3YzNjYmZkNGMyOGIxOWE1NzhhNzYxYTk0ZGY1NDM1NDE3MDM1MTQg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjQuMV9BOF9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC40LjFfQThfVDQuanMKQEAgLTExLDI3ICsxMSw4IEBACiAKIHZhciBfX3JlID0gbmV3
IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpd
Ijt9fSwge3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJtaWciO319
KTsKIAotLy9DSEVDSyMxCi1pZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAs
dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmlnbm9yZUNhc2UgPT09IHRy
dWUuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAo
X19yZS5tdWx0aWxpbmUgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjog
X19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0
dXJuICJbei16XSI7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5t
dWx0aWxpbmUpKTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5n
OnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJbei16XSI7IF9fcmUuZ2xvYmFsID09
PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAo
X19yZS5sYXN0SW5kZXggIT09IDApIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19y
ZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJu
ICJbei16XSI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5k
ZXgpKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZp
bmVkIikgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCh7
dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjsgdHlwZW9m
IF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShfX3Jl
Lmlnbm9yZUNhc2UsIHRydWUsICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5tdWx0aWxpbmUsIHRydWUs
ICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOwor
YXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmdsb2JhbCwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmds
b2JhbCBpcyBleHBlY3RlZCB0byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUubGFz
dEluZGV4LCAwLCAnVGhlIHZhbHVlIG9mIF9fcmUubGFzdEluZGV4IGlzIGV4cGVjdGVkIHRvIGJl
IDAnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUodHlwZW9mIF9fcmUuc291cmNlLCAidW5kZWZpbmVk
IiwgJ1RoZSB2YWx1ZSBvZiB0eXBlb2YgX19yZS5zb3VyY2UgaXMgbm90ICJ1bmRlZmluZWQiJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC40LjFfQThfVDUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1Mx
NS4xMC40LjFfQThfVDUuanMKaW5kZXggNTE0NTBlODgyZTNmYjcxMzc5NGUxZmVjMGMyNDk3Y2Vi
MDVmMzk0My4uOGYyMGU0ZWQ4MDE1MzRjZTY5ZWNhNzJlYTc3MWZjNDA1MGQ3OWMzOCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4
X1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjQuMV9BOF9UNS5qcwpAQCAtMTEsMjcgKzExLDggQEAgUGF0dGVybiBpcyBuZXcgT2JqZWN0KCJh
YmN7MX0iKSBhbmQgZmxhZ3MgaXMKIAogdmFyIF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3Qo
ImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7fX0pOwogCi0vL0NIRUNL
IzEKLWlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJp
bmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVh
bDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19yZS5tdWx0
aWxpbmUgIT09IGZhbHNlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBu
ZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1
cm4gIiI7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGls
aW5lKSk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJh
YmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiOyBfX3JlLmdsb2JhbCA9PT0g
ZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwotfQotCi0vL0NIRUNLIzQKLWlmIChf
X3JlLmxhc3RJbmRleCAhPT0gMCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3Jl
ID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7
cmV0dXJuICIiOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdElu
ZGV4KSk7Ci19Ci0KLS8vQ0hFQ0sjNQotaWYgKHR5cGVvZiBfX3JlLnNvdXJjZSA9PT0gInVuZGVm
aW5lZCIpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogX19yZSA9IG5ldyBSZWdFeHAo
bmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgdHlw
ZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShf
X3JlLmlnbm9yZUNhc2UsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIF9fcmUuaWdub3JlQ2FzZSBpcyBl
eHBlY3RlZCB0byBiZSBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLm11bHRpbGluZSwg
ZmFsc2UsICdUaGUgdmFsdWUgb2YgX19yZS5tdWx0aWxpbmUgaXMgZXhwZWN0ZWQgdG8gYmUgZmFs
c2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5nbG9iYWwsIGZhbHNlLCAnVGhlIHZhbHVlIG9m
IF9fcmUuZ2xvYmFsIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cithc3NlcnQuc2FtZVZhbHVl
KF9fcmUubGFzdEluZGV4LCAwLCAnVGhlIHZhbHVlIG9mIF9fcmUubGFzdEluZGV4IGlzIGV4cGVj
dGVkIHRvIGJlIDAnKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUodHlwZW9mIF9fcmUuc291cmNlLCAi
dW5kZWZpbmVkIiwgJ1RoZSB2YWx1ZSBvZiB0eXBlb2YgX19yZS5zb3VyY2UgaXMgbm90ICJ1bmRl
ZmluZWQiJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC40LjFfQThfVDYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC40LjFfQThfVDYuanMKaW5kZXggOWVjMGYxN2M0MWE2MGJjMjA4NDkyZThl
Y2YyNDQ1NDk5NzAxMjU4MC4uNjVhM2EzN2U4NWQwYTY1YTc1NjgxNGJjYTNiMDhiNTIxN2E1OGE2
OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuNC4xX0E4X1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvUzE1LjEwLjQuMV9BOF9UNi5qcwpAQCAtOSwxMSArOSwxMCBAQAogICAgICJpIgogLS0tKi8K
IAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBS
ZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319LCAiaSIpIHRocm93
ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7
dGhyb3cgImludG9zdHIiO319LCAiaSIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0s
ICJpIikgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCh7dG9TdHJpbmc6
ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJpIikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlp
ZiAoZSAhPT0gImludG9zdHIiICkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBu
ZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSB0
aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVl
KGUsICJpbnRvc3RyIiwgJ1RoZSB2YWx1ZSBvZiBlIGlzIGV4cGVjdGVkIHRvIGJlICJpbnRvc3Ry
IicpOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40
LjFfQThfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4x
MC40LjFfQThfVDcuanMKaW5kZXggOGIxYjFiNzYwYzAyMzY2NTc4M2MwOWNhOWM5NTAwYTBmZDc2
ZTg1MC4uYjBmMGUxNDcyY2RlN2U3MDUxMDEzMTg3ZThkYWZiNWViNjc1MzRiMyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Q3
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQu
MV9BOF9UNy5qcwpAQCAtOSwxMSArOSwxMCBAQAogICAgIH0gYW5kIGZsYWdzIGlzICJpIgogLS0t
Ki8KIAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5l
dyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZh
bG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCh7dG9TdHJp
bmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSkpOworICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQg
MCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2Yi
LiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0
aW9uKCl7dGhyb3cgImludmFsb2YiO319KSkpOwogfSBjYXRjaCAoZSkgewotCWlmIChlICE9PSAi
aW52YWxvZiIgKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyBSZWdFeHAo
e3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkg
dGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZShlLCAiaW52YWxvZiIsICdUaGUgdmFsdWUgb2YgZSBpcyBleHBlY3RlZCB0byBiZSAiaW52YWxv
ZiInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
NC4xX0E4X1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUu
MTAuNC4xX0E4X1Q4LmpzCmluZGV4IDdmNWExZWRjODEwMTUxZjUzNmYzMDQ4Y2U1NDI3YTBjMjBi
YjI4ZmQuLmZhNGRmNjVmOWY5MjJhZDgwZTk0ZmIxOTNlZDIyM2U3ZGUzZTU5MTggMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOF9U
OC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40
LjFfQThfVDguanMKQEAgLTksMTEgKzksMTAgQEAKICAgICAiZXJyb3IiCiAtLS0qLwogCi0vL0NI
RUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCh7
dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJp
bnRvc3RyIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhy
b3cgImludG9zdHIiO319LCAiZXJyb3IiKSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxLjE6IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319
LCAiZXJyb3IiKSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0
cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImVycm9yIikpKTsKIH0gY2F0Y2gg
KGUpIHsKLQlpZiAoZSAhPT0gImludG9zdHIiICkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9
fSwgImVycm9yIikgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShlLCAiaW50b3N0ciIsICdUaGUgdmFsdWUgb2YgZSBpcyBleHBlY3RlZCB0
byBiZSAiaW50b3N0ciInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dz
KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9TMTUuMTAuNC4xX0E4X1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuNC4xX0E4X1Q5LmpzCmluZGV4IDE4MzQ0MTYwZWZhZDkzNGM4NWVhOGU0
NGQwNzFjMDBiOWM0MDdlNDIuLmIxYTk1ZjMyOTg0NTZkMTZkMzFiMTdhYWRiNTY0MjAxMWIyY2Y2
NzEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1
LjEwLjQuMV9BOF9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC40LjFfQThfVDkuanMKQEAgLTksMjcgKzksOCBAQAogCiB2YXIgX19yZSA9IG5l
dyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fcmUuaWdu
b3JlQ2FzZSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0g
bmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVl
LiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKF9f
cmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5tdWx0aWxpbmUgPT09
IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKLX0KLQotLy9DSEVDSyMzCi1p
ZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzog
X19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUuZ2xvYmFsID09PSB0
cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoX19y
ZS5sYXN0SW5kZXggIT09IDApIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9
IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBB
Y3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKLX0KLQotLy9DSEVDSyM1Ci1pZiAodHlwZW9m
IF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgdHlwZW9mIF9fcmUu
c291cmNlICE9PSAidW5kZWZpbmVkIicpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmlnbm9y
ZUNhc2UsIHRydWUsICdUaGUgdmFsdWUgb2YgX19yZS5pZ25vcmVDYXNlIGlzIGV4cGVjdGVkIHRv
IGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5tdWx0aWxpbmUsIGZhbHNlLCAnVGhl
IHZhbHVlIG9mIF9fcmUubXVsdGlsaW5lIGlzIGV4cGVjdGVkIHRvIGJlIGZhbHNlJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKF9fcmUuZ2xvYmFsLCB0cnVlLCAnVGhlIHZhbHVlIG9mIF9fcmUuZ2xvYmFs
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5sYXN0SW5k
ZXgsIDAsICdUaGUgdmFsdWUgb2YgX19yZS5sYXN0SW5kZXggaXMgZXhwZWN0ZWQgdG8gYmUgMCcp
OworYXNzZXJ0Lm5vdFNhbWVWYWx1ZSh0eXBlb2YgX19yZS5zb3VyY2UsICJ1bmRlZmluZWQiLCAn
VGhlIHZhbHVlIG9mIHR5cGVvZiBfX3JlLnNvdXJjZSBpcyBub3QgInVuZGVmaW5lZCInKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQu
MV9BOV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjQuMV9BOV9UMS5qcwppbmRleCBkMGY3ODI3NWI5NjEzYjY4ZDc4YTNiYWIxYzUyMmEzNGY0Njdk
ODY0Li43ODIyMTg2ZDI3NDZjM2M2YzBmMGQ0ZmI5ZjNhOTQ1MmI4NmU3MzlmIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTlfVDEu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4x
X0E5X1QxLmpzCkBAIC05LDExICs5LDE0IEBACiBkZXNjcmlwdGlvbjogUGF0dGVybiBpcyAiPz8i
CiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEu
MTogbmV3IFJlZ0V4cCgiPz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBS
ZWdFeHAoIj8/IikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVn
RXhwKCI/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiPz8i
KSkpOwogfSBjYXRjaCAoZSkgewotCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0g
dHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBuZXcgUmVnRXhwKCI/PyIp
IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRo
cm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjQuMV9BOV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9BOV9UMi5qcwppbmRleCAyN2Q2YjFkMmE3OGJjNmIxMWNi
NGUwZTA3NzBlNDZiN2I2ZGFjMGQ2Li43MGFjY2ZmMzA3ODZhOTNhZTgwMjVkYWZlOWNhY2E4NTll
NWIzNDgwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L1MxNS4xMC40LjFfQTlfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9TMTUuMTAuNC4xX0E5X1QyLmpzCkBAIC05LDExICs5LDE0IEBACiBkZXNjcmlwdGlv
bjogUGF0dGVybiBpcyAiW3stel0iCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMTogbmV3IFJlZ0V4cCgiW3stel0iKSB0aHJvdyBTeW50YXhF
cnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlt7LXpdIikpKTsKKyAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMS4xOiBuZXcgUmVnRXhwKCJbey16XSIpIHRocm93IFN5bnRheEVycm9y
LiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW3stel0iKSkpOwogfSBjYXRjaCAoZSkgewotCWlm
ICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMS4yOiBuZXcgUmVnRXhwKCJbey16XSIpIHRocm93IFN5bnRheEVycm9yLiBB
Y3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5n
IChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7
CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQuMV9B
OV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjQu
MV9BOV9UMy5qcwppbmRleCBmZGJkNTNiZGMxOTEzNTNmZmVkNmI0YzAxMDlhYzIwNzNjMWRmNTgz
Li5lYjYzZmE5MjM3OTBiN2U1ZjJlNjc2NjQ2ODgzOWQyNzZmZjNlNzEyIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC40LjFfQTlfVDMuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNC4xX0E5
X1QzLmpzCkBAIC05LDExICs5LDE0IEBACiBkZXNjcmlwdGlvbjogUGF0dGVybiBpcyAiW2EtLXpd
IgogLS0tKi8KIAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjE6IG5ldyBSZWdFeHAoIlthLS16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAo
bmV3IFJlZ0V4cCgiW2EtLXpdIikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4x
OiBuZXcgUmVnRXhwKCJbYS0tel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5l
dyBSZWdFeHAoIlthLS16XSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6
IG5ldyBSZWdFeHAoIlthLS16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkp
OwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3Is
CisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86
IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjVfQTEuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC41X0ExLmpzCmluZGV4IGRkODE5YjFh
MjZmYTVlNzZlZWZmODFlYzM2ZmVkN2YzNmQ0ZGVmNDIuLjUwMTc5NzUzNmI2MWE2NGM0MWJiMzQy
MWM4YzdmZjFhNTliZTZmZGYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjVfQTEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuNV9BMS5qcwpAQCAtNiw4ICs2LDQgQEAKIGVzNWlkOiAxNS4x
MC41X0ExCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgUmVnRXhwLmxlbmd0aCBwcm9wZXJ0eQogLS0t
Ki8KLQotLy9DSEVDSyMxCi1pZiAoUmVnRXhwLmxlbmd0aCAhPT0gMikgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxOiBSZWdFeHAubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoUmVnRXhw
Lmxlbmd0aCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShSZWdFeHAubGVuZ3RoLCAyLCAnVGhlIHZh
bHVlIG9mIFJlZ0V4cC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgMicpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNV9BMl9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjVfQTJfVDEuanMK
aW5kZXggYjhhNjczNTI2M2MwZjI1NDBmNmU4NWM2NzcwNGYwNTg3ZWMwYzZhOS4uOTY5ZDNjMzYx
MjkwMDI4Y2Y2Nzc1NGQ0NDM1MjI3MmZlN2NmYzljMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNV9BMl9UMS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC41X0EyX1QxLmpzCkBAIC04LDgg
KzgsOCBAQAogZXM1aWQ6IDE1LjEwLjVfQTJfVDEKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBGdW5j
dGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApCiAtLS0qLwotCi0vL0NIRUNLIzEK
LWlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApICE9PSB0cnVlKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3Rv
dHlwZU9mKFJlZ0V4cCkgPT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIEZ1bmN0
aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cCksCisgIHRydWUsCisgICdGdW5jdGlv
bi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApIG11c3QgcmV0dXJuIHRydWUnCispOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAu
NV9BMl9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEw
LjVfQTJfVDIuanMKaW5kZXggNDhhNzNmNTVkMzdlYTA2OGE5ZmIyYmMwMTM3OWUxOGYwMTJlY2Ji
OC4uNmVmYTFiMTEyZDFmMjdhNzgzOGU5Y2YyMjI0YWY2ZjkzNzUzNTliOCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuNV9BMl9UMi5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC41X0EyX1Qy
LmpzCkBAIC0xMyw3ICsxMyw0IEBACiAKIEZ1bmN0aW9uLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAx
OwogCi0gLy9DSEVDSyMxCi1pZiAoUmVnRXhwLmluZGljYXRvciAhPT0gMSkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgUmVn
RXhwLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5pbmRpY2F0b3IpKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoUmVnRXhwLmluZGljYXRvciwgMSwgJ1RoZSB2YWx1ZSBvZiBSZWdF
eHAuaW5kaWNhdG9yIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjdfQTFfVDEuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0ExX1QxLmpzCmluZGV4IGZk
MDA5NzJhM2I1ZjUwMjAzZjQ0NzRiNjlmYTcwODEzNTVjY2RkMzguLjJiMTI0YTc4OTkwZDliYjE1
YTM4NmFlZGNmZGYwNGIxNmQ0NWFlZTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjdfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BMV9UMS5qcwpAQCAtNywxMSArNywxNCBA
QAogZGVzY3JpcHRpb246IENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxz
CiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEu
MTogL1teYV0qLygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKC9bXmFdKi8oKSkpOwor
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bXmFdKi8oKSB0aHJvdyBUeXBlRXJy
b3IuIEFjdHVhbDogJyArICgvW15hXSovKCkpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxLjI6IC9bXmFdKi8oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0JfQor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAgdHJ1
ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9y
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRv
IGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BMV9UMi5qcwppbmRleCA4ZWM5Yzg3ODA4OGI2
OWY3MTNiOTViY2YzYzA2ZTQxMDQ1MWUyZWM1Li5iMTdiOTQ2YzY1OWQ2ZGI1ZTViMGRlNDRjODAy
NzEwOWU4ZmI2YWJjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL1MxNS4xMC43X0ExX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjdfQTFfVDIuanMKQEAgLTcsMTEgKzcsMTQgQEAKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyBpZiBjYWxsIG9mIFJlZ0V4cCgiYXxiIiwiZyIpKCkgZmFpbHMKIC0tLSov
CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogUmVn
RXhwKCJhfGIiLCJnIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChSZWdFeHAoImF8
YiIsImciKSgpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cikgIT09IHRydWUpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBSZWdFeHAo
ImF8YiIsImciKSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAgdHJ1ZSwK
KyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFz
c2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BMl9UMS5qcwppbmRleCA3MWFjNzdkOTlhN2UyNDJh
NzE3ZDdmNjFkYjY0OTRiODAxOGQxODZkLi5hNzlkZTVmMDZiY2NkM2RhZTRmMTY1MGY4MDU0YTc2
ODZiNzhlNTM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL1MxNS4xMC43X0EyX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvUzE1LjEwLjdfQTJfVDEuanMKQEAgLTcsMTEgKzcsMTQgQEAKIGRlc2NyaXB0aW9u
OiBDaGVja2luZyBpZiBjcmVhdGluZyBuZXcgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAtLS0qLwog
Ci0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyAv
ei8oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgL3ovKCkpKTsKIH0gY2F0Y2gg
KGUpIHsKLSAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IG5ldyAvei8oKSB0aHJvdyBUeXBlRXJyb3IuIEFj
dHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNl
b2YgVHlwZUVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0K
KworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BMl9UMi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjdfQTJfVDIu
anMKaW5kZXggMmM5ODI2YjIyMTcxOThlMWE4OWQzMmI3Y2M1ZTg1YWNmNjFmMGQzNC4uYWRkYjFl
ZWIyZDE5NTk0YjEzZDljNzAyMzhlNjQ5ZjY0MTFmYTRhZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BMl9UMi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0EyX1QyLmpzCkBAIC03
LDExICs3LDE0IEBACiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBSZWdF
eHAiIGluc3RhbmNlIGZhaWxzCiAtLS0qLwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMxLjE6IG5ldyBuZXcgUmVnRXhwIHRocm93IFR5cGVFcnJvci4gQWN0
dWFsOiAnICsgKG5ldyBuZXcgUmVnRXhwKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICgoZSBpbnN0
YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7
Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgVHlwZUVycm9yLAor
ICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29u
dmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BM19UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjdfQTNfVDEuanMKaW5kZXggMGRjYjI2
MDI5OTE1MTEyOGU4ZTdmOTA0ZWZjNmEyZGI1ODdkYTAxNC4uOGVmZmNlZDZjZTg4MGE3NmQwZWQy
MDZjOGFjMjI2YzA3ODAxNGE4YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0EzX1QxLmpzCkBAIC0xMSwxNyArMTEsMTEgQEAK
IAogdmFyIF9fcmUgPSAvW15hXSovOwogCi0vL0NIRUNLIzEKLWlmICh0eXBlb2YgX19yZSAhPT0g
Im9iamVjdCIpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IC9bXmFdKi87
IHR5cGVvZiBfX3JlID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZiBfX3JlKSk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBfX3JlLCAib2JqZWN0IiwgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIF9fcmVgIGlzIGV4cGVjdGVkIHRvIGJlICJvYmplY3QiJyk7Cithc3NlcnQuc2FtZVZh
bHVlKF9fcmUuY29uc3RydWN0b3IsIFJlZ0V4cCwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmNvbnN0cnVj
dG9yIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBSZWdFeHAnKTsKIAotLy9DSEVD
SyMxCi1pZiAoX19yZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzI6IF9fcmUgPSAvW15hXSovOyBfX3JlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAu
IEFjdHVhbDogJyArIChfX3JlLmNvbnN0cnVjdG9yKSk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKChf
X3JlIGluc3RhbmNlb2YgUmVnRXhwKSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMzOiBfX3JlID0gL1teYV0qLzsgKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApID09PSB0cnVl
Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlIGluc3RhbmNlb2YgUmVnRXhwLAorICB0
cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChfX3JlIGluc3RhbmNlb2YgUmVnRXhw
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvUzE1LjEwLjdfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL1MxNS4xMC43X0EzX1QyLmpzCmluZGV4IDhlMmM0ZjM2
YmRhZGRmMzNhYzQ3YmRiMTVhYTZmMmY0Yjg5MWE4YWYuLjg3YzgwMDgyNjJhZWJlZjVmMDNlZDBk
NmJkMDM2OThmMDQ1ZGMwNDUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvUzE1LjEwLjdfQTNfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9TMTUuMTAuN19BM19UMi5qcwpAQCAtMTEsMTcgKzExLDExIEBACiAK
IHZhciBfX3JlID0gbmV3IFJlZ0V4cDsKIAotLy9DSEVDSyMxCi1pZiAodHlwZW9mIF9fcmUgIT09
ICJvYmplY3QiKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBuZXcgUmVn
RXhwOyB0eXBlb2YgX19yZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgX19yZSkp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgX19yZSwgIm9iamVjdCIsICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiBfX3JlYCBpcyBleHBlY3RlZCB0byBiZSAib2JqZWN0IicpOworYXNzZXJ0LnNh
bWVWYWx1ZShfX3JlLmNvbnN0cnVjdG9yLCBSZWdFeHAsICdUaGUgdmFsdWUgb2YgX19yZS5jb25z
dHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgUmVnRXhwJyk7CiAKLS8v
Q0hFQ0sjMQotaWYgKF9fcmUuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5jb25zdHJ1Y3RvciA9PT0g
UmVnRXhwLiBBY3R1YWw6ICcgKyAoX19yZS5jb25zdHJ1Y3RvcikpOwotfQotCi0vL0NIRUNLIzMK
LWlmICgoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMzogX19yZSA9IG5ldyBSZWdFeHA7IChfX3JlIGluc3RhbmNlb2YgUmVnRXhw
KSA9PT0gdHJ1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZSBpbnN0YW5jZW9mIFJl
Z0V4cCwKKyAgdHJ1ZSwKKyAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoX19yZSBpbnN0YW5j
ZW9mIFJlZ0V4cCkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNS4xX0Ex
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1
LjEwLjUuMV9BMS5qcwppbmRleCBiZjQwYWE1NTc2YTgwYWYzMWM5OTk3ODA0ZWVlNGIxOWFjZDZh
ZjJhLi4zNWJiMzBmZThkOGU5MjcxOGIyM2IyZTdiMWVjMjQyNTQ4ZmFlZTNjIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAu
NS4xX0ExLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL1MxNS4xMC41LjFfQTEuanMKQEAgLTYsOCArNiw0IEBACiBlczVpZDogMTUuMTAuNS4x
X0ExCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eQogLS0t
Ki8KLQotLy9DSEVDSyMxCi1pZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAh
PT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBSZWdFeHAuaGFzT3duUHJv
cGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoUmVn
RXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSwgdHJ1ZSwgJ1JlZ0V4cC5oYXNPd25Qcm9w
ZXJ0eShcJ3Byb3RvdHlwZVwnKSBtdXN0IHJldHVybiB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNS4xX0Ey
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1
LjEwLjUuMV9BMi5qcwppbmRleCAyMGRiYTllN2U4YzVlNmRjMTA0ZWZmZThhNTA1MjIyMDBiY2Iz
ZDIxLi5mYjljMGVmYjU3ZmE1NTNmYjVjNTFjYjExY2ExNThkZjIzM2EyZmFhIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAu
NS4xX0EyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL1MxNS4xMC41LjFfQTIuanMKQEAgLTYsMjMgKzYsMjEgQEAKIGVzNWlkOiAxNS4xMC41
LjFfQTIKIGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgUmVnRXhwLnBy
b3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoUmVnRXhwLmhh
c093blByb3BlcnR5KCdwcm90b3R5cGUnKSwgdHJ1ZSwgJ1JlZ0V4cC5oYXNPd25Qcm9wZXJ0eShc
J3Byb3RvdHlwZVwnKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKLS8vQ0hFQ0sjMAotaWYgKFJlZ0V4
cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMDogUmVnRXhwLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpID09PSB0
cnVlJyk7Ci19Ci0KLSAvL0NIRUNLIzEKLWlmIChSZWdFeHAucHJvcGVydHlJc0VudW1lcmFibGUo
J3Byb3RvdHlwZScpICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBS
ZWdFeHAucHJvcGVydHlJc0VudW1lcmFibGUoXCdwcm90b3R5cGVcJykgPT09IGZhbHNlJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3Rv
dHlwZScpLAorICBmYWxzZSwKKyAgJ1JlZ0V4cC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3Rv
dHlwZVwnKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CiAKLSAvL0NIRUNLIzIKIHZhciBjb3VudD0w
OwogZm9yICh2YXIgcCBpbiBSZWdFeHApewotCWlmIChwPT09InByb3RvdHlwZSIpIGNvdW50Kys7
CisgICAgaWYgKHA9PT0icHJvdG90eXBlIikgeworICAgICAgY291bnQrKzsKKyAgICB9CiB9CiAK
LWlmIChjb3VudCAhPT0gMCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBjb3VudD0w
OyBmb3IgKHAgaW4gUmVnRXhwKXsgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsgfSBjb3Vu
dCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50
LCAwLCAnVGhlIHZhbHVlIG9mIGNvdW50IGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKKworLy8gVE9E
TzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC41LjFfQTMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUu
MTAuNS4xX0EzLmpzCmluZGV4IGY4ZmY4ODEzNjg1OTM1ZmVjZmE2MDhhNzEwYTdjZmIzZDJiMWIw
M2IuLmE0YzRjMDFlYWZkMzg3Zjc4NjA3NTFmMzJiYjM0NzU1MmZiNzhiZjEgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC41
LjFfQTMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvUzE1LjEwLjUuMV9BMy5qcwpAQCAtNywyNSArNywyMiBAQAogZGVzY3JpcHRpb246IENo
ZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiBp
bmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQogLS0tKi8KLQotLy9DSEVDSyMwCi1pZiAoUmVn
RXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMwOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09
IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90
b3R5cGUnKSwgdHJ1ZSk7CiAKIHZlcmlmeU5vdENvbmZpZ3VyYWJsZShSZWdFeHAsICJwcm90b3R5
cGUiKTsKIAotLy9DSEVDSyMxCiB0cnkgewotICBpZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUg
IT09IGZhbHNlKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGRlbGV0ZSBSZWdF
eHAucHJvdG90eXBlID09PSBmYWxzZScpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRl
IFJlZ0V4cC5wcm90b3R5cGUsIGZhbHNlKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKGUgaW5zdGFu
Y2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CisgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVy
cm9yKSB7CisgICAgdGhyb3cgZTsKKyAgfQogICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJv
cik7CiB9CiAKLS8vQ0hFQ0sjMgogaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBl
JykgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogZGVsZXRlIFJlZ0V4
cC5wcm90b3R5cGU7IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1
ZScpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3Rv
dHlwZTsgUmVnRXhwLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpID09PSB0cnVlJyk7CiB9
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCisvLyBUT0RP
OiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNS4xX0E0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1LjEw
LjUuMV9BNC5qcwppbmRleCAwYjQxZGRjMTcyZmZjNThlOTEzMDA3ZDg5MDhhZTJiOWNlODNlNWE1
Li41MmY4ZDIzOTIyOWI0ODNmNzMyMTllMWU0OTdiNTMzNGYxNjg0OWE0IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNS4x
X0E0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1MxNS4xMC41LjFfQTQuanMKQEAgLTcsMTcgKzcsMTIgQEAKIGRlc2NyaXB0aW9uOiBDaGVj
a2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiBpbmNs
dWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoUmVnRXhw
Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRy
dWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5
cGUnKSwgdHJ1ZSwgJ1JlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSBtdXN0IHJl
dHVybiB0cnVlJyk7CiAKIHZhciBfX29iaiA9IFJlZ0V4cC5wcm90b3R5cGU7CiAKIHZlcmlmeU5v
dFdyaXRhYmxlKFJlZ0V4cCwgInByb3RvdHlwZSIsIG51bGwsIGZ1bmN0aW9uKCl7cmV0dXJuICJz
aGlmdGVkIjt9KTsKIAotLy9DSEVDSyMyCi1pZiAoUmVnRXhwLnByb3RvdHlwZSAhPT0gX19vYmop
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBl
OyBSZWdFeHAucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFJlZ0V4
cC5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZSkpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZShSZWdFeHAucHJvdG90eXBlLCBfX29iaiwgJ1RoZSB2YWx1ZSBv
ZiBSZWdFeHAucHJvdG90eXBlIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX29i
aicpOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
UzE1LjEwLjYuMV9BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL1MxNS4xMC42LjFfQTFfVDEuanMKaW5kZXggOGE1NjU2ZjhmNWFmOThiNjRh
ZmNlNTU0NzUzMDllNzM4NGE5YzliZC4uYWZkYmQ1MGJjNTZmM2Y5NWY4ZDY3ODAzMGVkNTk5MDlj
MTA5NGVkMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvUzE1LjEwLjYuMV9BMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNi4xX0ExX1QxLmpzCkBAIC04LDgg
KzgsOCBAQAogZXM1aWQ6IDE1LjEwLjYuMV9BMV9UMQogZGVzY3JpcHRpb246IENvbXBhcmUgUmVn
RXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIFJlZ0V4cAogLS0tKi8KLQotLy9DSEVDSyMx
Ci1pZiAoUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzE6IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IFJl
Z0V4cC4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IpKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IsCisgIFJlZ0V4
cCwKKyAgJ1RoZSB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBSZWdFeHAnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1LjEwLjYuMV9BMV9U
Mi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1Mx
NS4xMC42LjFfQTFfVDIuanMKaW5kZXggODA0MjQ5M2E5Y2E3YzFkYjkyMTJlNzBlNmJiZjA3OTE1
NTQxZTkwZi4uZjY3ZTZlYWI1NWZiNWU5NzYwNDQyY2M1M2I1Mzg2MDE1NTVmYTRhNSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1
LjEwLjYuMV9BMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9TMTUuMTAuNi4xX0ExX1QyLmpzCkBAIC0xNSwxMiArMTUsMTQgQEAKIAog
dmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwogCi0vL0NIRUNLIzEKLWlmICgoX19pbnN0
YW5jZSBpbnN0YW5jZW9mIFJlZ0V4cCkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0
YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSA9PT0g
dHJ1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19pbnN0YW5jZSBpbnN0YW5jZW9mIFJl
Z0V4cCwKKyAgdHJ1ZSwKKyAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoX19pbnN0YW5jZSBp
bnN0YW5jZW9mIFJlZ0V4cCkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sj
MgotaWYgKF9faW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9y
OyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0g
UmVnRXhwLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwotfQorYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgX19pbnN0YW5jZS5jb25zdHJ1Y3RvciwKKyAgUmVnRXhwLAorICAnVGhl
IHZhbHVlIG9mIF9faW5zdGFuY2UuY29uc3RydWN0b3IgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIFJlZ0V4cCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TMTUuMTAuNl9BMV9UMS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC42X0ExX1QxLmpzCmlu
ZGV4IGZmMThjNjUzN2VlZjRiYjc3YWE0YjJkYWIxNmU1NTcwMjI0ZmEwYWUuLmI3YWU2NTI5OTQ1
OWI5MDIwZTQzNTMxZWRiNTk5ZjI3MGNmOTNkODEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC42X0ExX1QxLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1MxNS4xMC42
X0ExX1QxLmpzCkBAIC04LDggKzgsOCBAQAogZXM1aWQ6IDE1LjEwLjZfQTFfVDEKIGRlc2NyaXB0
aW9uOiBDaGVja2luZyBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoUmVnRXhwLnByb3Rv
dHlwZSkKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5
cGVPZihSZWdFeHAucHJvdG90eXBlKSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoUmVnRXhwLnByb3RvdHlwZSkg
PT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUuaXNQ
cm90b3R5cGVPZihSZWdFeHAucHJvdG90eXBlKSwKKyAgdHJ1ZSwKKyAgJ09iamVjdC5wcm90b3R5
cGUuaXNQcm90b3R5cGVPZihSZWdFeHAucHJvdG90eXBlKSBtdXN0IHJldHVybiB0cnVlJworKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1MxNS4xMC42X0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvUzE1LjEwLjZfQTFfVDIuanMKaW5kZXggY2ZkYzU5MWM4OTc3YTE2ZWRl
MjhlNzA4OTBhMzBmYTIxOTM2Y2Q0YS4uYmYyMTU2ODVmMjA2MzIwMGExZjExNDg1NDdlYmZkMjI1
OGU4NjQ3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvUzE1LjEwLjZfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvUzE1LjEwLjZfQTFfVDIuanMKQEAgLTEzLDcgKzEz
LDQgQEAKIAogT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwogCi0vL0NIRUNLIzEKLWlm
IChSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciAhPT0gMSkgewotCXRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBPYmplY3QucHJvdG90eXBlLmluZGljYXRvciA9IDE7IFJlZ0V4cC5wcm90b3R5
cGUuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0
b3IpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IsIDEs
ICdUaGUgdmFsdWUgb2YgUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IgaXMgZXhwZWN0ZWQgdG8g
YmUgMScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMTAuanMKaW5kZXgg
MTAwMjYzMjkyZDllNWU3ZTczZDIxNjgxMjhlZGEwMTgyZTMyMDMyZi4uOTRhOGZiNzI5NjRkNzI5
ODdjMDE5YmUzOTc3ODBmZDNkYzQ4MGVkNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExMC5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1Mx
NS4xMC42LjJfQTEwLmpzCkBAIC03LDE3ICs3LDIwIEBACiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcg
aWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBmYWls
cwogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYg
KFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5o
YXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAg
dHJ1ZSwKKyAgJ1JlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwn
KSBtdXN0IHJldHVybiB0cnVlJworKTsKIAogdmFyIF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS5l
eGVjLmxlbmd0aDsKIAogdmVyaWZ5Tm90V3JpdGFibGUoUmVnRXhwLnByb3RvdHlwZS5leGVjLCAi
bGVuZ3RoIiwgbnVsbCwgZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO30pOwogCi0vL0NIRUNL
IzIKLWlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoICE9PSBfX29iaikgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVu
Z3RoOyBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNo
aWZ0ZWQiO307IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6
ICcgKyAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCwKKyAgX19vYmosCisgICdUaGUgdmFs
dWUgb2YgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19vYmonCispOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExMS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMTEuanMK
aW5kZXggZWMxMDE5MWVjYzViZGY1MmViZGM4NWJmMWY2ODJhNzgxN2JlY2E1ZS4uNjMzODdmZGU4
YWJkNDBkNGFkOTUwM2NhMzE0NWQyMjIxMzg1MjUyYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTExLmpzCkBAIC02LDEzICs2LDEwIEBACiBlczVpZDogMTUuMTAuNi4y
X0ExMQogZGVzY3JpcHRpb246IENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgK
IC0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3du
UHJvcGVydHkoImxlbmd0aCIpLAorICB0cnVlLAorICAnUmVnRXhwLnByb3RvdHlwZS5leGVjLmhh
c093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVlJworKTsKIAotLy9DSEVDSyMx
Ci1pZiAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0g
dHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogUmVnRXhwLnByb3RvdHlwZS5l
eGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hFQ0sj
MgotaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IDEpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggPT09IDEuIEFj
dHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoKSk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgsIDEsICdUaGUgdmFsdWUgb2YgUmVn
RXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAxJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVj
L1MxNS4xMC42LjJfQTEyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExMi5qcwppbmRleCBmYTcwZDMxZWJhMjUwZmQx
NTA5ZjVhNmEyYjRhMzA5NGE2NjVmYWUzLi4wNzBhZTU3OGM3NTI3NmExNDRkMTE0Y2I2ODhmNjY4
ZGIwYzdmZDdiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTEyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMTIuanMK
QEAgLTksOSArOSw1IEBACiAKICgvZm9vLykudGVzdCgneGZvb3gnKTsKIHZhciBtYXRjaCA9IG5l
dyBSZWdFeHAoJygufFxyfFxuKSonLCcnKS5leGVjKClbMF07Ci1pZiAobWF0Y2ggPT09ICd4Zm9v
eCcpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IHJlZ0V4cC5leGVjKCkgbGVha3Mg
bWF0Y2ggZ2xvYmFsbHknKTsKLX0KLWlmIChtYXRjaCAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IHJlZ0V4cC5leGVjKCkgbXVzdCBjb2VyY2UgYWJzZW50
IGZpcnN0IGFyZyB0byAidW5kZWZpbmVkIicpOwotfQorYXNzZXJ0Lm5vdFNhbWVWYWx1ZShtYXRj
aCwgJ3hmb294JywgJ1RoZSB2YWx1ZSBvZiBtYXRjaCBpcyBub3QgInhmb294IicpOworYXNzZXJ0
LnNhbWVWYWx1ZShtYXRjaCwgJ3VuZGVmaW5lZCcsICdUaGUgdmFsdWUgb2YgbWF0Y2ggaXMgZXhw
ZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1
LjEwLjYuMl9BMV9UMS5qcwppbmRleCAxNTlmMGYxMzI1YzM5YjAyM2RhZTdhZmRiMDJjMTQ3Njli
ODk5YjViLi5iYTVlMzExMWM2MmEyYTc1MmYyYzYzYjNjNDMxMzU3MTA0Y2RlOGJiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVj
L1MxNS4xMC42LjJfQTFfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxLmpzCkBAIC0xNSwyOSArMTUs
MzQgQEAKIF9fZXhwZWN0ZWQuaW5kZXg9MDsKIF9fZXhwZWN0ZWQuaW5wdXQ9IjEyMyI7CiAKLS8v
Q0hFQ0sjMAotaWYgKChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygiMTIz
Iik7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hF
Q0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMi
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMjogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsgX19leGVjdXRlZC5pbmRleCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4
KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5p
bnB1dCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC8xfDEy
Ly5leGVjKCIxMjMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSwKKyAgdHJ1ZSwKKyAgJ1RoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgs
CisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRl
eDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotICBpZiAoX19leGVjdXRlZFtpbmRleF0g
IT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6
IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygiMTIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsg
J10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRb
aW5kZXhdKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhd
LAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhd
JworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxMC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTAu
anMKaW5kZXggYzhhY2E4NjViZmM1MWJhNWNlNTExMWUxODVhYjdiMjY4ODY1ZTE1Ny4uNGZjMDYx
MjFjNDUzNGZmM2ZhZDUyNjVjOGYxZjIyYjgxYmVlNWYzYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0Ex
X1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDEwLmpzCkBAIC0xNSwyOSArMTUsMzQgQEAKIF9fZXhw
ZWN0ZWQuaW5kZXg9MDsKIF9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEiOwogCi0vL0NIRUNLIzAKLWlm
ICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMwOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoMS4wMSk7IChfX2V4ZWN1
dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hFQ0sjMQotaWYgKF9f
ZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVk
Lmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1
dGVkID0gLzF8MTIvLmV4ZWMoMS4wMSk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVj
dGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0KLS8vQ0hF
Q0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLSAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygxLjAxKTsg
X19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQg
aW5zdGFuY2VvZiBBcnJheSwKKyAgdHJ1ZSwKKyAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAo
X19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsK
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQu
bGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0
ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1
dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxl
bmd0aDsgaW5kZXgrKykgewotICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRb
aW5kZXhdKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAv
MXwxMi8uZXhlYygxLjAxKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhw
ZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotICB9Cisg
IGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3Rl
ZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTFfVDExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxMS5qcwppbmRleCA0YmNkM2M0
Y2I5NGQ1YTVmM2Y5Y2RkZGFjMmY3M2Q5MDhmNTkzZmQwLi5iODMyZTcyOTI0ZDU2YmUzMzRhNTg2
MTE3YWI2OWY1ZGFkNjViYzA3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDExLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEw
LjYuMl9BMV9UMTEuanMKQEAgLTE1LDI5ICsxNSwzNCBAQAogX19leHBlY3RlZC5pbmRleD0zOwog
X19leHBlY3RlZC5pbnB1dD0iMS4wMTIiOwogCi0vL0NIRUNLIzAKLWlmICgoX19leGVjdXRlZCBp
bnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMw
OiBfX2V4ZWN1dGVkID0gLzJ8MTIvLmV4ZWMobmV3IE51bWJlcigxLjAxMikpOyAoX19leGVjdXRl
ZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwotfQotCi0vL0NIRUNLIzEKLWlmIChfX2V4
ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLSAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7
IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQu
aW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzI6IF9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7IF9fZXhlY3V0
ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5pbmRleCk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9f
ZXhwZWN0ZWQuaW5wdXQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0
ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09
ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXksCisg
IHRydWUsCisgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKF9fZXhlY3V0ZWQgaW5zdGFuY2Vv
ZiBBcnJheSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVj
dGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQK
IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLSAg
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gLzJ8MTIvLmV4ZWMobmV3IE51bWJl
cigxLjAxMikpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtp
bmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0gIH0KKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4
XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1
LjEwLjYuMl9BMV9UMTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDEyLmpzCmluZGV4IGZlNmJjNDhhNmNjMWE0
OWM4YTNlMzU3NjdhZTA2YzQ1N2YyN2Q4NzEuLjA1NjBjMTNlY2Y4ODUyODZkZjc1ZWNlMDhiNmU3
NWZiODEyZjQ5MmYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0Ex
X1QxMi5qcwpAQCAtMTcsMjkgKzE3LDM0IEBACiBfX2V4cGVjdGVkLmluZGV4PTE7CiBfX2V4cGVj
dGVkLmlucHV0PVN0cmluZyhNYXRoLlBJKTsKIAotLy9DSEVDSyMwCi1pZiAoKF9fZXhlY3V0ZWQg
aW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MDogX19leGVjdXRlZCA9IC9cXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4g
TWF0aC5QSX19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKLX0K
LQotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3Ro
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5l
eGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmxl
bmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4
cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVk
ID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBf
X2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBf
X2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRo
LlBJfX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFs
dWF0aW5nIChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVjdGVkIHRvIGJlIHRy
dWUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19l
eHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhw
ZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19l
eHBlY3RlZFtpbmRleF0pIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVj
dXRlZCA9IC9cXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19
KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotICB9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTFfVDEzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxMy5qcwppbmRleCA2NDZiOWI3MTM1YjgyNWFjZjFhNTBm
ZWFmNjk1ZjQ2ZTFhNmE2NDNjLi4zNzUyNmMzMmQwNDZkMGRjOThmNmRkMGZiNGEzMDVlZjdiODhk
MGYwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDEzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTMuanMK
QEAgLTE1LDI5ICsxNSwzNCBAQAogX19leHBlY3RlZC5pbmRleD0wOwogX19leHBlY3RlZC5pbnB1
dD0idHJ1ZSI7CiAKLS8vQ0hFQ0sjMAotaWYgKChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkp
ICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IF9fZXhlY3V0ZWQgPSAv
dFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09
IHRydWUnKTsKLX0KLQotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhw
ZWN0ZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gL3RbYS1ifHEtc10vLmV4ZWModHJ1ZSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19l
eHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Ci0K
LS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8u
ZXhlYyh0cnVlKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOyBfX2V4ZWN1
dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZCBpbnN0YW5j
ZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChfX2V4ZWN1
dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1
dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsK
IAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0p
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC90W2EtYnxx
LXNdLy5leGVjKHRydWUpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0gIH0KKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVk
W2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4
ZWMvUzE1LjEwLjYuMl9BMV9UMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE0LmpzCmluZGV4IGUxYjI0MGI2
ZjFlMjEzYjM2NmZhNWFkZGFiMjRkMTBlNWYwMmExMWMuLjQxY2RjNjkzMjRjNGI5ZmEzNDYzY2Jh
NDljMjYyZmY1NDg1ZTUwZDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTQuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAu
Ni4yX0ExX1QxNC5qcwpAQCAtMTUsMjkgKzE1LDM0IEBACiBfX2V4cGVjdGVkLmluZGV4PTM7CiBf
X2V4cGVjdGVkLmlucHV0PSJmYWxzZSI7CiAKLS8vQ0hFQ0sjMAotaWYgKChfX2V4ZWN1dGVkIGlu
c3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6
IF9fZXhlY3V0ZWQgPSAvQUx8c2UvLmV4ZWMobmV3IEJvb2xlYW4pOyAoX19leGVjdXRlZCBpbnN0
YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwotfQotCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVk
Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IF9fZXhlY3V0ZWQgPSAvQUx8c2UvLmV4ZWMobmV3IEJvb2xlYW4pOyBfX2V4ZWN1dGVk
Lmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1
dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0K
LQotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhl
YyhuZXcgQm9vbGVhbik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXksCisgIHRydWUsCisgICdUaGUgcmVzdWx0
IG9mIGV2YWx1YXRpbmcgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3Ro
LAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCisp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVk
LmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOworCithc3NlcnQuc2FtZVZh
bHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZh
bHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5k
ZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLSAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhd
ICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0
OiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRl
ZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4
ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE1LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0ExX1QxNS5qcwppbmRleCAxZWQzYmY4ZGEzZDFkMDI1MTRmNmI2ZjIxNTc0MGQ5Zjg4ZmFkMTlk
Li4yMmI0ZTljMTczZjdmMjY0ZTAyOGE5OTdhZjBhNTY0MDI3ZjgxZTkzIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4x
MC42LjJfQTFfVDE1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTUuanMKQEAgLTE1LDI5ICsxNSwzNCBA
QAogX19leHBlY3RlZC5pbmRleD0yOwogX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwogCi0vL0NI
RUNLIzAKLWlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBfX2V4ZWN1dGVkID0gL0xTL2kuZXhlYyh7dG9TdHJp
bmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9fSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJy
YXkpID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9
PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19l
eGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0p
OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVk
LmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX2V4ZWN1dGVkID0gL0xTL2kuZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4g
ZmFsc2V9fSk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fZXhl
Y3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3Jl
dHVybiBmYWxzZX19KTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQg
KyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSwKKyAgdHJ1ZSwKKyAgJ1RoZSByZXN1bHQg
b2YgZXZhbHVhdGluZyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgs
CisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRl
eDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotICBpZiAoX19leGVjdXRlZFtpbmRleF0g
IT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6
IF9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxz
ZX19KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhd
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotICB9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisg
ICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTFfVDE2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxNi5qcwppbmRleCA2ODg0ODUwYTAyMjA4OWMyMjA3
ZjZkMjMyMmRiMzliMThmNWRhZmQ2Li44NzkzOWFlMmVmZjliOWQwMzYzMzhiOGE1YzZjNzJkNDE3
ZTk2YWNhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTYu
anMKQEAgLTEwLDYgKzEwLDQgQEAKIC0tLSovCiAKIHZhciBfX3JlID0gL3VuZGVmaW5lZC8uZXhl
YygpWzBdOwotaWYgKF9fcmUgIT09ICJ1bmRlZmluZWQiKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzE6IC91bmRlZmluZWQvLmV4ZWMoKVswXSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDog
JyArIChfX3JlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUsICJ1bmRlZmluZWQiLCAnVGhl
IHZhbHVlIG9mIF9fcmUgaXMgZXhwZWN0ZWQgdG8gYmUgInVuZGVmaW5lZCInKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMv
UzE1LjEwLjYuMl9BMV9UMTcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE3LmpzCmluZGV4IDcxZDQzMTEzYjdl
ZjkwMjFhNTI4NjA0NGQ5ZDMzOGZjZTk1N2JkNTMuLjc3ZjBlMjBhNDZhNmZlNDE2M2IzZjQ5YWM3
YzBjYTI5OGY4ZDlkYWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTcuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0ExX1QxNy5qcwpAQCAtMTUsMjkgKzE1LDM0IEBACiBfX2V4cGVjdGVkLmluZGV4PTI7CiBfX2V4
cGVjdGVkLmlucHV0PSJudWxsIjsKIAotLy9DSEVDSyMwCi1pZiAoKF9fZXhlY3V0ZWQgaW5zdGFu
Y2VvZiBBcnJheSkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19l
eGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5
KSA9PT0gdHJ1ZScpOwotfQotCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0g
X19leHBlY3RlZC5sZW5ndGgpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhl
Y3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQot
Ly9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51
bGwpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVk
LmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMzOiBfX2V4ZWN1dGVkID0gL2xsfGwvLmV4ZWMobnVsbCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09
ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXksCisg
IHRydWUsCisgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKF9fZXhlY3V0ZWQgaW5zdGFuY2Vv
ZiBBcnJheSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVj
dGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQK
IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLSAg
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2xsfGwvLmV4ZWMobnVsbCk7IF9f
ZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Qx
OC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4
ZWMvUzE1LjEwLjYuMl9BMV9UMTguanMKaW5kZXggYjc1ODVkNzA1YmE2NWM4MWJjZGI5MTE0NWY3
ZDAzNTA1MTYwOGZmZi4uMjU0MTgzMmUwZTA4YmY0OGVhNGE0YzRhY2YwZDZkYTJhMzc4OTgxNyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QxOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE4LmpzCkBAIC0x
NSwyOSArMTUsMzQgQEAKIF9fZXhwZWN0ZWQuaW5kZXg9MTsKIF9fZXhwZWN0ZWQuaW5wdXQ9InVu
ZGVmaW5lZCI7CiAKLS8vQ0hFQ0sjMAotaWYgKChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkp
ICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IF9fZXhlY3V0ZWQgPSAv
bmR8bmUvLmV4ZWModW5kZWZpbmVkKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09
IHRydWUnKTsKLX0KLQotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhw
ZWN0ZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gL25kfG5lLy5leGVjKHVuZGVmaW5lZCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19l
eHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Ci0K
LS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvbmR8bmUvLmV4ZWMo
dW5kZWZpbmVkKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KLQotLy9DSEVDSyMzCi1pZiAoX19l
eGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjMzogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1
dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZCBpbnN0YW5j
ZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChfX2V4ZWN1
dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1
dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsK
IAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0p
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9uZHxuZS8u
ZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0gIH0KKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVk
W2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4
ZWMvUzE1LjEwLjYuMl9BMV9UMTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDE5LmpzCmluZGV4IGU2YjBlNzc2
ZTAzMzMzY2UzMjUwYmM5NTFjN2FiNTkxMTI3ZTEzNjIuLmU2ZmUxNzkyNTU5MDEwOTBiZDMwOGM5
YTViZTc5MzJiOTU0OGFjMjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMTkuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAu
Ni4yX0ExX1QxOS5qcwpAQCAtMTUsMjkgKzE1LDM0IEBACiBfX2V4cGVjdGVkLmluZGV4PTM7CiBf
X2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwogCi0vL0NIRUNLIzAKLWlmICgoX19leGVjdXRl
ZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMwOiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgKF9fZXhlY3V0ZWQgaW5zdGFu
Y2VvZiBBcnJheSkgPT09IHRydWUnKTsKLX0KLQotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5s
ZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZC5sZW5ndGgg
PT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVu
Z3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3Rl
ZC5pbmRleCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9l
ezF9Ly5leGVjKHZvaWQgMCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmlu
ZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0KLS8vQ0hFQ0sjMwot
aWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvZXsxfS8uZXhlYyh2b2lkIDApOyBfX2V4
ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZCBpbnN0
YW5jZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChfX2V4
ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCith
c3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5n
dGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
cHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0Jwor
KTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3Ro
OyBpbmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRl
eF0pIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC9lezF9
Ly5leGVjKHZvaWQgMCk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVj
dGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLSAgfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0ExX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QyLmpzCmluZGV4IGQ0Y2MyN2ExMGJk
NzQ1N2ZjN2YxYzEzOTlkODM1YTBhNzEzNTQ0OGMuLmZiYWNiNDVmNDAyMDNjYmNkMjMwNmVhMDg2
MTZjODkwZTUxNDUxYmYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTFfVDIuanMKQEAgLTE2LDI5ICsxNiwzNCBAQAogX19leHBlY3RlZC5pbmRleD0wOwogX19leHBl
Y3RlZC5pbnB1dD0iMTIzIjsKIAotLy9DSEVDSyMwCi1pZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2Vv
ZiBBcnJheSkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19yZSA9
IC8oKDEpfCgxMikpKCgzKXwoMjMpKS87IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMobmV3IFN0cmlu
ZygiMTIzIikpO30gKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKLX0K
LQotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3Ro
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gLygoMSl8KDEyKSkoKDMp
fCgyMykpLzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7fSBfX2V4
ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhuZXcg
U3RyaW5nKCIxMjMiKSk7fSBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRl
eCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMzOiBfX3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsgX19leGVjdXRl
ZCA9IF9fcmUuZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7fSBfX2V4ZWN1dGVkLmlucHV0ID09PSAn
ICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5LAorICB0
cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChfX2V4ZWN1dGVkIGluc3RhbmNlb2Yg
QXJyYXkpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
ZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4Jwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3Rl
ZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBm
b3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0gIGlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLSAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IC8oKDEpfCgxMikpKCgzKXwoMjMpKS87IF9fZXhl
Y3V0ZWQgPSBfX3JlLmV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZFsnICsgaW5k
ZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZFtpbmRleF0pOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtp
bmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1
dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDIwLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0Ex
X1QyMC5qcwppbmRleCBhODRlMmVlNjIzOTQ4MTE0ZTdkYzVlYjg3Y2MyZWQ3ZGYwNTJhZWRmLi4z
NTk3ODQ5NTJhMzNkNzZiYzQ2NTYyYzVjMmZlOTM1Y2UzODdjYWIzIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTFfVDIwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMjAuanMKQEAgLTE1LDMxICsxNSwzNiBAQAog
X19leHBlY3RlZC5pbmRleD03OwogX19leHBlY3RlZC5pbnB1dD0idW5kZWZpbmVkIjsKIAotLy9D
SEVDSyMwCi1pZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7
IHZhciB4OyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwotfQotCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvW2EtZl1kLy5leGVj
KHgpOyB2YXIgeDsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAo
X19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7IHZhciB4OyBfX2V4
ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9
PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4
ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcg
KyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXksCisgIHRy
dWUsCisgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBB
cnJheSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVk
LmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQKIGZv
cih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLSAgaWYg
KF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7
IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcu
IEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVl
KAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQogCiB2YXIgeDsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1
LjEwLjYuMl9BMV9UMjEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDIxLmpzCmluZGV4IDBlMzc5YzFiYjY4NTI4
MjU4NzYzNDMzYmFmMjVkNThkNGE4YjEwMjUuLjgzODNkMmE1N2JlMjVjMjlmYTk3OWQ3YzczMWJj
NzRlMjc1MWJlOWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMjEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0Ex
X1QyMS5qcwpAQCAtMTUsMjkgKzE1LDM0IEBACiBfX2V4cGVjdGVkLmluZGV4PTA7CiBfX2V4cGVj
dGVkLmlucHV0PSJ1bmRlZmluZWQiOwogCi0vL0NIRUNLIzAKLWlmICgoX19leGVjdXRlZCBpbnN0
YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBf
X2V4ZWN1dGVkID0gL1thLXpdbi8uZXhlYyhmdW5jdGlvbigpe30oKSk7IChfX2V4ZWN1dGVkIGlu
c3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0
ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4
ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4
ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBf
X2V4ZWN1dGVkID0gL1thLXpdbi8uZXhlYyhmdW5jdGlvbigpe30oKSk7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0
ZWQuaW5wdXQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAv
W2Etel1uLy5leGVjKGZ1bmN0aW9uKCl7fSgpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSwKKyAgdHJ1ZSwK
KyAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5
KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19l
eGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkLmxlbmd0aCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5w
dXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZh
ciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotICBpZiAoX19l
eGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0gICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel1uLy5leGVjKGZ1bmN0aW9uKCl7fSgp
KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotICB9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS9leGVjL1MxNS4xMC42LjJfQTFfVDMuanMKaW5kZXggZGE4NDU0YjJmM2UwOWRhMGE5YmQxYTcy
ODJjMmVjYzQxMjI1MmM5Zi4uZmExNjhmYTI5YmI3OTY3NTU0ZmY4ZWRlNGQxMTliNWFjMmRhODg3
MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UMy5qcwpAQCAt
MTUsMjkgKzE1LDM0IEBACiBfX2V4cGVjdGVkLmluZGV4PTA7CiBfX2V4cGVjdGVkLmlucHV0PSJh
YmNkZWZnaGkiOwogCi0vL0NIRUNLIzAKLWlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5
KSAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBfX2V4ZWN1dGVkID0g
L2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgKF9fZXhlY3V0ZWQg
aW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKLX0KLQotLy9DSEVDSyMxCi1pZiAoX19leGVj
dXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFi
Y2RlZmdoaSIpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAo
X19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMjogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0
KCJhYmNkZWZnaGkiKSk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0KLS8vQ0hFQ0sjMwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLSAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVj
dCgiYWJjZGVmZ2hpIikpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1
dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0
aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3Rl
ZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGlu
ZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2luZGV4
XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NDogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGki
KSk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLSAgfQorICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAg
ICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0ExX1Q0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Q0LmpzCmluZGV4IDc1YjQ5Mjk0MjBhOTM4MDVhMmU0YmJk
Mjk1Y2JlZmJjMzgwNzExNDIuLmRjZDlmNTVhNjVjNzM1ZTQyY2ZmNTUzMzcyYzIxMWM3MzgxMDE3
MTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDQuanMKQEAg
LTE3LDI5ICsxNywzNCBAQAogX19leHBlY3RlZC5pbmRleD0wOwogX19leHBlY3RlZC5pbnB1dD0i
YWJjZGVmZ2hpIjsKIAotLy9DSEVDSyMwCi1pZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJh
eSkgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19leGVjdXRlZCA9
IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZn
aGkifX0pOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwotfQotCi0v
L0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/
Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVj
dXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAh
PT0gX19leHBlY3RlZC5pbmRleCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19l
eGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJu
ICJhYmNkZWZnaGkifX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRl
eCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYyh7dG9TdHJp
bmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFiY2RlZmdoaSJ9fSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09
ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXksCisg
IHRydWUsCisgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKF9fZXhlY3V0ZWQgaW5zdGFuY2Vv
ZiBBcnJheSkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVj
dGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzQK
IGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLSAg
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYyh7
dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFiY2RlZmdoaSJ9fSk7IF9fZXhlY3V0ZWRbJyAr
IGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWRbaW5kZXhdKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0
ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Q1LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0ExX1Q1LmpzCmluZGV4IDA4MDA2NDRlMjUzNjY0MTVhZjk1MzMxNzVjZTViNjM0ZTU4ZjYwMzcu
LjE2M2I1M2Y0MjUwZTc0MWVjNGIyZDlhY2RiYTRhNWYzYWFkYzYwZDAgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEw
LjYuMl9BMV9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDUuanMKQEAgLTE4LDI5ICsxOCwzNCBAQAog
X19leHBlY3RlZC5pbmRleD0wOwogX19leHBlY3RlZC5pbnB1dD0iYWFiYWFjIjsKIAotLy9DSEVD
SyMwCi1pZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKLQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8Yykq
Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9u
KCl7cmV0dXJuICJhYWJhYWMiO319KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09
IHRydWUnKTsKLX0KLQotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhw
ZWN0ZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVk
ID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJu
IHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gImFhYmFhYyI7fX0pOyBfX2V4ZWN1dGVk
Lmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1
dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0
dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gImFhYmFhYyI7fX0pOyBfX2V4ZWN1
dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBf
X2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX2V4ZWN1
dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0
dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gImFhYmFhYyI7fX0pOyBfX2V4ZWN1
dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZCBpbnN0YW5j
ZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChfX2V4ZWN1
dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwg
dGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1
dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsK
IAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0p
IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19leGVjdXRlZCA9IC8oYWF8YWFi
YWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1
ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZFsnICsgaW5kZXgg
KyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZFtpbmRleF0pOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRl
eF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
W2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRl
eF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDYuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDYu
anMKaW5kZXggZDkzM2MxZGE1ZWY1Mjk2YTVlYjA2N2VmN2MzYzRlYWEzNDkwODcyZC4uNmE5NjVj
NzRjODM5MjVmMWQwOGEwY2ZjZWQwZjk4YmExZDVkYjFmNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0Ex
X1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UNi5qcwpAQCAtMTcsMjkgKzE3LDM0IEBAIFN0cmluZyBp
cyAoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSBhbmQgUmVnRXhwIGlzCiBfX2V4
cGVjdGVkLmluZGV4PTA7CiBfX2V4cGVjdGVkLmlucHV0PSJ6YWFjYmJiY2FjIjsKIAotLy9DSEVD
SyMwCi1pZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKLQl0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkq
Ly5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgKF9fZXhlY3V0ZWQg
aW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKLX0KLQotLy9DSEVDSyMxCi1pZiAoX19leGVj
dXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoKGZ1bmN0
aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyAr
IF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwot
fQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4
KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSsp
PyhiKyk/KGMpKSovLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpOyBf
X2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0
ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBf
X2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJu
ICJ6YWFjYmJiY2FjIn0pKCkpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5p
bnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5LAorICB0cnVlLAorICAnVGhlIHJl
c3VsdCBvZiBldmFsdWF0aW5nIChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxl
bmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5s
ZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3Ro
JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBl
Y3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7
IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0gIGlmIChfX2V4ZWN1dGVkW2lu
ZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjNDogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigp
e3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0g
JyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0p
OwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAg
X19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDcuanMKaW5kZXgg
ZWI1YmM2OWJhOGI3NzU0ZDhmYzE5ZTVlZTU5MmVjNzYxOTU1YTI3Ny4uODc5Yjc4ZWYzOWNlODE2
YTgxZDQwYWQ3MDgxOWIxOWU3MDFhYjVmYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Q3LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMv
UzE1LjEwLjYuMl9BMV9UNy5qcwpAQCAtMTEsMTEgKzExLDEwIEBACiAgICAgL1thLXpdLwogLS0t
Ki8KIAotLy9DSEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9b
YS16XS8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciJ9fSkgdGhyb3cg
ImludG9zdHIiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigp
e3Rocm93ICJpbnRvc3RyIn19KSkpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6
IC9bYS16XS8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciJ9fSkgdGhy
b3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy5leGVjKHt0b1N0cmluZzpmdW5jdGlv
bigpe3Rocm93ICJpbnRvc3RyIn19KSkpOwogfSBjYXRjaCAoZSkgewotCWlmIChlICE9PSAiaW50
b3N0ciIpIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogL1thLXpdLy5leGVjKHt0
b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19KSB0aHJvdyAiaW50b3N0ciIuIEFj
dHVhbDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKGUsICJpbnRvc3RyIiwgJ1Ro
ZSB2YWx1ZSBvZiBlIGlzIGV4cGVjdGVkIHRvIGJlICJpbnRvc3RyIicpOwogfQorCisvLyBUT0RP
OiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTFfVDguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS9leGVjL1MxNS4xMC42LjJfQTFfVDguanMKaW5kZXggMTMwNmYzYmI1YmI4NmY5ZTk0NzQwYTA5
Yjg3YzI3MzQyNTdkOTViZS4uOTNlMGU0ZTlkNmNkNmVhM2Y1YjBlOGIxNzQ2MDMwZTU5YTg0NDE3
MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMV9UOC5qcwpAQCAt
MTEsMTEgKzExLDEwIEBACiAgICAgYW5kIFJlZ0V4cCBpcyAvW2Etel0vCiAtLS0qLwogCi0vL0NI
RUNLIzEKIHRyeSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bYS16XS8uZXhl
Yyh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YifX0p
IHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKC9bYS16XS8uZXhlYyh7dG9TdHJpbmc6dm9p
ZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YifX0pKSk7CiB9IGNhdGNoIChl
KSB7Ci0gIGlmIChlICE9PSAiaW52YWxvZiIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigp
e3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7Ci0g
IH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZShlLCAiaW52YWxvZiIsICdUaGUgdmFsdWUgb2YgZSBpcyBl
eHBlY3RlZCB0byBiZSAiaW52YWxvZiInKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3Nl
cnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0ExX1Q5LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0ExX1Q5LmpzCmluZGV4IGUxZDY2NzFkYzg4NmEyZDcyMzMyZDYxMzc3NDBiNjk1ZWU1OWFkNjgu
LmZiZDM4YTQxMWQ3Yjc2MzRlMTQwMWQzY2FiM2RkODY3ZDc0NjNmZWUgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEw
LjYuMl9BMV9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTFfVDkuanMKQEAgLTExLDEwICsxMSw3IEBACiAK
IHZhciBfX3N0cmluZzsKIAotLy9DSEVDSyMxCiB2YXIgX19yZSA9IC8xfDEyLzsKLWlmIChfX3Jl
LmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6
IHZhciBfX3N0cmluZzsgLzF8MTIvLmV4ZWMoX19zdHJpbmcpID09PSBudWxsOyBmdW5jdGlvbiBf
X3N0cmluZygpe30uIEFjdHVhbDogJyArIChfX3JlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9f
cmUuZXhlYyhfX3N0cmluZyksIG51bGwsICdfX3JlLmV4ZWMoKSBtdXN0IHJldHVybiBudWxsJyk7
CiAKLWZ1bmN0aW9uIF9fc3RyaW5nKCl7fTsKK2Z1bmN0aW9uIF9fc3RyaW5nKCl7fQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1QxLmpzCmluZGV4IGRmZDAwNjJhMWMw
MmIyNDA1MGFmZjU0NDJjMmRlMjg4ZjEzYmMwNjcuLmUzZTk3Y2YyODlkMWM3YzYwYmQ1YTMzYjQw
MjM5ZTIwMzZmOTViNGIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTJfVDEuanMKQEAgLTEzLDExICsxMywxNCBAQAogCiBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAu
cHJvdG90eXBlLmV4ZWM7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdDsgX19pbnN0YW5jZS5leGVjID0gUmVn
RXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdh
dGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0
ZSIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5jZSA9IG5l
dyBPYmplY3Q7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgX19pbnN0
YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChfX2luc3Rh
bmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwogfSBjYXRjaCAoZSkgewotCWlm
ICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKLQkJdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3Q7IF9faW5zdGFuY2UuZXhlYyA9
IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5z
YW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwKKyAgICB0cnVlLAorICAgICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRo
cm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMTAuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJf
VDEwLmpzCmluZGV4IDczY2IyOGQwMTJjYjc2MDdmZjllODM5OTAyNzExOTlmNjRmZTJjNTcuLmFm
MjljYWQ5NDdjNWM0NzdiZDE5Mzg3MGNlYmNjZjFmM2M1YWRiNzggMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYu
Ml9BMl9UMTAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1QxMC5qcwpAQCAtMTEsMTEgKzExLDE0IEBACiAK
IHZhciBleGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhl
YzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVz
c2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEu
MTogZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3Rp
Z2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiB9
IGNhdGNoIChlKSB7Ci0JaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewot
CQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBleGVjID0gUmVnRXhwLnByb3RvdHlwZS5l
eGVjOyBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAg
dHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0
IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJfVDIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1Mx
NS4xMC42LjJfQTJfVDIuanMKaW5kZXggMjUzMGU2YmZiOGJlYjIzNzY1Y2ZkNjc0NjU1OWJkMTk3
OTM4NzM5Ny4uNTE4ZGU4ODBkZmNjZmY5ZmJiY2JjMmU2NGRiMTE3NTc2YWM2MjFkMSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMi5qcwpAQCAtMTMsMTIgKzEz
LDE1IEBACiAKIF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKIAotLy9D
SEVDSyMxCiB0cnkgewogICBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUi
KTsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNlID0gTWF0aDsgX19p
bnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyAgX19pbnN0YW5jZS5leGVjKCJt
ZXNzYWdlIHRvIGludmVzdGlnYXRlIiknKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MS4xOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlw
ZS5leGVjOyAgX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIiknKTsKIH0g
Y2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0J
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3Rh
bmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7ICBfX2luc3RhbmNlLmV4ZWMoIm1lc3Nh
Z2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVk
IHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93
cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UMy5q
cwppbmRleCAzOGE1MmRiNzg3YzBiMjdiM2UxYWUwZmVlMzA3YjA2MTRlNGMzMTI1Li5lNWU2MTE2
NjE5Nzk2NjJjMTkyNTRhZmU4OWMzNmFiMmQ3NmZlYmVhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJf
VDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1QzLmpzCkBAIC0xMSwxNCArMTEsMTcgQEAKIAogX19pbnN0
YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwogCi0vL0NIRUNLIzEKIHRyeSB7CiAg
IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxLjE6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhl
YzsgX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9f
aW5zdGFuY2UoKXt9Jyk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0
YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3Nh
Z2UgdG8gaW52ZXN0aWdhdGUiKTsgZnVuY3Rpb24gX19pbnN0YW5jZSgpe30nKTsKIH0gY2F0Y2gg
KGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5
cGUuZXhlYzsgX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0
aW9uIF9faW5zdGFuY2UoKXt9LiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSBy
ZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQg
dG8gYmUgdHJ1ZScKKyAgKTsKIH0KIAogZnVuY3Rpb24gX19pbnN0YW5jZSgpe307CisKKy8vIFRP
RE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYu
Ml9BMl9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UNC5qcwppbmRleCA1NzljYzEyNzE3NTI3NGEyYTRlMTNh
MmM4NGQyYzYzNWM2MzgxNmUyLi40NjlmMGM1NDhlNGRlZmVmODI3N2YxYmFjNWRjZTExODQxOGM5
NzZhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1Q0LmpzCkBA
IC0xMywxMSArMTMsMTQgQEAKIAogX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5l
eGVjOwogCi0vL0NIRUNLIzEKICAgICB0cnkgewotICAgIAl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiW2EtYl0iKTsgX19pbnN0YW5jZS5leGVj
ID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIiku
IEFjdHVhbDogJyArIChfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkp
OworICAgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3
IFN0cmluZygiW2EtYl0iKTsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVj
OyBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChfX2luc3RhbmNl
LmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwogICAgIH0gY2F0Y2ggKGUpIHsKLSAg
ICAJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAgIAkJdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIlthLWJdIik7
IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0
byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwotICAgIAl9Ci0gICB9CisgICAgICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgICAgICBlIGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgICAg
ICB0cnVlLAorICAgICAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2Yg
VHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICAgICAgKTsKKyAgICB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEw
LjYuMl9BMl9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UNS5qcwppbmRleCBjYmMyYTY3MjU3NTZkYWQwMTk1
YjA2MjM3MjNmM2ZjMmZlNGUxNTZkLi5kNDVmZDMwMjBiNTZmMTFjNGE1N2FlNzM1MTk3YzAzYTVl
Yzk1OTBiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJfVDUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1Q1Lmpz
CkBAIC0xMywxMSArMTMsMTQgQEAKIAogX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlw
ZS5leGVjOwogCi0vL0NIRUNLIzEKICAgdHJ5IHsKICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9
IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBB
Y3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsK
ICAgfSBjYXRjaCAoZSkgewotICAgIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAhPT0gdHJ1
ZSkpIHsKLSAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSBu
ZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhl
YzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwotICAg
IH0KKyAgICBhc3NlcnQuc2FtZVZhbHVlKAorICAgICAgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwK
KyAgICAgIHRydWUsCisgICAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNl
b2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICAgICk7CiAgIH0KKworLy8g
VE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAu
Ni4yX0EyX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1Q2LmpzCmluZGV4IDU5MmQ4YjAwMmQ0ZDdlODcyZmEw
ZjY3ODRkM2IzNjM0NzljNmVkYmUuLjY0ZGQzMjU1ODAxMzA3NjI2Y2EwYjYzNjY2NjcwZTFlYWQw
YTRjMGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJfVDYuanMK
QEAgLTEzLDExICsxMywxNCBAQAogCiBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBl
LmV4ZWM7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4x
OiBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxLjApOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAu
cHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2VbImV4ZWMiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0
ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZVsiZXhlYyJdKCJtZXNzYWdlIHRvIGludmVzdGln
YXRlIikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNlID0g
bmV3IE51bWJlcigxLjApOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7
IF9faW5zdGFuY2VbImV4ZWMiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcg
KyAoX19pbnN0YW5jZVsiZXhlYyJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKIH0gY2F0
Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEuMCk7
IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgX19pbnN0YW5jZVsiZXhl
YyJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAgdHJ1ZSwK
KyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBp
cyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFz
c2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJfVDcuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTJfVDcuanMKaW5kZXggZGExMjhjYTllMWViNGZjZWVmMTM5MmU4Yzk4OTc1YWNlNzdiMzUw
ZC4uNTYwZjE2NmY3OTk0N2JjN2RkOWI5NDY5ZTQzODE0NzliNWIzODAwYiAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUu
MTAuNi4yX0EyX1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UNy5qcwpAQCAtMTMsMTEgKzEzLDE0IEBA
CiAKIE9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKIAotLy9D
SEVDSyMxCiB0cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IF9faW5zdGFuY2Ug
PSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBf
X2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9f
aW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CisgICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBl
LmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0
byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRv
IGludmVzdGlnYXRlIikpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5z
dGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5l
eGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAn
ICsgKGUpKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFR5cGVF
cnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFu
Y2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8vIFRP
RE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYu
Ml9BMl9UOC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UOC5qcwppbmRleCAwOGI5ZWY2NGEzM2Y0NjE5ZDI1MGIy
NWVkNDYzN2M5ODM2ZDY1NWI3Li40OWZkODI1NzJlNWNhMzM0ZDVkYTliYmQyMmZjMzgyNmY2N2Y4
ODMxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTJfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1Q4LmpzCkBA
IC0xMywxMSArMTMsMTQgQEAKIAogT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3Rv
dHlwZS5leGVjOwogCi0vL0NIRUNLIzEKIHRyeSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzEuMTogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnBy
b3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4g
QWN0dWFsOiAnICsgKF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7
CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5jZSA9ICIuIjsgT2Jq
ZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4
ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UuZXhl
YygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKChlIGlu
c3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMS4yOiBfX2luc3RhbmNlID0gIi4iOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAu
cHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIp
LiBBY3R1YWw6ICcgKyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3Rh
bmNlb2YgVHlwZUVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGlu
ZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsK
IH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0EyX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EyX1Q5LmpzCmluZGV4IDBiZGQ3MjRiMWUx
NDZkYWNjNWI5NGM0MmNmMjVlMjc0YzQzMWI3MjIuLmY2NGMxMzFlNDEwMmViMjg1ZjJiODZjNjQz
NWNjM2M1NWQ5NmFmMTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BMl9UOS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTJfVDkuanMKQEAgLTEzLDExICsxMywxNCBAQAogCiBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBS
ZWdFeHAucHJvdG90eXBlLmV4ZWM7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNlID0gMS4wOyBPYmplY3QucHJvdG90eXBlLmV4ZWMg
PSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZl
c3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVz
dGlnYXRlIikpKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNl
ID0gMS4wOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9f
aW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19p
bnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKIH0gY2F0Y2ggKGUpIHsK
LQlpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0JCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSAxLjA7IE9iamVjdC5wcm90b3R5cGUuZXhl
YyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGlu
dmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0
cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3Jt
YXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDEuanMKaW5kZXgg
YWUwOWFmMGM0MDFmMzk0YjUzZTk5NjZmYTE3N2YyOWMzNDY2MWM2NC4uZDc1MzQ3MmRiNDUwYWU1
MWIzN2JiNzMxZmY1ZTE3MWMzNzAzNTZhZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EzX1QxLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMv
UzE1LjEwLjYuMl9BM19UMS5qcwpAQCAtMjUsMTQgKzI1LDE2IEBACiAgICAgfQogfXdoaWxlKHRy
dWUpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4cGVjdGVkLmxlbmd0aCAhPT0gX19tYXRjaGVkLmxl
bmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/OmFi
fGNkKVxcZD8vZy5leGVjKCJhYiAgY2QyICBhYjM0ICBjZCIpOyBfX21hdGNoZWQubGVuZ3RoID09
PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5n
dGgpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICBfX21h
dGNoZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX21hdGNoZWQubGVuZ3RoJworKTsKIAotLy9DSEVD
SyMyCiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7
Ci0JaWYgKF9fZXhwZWN0ZWRbaW5kZXhdICE9PSBfX21hdGNoZWRbaW5kZXhdKSB7Ci0JCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKVxcZD8vZy5leGVj
KCJhYiAgY2QyICBhYjM0ICBjZCIpOyBfX21hdGNoZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBf
X2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fbWF0Y2hlZFtpbmRleF0pOwotCX0K
KyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICBfX21hdGNo
ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fbWF0Y2hlZFtpbmRleF0nCisgICk7CiB9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTNfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDIuanMKaW5kZXggMTY1NGM4MGE2
ZGFkMGNjOTE5NTJhMWNlMTQxMDcyZWM0MjlmZjljOS4uNjVhODY1OTc3NDBlY2U4YzNiMDA3ZmZi
MTgxMzFhNGE3YmQxMmRhZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EzX1QyLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYu
Ml9BM19UMi5qcwpAQCAtMTM0LDIxICsxMzQsMTggQEAKICAgICAgICAgIkFuZCBteSBzb3VsIGZy
b20gb3V0IHRoYXQgc2hhZG93IHRoYXQgbGllcyBmbG9hdGluZyBvbiB0aGUgZmxvb3IiICsKICAg
ICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCiAKLXZhciBORVZFUk1PUkU9MTE7
ICAgICAgIAotICAgICAgIAordmFyIE5FVkVSTU9SRT0xMTsKKwogdmFyIF9fcmUgPSAvW05uXWV2
ZXJtb3JlL2c7CiB2YXIgX19tYXRjaGVkPTA7CiAKIGRvewogICAgIHZhciBfX2V4ZWN1dGVkID0g
X19yZS5leGVjKF9fdGhlX19yYXZlbik7CiAgICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsK
LSAgICAJX19tYXRjaGVkKys7CisgICAgICAgIF9fbWF0Y2hlZCsrOwogICAgIH0gZWxzZSB7Ci0g
ICAgCWJyZWFrOworICAgICAgICBicmVhazsKICAgICB9CiB9d2hpbGUoMSk7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzE6IF9fcmUgPSAvW05uXWV2ZXJtb3JlL2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190
aGVfX3JhdmVuKScrX19tYXRjaGVkKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19tYXRjaGVkLCBO
RVZFUk1PUkUsICdUaGUgdmFsdWUgb2YgX19tYXRjaGVkIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRo
ZSB2YWx1ZSBvZiBORVZFUk1PUkUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BM19UMy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEw
LjYuMl9BM19UMy5qcwppbmRleCA1NDQ2NjE5OTI5MzlhMjc4NWE0ZGMxN2IzMDFmZTk5NmI3YzRm
N2FhLi4xYjk4ZmExNzlhYjhiODY4OTZlZTIxOWI5Y2Q0ZGY2Nzg3NTVmYTdiIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1Mx
NS4xMC42LjJfQTNfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EzX1QzLmpzCkBAIC0xMzQsMjEgKzEzNCwy
MiBAQAogICAgICAgICAiQW5kIG15IHNvdWwgZnJvbSBvdXQgdGhhdCBzaGFkb3cgdGhhdCBsaWVz
IGZsb2F0aW5nIG9uIHRoZSBmbG9vciIgKwogICAgICAgICAiU2hhbGwgYmUgbGlmdGVkIC0gbmV2
ZXJtb3JlISIKIAotdmFyIE5FVkVSTU9SRV9BTkRfRVZFUk1PUkU9MTI7ICAgICAgIAotICAgICAg
IAordmFyIE5FVkVSTU9SRV9BTkRfRVZFUk1PUkU9MTI7CisKIHZhciBfX3JlID0gL1tObl0/ZXZl
cm1vcmUvZzsKIHZhciBfX21hdGNoZWQ9MDsKIAogZG97CiAgICAgdmFyIF9fZXhlY3V0ZWQgPSBf
X3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgICBpZiAoX19leGVjdXRlZCAhPT0gbnVsbCkgewot
ICAgIAlfX21hdGNoZWQrKzsKKyAgICAgICAgX19tYXRjaGVkKys7CiAgICAgfSBlbHNlIHsKLSAg
ICAJYnJlYWs7CisgICAgICAgIGJyZWFrOwogICAgIH0KIH13aGlsZSgxKTsKIAotLy9DSEVDSyMx
Ci1pZiAoX19tYXRjaGVkICE9PSBORVZFUk1PUkVfQU5EX0VWRVJNT1JFKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSAvW05uXT9ldmVybW9yZS9nOyBfX2V4ZWN1dGVkID0g
X19yZS5leGVjKF9fdGhlX19yYXZlbiknK19fbWF0Y2hlZCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX21hdGNoZWQsCisgIE5FVkVSTU9SRV9BTkRfRVZFUk1PUkUsCisgICdUaGUgdmFsdWUg
b2YgX19tYXRjaGVkIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBORVZFUk1PUkVf
QU5EX0VWRVJNT1JFJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BM19UNC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9B
M19UNC5qcwppbmRleCA2ZTA3NjBlZDVmMDU5MmM2NGJhNmExNjBjMTE4NDlhZjBkOWQyOGZmLi5i
Nzk0ZGQ0ZTRiYTNiYzZjM2UyOTI2M2NiYmRkMjQ0MTk5MTUxZDYyIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42
LjJfQTNfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EzX1Q0LmpzCkBAIC0xMzYsMjEgKzEzNiwyMiBAQAog
ICAgICAgICAiQW5kIG15IHNvdWwgZnJvbSBvdXQgdGhhdCBzaGFkb3cgdGhhdCBsaWVzIGZsb2F0
aW5nIG9uIHRoZSBmbG9vciIgKwogICAgICAgICAiU2hhbGwgYmUgbGlmdGVkIC0gbmV2ZXJtb3Jl
ISIKIAotdmFyIEFMTF9USEVfSE9QRUxFU1NfTU9SRT0xODsgICAgICAgCi0gICAgICAgCit2YXIg
QUxMX1RIRV9IT1BFTEVTU19NT1JFPTE4OworCiB2YXIgX19yZSA9IC8oW05uXT9ldmVyfChbTm5d
b3RoaW5nXHN7MSx9KSltb3JlL2c7CiB2YXIgX19tYXRjaGVkPTA7CiAKIGRvewogICAgIHZhciBf
X2V4ZWN1dGVkID0gX19yZS5leGVjKF9fdGhlX19yYXZlbik7CiAgICAgaWYgKF9fZXhlY3V0ZWQg
IT09IG51bGwpIHsKLSAgICAJX19tYXRjaGVkKys7CisgICAgICAgIF9fbWF0Y2hlZCsrOwogICAg
IH0gZWxzZSB7Ci0gICAgCWJyZWFrOworICAgICAgICBicmVhazsKICAgICB9CiB9d2hpbGUoMSk7
CiAKLS8vQ0hFQ0sjMQotaWYgKF9fbWF0Y2hlZCAhPT0gQUxMX1RIRV9IT1BFTEVTU19NT1JFKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90
aGluZ1xcc3sxLH0pKW1vcmUvZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4p
JytfX21hdGNoZWQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19tYXRjaGVkLAorICBBTExf
VEhFX0hPUEVMRVNTX01PUkUsCisgICdUaGUgdmFsdWUgb2YgX19tYXRjaGVkIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBBTExfVEhFX0hPUEVMRVNTX01PUkUnCispOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0EzX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EzX1Q1LmpzCmluZGV4IDViNjQ1OGJlYzVi
MTMzOTM2MjE3N2VhZmNhYzgwYTVmNzczYzVkNGEuLjUxYzgwNGQxOWUyNmM2ZGFlNjVhYzgwODNl
NzFmZmJiMDgzN2JmZTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BM19UNS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTNfVDUuanMKQEAgLTE5LDIwICsxOSwyMiBAQAogZG97CiAgICAgdmFyIF9fZXhlY3V0ZWQgPSBf
X3JlLmV4ZWMoIjEyMyA0NTYgNzg5Iik7CiAgICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsK
LSAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CisgICAgICAgIF9fbWF0Y2hlZC5w
dXNoKF9fZXhlY3V0ZWRbMF0pOwogICAgIH0gZWxzZSB7Ci0gICAgCWJyZWFrOworICAgICAgICBi
cmVhazsKICAgICB9CiB9d2hpbGUodHJ1ZSk7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhwZWN0ZWQu
bGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBfX2V4ZWN1dGVkID0gL1xcZCsvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQu
bGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0
Y2hlZC5sZW5ndGgpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhwZWN0ZWQubGVuZ3Ro
LAorICBfX21hdGNoZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3Ro
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX21hdGNoZWQubGVuZ3RoJworKTsK
IAotLy9DSEVDSyMyCiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0gIGlmIChfX2V4cGVjdGVkW2luZGV4XSAhPT0gX19tYXRjaGVkW2luZGV4XSkg
ewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZCsvZy5l
eGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4
cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fbWF0Y2hlZFtpbmRleF0pOwotICB9Cisg
IGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgX19tYXRjaGVk
W2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX21hdGNoZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0EzX1Q2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0EzX1Q2LmpzCmluZGV4IDZhMjZkZGU3MTIz
NjMyY2E2ZTdjNGM1OTE3YjZmNWZiNzE3Njc2NzQuLjRlMjJiYWZmYTA4ZmYwYzE4OTlhOWMzOGJk
ZDFmZmUwYTg1NjM3M2YgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BM19UNi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTNfVDYuanMKQEAgLTE5LDIwICsxOSwyMiBAQAogZG97CiAgICAgdmFyIF9fZXhlY3V0ZWQgPSBf
X3JlLmV4ZWMoIjEyMyA0NTYgNzg5Iik7CiAgICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsK
LSAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CisgICAgICAgIF9fbWF0Y2hlZC5w
dXNoKF9fZXhlY3V0ZWRbMF0pOwogICAgIH0gZWxzZSB7Ci0gICAgCWJyZWFrOworICAgICAgICBi
cmVhazsKICAgICB9CiB9d2hpbGUodHJ1ZSk7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhwZWN0ZWQu
bGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBfX2V4ZWN1dGVkID0gLyhcXGQrKS9nLmV4ZWMoIjEyMyA0NTYgNzg5Iik7IF9fbWF0Y2hl
ZC5sZW5ndGggPT09ICcgKyAoX19leHBlY3RlZC5sZW5ndGgpICsgJy5BY3R1YWw6ICcgKyAoX19t
YXRjaGVkLmxlbmd0aCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leHBlY3RlZC5sZW5n
dGgsCisgIF9fbWF0Y2hlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fbWF0Y2hlZC5sZW5ndGgnCisp
OwogCi0vL0NIRUNLIzIKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7
IGluZGV4KyspIHsKLSAgaWYgKF9fZXhwZWN0ZWRbaW5kZXhdICE9PSBfX21hdGNoZWRbaW5kZXhd
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCsp
L2cuZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKLSAg
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgIF9fbWF0
Y2hlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XSBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19tYXRjaGVkW2luZGV4XScKKyAgKTsKIH0KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L2V4ZWMvUzE1LjEwLjYuMl9BM19UNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BM19UNy5qcwppbmRleCA1OTE0MDJk
NWNkMGNhOWUwZTcwYWM3NjA0ZTc1ZDc5N2VhZDNiNWNiLi5jMTdkNGQwYjFiZjZlMWY0ZGEwNTQ3
ZjAzYjczYTNmZTAzZmIzNGFlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTNfVDcuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAu
Ni4yX0EzX1Q3LmpzCkBAIC0xOSwyMCArMTksMjIgQEAKIGRvewogICAgIHZhciBfX2V4ZWN1dGVk
ID0gX19yZS5leGVjKCIxMjMgNDU2IDc4OSIpOwogICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxs
KSB7Ci0gICAgCV9fbWF0Y2hlZC5wdXNoKF9fZXhlY3V0ZWRbMF0pOworICAgICAgICBfX21hdGNo
ZWQucHVzaChfX2V4ZWN1dGVkWzBdKTsKICAgICB9IGVsc2UgewotICAgIAlicmVhazsKKyAgICAg
ICAgYnJlYWs7CiAgICAgfQogfXdoaWxlKF9fbWF0Y2hlZC5sZW5ndGg8MTApOwogCi0vL0NIRUNL
IzEKLWlmIChfX2V4cGVjdGVkLmxlbmd0aCAhPT0gX19tYXRjaGVkLmxlbmd0aCkgewotICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19leGVjdXRlZCA9IC9cXGQrLy5leGVjKCIxMjMgNDU2
IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcu
QWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhwZWN0ZWQubGVuZ3RoLAorICBfX21hdGNoZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX21h
dGNoZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9f
ZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0gIGlmIChfX2V4cGVjdGVkW2luZGV4XSAhPT0g
X19tYXRjaGVkW2luZGV4XSkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX2V4
ZWN1dGVkID0gL1xcZCsvLmV4ZWMoIjEyMyA0NTYgNzg5Iik7IF9fbWF0Y2hlZFsnICsgaW5kZXgg
KyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19tYXRjaGVk
W2luZGV4XSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4cGVjdGVkW2luZGV4
XSwKKyAgICBfX21hdGNoZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leHBlY3RlZFtp
bmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fbWF0Y2hlZFtpbmRleF0n
CisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDEuanMK
aW5kZXggOTZkNzYyZmYyYWExMTAwNmY1NDcyMWNkNDE0YTZlMmNjYTUxMDQ1OC4uYWUxMjE1NGZk
MjQyNzEwNjc4MTY3ZTc4YjAwZDZmMWJmYzEwOTgxMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Qx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L2V4ZWMvUzE1LjEwLjYuMl9BNF9UMS5qcwpAQCAtMTcsMjYgKzE3LDMwIEBACiBfX2V4cGVjdGVk
LmluZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsK
IAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3Ro
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9n
OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVj
dXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVu
Z3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxl
bmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgn
CispOwogCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmlu
ZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxk
Py9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19l
eGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5k
ZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRl
eCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7
CiAKLS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7
IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1
dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwK
KyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAot
Ly9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRl
eCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewot
CQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9f
ZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVk
WycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhl
Y3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2Yg
X19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWRbaW5kZXhdJworICApOwogfQogCiBfX3JlLmxhc3RJbmRleCA9IDEyOwpAQCAtNDcsMjQg
KzUxLDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMTc7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFh
Y2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sjNQotaWYgKF9fZXhlY3V0ZWQubGVuZ3Ro
ICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBf
X3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9
IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09
PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0
aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBl
Y3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVD
SyM2Ci1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0
SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQy
Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1
dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5k
ZXgnCispOwogCi0vL0NIRUNLIzcKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVk
LmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IF9fcmUgPSAvKD86YWJ8Y2Qp
XFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IDEyOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNk
MjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQu
aW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1l
VmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUg
dmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjOAogZm9yKHZhciBpbmRleD0wOyBp
bmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4
XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6
IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IDEyOyBfX2V4ZWN1dGVk
ID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5k
ZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVj
dXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2lu
ZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0
ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2lu
ZGV4XScKKyAgKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UMTAuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRf
VDEwLmpzCmluZGV4IGFjMzM1NjI5NGJhZTk4MGZkMzI2MjRiMTk2MzIwZDYyMmMyZmQxY2IuLmMz
OWZjM2Q3ZDEwODYwODIzODBmYmQ4YzUzZTBlZjJiNzhkMzQ3NDYgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYu
Ml9BNF9UMTAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QxMC5qcwpAQCAtMTksMjYgKzE5LDMwIEBACiBf
X2V4cGVjdGVkLmluZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00
NDRhYjQyIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0
ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSAvKD86YWJ8
Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIi
KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFj
ZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVk
LmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0KLS8vQ0hFQ0sj
MwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQg
PSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09
PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0
ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFs
dWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhl
Y3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVj
dXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5p
bnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVk
Lmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3Rl
ZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSAvKD86YWJ8
Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIi
KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAn
VGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2
YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KIAogdmFyIF9fb2JqID0ge3ZhbHVl
T2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX07CkBAIC01MSwyNCArNTUsMjggQEAKIF9fZXhwZWN0
ZWQuaW5kZXggPSAxNzsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQy
IjsKIAotLy9DSEVDSyM1Ci1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVu
Z3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxk
Py9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJ
bmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFi
NDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzYKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IF9fcmUgPSAv
KD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319
OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIz
M2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5k
ZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjNwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQg
IT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogX19y
ZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4g
MTI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFh
Y2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3Rl
ZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1Ro
ZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1
ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM4CiBmb3IodmFyIGluZGV4PTA7
IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5k
ZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
ODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXty
ZXR1cm4gMTI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4
ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09
PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4
XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAg
IF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0g
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICAp
OwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QxMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UMTEuanMKaW5k
ZXggODA5YjQxMDU1NDQ3MzM3MTU4M2VjMzEyNzc3ZTgyZTUzNzFlZjZhNi4uNDg3ZTA3Njk0MmZm
ZWVmMDc2MzVkNGVjMTgxY2I0YmNlN2QwYjQwYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QxMS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTRfVDExLmpzCkBAIC0xOSwzNyArMTksNDAgQEAKIF9fZXhwZWN0ZWQu
aW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwog
Ci0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgp
IHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7
IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1
dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9
PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUg
PSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJu
bTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5sZW5ndGgnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVk
LmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzMKLWlm
IChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19y
ZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyAr
IF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0K
LQotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBp
bmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkg
ewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7
IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1
dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6
ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9f
ZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQogCiB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlv
bigpe3Rocm93ICJpbnRvaW50Ijt9fTsKIAogX19yZS5sYXN0SW5kZXggPSBfX29iajsKIAotLy9D
SEVDSyM1CiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNS4xOiBfX29iaiA9IHt2
YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OyBfX3JlLmxhc3RJbmRleCA9IF9f
b2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKSB0aHJv
dyAiaW50b2ludCIuIEFjdHVhbDogJyArIChfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0
MiIpKSk7CiB9IGNhdGNoIChlKSB7Ci0JaWYgKGUgIT09ICJpbnRvaW50IikgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNS4yOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cg
ImludG9pbnQiO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5l
eGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKSAgdGhyb3cgImludG9pbnQiLiBBY3R1YWw6ICcg
KyAoZSkpOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZShlLCAiaW50b2ludCIsICdUaGUgdmFsdWUg
b2YgZSBpcyBleHBlY3RlZCB0byBiZSAiaW50b2ludCInKTsKIH0KKworLy8gVE9ETzogQ29udmVy
dCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QxMi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMv
UzE1LjEwLjYuMl9BNF9UMTIuanMKaW5kZXggMTBiYjE1NDkwNDUyMDU4YzU1M2UyMzk3MmIzYTgy
ZTE5ZmJmY2Y1Ny4uZGM0YWZlN2RiZDg0YWU5NzExNTk1NDJhMTMyMDg0ZjAzNzc4ZWMyOCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
ZXhlYy9TMTUuMTAuNi4yX0E0X1QxMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDEyLmpzCkBAIC0yMCwy
NiArMjAsMzAgQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICJh
YWNkMjIzM2FiMTJubTQ0NGFiNDIiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0
aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTog
X19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMz
YWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVu
Z3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQotCi0vL0NIRUNLIzIK
LWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0g
X19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KLQotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1
dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8v
ZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0
aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3Rl
ZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2
YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBv
ZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0CiBmb3IodmFyIGluZGV4PTA7IGlu
ZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhd
ICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDog
X19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMz
YWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBl
Y3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRb
aW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQg
dG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQogCiB2YXIg
X19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9u
KCl7cmV0dXJuIHt9O319OwpAQCAtNTIsMjQgKzU2LDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0g
MTc7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hF
Q0sjNQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmog
PSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0
dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVj
KCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4
cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0
aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzYKLWlmIChf
X2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt0b1N0cmluZzpm
dW5jdGlvbigpe3JldHVybiAxMjt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fX07IF9f
cmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIx
Mm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyM3Ci1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0g
X19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM3OiBfX3JlID0g
Lyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7
fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2Jq
OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVj
dXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQs
CisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAK
LS8vQ0hFQ0sjOAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5k
ZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsK
LQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBf
X29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxMjt9LHZhbHVlT2Y6ZnVuY3Rpb24o
KXtyZXR1cm4ge307fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3Jl
LmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICdd
ID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2lu
ZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAor
ICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRl
eF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJwor
ICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QyLmpzCmlu
ZGV4IDRlYzYyYmFhNGVjMTY0MjBmOGUwZDAzZTcwYThmODQxMTU2YTBlMjEuLmIxY2QwZmI1Mjdh
ZDE0YzNlNDEyZDgyYjFkODk5MzAwNDgzNWNiZTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UMi5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9l
eGVjL1MxNS4xMC42LjJfQTRfVDIuanMKQEAgLTE5LDI2ICsxOSwzMCBAQAogX19leHBlY3RlZC5p
bmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAK
LS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsg
X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0
ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0
aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5n
dGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJwor
KTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRl
eCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8v
ZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhl
Y3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4
LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwog
Ci0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBf
X2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRl
ZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisg
IF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8v
Q0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgr
KykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJ
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4
ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsn
ICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1
dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVj
dGVkW2luZGV4XScKKyAgKTsKIH0KIAogX19yZS5sYXN0SW5kZXggPSB1bmRlZmluZWQ7CkBAIC00
OSwyNCArNTMsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9
ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwogCi0vL0NIRUNLIzUKLWlmIChfX2V4ZWN1dGVkLmxl
bmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBf
X2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRl
ZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhl
Y3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3Ro
LAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCisp
OwogCi0vL0NIRUNLIzYKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9n
OyBfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFj
ZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVk
LmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzcKLWlmIChfX2V4ZWN1dGVkLmlu
cHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6
IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsgX19l
eGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQu
aW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBf
X2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NI
RUNLIzgKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4Kysp
IHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5s
YXN0SW5kZXggPSB1bmRlZmluZWQ7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIx
Mm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3Rl
ZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3Nl
cnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5k
ZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9T
MTUuMTAuNi4yX0E0X1QzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1QzLmpzCmluZGV4IGQ4NGMyMDg2YzY5YTcz
ODZjYmY1NWI0NWY1NTNmMGY5ZmU4ODVmMmUuLmVhNzNlZWQxNTlmY2VhNjM5N2Q2MGM0NjBjODFj
OTEzYjAwNTUwMDUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UMy5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRf
VDMuanMKQEAgLTE3LDI2ICsxNywzMCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVj
dGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9f
ZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUu
ZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsg
X19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5s
ZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1p
ZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9f
cmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcg
KyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmlu
ZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1
YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChf
X2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5l
eGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBp
bmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1
dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVj
KCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0g
JyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0p
OwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBf
X2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsK
IH0KIAogX19yZS5sYXN0SW5kZXggPSB2b2lkIDA7CkBAIC00NywyNCArNTEsMjggQEAKIF9fZXhw
ZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFi
NDIiOwogCi0vL0NIRUNLIzUKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5s
ZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNTogX19yZSA9IC8oPzphYnxjZClc
XGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJh
YWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVj
dGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwK
KyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzYKLWlmIChfX2V4
ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHZvaWQg
MDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhl
Y3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4
LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXgg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwog
Ci0vL0NIRUNLIzcKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBf
X3JlLmxhc3RJbmRleCA9IHZvaWQgMDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNh
YjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9f
ZXhwZWN0ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzgKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8
X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09
IF9fZXhwZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBfX3Jl
ID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB2b2lkIDA7IF9fZXhlY3V0ZWQg
PSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRl
eCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5k
ZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5k
ZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q0
LmpzCmluZGV4IDU2ZWRjOTM2ZDAxZTU1ZDFiODM2ZjI5ZjI3NjZlYjBiYjY5ZDRmMzkuLmRjNDJj
ZGU5NjNmMzgyYTk2NTc2MmUwZGZmNWQ2YjA4MDE5MjYzNGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9B
NF9UNC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDQuanMKQEAgLTE3LDI2ICsxNywzMCBAQAogX19leHBl
Y3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0
MiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxl
bmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxc
ZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9f
ZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcg
KyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
Lmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRl
ZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVu
Z3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3Rl
ZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNk
KVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7
IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAn
ICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVk
LmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
aW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgn
CispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlu
cHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxk
Py9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19l
eGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBf
X2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5w
dXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1
dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7
CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsg
aW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0p
IHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9n
OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVj
dXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFs
OiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBf
X2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVl
IG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBf
X2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KIAogX19yZS5sYXN0SW5kZXggPSBudWxsOwpAQCAt
NDcsMjQgKzUxLDI4IEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQg
PSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKIAotLy9DSEVDSyM1Ci1pZiAoX19leGVjdXRlZC5s
ZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IG51bGw7IF9fZXhl
Y3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxl
bmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisg
IF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAK
LS8vQ0hFQ0sjNgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9f
cmUubGFzdEluZGV4ID0gbnVsbDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEy
bm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsg
Jy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhw
ZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzcKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBf
X2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IF9fcmUgPSAv
KD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IG51bGw7IF9fZXhlY3V0ZWQgPSBfX3Jl
LmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsg
X19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1
dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM4CiBmb3IodmFy
IGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhl
Y3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gbnVs
bDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhl
Y3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVh
bDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
X19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1
ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1Mx
NS4xMC42LjJfQTRfVDUuanMKaW5kZXggNDg4YzE2NjEwMDZhNTUyY2Y0M2Q1YTdlZDljNjM0MWI4
ZmE1NGM1Ny4uOWFmM2I1ZmJkZGRiMDU0OWZhZjc4YTIyZmM5YTE2ZGUzZmIxNjRjMSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0E0X1Q1LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UNS5qcwpAQCAtMTksMjYgKzE5
LDMwIEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMjsKIF9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIy
MzNhYjEybm00NDRhYjQyIjsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZC5sZW5ndGggIT09
IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUg
PSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJu
bTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KLQotLy9DSEVDSyMyCi1pZiAo
X19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUu
ZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBf
X2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Ci0K
LS8vQ0hFQ0sjMwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9f
ZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVk
LmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0
ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisg
IF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5k
ZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVh
bCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUg
b2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxf
X2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0g
X19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUg
PSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJu
bTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRb
aW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4
XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KIAogX19yZS5sYXN0
SW5kZXggPSB4OwpAQCAtNDksMjYgKzUzLDMwIEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMjsKIF9f
ZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKIAotLy9DSEVDSyM1Ci1p
ZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRl
eCA9IHg7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyB2
YXIgeDsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFj
dHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBf
X2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBl
Y3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzYKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBf
X2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IF9fcmUgPSAv
KD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHg7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4
ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyB2YXIgeDsgX19leGVjdXRlZC5pbmRleCA9PT0g
JyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQu
aW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBl
cXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjNwotaWYg
KF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0g
eDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4
OyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWQuaW5wdXQpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbnB1dCwKKyAgX19leHBlY3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmlucHV0IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0
JworKTsKIAotLy9DSEVDSyM4CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVu
Z3RoOyBpbmRleCsrKSB7Ci0JaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2lu
ZGV4XSkgewotCQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjODogX19yZSA9IC8oPzphYnxjZClc
XGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIy
MzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAn
ICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7
Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9f
ZXhwZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwog
fQogCiB2YXIgeDsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UNi5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UNi5q
cwppbmRleCBlZjgwZDRlMmVjZmI5MzRlNjIyZTE2NzY1YjljMjFlZWRmMmJmNzEzLi4xZWRhZGIy
YWVkM2RkMWI0ODRjOTg3ZGQwMGJiZTc1N2JmOWE5MWU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRf
VDYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q2LmpzCkBAIC0xNywyNiArMTcsMzAgQEAKIF9fZXhwZWN0
ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIi
OwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5n
dGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/
L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4
ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5s
ZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQu
bGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0
aCcKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQu
aW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19yZSA9IC8oPzphYnxjZClc
XGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBf
X2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyAr
IF9fZXhlY3V0ZWQuaW5kZXgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5p
bmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlu
ZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4Jwor
KTsKIAotLy9DSEVDSyMzCi1pZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1
dCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8v
ZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhl
Y3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlucHV0
LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5wdXQg
aXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5wdXQnCispOwog
Ci0vL0NIRUNLIzQKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGlu
ZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7
Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsg
X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0
ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDog
JyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgX19l
eGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAgJ1RoZSB2YWx1ZSBv
ZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19l
eHBlY3RlZFtpbmRleF0nCisgICk7CiB9CiAKIF9fcmUubGFzdEluZGV4ID0gZmFsc2U7CkBAIC00
NywyNCArNTEsMjggQEAKIF9fZXhwZWN0ZWQuaW5kZXggPSAyOwogX19leHBlY3RlZC5pbnB1dCA9
ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwogCi0vL0NIRUNLIzUKLWlmIChfX2V4ZWN1dGVkLmxl
bmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gZmFsc2U7IF9fZXhl
Y3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0g
X19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09
ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3Ro
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVj
dGVkLmxlbmd0aCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNL
IzYKLWlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJ
bmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFi
NDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9f
ZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsg
X19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmlu
ZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5k
ZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCisp
OwogCi0vL0NIRUNLIzcKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0
KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9n
OyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIz
M2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00
NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBf
X2V4ZWN1dGVkLmlucHV0LAorICBfX2V4cGVjdGVkLmlucHV0LAorICAnVGhlIHZhbHVlIG9mIF9f
ZXhlY3V0ZWQuaW5wdXQgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0
ZWQuaW5wdXQnCispOwogCi0vL0NIRUNLIzgKIGZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBl
Y3RlZC5sZW5ndGg7IGluZGV4KyspIHsKLQlpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhw
ZWN0ZWRbaW5kZXhdKSB7Ci0JCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBfX3JlID0gLyg/
OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBmYWxzZTsgX19leGVjdXRlZCA9IF9fcmUu
ZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFh
Y2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q3LmpzCmluZGV4IDE3MWQz
OTQ2ODQ0OTRmYjJmMDZkOTM5ZWJjZDE0NWU3NDcxZWY4N2UuLjc0MzQ4MjhlOWZjZDk0NjBiNTU1
M2NjYmQ3ZmI5ZjEwZWJjZTY0YzcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UNy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4x
MC42LjJfQTRfVDcuanMKQEAgLTE5LDI2ICsxOSwzMCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7
CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRl
ZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3Ro
ID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxl
bmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19l
eHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9D
SEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVj
dXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4
cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNL
IzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVk
ID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0
ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAog
Zm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0g
X19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXgg
KyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4
XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRb
aW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4
XScKKyAgKTsKIH0KIAogX19yZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsKQEAgLTQ5LDI0ICs1Mywy
OCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMz
YWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sjNQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBf
X2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBfX3JlID0g
Lyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9
IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4
ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9f
ZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVu
Z3RoLAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjNgotaWYg
KF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0g
TWF0aC5OYU47IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIp
OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVj
dXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4
ZWN1dGVkLmluZGV4KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgs
CisgIF9fZXhwZWN0ZWQuaW5kZXgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAK
LS8vQ0hFQ0sjNwotaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9f
cmUubGFzdEluZGV4ID0gTWF0aC5OYU47IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMz
YWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0
NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBB
Y3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9f
ZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19l
eGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3Rl
ZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjOAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVj
dGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBl
Y3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IF9fcmUgPSAvKD86
YWJ8Y2QpXFxkPy9nOyByZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUu
ZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFh
Y2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsg
X19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0J
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhw
ZWN0ZWRbaW5kZXhdLAorICAgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0X1Q4LmpzCmluZGV4IGVkYTJh
YTEwNDk2ZDEzMjgyYmE2ZTBkMjYwOGFiNmUxNjMyMjdiNmQuLjJmNWU2YzYwMTZjMTcyZDBmOTA3
MjQyNWNhM2Y5ZmE4OGM5ZGJmOTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UOC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4x
MC42LjJfQTRfVDguanMKQEAgLTE3LDI2ICsxNywzMCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7
CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sj
MQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRl
ZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3Ro
ID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxl
bmd0aCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19l
eHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9D
SEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVj
dXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5k
ZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5p
bmRleCk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4
cGVjdGVkLmluZGV4LAorICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNL
IzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVk
ID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9
PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0
ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0
byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAog
Zm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlm
IChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0g
X19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXgg
KyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRl
ZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4
XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRb
aW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4
XScKKyAgKTsKIH0KIAogX19yZS5sYXN0SW5kZXggPSAiMTIiOwpAQCAtNDcsMjQgKzUxLDI4IEBA
CiBfX2V4cGVjdGVkLmluZGV4ID0gMTc7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIx
Mm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sjNQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4
cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBfX3JlID0gLyg/
OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAiMTIiOyBfX2V4ZWN1dGVkID0gX19yZS5l
eGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTtfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNk
MjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVk
Lmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQubGVuZ3RoLAorICBfX2V4cGVjdGVkLmxlbmd0aCwKKyAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZC5sZW5ndGgnCispOwogCi0vL0NIRUNLIzYKLWlmIChfX2V4ZWN1
dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9ICIxMiI7IF9f
ZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpO19fZXhlY3V0ZWQg
PSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09
PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgp
OwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbmRleCwKKyAgX19leHBlY3Rl
ZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmluZGV4IGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4JworKTsKIAotLy9DSEVDSyM3Ci1p
ZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewotCXRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXgg
PSAiMTIiOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTtf
X2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRl
ZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1
dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisg
IF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBl
eHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8v
Q0hFQ0sjOAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgr
KykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJ
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3Jl
Lmxhc3RJbmRleCA9ICIxMiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5t
NDQ0YWI0MiIpO19fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIp
OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAn
LiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Ci0JfQorICBhc3NlcnQuc2FtZVZhbHVl
KAorICAgIF9fZXhlY3V0ZWRbaW5kZXhdLAorICAgIF9fZXhwZWN0ZWRbaW5kZXhdLAorICAgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZFtpbmRleF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWRbaW5kZXhdJworICApOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E0
X1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
ZXhlYy9TMTUuMTAuNi4yX0E0X1Q5LmpzCmluZGV4IGFlZmI4Y2EyOTQ3MjkyMzI0NjhlNmFlMTNk
YjgwODBkYmUzMDUxMmQuLjk4MWJlODJkNjdlMThiNDJjMWI5ZDg3OTY5MzFkNDg1ZTE5MDE1MWEg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNF9UOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTRfVDkuanMKQEAgLTE5
LDI2ICsxOSwzMCBAQAogX19leHBlY3RlZC5pbmRleCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0g
ImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8vQ0hFQ0sjMQotaWYgKF9fZXhlY3V0ZWQubGVu
Z3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIy
MzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5s
ZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdU
aGUgdmFsdWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZh
bHVlIG9mIF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKIAotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRl
ZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFj
ZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVk
LmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX2V4ZWN1dGVkLmluZGV4LAorICBfX2V4cGVjdGVkLmluZGV4LAorICAnVGhl
IHZhbHVlIG9mIF9fZXhlY3V0ZWQuaW5kZXggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVl
IG9mIF9fZXhwZWN0ZWQuaW5kZXgnCispOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlu
cHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6
IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIz
M2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5w
dXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9fZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2Yg
X19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hFQ0sjNAogZm9yKHZhciBpbmRleD0wOyBpbmRl
eDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAh
PT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzQ6IF9f
cmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2Fi
MTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0
ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVkW2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2lu
ZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRv
IGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkW2luZGV4XScKKyAgKTsKIH0KIAogX19yZS5s
YXN0SW5kZXggPSAiZWxldmVuIjsKQEAgLTQ5LDI0ICs1MywyOCBAQAogX19leHBlY3RlZC5pbmRl
eCA9IDI7CiBfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CiAKLS8v
Q0hFQ0sjNQotaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19y
ZS5sYXN0SW5kZXggPSAiZWxldmVuIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNh
YjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0
YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4g
QWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
X19leGVjdXRlZC5sZW5ndGgsCisgIF9fZXhwZWN0ZWQubGVuZ3RoLAorICAnVGhlIHZhbHVlIG9m
IF9fZXhlY3V0ZWQubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4
cGVjdGVkLmxlbmd0aCcKKyk7CiAKLS8vQ0hFQ0sjNgotaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09
IF9fZXhwZWN0ZWQuaW5kZXgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNjogX19yZSA9
IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQg
PSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5l
eGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9f
ZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKLX0KK2Fz
c2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5kZXgsCisgIF9fZXhwZWN0ZWQuaW5kZXgs
CisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbmRleCBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbmRleCcKKyk7CiAKLS8vQ0hFQ0sjNwotaWYgKF9fZXhl
Y3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gImVsZXZl
biI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4
ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5p
bnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVk
LmlucHV0KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fZXhlY3V0ZWQuaW5wdXQsCisgIF9f
ZXhwZWN0ZWQuaW5wdXQsCisgICdUaGUgdmFsdWUgb2YgX19leGVjdXRlZC5pbnB1dCBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgX19leHBlY3RlZC5pbnB1dCcKKyk7CiAKLS8vQ0hF
Q0sjOAogZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykg
ewotCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKLQkJdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nO19fcmUubGFz
dEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5t
NDQ0YWI0MiIpOyAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQy
Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSAr
ICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKLQl9CisgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgX19leGVjdXRlZFtpbmRleF0sCisgICAgX19leHBlY3RlZFtpbmRleF0sCisgICAg
J1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkW2luZGV4XSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgX19leHBlY3RlZFtpbmRleF0nCisgICk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTVfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS9leGVjL1MxNS4xMC42LjJfQTVfVDEuanMKaW5kZXggYzM3ZmQyZDE4ZjE2ODk5MTU1NjBhNGFk
Y2U1YjA2Nzc2YjAxMzIzNS4uNTIzMDlkOTg0MmIxYzZhMmFjMDNhOWM5MjI0NTE0NTkxYTJlYzlk
YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E1X1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNV9UMS5qcwpAQCAt
MTksMzYgKzE5LDMzIEBACiBfX2V4cGVjdGVkLmluZGV4ID0gMjE7CiBfX2V4cGVjdGVkLmlucHV0
ID0gImFhYzFkejIyMzNhMWJ6MTJubTQ0NGFiNDIiOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1
dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMo
ImFhYzFkejIyMzNhMWJ6MTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBf
X2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKLX0K
LQotLy9DSEVDSyMyCi1pZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsg
X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4
ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9f
ZXhlY3V0ZWQuaW5kZXgpOwotfQotCi0vL0NIRUNLIzMKLWlmIChfX2V4ZWN1dGVkLmlucHV0ICE9
PSBfX2V4cGVjdGVkLmlucHV0KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUg
PSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWMxZHoyMjMzYTFi
ejEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0
ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBfX2V4ZWN1dGVkLmxlbmd0aCwKKyAgX19leHBlY3RlZC5sZW5ndGgsCisgICdUaGUgdmFs
dWUgb2YgX19leGVjdXRlZC5sZW5ndGggaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IF9fZXhwZWN0ZWQubGVuZ3RoJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRl
ZC5pbmRleCwKKyAgX19leHBlY3RlZC5pbmRleCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVk
LmluZGV4IGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmluZGV4
JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19leGVjdXRlZC5pbnB1dCwKKyAgX19leHBl
Y3RlZC5pbnB1dCwKKyAgJ1RoZSB2YWx1ZSBvZiBfX2V4ZWN1dGVkLmlucHV0IGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVkLmlucHV0JworKTsKIAotLy9DSEVDSyM0
CiBmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7Ci0J
aWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewotCQl0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQg
PSBfX3JlLmV4ZWMoImFhYzFkejIyMzNhMWJ6MTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsg
aW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19l
eGVjdXRlZFtpbmRleF0pOwotCX0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBfX2V4ZWN1dGVk
W2luZGV4XSwKKyAgICBfX2V4cGVjdGVkW2luZGV4XSwKKyAgICAnVGhlIHZhbHVlIG9mIF9fZXhl
Y3V0ZWRbaW5kZXhdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX2V4cGVjdGVk
W2luZGV4XScKKyAgKTsKIH0KIAogX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyIik7CiAK
LS8vQ0hFQ0sjNQotaWYgKF9fZXhlY3V0ZWQpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
NTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2Qy
MiIpOyBfX2V4ZWN1dGVkID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hFQ0sjNgotaWYgKF9fcmUubGFz
dEluZGV4ICE9PSAwKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzY6IF9fcmUgPSAvKD86
YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIiKTsgX19yZS5sYXN0
SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwotfQorYXNzZXJ0KCFf
X2V4ZWN1dGVkLCAnVGhlIHZhbHVlIG9mICFfX2V4ZWN1dGVkIGlzIGV4cGVjdGVkIHRvIGJlIHRy
dWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5sYXN0SW5kZXgsIDAsICdUaGUgdmFsdWUgb2Yg
X19yZS5sYXN0SW5kZXggaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0E1X1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0E1X1QyLmpzCmluZGV4IDE2YzgxMzhkMDEyNjkyNWRjMzhjYjU2
NTVhNDNlMTgwNTY4MGMxNDguLjMzY2Q1YTk1NWM5N2U3ZmQ2NDE3Mzg0OTI3NjUzZWMxY2EyMGZk
YjEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTVfVDIuanMKQEAg
LTE0LDEyICsxNCw1IEBACiBfX3JlLmxhc3RJbmRleD0xMDA7CiB2YXIgX19leGVjdXRlZCA9IF9f
cmUuZXhlYygiYWFjZDIyICIpOwogCi0vL0NIRUNLIzEKLWlmIChfX2V4ZWN1dGVkKSB7Ci0JdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxh
c3RJbmRleD0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiAiKTsgX19leGVjdXRl
ZCA9PT0gdHJ1ZScpOwotfQotCi0vL0NIRUNLIzIKLWlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsg
X19yZS5sYXN0SW5kZXg9MTAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7IF9f
cmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKLX0KK2Fz
c2VydCghX19leGVjdXRlZCwgJ1RoZSB2YWx1ZSBvZiAhX19leGVjdXRlZCBpcyBleHBlY3RlZCB0
byBiZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUubGFzdEluZGV4LCAwLCAnVGhlIHZh
bHVlIG9mIF9fcmUubGFzdEluZGV4IGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1
LjEwLjYuMl9BNV9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BNV9UMy5qcwppbmRleCBhYTIwODgwOTUyYzU0MzA0
ZDM0OWU3ZGYxZDAyMGI4MDNkMTQwNzhhLi5iNzE4YTljMzQ5N2QyMDQ5NzRhNGVlZWNkZDIzN2Nk
NGI1MzBmYmJhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTVfVDMuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E1X1Qz
LmpzCkBAIC0xNCwyNSArMTQsMTEgQEAKIF9fcmUubGFzdEluZGV4PS0xOwogdmFyIF9fZXhlY3V0
ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiAiKTsKIAotLy9DSEVDSyMxCi1pZiAoX19leGVjdXRlZFsw
XSAhPT0gImNkMiIpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IC8oPzph
YnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4PS0xOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJh
YWNkMjIgIik7IF9fZXhlY3V0ZWRbMF0gPT09ICJjZDIiJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYg
KF9fcmUubGFzdEluZGV4ICE9PSA1KSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9f
cmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0tMTsgX19leGVjdXRlZCA9IF9f
cmUuZXhlYygiYWFjZDIyICIpOyBfX3JlLmxhc3RJbmRleCA9PT0gNS4gQWN0dWFsOiAnICsgKF9f
cmUubGFzdEluZGV4KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fZXhlY3V0ZWRbMF0sICJjZDIi
LCAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbMF0gaXMgZXhwZWN0ZWQgdG8gYmUgImNkMiInKTsK
K2Fzc2VydC5zYW1lVmFsdWUoX19yZS5sYXN0SW5kZXgsIDUsICdUaGUgdmFsdWUgb2YgX19yZS5s
YXN0SW5kZXggaXMgZXhwZWN0ZWQgdG8gYmUgNScpOwogCiBfX3JlLmxhc3RJbmRleD0tMTAwOwog
X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyICIpOwogCi0vL0NIRUNLIzMKLWlmIChfX2V4
ZWN1dGVkWzBdICE9PSAiY2QyIikgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMzOiBfX3Jl
ID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3Jl
LmV4ZWMoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXg9LTEwMDsgX19leGVjdXRlZCA9IF9fcmUu
ZXhlYygiYWFjZDIyICIpOyBfX2V4ZWN1dGVkWzBdID09PSAiY2QyIicpOwotfQotCi0vL0NIRUNL
IzQKLWlmIChfX3JlLmxhc3RJbmRleCAhPT0gNSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0
ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXg9LTEwMDsgX19leGVjdXRl
ZCA9IF9fcmUuZXhlYygiYWFjZDIyICIpOyBfX3JlLmxhc3RJbmRleCA9PT0gNS4gQWN0dWFsOiAn
ICsgKF9fcmUubGFzdEluZGV4KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fZXhlY3V0ZWRbMF0s
ICJjZDIiLCAnVGhlIHZhbHVlIG9mIF9fZXhlY3V0ZWRbMF0gaXMgZXhwZWN0ZWQgdG8gYmUgImNk
MiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5sYXN0SW5kZXgsIDUsICdUaGUgdmFsdWUgb2Yg
X19yZS5sYXN0SW5kZXggaXMgZXhwZWN0ZWQgdG8gYmUgNScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4y
X0E2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
ZXhlYy9TMTUuMTAuNi4yX0E2LmpzCmluZGV4IGVhNmRmN2NiYjU3NzlkM2FlZWVmMGI5NjAyZTli
Zjg0MjIyMDAwNDUuLjVhMWMwMmYzYzVhMGYwYTI2NjhhMWI4M2JmY2NiMDQxZWJlNjM4MDMgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L2V4ZWMvUzE1LjEwLjYuMl9BNi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTYuanMKQEAgLTYsOCArNiw4IEBA
CiBlczVpZDogMTUuMTAuNi4yX0E2CiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgUmVnRXhwLnByb3Rv
dHlwZS5leGVjLnByb3RvdHlwZQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoUmVnRXhwLnByb3Rv
dHlwZS5leGVjLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlID09PSB1bmRlZmluZWQu
IEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlKSk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlLAorICB1bmRl
ZmluZWQsCisgICdUaGUgdmFsdWUgb2YgUmVnRXhwLnByb3RvdHlwZS5leGVjLnByb3RvdHlwZSBp
cyBleHBlY3RlZCB0byBlcXVhbCB1bmRlZmluZWQnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E3
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhl
Yy9TMTUuMTAuNi4yX0E3LmpzCmluZGV4IGNiYWE1N2NhODM0MGJhYTVhMDNmZmY5NTk2NjJmNjE5
NWI2MzQ4MmYuLmYzMWZmOGEyYTI5ZjM5ZWVmNzU5YjUwNTA1OTJjMmFhNDVjMGMxYTQgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4
ZWMvUzE1LjEwLjYuMl9BNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTcuanMKQEAgLTEzLDcgKzEzLDExIEBA
CiAgIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzEuMTogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5leGVjIHRocm93IFR5cGVF
cnJvci4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKChl
IGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBl
RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBl
IGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZh
bHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
KyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0E4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9TMTUuMTAuNi4yX0E4LmpzCmluZGV4IGQ3YTEzMzMyN2Ix
MTBkYTZmODcxYzBkOWM3ODNlOWY2ZTU3MDY4ODguLjU0YTg4YzFkMjFlNGNhNzZiODQyMjNlMmFh
YWFjMDVmZmMwZTRkMzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BOC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJfQTgu
anMKQEAgLTgsMjQgKzgsMjYgQEAKICAgICBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgUmVn
RXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eQogICAgIGZhaWxzCiAtLS0qLworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSwKKyAgdHJ1ZSwKKyAgJ1JlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0
eShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiB0cnVlJworKTsKIAotLy9DSEVDSyMwCi1pZiAoUmVn
RXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093
blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Ci19Ci0KLSAvL0NIRUNLIzEKLWlmIChS
ZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBm
YWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogUmVnRXhwLnByb3RvdHlwZS5l
eGVjLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Ci19Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvcGVydHlJc0VudW1lcmFi
bGUoJ2xlbmd0aCcpLAorICBmYWxzZSwKKyAgJ1JlZ0V4cC5wcm90b3R5cGUuZXhlYy5wcm9wZXJ0
eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CiAKLSAvL0NI
RUNLIzIKIHZhciBjb3VudD0wOwogCiBmb3IgKHZhciBwIGluIFJlZ0V4cC5wcm90b3R5cGUuZXhl
Yyl7Ci0gIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7CisgIGlmIChwPT09Imxlbmd0aCIpIHsK
KyAgICBjb3VudCsrOworICB9CiB9CiAKLWlmIChjb3VudCAhPT0gMCkgewotICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjMjogY291bnQgPSAwOyBmb3IgKHAgaW4gUmVnRXhwLnByb3RvdHlwZS5l
eGVjKXsgaWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAn
ICsgKGNvdW50KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAwLCAnVGhlIHZhbHVlIG9m
IGNvdW50IGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJp
ZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9BOS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvUzE1LjEwLjYuMl9B
OS5qcwppbmRleCA5ZTJlZTM4ZGU4ZGU3NjM1YjExZDhmMjVlZjZkYzk1Njg3MDcyNDhlLi5hZTBm
Yjg4MDhkNDJjMzJhNTJlODdiZTFiYWExNTQ1ZmJkZTljODQ5IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL1MxNS4xMC42LjJf
QTkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvZXhlYy9TMTUuMTAuNi4yX0E5LmpzCkBAIC0xMCwxOCArMTAsMjIgQEAKICAgICBDaGVja2lu
ZyBpZiBkZWxldGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eQog
ICAgIGZhaWxzCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS5l
eGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgdHJ1ZSwKKyAgJ1JlZ0V4cC5wcm90b3R5
cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBtdXN0IHJldHVybiB0cnVlJworKTsK
IAotLy9DSEVDSyMwCi1pZiAoKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgn
bGVuZ3RoJykgIT09IHRydWUpKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBSZWdF
eHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVu
Z3RoLAorICB0cnVlLAorICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5l
eGVjLmxlbmd0aGAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjMQotaWYg
KGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoICE9PSB0cnVlKSB7Ci0gIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0
aCA9PT0gdHJ1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS5l
eGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgZmFsc2UsCisgICdSZWdFeHAucHJvdG90
eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gZmFsc2UnCisp
OwogCi0vL0NIRUNLIzIKLWlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHko
J2xlbmd0aCcpICE9PSBmYWxzZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogZGVs
ZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5o
YXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UnKTsKLX0KKy8vIFRPRE86IENvbnZl
cnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL2ZhaWx1cmUtbGFzdGluZGV4
LXNldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L2V4ZWMvZmFpbHVyZS1sYXN0aW5kZXgtc2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxZjA4ZTMzMGI3NDhk
MGExNTI3MjdhMzhmNjBjYjkwZmM0NWI1ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL2ZhaWx1cmUtbGFzdGlu
ZGV4LXNldC5qcwpAQCAtMCwwICsxLDcxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljaGFy
ZCBHaWJzb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitk
ZXNjcmlwdGlvbjogPgorICAgIGxhc3RJbmRleCBpcyBzZXQgdG8gMCBhZnRlciBleGhhdXN0aW5n
IHRoZSBzdHJpbmcgd2hlbiBnbG9iYWwgYW5kL29yIHN0aWNreSBhcmUgc2V0LgorZXNpZDogc2Vj
LXJlZ2V4cGJ1aWx0aW5leGVjCitpbmZvOiB8CisgICAgUmVnRXhwQnVpbHRpbkV4ZWMgKAorICAg
ICAgX1JfOiBhbiBpbml0aWFsaXplZCBSZWdFeHAgaW5zdGFuY2UsCisgICAgICBfU186IGEgU3Ry
aW5nLAorICAgICkKKyAgICAuLi4KKyAgICAxLiBMZXQgX2xlbmd0aF8gYmUgdGhlIG51bWJlciBv
ZiBjb2RlIHVuaXRzIGluIF9TXy4KKyAgICAyLiBMZXQgX2xhc3RJbmRleF8gYmUg4oSdKD8gVG9M
ZW5ndGgoPyBHZXQoX1JfLCAqImxhc3RJbmRleCIqKSkpLgorICAgIDMuIExldCBfZmxhZ3NfIGJl
IF9SXy5bW09yaWdpbmFsRmxhZ3NdXS4KKyAgICA0LiBJZiBfZmxhZ3NfIGNvbnRhaW5zICoiZyIq
LCBsZXQgX2dsb2JhbF8gYmUgKnRydWUqOyBlbHNlIGxldCBfZ2xvYmFsXyBiZSAqZmFsc2UqLgor
ICAgIDUuIElmIF9mbGFnc18gY29udGFpbnMgKiJ5IiosIGxldCBfc3RpY2t5XyBiZSAqdHJ1ZSo7
IGVsc2UgbGV0IF9zdGlja3lfIGJlICpmYWxzZSouCisgICAgLi4uCisgICAgOS4gTGV0IF9tYXRj
aFN1Y2NlZWRlZF8gYmUgKmZhbHNlKi4KKyAgICAxMC4gUmVwZWF0LCB3aGlsZSBfbWF0Y2hTdWNj
ZWVkZWRfIGlzICpmYWxzZSosCisgICAgICBhLiBJZiBfbGFzdEluZGV4XyAmZ3Q7IF9sZW5ndGhf
LCB0aGVuCisgICAgICAgIGkuIElmIF9nbG9iYWxfIGlzICp0cnVlKiBvciBfc3RpY2t5XyBpcyAq
dHJ1ZSosIHRoZW4KKyAgICAgICAgICAxLiBQZXJmb3JtID8gU2V0KF9SXywgKiJsYXN0SW5kZXgi
KiwgKiswKjxzdWI+8J2UvTwvc3ViPiwgKnRydWUqKS4KKyAgICAgICAgaWkuIFJldHVybiAqbnVs
bCouCistLS0qLworCit2YXIgUl9nID0gLy4vZywgUl95ID0gLy4veSwgUl9neSA9IC8uL2d5Owor
Cit2YXIgUyA9ICJ0ZXN0IjsKKwordmFyIGxhc3RJbmRleDsKK3ZhciBiaWdMYXN0SW5kZXhlcyA9
IFsKKyAgSW5maW5pdHksCisgIE51bWJlci5NQVhfVkFMVUUsCisgIE51bWJlci5NQVhfU0FGRV9J
TlRFR0VSLAorICBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiAtIDEsCisgIDIqKjMyICsgNCwKKyAg
MioqMzIgKyAzLAorICAyKiozMiArIDIsCisgIDIqKjMyICsgMSwKKyAgMioqMzIsCisgIDIqKjMy
IC0gMSwKKyAgNQorXTsKK2ZvciAoIHZhciBpID0gMDsgaSA8IGJpZ0xhc3RJbmRleGVzLmxlbmd0
aDsgaSsrICkgeworICBsYXN0SW5kZXggPSBiaWdMYXN0SW5kZXhlc1tpXTsKKyAgUl9nLmxhc3RJ
bmRleCA9IGxhc3RJbmRleDsKKyAgUl95Lmxhc3RJbmRleCA9IGxhc3RJbmRleDsKKyAgUl9neS5s
YXN0SW5kZXggPSBsYXN0SW5kZXg7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShSX2cuZXhlYyhTKSwg
bnVsbCwKKyAgICAgICJnbG9iYWwgUmVnRXhwIGluc3RhbmNlIG11c3QgZmFpbCB0byBtYXRjaCBh
Z2FpbnN0ICciICsgUyArCisgICAgICAiJyBhdCBsYXN0SW5kZXggIiArIGxhc3RJbmRleCk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoUl95LmV4ZWMoUyksIG51bGwsCisgICAgICAic3RpY2t5IFJlZ0V4
cCBpbnN0YW5jZSBtdXN0IGZhaWwgdG8gbWF0Y2ggYWdhaW5zdCAnIiArIFMgKworICAgICAgIicg
YXQgbGFzdEluZGV4ICIgKyBsYXN0SW5kZXgpOworICBhc3NlcnQuc2FtZVZhbHVlKFJfZ3kuZXhl
YyhTKSwgbnVsbCwKKyAgICAgICJnbG9iYWwgc3RpY2t5IFJlZ0V4cCBpbnN0YW5jZSBtdXN0IGZh
aWwgdG8gbWF0Y2ggYWdhaW5zdCAnIiArIFMgKworICAgICAgIicgYXQgbGFzdEluZGV4ICIgKyBs
YXN0SW5kZXgpOworCisgIGFzc2VydC5zYW1lVmFsdWUoUl9nLmxhc3RJbmRleCwgMCwKKyAgICAg
ICJnbG9iYWwgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBtdXN0IGJlIHJlc2V0IGFmdGVyICIg
KyBsYXN0SW5kZXggKworICAgICAgIiBleGNlZWRzIHN0cmluZyBsZW5ndGgiKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShSX3kubGFzdEluZGV4LCAwLAorICAgICAgInN0aWNreSBSZWdFeHAgaW5zdGFu
Y2UgbGFzdEluZGV4IG11c3QgYmUgcmVzZXQgYWZ0ZXIgIiArIGxhc3RJbmRleCArCisgICAgICAi
IGV4Y2VlZHMgc3RyaW5nIGxlbmd0aCIpOworICBhc3NlcnQuc2FtZVZhbHVlKFJfZ3kubGFzdElu
ZGV4LCAwLAorICAgICAgImdsb2JhbCBzdGlja3kgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBt
dXN0IGJlIHJlc2V0IGFmdGVyICIgKyBsYXN0SW5kZXggKworICAgICAgIiBleGNlZWRzIHN0cmlu
ZyBsZW5ndGgiKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUuMTAuNy4yX0ExMC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUuMTAuNy4yX0Ex
MC5qcwppbmRleCBkNWQzYTUwMjNiZGVjMTQwOWVhNDgxYmRmMzI0YzBmNWVlYTUxY2MzLi4zYWVm
ZTlhNzlhMzBjMGViZWFlZjhhNzA0OTU1NzEyZGFjNWFiZmFhIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9nbG9iYWwvUzE1LjEwLjcu
Ml9BMTAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvZ2xvYmFsL1MxNS4xMC43LjJfQTEwLmpzCkBAIC0xMCwxNyArMTAsMTEgQEAKIAogdmFy
IF9fcmUgPSBSZWdFeHAucHJvdG90eXBlOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLmhhc093blBy
b3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
MTogX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxc
JykgPT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5oYXNPd25Qcm9wZXJ0eSgn
Z2xvYmFsJyksIHRydWUsICdfX3JlLmhhc093blByb3BlcnR5KFwnZ2xvYmFsXCcpIG11c3QgcmV0
dXJuIHRydWUnKTsKIAogdmFyIF9fc2FtcGxlID0gL158Xi87CiB2YXIgX19vYmogPSBfX3NhbXBs
ZS5nbG9iYWw7CiAKIHZlcmlmeU5vdFdyaXRhYmxlKF9fc2FtcGxlLCAiZ2xvYmFsIiwgImdsb2Jh
bCIsICJzaGlmdGVkIik7CiAKLS8vQ0hFQ0sjMgotaWYgKF9fc2FtcGxlLmdsb2JhbCAhPT0gX19v
YmopIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fc2FtcGxlID0gL158Xi87IF9f
b2JqID0gX19zYW1wbGUuZ2xvYmFsOyBfX3NhbXBsZS5nbG9iYWwgPSAic2hpZnRlZCI7IF9fc2Ft
cGxlLmdsb2JhbCA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3NhbXBsZS5nbG9iYWwpKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoX19zYW1wbGUuZ2xvYmFsLCBfX29iaiwgJ1RoZSB2YWx1ZSBvZiBf
X3NhbXBsZS5nbG9iYWwgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIF9fb2JqJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS9nbG9iYWwvUzE1LjEwLjcuMl9BOC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUuMTAuNy4yX0E4LmpzCmluZGV4IDM2MDQ4
Yjc0OTE5M2I4NGFhMjE0ZjZkZTllYWVkNmE1OWIzYmRkOTYuLjE0MTdlNjcyODhlNTYwZmNlMWY1
MDUxZWRmNjIzNDJjMjUzOTIyMTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUuMTAuNy4yX0E4LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2dsb2JhbC9TMTUu
MTAuNy4yX0E4LmpzCkBAIC0xMSwyMiArMTEsMjEgQEAKIAogdmFyIF9fcmUgPSBSZWdFeHAucHJv
dG90eXBlOwogCi0vL0NIRUNLIzAKLWlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAh
PT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19yZSA9IFJlZ0V4cC5w
cm90b3R5cGU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKLX0K
K2Fzc2VydC5zYW1lVmFsdWUoX19yZS5oYXNPd25Qcm9wZXJ0eSgnZ2xvYmFsJyksIHRydWUsICdf
X3JlLmhhc093blByb3BlcnR5KFwnZ2xvYmFsXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKIAotIC8v
Q0hFQ0sjMQotaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dsb2JhbCcpICE9PSBmYWxz
ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IFJlZ0V4cC5wcm90b3R5
cGU7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdnbG9iYWxcJykgPT09IGZhbHNlJyk7Ci19
Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdnbG9iYWwn
KSwKKyAgZmFsc2UsCisgICdfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZ2xvYmFsXCcpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKIAotIC8vQ0hFQ0sjMgogdmFyIGNvdW50ID0gMAogZm9yICh2
YXIgcCBpbiBfX3JlKXsKLSAgaWYgKHA9PT0iZ2xvYmFsIikgY291bnQrKyAgIAorICBpZiAocD09
PSJnbG9iYWwiKSB7CisgICAgY291bnQrKworICB9ICAgCiB9CiAKLWlmIChjb3VudCAhPT0gMCkg
ewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogY291bnQgPSAwOyBfX3JlID0gUmVnRXhw
LnByb3RvdHlwZTsgZm9yIChwIGluIF9fcmUpeyBpZiAocD09PSJnbG9iYWwiKSBjb3VudCsrOyB9
IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
Y291bnQsIDAsICdUaGUgdmFsdWUgb2YgY291bnQgaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOworCisv
LyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3BlcnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZ2xvYmFsL1Mx
NS4xMC43LjJfQTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS9nbG9iYWwvUzE1LjEwLjcuMl9BOS5qcwppbmRleCBjZGIxZTUwNjkxZjg5ZmU1MDU2
N2QyYzYwMmVlNDg0ZTg2ZGUzNGM2Li5hMzM1MWE1NmIyZjhkOTQ2NmY4MTA0ZTgzMGE2MDNjMDhl
OWRjN2Q0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9nbG9iYWwvUzE1LjEwLjcuMl9BOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9nbG9iYWwvUzE1LjEwLjcuMl9BOS5qcwpA
QCAtMTEsMTcgKzExLDggQEAKIAogdmFyIF9fcmUgPSBSZWdFeHAucHJvdG90eXBlOwogCi0vL0NI
RUNLIzAKLWlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7IF9fcmUu
aGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoX19yZS5oYXNPd25Qcm9wZXJ0eSgnZ2xvYmFsJyksIHRydWUsICdfX3JlLmhhc093blByb3Bl
cnR5KFwnZ2xvYmFsXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZGVs
ZXRlIF9fcmUuZ2xvYmFsLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgX19yZS5nbG9iYWxg
IGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5oYXNPd25Q
cm9wZXJ0eSgnZ2xvYmFsJyksIGZhbHNlLCAnX19yZS5oYXNPd25Qcm9wZXJ0eShcJ2dsb2JhbFwn
KSBtdXN0IHJldHVybiBmYWxzZScpOwogCi0vL0NIRUNLIzEKLWlmICgoZGVsZXRlIF9fcmUuZ2xv
YmFsKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IFJl
Z0V4cC5wcm90b3R5cGU7IChkZWxldGUgX19yZS5nbG9iYWwpID09PSB0cnVlJyk7Ci19Ci0KLS8v
Q0hFQ0sjMgotaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2dsb2JhbCcpICE9PSBmYWxzZSkgewot
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7ZGVs
ZXRlIF9fcmUuZ2xvYmFsID09PSB0cnVlOyBfX3JlLmhhc093blByb3BlcnR5KFwnZ2xvYmFsXCcp
ID09PSBmYWxzZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZv
cm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2lnbm9yZUNhc2UvUzE1LjEwLjcuM19BMTAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9pZ25vcmVDYXNlL1MxNS4xMC43LjNfQTEw
LmpzCmluZGV4IGYwMjU4Yjk1NWQyYjUxODU3NWQ0ZjNlMWM2NGNjNzljNWZjZWQ3ZjUuLjI4Y2M3
ZGEyYjU4NWE1NTc2MmFiZDQzZTIyMzBjMTAwODA1OTI5ZjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2lnbm9yZUNhc2UvUzE1LjEw
LjcuM19BMTAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvaWdub3JlQ2FzZS9TMTUuMTAuNy4zX0ExMC5qcwpAQCAtMTAsMTcgKzEwLDE1IEBA
CiAKIHZhciBfX3JlID0gUmVnRXhwLnByb3RvdHlwZTsKIAotLy9DSEVDSyMxCi1pZiAoX19yZS5o
YXNPd25Qcm9wZXJ0eSgnaWdub3JlQ2FzZScpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxOiBfX3JlID0gUmVnRXhwLnByb3RvdHlwZTsgX19yZS5oYXNPd25Qcm9wZXJ0
eShcJ2lnbm9yZUNhc2VcJykgPT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5o
YXNPd25Qcm9wZXJ0eSgnaWdub3JlQ2FzZScpLCB0cnVlLCAnX19yZS5oYXNPd25Qcm9wZXJ0eShc
J2lnbm9yZUNhc2VcJykgbXVzdCByZXR1cm4gdHJ1ZScpOwogCiB2YXIgX19zYW1wbGUgPSAvYXxi
fGMvOwogdmFyIF9fb2JqID0gX19zYW1wbGUuaWdub3JlQ2FzZTsKIAogdmVyaWZ5Tm90V3JpdGFi
bGUoX19zYW1wbGUsICJpZ25vcmVDYXNlIiwgImlnbm9yZUNhc2UiLCAic2hpZnRlZCIpOwogCi0v
L0NIRUNLIzIKLWlmIChfX3NhbXBsZS5pZ25vcmVDYXNlICE9PSBfX29iaikgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogX19zYW1wbGUgPSAvYXxifGMvOyBfX29iaiA9IF9fc2FtcGxl
Lmlnbm9yZUNhc2U7IF9fc2FtcGxlLmlnbm9yZUNhc2UgPSAic2hpZnRlZCI7IF9fc2FtcGxlLmln
bm9yZUNhc2UgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoX19zYW1wbGUuaWdub3JlQ2FzZSkpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19zYW1wbGUuaWdub3JlQ2FzZSwKKyAgX19vYmosCisg
ICdUaGUgdmFsdWUgb2YgX19zYW1wbGUuaWdub3JlQ2FzZSBpcyBleHBlY3RlZCB0byBlcXVhbCB0
aGUgdmFsdWUgb2YgX19vYmonCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaWdub3JlQ2FzZS9TMTUuMTAuNy4zX0E4LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvaWdub3JlQ2Fz
ZS9TMTUuMTAuNy4zX0E4LmpzCmluZGV4IDEyM2VhOTAzOTQzZTI4NjBhN2U2YTc2ZWRjM2RlMTUx
NDZhYzhjMDkuLmU3MTdhZDZiNWZhOWQ1YTFjMDY3ZGEwODA5MjU0M2Q0NWRlMzhmMDUgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2ln
bm9yZUNhc2UvUzE1LjEwLjcuM19BOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9pZ25vcmVDYXNlL1MxNS4xMC43LjNfQTguanMKQEAgLTEx
LDIyICsxMSwyMSBAQAogCiB2YXIgX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7CiAKLS8vQ0hFQ0sj
MAotaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewotICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7IF9fcmUu
aGFzT3duUHJvcGVydHkoXCdpZ25vcmVDYXNlXCcpID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSwgdHJ1ZSwgJ19fcmUuaGFz
T3duUHJvcGVydHkoXCdpZ25vcmVDYXNlXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKIAotIC8vQ0hF
Q0sjMQotaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2lnbm9yZUNhc2UnKSAhPT0gZmFs
c2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBSZWdFeHAucHJvdG90
eXBlOyBfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnaWdub3JlQ2FzZVwnKSA9PT0gZmFsc2Un
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2ln
bm9yZUNhc2UnKSwKKyAgZmFsc2UsCisgICdfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnaWdu
b3JlQ2FzZVwnKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CiAKLSAvL0NIRUNLIzIKIHZhciBjb3Vu
dCA9IDAKIGZvciAodmFyIHAgaW4gX19yZSl7Ci0gIGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3Vu
dCsrICAgCisgIGlmIChwPT09Imlnbm9yZUNhc2UiKSB7CisgICAgY291bnQrKworICB9ICAgCiB9
CiAKLWlmIChjb3VudCAhPT0gMCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogY291
bnQgPSAwOyBfX3JlID0gUmVnRXhwLnByb3RvdHlwZTsgZm9yIChwIGluIF9fcmUpeyBpZiAocD09
PSJpZ25vcmVDYXNlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50
KSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAwLCAnVGhlIHZhbHVlIG9mIGNvdW50IGlz
IGV4cGVjdGVkIHRvIGJlIDAnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0
eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL2lnbm9yZUNhc2UvUzE1LjEwLjcuM19BOS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2lnbm9yZUNhc2UvUzE1LjEwLjcu
M19BOS5qcwppbmRleCA0ODE5NTcyMjA0YmI3YTFiZGYzMDZkMWMzZTc5ZGVjZjNmMjhhZjQwLi44
MDFhZjAzNWM2ZTEwNzMxOTM0OGFmZTkzYzg2NDI4MTk3MGZmZTZiIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9pZ25vcmVDYXNlL1Mx
NS4xMC43LjNfQTkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4
cC9wcm90b3R5cGUvaWdub3JlQ2FzZS9TMTUuMTAuNy4zX0E5LmpzCkBAIC0xMSwxNyArMTEsOCBA
QAogCiB2YXIgX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7CiAKLS8vQ0hFQ0sjMAotaWYgKF9fcmUu
aGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMDogX19yZSA9IFJlZ0V4cC5wcm90b3R5cGU7IF9fcmUuaGFzT3duUHJvcGVy
dHkoXCdpZ25vcmVDYXNlXCcpID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUu
aGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSwgdHJ1ZSwgJ19fcmUuaGFzT3duUHJvcGVydHko
XCdpZ25vcmVDYXNlXCcpIG11c3QgcmV0dXJuIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZGVs
ZXRlIF9fcmUuaWdub3JlQ2FzZSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIF9fcmUuaWdu
b3JlQ2FzZWAgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3Jl
Lmhhc093blByb3BlcnR5KCdpZ25vcmVDYXNlJyksIGZhbHNlLCAnX19yZS5oYXNPd25Qcm9wZXJ0
eShcJ2lnbm9yZUNhc2VcJykgbXVzdCByZXR1cm4gZmFsc2UnKTsKIAotLy9DSEVDSyMxCi1pZiAo
KGRlbGV0ZSBfX3JlLmlnbm9yZUNhc2UpICE9PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxOiBfX3JlID0gUmVnRXhwLnByb3RvdHlwZTsgKGRlbGV0ZSBfX3JlLmlnbm9yZUNh
c2UpID09PSB0cnVlJyk7Ci19Ci0KLS8vQ0hFQ0sjMgotaWYgKF9fcmUuaGFzT3duUHJvcGVydHko
J2lnbm9yZUNhc2UnKSAhPT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6
IF9fcmUgPSBSZWdFeHAucHJvdG90eXBlO2RlbGV0ZSBfX3JlLmlnbm9yZUNhc2UgPT09IHRydWU7
IF9fcmUuaGFzT3duUHJvcGVydHkoXCdpZ25vcmVDYXNlXCcpID09PSBmYWxzZScpOwotfQorLy8g
VE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL211bHRpbGluZS9T
MTUuMTAuNy40X0ExMC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL211bHRpbGluZS9TMTUuMTAuNy40X0ExMC5qcwppbmRleCA3YzhkMzI4YmVkNTFh
MGU0Y2RkZDQ4NmFkNWI2OGViMTc4MWMyOWUzLi42MzhkZWJkM2NhNGExOTk3MTY2MWQ4OTdjNjhi
MzI1YTBhODM1ZDBkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS9tdWx0aWxpbmUvUzE1LjEwLjcuNF9BMTAuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvbXVsdGlsaW5lL1MxNS4x
MC43LjRfQTEwLmpzCkBAIC0xMCwxNyArMTAsMTEgQEAKIAogdmFyIF9fcmUgPSBSZWdFeHAucHJv
dG90eXBlOwogCi0vL0NIRUNLIzEKLWlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUn
KSAhPT0gdHJ1ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogX19yZSA9IFJlZ0V4
cC5wcm90b3R5cGU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJyks
IHRydWUsICdfX3JlLmhhc093blByb3BlcnR5KFwnbXVsdGlsaW5lXCcpIG11c3QgcmV0dXJuIHRy
dWUnKTsKIAogdmFyIF9fc2FtcGxlID0gL1xuLzsKIHZhciBfX29iaiA9IF9fc2FtcGxlLm11bHRp
bGluZTsKIAogdmVyaWZ5Tm90V3JpdGFibGUoX19zYW1wbGUsICJtdWx0aWxpbmUiLCAibXVsdGls
aW5lIiwgInNoaWZ0ZWQiKTsKIAotLy9DSEVDSyMyCi1pZiAoX19zYW1wbGUubXVsdGlsaW5lICE9
PSBfX29iaikgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogX19zYW1wbGUgPSAvXG4v
OyBfX29iaiA9IF9fc2FtcGxlLm11bHRpbGluZTsgX19zYW1wbGUubXVsdGlsaW5lID0gInNoaWZ0
ZWQiOyBfX3NhbXBsZS5tdWx0aWxpbmUgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoX19zYW1wbGUu
bXVsdGlsaW5lKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fc2FtcGxlLm11bHRpbGluZSwgX19v
YmosICdUaGUgdmFsdWUgb2YgX19zYW1wbGUubXVsdGlsaW5lIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX29iaicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvbXVsdGlsaW5lL1MxNS4xMC43LjRfQTguanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9tdWx0aWxpbmUv
UzE1LjEwLjcuNF9BOC5qcwppbmRleCAwNmM3MDZkMjBkNzQ1MDRkMDgwOGMzNDJjZDFlOTdiNDFj
NWYzNzI2Li41YTA0YjYzYzkxMDZjOGRkZGJjM2E1NzI2MzcwNDI3YjUxNjI0YzgyIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9tdWx0
aWxpbmUvUzE1LjEwLjcuNF9BOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9tdWx0aWxpbmUvUzE1LjEwLjcuNF9BOC5qcwpAQCAtMTEsMjIg
KzExLDIxIEBACiAKIHZhciBfX3JlID0gUmVnRXhwLnByb3RvdHlwZTsKIAotLy9DSEVDSyMwCi1p
ZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzA6IF9fcmUgPSBSZWdFeHAucHJvdG90eXBlOyBfX3JlLmhhc093
blByb3BlcnR5KFwnbXVsdGlsaW5lXCcpID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KF9fcmUuaGFzT3duUHJvcGVydHkoJ211bHRpbGluZScpLCB0cnVlLCAnX19yZS5oYXNPd25Qcm9w
ZXJ0eShcJ211bHRpbGluZVwnKSBtdXN0IHJldHVybiB0cnVlJyk7CiAKLSAvL0NIRUNLIzEKLWlm
IChfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdtdWx0aWxpbmUnKSAhPT0gZmFsc2UpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBSZWdFeHAucHJvdG90eXBlOyBfX3Jl
LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbXVsdGlsaW5lXCcpID09PSBmYWxzZScpOwotfQorYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbXVsdGlsaW5lJyks
CisgIGZhbHNlLAorICAnX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ211bHRpbGluZVwnKSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CiAKLSAvL0NIRUNLIzIKIHZhciBjb3VudCA9IDAKIGZvciAo
dmFyIHAgaW4gX19yZSl7Ci0gIGlmIChwPT09Im11bHRpbGluZSIpIGNvdW50KysgICAKKyAgaWYg
KHA9PT0ibXVsdGlsaW5lIikgeworICAgIGNvdW50KysKKyAgfSAgIAogfQogCi1pZiAoY291bnQg
IT09IDApIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IGNvdW50ID0gMDsgX19yZSA9
IFJlZ0V4cC5wcm90b3R5cGU7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibXVsdGlsaW5lIikg
Y291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Ci19Cithc3NlcnQu
c2FtZVZhbHVlKGNvdW50LCAwLCAnVGhlIHZhbHVlIG9mIGNvdW50IGlzIGV4cGVjdGVkIHRvIGJl
IDAnKTsKKworLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L211bHRpbGluZS9TMTUuMTAuNy40X0E5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvbXVsdGlsaW5lL1MxNS4xMC43LjRfQTkuanMKaW5kZXggZjM2
NWFiNjA2NTczNGUxNTMwM2Y3NDk2YTRhNjJkY2Y3YTYwMDQwYi4uYmY5OWUwM2NmNzRlMWJlNWIx
ZTQ3YzE5YTk2OWU4OTVlM2RjMmU3ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvbXVsdGlsaW5lL1MxNS4xMC43LjRfQTkuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvbXVsdGls
aW5lL1MxNS4xMC43LjRfQTkuanMKQEAgLTExLDE3ICsxMSw4IEBACiAKIHZhciBfX3JlID0gUmVn
RXhwLnByb3RvdHlwZTsKIAotLy9DSEVDSyMwCi1pZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVs
dGlsaW5lJykgIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IF9fcmUg
PSBSZWdFeHAucHJvdG90eXBlOyBfX3JlLmhhc093blByb3BlcnR5KFwnbXVsdGlsaW5lXCcpID09
PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuaGFzT3duUHJvcGVydHkoJ211bHRp
bGluZScpLCB0cnVlLCAnX19yZS5oYXNPd25Qcm9wZXJ0eShcJ211bHRpbGluZVwnKSBtdXN0IHJl
dHVybiB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBfX3JlLm11bHRpbGluZSwgdHJ1
ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIF9fcmUubXVsdGlsaW5lYCBpcyBleHBlY3RlZCB0byBi
ZSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUuaGFzT3duUHJvcGVydHkoJ211bHRpbGlu
ZScpLCBmYWxzZSwgJ19fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgbXVzdCByZXR1
cm4gZmFsc2UnKTsKIAotLy9DSEVDSyMxCi1pZiAoKGRlbGV0ZSBfX3JlLm11bHRpbGluZSkgIT09
IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IF9fcmUgPSBSZWdFeHAucHJv
dG90eXBlOyAoZGVsZXRlIF9fcmUubXVsdGlsaW5lKSA9PT0gdHJ1ZScpOwotfQotCi0vL0NIRUNL
IzIKLWlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gZmFsc2UpIHsKLSAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzI6IF9fcmUgPSBSZWdFeHAucHJvdG90eXBlO2RlbGV0
ZSBfX3JlLm11bHRpbGluZSA9PT0gdHJ1ZTsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ211bHRpbGlu
ZVwnKSA9PT0gZmFsc2UnKTsKLX0KKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHko
KSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExMC5qcwppbmRl
eCA3YWFmYmIwNTMzNTYyYWEwOGI3ZmVkOWFjMGE2YmUyMjBhOTkzZmI4Li4yZmMzYjEzNjFkZjIx
NTM3OGM5MmM1OGExYmEwZWIwYjNmMzA0ZDA1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTEwLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMTAuanMKQEAgLTcsMTcgKzcsMjAgQEAKIGRlc2NyaXB0aW9uOiBDaGVja2lu
ZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZh
aWxzCiBpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQogLS0tKi8KLQotLy9DSEVDSyMxCi1p
ZiAoUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1
ZSkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogUmVnRXhwLnByb3RvdHlwZS50ZXN0
Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAor
ICB0cnVlLAorICAnUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmhhc093blByb3BlcnR5KFwnbGVuZ3Ro
XCcpIG11c3QgcmV0dXJuIHRydWUnCispOwogCiB2YXIgX19vYmogPSBSZWdFeHAucHJvdG90eXBl
LnRlc3QubGVuZ3RoOwogCiB2ZXJpZnlOb3RXcml0YWJsZShSZWdFeHAucHJvdG90eXBlLnRlc3Qs
ICJsZW5ndGgiLCBudWxsLCBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fSk7CiAKLS8vQ0hF
Q0sjMgotaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGggIT09IF9fb2JqKSB7Ci0gIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX29iaiA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5s
ZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAi
c2hpZnRlZCI7fTsgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9PT0gX19vYmouIEFjdHVh
bDogJyArIChSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoKSk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoLAorICBfX29iaiwKKyAgJ1RoZSB2
YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFs
IHRoZSB2YWx1ZSBvZiBfX29iaicKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJv
cGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTExLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExMS5q
cwppbmRleCA1NWJmYWQzMzgyM2MxYzIwMjQyODlkOTI1ZmYzZTg3ZWQyNmM3Mzc2Li4xOGJhYTBi
NTdiOWRiMzBiZmIyNWJhZDY1MWEzMmYyZThlNGEyY2I2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTEx
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L3Rlc3QvUzE1LjEwLjYuM19BMTEuanMKQEAgLTYsMTMgKzYsMTAgQEAKIGVzNWlkOiAxNS4xMC42
LjNfQTExCiBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0
aAogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNP
d25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdSZWdFeHAucHJvdG90eXBlLnRlc3Qu
aGFzT3duUHJvcGVydHkoImxlbmd0aCIpIG11c3QgcmV0dXJuIHRydWUnCispOwogCi0vL0NIRUNL
IzEKLWlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpICE9
PSB0cnVlKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBSZWdFeHAucHJvdG90eXBl
LnRlc3QuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKLX0KLQotLy9DSEVD
SyMyCi1pZiAoUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCAhPT0gMSkgewotICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCcjMjogUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9PT0gMS4g
QWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgpKTsKLX0KK2Fzc2VydC5z
YW1lVmFsdWUoUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiBS
ZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rl
c3QvUzE1LjEwLjYuM19BMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMS5qcwppbmRleCBiNDZlZmExZjc0
ZjY1OGI0YjAxYTkxMGZkZjk1Nzc5MGVjNGI1YjYxLi5hM2FhYTA0OTJmM2JjMjJhZDkxNzIxMzQ1
OGM3YmU4YzI5MWM0YzhmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDEuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4z
X0ExX1QxLmpzCkBAIC0xMCw3ICsxMCw4IEBACiB2YXIgX19zdHJpbmcgPSAiMTIzIjsKIHZhciBf
X3JlID0gLzF8MTIvOwogCi0vL0NIRUNLIzAKLWlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAo
X19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjMDogdmFyIF9fc3RyaW5nID0gIjEyMyI7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3Ry
aW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Ci19Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICBfX3JlLnRlc3QoX19zdHJpbmcpLAorICBfX3JlLmV4ZWMoX19zdHJpbmcpICE9
PSBudWxsLAorICAnX19yZS50ZXN0KCIiMTIzIiIpIG11c3QgcmV0dXJuIF9fcmUuZXhlYyhfX3N0
cmluZykgIT09IG51bGwnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxMC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYu
M19BMV9UMTAuanMKaW5kZXggMzgwNTg2ZGRkOGEwMWE5Mjc4ZjVkMjY5MDRjY2NlZDgwOGE4Y2Qw
YS4uY2I3MGRiOTJhOWFiZGRlNjA2NmVhM2I3YTI0MzhlM2VlY2U4ODU5NyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUu
MTAuNi4zX0ExX1QxMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDEwLmpzCkBAIC0xMCw3ICsxMCw4IEBA
CiB2YXIgX19zdHJpbmcgPSAxLjAxOwogdmFyIF9fcmUgPSAvMXwxMi87CiAKLS8vQ0hFQ0sjMAot
aWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxs
KSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiB2YXIgX19zdHJpbmcgPSAxLjAxO19f
cmUgPSAvMXwxMi87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcp
ICE9PSBudWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS50ZXN0KF9fc3RyaW5n
KSwKKyAgX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCwKKyAgJ19fcmUudGVzdCgxLjAxKSBt
dXN0IHJldHVybiBfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsJworKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1
LjEwLjYuM19BMV9UMTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDExLmpzCmluZGV4IGY0NjNmMDE0ZTJiYzA1
N2IyY2U2MjI4MmE5MDViYmE2ZDUwOWQzMTguLjY1ZGY4YjgwOGZhYWI0NzIzY2I3ZTgxY2ZhY2Fi
ZTVjMDRmYTg4ZDYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTEuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ex
X1QxMS5qcwpAQCAtMTAsNyArMTAsOCBAQAogdmFyIF9fc3RyaW5nID0gbmV3IE51bWJlcigxLjAx
Mik7CiB2YXIgX19yZSA9IC8yfDEyLzsKIAotLy9DSEVDSyMwCi1pZiAoX19yZS50ZXN0KF9fc3Ry
aW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7Ci0JdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzA6IHZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOyBfX3JlID0g
LzJ8MTIvOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0g
bnVsbCknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUudGVzdChfX3N0cmluZyksCisg
IF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwsCisgICdfX3JlLnRlc3QobmV3IE51bWJlcigx
LjAxMikpIG11c3QgcmV0dXJuIF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwnCispOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
dGVzdC9TMTUuMTAuNi4zX0ExX1QxMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTIuanMKaW5kZXggNjM1OWMy
ODFmMThiYmMyNDliYjQ1MDRkMGU5YzBkMGQwMmNiMTgzMC4uZTVhMGFmNDhjNjEyNzkxMDY5YjZm
ZWM0OTIyMWQwMjZkMzY5MmYzYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxMi5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4x
MC42LjNfQTFfVDEyLmpzCkBAIC0xMiw3ICsxMiw4IEBACiB2YXIgX19zdHJpbmcgPSB7dG9TdHJp
bmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fTsKIHZhciBfX3JlID0gL1wuMTQvOwogCi0v
L0NIRUNLIzAKLWlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5n
KSAhPT0gbnVsbCkpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogdmFyIF9fc3RyaW5n
ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguUEk7fX07IF9fcmUgPSAvXFwuMTQv
OyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkn
KTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUudGVzdChfX3N0cmluZyksCisgIF9fcmUu
ZXhlYyhfX3N0cmluZykgIT09IG51bGwsCisgICdfX3JlLnRlc3Qoe3RvU3RyaW5nOmZ1bmN0aW9u
KCl7cmV0dXJuIE1hdGguUEk7fX0pIG11c3QgcmV0dXJuIF9fcmUuZXhlYyhfX3N0cmluZykgIT09
IG51bGwnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxMy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTMu
anMKaW5kZXggODg5ZDJjYjI4NzM0ZWY0YjBlN2ZhZGNkMGY1YWE2ZGFjMWJlMjRjZC4uOTVhYTA4
ZTVhYTcxYzIwNTAwMzBjNzBjY2ExNGRhMjQ4M2VmNjI1ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ex
X1QxMy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDEzLmpzCkBAIC0xMCw3ICsxMCw4IEBACiB2YXIgX19z
dHJpbmcgPSB0cnVlOwogdmFyIF9fcmUgPSAvdFthLWJ8cS1zXS87CiAKLS8vQ0hFQ0sjMAotaWYg
KF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkg
ewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiB2YXIgX19zdHJpbmcgPSB0cnVlO19fcmUg
PSAvdFthLWJ8cS1zXS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJp
bmcpICE9PSBudWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS50ZXN0KF9fc3Ry
aW5nKSwKKyAgX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCwKKyAgJ19fcmUudGVzdCh0cnVl
KSBtdXN0IHJldHVybiBfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsJworKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMV9UMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE0LmpzCmluZGV4IGE4NmYxNDIyZDgy
MjEyNjFjYTdlN2IwM2Q5Y2Y4NTI5ZDFmMGMxMGYuLjhkYWYxNTY5NDgzMGIzMmY5OTdkYzY0NTJh
ZDdhZTJkYTZhZWJjYmEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTQuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4z
X0ExX1QxNC5qcwpAQCAtMTAsNyArMTAsOCBAQAogdmFyIF9fc3RyaW5nID0gbmV3IEJvb2xlYW47
CiB2YXIgX19yZSA9IC9BTHxzZS87CiAKLS8vQ0hFQ0sjMAotaWYgKF9fcmUudGVzdChfX3N0cmlu
ZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewotCXRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgQm9vbGVhbjtfX3JlID0gL0FMfHNlLzsg
X19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7
Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLnRlc3QoX19zdHJpbmcpLAorICBfX3JlLmV4
ZWMoX19zdHJpbmcpICE9PSBudWxsLAorICAnX19yZS50ZXN0KG5ldyBCb29sZWFuKSBtdXN0IHJl
dHVybiBfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsJworKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYu
M19BMV9UMTUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE1LmpzCmluZGV4IDZjMzc5ZGM3ZWM4M2NkMTdhYzA2
ZGY3M2M4ZDNmZTYzNzM4YTFiNmQuLjQ4MWM2NmQ3MGM4ZGNlN2IzOTM4ZWExY2EzNzljNWM4MDk2
OWQ0MTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxNS5q
cwpAQCAtMTIsNyArMTIsOCBAQAogdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7
cmV0dXJuIGZhbHNlO319OwogdmFyIF9fcmUgPSAvTFMvaTsKIAotLy9DSEVDSyMwCi1pZiAoX19y
ZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5j
dGlvbigpe3JldHVybiBmYWxzZTt9fTsgX19yZSA9IC9MUy9pOyBfX3JlLnRlc3QoX19zdHJpbmcp
ID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKLX0KK2Fzc2VydC5zYW1lVmFs
dWUoCisgIF9fcmUudGVzdChfX3N0cmluZyksCisgIF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51
bGwsCisgICdfX3JlLnRlc3Qoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO319KSBt
dXN0IHJldHVybiBfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsJworKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1
LjEwLjYuM19BMV9UMTYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE2LmpzCmluZGV4IDlhMmYxMTI5NmI3YzBi
NWIzODFlODA0OTU2ZTJiYmE1MGNhZThlNWQuLjg3NDRmNWEzMTg3ZTk1MzcwZTAyNGVjNDM4ZGEy
ZDAxMDcyNjJiYWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMTYuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ex
X1QxNi5qcwpAQCAtOSw3ICs5LDQgQEAKIAogdmFyIF9fcmUgPSAvdW5kZWZpbmVkLzsKIAotLy9D
SEVDSyMwCi1pZiAoX19yZS50ZXN0KCkgIT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCkpIHsKLQl0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogX19yZSA9IC91bmRlZmluZWQvOyBfX3JlLnRlc3Qo
KSA9PT0gKF9fcmUuZXhlYygpICE9PSBudWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShfX3Jl
LnRlc3QoKSwgX19yZS5leGVjKCkgIT09IG51bGwsICdfX3JlLnRlc3QoKSBtdXN0IHJldHVybiBf
X3JlLmV4ZWMoKSAhPT0gbnVsbCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxNy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEw
LjYuM19BMV9UMTcuanMKaW5kZXggODAwYmY2OTQ4ZDA0NDE3ZjZjYjRiZjUxMGQ5Mzc4M2IzNGRm
ZWJkYy4uNjIzYTQyYWFhMGY2YWJmYmVkNGE3ZjZjOGU1YmI3OGJhZTU0NWVjMSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9T
MTUuMTAuNi4zX0ExX1QxNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE3LmpzCkBAIC05LDcgKzksNCBA
QAogCiB2YXIgX19yZSA9IC9sbHxsLzsKIAotLy9DSEVDSyMwCi1pZiAoX19yZS50ZXN0KG51bGwp
ICE9PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMwOiBfX3JlID0gL2xsfGwvOyBfX3JlLnRlc3QobnVsbCkgPT09IChfX3JlLmV4ZWMobnVs
bCkgIT09IG51bGwpJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUudGVzdChudWxsKSwgX19y
ZS5leGVjKG51bGwpICE9PSBudWxsLCAnX19yZS50ZXN0KG51bGwpIG11c3QgcmV0dXJuIF9fcmUu
ZXhlYyhudWxsKSAhPT0gbnVsbCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxOC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEw
LjYuM19BMV9UMTguanMKaW5kZXggOTcwNWViNzhmMTAxZTAyYWY1ZjNmZmMyODk2MDA0ZjYwODQy
YTUxZi4uOWYxYzk2MmU2OWQyNzc1ZTY5ZDYwZGY4MmQxYzJmZGU3ZGNjNjY3NyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9T
MTUuMTAuNi4zX0ExX1QxOC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE4LmpzCkBAIC05LDcgKzksOCBA
QAogCiB2YXIgX19yZSA9IC9uZHxuZS87CiAKLS8vQ0hFQ0sjMAotaWYgKF9fcmUudGVzdCh1bmRl
ZmluZWQpICE9PSAoX19yZS5leGVjKHVuZGVmaW5lZCkgIT09IG51bGwpKSB7Ci0JdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzA6IF9fcmUgPSAvbmR8bmUvOyBfX3JlLnRlc3QodW5kZWZpbmVkKSA9
PT0gKF9fcmUuZXhlYyh1bmRlZmluZWQpICE9PSBudWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgX19yZS50ZXN0KHVuZGVmaW5lZCksCisgIF9fcmUuZXhlYyh1bmRlZmluZWQpICE9PSBu
dWxsLAorICAnX19yZS50ZXN0KHVuZGVmaW5lZCkgbXVzdCByZXR1cm4gX19yZS5leGVjKHVuZGVm
aW5lZCkgIT09IG51bGwnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QxOS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYu
M19BMV9UMTkuanMKaW5kZXggMjg4YjljM2YxODg4MmU2NzA1MmJhYTdiNGVjODJkMzlhN2ZmMmEy
Ni4uNjA3NTg3ZTVjNTY4MWY4NzZiNWMyY2NjNWI3ZWE2NzU3MjgzYTk1ZCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUu
MTAuNi4zX0ExX1QxOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDE5LmpzCkBAIC05LDcgKzksOCBAQAog
CiB2YXIgX19yZSA9IC9lezF9LzsKIAotLy9DSEVDSyMwCi1pZiAoX19yZS50ZXN0KHZvaWQgMCkg
IT09IChfX3JlLmV4ZWModm9pZCAwKSAhPT0gbnVsbCkpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMDogX19yZSA9IC9lezF9LzsgX19yZS50ZXN0KHZvaWQgMCkgPT09IChfX3JlLmV4ZWMo
dm9pZCAwKSAhPT0gbnVsbCknKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIF9fcmUudGVzdCh2
b2lkIDApLAorICBfX3JlLmV4ZWModm9pZCAwKSAhPT0gbnVsbCwKKyAgJ19fcmUudGVzdCh2b2lk
IDApIG11c3QgcmV0dXJuIF9fcmUuZXhlYyh2b2lkIDApICE9PSBudWxsJworKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMV9UMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMi5qcwppbmRleCA5YzJlODQ0YjgxOWQ4
M2ZlMjE1ZDU1ZjgzN2NlMTY1MGEzOWI2MjlmLi41ZjlkZGY5ZTdlOGM1NDIwY2ViMTljMGFmMTU0
Yzg2ZWI1OWE0ZjFkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ex
X1QyLmpzCkBAIC0xMiw3ICsxMiw4IEBACiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIxMjMi
KTsKIHZhciBfX3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsKIAotLy9DSEVDSyMwCi1pZiAo
X19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmco
IjEyMyIpOyBfX3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsgX19yZS50ZXN0KF9fc3RyaW5n
KSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Ci19Cithc3NlcnQuc2FtZVZh
bHVlKAorICBfX3JlLnRlc3QoX19zdHJpbmcpLAorICBfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBu
dWxsLAorICAnX19yZS50ZXN0KCJuZXcgU3RyaW5nKCIxMjMiKSIpIG11c3QgcmV0dXJuIF9fcmUu
ZXhlYyhfX3N0cmluZykgIT09IG51bGwnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QyMC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMV9UMjAuanMKaW5kZXggN2ZkMDkwZjkwMDY3ZjUzOWExZjc3NTljMmYwMDMx
MmI4NTE0YjVlYi4uYmMzYzYwZWYxYmMwNWU2ZDRjMGM1M2U3YjdhYjIyNmM0YjAwODcxMyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUv
dGVzdC9TMTUuMTAuNi4zX0ExX1QyMC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDIwLmpzCkBAIC05LDkg
KzksNiBAQAogCiB2YXIgX19yZSA9IC9bYS1mXWQvOwogCi0vL0NIRUNLIzAKLWlmIChfX3JlLnRl
c3QoeCkgIT09IChfX3JlLmV4ZWMoeCkgIT09IG51bGwpKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIzA6IF9fcmUgPSAvW2EtZl1kLzsgX19yZS50ZXN0KHgpID09PSAoX19yZS5leGVjKHgp
ICE9PSBudWxsKTsgdmFyIHg7Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKF9fcmUudGVzdCh4KSwg
X19yZS5leGVjKHgpICE9PSBudWxsLCAnX19yZS50ZXN0KCkgbXVzdCByZXR1cm4gX19yZS5leGVj
KHgpICE9PSBudWxsJyk7CiAKIHZhciB4OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QyMS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1
LjEwLjYuM19BMV9UMjEuanMKaW5kZXggYmU4N2ZlZGM4OTBlOTRkM2E0YjgxMGEwODI1NzdkNDBl
YmY2NmY2YS4uMmU0YzFiNTMxM2IyMzQwNDczYmVkNGI1MTczNzgyYWZhNjYxMjliMiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVz
dC9TMTUuMTAuNi4zX0ExX1QyMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDIxLmpzCkBAIC0xMSw3ICsx
MSw4IEBACiAKIHZhciBfX3JlID0gL1thLXpdbi87CiAKLS8vQ0hFQ0sjMAotaWYgKF9fcmUudGVz
dChmdW5jdGlvbigpe30oKSkgIT09IChfX3JlLmV4ZWMoZnVuY3Rpb24oKXt9KCkpICE9PSBudWxs
KSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiBfX3JlID0gL1thLXpdbi87IF9fcmUu
dGVzdChmdW5jdGlvbigpe30oKSkgPT09IChfX3JlLmV4ZWMoZnVuY3Rpb24oKXt9KCkpICE9PSBu
dWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS50ZXN0KGZ1bmN0aW9uKCl7fSgp
KSwKKyAgX19yZS5leGVjKGZ1bmN0aW9uKCl7fSgpKSAhPT0gbnVsbCwKKyAgJ19fcmUudGVzdChm
dW5jdGlvbigpe30oKSkgbXVzdCByZXR1cm4gX19yZS5leGVjKGZ1bmN0aW9uKCl7fSgpKSAhPT0g
bnVsbCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDIyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QyMi5q
cwppbmRleCBmZmJhMjk2MjRiMGY0ZTI4MjNlNzM3NTlhZmMxZjNiMzcyNmIwYjFhLi5hM2Q1OGFk
YzMxNWIxNWExM2Q2YzlhNDcyNmNhMTNiZmVkZTFjMGM4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFf
VDIyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UMjIuanMKQEAgLTE0LDI1ICsxNCwxMSBAQAogX19yZS5s
YXN0SW5kZXg9LTE7CiB2YXIgX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOwogCi0v
L0NIRUNLIzEKLWlmICghX19leGVjdXRlZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQg
PSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwotfQotCi0vL0NI
RUNLIzIKLWlmIChfX3JlLmxhc3RJbmRleCAhPT0gNSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhl
Y3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDUuIEFjdHVh
bDogJyArIChfX3JlLmxhc3RJbmRleCkpOwotfQorYXNzZXJ0KCEhX19leGVjdXRlZCwgJ1RoZSB2
YWx1ZSBvZiAhIV9fZXhlY3V0ZWQgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0LnNh
bWVWYWx1ZShfX3JlLmxhc3RJbmRleCwgNSwgJ1RoZSB2YWx1ZSBvZiBfX3JlLmxhc3RJbmRleCBp
cyBleHBlY3RlZCB0byBiZSA1Jyk7CiAKIF9fcmUubGFzdEluZGV4PS0xMDA7CiBfX2V4ZWN1dGVk
ID0gX19yZS50ZXN0KCJhYWNkMjIgIik7CiAKLS8vQ0hFQ0sjMwotaWYgKCFfX2V4ZWN1dGVkKSB7
Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBf
X3JlLmxhc3RJbmRleD0tMTsgX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOyBfX3Jl
Lmxhc3RJbmRleD0tMTAwOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fZXhl
Y3V0ZWQgPT09IHRydWUnKTsKLX0KLQotLy9DSEVDSyM0Ci1pZiAoX19yZS5sYXN0SW5kZXggIT09
IDUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/
L2c7IF9fcmUubGFzdEluZGV4PS0xOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7
IF9fcmUubGFzdEluZGV4PS0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsg
X19yZS5sYXN0SW5kZXggPT09IDUuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwotfQor
YXNzZXJ0KCEhX19leGVjdXRlZCwgJ1RoZSB2YWx1ZSBvZiAhIV9fZXhlY3V0ZWQgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScpOworYXNzZXJ0LnNhbWVWYWx1ZShfX3JlLmxhc3RJbmRleCwgNSwgJ1Ro
ZSB2YWx1ZSBvZiBfX3JlLmxhc3RJbmRleCBpcyBleHBlY3RlZCB0byBiZSA1Jyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0
L1MxNS4xMC42LjNfQTFfVDMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDMuanMKaW5kZXggYTJjNTdkYzc3NDhl
MDZiNWU0YmYzM2FiYzA1NmM2YTRkOWZjM2IwZS4uODhmNGVjZjkxNjNkMTljNWIyNWIyMDhkY2Rk
ZGQyNDJkM2ZkODA2YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1QzLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19B
MV9UMy5qcwpAQCAtMTIsNyArMTIsOCBAQAogdmFyIF9fc3RyaW5nID0gbmV3IE9iamVjdCgiYWJj
ZGVmZ2hpIik7CiB2YXIgX19yZSA9IC9hW2Etel17Miw0fS87CiAKLS8vQ0hFQ0sjMAotaWYgKF9f
cmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgT2JqZWN0KCJh
YmNkZWZnaGkiKTsgX19yZSA9IC9hW2Etel17Miw0fS87IF9fcmUudGVzdChfX3N0cmluZykgPT09
IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgX19yZS50ZXN0KF9fc3RyaW5nKSwKKyAgX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCwK
KyAgJ19fcmUudGVzdCgibmV3IE9iamVjdCgiYWJjZGVmZ2hpIikiKSBtdXN0IHJldHVybiBfX3Jl
LmV4ZWMoX19zdHJpbmcpICE9PSBudWxsJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMV9UNC5qcwppbmRleCAxNWY4MzVhZTY3MzZjMDZlNzQ0YzUwODFhNDEyNzUz
OTBlMDU4NzhjLi40MmM0ZTQ4M2JiNWFmN2E3MzVlZDNmNzNhODVlMWZlM2FkMTIxMmI3IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90
ZXN0L1MxNS4xMC42LjNfQTFfVDQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q0LmpzCkBAIC0xMiw3ICsx
Miw4IEBACiB2YXIgX19zdHJpbmcgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFiY2Rl
ZmdoaSI7fX07CiB2YXIgX19yZSA9IC9hW2Etel17Miw0fT8vOwogCi0vL0NIRUNLIzAKLWlmIChf
X3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsK
LQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMDogdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1
bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OyBfX3JlID0gL2FbYS16XXsyLDR9Py87IF9f
cmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwot
fQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS50ZXN0KF9fc3RyaW5nKSwKKyAgX19yZS5leGVj
KF9fc3RyaW5nKSAhPT0gbnVsbCwKKyAgJ19fcmUudGVzdCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXty
ZXR1cm4gImFiY2RlZmdoaSI7fX0pIG11c3QgcmV0dXJuIF9fcmUuZXhlYyhfX3N0cmluZykgIT09
IG51bGwnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q1LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q1Lmpz
CmluZGV4IGIwMTAyYWI2YzFmZTM3N2RkYWEwZDdhY2QxMzg1MDdjMzM3MmIwNTUuLjljNDM2MTIz
ZTI0NWVkZWFmNmFlYzlhN2JlNWE5NWZiMDNlNGZkYTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9U
NS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS90ZXN0L1MxNS4xMC42LjNfQTFfVDUuanMKQEAgLTEzLDcgKzEzLDggQEAKIHZhciBfX3N0cmlu
ZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7
cmV0dXJuICJhYWJhYWMiO319OwogdmFyIF9fcmUgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi87CiAK
LS8vQ0hFQ0sjMAotaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJp
bmcpICE9PSBudWxsKSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiB2YXIgX19zdHJp
bmcgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigp
e3JldHVybiAiYWFiYWFjIjt9fTsgX19yZSA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLzsgX19yZS50
ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Ci19Cith
c3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLnRlc3QoX19zdHJpbmcpLAorICBfX3JlLmV4ZWMoX19z
dHJpbmcpICE9PSBudWxsLAorICAnX19yZS50ZXN0KCJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1
cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSkgbXVzdCByZXR1
cm4gX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNf
QTFfVDYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS90ZXN0L1MxNS4xMC42LjNfQTFfVDYuanMKaW5kZXggMzhkMGE4MzMzNTYzNzRiZGRkZWFmNTgx
YThkNDg4MDk5OTY4YjNlMS4uYmE0ZTk3NWIxMDgyZjVhNDYyODlhZmM2N2I0M2Q5ODliZDU4NmUy
YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNi5qcwpAQCAt
MTEsNyArMTEsOCBAQAogCiB2YXIgX19yZSA9IC8oeikoKGErKT8oYispPyhjKSkqLzsKIAotLy9D
SEVDSyMwCi1pZiAoX19yZS50ZXN0KChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgp
KSAhPT0gKF9fcmUuZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09
IG51bGwpKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IF9fcmUgPSAvKHopKChhKyk/
KGIrKT8oYykpKi87IF9fcmUudGVzdCgoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSko
KSkgPT09IChfX3JlLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpICE9
PSBudWxsKScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgX19yZS50ZXN0KChmdW5jdGlvbigp
e3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKSwKKyAgX19yZS5leGVjKChmdW5jdGlvbigpe3JldHVy
biAiemFhY2JiYmNhYyJ9KSgpKSAhPT0gbnVsbCwKKyAgJ19fcmUudGVzdCgoZnVuY3Rpb24oKXty
ZXR1cm4gInphYWNiYmJjYWMifSkoKSkgbXVzdCByZXR1cm4gX19yZS5leGVjKChmdW5jdGlvbigp
e3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKSAhPT0gbnVsbCcKKyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42
LjNfQTFfVDcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS90ZXN0L1MxNS4xMC42LjNfQTFfVDcuanMKaW5kZXggOWUxOTZhYTg2OGQ5NzE5Njg5NmFl
ZDU2YWE3Y2JlYWJhNmMwNTgwYS4uYjg0YWUzY2Y2MjdjYTVmOTIyNjU4YjdlMjRhOTY3Y2MwZjc2
ZTc3OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q3LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UNy5qcwpA
QCAtOSwxMSArOSwxMCBAQAogICAgICJpbnRvc3RyIjt9fQogLS0tKi8KIAotLy9DSEVDSyMxCiB0
cnkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IC9bYS16XS8udGVzdCh7dG9TdHJp
bmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0pIHRocm93ICJpbnRvc3RyIi4gQWN0dWFs
OiAnICsgKC9bYS16XS8udGVzdCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7
fX0pKSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogL1thLXpdLy50ZXN0KHt0
b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBB
Y3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRv
c3RyIjt9fSkpKTsKIH0gY2F0Y2ggKGUpIHsKLQlpZiAoZSAhPT0gImludG9zdHIiKSB7Ci0JCXRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IC9bYS16XS8udGVzdCh7dG9TdHJpbmc6ZnVuY3Rp
b24oKXt0aHJvdyAiaW50b3N0ciI7fX0pIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUp
KTsKLQl9CisgIGFzc2VydC5zYW1lVmFsdWUoZSwgImludG9zdHIiLCAnVGhlIHZhbHVlIG9mIGUg
aXMgZXhwZWN0ZWQgdG8gYmUgImludG9zdHIiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
YXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UOC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEw
LjYuM19BMV9UOC5qcwppbmRleCBmY2FiZjFmMTE2ODVjODNhMjViODE0ODdiNjVkNTJiY2U2YjQy
MDM1Li40Y2MxMDUyMzI0OTliYmViNmY4M2Y5YTNmZTY2OGVlNjlkMWQ2MWM1IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1Mx
NS4xMC42LjNfQTFfVDguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q4LmpzCkBAIC05LDExICs5LDEwIEBA
CiAgICAgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fQogLS0tKi8KIAotLy9D
SEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiAvW2Etel0vLnRl
c3Qoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9
fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzp2
b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7CiB9IGNhdGNo
IChlKSB7Ci0gIGlmIChlICE9PSAiaW52YWxvZiIpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCcjMS4yOiAvW2Etel0vLnRlc3Qoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlv
bigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoZSkp
OwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoZSwgImludmFsb2YiLCAnVGhlIHZhbHVlIG9mIGUg
aXMgZXhwZWN0ZWQgdG8gYmUgImludmFsb2YiJyk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
YXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMV9UOS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEw
LjYuM19BMV9UOS5qcwppbmRleCA4MDNlMjE2ODNkYThjNzJhM2FiM2Y5NmQ5ZTdkOTMxMTI4MThj
ZTc3Li5hOTMwNzJhYjdlNTIzZDA2OTZmYmYyYmMwYTBlYTRhYmZjNDI0ZWM2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1Mx
NS4xMC42LjNfQTFfVDkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0ExX1Q5LmpzCkBAIC0xMCw5ICsxMCwxMCBA
QAogdmFyIF9fc3RyaW5nOwogdmFyIF9fcmUgPSAvMXwxMi87CiAKLS8vQ0hFQ0sjMAotaWYgKF9f
cmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewot
CXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMwOiB2YXIgX19zdHJpbmc7X19yZSA9IC8xfDEyLzsg
X19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpOyBm
dW5jdGlvbiBfX3N0cmluZygpe307Jyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBfX3JlLnRl
c3QoX19zdHJpbmcpLAorICBfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsLAorICAnX19yZS50
ZXN0KCkgbXVzdCByZXR1cm4gX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCcKKyk7CiAKLWZ1
bmN0aW9uIF9fc3RyaW5nKCl7fTsKK2Z1bmN0aW9uIF9fc3RyaW5nKCl7fQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUu
MTAuNi4zX0EyX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0EyX1QxLmpzCmluZGV4IDgzNTM1ZWQ0OGFhMTk3NzEw
ZTkxZjU4NTQ1NTg4ZDhmNTI3N2Y1OTAuLjVhMzVhNzJkYTc3ZmFmOGQ0MDZlNGE1ZWVmYWJlNzc5
M2NlYzZjMmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDEu
anMKQEAgLTEzLDExICsxMywxNCBAQAogCiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90
eXBlLnRlc3Q7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
IzEuMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3Q7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5w
cm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIiku
IEFjdHVhbDogJyArIChfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkp
OwogfSBjYXRjaCAoZSkgewotICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVl
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBP
YmplY3Q7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdC4gQWN0dWFsOiAn
ICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3Rh
bmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBU
T0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42
LjNfQTJfVDEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0EyX1QxMC5qcwppbmRleCBhYjAwNmMyMjI3ZWIzMWJlY2Nj
ZWU3NjU3ZWI3ZjRmYzY2MjU2MGUxLi5lMjJjNTFlMmQ2MGZkNTc2ZmQyNDkzNDExZDQ5OWNjZDI4
MmExYWJiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDEwLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UMTAu
anMKQEAgLTExLDExICsxMSwxNCBAQAogCiB2YXIgdGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVz
dDsKIAotLy9DSEVDSyMxCiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiB0
ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRl
IikuIEFjdHVhbDogJyArICh0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKIH0gY2F0
Y2ggKGUpIHsKLSAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IHRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRl
c3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKLSAg
fQorICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAg
dHJ1ZSwKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVy
cm9yKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0
IHRvIGFzc2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1Mx
NS4xMC42LjNfQTJfVDIuanMKaW5kZXggYmMxMzMxMmEzOTc5OThmZTE2MTU0MjEwNDI3ZTMyZTMx
NDBjNmJlOC4uNWFlNDQ0ZTc5NTM3NzkwZjFlNTUxZGE0MjUwOTE0MGY5NzdhZDliYSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVz
dC9TMTUuMTAuNi4zX0EyX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UMi5qcwpAQCAtMTMsMTIgKzEz
LDE1IEBACiAKIF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKIAotLy9D
SEVDSyMxCiB0cnkgeyAKICAgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRl
Iik7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IF9faW5zdGFuY2UgPSBNYXRoOyBf
X2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7ICBfX2luc3RhbmNlLnRlc3Qo
Im1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKScpOwogfSBjYXRjaCAoZSkgewotICBpZiAoKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzEuMjogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90
b3R5cGUudGVzdDsgIF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBB
Y3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5j
ZW9mIFR5cGVFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMl9UMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UMy5qcwppbmRleCA0ZTViOTVlNzYyZDYy
MWE5MTA1NzhjZTBlNGZlZTM3MDE3MDFkOGExLi5lNjlhZTY1MDE4OTc0MGM0MzY5ZDIxODUxMGYx
YWM3ZTQ0ZmFjMmE3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDMuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ey
X1QzLmpzCkBAIC0xMSwxNCArMTEsMTcgQEAKIAogX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnBy
b3RvdHlwZS50ZXN0OwogCi0vL0NIRUNLIzEKIHRyeSB7CiAgIF9faW5zdGFuY2UudGVzdCgibWVz
c2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBf
X2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IF9faW5zdGFuY2UudGVzdCgi
bWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fScpOwogfSBj
YXRjaCAoZSkgewotICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhw
LnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUi
KTsgZnVuY3Rpb24gX19pbnN0YW5jZSgpe30uIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgIHRydWUsCisg
ICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMg
ZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KIAogZnVuY3Rpb24gX19pbnN0YW5jZSgpe307
CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3Qv
UzE1LjEwLjYuM19BMl9UNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UNC5qcwppbmRleCBjZGJkMjY5YTI4MTY1
YTkwNWZlNTQzNzg4NGI0Y2E1NWRmNWZkNDAyLi44M2RjYTA2YjI3ZWYzZTMwOWZhMDBkZGVlMjFi
MjM4NWEwMDVjOWJmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDQuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ey
X1Q0LmpzCkBAIC0xMywxMSArMTMsMTQgQEAKIAogX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnBy
b3RvdHlwZS50ZXN0OwogCi0vL0NIRUNLIzEKICAgICB0cnkgewogICAgICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIlthLWJdIik7IF9faW5z
dGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZl
c3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVz
dGlnYXRlIikpKTsKICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICBpZiAoKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0gICAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
LjI6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLnRlc3QgPSBS
ZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0
dWFsOiAnICsgKGUpKTsKLSAgICAgIH0KLSAgIH0KKyAgICAgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAgICAgIHRydWUsCisgICAgICAgICdU
aGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVj
dGVkIHRvIGJlIHRydWUnCisgICAgICApOworICAgIH0KKworLy8gVE9ETzogQ29udmVydCB0byBh
c3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0EyX1Q1LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAu
Ni4zX0EyX1Q1LmpzCmluZGV4IGZkZmQ3ZGNkMGNhOTY4OTIwYzE4ZGU2N2Y2YjUzODg5ZGI5NDlh
MDUuLjkyNmEyNjQwM2Y4ZTA3ZDVjZTU2NDg4YmYxOTZkYzUxMDlmOTM2MTYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1
LjEwLjYuM19BMl9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDUuanMKQEAgLTEzLDExICsxMywxNCBA
QAogCiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CiAKLS8vQ0hFQ0sj
MQogICB0cnkgewogICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5jZSA9
IG5ldyBCb29sZWFuKGZhbHNlKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50
ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChfX2luc3Rh
bmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwogICB9IGNhdGNoIChlKSB7Ci0g
ICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewotICAgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsg
X19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRv
IGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7Ci0gICAgfQorICAgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgICBlIGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgICAgdHJ1ZSwKKyAgICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4
cGVjdGVkIHRvIGJlIHRydWUnCisgICAgKTsKICAgfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFz
c2VydC50aHJvd3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDYuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42
LjNfQTJfVDYuanMKaW5kZXggZTBmZDVhNjNmZDc2YWRjNTVjYTI0Y2UzMTQxMWMzY2NmNmY2MGMw
MS4uZWNlYTFhYWE3NWIwYmE3YjgzY2ZjYjExY2RjYmFiNjM3NWQyYmYzZSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUu
MTAuNi4zX0EyX1Q2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UNi5qcwpAQCAtMTMsMTEgKzEzLDE0IEBA
CiAKIF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKIAotLy9DSEVDSyMx
CiB0cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3
IE51bWJlcigxLjApOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IF9f
aW5zdGFuY2VbInRlc3QiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAo
X19pbnN0YW5jZVsidGVzdCJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKIH0gY2F0Y2gg
KGUpIHsKLSAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEuMCk7
IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZVsidGVz
dCJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgIHRydWUs
CisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikg
aXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBh
c3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0EyX1Q3LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAu
Ni4zX0EyX1Q3LmpzCmluZGV4IDdmNzFiZmI1ZmRiOTBjZGNmNTYxYzRjNjMzYmFmYjQ2NjEzODUw
YmYuLjRjNWU3ZDU0YTY4NGU0YTIwYzg4ZDRhZWQyYTY1OGNjZTA1ZTVlNzYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1
LjEwLjYuM19BMl9UNy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDcuanMKQEAgLTEzLDExICsxMywxNCBA
QAogCiBPYmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CiAKLS8v
Q0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5j
ZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7
IF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAo
X19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKIH0gY2F0Y2ggKGUp
IHsKLSAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3Rv
dHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3Nh
Z2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKLSAgfQorICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsCisgICAgdHJ1ZSwKKyAgICAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSBpcyBleHBlY3Rl
ZCB0byBiZSB0cnVlJworICApOwogfQorCisvLyBUT0RPOiBDb252ZXJ0IHRvIGFzc2VydC50aHJv
d3MoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDguanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTJfVDgu
anMKaW5kZXggNWE5MTE4N2I4YjQ0YTNlYTc1OGViOTFmMGNhYWIzZWJhYzQ1ZTE3ZS4uYjdlZTc5
NzQ5YTdhZDkzZjYyMGQ5MzFkNDIyODVkMzZlODBlMjZkYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0Ey
X1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UOC5qcwpAQCAtMTMsMTEgKzEzLDE0IEBACiAKIE9iamVj
dC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKIAotLy9DSEVDSyMxCiB0
cnkgewogICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4xOiBfX2luc3RhbmNlID0gIi4iOyBP
YmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IF9faW5zdGFuY2Uu
dGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS50
ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKIH0gY2F0Y2ggKGUpIHsKLSAgaWYgKChl
IGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewotICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoJyMxLjI6IF9faW5zdGFuY2UgPSAiLiI7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJl
Z0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGln
YXRlIikuIEFjdHVhbDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBl
IGluc3RhbmNlb2YgVHlwZUVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZh
bHVhdGluZyAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScK
KyAgKTsKIH0KKworLy8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0Lgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvdGVzdC9TMTUuMTAuNi4zX0EyX1Q5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0EyX1Q5LmpzCmluZGV4IGRlODli
ZDk5OGNjYTIzNmQxNzk5YWUzMDI0MjY1NTlkMGNiNTIwMTMuLjYzY2Y5OTJlOWI1YjhhNjdmNDk0
YzcwYzZiOTE1MmU1NTY3Nzc2NGYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BMl9UOS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4x
MC42LjNfQTJfVDkuanMKQEAgLTEzLDExICsxMywxNCBAQAogCiBPYmplY3QucHJvdG90eXBlLnRl
c3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CiAKLS8vQ0hFQ0sjMQogdHJ5IHsKICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzEuMTogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlw
ZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2Ug
dG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0
byBpbnZlc3RpZ2F0ZSIpKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlmICgoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvcikgIT09IHRydWUpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBf
X2luc3RhbmNlID0gMS4wOyBPYmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBl
LnRlc3Q7IF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6
ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZSBpbnN0YW5jZW9mIFR5
cGVFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGUgaW5z
dGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICk7CiB9CisKKy8v
IFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEw
LjYuM19BNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL3Rlc3QvUzE1LjEwLjYuM19BNi5qcwppbmRleCA0ZGU2MWJjMGNhNDVmNDE2Y2M2YWZhYTk2
MzNjN2Y1MWRiNGRiZGJhLi5jZjgxNzcxMTBiY2RlOTVmNzM0YzIwNzVkZmYwOGVkOGI2YWY4MDQw
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3Rv
dHlwZS90ZXN0L1MxNS4xMC42LjNfQTYuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0E2LmpzCkBAIC02LDggKzYs
OCBAQAogZXM1aWQ6IDE1LjEwLjYuM19BNgogZGVzY3JpcHRpb246IENoZWNraW5nIFJlZ0V4cC5w
cm90b3R5cGUudGVzdC5wcm90b3R5cGUKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKFJlZ0V4cC5w
cm90b3R5cGUudGVzdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewotICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMTogUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3RvdHlwZSA9PT0gdW5kZWZp
bmVkLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3RvdHlwZSkpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3RvdHlwZSwKKyAg
dW5kZWZpbmVkLAorICAnVGhlIHZhbHVlIG9mIFJlZ0V4cC5wcm90b3R5cGUudGVzdC5wcm90b3R5
cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdW5kZWZpbmVkJworKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYu
M19BNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L3Rlc3QvUzE1LjEwLjYuM19BNy5qcwppbmRleCA1ZTY3OWNlODM0ZDFiMTRjNDIxNmYyYTQ5MWVj
ZmQzZDkzZWEzOTBjLi4zOWY3Mzg5MzRlZmIyMjI2ZTQ3MzdjMjgxODk4OGI3MzdiZjkzMWE5IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS90ZXN0L1MxNS4xMC42LjNfQTcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4zX0E3LmpzCkBAIC0xMyw3ICsxMywx
MSBAQAogICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBU
eXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7CiB9IGNhdGNoIChlKSB7Ci0gIGlm
ICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCcjMS4yOiBfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRlc3QgdGhyb3cg
VHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwKKyAgICB0cnVlLAorICAgICdUaGUgcmVzdWx0IG9m
IGV2YWx1YXRpbmcgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIGlzIGV4cGVjdGVkIHRvIGJlIHRy
dWUnCisgICk7CiB9CisKKy8vIFRPRE86IENvbnZlcnQgdG8gYXNzZXJ0LnRocm93cygpIGZvcm1h
dC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BOC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BOC5qcwppbmRleCBiMTU5ODlm
ZWYyOWM3YjJmZDkxZjIyMmYwNzc2MzY1Mzk5ODE4ZjM2Li5mOTQ3NDczMWEwYzA2NGE0MTcxNzg4
ZjkzN2QzNjhmYWEzZjVhYzNhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTguanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAuNi4z
X0E4LmpzCkBAIC04LDI0ICs4LDI2IEBACiAgICAgQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhl
IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGggcHJvcGVydHkKICAgICBmYWlscwogLS0tKi8K
K2Fzc2VydC5zYW1lVmFsdWUoCisgIFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0
eSgnbGVuZ3RoJyksCisgIHRydWUsCisgICdSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJv
cGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjMAotaWYg
KFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUp
IHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5o
YXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwotfQotCi0gLy9DSEVDSyMxCi1p
ZiAoUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAh
PT0gZmFsc2UpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFJlZ0V4cC5wcm90b3R5
cGUudGVzdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwotfQor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3BlcnR5SXNFbnVt
ZXJhYmxlKCdsZW5ndGgnKSwKKyAgZmFsc2UsCisgICdSZWdFeHAucHJvdG90eXBlLnRlc3QucHJv
cGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gZmFsc2UnCispOwogCi0g
Ly9DSEVDSyMyCiB2YXIgY291bnQ9MDsKIAogZm9yICh2YXIgcCBpbiBSZWdFeHAucHJvdG90eXBl
LnRlc3QpewotICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOworICBpZiAocD09PSJsZW5ndGgi
KSB7CisgICAgY291bnQrKzsKKyAgfQogfQogCi1pZiAoY291bnQgIT09IDApIHsKLSAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5
cGUudGVzdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVh
bDogJyArIChjb3VudCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMCwgJ1RoZSB2YWx1
ZSBvZiBjb3VudCBpcyBleHBlY3RlZCB0byBiZSAwJyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8g
dmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42LjNfQTkuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L1MxNS4xMC42
LjNfQTkuanMKaW5kZXggYTllYTliNjhmYjgzNmZkOTgwYzVlYTVlOTE0NWFkMjgzZWQyYWIyZi4u
OTk2NzU0MThkN2QwYzVkYTMyNzQ0M2QyY2EzNmZmZDIxMTUzMWQ3YiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9TMTUuMTAu
Ni4zX0E5LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL3Rlc3QvUzE1LjEwLjYuM19BOS5qcwpAQCAtOCwxOCArOCwyMiBAQAogZXM1aWQ6IDE1
LjEwLjYuM19BOQogZGVzY3JpcHRpb246IENoZWNraW5nIGlmIGRlbGV0aW5nIFJlZ0V4cC5wcm90
b3R5cGUudGVzdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKIC0tLSovCithc3NlcnQuc2FtZVZhbHVl
KAorICBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICB0
cnVlLAorICAnUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcp
IG11c3QgcmV0dXJuIHRydWUnCispOwogCi0vL0NIRUNLIzAKLWlmICgoUmVnRXhwLnByb3RvdHlw
ZS5leGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkpIHsKLSAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIzA6IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShc
J2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgZGVsZXRlIFJl
Z0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFsdWUgb2YgYGRl
bGV0ZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoYCBpcyBleHBlY3RlZCB0byBiZSB0cnVl
JworKTsKIAotLy9DSEVDSyMxCi1pZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5n
dGggIT09IHRydWUpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGRlbGV0ZSBSZWdF
eHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVl
KAorICBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICBm
YWxzZSwKKyAgJ1JlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwn
KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CiAKLS8vQ0hFQ0sjMgotaWYgKFJlZ0V4cC5wcm90b3R5
cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7Ci0gIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aDsg
UmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSBmYWxz
ZScpOwotfQorLy8gVE9ETzogQ29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBl
L3RvU3RyaW5nL1MxNS4xMC42LjRfQTEwLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BMTAuanMKaW5kZXggNzI5
OTFiYTYxYzRjM2NmZGRiNzczNjEwMDQ4ZWQ1ZDUzNTY1OThmOC4uYzM0Nzg0ZTM2ZTE3OThiOGJj
OTEyYzQ1YTczNzI5MTk2ZjYxNTlkOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BMTAuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJp
bmcvUzE1LjEwLjYuNF9BMTAuanMKQEAgLTksMTcgKzksMjAgQEAKICAgICBmYWlscwogaW5jbHVk
ZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKFJlZ0V4cC5w
cm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7Ci0J
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFz
T3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAor
ICB0cnVlLAorICAnUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xl
bmd0aFwnKSBtdXN0IHJldHVybiB0cnVlJworKTsKIAogdmFyIF9fb2JqID0gUmVnRXhwLnByb3Rv
dHlwZS50b1N0cmluZy5sZW5ndGg7CiAKIHZlcmlmeU5vdFdyaXRhYmxlKFJlZ0V4cC5wcm90b3R5
cGUudG9TdHJpbmcsICJsZW5ndGgiLCBudWxsLCBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7
fSk7CiAKLS8vQ0hFQ0sjMgotaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9
PSBfX29iaikgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBfX29iaiA9IFJlZ0V4cC5w
cm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOyBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0
aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLnRvU3Ry
aW5nLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRvU3Ry
aW5nLmxlbmd0aCkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS50
b1N0cmluZy5sZW5ndGgsCisgIF9fb2JqLAorICAnVGhlIHZhbHVlIG9mIFJlZ0V4cC5wcm90b3R5
cGUudG9TdHJpbmcubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBfX29i
aicKKyk7CisKKy8vIFRPRE86IENvbnZlcnQgdG8gdmVyaWZ5UHJvcGVydHkoKSBmb3JtYXQuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS90b1N0cmluZy9TMTUuMTAuNi40X0ExMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTExLmpzCmluZGV4IDRj
M2M4YmZlMzllY2UwYTI4MGRlZWZkYmE3N2I1ZjIzM2IzN2RhYzUuLmJhZGYwYzZjZTc0NGFmNDdm
YWQwZDdmZWJhY2ExNzY4ZmU3YTlkYjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTExLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3Ry
aW5nL1MxNS4xMC42LjRfQTExLmpzCkBAIC02LDEzICs2LDE0IEBACiBlczVpZDogMTUuMTAuNi40
X0ExMQogZGVzY3JpcHRpb246IENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVu
Z3RoCiAtLS0qLworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgUmVnRXhwLnByb3RvdHlwZS50b1N0cmlu
Zy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIiksCisgIHRydWUsCisgICdSZWdFeHAucHJvdG90eXBl
LnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSBtdXN0IHJldHVybiB0cnVlJworKTsK
IAotLy9DSEVDSyMxCi1pZiAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0
eSgibGVuZ3RoIikgIT09IHRydWUpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMTogUmVn
RXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1
ZScpOwotfQotCi0vL0NIRUNLIzIKLWlmIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0
aCAhPT0gMCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMyOiBSZWdFeHAucHJvdG90eXBl
LnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudG9T
dHJpbmcubGVuZ3RoKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJvdG90eXBl
LnRvU3RyaW5nLmxlbmd0aCwKKyAgMCwKKyAgJ1RoZSB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBl
LnRvU3RyaW5nLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAwJworKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL1Mx
NS4xMC42LjRfQTYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuMTAuNi40X0E2LmpzCmluZGV4IGU1YjMxOTM0ZTBlNjE0NGNm
N2ZmNDE1NjY5NWVjZTlmMGIxNTQ3NTkuLjRjZGZlNGNhODIyNGMyYWE2YzgxMTkwODVhYWUzYmQ4
OTU1Nzk0ZDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdF
eHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTYuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9B
Ni5qcwpAQCAtNiw4ICs2LDggQEAKIGVzNWlkOiAxNS4xMC42LjRfQTYKIGRlc2NyaXB0aW9uOiBD
aGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZQogLS0tKi8KLQotLy9D
SEVDSyMxCi1pZiAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUgIT09IHVuZGVm
aW5lZCkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRv
U3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3Rv
dHlwZS50b1N0cmluZy5wcm90b3R5cGUpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIFJlZ0V4
cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlLAorICB1bmRlZmluZWQsCisgICdUaGUgdmFs
dWUgb2YgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdW5kZWZpbmVkJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTcuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90b1N0cmluZy9TMTUu
MTAuNi40X0E3LmpzCmluZGV4IGVmZWNhMjk5YmYxZjMwNzFjZDllOWQxMTEwOGE4ODllNjBkZTRi
MTguLmZhZWRkY2E4NTNmMzczNmIwNzllNzE1NTI4OWQxNjQ5MGIyMGE1ZTMgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5n
L1MxNS4xMC42LjRfQTcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BNy5qcwpAQCAtMTAsMTAgKzEwLDE0
IEBACiB2YXIgX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZzsKIAogdHJ5IHsK
LQl2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzEuMTogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyB0aHJvdyBUeXBl
RXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7CisgICAgdmFyIF9faW5zdGFuY2UgPSBu
ZXcgX19GQUNUT1JZOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMxLjE6IF9fRkFDVE9S
WSA9IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcg
KyAoX19pbnN0YW5jZSkpOwogfSBjYXRjaCAoZSkgewotICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBl
RXJyb3IpICE9PSB0cnVlKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEuMjogX19G
QUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVh
bDogJyArIChlKSk7Ci0gIH0KKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBlIGluc3RhbmNlb2Yg
VHlwZUVycm9yLAorICAgIHRydWUsCisgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoZSBp
bnN0YW5jZW9mIFR5cGVFcnJvcikgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgKTsKIH0KKwor
Ly8gVE9ETzogQ29udmVydCB0byBhc3NlcnQudGhyb3dzKCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcv
UzE1LjEwLjYuNF9BOC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRfQTguanMKaW5kZXggYzI1MzJiZTU3YzZlOTM3
YWQ1ZjE1N2IwODNhYWI3ZGJhZjM1NTgxYy4uMDQ5Y2VjZDc5NTMxODZmMzc1MWIzZDYzMmYxODA0
NTEyYWUzNmQwYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BOC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90b1N0cmluZy9TMTUuMTAuNi40
X0E4LmpzCkBAIC04LDI0ICs4LDI2IEBACiAgICAgQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhl
IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoCiAgICAgcHJvcGVydHkgZmFpbHMKIC0t
LSovCithc3NlcnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093
blByb3BlcnR5KCdsZW5ndGgnKSwKKyAgdHJ1ZSwKKyAgJ1JlZ0V4cC5wcm90b3R5cGUudG9TdHJp
bmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gdHJ1ZScKKyk7CiAKLS8v
Q0hFQ0sjMAotaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xl
bmd0aCcpICE9PSB0cnVlKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzA6IFJlZ0V4cC5w
cm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsK
LX0KLQotIC8vQ0hFQ0sjMQotaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJ
c0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwn
bGVuZ3RoXCcpID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBSZWdFeHAucHJv
dG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSwKKyAgZmFsc2Us
CisgICdSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVu
Z3RoXCcpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKIAotIC8vQ0hFQ0sjMgogdmFyIGNvdW50PTA7
CiAKIGZvciAodmFyIHAgaW4gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyl7Ci0JaWYgKHA9PT0i
bGVuZ3RoIikgY291bnQrKzsKKyAgICBpZiAocD09PSJsZW5ndGgiKSB7CisgICAgICBjb3VudCsr
OworICAgIH0KIH0KIAotaWYgKGNvdW50ICE9PSAwKSB7Ci0JdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcpeyBp
ZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291
bnQpKTsKLX0KK2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDAsICdUaGUgdmFsdWUgb2YgY291bnQg
aXMgZXhwZWN0ZWQgdG8gYmUgMCcpOworCisvLyBUT0RPOiBDb252ZXJ0IHRvIHZlcmlmeVByb3Bl
cnR5KCkgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEwLjYuNF9BOS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL1MxNS4xMC42LjRf
QTkuanMKaW5kZXggYWFlYzM5MDU0ZTBlZTZhOTdkNTRhNWRmMDQxYWE5MTQyNDBhZDBkMC4uNTRj
ZDA3ZDM5ZGViNTRjMjA5NDU2ODdjNzcwNzU2ODE2NGY0YjViNiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvUzE1LjEw
LjYuNF9BOS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3By
b3RvdHlwZS90b1N0cmluZy9TMTUuMTAuNi40X0E5LmpzCkBAIC0xMCwxOCArMTAsMjIgQEAKICAg
ICBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5n
dGggcHJvcGVydHkKICAgICBmYWlscwogLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIFJlZ0V4
cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpLAorICB0cnVlLAor
ICAnUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSBt
dXN0IHJldHVybiB0cnVlJworKTsKIAotLy9DSEVDSyMwCi1pZiAoKFJlZ0V4cC5wcm90b3R5cGUu
dG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewotCXRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3Bl
cnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKAorICBkZWxl
dGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgsCisgIHRydWUsCisgICdUaGUgdmFs
dWUgb2YgYGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aGAgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyk7CiAKLS8vQ0hFQ0sjMQotaWYgKGRlbGV0ZSBSZWdFeHAucHJvdG90
eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gdHJ1ZSkgewotCXRocm93IG5ldyBUZXN0MjYyRXJyb3Io
JyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPT09IHRydWUnKTsK
LX0KK2Fzc2VydC5zYW1lVmFsdWUoCisgIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3du
UHJvcGVydHkoJ2xlbmd0aCcpLAorICBmYWxzZSwKKyAgJ1JlZ0V4cC5wcm90b3R5cGUudG9TdHJp
bmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgbXVzdCByZXR1cm4gZmFsc2UnCispOwogCi0v
L0NIRUNLIzIKLWlmIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCds
ZW5ndGgnKSAhPT0gZmFsc2UpIHsKLQl0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMjogZGVsZXRl
IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOyBSZWdFeHAucHJvdG90eXBlLnRvU3Ry
aW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSBmYWxzZScpOwotfQorLy8gVE9ETzog
Q29udmVydCB0byB2ZXJpZnlQcm9wZXJ0eSgpIGZvcm1hdC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9jb25zdHJ1Y3Rvci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZDUzNWEyZTZlMmE3MjliNjI0MmM3MjI1ODlmZGRiMWQ4ZDcxM2JjCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2Nv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMTggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNp
ZDogc2VjLXNoYWRvd3JlYWxtLWNvbnN0cnVjdG9yCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dS
ZWFsbSBpcyBhIGNvbnN0cnVjdG9yIGFuZCBoYXMgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1NoYWRvd1JlYWxt
LCBSZWZsZWN0LmNvbnN0cnVjdF0KKy0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
U2hhZG93UmVhbG0sCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFNo
YWRvd1JlYWxtIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKworYXNzZXJ0KGlzQ29uc3RydWN0b3Io
U2hhZG93UmVhbG0pKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKFNo
YWRvd1JlYWxtKSwgRnVuY3Rpb24ucHJvdG90eXBlKTsKK25ldyBTaGFkb3dSZWFsbSgpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2Rlc2Ny
aXB0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vZGVz
Y3JpcHRvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWUwNWM2ZjVmZWM4MGVlYWE0ZWY4MWI3N2RjNzU3MWVl
ZTRiNDZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1NoYWRvd1JlYWxtL2Rlc2NyaXB0b3IuanMKQEAgLTAsMCArMSwxNSBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVhbG0tY29uc3RydWN0b3IKK2Rlc2NyaXB0aW9u
OiA+CisgIFRoZSBTaGFkb3dSZWFsbSBjb25zdHJ1Y3RvciBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBv
ZiB0aGUgIlNoYWRvd1JlYWxtIiBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdC4KK2luY2x1
ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8K
KwordmVyaWZ5UHJvcGVydHkodGhpcywgIlNoYWRvd1JlYWxtIiwgeworICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgd3JpdGFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2V4dGVu
c2liaWxpdHkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0v
ZXh0ZW5zaWJpbGl0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmUyM2Q5ZDUyMGJkYjU0ZWFlYTNiNDM0NTMz
OWM5OWExMDUwYzlhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYWRvd1JlYWxtL2V4dGVuc2liaWxpdHkuanMKQEAgLTAsMCArMSwxNSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNoYWRvd3JlYWxtLWNvbnN0cnVjdG9yCitkZXNj
cmlwdGlvbjogPgorICBUaGUgU2hhZG93UmVhbG0gY29uc3RydWN0b3IgaXMgZXh0ZW5zaWJsZQor
aW5mbzogfAorICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHMKKworICBV
bmxlc3Mgc3BlY2lmaWVkIG90aGVyd2lzZSwgdGhlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFsIHNs
b3Qgb2YgYSBidWlsdC1pbgorICBvYmplY3QgaW5pdGlhbGx5IGhhcyB0aGUgdmFsdWUgdHJ1ZS4K
K2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKE9iamVj
dC5pc0V4dGVuc2libGUoU2hhZG93UmVhbG0pLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9pbnN0YW5jZS1leHRlbnNpYmlsaXR5
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2luc3RhbmNl
LWV4dGVuc2liaWxpdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjYxNDY3NDNhYzViMzM5MzRjNTA5Zjc4ZjIx
NjYxY2UwZTA5NzVlNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TaGFkb3dSZWFsbS9pbnN0YW5jZS1leHRlbnNpYmlsaXR5LmpzCkBAIC0wLDAgKzEs
NDMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXNoYWRvd3JlYWxtCitkZXNj
cmlwdGlvbjogPgorICBUaGUgbmV3IGluc3RhbmNlIGlzIGV4dGVuc2libGUKK2luZm86IHwKKyAg
U2hhZG93UmVhbG0gKCApCisKKyAgLi4uCisgIDIuIExldCBPIGJlID8gT3JkaW5hcnlDcmVhdGVG
cm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJVNoYWRvd1JlYWxtLnByb3RvdHlwZSUiLAorICDC
qyBbW1NoYWRvd1JlYWxtXV0sIFtbRXhlY3V0aW9uQ29udGV4dF1dIMK7KS4KKyAgLi4uCisgIDEz
LiBSZXR1cm4gTy4KKworICBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvciBjcmVhdGVzIGEg
bmV3IG9yZGluYXJ5IG9iamVjdHMgaW5jbHVkaW5nIHRoZQorICBpbnRlcm5hbCBzbG90cyBbW1By
b3RvdHlwZV1dIGFuZCBbW0V4dGVuc2libGVdXS4gVGhlIGxhdHRlciB3aWxsIGhhdmUgaXRzCisg
IHZhbHVlIHNldCB0byB0cnVlLgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1
cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCitjb25zdCByZWFsbSA9IG5ldyBTaGFkb3dSZWFs
bSgpOworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShyZWFsbSkpOworCitPYmplY3QuZGVm
aW5lUHJvcGVydHkocmVhbG0sICdmb28nLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsKK2Fzc2Vy
dChyZWFsbS5oYXNPd25Qcm9wZXJ0eSgnZm9vJyksICdjb25maXJtcyBleHRlbnNpYmlsaXR5IGFk
ZGluZyBhIG5ldyBwcm9wZXJ0eScpOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkocmVhbG0sICdm
b28nLCB7CisgIHZhbHVlOiAnYmFyJywKKyAgd3JpdGFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTogZmFsc2UsCit9KTsKKwordmVyaWZ5UHJvcGVydHkocmVh
bG0sICdmb28nLCB7CisgIHZhbHVlOiAnYmFyJywKKyAgd3JpdGFibGU6IHRydWUsCisgIGNvbmZp
Z3VyYWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTogZmFsc2UsCit9KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9pbnN0YW5jZS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9pbnN0YW5jZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hYzFkM2U0ZTM0MWE3OWE4YzdmOTQ1ZDE4NjFkN2ExMTA5MjQxZWFmCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2lu
c3RhbmNlLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLXNoYWRvd3JlYWxtLWNvbnN0cnVjdG9yCitkZXNjcmlwdGlvbjogPgorICBuZXcgU2hhZG93
UmVhbG0oKSByZXR1cm5zIGEgc2hhZG93IHJlYWxtIGluc3RhbmNlCitpbmZvOiB8CisgIFNoYWRv
d1JlYWxtICggKQorCisgIC4uLgorICAyLiBMZXQgTyBiZSA/IE9yZGluYXJ5Q3JlYXRlRnJvbUNv
bnN0cnVjdG9yKE5ld1RhcmdldCwgIiVTaGFkb3dSZWFsbS5wcm90b3R5cGUlIiwKKyAgwqsgW1tT
aGFkb3dSZWFsbV1dLCBbW0V4ZWN1dGlvbkNvbnRleHRdXSDCuykuCisgIC4uLgorICAxMy4gUmV0
dXJuIE8uCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBTaGFkb3dSZWFsbSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0
IGZhaWwgaWYgU2hhZG93UmVhbG0gaXMgbm90IGEgZnVuY3Rpb24nCispOworCit2YXIgcmVhbG0g
PSBuZXcgU2hhZG93UmVhbG0oKTsKKworYXNzZXJ0KHJlYWxtIGluc3RhbmNlb2YgU2hhZG93UmVh
bG0pOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHJlYWxtKSwK
KyAgU2hhZG93UmVhbG0ucHJvdG90eXBlLAorICAnW1tQcm90b3R5cGVdXSBpcyBzZXQgdG8gJVNo
YWRvd1JlYWxtLnByb3RvdHlwZSUnCispOworCit2YXIgb3RoZXJSZWFsbSA9IG5ldyBTaGFkb3dS
ZWFsbSgpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZWFsbSwgb3RoZXJSZWFsbSwgJ2VhY2ggaW5z
dGFuY2UgaXMgZGlmZmVyZW50Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU2hhZG93UmVhbG0vbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYWRvd1JlYWxtL2xlbmd0aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTYxNjY0YzI2NmU4Y2I1
OTZmMWY1ODU3NDg2ODhiMzI5YTA4M2ZiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL2xlbmd0aC5qcwpAQCAtMCwwICsxLDI4IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS1jb25zdHJ1Y3Rv
cgorZGVzY3JpcHRpb246ID4KKyAgVGhlIHZhbHVlIG9mIFNoYWRvd1JlYWxtLmxlbmd0aCBpcyAw
CitpbmZvOiB8CisgIFNoYWRvd1JlYWxtICggKQorCisgIEV2ZXJ5IGJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgaGFzIGEgImxlbmd0aCIgcHJvcGVydHkK
KyAgd2hvc2UgdmFsdWUgaXMgYSBub24tbmVnYXRpdmUgaW50ZWdyYWwgTnVtYmVyLiBVbmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZQorICBpcyBlcXVhbCB0byB0aGUgbnVtYmVy
IG9mIHJlcXVpcmVkIHBhcmFtZXRlcnMgc2hvd24gaW4gdGhlIHN1YmNsYXVzZSBoZWFkaW5nIGZv
ciB0aGUKKyAgZnVuY3Rpb24gZGVzY3JpcHRpb24uIE9wdGlvbmFsIHBhcmFtZXRlcnMgYW5kIHJl
c3QgcGFyYW1ldGVycyBhcmUgbm90IGluY2x1ZGVkIGluCisgIHRoZSBwYXJhbWV0ZXIgY291bnQu
CisKKyAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSAibGVuZ3RoIiBwcm9wZXJ0eSBv
ZiBhIGJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdCBoYXMKKyAgdGhlIGF0dHJpYnV0ZXMgeyBbW1dy
aXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06
IHRydWUgfS4KKworaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbU2hh
ZG93UmVhbG1dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShTaGFkb3dSZWFsbSwgImxlbmd0aCIs
IHsKKyAgdmFsdWU6IDAsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFsc2Us
CisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL25hbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2hhZG93UmVhbG0vbmFtZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zY2I2MzAzMjIzMjBm
NTU0MWFlZDZkNWMyYmFiZTQ1ZjRlNDk2YWM1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL25hbWUuanMKQEAgLTAsMCArMSwyNSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgdmFsdWUgb2YgU2hhZG93UmVh
bG0ubmFtZSBpcyAnU2hhZG93UmVhbG0nCitpbmZvOiB8CisgIEV2ZXJ5IGJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgaGFzIGEgIm5hbWUiIHByb3BlcnR5
CisgIHdob3NlIHZhbHVlIGlzIGEgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwg
dGhpcyB2YWx1ZSBpcyB0aGUgbmFtZQorICB0aGF0IGlzIGdpdmVuIHRvIHRoZSBmdW5jdGlvbiBp
biB0aGlzIHNwZWNpZmljYXRpb24uCisKKyAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRo
ZSAibmFtZSIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbgorICBvYmplY3QgaGFzIHRo
ZSBhdHRyaWJ1dGVzCisgIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZh
bHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxw
ZXIuanNdCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHko
U2hhZG93UmVhbG0sICJuYW1lIiwgeworICB2YWx1ZTogIlNoYWRvd1JlYWxtIiwKKyAgZW51bWVy
YWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVh
bG0vcHJvdG8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0v
cHJvdG8uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVmZDFmZjVjYWRkZWRiNWM1Mzg0NjMxZDg3YThiNDcxYzFk
NTAwNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFkb3dSZWFsbS9wcm90by5qcwpAQCAtMCwwICsxLDE1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyot
LS0KK2VzaWQ6IHNlYy1wcm9wZXJ0aWVzLW9mLXRoZS1zaGFkb3dyZWFsbS1jb25zdHJ1Y3Rvcgor
ZGVzY3JpcHRpb246ID4KKyAgVGhlIFtbUHJvdG90eXBlXV0gb2YgU2hhZG93UmVhbG0gaXMgRnVu
Y3Rpb24uUHJvdG90eXBlLgoraW5mbzogfAorICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBl
dmVyeSBidWlsdC1pbiBmdW5jdGlvbiBhbmQgZXZlcnkgYnVpbHQtaW4gY29uc3RydWN0b3IKKyAg
aGFzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LCB3aGljaCBpcyB0aGUgaW5pdGlhbCB2
YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbgorICBGdW5jdGlvbi5wcm90b3R5cGUsIGFzIHRoZSB2YWx1
ZSBvZiBpdHMgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBzbG90LgorCitmZWF0dXJlczogW1NoYWRv
d1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
U2hhZG93UmVhbG0pLCBGdW5jdGlvbi5wcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9TeW1ib2wudG9TdHJp
bmdUYWcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJv
dG90eXBlL1N5bWJvbC50b1N0cmluZ1RhZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGMxMDJlYmZkYmZmOWIz
MTdkNjJiODk0NmE4OGMwN2Q2MDIxNjA5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdU
YWcuanMKQEAgLTAsMCArMSwyMiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNo
YWRvd3JlYWxtLnByb3RvdHlwZS1AQHRvc3RyaW5ndGFnCitkZXNjcmlwdGlvbjogPgorICBgU3lt
Ym9sLnRvU3RyaW5nVGFnYCBwcm9wZXJ0eSBkZXNjcmlwdG9yCitpbmZvOiB8CisgIFRoZSBpbml0
aWFsIHZhbHVlIG9mIHRoZSBAQHRvU3RyaW5nVGFnIHByb3BlcnR5IGlzIHRoZSBTdHJpbmcgdmFs
dWUKKyAgIlNoYWRvd1JlYWxtIi4KKworICBUaGlzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRl
cyB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOgorICBmYWxzZSwgW1tDb25m
aWd1cmFibGVdXTogdHJ1ZSB9LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1
cmVzOiBbU2hhZG93UmVhbG0sIFN5bWJvbC50b1N0cmluZ1RhZ10KKy0tLSovCisKK3ZlcmlmeVBy
b3BlcnR5KFNoYWRvd1JlYWxtLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7CisgICAg
dmFsdWU6ICdTaGFkb3dSZWFsbScsCisgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgd3JpdGFi
bGU6IGZhbHNlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L2Rlc2NyaXB0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVh
bG0vcHJvdG90eXBlL2V2YWx1YXRlL2Rlc2NyaXB0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUzMGUyNjc3
ZDA1ZjUwMDQxNzcyYjIxODgzMWVjOTAyMTM2Y2NlOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUv
ZGVzY3JpcHRvci5qcwpAQCAtMCwwICsxLDE1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmlj
ayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUKK2Rlc2NyaXB0aW9uOiA+Cisg
ICAgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIGFuIEVDTUFTY3JpcHQgU3RhbmRh
cmQgYnVpbHQtaW4gb2JqZWN0IGZ1bmN0aW9uLgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5q
c10KK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShTaGFk
b3dSZWFsbS5wcm90b3R5cGUsICJldmFsdWF0ZSIsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisg
IHdyaXRhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvZXJyb3JzLWZyb20tdGhlLW90aGVyLXJlYWxtLWlzLXdyYXBwZWQtaW50by1hLXR5cGVl
cnJvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90
b3R5cGUvZXZhbHVhdGUvZXJyb3JzLWZyb20tdGhlLW90aGVyLXJlYWxtLWlzLXdyYXBwZWQtaW50
by1hLXR5cGVlcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTE3MWZmYjViYjQzNGRkNzg3ZDc0OTY2Mzdi
OGRiMjBmMjAwZDRhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9lcnJvcnMtZnJvbS10aGUtb3Ro
ZXItcmVhbG0taXMtd3JhcHBlZC1pbnRvLWEtdHlwZWVycm9yLmpzCkBAIC0wLDAgKzEsMjYgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNoYWRvd3JlYWxtLnByb3RvdHlwZS5l
dmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRl
IHdyYXBzIGVycm9ycyBmcm9tIG90aGVyIHJlYWxtIGludG8gVHlwZUVycm9ycworZmVhdHVyZXM6
IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTaGFk
b3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRlc3Qg
bXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5j
dGlvbicKKyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKKworYXNzZXJ0LnRocm93
cyhTeW50YXhFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSgnLi4uJyksICdTeW50YXhFcnJvciBleHBv
c2VkIHRvIFBhcmVudCcpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZhbHVh
dGUoJ3Rocm93IDQyJyksICd0aHJvdyBwcmltaXRpdmUgPT4gVHlwZUVycm9yJyk7Cithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSgndGhyb3cgbmV3IFJlZmVyZW5jZUVy
cm9yKCJhYWEiKScpLCAnY3VzdG9tIGN0b3IgPT4gVHlwZUVycm9yJyk7Cithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSgndGhyb3cgbmV3IFR5cGVFcnJvcigiYWFhIikn
KSwgJ0NoaWxkIFR5cGVFcnJvciA9PiBQYXJlbnQgVHlwZUVycm9yJyk7Cithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSgnZXZhbCgiLi4uIik7JyksICdzeW50YXhlcnJv
ciBwYXJzaW5nIGNvbWluZyBhZnRlciBydW50aW1lIGV2YWx1YXRpb24nKTsKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiByLmV2YWx1YXRlKGAKKyAgJ3VzZSBzdHJpY3QnOworICBldmFs
KCJ2YXIgcHVibGljID0gMTsiKTsKK2ApLCAnc3RyaWN0LW1vZGUgb25seSBzeW50YXhlcnJvciBw
YXJzaW5nIGNvbWluZyBhZnRlciBydW50aW1lIGV2YWx1YXRpb24nKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVh
dGUvbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxt
L3Byb3RvdHlwZS9ldmFsdWF0ZS9sZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVjY2ZhZTVhMDhkMjY3
MzlmZmVkZjYxNzA3ZjM5NzEyZjEyNjBmMAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbGVuZ3Ro
LmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNo
YWRvd3JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgVGhlIHZhbHVl
IG9mIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZS5sZW5ndGggaXMgMQoraW5mbzogfAor
ICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgKCBzb3VyY2VUZXh0ICkKKworICBFdmVy
eSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIGhhcyBh
ICJsZW5ndGgiIHByb3BlcnR5CisgIHdob3NlIHZhbHVlIGlzIGEgbm9uLW5lZ2F0aXZlIGludGVn
cmFsIE51bWJlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUKKyAgaXMg
ZXF1YWwgdG8gdGhlIG51bWJlciBvZiByZXF1aXJlZCBwYXJhbWV0ZXJzIHNob3duIGluIHRoZSBz
dWJjbGF1c2UgaGVhZGluZyBmb3IgdGhlCisgIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLiBPcHRpb25h
bCBwYXJhbWV0ZXJzIGFuZCByZXN0IHBhcmFtZXRlcnMgYXJlIG5vdCBpbmNsdWRlZCBpbgorICB0
aGUgcGFyYW1ldGVyIGNvdW50LgorCisgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUg
Imxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QgaGFzCisgIHRo
ZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNl
LCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoU2hh
ZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlLCAibGVuZ3RoIiwgeworICB2YWx1ZTogMSwKKyAg
ZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0
cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hh
ZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL25hbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL25hbWUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjAxMmM5MmZmNWRlZTRjODRkNjUyZTQ3ZWE3OGU4NDUyYzBiNzUxNgotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90
b3R5cGUvZXZhbHVhdGUvbmFtZS5qcwpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
LyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUKK2Rlc2NyaXB0
aW9uOiA+CisgIFRoZSB2YWx1ZSBvZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUubmFt
ZSBpcyAnZXZhbHVhdGUnCitpbmZvOiB8CisgIEV2ZXJ5IGJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgaGFzIGEgIm5hbWUiIHByb3BlcnR5CisgIHdob3Nl
IHZhbHVlIGlzIGEgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1
ZSBpcyB0aGUgbmFtZQorICB0aGF0IGlzIGdpdmVuIHRvIHRoZSBmdW5jdGlvbiBpbiB0aGlzIHNw
ZWNpZmljYXRpb24uCisKKyAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSAibmFtZSIg
cHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbgorICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1
dGVzCisgIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLCBbW0Nv
bmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitm
ZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoU2hhZG93UmVh
bG0ucHJvdG90eXBlLmV2YWx1YXRlLCAibmFtZSIsIHsKKyAgdmFsdWU6ICJldmFsdWF0ZSIsCisg
IGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTog
dHJ1ZSwKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1No
YWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uZXN0ZWQtcmVhbG1zLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uZXN0
ZWQtcmVhbG1zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4NjhhZjliM2Y3Y2UyM2ZkOTIxYjBmYjQwNTgyYTUx
ZTU3OThhNzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL25lc3RlZC1yZWFsbXMuanMKQEAgLTAs
MCArMSwzNyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNoYWRvd3JlYWxtLnBy
b3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hhZG93UmVhbG0gY2FuIGNyZWF0
ZSBhIG5lc3RlZCBTaGFkb3dSZWFsbQorZmVhdHVyZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVh
dGUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxt
LnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicKKyk7CisKK2dsb2JhbFRoaXMu
bXlWYWx1ZSA9ICdhJzsKK2NvbnN0IHJlYWxtMSA9IG5ldyBTaGFkb3dSZWFsbSgpOworCityZWFs
bTEuZXZhbHVhdGUoJ2dsb2JhbFRoaXMubXlWYWx1ZSA9ICJiIjsnKTsKKworY29uc3QgcmVhbG0y
RXZhbHVhdGUgPSByZWFsbTEuZXZhbHVhdGUoYAorICBjb25zdCByZWFsbTIgPSBuZXcgU2hhZG93
UmVhbG0oKTsKKworICAoc3RyKSA9PiByZWFsbTIuZXZhbHVhdGUoc3RyKTsKK2ApOworCityZWFs
bTJFdmFsdWF0ZSgnZ2xvYmFsVGhpcy5teVZhbHVlID0gImMiOycpOworCithc3NlcnQuc2FtZVZh
bHVlKGdsb2JhbFRoaXMubXlWYWx1ZSwgJ2EnKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVhbG0xLmV2
YWx1YXRlKCdnbG9iYWxUaGlzLm15VmFsdWUnKSwgJ2InKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVh
bG0yRXZhbHVhdGUoJ2dsb2JhbFRoaXMubXlWYWx1ZScpLCAnYycpOworCityZWFsbTEuZXZhbHVh
dGUoJ2dsb2JhbFRoaXMubXlWYWx1ZSA9ICJkIicpOworCithc3NlcnQuc2FtZVZhbHVlKGdsb2Jh
bFRoaXMubXlWYWx1ZSwgJ2EnLCAnbm8gc2lkZSBlZmZlY3RzJyk7Cithc3NlcnQuc2FtZVZhbHVl
KHJlYWxtMS5ldmFsdWF0ZSgnZ2xvYmFsVGhpcy5teVZhbHVlJyksICdkJywgJ25vIHNpZGUgZWZm
ZWN0cycpOworYXNzZXJ0LnNhbWVWYWx1ZShyZWFsbTJFdmFsdWF0ZSgnZ2xvYmFsVGhpcy5teVZh
bHVlJyksICdjJywgJ25vIHNpZGUgZWZmZWN0cycpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9uby1jb25k
aXRpb25hbC1zdHJpY3QtbW9kZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbm8tY29uZGl0aW9uYWwtc3RyaWN0LW1vZGUu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjUyYjBiNjg2NTA0NmJhODU0YWUzMDE5NzdhZTcyYWIyMTM1ZjRmNgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dS
ZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbm8tY29uZGl0aW9uYWwtc3RyaWN0LW1vZGUuanMKQEAg
LTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVh
bG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjogPgorICBUaGUgbmV3IHJlYWxtIGhh
cyBubyBjb25kaXRpb25hbCBzdHJpY3QgbW9kZSBiYXNlZCBvbiBpdHMgb3V0ZXIgcmVhbG0KK2lu
Zm86IHwKKyAgVGhpcyB0ZXN0IHNob3VsZCBhbHdheXMgcnVuIHdpdGggdGhlIG91dGVyIHJlYWxt
IGluIGJvdGggc3RyaWN0IGFuZCBub24KKyAgc3RyaWN0IG1vZGUgdG8gdmVyaWZ5IHRoZSByZWFs
bSBjb2RlIHN0YXJ0cyBpbiBub24tc3RyaWN0IG1vZGUuCitmZWF0dXJlczogW1NoYWRvd1JlYWxt
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFNoYWRvd1JlYWxtLnByb3Rv
dHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYg
U2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKwor
Y29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworCitjb25zdCByZXMgPSByLmV2YWx1YXRlKGAK
KyAgZnVuY3Rpb24gbG9sKCkgeworICAgIGFyZ3VtZW50cyA9IDQyOyAvLyBUaGlzIHdvdWxkIGJl
IGEgU3ludGF4RXJyb3IgaWYgaW4gc3RyaWN0IG1vZGUKKworICAgIHJldHVybiBhcmd1bWVudHM7
CisgIH0KKyAgbG9sOworYCk7CisKK2Fzc2VydC5zYW1lVmFsdWUocmVzKCksIDQyKTsKKworY29u
c3QgcmVzMiA9IHIuZXZhbHVhdGUoJ3ZhciBwdWJsaWMgPSAxOyA0MicpOworCithc3NlcnQuc2Ft
ZVZhbHVlKHJlczIsIDQyKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbm90LWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS9ub3QtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmEyYzNmYjc4ZWQyYzk4ZTI0ZjI0
Njg4MWYwZjY0ZjU2ZjdhNDkzNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvbm90LWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LXNoYWRvd3JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hhZG93
UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGNvbnN0cnVjdG9yLgoraW5jbHVkZXM6
IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtTaGFkb3dSZWFsbSwgUmVmbGVjdC5jb25z
dHJ1Y3RdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgU2hhZG93UmVhbG0u
cHJvdG90eXBlLmV2YWx1YXRlLAorICAnZnVuY3Rpb24nLAorICAnVGhpcyB0ZXN0IG11c3QgZmFp
bCBpZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCisp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFNoYWRvd1JlYWxtLnByb3Rv
dHlwZS5ldmFsdWF0ZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTaGFkb3dSZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0
ZSgiIik7Cit9LCAnYG5ldyBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUoIiIpYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKK3IuZXZhbHVh
dGUoJ2dsb2JhbFRoaXMueCA9IDAnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKKyAgbmV3IHIuZXZhbHVhdGUoImdsb2JhbFRoaXMueCArPSAxOyIpOworfSwgJ2BuZXcgci5l
dmFsdWF0ZSgiLi4uIilgIHRocm93cyBUeXBlRXJyb3InKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShy
LmV2YWx1YXRlKCdnbG9iYWxUaGlzLngnKSwgMCwgJ05vIGNvZGUgZXZhbHVhdGVkIGluIHRoZSBu
ZXcgZXhwcmVzc2lvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9wcm90by5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvcHJvdG8u
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzgyMjY4OTMwNzllNDFkYjY3OTRhNDg5M2NiNTA5YjdhMTdjZWJhZgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dS
ZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvcHJvdG8uanMKQEAgLTAsMCArMSwxNSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRl
CitkZXNjcmlwdGlvbjogPgorICBUaGUgW1tQcm90b3R5cGVdXSBvZiBTaGFkb3dSZWFsbS5wcm90
b3R5cGUuZXZhbHVhdGUgaXMgRnVuY3Rpb24uUHJvdG90eXBlLgorCisgIFVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGV2ZXJ5IGJ1aWx0LWluIGZ1bmN0aW9uIGFuZCBldmVyeSBidWlsdC1pbiBj
b25zdHJ1Y3RvcgorICBoYXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QsIHdoaWNoIGlz
IHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uCisgIEZ1bmN0aW9uLnByb3RvdHlw
ZSwgYXMgdGhlIHZhbHVlIG9mIGl0cyBbW1Byb3RvdHlwZV1dIGludGVybmFsIHNsb3QuCisKK2Zl
YXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5n
ZXRQcm90b3R5cGVPZihTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUpLCBGdW5jdGlvbi5w
cm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1No
YWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9yZXR1cm5zLXByaW1pdGl2ZS12YWx1ZXMuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2
YWx1YXRlL3JldHVybnMtcHJpbWl0aXZlLXZhbHVlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDExZjcwNzQ4
MGZjYTJlZmUzY2E3ODAyNmE2OTA2YWFmNWY0ZDVjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9y
ZXR1cm5zLXByaW1pdGl2ZS12YWx1ZXMuanMKQEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNj
cmlwdGlvbjogPgorICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgcmV0dXJucyBwcmlt
aXRpdmUgdmFsdWVzCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgdHlwZW9mIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1
bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBl
LmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKworY29uc3QgciA9IG5ldyBTaGFkb3dS
ZWFsbSgpOworCithc3NlcnQuc2FtZVZhbHVlKHIuZXZhbHVhdGUoJzEgKyAxJyksIDIpOworYXNz
ZXJ0LnNhbWVWYWx1ZShyLmV2YWx1YXRlKCdudWxsJyksIG51bGwpOworYXNzZXJ0LnNhbWVWYWx1
ZShyLmV2YWx1YXRlKCcnKSwgdW5kZWZpbmVkLCAndW5kZWZpbmVkIGZyb20gZW1wdHkgY29tcGxl
dGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZShyLmV2YWx1YXRlKCd1bmRlZmluZWQnKSwgdW5kZWZp
bmVkKTsKK2Fzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgndHJ1ZScpLCB0cnVlKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgnZmFsc2UnKSwgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1
ZShyLmV2YWx1YXRlKCdmdW5jdGlvbiBmbigpIHt9JyksIHVuZGVmaW5lZCwgJ2ZuIGRlY2xhcmF0
aW9uIGhhcyBlbXB0eSBjb21wbGV0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHIuZXZhbHVhdGUo
J3t9JyksIHVuZGVmaW5lZCwgJ0Jsb2NrIGhhcyBlbXB0eSBjb21wbGV0aW9uJyk7Cithc3NlcnQu
c2FtZVZhbHVlKHIuZXZhbHVhdGUoJy0wJyksIC0wKTsKK2Fzc2VydC5zYW1lVmFsdWUoci5ldmFs
dWF0ZSgnInN0ciInKSwgJ3N0cicpOworYXNzZXJ0KE51bWJlci5pc05hTihyLmV2YWx1YXRlKCdO
YU4nKSkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRv
d1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9yZXR1cm5zLXByb3h5LWNhbGxhYmxlLW9iamVjdC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUv
ZXZhbHVhdGUvcmV0dXJucy1wcm94eS1jYWxsYWJsZS1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGIx
OTRjNjgwOWY1ZmJlMGJhMGEyZTAwYWMwZmI1ZGRhZjk5ZWEyNgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvcmV0dXJucy1wcm94eS1jYWxsYWJsZS1vYmplY3QuanMKQEAgLTAsMCArMSwyNSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJvdG90eXBlLmV2
YWx1YXRlCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUg
d3JhcHBlZCBwcm94eSBjYWxsYWJsZSBvYmplY3QuCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFNoYWRvd1JlYWxtLnByb3RvdHlw
ZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgU2hh
ZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKworY29u
c3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworCitjb25zdCBwcm94eUNhbGxhYmxlID0gci5ldmFs
dWF0ZShgCitmdW5jdGlvbiBmbigpIHsgcmV0dXJuIDQyOyB9CituZXcgUHJveHkoZm4sIHt9KTsK
K2ApOworCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBwcm94eUNhbGxhYmxlLCAnZnVuY3Rpb24n
LCAnd3JhcHBlZCBwcm94eSBjYWxsYWJsZSBvYmplY3QgaXMgdHlwZW9mIGZ1bmN0aW9uJyk7Cith
c3NlcnQuc2FtZVZhbHVlKHByb3h5Q2FsbGFibGUoKSwgNDIsICd3cmFwcGVkcGZuKCkgcmV0dXJu
cyA0MicpOworYXNzZXJ0LnNhbWVWYWx1ZShwcm94eUNhbGxhYmxlIGluc3RhbmNlb2YgUHJveHks
IGZhbHNlLCAndGhlIHdyYXBwZWQgZnVuY3Rpb24gImhpZGVzIiB0aGUgcHJveHkgaW5zdGFuY2Un
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFs
bS9wcm90b3R5cGUvZXZhbHVhdGUvcmV0dXJucy1zeW1ib2wtdmFsdWVzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS9yZXR1
cm5zLXN5bWJvbC12YWx1ZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM5ZmFhMWQyMTk5YjU4OGM4OTdlMTk0
ZmJmMWVmY2IxZmU0ZGExNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvcmV0dXJucy1zeW1ib2wt
dmFsdWVzLmpzCkBAIC0wLDAgKzEsNTEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLXNoYWRvd3JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hh
ZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHJldHVybnMgc3ltYm9sIHZhbHVlcworZmVhdHVy
ZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBT
aGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRl
c3QgbXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBm
dW5jdGlvbicKKyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKK2NvbnN0IHMgPSBy
LmV2YWx1YXRlKCdTeW1ib2woImZvb2JhciIpJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9m
IHMsICdzeW1ib2wnKTsKK2Fzc2VydC5zYW1lVmFsdWUocy5jb25zdHJ1Y3RvciwgU3ltYm9sLCAn
cHJpbWl0aXZlIGRvZXMgbm90IGV4cG9zZSBvdGhlciBTaGFkb3dSZWFsbSBjb25zdHJ1Y3Rvcicp
OworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YocyksIFN5bWJvbC5wcm90
b3R5cGUpOworYXNzZXJ0LnNhbWVWYWx1ZShTeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
cyksICdTeW1ib2woZm9vYmFyKScpOworCitjb25zdCBzaGFkb3dYID0gci5ldmFsdWF0ZSgnU3lt
Ym9sLmZvcigibXkgc3ltYm9sIG5hbWUiKScpOworY29uc3QgbXlYID0gU3ltYm9sLmZvcignbXkg
c3ltYm9sIG5hbWUnKQorCithc3NlcnQuc2FtZVZhbHVlKAorICBzaGFkb3dYLAorICBteVgsCisg
ICdUaGUgc2hhZG93IHJlYWxtcyBvYnNlcnZlcyB0aGUgc3ltYm9sIGdsb2JhbCByZWdpc3RyeSB1
c2VkIGluIFN5bWJvbC5mb3InCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICBTeW1ib2wua2V5
Rm9yKHNoYWRvd1gpLAorICAnbXkgc3ltYm9sIG5hbWUnLAorICAnU3ltYm9sLmtleUZvciBvYnNl
cnZlcyB0aGUgc3RyaW5nIGtleSBuYW1lIG9mIGEgc3ltYm9sIG9yaWdpbmFsbHkgcmVnaXN0ZXJl
ZCBpbiB0aGUgc2hhZG93IHJlYWxtJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgU3ltYm9s
LmtleUZvcihzKSwKKyAgdW5kZWZpbmVkLAorICAnU3ltYm9sLmtleUZvciBjYW5ub3QgZmluZCBh
IGtleSBmb3IgYSByZWd1bGFyIHN5bWJvbCBjcmVhdGVkIGluIHRoZSBzaGFkb3cgcmVhbG0nCisp
OworCitjb25zdCB7IGdldDogZGVzY3JpcHRpb24gfSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoU3ltYm9sLnByb3RvdHlwZSwgJ2Rlc2NyaXB0aW9uJyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGRlc2NyaXB0aW9uLmNhbGwocyksCisgICdmb29iYXInLAorICAnZ2V0IGRlc2Ny
aXB0aW9uIGZvciB0aGUgc3ltYm9sIGNyZWF0ZWQgaW4gdGhlIHNoYWRvdyByZWFsbScKKyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJv
dG90eXBlL2V2YWx1YXRlL3Rocm93cy1zeW50YXhlcnJvci1vbi1iYWQtc3ludGF4LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0
ZS90aHJvd3Mtc3ludGF4ZXJyb3Itb24tYmFkLXN5bnRheC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGYwMDg5
ZmNjZmE3MzUxMDhiMTY5YWQzZGE3MzE0NmE0Yzg1NDMxCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0
ZS90aHJvd3Mtc3ludGF4ZXJyb3Itb24tYmFkLXN5bnRheC5qcwpAQCAtMCwwICsxLDMwIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuZXZh
bHVhdGUKK2Rlc2NyaXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSB0
aHJvd3MgYSBTeW50YXhFcnJvciBpZiB0aGUgc3ludGF4IGNhbid0IGJlIHBhcnNlZAorZmVhdHVy
ZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBT
aGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRl
c3QgbXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBm
dW5jdGlvbicKKyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKKworYXNzZXJ0LnRo
cm93cyhTeW50YXhFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSgnLi4uJyksICdTeW50YXhFcnJvciBl
eHBvc2VkIHRvIFBhcmVudCcpOworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgKCkgPT4gci5l
dmFsdWF0ZShgCisgICJ1c2Ugc3RyaWN0IjsKKyAgdGhyb3cgImRvIG5vdCBldmFsdWF0ZSI7Cisg
IGZ1bmN0aW9uIGxvbCgpeworICAgIGFyZ3VtZW50cyA9IDE7CisgIH0KK2ApLCAnU3RyaWN0IG1v
ZGUgb25seSBTeW50YXhFcnJvciwgc2V0dGluZyB2YWx1ZSB0byBhIGZuIGFyZ3VtZW50cycpOwor
YXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgKCkgPT4gci5ldmFsdWF0ZShgCisgICJ1c2Ugc3Ry
aWN0IjsKKyAgdGhyb3cgImRvIG5vdCBldmFsdWF0ZSI7CisgIHZhciBwdWJsaWMgPSAxOworYCks
ICdTdHJpY3QgbW9kZSBvbmx5IFN5bnRheEVycm9yLCB2YXIgcHVibGljJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2
YWx1YXRlL3Rocm93cy10eXBlZXJyb3ItaWYtZXZhbHVhdGlvbi1yZXNvbHZlcy10by1ub24tcHJp
bWl0aXZlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3By
b3RvdHlwZS9ldmFsdWF0ZS90aHJvd3MtdHlwZWVycm9yLWlmLWV2YWx1YXRpb24tcmVzb2x2ZXMt
dG8tbm9uLXByaW1pdGl2ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzhkY2E5OTUyYjhkNTExM2QwYWRhYzRm
YzJhYWRiNGMxYmEzOWRlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS90aHJvd3MtdHlwZWVycm9y
LWlmLWV2YWx1YXRpb24tcmVzb2x2ZXMtdG8tbm9uLXByaW1pdGl2ZS5qcwpAQCAtMCwwICsxLDI3
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5
cGUuZXZhbHVhdGUKK2Rlc2NyaXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFs
dWF0ZSB0aHJvd3MgYSBUeXBlRXJyb3IgaWYgZXZhbHVhdGUgcmVzb2x2ZXMgdG8gbm9uLXByaW1p
dGl2ZSB2YWx1ZXMKK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCithc3NlcnQuc2Ft
ZVZhbHVlKAorICB0eXBlb2YgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlLAorICAnZnVu
Y3Rpb24nLAorICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUu
ZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCispOworCitjb25zdCByID0gbmV3IFNoYWRvd1Jl
YWxtKCk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiByLmV2YWx1YXRlKCdnbG9i
YWxUaGlzJyksICdnbG9iYWxUaGlzJyk7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4g
ci5ldmFsdWF0ZSgnW10nKSwgJ2FycmF5IGxpdGVyYWwnKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiByLmV2YWx1YXRlKGAKKyAgICAoeworICAgICAgICBbU3ltYm9sLnRvUHJpbWl0
aXZlXSgpIHsgcmV0dXJuICdzdHJpbmcnOyB9LAorICAgICAgICB0b1N0cmluZygpIHsgcmV0dXJu
ICdzdHInOyB9LAorICAgICAgICB2YWx1ZU9mKCkgeyByZXR1cm4gMTsgfQorICAgIH0pOworYCks
ICdvYmplY3QgbGl0ZXJhbCB3aXRoIGltbWVkaWF0ZSBwcmltaXRpdmUgY29lcmNpb24gbWV0aG9k
cycpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHIuZXZhbHVhdGUoJ09iamVjdC5j
cmVhdGUobnVsbCknKSwgJ29yZGluYXJ5IG9iamVjdCB3aXRoIG51bGwgX19wcm90b19fJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJv
dG90eXBlL2V2YWx1YXRlL3Rocm93cy13aGVuLWFyZ3VtZW50LWlzLW5vdC1hLXN0cmluZy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZh
bHVhdGUvdGhyb3dzLXdoZW4tYXJndW1lbnQtaXMtbm90LWEtc3RyaW5nLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVlMTg3ZTk3ZjQ1YmU5N2I2MzYyNzBhNTBiZWFhNjAxM2RhOWJkNmMKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBl
L2V2YWx1YXRlL3Rocm93cy13aGVuLWFyZ3VtZW50LWlzLW5vdC1hLXN0cmluZy5qcwpAQCAtMCww
ICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUKK2Rlc2NyaXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlw
ZS5ldmFsdWF0ZSB0aHJvd3Mgd2hlbiBhcmd1bWVudCBpcyBub3QgYSBzdHJpbmcuCitmZWF0dXJl
czogW1NoYWRvd1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFNo
YWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVz
dCBtdXN0IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1
bmN0aW9uJworKTsKKworY29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZShbJzErMSddKSk7Cithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSh7IFtTeW1ib2wudG9QcmltaXRpdmVdKCkgeyBy
ZXR1cm4gJzErMSc7IH19KSk7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFs
dWF0ZSgxKSk7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZShudWxs
KSk7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZSh1bmRlZmluZWQp
KTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiByLmV2YWx1YXRlKHRydWUpKTsKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiByLmV2YWx1YXRlKGZhbHNlKSk7Cithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gci5ldmFsdWF0ZShuZXcgU3RyaW5nKCdub3BlJykpKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9w
cm90b3R5cGUvZXZhbHVhdGUvdmFsaWRhdGVzLXJlYWxtLW9iamVjdC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvdmFsaWRh
dGVzLXJlYWxtLW9iamVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGU5MDAwMWE0ZmM0M2UwMmY2MmFjYzJh
NTE1ZGRjNGFiNTBhOTcxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS92YWxpZGF0ZXMtcmVhbG0t
b2JqZWN0LmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLXNoYWRvd3JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hh
ZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHZhbGlkYXRlcyByZWFsbSBvYmplY3QuCitmZWF0
dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9m
IFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMg
dGVzdCBtdXN0IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBh
IGZ1bmN0aW9uJworKTsKKworY29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworY29uc3QgYm9n
dXMgPSB7fTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICByLmV2
YWx1YXRlLmNhbGwoYm9ndXMsICcnKTsKK30sICd0aHJvd3MgYSBUeXBlRXJyb3IgaWYgdGhpcyBp
cyBub3QgYSBTaGFkb3dSZWFsbSBvYmplY3QnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1m
dW5jdGlvbi1hcmd1bWVudHMtYXJlLXdyYXBwZWQtaW50by10aGUtaW5uZXItcmVhbG0tZXh0ZW5k
ZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90
eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tYXJndW1lbnRzLWFyZS13cmFwcGVkLWludG8t
dGhlLWlubmVyLXJlYWxtLWV4dGVuZGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNzZmMDBjZDUwZTc2OGVi
ZjU5NmQ4MDI3MTUxOGNhYTM5ZDFhZDIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQt
ZnVuY3Rpb24tYXJndW1lbnRzLWFyZS13cmFwcGVkLWludG8tdGhlLWlubmVyLXJlYWxtLWV4dGVu
ZGVkLmpzCkBAIC0wLDAgKzEsNDYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LXNoYWRvd3JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hhZG93
UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHdyYXBwZWQgZnVuY3Rpb24gYXJndW1lbnRzIGFyZSB3
cmFwcGVkIGludG8gdGhlIGlubmVyIHJlYWxtLCBleHRlbmRlZC4KK2ZlYXR1cmVzOiBbU2hhZG93
UmVhbG1dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgU2hhZG93UmVhbG0u
cHJvdG90eXBlLmV2YWx1YXRlLAorICAnZnVuY3Rpb24nLAorICAnVGhpcyB0ZXN0IG11c3QgZmFp
bCBpZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCisp
OworCitjb25zdCByID0gbmV3IFNoYWRvd1JlYWxtKCk7Citjb25zdCBibHVlRm4gPSAoeCwgeSkg
PT4geCArIHk7CisKK2NvbnN0IHJlZFdyYXBwZWRGbiA9IHIuZXZhbHVhdGUoYAorICAgIGZ1bmN0
aW9uIGZuKHdyYXBwZWQxLCB3cmFwcGVkMiwgd3JhcHBlZDMpIHsKKyAgICAgICAgaWYgKHdyYXBw
ZWQxLngpIHsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9CisgICAgICAgIGlmICh3
cmFwcGVkMi54KSB7CisgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgfQorICAgICAgICBp
ZiAod3JhcHBlZDMueCkgeworICAgICAgICAgICAgLy8gTm90IHVud3JhcHBlZAorICAgICAgICAg
ICAgcmV0dXJuIDM7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHdyYXBwZWQxID09PSB3cmFwcGVk
MikgeworICAgICAgICAgICAgLy8gQWx3YXlzIGEgbmV3IHdyYXBwZWQgZnVuY3Rpb24KKyAgICAg
ICAgICAgIHJldHVybiA0OworICAgICAgICB9CisKKyAgICAgICAgLy8gTm8gdW53cmFwcGluZwor
ICAgICAgICBpZiAod3JhcHBlZDMgPT09IGZuKSB7CisgICAgICAgICAgICByZXR1cm4gNTsKKyAg
ICAgICAgfTsKKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgZm4ueCA9ICdzZWNy
ZXQnOworICAgIGZuOworYCk7Cithc3NlcnQuc2FtZVZhbHVlKHJlZFdyYXBwZWRGbihibHVlRm4s
IGJsdWVGbiwgcmVkV3JhcHBlZEZuKSwgdHJ1ZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQt
ZnVuY3Rpb24tYXJndW1lbnRzLWFyZS13cmFwcGVkLWludG8tdGhlLWlubmVyLXJlYWxtLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS93cmFwcGVkLWZ1bmN0aW9uLWFyZ3VtZW50cy1hcmUtd3JhcHBlZC1pbnRvLXRoZS1pbm5l
ci1yZWFsbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YTUyODBmYTMxZjQ4MzJiY2E3ZjQxY2Q3OWQzYmQ4ZTQx
OWU2MWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9uLWFyZ3VtZW50
cy1hcmUtd3JhcHBlZC1pbnRvLXRoZS1pbm5lci1yZWFsbS5qcwpAQCAtMCwwICsxLDI0IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuZXZh
bHVhdGUKK2Rlc2NyaXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSB3
cmFwcGVkIGZ1bmN0aW9uIGFyZ3VtZW50cyBhcmUgd3JhcHBlZCBpbnRvIHRoZSBpbm5lciByZWFs
bQorZmVhdHVyZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IHR5cGVvZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbicsCisg
ICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBp
cyBub3QgYSBmdW5jdGlvbicKKyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKK2Nv
bnN0IGJsdWVGbiA9ICh4LCB5KSA9PiB4ICsgeTsKKworY29uc3QgcmVkV3JhcHBlZEZuID0gci5l
dmFsdWF0ZShgCiswLCAoYmx1ZVdyYXBwZWRGbiwgYSwgYiwgYykgPT4geworICAgIHJldHVybiBi
bHVlV3JhcHBlZEZuKGEsIGIpICogYzsKK30KK2ApOworYXNzZXJ0LnNhbWVWYWx1ZShyZWRXcmFw
cGVkRm4oYmx1ZUZuLCAyLCAzLCA0KSwgMjApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1
bmN0aW9uLWZyb20tcmV0dXJuLXZhbHVlcy1zaGFyZS1uby1pZGVudGl0eS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3Jh
cHBlZC1mdW5jdGlvbi1mcm9tLXJldHVybi12YWx1ZXMtc2hhcmUtbm8taWRlbnRpdHkuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDU2MThiZGI2YTM5Y2U0MGViOWVkNTFhMWRmM2U3ZjE2N2QyNzU3ZgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9w
cm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbi1mcm9tLXJldHVybi12YWx1ZXMtc2hh
cmUtbm8taWRlbnRpdHkuanMKQEAgLTAsMCArMSw3MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIx
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0t
Citlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjog
PgorICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgd3JhcHBlZCBmdW5jdGlvbiBmcm9t
IHJldHVybiB2YWx1ZXMgc2hhcmUgbm8gaWRlbnRpdHkuCitmZWF0dXJlczogW1NoYWRvd1JlYWxt
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFNoYWRvd1JlYWxtLnByb3Rv
dHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYg
U2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKwor
Y29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworCityLmV2YWx1YXRlKGAKK2Z1bmN0aW9uIGZu
KCkgeyByZXR1cm4gNDI7IH0KK2dsb2JhbFRoaXMuYXJyb3cgPSB4ID0+IHggKiAyOworZ2xvYmFs
VGhpcy5wRm4gPSBuZXcgUHJveHkoZm4sIHsKKyAgICBhcHBseSgpIHsKKyAgICAgICAgcEZuLnVz
ZWQgPSAxOworICAgICAgICByZXR1cm4gMzk7CisgICAgfQorfSk7Cithc3luYyBmdW5jdGlvbiBh
Rm4oKSB7CisgICAgcmV0dXJuIDE7Cit9CisKK2Z1bmN0aW9uICogZ2VuRm4oKSB7CisgICAgcmV0
dXJuIDE7Cit9CisKK2ZuLnggPSAnc2VjcmV0cyc7CithcnJvdy54ID0gJ3NlY3JldHMnOworcEZu
LnggPSAnc2VjcmV0cyc7CithRm4ueCA9ICdzZWNyZXRzJzsKK2dlbkZuLnggPSAnc2VjcmV0cyc7
CitgKQorCitjb25zdCB3cmFwcGVkT3JkaW5hcnkgPSByLmV2YWx1YXRlKCcoKSA9PiBmbicpKCk7
Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3cmFwcGVkT3JkaW5hcnksICdmdW5jdGlvbicsICdv
cmRpbmFyeSBmdW5jdGlvbiB3cmFwcGVkJyk7Cithc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRPcmRp
bmFyeSgpLCA0MiwgJ29yZGluYXJ5LCByZXR1cm4nKTsKK2Fzc2VydC5zYW1lVmFsdWUod3JhcHBl
ZE9yZGluYXJ5LngsIHVuZGVmaW5lZCwgJ29yZGluYXJ5LCBubyBwcm9wZXJ0eSBzaGFyZWQnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdy
YXBwZWRPcmRpbmFyeSwgJ3gnKSwgZmFsc2UsICdvcmRpbmFyeSwgbm8gb3duIHByb3BlcnR5IHNo
YXJlZCcpOworCitjb25zdCB3cmFwcGVkQXJyb3cgPSByLmV2YWx1YXRlKCcoKSA9PiBhcnJvdycp
KCk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3cmFwcGVkQXJyb3csICdmdW5jdGlvbicsICdh
cnJvdyBmdW5jdGlvbiB3cmFwcGVkJyk7Cithc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRBcnJvdyg3
KSwgMTQsICdhcnJvdyBmdW5jdGlvbiwgcmV0dXJuJyk7Cithc3NlcnQuc2FtZVZhbHVlKHdyYXBw
ZWRBcnJvdy54LCB1bmRlZmluZWQsICdhcnJvdyBmdW5jdGlvbiwgbm8gcHJvcGVydHknKTsKK2Fz
c2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdyYXBw
ZWRBcnJvdywgJ3gnKSwgZmFsc2UsICdhcnJvdyBmdW5jdGlvbiwgbm8gb3duIHByb3BlcnR5IHNo
YXJlZCcpOworCitjb25zdCB3cmFwcGVkUHJveGllZCA9IHIuZXZhbHVhdGUoJygpID0+IHBGbicp
KCk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3cmFwcGVkUHJveGllZCwgJ2Z1bmN0aW9uJywg
J3Byb3hpZWQgb3JkaW5hcnkgZnVuY3Rpb24gd3JhcHBlZCcpOworYXNzZXJ0LnNhbWVWYWx1ZShy
LmV2YWx1YXRlKCdwRm4udXNlZCcpLCB1bmRlZmluZWQsICdwRm4gbm90IGNhbGxlZCB5ZXQnKTsK
K2Fzc2VydC5zYW1lVmFsdWUod3JhcHBlZFByb3hpZWQoKSwgMzksICdyZXR1cm4gb2YgdGhlIHBy
b3hpZWQgY2FsbGFibGUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgncEZuLnVzZWQn
KSwgMSwgJ3BmbiBjYWxsZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUod3JhcHBlZFByb3hpZWQueCwg
dW5kZWZpbmVkLCAncHJveHkgY2FsbGFibGUsIG5vIHByb3BlcnR5Jyk7Cithc3NlcnQuc2FtZVZh
bHVlKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh3cmFwcGVkUHJveGllZCwg
J3gnKSwgZmFsc2UsICdwcm94eSBjYWxsYWJsZSwgbm8gb3duIHByb3BlcnR5IHNoYXJlZCcpOwor
Citjb25zdCB3cmFwcGVkQXN5bmMgPSByLmV2YWx1YXRlKCcoKSA9PiBhRm4nKSgpOworYXNzZXJ0
LnNhbWVWYWx1ZSh0eXBlb2Ygd3JhcHBlZEFzeW5jLCAnZnVuY3Rpb24nLCAnYXN5bmMgZnVuY3Rp
b24gd3JhcHBlZCcpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHdyYXBwZWRBc3lu
YygpLCAnd3JhcHBlZCBmdW5jdGlvbiBjYW5ub3QgcmV0dXJuIG5vbiBjYWxsYWJsZSBvYmplY3Qn
KTsKK2Fzc2VydC5zYW1lVmFsdWUod3JhcHBlZEFzeW5jLngsIHVuZGVmaW5lZCwgJ2FzeW5jIGZ1
bmN0aW9uLCBubyBwcm9wZXJ0eScpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBl
Lmhhc093blByb3BlcnR5LmNhbGwod3JhcHBlZEFzeW5jLCAneCcpLCBmYWxzZSwgJ2FzeW5jIGZ1
bmN0aW9uLCBubyBvd24gcHJvcGVydHkgc2hhcmVkJyk7CisKK2NvbnN0IHdyYXBwZWRHZW5lcmF0
b3IgPSByLmV2YWx1YXRlKCcoKSA9PiBnZW5GbicpKCk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiB3cmFwcGVkR2VuZXJhdG9yLCAnZnVuY3Rpb24nLCAnZ2VuIGZ1bmN0aW9uIHdyYXBwZWQnKTsK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB3cmFwcGVkR2VuZXJhdG9yKCksICd3cmFw
cGVkIGZ1bmN0aW9uIGNhbm5vdCByZXR1cm4gbm9uIGNhbGxhYmxlIG9iamVjdCcpOworYXNzZXJ0
LnNhbWVWYWx1ZSh3cmFwcGVkR2VuZXJhdG9yLngsIHVuZGVmaW5lZCwgJ2dlbmVyYXRvciwgbm8g
cHJvcGVydHknKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eS5jYWxsKHdyYXBwZWRHZW5lcmF0b3IsICd4JyksIGZhbHNlLCAnZ2VuZXJhdG9yLCBubyBv
d24gcHJvcGVydHkgc2hhcmVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24t
bXVsdGlwbGUtZGlmZmVyZW50LXJlYWxtcy1uZXN0ZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rp
b24tbXVsdGlwbGUtZGlmZmVyZW50LXJlYWxtcy1uZXN0ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVhOWE3
MjZiYWZmZDZhZTc5ZTJhMDA0YWU0M2EzMGUxNGRmNmI5NgotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVh
dGUvd3JhcHBlZC1mdW5jdGlvbi1tdWx0aXBsZS1kaWZmZXJlbnQtcmVhbG1zLW5lc3RlZC5qcwpA
QCAtMCwwICsxLDU1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgTGVvIEJhbHRlci4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVh
bG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dSZWFsbSBjYW4g
d3JhcCBhIGZ1bmN0aW9uIHRvIG11bHRpcGxlIG5lc3RlZCByZWFsbXMuCitmZWF0dXJlczogW1No
YWRvd1JlYWxtXQorLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTaGFkb3dSZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRlc3QgbXVzdCBm
YWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicK
Kyk7CisKK2dsb2JhbFRoaXMuY291bnQgPSAwOworY29uc3QgcmVhbG0xID0gbmV3IFNoYWRvd1Jl
YWxtKCk7CisKK2NvbnN0IHIxd3JhcHBlZCA9IHJlYWxtMS5ldmFsdWF0ZShgCisgIGdsb2JhbFRo
aXMuY291bnQgPSAwOworICAoKSA9PiBnbG9iYWxUaGlzLmNvdW50ICs9IDE7CitgKTsKKworY29u
c3QgcmVhbG0yRXZhbHVhdGUgPSByZWFsbTEuZXZhbHVhdGUoYAorICBjb25zdCByZWFsbTIgPSBu
ZXcgU2hhZG93UmVhbG0oKTsKKworICAoc3RyKSA9PiByZWFsbTIuZXZhbHVhdGUoc3RyKTsKK2Ap
OworCitjb25zdCByMndyYXBwZXIgPSByZWFsbTJFdmFsdWF0ZShgCisgIGdsb2JhbFRoaXMud3Jh
cHBlZCA9IHVuZGVmaW5lZDsKKyAgZ2xvYmFsVGhpcy5jb3VudCA9IDA7IC8vIEJhaXQKKyAgKGZu
KSA9PiBnbG9iYWxUaGlzLndyYXBwZWQgPSBmbjsKK2ApOworCitjb25zdCByZXdyYXBwZWQgPSBy
MndyYXBwZXIocjF3cmFwcGVkKTsKKworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXdyYXBwZWQsIHIx
d3JhcHBlZCwgJ3Jld3JhcHBlZCAhPT0gcjF3cmFwcGVkJyk7CisKK2NvbnN0IHIyd3JhcHBlZCA9
IHJlYWxtMkV2YWx1YXRlKCdnbG9iYWxUaGlzLndyYXBwZWQnKTsKKworYXNzZXJ0Lm5vdFNhbWVW
YWx1ZShyMndyYXBwZWQsIHIxd3JhcHBlZCwgJ3Iyd3JhcHBlZCAhPT0gcjF3cmFwcGVkJyk7Cith
c3NlcnQubm90U2FtZVZhbHVlKHIyd3JhcHBlZCwgcmV3cmFwcGVkLCAncjJ3cmFwcGVkICE9PSBy
ZXdyYXBwZWQnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZWFsbTEuZXZhbHVhdGUoJ2dsb2JhbFRo
aXMuY291bnQnKSwgMCwgYGdldHRpbmcgd3JhcHBlZCBmdW5jdGlvbiB3b24ndCB0cmlnZ2VyIGEg
Y2FsbGApOworCithc3NlcnQuc2FtZVZhbHVlKHIyd3JhcHBlZCgpLCAxLCAnY2FsbCBmcm9tIHIy
IHdyYXBwZWQgKHIyd3JhcHBlZCkgY3ljbGVzIGJhY2sgdG8gcjEnKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZShyZWFsbTEuZXZhbHVhdGUoJ2dsb2JhbFRoaXMuY291bnQnKSwgMSwgJ2VmZmVjdHMgcHJv
ZHVjZWQgaW4gYSB0aGlyZCByZWFsbSwgIzEnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZXdyYXBw
ZWQoKSwgMiwgJ2NhbGwgZnJvbSByMiB3cmFwcGVkIChyZXdyYXBwZWQpIGN5Y2xlcyBiYWNrIHRv
IHIxJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUocmVhbG0xLmV2YWx1YXRlKCdnbG9iYWxUaGlzLmNv
dW50JyksIDIsICdlZmZlY3RzIHByb2R1Y2VkIGluIGEgdGhpcmQgcmVhbG0sICMyJyk7CisKK2Fz
c2VydC5zYW1lVmFsdWUocmVhbG0yRXZhbHVhdGUoJ2dsb2JhbFRoaXMuY291bnQnKSwgMCwgJ25v
IHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBpbiB0aGUgd3JvbmcgcmVhbG0gKHJlYWxtMiknKTsKK2Fz
c2VydC5zYW1lVmFsdWUoZ2xvYmFsVGhpcy5jb3VudCwgMCwgJ25vIHNpZGUgZWZmZWN0cyBwcm9k
dWNlZCBpbiB0aGUgd3JvbmcgcmVhbG0gKG1haW4gcmVhbG0pJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L3dyYXBwZWQtZnVuY3Rpb24tbXVsdGlwbGUtZGlmZmVyZW50LXJlYWxtcy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3Jh
cHBlZC1mdW5jdGlvbi1tdWx0aXBsZS1kaWZmZXJlbnQtcmVhbG1zLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2
OGJkMDFlMTI0NGY5NzA5YTU4NjE2NGU4NDU3ZGUxYTMwNjU0ZDAKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2
YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tbXVsdGlwbGUtZGlmZmVyZW50LXJlYWxtcy5qcwpAQCAt
MCwwICsxLDQ4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgTGVvIEJhbHRlci4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVhbG0u
cHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dSZWFsbSBjYW4gd3Jh
cCBhIGZ1bmN0aW9uIHRvIG11bHRpcGxlIHJlYWxtcy4KK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1d
CistLS0qLworCitjb25zdCByZWFsbTEgPSBuZXcgU2hhZG93UmVhbG0oKTsKK2NvbnN0IHJlYWxt
MiA9IG5ldyBTaGFkb3dSZWFsbSgpOworCitnbG9iYWxUaGlzLmNvdW50ID0gMDsKKworYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShyZWFsbTEsIHJlYWxtMik7CisKK2NvbnN0IHIxd3JhcHBlZCA9IHJlYWxt
MS5ldmFsdWF0ZShgCisgIGdsb2JhbFRoaXMuY291bnQgPSAwOworICAoKSA9PiBnbG9iYWxUaGlz
LmNvdW50ICs9IDE7CitgKTsKKworY29uc3QgcjJ3cmFwcGVyID0gcmVhbG0yLmV2YWx1YXRlKGAK
KyAgZ2xvYmFsVGhpcy53cmFwcGVkID0gdW5kZWZpbmVkOworICBnbG9iYWxUaGlzLmNvdW50ID0g
MDsgLy8gQmFpdAorICAoZm4pID0+IGdsb2JhbFRoaXMud3JhcHBlZCA9IGZuOworYCk7CisKK2Nv
bnN0IHJld3JhcHBlZCA9IHIyd3JhcHBlcihyMXdyYXBwZWQpOworCithc3NlcnQubm90U2FtZVZh
bHVlKHJld3JhcHBlZCwgcjF3cmFwcGVkLCAncmV3cmFwcGVkICE9PSByMXdyYXBwZWQnKTsKKwor
Y29uc3QgcjJ3cmFwcGVkID0gcmVhbG0yLmV2YWx1YXRlKCdnbG9iYWxUaGlzLndyYXBwZWQnKTsK
KworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyMndyYXBwZWQsIHIxd3JhcHBlZCwgJ3Iyd3JhcHBlZCAh
PT0gcjF3cmFwcGVkJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKHIyd3JhcHBlZCwgcmV3cmFwcGVk
LCAncjJ3cmFwcGVkICE9PSByZXdyYXBwZWQnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZWFsbTEu
ZXZhbHVhdGUoJ2dsb2JhbFRoaXMuY291bnQnKSwgMCwgYGdldHRpbmcgd3JhcHBlZCBmdW5jdGlv
biB3b24ndCB0cmlnZ2VyIGEgY2FsbGApOworCithc3NlcnQuc2FtZVZhbHVlKHIyd3JhcHBlZCgp
LCAxLCAnY2FsbCBmcm9tIHIyIHdyYXBwZWQgKHIyd3JhcHBlZCkgY3ljbGVzIGJhY2sgdG8gcjEn
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZWFsbTEuZXZhbHVhdGUoJ2dsb2JhbFRoaXMuY291bnQn
KSwgMSwgJ2VmZmVjdHMgcHJvZHVjZWQgaW4gYSB0aGlyZCByZWFsbSwgIzEnKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZShyZXdyYXBwZWQoKSwgMiwgJ2NhbGwgZnJvbSByMiB3cmFwcGVkIChyZXdyYXBw
ZWQpIGN5Y2xlcyBiYWNrIHRvIHIxJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUocmVhbG0xLmV2YWx1
YXRlKCdnbG9iYWxUaGlzLmNvdW50JyksIDIsICdlZmZlY3RzIHByb2R1Y2VkIGluIGEgdGhpcmQg
cmVhbG0sICMyJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUocmVhbG0yLmV2YWx1YXRlKCdnbG9iYWxU
aGlzLmNvdW50JyksIDAsICdubyBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgaW4gdGhlIHdyb25nIHJl
YWxtIChyZWFsbTIpJyk7Cithc3NlcnQuc2FtZVZhbHVlKGdsb2JhbFRoaXMuY291bnQsIDAsICdu
byBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgaW4gdGhlIHdyb25nIHJlYWxtIChtYWluIHJlYWxtKScp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxt
L3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9uLW9ic2VydmluZy10aGVpci1zY29w
ZXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90
eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb24tb2JzZXJ2aW5nLXRoZWlyLXNjb3Blcy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMDM2NTdhMDBiYWZlYzhmZDZmYzMzN2UyMjZlMWNkY2I4MTRjNTllCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxt
L3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9uLW9ic2VydmluZy10aGVpci1zY29w
ZXMuanMKQEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
c2hhZG93cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dS
ZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgd3JhcHBlZCBmdW5jdGlvbiBvYnNlcnZpbmcgdGhlaXIg
c2NvcGVzCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9u
JywKKyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1
YXRlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKworY29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgp
OworbGV0IG15VmFsdWU7CisKK2Z1bmN0aW9uIGJsdWVGbih4KSB7CisgICAgbXlWYWx1ZSA9IHg7
CisgICAgcmV0dXJuIG15VmFsdWU7Cit9CisKKy8vIGNiIGlzIGEgbmV3IGZ1bmN0aW9uIGluIHRo
ZSByZWQgU2hhZG93UmVhbG0gdGhhdCBjaGFpbnMgdGhlIGNhbGwgdG8gdGhlIGJsdWVGbgorY29u
c3QgcmVkRnVuY3Rpb24gPSByLmV2YWx1YXRlKGAKKyAgICB2YXIgbXlWYWx1ZSA9ICdyZWQnOwor
ICAgIDAsIGZ1bmN0aW9uKGNiKSB7CisgICAgICAgIGNiKDQyKTsKKyAgICAgICAgcmV0dXJuIG15
VmFsdWU7CisgICAgfTsKK2ApOworCithc3NlcnQuc2FtZVZhbHVlKHJlZEZ1bmN0aW9uKGJsdWVG
biksICdyZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUobXlWYWx1ZSwgNDIpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1hY2NlcHRzLWNhbGxhYmxlLW9iamVjdHMuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRl
L3dyYXBwZWQtZnVuY3Rpb25zLWFjY2VwdHMtY2FsbGFibGUtb2JqZWN0cy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40M2I1MjQ4YTM5OTZkYWMyMjViYTdkMjVhMmNjODRmYTFiNTIwNzhmCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlw
ZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1hY2NlcHRzLWNhbGxhYmxlLW9iamVjdHMuanMK
QEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93
cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dSZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUgYWNjZXB0cyBjYWxsYWJsZSBvYmplY3RzCitmZWF0dXJlczogW1No
YWRvd1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFNoYWRvd1Jl
YWxtLnByb3RvdHlwZS5ldmFsdWF0ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0
IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIGlzIG5vdCBhIGZ1bmN0aW9u
JworKTsKKworY29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworCithc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiByLmV2YWx1YXRlKCdmdW5jdGlvbiBmbigpIHt9IGZuJyksICdmdW5jdGlvbicsICd2
YWx1ZSBmcm9tIGEgZm4gZGVjbGFyYXRpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHIu
ZXZhbHVhdGUoJyhmdW5jdGlvbigpIHt9KScpLCAnZnVuY3Rpb24nLCAnZnVuY3Rpb24gZXhwcmVz
c2lvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Ygci5ldmFsdWF0ZSgnKGFzeW5jIGZ1bmN0
aW9uKCkge30pJyksICdmdW5jdGlvbicsICdhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uJyk7Cith
c3NlcnQuc2FtZVZhbHVlKHR5cGVvZiByLmV2YWx1YXRlKCcoZnVuY3Rpb24qKCkge30pJyksICdm
dW5jdGlvbicsICdnZW5lcmF0b3IgZXhwcmVzc2lvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2Ygci5ldmFsdWF0ZSgnKGFzeW5jIGZ1bmN0aW9uKigpIHt9KScpLCAnZnVuY3Rpb24nLCAnYXN5
bmMgZ2VuZXJhdG9yIGV4cHJlc3Npb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHIuZXZh
bHVhdGUoJygpID0+IHt9JyksICdmdW5jdGlvbicsICdhcnJvdyBmdW5jdGlvbicpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlw
ZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1jYW4tcmVzb2x2ZS1jYWxsYWJsZS1yZXR1cm5z
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlw
ZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1jYW4tcmVzb2x2ZS1jYWxsYWJsZS1yZXR1cm5z
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg0NjZlMDAwMzJmNDA2NjIyZDdmNzg0YmY2OTA1ZDkxYjNiODAxZGEK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93
UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb25zLWNhbi1yZXNvbHZlLWNh
bGxhYmxlLXJldHVybnMuanMKQEAgLTAsMCArMSwyNSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIx
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0t
Citlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjog
PgorICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgd3JhcHBlZCBmdW5jdGlvbnMgY2Fu
IHJlc29sdmUgY2FsbGFibGUgcmV0dXJucy4KK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2
YWx1YXRlLAorICAnZnVuY3Rpb24nLAorICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBTaGFkb3dS
ZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgaXMgbm90IGEgZnVuY3Rpb24nCispOworCitjb25zdCBy
ID0gbmV3IFNoYWRvd1JlYWxtKCk7CisKK2NvbnN0IHdyYXBwZWQgPSByLmV2YWx1YXRlKCd4ID0+
IHkgPT4geCAqIHknKTsKK2NvbnN0IG5lc3RlZFdyYXBwZWQgPSB3cmFwcGVkKDIpOworY29uc3Qg
b3RoZXJOZXN0ZWRXcmFwcGVkID0gd3JhcHBlZCg0KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShvdGhl
ck5lc3RlZFdyYXBwZWQoMyksIDEyKTsKK2Fzc2VydC5zYW1lVmFsdWUobmVzdGVkV3JhcHBlZCgz
KSwgNik7CisKK2Fzc2VydC5ub3RTYW1lVmFsdWUobmVzdGVkV3JhcHBlZCwgb3RoZXJOZXN0ZWRX
cmFwcGVkLCAnbmV3IHdyYXBwaW5nIGZvciBlYWNoIHJldHVybicpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFsdWF0
ZS93cmFwcGVkLWZ1bmN0aW9ucy1uZXctd3JhcHBpbmctb24tZWFjaC1ldmFsdWF0aW9uLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9ldmFs
dWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1uZXctd3JhcHBpbmctb24tZWFjaC1ldmFsdWF0aW9uLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjliZGEzMWRjMGEzZjdjOWI4YWEwZDZmZjgzMjNmODA1YThkYTI5NTYKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVh
bG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVuY3Rpb25zLW5ldy13cmFwcGluZy1vbi1l
YWNoLWV2YWx1YXRpb24uanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIx
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0t
Citlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlCitkZXNjcmlwdGlvbjog
PgorICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUgd3JhcHBlZCBmdW5jdGlvbnMgcHJv
ZHVjZSBuZXcgd3JhcHBpbmcgb24gZWFjaCBldmFsdWF0aW9uLgorZmVhdHVyZXM6IFtTaGFkb3dS
ZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTaGFkb3dSZWFsbS5w
cm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRlc3QgbXVzdCBmYWls
IGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZSBpcyBub3QgYSBmdW5jdGlvbicKKyk7
CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKKworci5ldmFsdWF0ZShgCitmdW5jdGlv
biBmbigpIHsKKyAgICByZXR1cm4gNDI7Cit9CitgKTsKKworY29uc3Qgd3JhcHBlZCA9IHIuZXZh
bHVhdGUoJ2ZuJyk7Citjb25zdCBvdGhlcldyYXBwZWQgPSByLmV2YWx1YXRlKCdmbicpOworCith
c3NlcnQubm90U2FtZVZhbHVlKHdyYXBwZWQsIG90aGVyV3JhcHBlZCk7Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiB3cmFwcGVkLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9m
IG90aGVyV3JhcHBlZCwgJ2Z1bmN0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVu
Y3Rpb25zLXNoYXJlLW5vLXByb3BlcnRpZXMtZXh0ZW5kZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2V2YWx1YXRlL3dyYXBwZWQtZnVu
Y3Rpb25zLXNoYXJlLW5vLXByb3BlcnRpZXMtZXh0ZW5kZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UwYTQy
ODFlZjgwMmU0ODU1NDIyY2IyMGNjNGI0MGYzYTFmZTI1MwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvZXZhbHVh
dGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJvcGVydGllcy1leHRlbmRlZC5qcwpAQCAt
MCwwICsxLDY3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFs
bS5wcm90b3R5cGUuZXZhbHVhdGUKK2Rlc2NyaXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3Rv
dHlwZS5ldmFsdWF0ZSB3cmFwcGVkIGZ1bmN0aW9ucyBzaGFyZSBubyBwcm9wZXJ0aWVzLCBleHRl
bmRlZAorZmVhdHVyZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVhdGUsCisgICdmdW5jdGlvbics
CisgICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5ldmFsdWF0
ZSBpcyBub3QgYSBmdW5jdGlvbicKKyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsK
Kworci5ldmFsdWF0ZShgCitmdW5jdGlvbiBmbigpIHsgcmV0dXJuIDQyOyB9CitnbG9iYWxUaGlz
LmFycm93ID0geCA9PiB4ICogMjsKK2dsb2JhbFRoaXMucEZuID0gbmV3IFByb3h5KGZuLCB7Cisg
ICAgYXBwbHkoKSB7CisgICAgICAgIHBGbi51c2VkID0gMTsKKyAgICAgICAgcmV0dXJuIDM5Owor
ICAgIH0KK30pOworYXN5bmMgZnVuY3Rpb24gYUZuKCkgeworICAgIHJldHVybiAxOworfQorCitm
dW5jdGlvbiAqIGdlbkZuKCkgeworICAgIHJldHVybiAxOworfQorCitmbi54ID0gJ3NlY3JldHMn
OworYXJyb3cueCA9ICdzZWNyZXRzJzsKK3BGbi54ID0gJ3NlY3JldHMnOworYUZuLnggPSAnc2Vj
cmV0cyc7CitnZW5Gbi54ID0gJ3NlY3JldHMnOworYCk7CisKK2NvbnN0IHdyYXBwZWRPcmRpbmFy
eSA9IHIuZXZhbHVhdGUoJ2ZuJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3cmFwcGVkT3Jk
aW5hcnksICdmdW5jdGlvbicsICdvcmRpbmFyeSBmdW5jdGlvbiB3cmFwcGVkJyk7Cithc3NlcnQu
c2FtZVZhbHVlKHdyYXBwZWRPcmRpbmFyeSgpLCA0MiwgJ29yZGluYXJ5LCByZXR1cm4nKTsKK2Fz
c2VydC5zYW1lVmFsdWUod3JhcHBlZE9yZGluYXJ5LngsIHVuZGVmaW5lZCwgJ29yZGluYXJ5LCBu
byBwcm9wZXJ0eSBzaGFyZWQnKTsKKworY29uc3Qgd3JhcHBlZEFycm93ID0gci5ldmFsdWF0ZSgn
YXJyb3cnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHdyYXBwZWRBcnJvdywgJ2Z1bmN0aW9u
JywgJ2Fycm93IGZ1bmN0aW9uIHdyYXBwZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUod3JhcHBlZEFy
cm93KDcpLCAxNCwgJ2Fycm93IGZ1bmN0aW9uLCByZXR1cm4nKTsKK2Fzc2VydC5zYW1lVmFsdWUo
d3JhcHBlZEFycm93LngsIHVuZGVmaW5lZCwgJ2Fycm93IGZ1bmN0aW9uLCBubyBwcm9wZXJ0eScp
OworCitjb25zdCB3cmFwcGVkUHJveGllZCA9IHIuZXZhbHVhdGUoJ3BGbicpOworYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2Ygd3JhcHBlZFByb3hpZWQsICdmdW5jdGlvbicsICdwcm94aWVkIG9yZGlu
YXJ5IGZ1bmN0aW9uIHdyYXBwZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoci5ldmFsdWF0ZSgncEZu
LnVzZWQnKSwgdW5kZWZpbmVkLCAncEZuIG5vdCBjYWxsZWQgeWV0Jyk7Cithc3NlcnQuc2FtZVZh
bHVlKHdyYXBwZWRQcm94aWVkKCksIDM5LCAncmV0dXJuIG9mIHRoZSBwcm94aWVkIGNhbGxhYmxl
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHIuZXZhbHVhdGUoJ3BGbi51c2VkJyksIDEsICdwZm4gY2Fs
bGVkJyk7Cithc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRQcm94aWVkLngsIHVuZGVmaW5lZCwgJ3By
b3h5IGNhbGxhYmxlLCBubyBwcm9wZXJ0eScpOworCitjb25zdCB3cmFwcGVkQXN5bmMgPSByLmV2
YWx1YXRlKCdhRm4nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIHdyYXBwZWRBc3luYywgJ2Z1
bmN0aW9uJywgJ2FzeW5jIGZ1bmN0aW9uIHdyYXBwZWQnKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB3cmFwcGVkQXN5bmMoKSwgJ3dyYXBwZWQgZnVuY3Rpb24gY2Fubm90IHJldHVy
biBub24gY2FsbGFibGUgb2JqZWN0Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHdyYXBwZWRBc3luYy54
LCB1bmRlZmluZWQsICdhc3luYyBmbiwgbm8gcHJvcGVydHknKTsKKworY29uc3Qgd3JhcHBlZEdl
bmVyYXRvciA9IHIuZXZhbHVhdGUoJ2dlbkZuJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB3
cmFwcGVkR2VuZXJhdG9yLCAnZnVuY3Rpb24nLCAnZ2VuIGZ1bmN0aW9uIHdyYXBwZWQnKTsKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB3cmFwcGVkR2VuZXJhdG9yKCksICd3cmFwcGVk
IGZ1bmN0aW9uIGNhbm5vdCByZXR1cm4gbm9uIGNhbGxhYmxlIG9iamVjdCcpOworYXNzZXJ0LnNh
bWVWYWx1ZSh3cmFwcGVkR2VuZXJhdG9yLngsIHVuZGVmaW5lZCwgJ2dlbmVyYXRvciwgbm8gcHJv
cGVydHknKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFk
b3dSZWFsbS9wcm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJv
cGVydGllcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9w
cm90b3R5cGUvZXZhbHVhdGUvd3JhcHBlZC1mdW5jdGlvbnMtc2hhcmUtbm8tcHJvcGVydGllcy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kOTdmYjRhNTE3N2QxZjk3ODdiODgxOGZiZTliOTg0ZWY1MjgxNTgwCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1Jl
YWxtL3Byb3RvdHlwZS9ldmFsdWF0ZS93cmFwcGVkLWZ1bmN0aW9ucy1zaGFyZS1uby1wcm9wZXJ0
aWVzLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LXNoYWRvd3JlYWxtLnByb3RvdHlwZS5ldmFsdWF0ZQorZGVzY3JpcHRpb246ID4KKyAgU2hhZG93
UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlIHdyYXBwZWQgZnVuY3Rpb25zIHNoYXJlIG5vIHByb3Bl
cnRpZXMKK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgU2hhZG93UmVhbG0ucHJvdG90eXBlLmV2YWx1YXRlLAorICAnZnVuY3Rpb24n
LAorICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuZXZhbHVh
dGUgaXMgbm90IGEgZnVuY3Rpb24nCispOworCitjb25zdCByID0gbmV3IFNoYWRvd1JlYWxtKCk7
CisKK2NvbnN0IHdyYXBwZWQgPSByLmV2YWx1YXRlKGAKK2Z1bmN0aW9uIGZuKCkgeworICAgIHJl
dHVybiBmbi5zZWNyZXQ7Cit9CisKK2ZuLnNlY3JldCA9ICdjb25maWRlbnRpYWwnOworZm47Citg
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh3cmFwcGVkLnNlY3JldCwgdW5kZWZpbmVkKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUod3JhcHBlZCgpLCAnY29uZmlkZW50aWFsJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZh
bHVlL2Rlc2NyaXB0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93
UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL2Rlc2NyaXB0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIw
OWQ3OTRhMWI0NTgyYjczNmM5NTQ1ZTdhNzFkMWIzMDdmYTg3OQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1w
b3J0VmFsdWUvZGVzY3JpcHRvci5qcwpAQCAtMCwwICsxLDE1IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
LyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuaW1wb3J0dmFsdWUKK2Rlc2Ny
aXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBpcyBhbiBFQ01B
U2NyaXB0IFN0YW5kYXJkIGJ1aWx0LWluIG9iamVjdCBmdW5jdGlvbi4KK2luY2x1ZGVzOiBbcHJv
cGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKwordmVyaWZ5
UHJvcGVydHkoU2hhZG93UmVhbG0ucHJvdG90eXBlLCAiaW1wb3J0VmFsdWUiLCB7CisgIGVudW1l
cmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVh
bG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL2V4cG9ydE5hbWUtdG9zdHJpbmcuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVl
L2V4cG9ydE5hbWUtdG9zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDYwNzczYmU3ZDA1NmM3Yzc4M2Jm
MjY0YTkzNTZkYzA0ZGMzNTcyNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvZXhwb3J0TmFt
ZS10b3N0cmluZy5qcwpAQCAtMCwwICsxLDMwIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmlj
ayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuaW1wb3J0dmFsdWUKK2Rlc2NyaXB0aW9uOiA+
CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBjb2VyY2VzIGV4cG9ydE5hbWUg
dG8gc3RyaW5nLgorZmVhdHVyZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIHR5cGVvZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUsCisgICdm
dW5jdGlvbicsCisgICdUaGlzIHRlc3QgbXVzdCBmYWlsIGlmIFNoYWRvd1JlYWxtLnByb3RvdHlw
ZS5pbXBvcnRWYWx1ZSBpcyBub3QgYSBmdW5jdGlvbicKKyk7CisKK2NvbnN0IHIgPSBuZXcgU2hh
ZG93UmVhbG0oKTsKK2xldCBjb3VudCA9IDA7CisKK2NvbnN0IGV4cG9ydE5hbWUgPSB7CisgIHRv
U3RyaW5nKCkgeworICAgIGNvdW50ICs9IDE7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigp
OworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICByLmlt
cG9ydFZhbHVlKCcnLCBleHBvcnROYW1lKTsKK30pOworCithc3NlcnQuc2FtZVZhbHVlKGNvdW50
LCAxKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dS
ZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvaW1wb3J0LXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9pbXBv
cnQtdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY0MTE0YzVjZWVhNTI0NDlhZWUwMGVlMjJhMjA5MmY2
Yjc5MTIxOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvaW1wb3J0LXZhbHVlLmpzCkBAIC0w
LDAgKzEsMjMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNoYWRvd3JlYWxt
LnByb3RvdHlwZS5pbXBvcnR2YWx1ZQorZGVzY3JpcHRpb246ID4KKyAgU2hhZG93UmVhbG0ucHJv
dG90eXBlLmltcG9ydFZhbHVlIGNhbiBpbXBvcnQgYSB2YWx1ZS4KK2ZsYWdzOiBbYXN5bmMsIG1v
ZHVsZV0KK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgU2hhZG93UmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlLAorICAnZnVuY3Rp
b24nLAorICAnVGhpcyB0ZXN0IG11c3QgZmFpbCBpZiBTaGFkb3dSZWFsbS5wcm90b3R5cGUuaW1w
b3J0VmFsdWUgaXMgbm90IGEgZnVuY3Rpb24nCispOworCitjb25zdCByID0gbmV3IFNoYWRvd1Jl
YWxtKCk7CisKK3IuaW1wb3J0VmFsdWUoJy4vaW1wb3J0LXZhbHVlX0ZJWFRVUkUuanMnLCAneCcp
LnRoZW4oeCA9PiB7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh4LCAxKTsKKworfSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1No
YWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9pbXBvcnQtdmFsdWVfRklYVFVSRS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1w
b3J0VmFsdWUvaW1wb3J0LXZhbHVlX0ZJWFRVUkUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMxNGE3Zjk0NWY4
MGRlZjY5MjMwM2QxNDU1NDdkNmFlNmIyZjFjYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUv
aW1wb3J0LXZhbHVlX0ZJWFRVUkUuanMKQEAgLTAsMCArMSw0IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CitleHBvcnQgdmFyIHggPSAxOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9sZW5ndGguanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZh
bHVlL2xlbmd0aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTU1M2I0OWJjOTgyODlhN2Q5YWRlMjI1ZjU3NWMw
ODJjNGIzOTg1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9sZW5ndGguanMKQEAgLTAsMCAr
MSwyNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc2hhZG93cmVhbG0ucHJv
dG90eXBlLmltcG9ydHZhbHVlCitkZXNjcmlwdGlvbjogPgorICBUaGUgdmFsdWUgb2YgU2hhZG93
UmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlLmxlbmd0aCBpcyAyCitpbmZvOiB8CisgIEV2ZXJ5
IGJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgaGFzIGEg
Imxlbmd0aCIgcHJvcGVydHkKKyAgd2hvc2UgdmFsdWUgaXMgYSBub24tbmVnYXRpdmUgaW50ZWdy
YWwgTnVtYmVyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZQorICBpcyBl
cXVhbCB0byB0aGUgbnVtYmVyIG9mIHJlcXVpcmVkIHBhcmFtZXRlcnMgc2hvd24gaW4gdGhlIHN1
YmNsYXVzZSBoZWFkaW5nIGZvciB0aGUKKyAgZnVuY3Rpb24gZGVzY3JpcHRpb24uIE9wdGlvbmFs
IHBhcmFtZXRlcnMgYW5kIHJlc3QgcGFyYW1ldGVycyBhcmUgbm90IGluY2x1ZGVkIGluCisgIHRo
ZSBwYXJhbWV0ZXIgY291bnQuCisKKyAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSAi
bGVuZ3RoIiBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdCBoYXMKKyAgdGhl
IGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2Us
IFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KKworaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5q
c10KK2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShTaGFk
b3dSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUsICJsZW5ndGgiLCB7CisgIHZhbHVlOiAyLAor
ICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6
IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvbmFtZS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMjI2MTg5NTI0NDA2NmZiNTkyYmE4MmZmNzgxOWYwZGU2MjQ3MGU2Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1Jl
YWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9uYW1lLmpzCkBAIC0wLDAgKzEsMjcgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMSBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXNoYWRvd3JlYWxtLnByb3RvdHlwZS5pbXBvcnRW
YWx1ZQorZGVzY3JpcHRpb246ID4KKyAgVGhlIHZhbHVlIG9mIFNoYWRvd1JlYWxtLnByb3RvdHlw
ZS5pbXBvcnRWYWx1ZS5uYW1lIGlzICdpbXBvcnRWYWx1ZScKK2luZm86IHwKKyAgU2hhZG93UmVh
bG0ucHJvdG90eXBlLmltcG9ydFZhbHVlCisKKyAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSAibmFtZSIgcHJvcGVydHkKKyAgd2hv
c2UgdmFsdWUgaXMgYSBTdHJpbmcuIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGlzIHZh
bHVlIGlzIHRoZSBuYW1lCisgIHRoYXQgaXMgZ2l2ZW4gdG8gdGhlIGZ1bmN0aW9uIGluIHRoaXMg
c3BlY2lmaWNhdGlvbi4KKworICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlICJuYW1l
IiBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIGZ1bmN0aW9uCisgIG9iamVjdCBoYXMgdGhlIGF0dHJp
YnV0ZXMKKyAgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtb
Q29uZmlndXJhYmxlXV06IHRydWUgfS4KKworaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10K
K2ZlYXR1cmVzOiBbU2hhZG93UmVhbG1dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShTaGFkb3dS
ZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUsICJuYW1lIiwgeworICB2YWx1ZTogImltcG9ydFZh
bHVlIiwKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmln
dXJhYmxlOiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL25vdC1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUv
aW1wb3J0VmFsdWUvbm90LWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1OTQ4ODMxN2E5YTJm
MmViYWEwZDc2YTYzYjJkOGZmNmZhMjRiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL25v
dC1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuaW1wb3J0dmFsdWUKK2Rlc2NyaXB0aW9u
OiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBpcyBub3QgYSBjb25zdHJ1
Y3Rvci4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbU2hhZG93UmVh
bG0sIFJlZmxlY3QuY29uc3RydWN0XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlw
ZW9mIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSwKKyAgJ2Z1bmN0aW9uJywKKyAg
J1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVl
IGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1
Y3RvcihTaGFkb3dSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoU2hhZG93UmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBT
aGFkb3dSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUoIiIsICJuYW1lIik7Cit9LCAnYG5ldyBT
aGFkb3dSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUoIiIpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbmV3IHIuaW1wb3JWYWx1ZSgiLi9pbXBvcnQtdmFsdWVfRklYVFVSRS5q
cyIsICJ4Iik7Cit9LCAnYG5ldyByLmltcG9yVmFsdWUoIi4uLiIpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVh
bG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3Byb3RvLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS9wcm90by5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jYzBiZjk5N2ZlZGY4YWMyYmZlNGM2ZWI0MTFjYWE0OWI0ZjM2ZjdkCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1JlYWxtL3By
b3RvdHlwZS9pbXBvcnRWYWx1ZS9wcm90by5qcwpAQCAtMCwwICsxLDE1IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuaW1wb3J0dmFsdWUK
K2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBbW1Byb3RvdHlwZV1dIG9mIFNoYWRvd1JlYWxtLnByb3Rv
dHlwZS5pbXBvcnRWYWx1ZSBpcyBBc3luY0Z1bmN0aW9uLlByb3RvdHlwZS4KK2luZm86IHwKKyAg
VW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgZXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gYW5kIGV2
ZXJ5IGJ1aWx0LWluIGNvbnN0cnVjdG9yCisgIGhhcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9i
amVjdCwgd2hpY2ggaXMgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIGV4cHJlc3Npb24KKyAgRnVu
Y3Rpb24ucHJvdG90eXBlLCBhcyB0aGUgdmFsdWUgb2YgaXRzIFtbUHJvdG90eXBlXV0gaW50ZXJu
YWwgc2xvdC4KKworZmVhdHVyZXM6IFtTaGFkb3dSZWFsbV0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRW
YWx1ZSksIEZ1bmN0aW9uLnByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVlL3NwZWNpZmll
ci10b3N0cmluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFs
bS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvc3BlY2lmaWVyLXRvc3RyaW5nLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlkZjM2MTU4YWZiZDdkZDU5MmFiNzE4ZmYyMDYyODUwMmIyYzBlZTUKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBl
L2ltcG9ydFZhbHVlL3NwZWNpZmllci10b3N0cmluZy5qcwpAQCAtMCwwICsxLDczIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1zaGFkb3dyZWFsbS5wcm90b3R5cGUuaW1wb3J0
dmFsdWUKK2Rlc2NyaXB0aW9uOiA+CisgIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1
ZSBjb2VyY2VzIHNwZWNpZmllciB0byBzdHJpbmcuCitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFNoYWRvd1JlYWxtLnByb3RvdHlw
ZS5pbXBvcnRWYWx1ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYg
U2hhZG93UmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsK
KworY29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgpOworbGV0IGNvdW50ID0gMDsKKworY29uc3Qg
c3BlY2lmaWVyID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKKworLy8gQSAtIHZhbHVlT0YKKworc3Bl
Y2lmaWVyLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsKKyAgY291bnQgKz0gMTsKKyAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigpOworfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+
IHsKKyAgci5pbXBvcnRWYWx1ZShzcGVjaWZpZXIpOworfSwgJ1RvU3RyaW5nKHNwZWNpZmllcikg
cmV0dXJucyBhYnJ1cHQgZnJvbSB2YWx1ZU9mJyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY291bnQs
IDEsICdUb1N0cmluZyBjYWxscyB0aGUgdmFsdWVPZiBtZXRob2QnKTsKKworCisvLyBCIC0gdG9T
dHJpbmcKKworY291bnQgPSAwOworCitzcGVjaWZpZXIudmFsdWVPZiA9IGZ1bmN0aW9uKCkgewor
ICBjb3VudCArPSAxMDAwOworICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlT2YgaXMgbm90IHJlYWNo
ZWQgaWYgdG9TdHJpbmcgaXMgcHJlc2VudCcpOworfTsKKworc3BlY2lmaWVyLnRvU3RyaW5nID0g
ZnVuY3Rpb24oKSB7CisgIGNvdW50ICs9IDE7CisgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsK
K307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIHIuaW1wb3J0VmFs
dWUoc3BlY2lmaWVyKTsKK30sICdUb1N0cmluZyhzcGVjaWZpZXIpIHJldHVybnMgYWJydXB0IGZy
b20gdG9TdHJpbmcnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSwgJ1RvU3RyaW5nIGNh
bGxzIHRoZSB0b1N0cmluZyBtZXRob2QnKTsKKworLy8gQyAtIEBAdG9QcmltaXRpdmUKKworY291
bnQgPSAwOworCitzcGVjaWZpZXJbU3ltYm9sLnRvUHJpbWl0aXZlXSA9IGZ1bmN0aW9uKCkgewor
ICBjb3VudCArPSAxOworICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7Cit9OworCitzcGVjaWZp
ZXIudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKKyAgY291bnQgKz0gMTAwMDsKKyAgdGhyb3cgbmV3
IEVycm9yKCd0b1N0cmluZyBpcyBub3QgcmVhY2hlZCBpZiBAQHRvUHJpbWl0aXZlIGlzIHByZXNl
bnQnKTsKK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIHIuaW1w
b3J0VmFsdWUoc3BlY2lmaWVyKTsKK30sICdUb1N0cmluZyhzcGVjaWZpZXIpIHJldHVybnMgYWJy
dXB0IGZyb20gQEB0b1ByaW1pdGl2ZScpOworCithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxLCAn
VG9TdHJpbmcgY2FsbHMgdGhlIEBAdG9QcmltaXRpdmUgbWV0aG9kJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9y
dFZhbHVlL3Rocm93cy1pZi1pbXBvcnQtdmFsdWUtZG9lcy1ub3QtZXhpc3QuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhZG93UmVhbG0vcHJvdG90eXBlL2ltcG9ydFZhbHVl
L3Rocm93cy1pZi1pbXBvcnQtdmFsdWUtZG9lcy1ub3QtZXhpc3QuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y0
ZDkzYjk2YTllMWJkNzY1ODAzNDI3YmZkZjY1MzQ3OWExODRkNQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1w
b3J0VmFsdWUvdGhyb3dzLWlmLWltcG9ydC12YWx1ZS1kb2VzLW5vdC1leGlzdC5qcwpAQCAtMCww
ICsxLDUzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1yZWFsbWltcG9ydHZh
bHVlCitkZXNjcmlwdGlvbjogPgorICBTaGFkb3dSZWFsbS5wcm90b3R5cGUuaW1wb3J0VmFsdWUg
cmVqZWN0cyB3aGVuIGV4cG9ydCBuYW1lIGRvZXMgbm90IGV4aXN0CitpbmZvOiB8CisgIFJlYWxt
SW1wb3J0VmFsdWUgKCBzcGVjaWZpZXJTdHJpbmcsIGV4cG9ydE5hbWVTdHJpbmcsIGNhbGxlclJl
YWxtLCBldmFsUmVhbG0sIGV2YWxDb250ZXh0ICkKKworICAgIEFzc2VydDogVHlwZShzcGVjaWZp
ZXJTdHJpbmcpIGlzIFN0cmluZy4KKyAgICBBc3NlcnQ6IFR5cGUoZXhwb3J0TmFtZVN0cmluZykg
aXMgU3RyaW5nLgorICAgIEFzc2VydDogY2FsbGVyUmVhbG0gaXMgYSBTaGFkb3dSZWFsbSBSZWNv
cmQuCisgICAgQXNzZXJ0OiBldmFsUmVhbG0gaXMgYSBTaGFkb3dSZWFsbSBSZWNvcmQuCisgICAg
QXNzZXJ0OiBldmFsQ29udGV4dCBpcyBhbiBleGVjdXRpb24gY29udGV4dCBhc3NvY2lhdGVkIHRv
IGEgU2hhZG93UmVhbG0gaW5zdGFuY2UncyBbW0V4ZWN1dGlvbkNvbnRleHRdXS4KKyAgICBMZXQg
aW5uZXJDYXBhYmlsaXR5IGJlICEgTmV3UHJvbWlzZUNhcGFiaWxpdHkoJVByb21pc2UlKS4KKyAg
ICBMZXQgcnVubmluZ0NvbnRleHQgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQuCisg
ICAgSWYgcnVubmluZ0NvbnRleHQgaXMgbm90IGFscmVhZHkgc3VzcGVuZGVkLCBzdXNwZW5kIHJ1
bm5pbmdDb250ZXh0LgorICAgIFB1c2ggZXZhbENvbnRleHQgb250byB0aGUgZXhlY3V0aW9uIGNv
bnRleHQgc3RhY2s7IGV2YWxDb250ZXh0IGlzIG5vdyB0aGUgcnVubmluZyBleGVjdXRpb24gY29u
dGV4dC4KKyAgICBQZXJmb3JtICEgSG9zdEltcG9ydE1vZHVsZUR5bmFtaWNhbGx5KG51bGwsIHNw
ZWNpZmllclN0cmluZywgaW5uZXJDYXBhYmlsaXR5KS4KKyAgICBTdXNwZW5kIGV2YWxDb250ZXh0
IGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgZXhlY3V0aW9uIGNvbnRleHQgc3RhY2suCisgICAgUmVz
dW1lIHRoZSBjb250ZXh0IHRoYXQgaXMgbm93IG9uIHRoZSB0b3Agb2YgdGhlIGV4ZWN1dGlvbiBj
b250ZXh0IHN0YWNrIGFzIHRoZSBydW5uaW5nCisgICAgZXhlY3V0aW9uIGNvbnRleHQuCisgICAg
TGV0IHN0ZXBzIGJlIHRoZSBzdGVwcyBvZiBhbiBFeHBvcnRHZXR0ZXIgZnVuY3Rpb24gYXMgZGVz
Y3JpYmVkIGJlbG93LgorCisgIEFuIEV4cG9ydEdldHRlciBmdW5jdGlvbiBpcyBhbiBhbm9ueW1v
dXMgYnVpbHQtaW4gZnVuY3Rpb24gd2l0aCBhIFtbRXhwb3J0TmFtZVN0cmluZ11dCisgIGludGVy
bmFsIHNsb3QuIFdoZW4gYW4gRXhwb3J0R2V0dGVyIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGFy
Z3VtZW50IGV4cG9ydHMsCisgIGl0IHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisKKyAg
ICBBc3NlcnQ6IGV4cG9ydHMgaXMgYSBtb2R1bGUgbmFtZXNwYWNlIGV4b3RpYyBvYmplY3QuCisg
ICAgTGV0IGYgYmUgdGhlIGFjdGl2ZSBmdW5jdGlvbiBvYmplY3QuCisgICAgTGV0IHN0cmluZyBi
ZSBmLltbRXhwb3J0TmFtZVN0cmluZ11dLgorICAgIEFzc2VydDogVHlwZShzdHJpbmcpIGlzIFN0
cmluZy4KKyAgICBMZXQgaGFzT3duIGJlID8gSGFzT3duUHJvcGVydHkoZXhwb3J0cywgc3RyaW5n
KS4KKyAgICBJZiBoYXNPd24gaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgICAuLi4KKworZmxhZ3M6IFthc3luYywgbW9kdWxlXQorZmVhdHVyZXM6IFtTaGFkb3dSZWFs
bV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBTaGFkb3dSZWFsbS5wcm90
b3R5cGUuaW1wb3J0VmFsdWUsCisgICdmdW5jdGlvbicsCisgICdUaGlzIHRlc3QgbXVzdCBmYWls
IGlmIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSBpcyBub3QgYSBmdW5jdGlvbicK
Kyk7CisKK2NvbnN0IHIgPSBuZXcgU2hhZG93UmVhbG0oKTsKKworci5pbXBvcnRWYWx1ZSgnLi9p
bXBvcnQtdmFsdWVfRklYVFVSRS5qcycsICd5JykKKyAgLnRoZW4oCisgICAgKCkgPT4gJERPTkUo
J0V4cGVjdGVkIHJlamVjdGlvbicpLAorICAgICgpID0+ICRET05FKCkKKyAgKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUv
aW1wb3J0VmFsdWUvdmFsaWRhdGVzLXJlYWxtLW9iamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvaW1wb3J0VmFsdWUvdmFsaWRhdGVz
LXJlYWxtLW9iamVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDZhNmU5MDIzM2I3YmRhOTQ3YjdjNjhlMTVk
ZDZjNWYwODc5ZTRiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYWRvd1JlYWxtL3Byb3RvdHlwZS9pbXBvcnRWYWx1ZS92YWxpZGF0ZXMtcmVhbG0t
b2JqZWN0LmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLXNoYWRvd3JlYWxtLnByb3RvdHlwZS5pbXBvcnR2YWx1ZQorZGVzY3JpcHRpb246ID4KKyAg
U2hhZG93UmVhbG0ucHJvdG90eXBlLmltcG9ydFZhbHVlIHZhbGlkYXRlcyByZWFsbSBvYmplY3Qu
CitmZWF0dXJlczogW1NoYWRvd1JlYWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
dHlwZW9mIFNoYWRvd1JlYWxtLnByb3RvdHlwZS5pbXBvcnRWYWx1ZSwKKyAgJ2Z1bmN0aW9uJywK
KyAgJ1RoaXMgdGVzdCBtdXN0IGZhaWwgaWYgU2hhZG93UmVhbG0ucHJvdG90eXBlLmltcG9ydFZh
bHVlIGlzIG5vdCBhIGZ1bmN0aW9uJworKTsKKworY29uc3QgciA9IG5ldyBTaGFkb3dSZWFsbSgp
OworY29uc3QgYm9ndXMgPSB7fTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgeworICByLmltcG9ydFZhbHVlLmNhbGwoYm9ndXMsICJzcGVjaWZpZXIiLCAibmFtZSIpOwor
fSwgJ3Rocm93cyBhIFR5cGVFcnJvciBpZiB0aGlzIGlzIG5vdCBhIFNoYWRvd1JlYWxtIG9iamVj
dCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYWRvd1Jl
YWxtL3Byb3RvdHlwZS9wcm90by5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFkb3dSZWFsbS9wcm90b3R5cGUvcHJvdG8uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJmYzcyNDA1ZjEyMWRi
ODA5MTZlMDNhNjI1N2JlMTA5MDZjMDcwOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFkb3dSZWFsbS9wcm90b3R5cGUvcHJvdG8uanMKQEAgLTAs
MCArMSwxNSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtcHJvcGVydGllcy1v
Zi10aGUtcmVhbG0tcHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246ID4KKyAgVGhlIFtbUHJv
dG90eXBlXV0gb2YgU2hhZG93UmVhbG0ucHJvdG90eXBlIGlzIE9iamVjdC5Qcm90b3R5cGUuCitp
bmZvOiB8CisgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGV2ZXJ5IGJ1aWx0LWluIHByb3Rv
dHlwZSBvYmplY3QgaGFzIHRoZSBPYmplY3QgcHJvdG90eXBlCisgIG9iamVjdCwgd2hpY2ggaXMg
dGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIGV4cHJlc3Npb24gT2JqZWN0LnByb3RvdHlwZSwgYXMg
dGhlIHZhbHVlCisgIG9mIGl0cyBbW1Byb3RvdHlwZV1dIGludGVybmFsIHNsb3QsIGV4Y2VwdCB0
aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXRzZWxmLgorCitmZWF0dXJlczogW1NoYWRvd1Jl
YWxtXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoU2hh
ZG93UmVhbG0ucHJvdG90eXBlKSwgT2JqZWN0LnByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhi
eXRlbGVuZ3RoLWRpbWludWl0aXZlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1NoYXJlZEFycmF5QnVmZmVyL29wdGlvbnMtbWF4Ynl0ZWxlbmd0aC1kaW1pbnVpdGl2ZS5qcwpp
bmRleCA3NTYyYmUzZWFmN2M1NmY1OWMwNjhlYzY5MGIxNmZhOGM1NjY1YWNjLi45YjA1N2I5MmRl
NWFkNGU2NTkzZWFmMGM1MjAzYmRiNmQ4ZjBkNWU1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3Ro
LWRpbWludWl0aXZlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFy
ZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtZGltaW51aXRpdmUuanMKQEAgLTE0
LDcgKzE0LDcgQEAKICAgNC4gSWYgcmVxdWVzdGVkTWF4Qnl0ZUxlbmd0aCBpcyBlbXB0eSwgdGhl
bgogICAgICBhLiBbLi4uXQogICA1LiBJZiBieXRlTGVuZ3RoID4gcmVxdWVzdGVkTWF4Qnl0ZUxl
bmd0aCwgdGhyb3cgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KLWZlYXR1cmVzOiBbcmVzaXphYmxl
LWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFy
cmF5YnVmZmVyXQogLS0tKi8KIAogYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigp
IHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJh
eUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtZXhjZXNzaXZlLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL29wdGlvbnMtbWF4Ynl0ZWxlbmd0
aC1leGNlc3NpdmUuanMKaW5kZXggNzdmZWM4YWY1NWU4ZjRjNDM1YjUwZjhhODQzNTMyZGRlYzEz
MWY2Yi4uNWJhZGY1OGM2Zjc1MzM3ZmVkNmY2M2Y5YTI0NDcwNDZmYzU2NzMxYSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL29wdGlv
bnMtbWF4Ynl0ZWxlbmd0aC1leGNlc3NpdmUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL29wdGlvbnMtbWF4Ynl0ZWxlbmd0aC1leGNlc3Np
dmUuanMKQEAgLTE5LDcgKzE5LDcgQEAKICAgMi4gTGV0IG1heEJ5dGVMZW5ndGggYmUgPyBHZXQo
b3B0aW9ucywgIm1heEJ5dGVMZW5ndGgiKS4KICAgMy4gSWYgbWF4Qnl0ZUxlbmd0aCBpcyB1bmRl
ZmluZWQsIHJldHVybiBlbXB0eS4KICAgNC4gUmV0dXJuID8gVG9JbmRleChtYXhCeXRlTGVuZ3Ro
KS4KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRB
cnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogYXNzZXJ0LnRocm93
cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtbmVn
YXRpdmUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZm
ZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLW5lZ2F0aXZlLmpzCmluZGV4IDc0N2YzM2NlZTRmNGNl
MmE1MGRmOGUzMDQyYmUwNjEyOGI3MGM5NTguLjkzM2IzMzUwMGU3MDFiN2IwMDAzYTBiMGE0MGEy
MGU5OGRkM2UxYjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtbmVnYXRpdmUuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL29wdGlvbnMt
bWF4Ynl0ZWxlbmd0aC1uZWdhdGl2ZS5qcwpAQCAtMTcsNyArMTcsNyBAQAogICAyLiBMZXQgbWF4
Qnl0ZUxlbmd0aCBiZSA/IEdldChvcHRpb25zLCAibWF4Qnl0ZUxlbmd0aCIpLgogICAzLiBJZiBt
YXhCeXRlTGVuZ3RoIGlzIHVuZGVmaW5lZCwgcmV0dXJuIGVtcHR5LgogICA0LiBSZXR1cm4gPyBU
b0luZGV4KG1heEJ5dGVMZW5ndGgpLgotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJd
CitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAt
LS0qLwogCiBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL29wdGlv
bnMtbWF4Ynl0ZWxlbmd0aC1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLW9iamVjdC5qcwppbmRl
eCBhMGViZGRmODg1NTYxNTAwZjIwMzg4Y2NlODk1MzRjZWM2MjU3YWU0Li44ODMwZjhiZTVmMzY1
OGJhYTQyYTAxMDExNWIyNjVkMzgyZmIwOTMyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLW9i
amVjdC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlC
dWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLW9iamVjdC5qcwpAQCAtMTksNyArMTksNyBAQAog
ICAyLiBMZXQgbWF4Qnl0ZUxlbmd0aCBiZSA/IEdldChvcHRpb25zLCAibWF4Qnl0ZUxlbmd0aCIp
LgogICAzLiBJZiBtYXhCeXRlTGVuZ3RoIGlzIHVuZGVmaW5lZCwgcmV0dXJuIGVtcHR5LgogICA0
LiBSZXR1cm4gPyBUb0luZGV4KG1heEJ5dGVMZW5ndGgpLgotZmVhdHVyZXM6IFtyZXNpemFibGUt
YXJyYXlidWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJy
YXlidWZmZXJdCiAtLS0qLwogCiB2YXIgbG9nID0gW107CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVu
Z3RoLXBvaXNvbmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFy
cmF5QnVmZmVyL29wdGlvbnMtbWF4Ynl0ZWxlbmd0aC1wb2lzb25lZC5qcwppbmRleCAyYWU1YWFj
NzJiZGU3ODJkYjUwOTQ4MzE1ZTUxZTQ3Njg1OTQ5MTQ0Li4wNWZjMTI5YmNiY2Y1NTUzMGQ2MTA4
M2EzYjMxNmVhNWE0N2NmNWE3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1tYXhieXRlbGVuZ3RoLXBvaXNvbmVkLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9v
cHRpb25zLW1heGJ5dGVsZW5ndGgtcG9pc29uZWQuanMKQEAgLTE1LDcgKzE1LDcgQEAKIAogICAx
LiBJZiBUeXBlKG9wdGlvbnMpIGlzIG5vdCBPYmplY3QsIHJldHVybiBlbXB0eS4KICAgMi4gTGV0
IG1heEJ5dGVMZW5ndGggYmUgPyBHZXQob3B0aW9ucywgIm1heEJ5dGVMZW5ndGgiKS4KLWZlYXR1
cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZl
ciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIG9wdGlvbnMgPSB7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
b3B0aW9ucy1tYXhieXRlbGVuZ3RoLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtdW5kZWZp
bmVkLmpzCmluZGV4IDRlNmY4OWU5ZGM2M2NjZWQ1M2UxNzE5YjkzZTNhZTkzOTdlYjVlY2YuLmNh
ODgxYzRkYTJjZDZhYmNiNDE2MGM4ZjdhZmY5MWFhNjZjODRhMTggMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5
dGVsZW5ndGgtdW5kZWZpbmVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW1heGJ5dGVsZW5ndGgtdW5kZWZpbmVkLmpzCkBA
IC0xNyw3ICsxNyw3IEBACiAgIDEuIElmIFR5cGUob3B0aW9ucykgaXMgbm90IE9iamVjdCwgcmV0
dXJuIGVtcHR5LgogICAyLiBMZXQgbWF4Qnl0ZUxlbmd0aCBiZSA/IEdldChvcHRpb25zLCAibWF4
Qnl0ZUxlbmd0aCIpLgogICAzLiBJZiBtYXhCeXRlTGVuZ3RoIGlzIHVuZGVmaW5lZCwgcmV0dXJu
IGVtcHR5LgotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1No
YXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiBhc3NlcnQu
c2FtZVZhbHVlKG5ldyBTaGFyZWRBcnJheUJ1ZmZlcigwLCB7fSkuZ3Jvd2FibGUsIGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1
ZmZlci9vcHRpb25zLW5vbi1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhcmVkQXJyYXlCdWZmZXIvb3B0aW9ucy1ub24tb2JqZWN0LmpzCmluZGV4IDhmMDNlODM5
MjkwYjdlY2UwNTljNGVkNWQ1ODM4ZDhiNzE4YjcxNmYuLjhjODMyOTc5MTdiYTNjZGM5YzdiNDVi
Yzk3YmNiOTNlZjg3MGE0ZWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9vcHRpb25zLW5vbi1vYmplY3QuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL29wdGlvbnMtbm9uLW9i
amVjdC5qcwpAQCAtMTUsNyArMTUsNyBAQAogICAxLjEuNSBHZXRBcnJheUJ1ZmZlck1heEJ5dGVM
ZW5ndGhPcHRpb24gKCBvcHRpb25zICkKIAogICAxLiBJZiBUeXBlKG9wdGlvbnMpIGlzIG5vdCBP
YmplY3QsIHJldHVybiBlbXB0eS4KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQor
ZmVhdHVyZXM6IFtCaWdJbnQsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIHJlc2l6YWJsZS1h
cnJheWJ1ZmZlcl0KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUobmV3IFNoYXJlZEFycmF5QnVm
ZmVyKDAsIG51bGwpLmdyb3dhYmxlLCBmYWxzZSwgJ251bGwnKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUtZnJv
bS1uZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJy
YXlCdWZmZXIvcHJvdG90eXBlLWZyb20tbmV3dGFyZ2V0LmpzCmluZGV4IDQ1MDJjMThmNzQ0ZGUw
OGU5NTE1ZmVhYmU5ZTQ2OTU3MTdlYzFiZjMuLjYxMzM1MDJkNjRlM2MyMTlmYjNhMDExZTQ4YWFm
MDA1MmNlNmRiMTMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUtZnJvbS1uZXd0YXJnZXQuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS1mcm9t
LW5ld3RhcmdldC5qcwpAQCAtMTgsNyArMTgsNyBAQAogICAgIDEuIExldCBvYmogYmUgPyBPcmRp
bmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3Rvcihjb25zdHJ1Y3RvciwgIiVTaGFyZWRBcnJheUJ1ZmZl
clByb3RvdHlwZSUiLAogICAgICAgIMKrW1tBcnJheUJ1ZmZlckRhdGFdXSwgW1tBcnJheUJ1ZmZl
ckJ5dGVMZW5ndGhdXcK7ICkuCiAgICAgLi4uCi1mZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVy
LCBSZWZsZWN0LmNvbnN0cnVjdF0KK2ZlYXR1cmVzOiBbUmVmbGVjdCwgUmVmbGVjdC5jb25zdHJ1
Y3QsIFNoYXJlZEFycmF5QnVmZmVyXQogLS0tKi8KIAogdmFyIGFycmF5QnVmZmVyID0gUmVmbGVj
dC5jb25zdHJ1Y3QoU2hhcmVkQXJyYXlCdWZmZXIsIFs4XSwgT2JqZWN0KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5
cGUvZ3Jvdy9kZXNjcmlwdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1No
YXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L2Rlc2NyaXB0b3IuanMKaW5kZXggMjE1YjYx
YzlhZWZhODQ4NTI0NDhmZTJjNTA3ZTlkYzg0ZDNiMWU3MC4uZGQzNjI5OGYyOTIwZWUxZTBmZDJh
OTUxZmFkMWZmZWIyMjg4NGNlOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L2Rlc2NyaXB0b3IuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3Rv
dHlwZS9ncm93L2Rlc2NyaXB0b3IuanMKQEAgLTEyLDcgKzEyLDcgQEAKICAgICBBbm5leCBCLjIg
aGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTog
ZmFsc2UsCiAgICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3Bl
Y2lmaWVkLgogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWZlYXR1cmVzOiBbcmVzaXph
YmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxl
LWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmVyaWZ5UHJvcGVydHkoU2hhcmVkQXJyYXlCdWZmZXIu
cHJvdG90eXBlLCAnZ3JvdycsIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy9leHRlbnNpYmxlLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlw
ZS9ncm93L2V4dGVuc2libGUuanMKaW5kZXggNTViZmU0ZjliMjU2MzY5YjRlMDgwNWEwOTY5ZjU4
MjI3NTQ1ZDY4ZC4uZjQyZWM4NzU2YTRhM2VlZjc5OWJlOWMwNzM0OWVmZmI1MzFiMTZiYyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVy
L3Byb3RvdHlwZS9ncm93L2V4dGVuc2libGUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L2V4dGVuc2libGUuanMK
QEAgLTksNyArOSw3IEBACiAgIDE3IEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0
czoKICAgICBVbmxlc3Mgc3BlY2lmaWVkIG90aGVyd2lzZSwgdGhlIFtbRXh0ZW5zaWJsZV1dIGlu
dGVybmFsIHNsb3QKICAgICBvZiBhIGJ1aWx0LWluIG9iamVjdCBpbml0aWFsbHkgaGFzIHRoZSB2
YWx1ZSB0cnVlLgotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczog
W1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiBhc3Nl
cnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShTaGFyZWRBcnJheUJ1ZmZlci5wcm90b3R5cGUuZ3Jvdykp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5
QnVmZmVyL3Byb3RvdHlwZS9ncm93L2dyb3ctbGFyZ2VyLXNpemUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvZ3Jvdy1s
YXJnZXItc2l6ZS5qcwppbmRleCAzOTk5YzMxZmQ1NWM3MWFiMzk5ZGNkZTFjYzViMDQ2ODA1NzBh
NjM0Li41MjE5MTM3MWJjMTFiOTc4ZGUwZjViMmU4OWEzY2VjYTU3MzUxOWJkIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90
eXBlL2dyb3cvZ3Jvdy1sYXJnZXItc2l6ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvZ3Jvdy1sYXJnZXItc2l6
ZS5qcwpAQCAtMTQsNyArMTQsNyBAQAogICA1LiBMZXQgaG9zdEhhbmRsZWQgYmUgPyBIb3N0R3Jv
d1NoYXJlZEFycmF5QnVmZmVyKE8sIG5ld0J5dGVMZW5ndGgpLgogICA2LiBJZiBob3N0SGFuZGxl
ZCBpcyBoYW5kbGVkLCByZXR1cm4gdW5kZWZpbmVkLgogICBbLi4uXQotZmVhdHVyZXM6IFtyZXNp
emFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFi
bGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiB2YXIgc2FiID0gbmV3IFNoYXJlZEFycmF5QnVmZmVy
KDQsIHttYXhCeXRlTGVuZ3RoOiA1fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvZ3Jvdy1zYW1lLXNp
emUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
cHJvdG90eXBlL2dyb3cvZ3Jvdy1zYW1lLXNpemUuanMKaW5kZXggZDY1ZjNmMWE4NGE3YTY3NDk5
ZTA0MWYyNjYxMTM4MmNkMjI2MmNmOS4uMzkyZmM4YWUxMDE4YTMyNzEwYjdmMjc0MGM1N2I1ZDUx
N2I5NTM1ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJl
ZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L2dyb3ctc2FtZS1zaXplLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jv
dy9ncm93LXNhbWUtc2l6ZS5qcwpAQCAtMTQsNyArMTQsNyBAQAogICA1LiBMZXQgaG9zdEhhbmRs
ZWQgYmUgPyBIb3N0R3Jvd1NoYXJlZEFycmF5QnVmZmVyKE8sIG5ld0J5dGVMZW5ndGgpLgogICA2
LiBJZiBob3N0SGFuZGxlZCBpcyBoYW5kbGVkLCByZXR1cm4gdW5kZWZpbmVkLgogICBbLi4uXQot
ZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5
QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiB2YXIgc2FiID0gbmV3IFNo
YXJlZEFycmF5QnVmZmVyKDQsIHttYXhCeXRlTGVuZ3RoOiA1fSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dy
b3cvZ3Jvdy1zbWFsbGVyLXNpemUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvZ3Jvdy1zbWFsbGVyLXNpemUuanMKaW5k
ZXggOWY3ZjA1MDE3YjdmMjgyMWY2ZmE1MTFiM2JjOTAwYzZhOTVjNWM4Yi4uNzVlNTk4ZWUyMjA3
NGIwMjEzMWEyNDMzMWNkNmZlY2YxZmJhYjhmMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L2dyb3ctc21h
bGxlci1zaXplLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRB
cnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy9ncm93LXNtYWxsZXItc2l6ZS5qcwpAQCAtMTQsNyAr
MTQsNyBAQAogICA1LiBMZXQgaG9zdEhhbmRsZWQgYmUgPyBIb3N0R3Jvd1NoYXJlZEFycmF5QnVm
ZmVyKE8sIG5ld0J5dGVMZW5ndGgpLgogICA2LiBJZiBob3N0SGFuZGxlZCBpcyBoYW5kbGVkLCBy
ZXR1cm4gdW5kZWZpbmVkLgogICBbLi4uXQotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZm
ZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJd
CiAtLS0qLwogCiB2YXIgc2FiID0gbmV3IFNoYXJlZEFycmF5QnVmZmVyKDQsIHttYXhCeXRlTGVu
Z3RoOiA1fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hh
cmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L2xlbmd0aC5q
cwppbmRleCAwNDQyZjkwYzIxYzIxYTYzOGZmNzA2NDZmNzdmYzNlOTBlZWMxNzFhLi42MmZiY2I2
MjQ2Mjc5NDVmZjEzZTBjZDYzZDdjMmQwZjY5YTIyNjBiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbGVu
Z3RoLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1
ZmZlci9wcm90b3R5cGUvZ3Jvdy9sZW5ndGguanMKQEAgLTE5LDcgKzE5LDcgQEAKICAgICBvYmpl
Y3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxl
XV06IGZhbHNlLAogICAgIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KIGluY2x1ZGVzOiBbcHJv
cGVydHlIZWxwZXIuanNdCi1mZWF0dXJlczogW3Jlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1
cmVzOiBbU2hhcmVkQXJyYXlCdWZmZXIsIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAK
IHZlcmlmeVByb3BlcnR5KFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZS5ncm93LCAnbGVuZ3Ro
JywgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFy
cmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L25hbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbmFtZS5qcwppbmRleCBm
ODE5NDQ4YzRmZjIxNTM2N2NlNDI1MzUyODJjNzhjODI3N2ZhNGVhLi5mNjI1M2Y0ZGM2Y2JjYjUz
YzgxODUzYWY2NmU1MzVhNGQ2MzYxMWIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbmFtZS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90
eXBlL2dyb3cvbmFtZS5qcwpAQCAtMTUsNyArMTUsNyBAQAogICAgIFVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkLCB0aGUgbmFtZSBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIEZ1bmN0aW9uCiAgICAg
b2JqZWN0LCBpZiBpdCBleGlzdHMsIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTog
ZmFsc2UsCiAgICAgW1tFbnVtZXJhYmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVl
IH0uCi1mZWF0dXJlczogW3Jlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1cmVzOiBbU2hhcmVk
QXJyYXlCdWZmZXIsIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIGluY2x1ZGVzOiBbcHJvcGVydHlI
ZWxwZXIuanNdCiAtLS0qLwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbmV3LWxlbmd0aC1leGNlc3Np
dmUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
cHJvdG90eXBlL2dyb3cvbmV3LWxlbmd0aC1leGNlc3NpdmUuanMKaW5kZXggYWFkMmQ1YmNlZjVk
OTIxOTE4NTFmOWE4NDU5M2Y1MjNmZTYyNjcxNy4uMDZhN2QwMjdiMGYwNjY4NzhhYTIxY2QxYjJm
MTVhNzE0N2I4MGE3ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L25ldy1sZW5ndGgtZXhjZXNzaXZlLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9w
cm90b3R5cGUvZ3Jvdy9uZXctbGVuZ3RoLWV4Y2Vzc2l2ZS5qcwpAQCAtMTQsNyArMTQsNyBAQAog
ICA1LiBJZiBuZXdCeXRlTGVuZ3RoIDwgMCBvciBuZXdCeXRlTGVuZ3RoID4gTy5bW0FycmF5QnVm
ZmVyTWF4Qnl0ZUxlbmd0aF1dLAogICAgICB0aHJvdyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uLgog
ICBbLi4uXQotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1No
YXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiB2YXIgYWIg
PSBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoNCwge21heEJ5dGVMZW5ndGg6IDR9KTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90
b3R5cGUvZ3Jvdy9uZXctbGVuZ3RoLW5lZ2F0aXZlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L25ldy1sZW5ndGgtbmVn
YXRpdmUuanMKaW5kZXggNzUzMzE5MWFjMzgxMzgwYTk5M2E1NzU0YjAxNjNmNGY2YzAwMmU0NS4u
MGUwOTA4MDI4OWJkZGU3ZTlkZDA3YzI4MDAzMzc2OTRkZjRmYzU5ZSAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9n
cm93L25ldy1sZW5ndGgtbmVnYXRpdmUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L25ldy1sZW5ndGgtbmVnYXRp
dmUuanMKQEAgLTE0LDcgKzE0LDcgQEAKICAgNS4gSWYgbmV3Qnl0ZUxlbmd0aCA8IDAgb3IgbmV3
Qnl0ZUxlbmd0aCA+IE8uW1tBcnJheUJ1ZmZlck1heEJ5dGVMZW5ndGhdXSwKICAgICAgdGhyb3cg
YSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KICAgWy4uLl0KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFy
cmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5
YnVmZmVyXQogLS0tKi8KIAogdmFyIGFiID0gbmV3IFNoYXJlZEFycmF5QnVmZmVyKDQsIHttYXhC
eXRlTGVuZ3RoOiA0fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbmV3LWxlbmd0aC1ub24tbnVtYmVy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3By
b3RvdHlwZS9ncm93L25ldy1sZW5ndGgtbm9uLW51bWJlci5qcwppbmRleCA2MDhlMjNiNmEzYTEx
NjdlNTE3YmUyOTk0ZWQ5ZDFjNTBkNmJlZDc2Li5kN2QwMmYxYTYxMDExNjkwZDFjZWEwMmNjYTEx
Nzk2NGNjMWYzNTkwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvbmV3LWxlbmd0aC1ub24tbnVtYmVyLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9w
cm90b3R5cGUvZ3Jvdy9uZXctbGVuZ3RoLW5vbi1udW1iZXIuanMKQEAgLTExLDcgKzExLDcgQEAK
ICAgMy4gSWYgSXNTaGFyZWRBcnJheUJ1ZmZlcihPKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgogICA0LiBMZXQgbmV3Qnl0ZUxlbmd0aCBiZSA/IFRvSW50ZWdlck9ySW5m
aW5pdHkobmV3TGVuZ3RoKS4KICAgWy4uLl0KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVm
ZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVy
XQogLS0tKi8KIAogdmFyIGxvZyA9IFtdOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L25vbmNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVy
L3Byb3RvdHlwZS9ncm93L25vbmNvbnN0cnVjdG9yLmpzCmluZGV4IDg5ZWUwNGU0NWQ4MWY5YmE2
MDk1ZGQ4NGE3MDYwMDllNDJkZjk0YTIuLjIwOWExNjFjZDVjZDBhMmNmOThlMWY5MjhlODhjYmQx
MGZiYmQ5NGIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFy
ZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy9ub25jb25zdHJ1Y3Rvci5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dy
b3cvbm9uY29uc3RydWN0b3IuanMKQEAgLTExLDcgKzExLDcgQEAKICAgICBCdWlsdC1pbiBmdW5j
dGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBu
b3QKICAgICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkCiAgICAgaW4gdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVy
ZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAog
YXNzZXJ0LnNhbWVWYWx1ZSgKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlzLWlzLW5vdC1hcnJheWJ1
ZmZlci1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJy
YXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvdGhpcy1pcy1ub3QtYXJyYXlidWZmZXItb2JqZWN0Lmpz
CmluZGV4IDFiMDRmNGRmMjc1NmQ1OWUyODlhODJhZjM3NzliOWM5MTY3MDU3MjYuLmRhMTYyMTg2
NDMzMjc4ZDYwY2YwODQ4OGU2NmJhODI4ODllZTRjNWUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlz
LWlzLW5vdC1hcnJheWJ1ZmZlci1vYmplY3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtbm90LWFy
cmF5YnVmZmVyLW9iamVjdC5qcwpAQCAtMTAsNyArMTAsNyBAQAogICAxLiBMZXQgTyBiZSB0aGUg
dGhpcyB2YWx1ZS4KICAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoTywgW1tBcnJh
eUJ1ZmZlck1heEJ5dGVMZW5ndGhdXSkuCiAgIFsuLi5dCi1mZWF0dXJlczogW3Jlc2l6YWJsZS1h
cnJheWJ1ZmZlcl0KK2ZlYXR1cmVzOiBbU2hhcmVkQXJyYXlCdWZmZXIsIHJlc2l6YWJsZS1hcnJh
eWJ1ZmZlcl0KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUodHlwZW9mIFNoYXJlZEFycmF5QnVm
ZmVyLnByb3RvdHlwZS5ncm93LCAnZnVuY3Rpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlz
LWlzLW5vdC1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVk
QXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvdGhpcy1pcy1ub3Qtb2JqZWN0LmpzCmluZGV4IDZk
NGIzODY5NDAwZjljY2ZkYWFhMTE3OTUyNDFmZWRkNGFmMWMyOWUuLmNjNTMwYjc4ZmE2M2JkNmM4
YjllZGU1MzMzYWVlOTY3NmZiZTFkMDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlzLWlzLW5vdC1v
YmplY3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5
QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtbm90LW9iamVjdC5qcwpAQCAtOSw3ICs5LDcg
QEAKICAgMS4gTGV0IE8gYmUgdGhlIHRoaXMgdmFsdWUuCiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJl
SW50ZXJuYWxTbG90KE8sIFtbQXJyYXlCdWZmZXJNYXhCeXRlTGVuZ3RoXV0pLgogICBbLi4uXQot
ZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXIsIFN5bWJvbCwgQmlnSW50XQorZmVhdHVy
ZXM6IFtCaWdJbnQsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIHJlc2l6YWJsZS1hcnJheWJ1
ZmZlcl0KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUodHlwZW9mIFNoYXJlZEFycmF5QnVmZmVy
LnByb3RvdHlwZS5ncm93LCAiZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlzLWlz
LW5vdC1yZXNpemFibGUtYXJyYXlidWZmZXItb2JqZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtbm90
LXJlc2l6YWJsZS1hcnJheWJ1ZmZlci1vYmplY3QuanMKaW5kZXggZTdmNTQzMjljYzE4ZWNkY2Qw
MzUxZjBlOWViNjhmZDJhYjU0ZDkyNS4uZDVlNjUyMWU3NTg5ZDJhN2Y0OTNlODQ5ZTJmNWRlYWRm
NGUzNDNjNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJl
ZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtbm90LXJlc2l6YWJsZS1hcnJheWJ1
ZmZlci1vYmplY3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJl
ZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93L3RoaXMtaXMtbm90LXJlc2l6YWJsZS1hcnJheWJ1
ZmZlci1vYmplY3QuanMKQEAgLTEwLDcgKzEwLDcgQEAKICAgMS4gTGV0IE8gYmUgdGhlIHRoaXMg
dmFsdWUuCiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KE8sIFtbQXJyYXlCdWZm
ZXJNYXhCeXRlTGVuZ3RoXV0pLgogICBbLi4uXQotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXli
dWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZm
ZXJdCiAtLS0qLwogCiB2YXIgYWI7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3cvdGhpcy1pcy1zaGFyZWRh
cnJheWJ1ZmZlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJh
eUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlzLWlzLXNoYXJlZGFycmF5YnVmZmVyLmpzCmluZGV4
IGViMTdmNDljM2NhMTNjZjI4ZWZiMDcyMzFkMGI3MmQ2NTA4NTE2ZmEuLjI0M2RmYzUxODNjNWRi
MDIxMzEyM2VkMzAxOTgyZTgzMWQ2ODllOTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlzLWlzLXNo
YXJlZGFycmF5YnVmZmVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvdy90aGlzLWlzLXNoYXJlZGFycmF5YnVmZmVy
LmpzCkBAIC0xMCw3ICsxMCw3IEBACiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90
KE8sIFtbQXJyYXlCdWZmZXJNYXhCeXRlTGVuZ3RoXV0pLgogICAzLiBJZiBJc1NoYXJlZEFycmF5
QnVmZmVyKE8pIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCiAgIFsuLi5d
Ci1mZWF0dXJlczogW0FycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJl
czogW0FycmF5QnVmZmVyLCBTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVy
XQogLS0tKi8KIAogdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKDApOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9n
cm93YWJsZS9pbnZva2VkLWFzLWFjY2Vzc29yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9pbnZva2VkLWFzLWFj
Y2Vzc29yLmpzCmluZGV4IGMzYTg4MzU4NjRjM2Y1NzhlOWI2ZDY3OWU1ODc1MzgxM2YxMGI0NGMu
LmMzYWJjMGY0YzU4MjViZWY1MDNiZGQ2YzQ1Zjg4YThhMzhiNjA2ZGIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUv
Z3Jvd2FibGUvaW52b2tlZC1hcy1hY2Nlc3Nvci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL2ludm9rZWQt
YXMtYWNjZXNzb3IuanMKQEAgLTksNyArOSw3IEBACiAgIDEuIExldCBPIGJlIHRoZSB0aGlzIHZh
bHVlLgogICAyLiBQZXJmb3JtID8gUmVxdWlyZUludGVybmFsU2xvdChPLCBbW0FycmF5QnVmZmVy
RGF0YV1dKS4KICAgWy4uLl0KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVh
dHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8K
IAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9n
cm93YWJsZS9pbnZva2VkLWFzLWZ1bmMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL2ludm9rZWQtYXMtZnVuYy5q
cwppbmRleCBiMWJlMzZjYTZlZTcxNzdiNTM5MjczOTRhOWViMDA4N2IyMTg1OWMwLi4zZTI5ZDA3
YmFlYTJjYTZmMTQxMWYxOTZiMDRkMzNhOTc5ZmFiYTMyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxl
L2ludm9rZWQtYXMtZnVuYy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL2ludm9rZWQtYXMtZnVuYy5qcwpA
QCAtOSw3ICs5LDcgQEAKICAgMS4gTGV0IE8gYmUgdGhlIHRoaXMgdmFsdWUuCiAgIDIuIFBlcmZv
cm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KE8sIFtbQXJyYXlCdWZmZXJEYXRhXV0pLgogICBbLi4u
XQotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFy
cmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiB2YXIgZ2V0dGVyID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUv
bGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVm
ZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9sZW5ndGguanMKaW5kZXggZDIzNzA0NjAxMTM0MDdhMDkz
NDY5YTI4YTFjNWQ4MGJmODZkMmQ0My4uZWExZTQ0ZDg2NjYwNjA5NTIzNTIwNDBhMDk4NjczNDFh
ZTU4ODUwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJl
ZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9sZW5ndGguanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJs
ZS9sZW5ndGguanMKQEAgLTE5LDcgKzE5LDcgQEAKICAgICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1
dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAogICAgIFtb
Q29uZmlndXJhYmxlXV06IHRydWUgfS4KIGluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi1m
ZWF0dXJlczogW3Jlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1cmVzOiBbU2hhcmVkQXJyYXlC
dWZmZXIsIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIHZhciBkZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTaGFyZWRBcnJheUJ1ZmZlci5wcm90b3R5cGUsICdn
cm93YWJsZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1No
YXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9u
YW1lLmpzCmluZGV4IDVlZTllZGQ3OTk3NjJkNTVkYjk2ODA0YmI0YTFkY2IyYzIyNzg1ZmQuLjQx
YjQ0NTA4NGFhNWFhMThiNjQ4Y2RhNDUzNWI3NWRjYjE1NDRiMTAgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jv
d2FibGUvbmFtZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVk
QXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL25hbWUuanMKQEAgLTExLDcgKzExLDcgQEAK
ICAgcHJvcGVydGllcyBoYXZlICJnZXQgIiBvciAic2V0ICIgcHJlcGVuZGVkIHRvIHRoZSBwcm9w
ZXJ0eSBuYW1lIHN0cmluZy4KIAogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWZlYXR1
cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZl
ciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIGRlc2MgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZSwgJ2dyb3dh
YmxlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVk
QXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL3Byb3AtZGVzYy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUv
cHJvcC1kZXNjLmpzCmluZGV4IDg4Yjg2NTcxZjk3MWNjNDQzYWE3NDlhZmQzZWVlYzJiYmYzNjkx
MDIuLjBlNzljZDg3MjlkZTU2MGQ1ZWVkNmJlZjUwYzgzMDA4MmUzZThhYzkgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5
cGUvZ3Jvd2FibGUvcHJvcC1kZXNjLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUvcHJvcC1kZXNjLmpzCkBA
IC0xMSw3ICsxMSw3IEBACiAgIFNlY3Rpb24gMTc6IEV2ZXJ5IGFjY2Vzc29yIHByb3BlcnR5IGRl
c2NyaWJlZCBpbiBjbGF1c2VzIDE4IHRocm91Z2ggMjYgYW5kIGluCiAgIEFubmV4IEIuMiBoYXMg
dGhlIGF0dHJpYnV0ZXMge1tbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTog
dHJ1ZSB9CiBpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotZmVhdHVyZXM6IFtyZXNpemFi
bGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUt
YXJyYXlidWZmZXJdCiAtLS0qLwogCiB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoU2hhcmVkQXJyYXlCdWZmZXIucHJvdG90eXBlLCAnZ3Jvd2FibGUnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9w
cm90b3R5cGUvZ3Jvd2FibGUvcmV0dXJuLWdyb3dhYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9yZXR1cm4t
Z3Jvd2FibGUuanMKaW5kZXggMmM0YmRiMGQwZmVkMDAwYjVmZWIzOTU5ZTNmNzNkZjUxYjY4NWE5
My4uYjlmY2M3OTY1ZjI3ZWIxM2UwNDA2YTdhNDVhOTFiZDFhM2Q1NWVkOSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlw
ZS9ncm93YWJsZS9yZXR1cm4tZ3Jvd2FibGUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS9yZXR1cm4tZ3Jv
d2FibGUuanMKQEAgLTE3LDcgKzE3LDcgQEAKICAgICAgW1tBcnJheUJ1ZmZlckRhdGFdXSBpbnRl
cm5hbCBzbG90LgogICAyLiBJZiBidWZmZXIgaGFzIGFuIFtbQXJyYXlCdWZmZXJNYXhCeXRlTGVu
Z3RoXV0gaW50ZXJuYWwgc2xvdCwgcmV0dXJuIHRydWUuCiAgIDMuIFJldHVybiBmYWxzZS4KLWZl
YXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1
ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIHNhYjEgPSBuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoMSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL3RoaXMtaGFzLW5vLWFy
cmF5YnVmZmVyZGF0YS1pbnRlcm5hbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUvdGhpcy1oYXMtbm8tYXJyYXli
dWZmZXJkYXRhLWludGVybmFsLmpzCmluZGV4IDFjNjY2Y2M1NzEzYzhlZGZjYTc5NDk0MDFhYTZk
NWY4YzQwMmI2MWYuLjVhYWVjMmM1ZmI2ZjI3MzA5Yzk2ZjNiZWI5OTdjNjI1ZmI2YTk5NWYgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZl
ci9wcm90b3R5cGUvZ3Jvd2FibGUvdGhpcy1oYXMtbm8tYXJyYXlidWZmZXJkYXRhLWludGVybmFs
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZl
ci9wcm90b3R5cGUvZ3Jvd2FibGUvdGhpcy1oYXMtbm8tYXJyYXlidWZmZXJkYXRhLWludGVybmFs
LmpzCkBAIC0xMSw3ICsxMSw3IEBACiAgIDEuIExldCBPIGJlIHRoZSB0aGlzIHZhbHVlLgogICAy
LiBQZXJmb3JtID8gUmVxdWlyZUludGVybmFsU2xvdChPLCBbW0FycmF5QnVmZmVyRGF0YV1dKS4K
ICAgWy4uLl0KLWZlYXR1cmVzOiBbRGF0YVZpZXcsIEludDhBcnJheSwgcmVzaXphYmxlLWFycmF5
YnVmZmVyXQorZmVhdHVyZXM6IFtEYXRhVmlldywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJy
YXksIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIHZhciBnZXR0ZXIgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS90aGlzLWlz
LWFycmF5YnVmZmVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFy
cmF5QnVmZmVyL3Byb3RvdHlwZS9ncm93YWJsZS90aGlzLWlzLWFycmF5YnVmZmVyLmpzCmluZGV4
IGY2MzIyYTI5OGRmZTUzODZmOWU1NmNmY2MxYTM2YTI1OTQ4ODE0OGYuLmJhZWFkNzlmODAzMTZl
NGI3MzQ1MGZmMDBlMjIzMDYwMjFmY2ZiY2UgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvZ3Jvd2FibGUvdGhpcy1p
cy1hcnJheWJ1ZmZlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hh
cmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL3RoaXMtaXMtYXJyYXlidWZmZXIuanMK
QEAgLTEwLDcgKzEwLDcgQEAKICAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoTywg
W1tBcnJheUJ1ZmZlckRhdGFdXSkuCiAgIDMuIElmIElzU2hhcmVkQXJyYXlCdWZmZXIoTykgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgWy4uLl0KLWZlYXR1cmVzOiBb
U2hhcmVkQXJyYXlCdWZmZXIsIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1cmVzOiBbQXJy
YXlCdWZmZXIsIFNoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0q
LwogCiB2YXIgZ3Jvd2FibGUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVy
L3Byb3RvdHlwZS9ncm93YWJsZS90aGlzLWlzLW5vdC1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxlL3Ro
aXMtaXMtbm90LW9iamVjdC5qcwppbmRleCBlNTViOGZkMGVkMThjYmY0NWQ5MTU4MDk1ZTM4N2Vj
OGI5OGY5YTEwLi4xOTZjNTNmZDUzZjQ4YjA4ZThiMzBkYTkzZGVkMjViMzE4NTFiMmI3IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
cHJvdG90eXBlL2dyb3dhYmxlL3RoaXMtaXMtbm90LW9iamVjdC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL2dyb3dhYmxl
L3RoaXMtaXMtbm90LW9iamVjdC5qcwpAQCAtOSw3ICs5LDcgQEAKICAgMS4gTGV0IE8gYmUgdGhl
IHRoaXMgdmFsdWUuCiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KE8sIFtbQXJy
YXlCdWZmZXJEYXRhXV0pLgogICBbLi4uXQotZmVhdHVyZXM6IFtTeW1ib2wsIHJlc2l6YWJsZS1h
cnJheWJ1ZmZlcl0KK2ZlYXR1cmVzOiBbU2hhcmVkQXJyYXlCdWZmZXIsIFN5bWJvbCwgcmVzaXph
YmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvaW52b2tlZC1hcy1h
Y2Nlc3Nvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1
ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9pbnZva2VkLWFzLWFjY2Vzc29yLmpzCmluZGV4
IGE1OGQ1OTliNDRhYzdjMDhhNTdkNDRiYjE4ZDY4MWFlZjI3ZjY4OWIuLjUxMjllZGFiMGJjZTMw
ZTJkZTFhNWU5NzFiNzRhNzZiZTIyMGFhYjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9p
bnZva2VkLWFzLWFjY2Vzc29yLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9pbnZva2VkLWFzLWFj
Y2Vzc29yLmpzCkBAIC05LDcgKzksNyBAQAogICAxLiBMZXQgTyBiZSB0aGUgdGhpcyB2YWx1ZS4K
ICAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoTywgW1tBcnJheUJ1ZmZlckRhdGFd
XSkuCiAgIFsuLi5dCi1mZWF0dXJlczogW3Jlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1cmVz
OiBbU2hhcmVkQXJyYXlCdWZmZXIsIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIGFz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0
ZUxlbmd0aC9pbnZva2VkLWFzLWZ1bmMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvaW52b2tlZC1hcy1m
dW5jLmpzCmluZGV4IGQwN2MyYTM4YWFkMjM4NGM4MzE4Y2Q2YTgwOTM3ZmZlOGE2NTY2ZjAuLjA4
MGQ0M2E1ZDcwNzZlMzczZjA5MDE2NjQ5YmQ0YjVkMDI1NTFmYzUgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4
Qnl0ZUxlbmd0aC9pbnZva2VkLWFzLWZ1bmMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL2ludm9r
ZWQtYXMtZnVuYy5qcwpAQCAtOSw3ICs5LDcgQEAKICAgMS4gTGV0IE8gYmUgdGhlIHRoaXMgdmFs
dWUuCiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KE8sIFtbQXJyYXlCdWZmZXJE
YXRhXV0pLgogICBbLi4uXQotZmVhdHVyZXM6IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0
dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCByZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwog
CiB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90
b3R5cGUvbWF4Qnl0ZUxlbmd0aC9sZW5ndGguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvbGVuZ3RoLmpz
CmluZGV4IDdiNGE2ZTc4MWM4YmY0YTE1YjJmNjRlMzc3YjhhYjNjZjkwNDA0N2UuLjRhMmU0Yjgz
MjYwOTBkM2VjMDliZjFlYzNjYzgxZWZkMGIxMGQxYzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxl
bmd0aC9sZW5ndGguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJl
ZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL2xlbmd0aC5qcwpAQCAtMTksNyAr
MTksNyBAQAogICAgIG9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZh
bHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsCiAgICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9
LgogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFy
cmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5
YnVmZmVyXQogLS0tKi8KIAogdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZSwgJ21heEJ5dGVMZW5ndGgnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9w
cm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL25hbWUuanMK
aW5kZXggMzFjNjY4ZmUzM2M1ZTM3MjFjMWU1ZmFhMDExYzM5MmE4N2NhMWJiZi4uNTdiM2Y4MDkw
NDZjN2M5YWMxYzljMzdmYzJmNmQwZGRhMjJhODc0NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVu
Z3RoL25hbWUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFy
cmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL25hbWUuanMKQEAgLTExLDcgKzExLDcg
QEAKICAgcHJvcGVydGllcyBoYXZlICJnZXQgIiBvciAic2V0ICIgcHJlcGVuZGVkIHRvIHRoZSBw
cm9wZXJ0eSBuYW1lIHN0cmluZy4KIAogaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLWZl
YXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1
ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIGRlc2MgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZSwgJ21h
eEJ5dGVMZW5ndGgnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9wcm9wLWRlc2MuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90
eXBlL21heEJ5dGVMZW5ndGgvcHJvcC1kZXNjLmpzCmluZGV4IDIyZjhhNmNlN2YxMWRjZjRhNjFk
ZTIzMTM1MzA3ZWViYmRiZDQ3MDIuLjk4NzI1ZDAyNzNjNTYxY2ZjY2VlYjc5NzQ1NGJiMWRiZmE2
MDRkYmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRB
cnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9wcm9wLWRlc2MuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9t
YXhCeXRlTGVuZ3RoL3Byb3AtZGVzYy5qcwpAQCAtMTEsNyArMTEsNyBAQAogICBTZWN0aW9uIDE3
OiBFdmVyeSBhY2Nlc3NvciBwcm9wZXJ0eSBkZXNjcmliZWQgaW4gY2xhdXNlcyAxOCB0aHJvdWdo
IDI2IGFuZCBpbgogICBBbm5leCBCLjIgaGFzIHRoZSBhdHRyaWJ1dGVzIHtbW0VudW1lcmFibGVd
XTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfQogaW5jbHVkZXM6IFtwcm9wZXJ0eUhl
bHBlci5qc10KLWZlYXR1cmVzOiBbcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtT
aGFyZWRBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNoYXJlZEFycmF5QnVmZmVyLnBy
b3RvdHlwZSwgJ21heEJ5dGVMZW5ndGgnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9y
ZXR1cm4tbWF4Ynl0ZWxlbmd0aC1ncm93YWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9yZXR1cm4t
bWF4Ynl0ZWxlbmd0aC1ncm93YWJsZS5qcwppbmRleCA0ZWQ2MGJmNzkzYWIyMGI1MTMxZTQ3ZThl
YjU1OGQxYTNhNTlhYWE2Li5jODcyYTMzOTk4MTYxNzM5MTFiYTI1YTJiYzhjNDNlYTExYTA4Mjlm
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlC
dWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvcmV0dXJuLW1heGJ5dGVsZW5ndGgtZ3Jvd2Fi
bGUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVm
ZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL3JldHVybi1tYXhieXRlbGVuZ3RoLWdyb3dhYmxl
LmpzCkBAIC0xNCw3ICsxNCw3IEBACiAgIDUuIEVsc2UsCiAgICAgIFsuLi5dCiAgIDYuIFJldHVy
biDwnZS9KGxlbmd0aCkuCi1mZWF0dXJlczogW3Jlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1
cmVzOiBbU2hhcmVkQXJyYXlCdWZmZXIsIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAK
IHZhciBhYjEgPSBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoMCwgeyBtYXhCeXRlTGVuZ3RoOiAwIH0p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5
QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL3JldHVybi1tYXhieXRlbGVuZ3RoLW5vbi1n
cm93YWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1
ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC9yZXR1cm4tbWF4Ynl0ZWxlbmd0aC1ub24tZ3Jv
d2FibGUuanMKaW5kZXggMzk1N2Y3ODRjMWRkMzVhMTcwMWFmNDczZDFhYjhiZTFhMmYyZGYyNC4u
ODU4NGU4YWQzYzE4NTViNGExMzVhMDA1YjgyOTY3MTJmMzlkNGY5YyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9t
YXhCeXRlTGVuZ3RoL3JldHVybi1tYXhieXRlbGVuZ3RoLW5vbi1ncm93YWJsZS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBl
L21heEJ5dGVMZW5ndGgvcmV0dXJuLW1heGJ5dGVsZW5ndGgtbm9uLWdyb3dhYmxlLmpzCkBAIC0x
NCw3ICsxNCw3IEBACiAgIDUuIEVsc2UsCiAgICAgIGEuIExldCBsZW5ndGggYmUgTy5bW0FycmF5
QnVmZmVyQnl0ZUxlbmd0aF1dLgogICA2LiBSZXR1cm4g8J2UvShsZW5ndGgpLgotZmVhdHVyZXM6
IFtyZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW1NoYXJlZEFycmF5QnVmZmVyLCBy
ZXNpemFibGUtYXJyYXlidWZmZXJdCiAtLS0qLwogCiB2YXIgYWIxID0gbmV3IFNoYXJlZEFycmF5
QnVmZmVyKDApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1No
YXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL3RoaXMtaGFzLW5vLWFycmF5
YnVmZmVyZGF0YS1pbnRlcm5hbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
aGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC90aGlzLWhhcy1uby1hcnJh
eWJ1ZmZlcmRhdGEtaW50ZXJuYWwuanMKaW5kZXggZmMwMGZiYzE1OGIwMzkxYzYwYTJlNDIyMTAx
MGYyNmIzOTQ1NmVhNC4uZmM4M2VhNDk0MDNkMGNjZTEwOTRkMjFmYTcwNzJhNzRlZmY4MDJmYiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVm
ZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL3RoaXMtaGFzLW5vLWFycmF5YnVmZmVyZGF0YS1p
bnRlcm5hbC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJy
YXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvdGhpcy1oYXMtbm8tYXJyYXlidWZmZXJk
YXRhLWludGVybmFsLmpzCkBAIC0xMSw3ICsxMSw3IEBACiAgIDEuIExldCBPIGJlIHRoZSB0aGlz
IHZhbHVlLgogICAyLiBQZXJmb3JtID8gUmVxdWlyZUludGVybmFsU2xvdChPLCBbW0FycmF5QnVm
ZmVyRGF0YV1dKS4KICAgWy4uLl0KLWZlYXR1cmVzOiBbRGF0YVZpZXcsIEludDhBcnJheSwgcmVz
aXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtEYXRhVmlldywgU2hhcmVkQXJyYXlCdWZm
ZXIsIFR5cGVkQXJyYXksIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIHZhciBnZXR0
ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKApkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhC
eXRlTGVuZ3RoL3RoaXMtaXMtYXJyYXlidWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvdGhpcy1p
cy1hcnJheWJ1ZmZlci5qcwppbmRleCA1ZDYxNDg1NzYyYzk1OTc0MWM1NmJlODk3NGMxNDRmZDMy
NTBmODVjLi42YTY0YzU1NzFmMTE3M2JhYTZlODA5MWRkZWE5NWFkYzZlNGQzMzMxIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJv
dG90eXBlL21heEJ5dGVMZW5ndGgvdGhpcy1pcy1hcnJheWJ1ZmZlci5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5
dGVMZW5ndGgvdGhpcy1pcy1hcnJheWJ1ZmZlci5qcwpAQCAtMTAsNyArMTAsNyBAQAogICAyLiBQ
ZXJmb3JtID8gUmVxdWlyZUludGVybmFsU2xvdChPLCBbW0FycmF5QnVmZmVyRGF0YV1dKS4KICAg
My4gSWYgSXNTaGFyZWRBcnJheUJ1ZmZlcihPKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgogICBbLi4uXQotZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgcmVzaXphYmxlLWFy
cmF5YnVmZmVyXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgU2hhcmVkQXJyYXlCdWZmZXIsIHJl
c2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIHZhciBtYXhCeXRlTGVuZ3RoID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0ZUxlbmd0aC90
aGlzLWlzLW5vdC1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hh
cmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL21heEJ5dGVMZW5ndGgvdGhpcy1pcy1ub3Qtb2JqZWN0
LmpzCmluZGV4IDlhZmEzY2Y4NTczOTliNzk3ODM3OGU4MWNiMGZjNTE3NjQwNTRkOGMuLmI1MTUz
OWI4MDZlOTUzMTJiOTljNDNkNzU3ZTA3NmU2ZDNhMmJkNzMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvbWF4Qnl0
ZUxlbmd0aC90aGlzLWlzLW5vdC1vYmplY3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVyL3Byb3RvdHlwZS9tYXhCeXRlTGVuZ3RoL3RoaXMt
aXMtbm90LW9iamVjdC5qcwpAQCAtOSw3ICs5LDcgQEAKICAgMS4gTGV0IE8gYmUgdGhlIHRoaXMg
dmFsdWUuCiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KE8sIFtbQXJyYXlCdWZm
ZXJEYXRhXV0pLgogICBbLi4uXQotZmVhdHVyZXM6IFtTeW1ib2wsIHJlc2l6YWJsZS1hcnJheWJ1
ZmZlcl0KK2ZlYXR1cmVzOiBbU2hhcmVkQXJyYXlCdWZmZXIsIFN5bWJvbCwgcmVzaXphYmxlLWFy
cmF5YnVmZmVyXQogLS0tKi8KIAogdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hh
cmVkQXJyYXlCdWZmZXIvcHJvdG90eXBlL3NsaWNlL3RoaXMtaXMtYXJyYXlidWZmZXIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvcHJvdG90eXBl
L3NsaWNlL3RoaXMtaXMtYXJyYXlidWZmZXIuanMKaW5kZXggMTI4MmIxODhmMzhlNWEyODc0N2Qw
NjQ2OTU4M2RhNmZhMGI3MjBhMS4uN2I3NzNkODk4ZTgxMjM4MzU0NDI5N2RjODI0MTRlZGU4Y2U4
ZmZiNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFy
cmF5QnVmZmVyL3Byb3RvdHlwZS9zbGljZS90aGlzLWlzLWFycmF5YnVmZmVyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUv
c2xpY2UvdGhpcy1pcy1hcnJheWJ1ZmZlci5qcwpAQCAtNSw3ICs1LDcgQEAKIGVzaWQ6IHNlYy1z
aGFyZWRhcnJheWJ1ZmZlci5wcm90b3R5cGUuc2xpY2UKIGRlc2NyaXB0aW9uOiA+CiAgIFRocm93
cyBhIFR5cGVFcnJvciBpZiBgdGhpc2AgaXMgYW4gQXJyYXlCdWZmZXIKLWZlYXR1cmVzOiBbU2hh
cmVkQXJyYXlCdWZmZXJdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBTaGFyZWRBcnJheUJ1ZmZl
cl0KIC0tLSovCiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9w
cm90b3R5cGUvZGF0ZUZyb21GaWVsZHMvdGhyb3dzLXJhbmdlLWVycm9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJv
bUZpZWxkcy90aHJvd3MtcmFuZ2UtZXJyb3IuanMKaW5kZXggOTE4M2FmNDk5MGY2YzcwY2U4MWIz
ZWE1MDk5NzI4NjFiOTRhYjU3OS4uN2Y0MzMyNDlhODBhZTRiOGU2NDRjODg0N2JlNzRiNDFjYTJm
MGY3ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9kYXRlRnJvbUZpZWxkcy90aHJvd3MtcmFuZ2UtZXJyb3IuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9kYXRlRnJvbUZpZWxkcy90aHJvd3MtcmFuZ2UtZXJyb3IuanMKQEAgLTIsNyArMiw5
IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnBy
b3RvdHlwZS5kYXRlZnJvbWZpZWxkcwotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnBy
b3RvdHlwZS5kYXRlRnJvbUZpZWxkcyBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciBmb3IgaW5wdXQg
bm90IGluIHZhbGlkIHJhbmdlLgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIu
cHJvdG90eXBlLmRhdGVGcm9tRmllbGRzIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yIGZvcgorICBp
bnB1dCBub3QgaW4gdmFsaWQgcmFuZ2UuCiBpbmZvOiB8CiAgIDEuIExldCBjYWxlbmRhciBiZSB0
aGUgdGhpcyB2YWx1ZS4KICAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoY2FsZW5k
YXIsIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbENhbGVuZGFyXV0pLgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkv
ZGF0ZS10aW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXkvZGF0ZS10aW1lLmpzCmluZGV4IGZhZTk4MDVmZWIwMzc3YmQ4
YTg5YmY5OTQwNDgzNmVkMjBmNTQ2NjIuLjY4N2EwMWM2NWNjMTJmMWZlYWRlZWI2YjczNTM0NjUx
MjA1NTc4Y2MgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L2RhdGUtdGltZS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheS9kYXRl
LXRpbWUuanMKQEAgLTMsNyArMyw5IEBACiAKIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2Fs
ZW5kYXIucHJvdG90eXBlLmRheQotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3Rv
dHlwZS5kYXkgd2lsbCB0YWtlIFBsYWluRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgdmFsdWUgb2Yg
dGhlIGRheS4KK2Rlc2NyaXB0aW9uOiA+CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5k
YXkgd2lsbCB0YWtlIFBsYWluRGF0ZVRpbWUgYW5kIHJldHVybgorICB0aGUgdmFsdWUgb2YgdGhl
IGRheS4KIGluZm86IHwKICAgNS4gUmV0dXJuICEgSVNPRGF5KHRlbXBvcmFsRGF0ZUxpa2UpLgog
ZmVhdHVyZXM6IFtUZW1wb3JhbF0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L2RhdGUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheS9k
YXRlLmpzCmluZGV4IGRmYzQ1ZTU0MGU2OTI1MTgxMTM4MzIzYzBmMmIwMGUxYTFiYTFhNzQuLjNm
NGFiZDM4ZjQ3MzFhNzhmNjc3ZGU0Y2VkODc0ZTdmNTU1ZDY5OWQgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5
L2RhdGUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXkvZGF0ZS5qcwpAQCAtMyw3ICszLDkgQEAKIAogLyotLS0KIGVz
aWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5Ci1kZXNjcmlwdGlvbjogVGVt
cG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheSB3aWxsIHRha2UgUGxhaW5EYXRlIGFuZCByZXR1
cm4gdGhlIHZhbHVlIG9mIHRoZSBkYXkuCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxl
bmRhci5wcm90b3R5cGUuZGF5IHdpbGwgdGFrZSBQbGFpbkRhdGUgYW5kIHJldHVybgorICB0aGUg
dmFsdWUgb2YgdGhlIGRheS4KIGluZm86IHwKICAgNS4gUmV0dXJuICEgSVNPRGF5KHRlbXBvcmFs
RGF0ZUxpa2UpLgogZmVhdHVyZXM6IFtUZW1wb3JhbF0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L21vbnRo
LWRheS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRh
ci9wcm90b3R5cGUvZGF5L21vbnRoLWRheS5qcwppbmRleCBjZTRmOGVkMGFmNDc1MDJmZGY1NmQ3
YWI2ZmU3YmI5MjE3Mjg5NzRmLi43YTM1N2ZlMDM1YjAyMjkwMWIyY2NlYmM5ZjQwMmE1MTgyNDhk
ZjcxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheS9tb250aC1kYXkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvbW9udGgtZGF5
LmpzCkBAIC0zLDcgKzMsOSBAQAogCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFy
LnByb3RvdHlwZS5kYXkKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUu
ZGF5IHdpbGwgdGFrZSBQbGFpbk1vbnRoRGF5IGFuZCByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBk
YXkuCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5IHdp
bGwgdGFrZSBQbGFpbk1vbnRoRGF5IGFuZCByZXR1cm4KKyAgdGhlIHZhbHVlIG9mIHRoZSBkYXku
CiBpbmZvOiB8CiAgIDQuIElmIFR5cGUodGVtcG9yYWxEYXRlTGlrZSkgaXMgbm90IE9iamVjdCBv
ciB0ZW1wb3JhbERhdGVMaWtlIGRvZXMgbm90IGhhdmUKICAgICBhbiBbW0luaXRpYWxpemVkVGVt
cG9yYWxEYXRlXV0gb3IgW1tJbml0aWFsaXplZFRlbXBvcmFsWWVhck1vbnRoXV0gaW50ZXJuYWwK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF5L3N0cmluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5L3N0cmluZy5qcwppbmRleCBkYjVj
YThlZTZiMDc1ODdhMzJhODRjNWI5YjI5NjUzYmY5MTk0YjA5Li44MWExOWQ5NDY4ZmQ3ZDUxODEz
MTA4MzVlNTViNmFiZTVlYTI2OTUwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheS9zdHJpbmcuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS9kYXkvc3RyaW5nLmpzCkBAIC0zLDcgKzMsOSBAQAogCiAvKi0tLQogZXNpZDogc2VjLXRlbXBv
cmFsLmNhbGVuZGFyLnByb3RvdHlwZS5kYXkKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRh
ci5wcm90b3R5cGUuZGF5IHdpbGwgdGFrZSBJU084NjAxIHN0cmluZyBhbmQgcmV0dXJuIHRoZSB2
YWx1ZSBvZiB0aGUgZGF5LgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJv
dG90eXBlLmRheSB3aWxsIHRha2UgSVNPODYwMSBzdHJpbmcgYW5kIHJldHVybgorICB0aGUgdmFs
dWUgb2YgdGhlIGRheS4KIGluZm86IHwKICAgNC4gSWYgVHlwZSh0ZW1wb3JhbERhdGVMaWtlKSBp
cyBub3QgT2JqZWN0IG9yIHRlbXBvcmFsRGF0ZUxpa2UgZG9lcyBub3QgaGF2ZQogICAgIGFuIFtb
SW5pdGlhbGl6ZWRUZW1wb3JhbERhdGVdXSBvciBbW0luaXRpYWxpemVkVGVtcG9yYWxZZWFyTW9u
dGhdXSBpbnRlcm5hbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXkvdGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1w
b3JhbERhdGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2Fs
ZW5kYXIvcHJvdG90eXBlL2RheS90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcwpp
bmRleCA2YWE1ZTMwYjIzNTg2YzJhMmJkZTExZmYwNjViODc2NzUwOWM1MWY1Li44NzNkZDJiMTE0
MmY3ZDVkODhlY2E2ZWY0NzkxZDZjMTVhZDU3Y2E5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheS90aHJvdy1y
YW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheS90aHJvdy1yYW5nZS1lcnJv
ci1Ub1RlbXBvcmFsRGF0ZS5qcwpAQCAtMyw3ICszLDkgQEAKIAogLyotLS0KIGVzaWQ6IHNlYy10
ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5Ci1kZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2Fs
ZW5kYXIucHJvdG90eXBlLmRheSB0aHJvd3MgUmFuZ2VFcnJvciBvbiBUb1RlbXBvcmFsRGF0ZSB3
aGVuIHRlbXBvcmFsRGF0ZUxpa2UgaXMgaW52YWxpZCBzdHJpbmcuCitkZXNjcmlwdGlvbjogPgor
ICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5IHRocm93cyBSYW5nZUVycm9yIG9uCisg
IFRvVGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9yYWxEYXRlTGlrZSBpcyBpbnZhbGlkIHN0cmluZy4K
IGluZm86IHwKICAgNC4gSWYgVHlwZSh0ZW1wb3JhbERhdGVMaWtlKSBpcyBub3QgT2JqZWN0IG9y
IHRlbXBvcmFsRGF0ZUxpa2UKICAgICAgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxpemVkVGVt
cG9yYWxEYXRlXV0gb3IKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZXZWVrL3BsYWluLWRhdGUtdGltZS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvZGF5T2ZXZWVrL3BsYWluLWRhdGUtdGltZS5qcwppbmRleCAwNDVkNDE1OGEzN2FhNTNi
ZTY0ZmJmMjMwZDEzMjZiMmNiMjcwODRiLi5iODVmODRjOWQxNjIxZGU4ZTY5YTRhMTNmZDYxOTdh
ODJjMDliNDdiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLXRpbWUuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3Rv
dHlwZS9kYXlPZldlZWsvcGxhaW4tZGF0ZS10aW1lLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5
b2Z3ZWVrCi1kZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheU9mV2Vl
ayB3aWxsIHRha2UgVGVtcG9yYWwuUGxhaW5EYXRlVGltZSBvYmplY3RzIGFuZCByZXR1cm4gdGhl
IGRheSBvZiB3ZWVrLgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90
eXBlLmRheU9mV2VlayB3aWxsIHRha2UgVGVtcG9yYWwuUGxhaW5EYXRlVGltZSBvYmplY3RzCisg
IGFuZCByZXR1cm4gdGhlIGRheSBvZiB3ZWVrLgogaW5mbzogfAogICA1LiBSZXR1cm4g8J2UvSgh
IFRvSVNPRGF5T2ZXZWVrKHRlbXBvcmFsRGF0ZS5bW0lTT1llYXJdXSwgdGVtcG9yYWxEYXRlLltb
SVNPTW9udGhdXSwgdGVtcG9yYWxEYXRlLltbSVNPRGF5XV0pKS4KIGZlYXR1cmVzOiBbVGVtcG9y
YWxdCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsv
cGxhaW4tZGF0ZS5qcwppbmRleCAwMjBmYzIyNzFmNzRkNzAzY2NkZmEyM2E1NTM4MTVjNDNlZTQ5
ODk0Li41YTYyOWMyNWNkZjE3ZTM5OWI5MzI4MmE4MTBhYTRmNGFkMWM0NTBlIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mV2Vlay9wbGFpbi1kYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZXZWVrL3BsYWluLWRhdGUu
anMKQEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLXRlbXBv
cmFsLmNhbGVuZGFyLnByb3RvdHlwZS5kYXlvZndlZWsKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5D
YWxlbmRhci5wcm90b3R5cGUuZGF5T2ZXZWVrIHdpbGwgdGFrZSBUZW1wb3JhbC5QbGFpbkRhdGUg
b2JqZWN0cyBhbmQgcmV0dXJuIHRoZSBkYXkgb2Ygd2Vlay4KK2Rlc2NyaXB0aW9uOiA+CisgIFRl
bXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlPZldlZWsgd2lsbCB0YWtlIFRlbXBvcmFsLlBs
YWluRGF0ZSBvYmplY3RzCisgIGFuZCByZXR1cm4gdGhlIGRheSBvZiB3ZWVrLgogaW5mbzogfAog
ICA1LiBSZXR1cm4g8J2UvSghIFRvSVNPRGF5T2ZXZWVrKHRlbXBvcmFsRGF0ZS5bW0lTT1llYXJd
XSwgdGVtcG9yYWxEYXRlLltbSVNPTW9udGhdXSwgdGVtcG9yYWxEYXRlLltbSVNPRGF5XV0pKS4K
IGZlYXR1cmVzOiBbVGVtcG9yYWxdCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay9zdHJpbmcuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mV2Vlay9zdHJpbmcuanMKaW5kZXggNmFmYmIzM2Q0Y2FhYzg4NzBhNjBjMDFmYzU4
MGRhM2Q5Mzc1YzNmMi4uZDEwNjZlNjA1ZjkyMTZmOGJkM2M0MDhkNGJmMTM2ZWJkNTM1ZjI4NSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsvc3RyaW5nLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZXZWVrL3N0cmlu
Zy5qcwpAQCAtMiw3ICsyLDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMtdGVt
cG9yYWwuY2FsZW5kYXIucHJvdG90eXBlLmRheW9md2VlawotZGVzY3JpcHRpb246IFRlbXBvcmFs
LkNhbGVuZGFyLnByb3RvdHlwZS5kYXlPZldlZWsgd2lsbCB0YWtlIElTTzg2MDEgc3RyaW5nIGFu
ZCByZXR1cm4gdGhlIGRheSBvZiB3ZWVrLgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2Fs
ZW5kYXIucHJvdG90eXBlLmRheU9mV2VlayB3aWxsIHRha2UgSVNPODYwMSBzdHJpbmcKKyAgYW5k
IHJldHVybiB0aGUgZGF5IG9mIHdlZWsuCiBpbmZvOiB8CiAgIDQuIExldCB0ZW1wb3JhbERhdGUg
YmUgPyBUb1RlbXBvcmFsRGF0ZSh0ZW1wb3JhbERhdGVMaWtlKS4KICAgNS4gUmV0dXJuIPCdlL0o
ISBUb0lTT0RheU9mV2Vlayh0ZW1wb3JhbERhdGUuW1tJU09ZZWFyXV0sIHRlbXBvcmFsRGF0ZS5b
W0lTT01vbnRoXV0sIHRlbXBvcmFsRGF0ZS5bW0lTT0RheV1dKSkuCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2Rh
eU9mV2Vlay90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZXZWVr
L3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCmluZGV4IDhjODBlNTQyZTg1ZGM5
OTA3MWY1YjBhZDNkN2Q5MGQxNzFlYTBiN2MuLjVlY2NjZjUyMjgzNjFjODllZmIxZWQwNTE5NTFl
YjIyMDZhNGFjY2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZXZWVrL3Rocm93LXJhbmdlLWVycm9yLVRv
VGVtcG9yYWxEYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZXZWVrL3Rocm93LXJhbmdlLWVycm9yLVRvVGVt
cG9yYWxEYXRlLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6
IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5T2ZXZWVrCi1kZXNjcmlwdGlvbjog
VGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheU9mV2VlayB0aHJvd3MgUmFuZ2VFcnJvciBv
biBUb1RlbXBvcmFsRGF0ZSB3aGVuIHRlbXBvcmFsRGF0ZUxpa2UgaXMgaW52YWxpZCBzdHJpbmcu
CitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5T2ZXZWVr
IHRocm93cyBSYW5nZUVycm9yIG9uCisgIFRvVGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9yYWxEYXRl
TGlrZSBpcyBpbnZhbGlkIHN0cmluZy4KIGluZm86IHwKICAgNC4gTGV0IHRlbXBvcmFsRGF0ZSBi
ZSA/IFRvVGVtcG9yYWxEYXRlKHRlbXBvcmFsRGF0ZUxpa2UpLgogZmVhdHVyZXM6IFtUZW1wb3Jh
bCwgYXJyb3ctZnVuY3Rpb25dCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay90aHJvdy10eXBlLWVy
cm9yLVJlcXVpcmVJbnRlcm5hbFNsb3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mV2Vlay90aHJvdy10eXBlLWVycm9y
LVJlcXVpcmVJbnRlcm5hbFNsb3QuanMKaW5kZXggNjE4OWM3ZmExMWJhMzFlNTVmNTM5ODI4YTYw
MTc0OGNjM2ViMWViNi4uNDc4OTUwNmEyMzRlYzYzMzRkMjQwOWYzMjdlZmZkZDlhODgxZDZmOCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS9kYXlPZldlZWsvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxT
bG90LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF5T2ZXZWVrL3Rocm93LXR5cGUtZXJyb3ItUmVxdWlyZUludGVybmFs
U2xvdC5qcwpAQCAtMiw3ICsyLDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMt
dGVtcG9yYWwuY2FsZW5kYXIucHJvdG90eXBlLmRheU9mV2VlawotZGVzY3JpcHRpb246IFRlbXBv
cmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlPZldlZWsgdGhyb3dzIFR5cGVFcnJvciB3aGVuIHRo
ZSBpbnRlcm5hbCBsb3QgaXMgbm90IHByZXNlbnRlZC4KK2Rlc2NyaXB0aW9uOiA+CisgIFRlbXBv
cmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlPZldlZWsgdGhyb3dzIFR5cGVFcnJvcgorICB3aGVu
IHRoZSBpbnRlcm5hbCBsb3QgaXMgbm90IHByZXNlbnRlZC4KIGluZm86IHwKICAgMi4gUGVyZm9y
bSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoY2FsZW5kYXIsIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbENh
bGVuZGFyXV0pLgogZmVhdHVyZXM6IFtUZW1wb3JhbCwgYXJyb3ctZnVuY3Rpb25dCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJv
dG90eXBlL2RheU9mWWVhci9wbGFpbi1kYXRlLXRpbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci9wbGFpbi1k
YXRlLXRpbWUuanMKaW5kZXggZWIwZmJkZmJlMjQxZDQwYjAxYzFkZGY0ZTk2ZDFkMzk0OWUxYzRj
MS4uZmEyMDYyMGRhMWFhOTkwNjc5OGJmZjBlYzkwYzkyY2ZlN2QzMGQ4NiAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS9kYXlPZlllYXIvcGxhaW4tZGF0ZS10aW1lLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZZZWFyL3BsYWluLWRh
dGUtdGltZS5qcwpAQCAtMiw3ICsyLDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBz
ZWMtdGVtcG9yYWwuY2FsZW5kYXIucHJvdG90eXBlLmRheW9meWVhcgotZGVzY3JpcHRpb246IFRl
bXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlPZlllYXIgd2lsbCB0YWtlIFBsYWluRGF0ZVRp
bWUgb2JqZWN0IGFuZCByZXR1cm4gdGhlIGRheSBvZiB5ZWFyLgorZGVzY3JpcHRpb246ID4KKyAg
VGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheU9mWWVhciB3aWxsIHRha2UgUGxhaW5EYXRl
VGltZSBvYmplY3QgYW5kCisgIHJldHVybiB0aGUgZGF5IG9mIHllYXIuCiBpbmZvOiB8CiAgIDQu
IExldCB0ZW1wb3JhbERhdGUgYmUgPyBUb1RlbXBvcmFsRGF0ZSh0ZW1wb3JhbERhdGVMaWtlKS4K
ICAgNS4gUmV0dXJuIPCdlL0oISBUb0lTT0RheU9mWWVhcih0ZW1wb3JhbERhdGUuW1tJU09ZZWFy
XV0sIHRlbXBvcmFsRGF0ZS5bW0lTT01vbnRoXV0sIHRlbXBvcmFsRGF0ZS5bW0lTT0RheV1dKSku
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2Fs
ZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci9wbGFpbi1kYXRlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZlllYXIvcGxh
aW4tZGF0ZS5qcwppbmRleCA2MjRhMGZlZmU2NTJmOGEwMDAwOGVkZjBiYzhiZWZmYjQ4ODVhNWZi
Li42NDA5NmU0NDk4YjYzZGM5ZmE0MzNkNGMzZjQyMmYzMGU1N2FkMDQzIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBl
L2RheU9mWWVhci9wbGFpbi1kYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZZZWFyL3BsYWluLWRhdGUuanMK
QEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFs
LmNhbGVuZGFyLnByb3RvdHlwZS5kYXlvZnllYXIKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxl
bmRhci5wcm90b3R5cGUuZGF5T2ZZZWFyIHdpbGwgdGFrZSBQbGFpbkRhdGUgb2JqZWN0IGFuZCBy
ZXR1cm4gdGhlIGRheSBvZiB5ZWFyLgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5k
YXIucHJvdG90eXBlLmRheU9mWWVhciB3aWxsIHRha2UgUGxhaW5EYXRlIG9iamVjdCBhbmQKKyAg
cmV0dXJuIHRoZSBkYXkgb2YgeWVhci4KIGluZm86IHwKICAgNS4gUmV0dXJuIPCdlL0oISBUb0lT
T0RheU9mWWVhcih0ZW1wb3JhbERhdGUuW1tJU09ZZWFyXV0sIHRlbXBvcmFsRGF0ZS5bW0lTT01v
bnRoXV0sIHRlbXBvcmFsRGF0ZS5bW0lTT0RheV1dKSkuCiBmZWF0dXJlczogW1RlbXBvcmFsXQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS9kYXlPZlllYXIvc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZlllYXIvc3RyaW5nLmpz
CmluZGV4IGI4YzA0NjY2ODQ0ZWZjZTZkZWJiNDJlZmIxMWNlMTRkOTZjYjJkZjAuLjVhMGJiYjU4
M2E1NmRkNzEzYmMwZGNlYWY5NzUyNDM5MTIyMDE4MDcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZZZWFy
L3N0cmluZy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci9zdHJpbmcuanMKQEAgLTIsNyArMiw5IEBACiAv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlw
ZS5kYXlvZnllYXIKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5
T2ZZZWFyIHdpbGwgdGFrZSBJU084NjAxIHN0cmluZyBhbmQgcmV0dXJuIHRoZSBkYXkgb2YgeWVh
ci4KK2Rlc2NyaXB0aW9uOiA+CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlPZlll
YXIgd2lsbCB0YWtlIElTTzg2MDEgc3RyaW5nIGFuZAorICByZXR1cm4gdGhlIGRheSBvZiB5ZWFy
LgogaW5mbzogfAogICA0LiBMZXQgdGVtcG9yYWxEYXRlIGJlID8gVG9UZW1wb3JhbERhdGUodGVt
cG9yYWxEYXRlTGlrZSkuCiAgIDUuIFJldHVybiDwnZS9KCEgVG9JU09EYXlPZlllYXIodGVtcG9y
YWxEYXRlLltbSVNPWWVhcl1dLCB0ZW1wb3JhbERhdGUuW1tJU09Nb250aF1dLCB0ZW1wb3JhbERh
dGUuW1tJU09EYXldXSkpLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlPZlllYXIvdGhyb3ctcmFuZ2UtZXJy
b3ItVG9UZW1wb3JhbERhdGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVhci90aHJvdy1yYW5nZS1lcnJvci1Ub1Rl
bXBvcmFsRGF0ZS5qcwppbmRleCA0MzYxZTEyZWRlYjkyYjAzMzQwYzM2YzZhOTVlNzljYzNhNjg5
N2VkLi5kNzIwYzhjNTJhOTNmMWM0NzA0OWE0YWQ4YWY5MDcyNGIyNzQ5Y2Q2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheU9mWWVhci90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBl
L2RheU9mWWVhci90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcwpAQCAtMiw3ICsy
LDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2FsZW5kYXIu
cHJvdG90eXBlLmRheU9mWWVhcgotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3Rv
dHlwZS5kYXlPZlllYXIgdGhyb3dzIFJhbmdlRXJyb3Igb24gVG9UZW1wb3JhbERhdGUgd2hlbiB0
ZW1wb3JhbERhdGVMaWtlIGlzIGludmFsaWQgc3RyaW5nLgorZGVzY3JpcHRpb246ID4KKyAgVGVt
cG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheU9mWWVhciB0aHJvd3MgUmFuZ2VFcnJvciBvbgor
ICBUb1RlbXBvcmFsRGF0ZSB3aGVuIHRlbXBvcmFsRGF0ZUxpa2UgaXMgaW52YWxpZCBzdHJpbmcu
CiBpbmZvOiB8CiAgIDQuIExldCB0ZW1wb3JhbERhdGUgYmUgPyBUb1RlbXBvcmFsRGF0ZSh0ZW1w
b3JhbERhdGVMaWtlKS4KIGZlYXR1cmVzOiBbVGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFy
L3Byb3RvdHlwZS9kYXlPZlllYXIvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxTbG90
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9kYXlPZlllYXIvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxTbG90Lmpz
CmluZGV4IGU0NDE5N2E5OWYwMjM2YzBiNzljNjNjZGZmYjFjMDRjNDYxMjg3YWUuLjVhMjBmYzI0
NTUwZDdlYzVhNTA4YTRjNWYyMTZlZThmZGU0ZTQxYjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5T2ZZZWFy
L3Rocm93LXR5cGUtZXJyb3ItUmVxdWlyZUludGVybmFsU2xvdC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheU9mWWVh
ci90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5hbFNsb3QuanMKQEAgLTIsNyArMiw5IEBA
CiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnByb3Rv
dHlwZS5kYXlPZlllYXIKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUu
ZGF5T2ZZZWFyIHRocm93cyBUeXBlRXJyb3Igd2hlbiB0aGUgaW50ZXJuYWwgbG90IGlzIG5vdCBw
cmVzZW50ZWQuCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUu
ZGF5T2ZZZWFyIHRocm93cyBUeXBlRXJyb3IKKyAgd2hlbiB0aGUgaW50ZXJuYWwgbG90IGlzIG5v
dCBwcmVzZW50ZWQuCiBpbmZvOiB8CiAgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90
KGNhbGVuZGFyLCBbW0luaXRpYWxpemVkVGVtcG9yYWxDYWxlbmRhcl1dKS4KIGZlYXR1cmVzOiBb
VGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC9wbGFp
bi1kYXRlLXRpbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3BsYWluLWRhdGUtdGltZS5qcwppbmRleCAx
NmJlMjViMjM1MTUyNWZmODk4ZDNjMDA1NDdmYTMwYzgzYmFkYWY5Li5kOGU5MDJjOGU2YzlhMzI3
MDhlN2Q0YmFkM2U2MDJmYWM5MGRmZmQxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3BsYWlu
LWRhdGUtdGltZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3BsYWluLWRhdGUtdGltZS5qcwpAQCAt
Miw3ICsyLDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2Fs
ZW5kYXIucHJvdG90eXBlLmRheXNpbm1vbnRoCi1kZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2FsZW5k
YXIucHJvdG90eXBlLmRheXNJbk1vbnRoIHdpbGwgdGFrZSBUZW1wb3JhbC5QbGFpbkRhdGVUaW1l
IG9iamVjdCBhbmQgcmV0dXJuIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGF0IG1vbnRoLgorZGVz
Y3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJbk1vbnRoIHdp
bGwgdGFrZSBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lIG9iamVjdAorICBhbmQgcmV0dXJuIHRoZSBu
dW1iZXIgb2YgZGF5cyBpbiB0aGF0IG1vbnRoLgogaW5mbzogfAogICA0LiBJZiBUeXBlKHRlbXBv
cmFsRGF0ZUxpa2UpIGlzIG5vdCBPYmplY3Qgb3IgdGVtcG9yYWxEYXRlTGlrZSBkb2VzIG5vdCBo
YXZlIGFuIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbERhdGVdXSBvciBbW0luaXRpYWxpemVkVGVtcG9y
YWxZZWFyTW9udGhdXSBpbnRlcm5hbCBzbG90cywgdGhlbgogICAgIGEuIFNldCB0ZW1wb3JhbERh
dGVMaWtlIHRvID8gVG9UZW1wb3JhbERhdGUodGVtcG9yYWxEYXRlTGlrZSkuCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90
eXBlL2RheXNJbk1vbnRoL3BsYWluLWRhdGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3BsYWluLWRhdGUu
anMKaW5kZXggNTkxMjFhNDJlYjRkZjFhODdmYzU5NzQ5OWU1M2QyYTQ2MWJjOGNiOC4uODZhOThk
MGVjY2E1NjRkYWE4MWFiNGU3N2U4YzA1MTFkM2ZmMDc2MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5N
b250aC9wbGFpbi1kYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luTW9udGgvcGxhaW4tZGF0ZS5qcwpAQCAt
Miw3ICsyLDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2Fs
ZW5kYXIucHJvdG90eXBlLmRheXNpbm1vbnRoCi1kZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2FsZW5k
YXIucHJvdG90eXBlLmRheXNJbk1vbnRoIHdpbGwgdGFrZSBUZW1wb3JhbC5QbGFpbkRhdGUgb2Jq
ZWN0IGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiBkYXlzIGluIHRoYXQgbW9udGguCitkZXNjcmlw
dGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5c0luTW9udGggd2lsbCB0
YWtlIFRlbXBvcmFsLlBsYWluRGF0ZSBvYmplY3QKKyAgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9m
IGRheXMgaW4gdGhhdCBtb250aC4KIGluZm86IHwKICAgNS4gUmV0dXJuIPCdlL0oISBJU09EYXlz
SW5Nb250aCh0ZW1wb3JhbERhdGVMaWtlLltbSVNPWWVhcl1dLCB0ZW1wb3JhbERhdGVMaWtlLltb
SVNPTW9udGhdXSkpLgogZmVhdHVyZXM6IFtUZW1wb3JhbF0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0lu
TW9udGgvc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC9zdHJpbmcuanMKaW5kZXggNWUwZGYzMGJi
MDAwMDFhYTQ4MGRkODA0OTA1YjdkMDQ4MTMxNGFlYi4uOWUyMWQ3OWI5ODA0NDU3NTZmOGI1YTU3
ZTIxMDQ3NTljNjI0Y2E0YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC9zdHJpbmcuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3Rv
dHlwZS9kYXlzSW5Nb250aC9zdHJpbmcuanMKQEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlwZS5kYXlzaW5tb250
aAotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5Nb250aCB3
aWxsIHRha2UgSVNPODYwMSBzdHJpbmcgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIGRheXMgaW4g
dGhhdCBtb250aC4KK2Rlc2NyaXB0aW9uOiA+CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlw
ZS5kYXlzSW5Nb250aCB3aWxsIHRha2UgSVNPODYwMSBzdHJpbmcKKyAgYW5kIHJldHVybiB0aGUg
bnVtYmVyIG9mIGRheXMgaW4gdGhhdCBtb250aC4KIGluZm86IHwKICAgNC4gSWYgVHlwZSh0ZW1w
b3JhbERhdGVMaWtlKSBpcyBub3QgT2JqZWN0IG9yIHRlbXBvcmFsRGF0ZUxpa2UgZG9lcyBub3Qg
aGF2ZQogICAgIGFuIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbERhdGVdXSBvciBbW0luaXRpYWxpemVk
VGVtcG9yYWxZZWFyTW9udGhdXSBpbnRlcm5hbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC90
aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luTW9udGgvdGhyb3ct
cmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMKaW5kZXggMTVkY2ZlN2RiOTIyN2MwYTFhMTVl
Y2Q5NWVmNDM3YTIzYzYxM2ZmNS4uNTM4ZmE5MjgzNmVjZjgwYTBjNDRhYWJjNjE1MGRjZTRiYmMy
MDkzMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBv
cmFsRGF0ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9y
YWxEYXRlLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6IHNl
Yy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5c0luTW9udGgKLWRlc2NyaXB0aW9uOiBU
ZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5c0luTW9udGggdGhyb3dzIFJhbmdlRXJyb3Ig
b24gVG9UZW1wb3JhbERhdGUgd2hlbiB0ZW1wb3JhbERhdGVMaWtlIGlzIGludmFsaWQgc3RyaW5n
LgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJbk1v
bnRoIHRocm93cyBSYW5nZUVycm9yIG9uCisgIFRvVGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9yYWxE
YXRlTGlrZSBpcyBpbnZhbGlkIHN0cmluZy4KIGluZm86IHwKICAgNC4gSWYgVHlwZSh0ZW1wb3Jh
bERhdGVMaWtlKSBpcyBub3QgT2JqZWN0IG9yIHRlbXBvcmFsRGF0ZUxpa2UgZG9lcyBub3QgaGF2
ZQogICAgIGFuIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbERhdGVdXSBvciBbW0luaXRpYWxpemVkVGVt
cG9yYWxZZWFyTW9udGhdXSBpbnRlcm5hbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Nb250aC90aHJv
dy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5hbFNsb3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3Rocm93
LXR5cGUtZXJyb3ItUmVxdWlyZUludGVybmFsU2xvdC5qcwppbmRleCBhNTFjM2QwNTM0MmI4ZTFk
NjI5ZmFjM2RiZTczMjA3ZjgyYWJkYTIxLi42ODcxODNhNjZiNWRhODUxOTA1NTczZmRkZDI5NzU5
MTU0ZmMyNTUyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3Rocm93LXR5cGUtZXJyb3ItUmVx
dWlyZUludGVybmFsU2xvdC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbk1vbnRoL3Rocm93LXR5cGUtZXJyb3It
UmVxdWlyZUludGVybmFsU2xvdC5qcwpAQCAtMiw3ICsyLDkgQEAKIC8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8q
LS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2FsZW5kYXIucHJvdG90eXBlLmRheXNJbk1vbnRoCi1k
ZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJbk1vbnRoIHRocm93
cyBUeXBlRXJyb3Igd2hlbiB0aGUgaW50ZXJuYWwgbG90IGlzIG5vdCBwcmVzZW50ZWQuCitkZXNj
cmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZGF5c0luTW9udGggdGhy
b3dzIFR5cGVFcnJvcgorICB3aGVuIHRoZSBpbnRlcm5hbCBsb3QgaXMgbm90IHByZXNlbnRlZC4K
IGluZm86IHwKICAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoY2FsZW5kYXIsIFtb
SW5pdGlhbGl6ZWRUZW1wb3JhbENhbGVuZGFyXV0pLgogZmVhdHVyZXM6IFtUZW1wb3JhbCwgYXJy
b3ctZnVuY3Rpb25dCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbldlZWsvc3RyaW5nLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlz
SW5XZWVrL3N0cmluZy5qcwppbmRleCBjN2I1NzFjNDdmN2ZhNTA5MGQyNzQ4NGY1NWFiY2JmODg0
MGRkOGYzLi5iZGNhNzM5Y2M4Njk1YzNjYWQwZDM5YmIxZTYyZDRkN2YwY2M4MzAwIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJv
dG90eXBlL2RheXNJbldlZWsvc3RyaW5nLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luV2Vlay9zdHJpbmcuanMK
QEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFs
LmNhbGVuZGFyLnByb3RvdHlwZS5kYXlzaW53ZWVrcwotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNh
bGVuZGFyLnByb3RvdHlwZS5kYXlzSW5XZWVrIHdpbGwgdGFrZSB2YWxpZCBJU084NjAxIHN0cmlu
ZyBhbmQgcmV0dXJuIDcuCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90
b3R5cGUuZGF5c0luV2VlayB3aWxsIHRha2UgdmFsaWQgSVNPODYwMSBzdHJpbmcKKyAgYW5kIHJl
dHVybiA3LgogaW5mbzogfAogICA0LiBQZXJmb3JtID8gVG9UZW1wb3JhbERhdGUodGVtcG9yYWxE
YXRlTGlrZSkuCiAgIDUuIFJldHVybiA38J2UvS4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luV2Vlay90
aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luV2Vlay90aHJvdy1y
YW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcwppbmRleCA4NWY4MDdkMGU2Y2U5YzlhZTJmODM2
ZGRmYWQ5NWYyMzBlOGUzZmQ5Li44ZWFiNDE3ZjgwZTM5YmVkOTEzZjNiOGE1NDkwMDRkYTBkYWZj
Yzk3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbldlZWsvdGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3Jh
bERhdGUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5XZWVrL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxE
YXRlLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6IHNlYy10
ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5c0luV2VlawotZGVzY3JpcHRpb246IFRlbXBv
cmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5XZWVrIHRocm93cyBSYW5nZUVycm9yIG9uIFRv
VGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9yYWxEYXRlTGlrZSBpcyBpbnZhbGlkIHN0cmluZy4KK2Rl
c2NyaXB0aW9uOiA+CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5XZWVrIHRo
cm93cyBSYW5nZUVycm9yIG9uCisgIFRvVGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9yYWxEYXRlTGlr
ZSBpcyBpbnZhbGlkIHN0cmluZy4KIGluZm86IHwKICAgNC4gTGV0IHRlbXBvcmFsRGF0ZSBiZSA/
IFRvVGVtcG9yYWxEYXRlKHRlbXBvcmFsRGF0ZUxpa2UpLgogZmVhdHVyZXM6IFtUZW1wb3JhbCwg
YXJyb3ctZnVuY3Rpb25dCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJbldlZWsvdGhyb3ctdHlwZS1lcnJv
ci1SZXF1aXJlSW50ZXJuYWxTbG90LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5XZWVrL3Rocm93LXR5cGUtZXJyb3It
UmVxdWlyZUludGVybmFsU2xvdC5qcwppbmRleCAzNTllZjI0ZjkzNWI2NTI2YzlmNGExMzNiMGRk
ZDk3OTRmNmY2MDE4Li4xMzgwOWQwOTEyOGFmOGJhZWY1MTdjODVmZjdlMTQyNzhlNDUzYmQ1IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL2RheXNJbldlZWsvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxT
bG90LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF5c0luV2Vlay90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5h
bFNsb3QuanMKQEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2Vj
LXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5XZWVrCi1kZXNjcmlwdGlvbjogVGVt
cG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJbldlZWsgdGhyb3dzIFR5cGVFcnJvciB3aGVu
IHRoZSBpbnRlcm5hbCBsb3QgaXMgbm90IHByZXNlbnRlZC4KK2Rlc2NyaXB0aW9uOiA+CisgIFRl
bXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5XZWVrIHRocm93cyBUeXBlRXJyb3IKKyAg
d2hlbiB0aGUgaW50ZXJuYWwgbG90IGlzIG5vdCBwcmVzZW50ZWQuCiBpbmZvOiB8CiAgIDIuIFBl
cmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KGNhbGVuZGFyLCBbW0luaXRpYWxpemVkVGVtcG9y
YWxDYWxlbmRhcl1dKS4KIGZlYXR1cmVzOiBbVGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFy
L3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3BsYWluLWRhdGUtdGltZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luWWVhci9w
bGFpbi1kYXRlLXRpbWUuanMKaW5kZXggNjQ1NTQ1YmIzZjg1MTcyYzMyNzYyNWJhY2QwYmQwMTcy
ZTYyNTYyMS4uYWM2N2Q4YzkyNjhlN2QyOWE3YTYyZjg1YTA3Y2Y3ZmQ2MzlkMTFiZSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9kYXlzSW5ZZWFyL3BsYWluLWRhdGUtdGltZS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIv
cGxhaW4tZGF0ZS10aW1lLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0K
IGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5c2lueWVhcgotZGVzY3Jp
cHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5ZZWFyIHdpbGwgdGFrZSBQ
bGFpbkRhdGVUaW1lIGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiBkYXlzIGluIGEgeWVhci4KK2Rl
c2NyaXB0aW9uOiA+CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5ZZWFyIHdp
bGwgdGFrZSBQbGFpbkRhdGVUaW1lIGFuZCByZXR1cm4KKyAgdGhlIG51bWJlciBvZiBkYXlzIGlu
IGEgeWVhci4KIGluZm86IHwKICAgNC4gSWYgVHlwZSh0ZW1wb3JhbERhdGVMaWtlKSBpcyBub3Qg
T2JqZWN0IG9yIHRlbXBvcmFsRGF0ZUxpa2UgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxpemVk
VGVtcG9yYWxEYXRlXV0gb3IgW1tJbml0aWFsaXplZFRlbXBvcmFsWWVhck1vbnRoXV0gaW50ZXJu
YWwgc2xvdCwgdGhlbgogICAgIGEuIFNldCB0ZW1wb3JhbERhdGVMaWtlIHRvID8gVG9UZW1wb3Jh
bERhdGUodGVtcG9yYWxEYXRlTGlrZSkuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvcGxhaW4t
ZGF0ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRh
ci9wcm90b3R5cGUvZGF5c0luWWVhci9wbGFpbi1kYXRlLmpzCmluZGV4IDliOGJmOWE3ZTBlOGFl
Y2I5MDk1MDdjYjczMjQyNDgyNGNmZTU0ODguLjBjZjc2YjhjMmRlYzc2M2Q0Nzc1YjUzYTM1MjE1
ZDVkZDFmY2FmZmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luWWVhci9wbGFpbi1kYXRlLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvZGF5c0luWWVhci9wbGFpbi1kYXRlLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZGF5c2lueWVh
cgotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5ZZWFyIHdp
bGwgdGFrZSBQbGFpbkRhdGUgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIGRheXMgaW4gYSB5ZWFy
LgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJblll
YXIgd2lsbCB0YWtlIFBsYWluRGF0ZSBhbmQgcmV0dXJuCisgIHRoZSBudW1iZXIgb2YgZGF5cyBp
biBhIHllYXIuCiBpbmZvOiB8CiAgIDUuIFJldHVybiDwnZS9KCEgSVNPRGF5c0luWWVhcih0ZW1w
b3JhbERhdGVMaWtlLltbSVNPWWVhcl1dKSkuCiBmZWF0dXJlczogW1RlbXBvcmFsXQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9kYXlzSW5ZZWFyL3N0cmluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luWWVhci9zdHJpbmcuanMKaW5k
ZXggNDg0MjI5NjE0NjlmNDRjMDY0Mzg3NGZhZGU1OThiOGJlNzJmODIwNC4uMzliN2FlMmNlMWY3
OGU0MzZjM2M2OTM5NjFjNzM1ZmUxZTk5OTA2NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3N0
cmluZy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2Fs
ZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvc3RyaW5nLmpzCkBAIC0yLDcgKzIsOSBAQAogLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUu
ZGF5c2lueWVhcgotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlz
SW5ZZWFyIHdpbGwgdGFrZSBQbGFpbkRhdGUgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIGRheXMg
aW4gYSB5ZWFyLgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBl
LmRheXNJblllYXIgd2lsbCB0YWtlIFBsYWluRGF0ZSBhbmQgcmV0dXJuCisgIHRoZSBudW1iZXIg
b2YgZGF5cyBpbiBhIHllYXIuCiBpbmZvOiB8CiAgIDQuIElmIFR5cGUodGVtcG9yYWxEYXRlTGlr
ZSkgaXMgbm90IE9iamVjdCBvciB0ZW1wb3JhbERhdGVMaWtlIGRvZXMgbm90IGhhdmUgYW4gW1tJ
bml0aWFsaXplZFRlbXBvcmFsRGF0ZV1dIG9yIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbFllYXJNb250
aF1dIGludGVybmFsIHNsb3QsIHRoZW4KICAgICBhLiBTZXQgdGVtcG9yYWxEYXRlTGlrZSB0byA/
IFRvVGVtcG9yYWxEYXRlKHRlbXBvcmFsRGF0ZUxpa2UpLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5Z
ZWFyL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3Ro
cm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCmluZGV4IDY3MzIwY2ZjYzVmZWNiMWI5
ZjA4MmUwNzRkYzEwZjNkMTZhZmI3ZjkuLjliOWY3NTViY2UzZWMyYmRmOGNiOTFkYTk5YTBkMDlh
OWEyNTM0YzAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZGF5c0luWWVhci90aHJvdy1yYW5nZS1lcnJvci1Ub1Rl
bXBvcmFsRGF0ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvdGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1w
b3JhbERhdGUuanMKQEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDog
c2VjLXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5ZZWFyCi1kZXNjcmlwdGlvbjog
VGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJblllYXIgdGhyb3dzIFJhbmdlRXJyb3Ig
b24gVG9UZW1wb3JhbERhdGUgd2hlbiB0ZW1wb3JhbERhdGVMaWtlIGlzIGludmFsaWQgc3RyaW5n
LgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJblll
YXIgdGhyb3dzIFJhbmdlRXJyb3Igb24KKyAgVG9UZW1wb3JhbERhdGUgd2hlbiB0ZW1wb3JhbERh
dGVMaWtlIGlzIGludmFsaWQgc3RyaW5nLgogaW5mbzogfAogICA0LiBJZiBUeXBlKHRlbXBvcmFs
RGF0ZUxpa2UpIGlzIG5vdCBPYmplY3Qgb3IgdGVtcG9yYWxEYXRlTGlrZSBkb2VzCiAgICAgbm90
IGhhdmUgYW4gW1tJbml0aWFsaXplZFRlbXBvcmFsRGF0ZV1dIG9yIFtbSW5pdGlhbGl6ZWRUZW1w
b3JhbFllYXJNb250aF1dCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2RheXNJblllYXIvdGhyb3ctdHlwZS1lcnJv
ci1SZXF1aXJlSW50ZXJuYWxTbG90LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9kYXlzSW5ZZWFyL3Rocm93LXR5cGUtZXJyb3It
UmVxdWlyZUludGVybmFsU2xvdC5qcwppbmRleCA4YzE3ZmMyMjQzNGExMGNkNzhiNzU2ZjFmYzU2
OWVkYTAyZDcwZTRmLi4wYTQ3NGQ1MmY1NGQ5NGY0Yjc3NTRlMjJjNzg5MWE0NTYxNmVhMTJmIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL2RheXNJblllYXIvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxT
bG90LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvZGF5c0luWWVhci90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5h
bFNsb3QuanMKQEAgLTIsNyArMiw5IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2Vj
LXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5ZZWFyCi1kZXNjcmlwdGlvbjogVGVt
cG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLmRheXNJblllYXIgdGhyb3dzIFR5cGVFcnJvciB3aGVu
IHRoZSBpbnRlcm5hbCBsb3QgaXMgbm90IHByZXNlbnRlZC4KK2Rlc2NyaXB0aW9uOiA+CisgIFRl
bXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5kYXlzSW5ZZWFyIHRocm93cyBUeXBlRXJyb3IKKyAg
d2hlbiB0aGUgaW50ZXJuYWwgbG90IGlzIG5vdCBwcmVzZW50ZWQuCiBpbmZvOiB8CiAgIDIuIFBl
cmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KGNhbGVuZGFyLCBbW0luaXRpYWxpemVkVGVtcG9y
YWxDYWxlbmRhcl1dKS4KIGZlYXR1cmVzOiBbVGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFy
L3Byb3RvdHlwZS9lcmEvYnJhbmRpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjhiNWVkMjE0YzgzYzIwZDRmNDAyOTRjOTc3ZjU2NDVmOTBl
NzAwYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2Vy
YS9icmFuZGluZy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotLyotLS0KLWVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUuZXJhCi1k
ZXNjcmlwdGlvbjogVGhyb3cgYSBUeXBlRXJyb3IgaWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQK
LWZlYXR1cmVzOiBbU3ltYm9sLCBUZW1wb3JhbF0KLS0tLSovCi0KLWNvbnN0IGVyYSA9IFRlbXBv
cmFsLkNhbGVuZGFyLnByb3RvdHlwZS5lcmE7Ci0KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIGVy
YSwgImZ1bmN0aW9uIik7Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2Fs
bCh1bmRlZmluZWQpLCAidW5kZWZpbmVkIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gZXJhLmNhbGwobnVsbCksICJudWxsIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gZXJhLmNhbGwodHJ1ZSksICJ0cnVlIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gZXJhLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5nIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4gZXJhLmNhbGwoU3ltYm9sKCkpLCAic3ltYm9sIik7Ci1hc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoMSksICIxIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4gZXJhLmNhbGwoe30pLCAicGxhaW4gb2JqZWN0Iik7Ci1hc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9yYWwuQ2FsZW5kYXIpLCAiVGVtcG9yYWwuQ2Fs
ZW5kYXIiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbChUZW1wb3Jh
bC5DYWxlbmRhci5wcm90b3R5cGUpLCAiVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlIik7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiZDljMzEzZmY2MTcxMmI1YWZmYTkzNjYw
M2Y4NDNiNDFiYjBlNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnBy
b3RvdHlwZS5lcmF5ZWFyCi1kZXNjcmlwdGlvbjogVGhyb3cgYSBUeXBlRXJyb3IgaWYgdGhlIHJl
Y2VpdmVyIGlzIGludmFsaWQKLWZlYXR1cmVzOiBbU3ltYm9sLCBUZW1wb3JhbF0KLS0tLSovCi0K
LWNvbnN0IGVyYVllYXIgPSBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUuZXJhWWVhcjsKLQot
YXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZXJhWWVhciwgImZ1bmN0aW9uIik7Ci0KLWFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwodW5kZWZpbmVkKSwgInVuZGVmaW5l
ZCIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbChudWxsKSwg
Im51bGwiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwodHJ1
ZSksICJ0cnVlIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxs
KCIiKSwgImVtcHR5IHN0cmluZyIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVy
YVllYXIuY2FsbChTeW1ib2woKSksICJzeW1ib2wiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiBlcmFZZWFyLmNhbGwoMSksICIxIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4gZXJhWWVhci5jYWxsKHt9KSwgInBsYWluIG9iamVjdCIpOwotYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbChUZW1wb3JhbC5DYWxlbmRhciksICJUZW1wb3Jh
bC5DYWxlbmRhciIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2Fs
bChUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUpLCAiVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90
eXBlIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoL2RhdGUtdGltZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvZGF0ZS10
aW1lLmpzCmluZGV4IGQ1NzIyOWI5ZjdhNGJkNmJkNDE1MDdlZGMwYTZkOGNhYjg4YTg2ZDMuLmE4
ZjY1YTYxYmEwOGNmODRmYjUyZWQ4NWRhNWI0NGJkY2E2OGExOTggMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9u
dGgvZGF0ZS10aW1lLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvZGF0ZS10aW1lLmpzCkBAIC0zLDcgKzMsOSBA
QAogCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlwZS5tb250aAot
ZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5tb250aCB3aWxsIHRha2Ug
UGxhaW5EYXRlVGltZSBhbmQgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGguCitkZXNjcmlw
dGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUubW9udGggd2lsbCB0YWtlIFBs
YWluRGF0ZVRpbWUgYW5kIHJldHVybgorICB0aGUgdmFsdWUgb2YgdGhlIG1vbnRoLgogaW5mbzog
fAogICA1LiBJZiBUeXBlKHRlbXBvcmFsRGF0ZUxpa2UpIGlzIG5vdCBPYmplY3Qgb3IgdGVtcG9y
YWxEYXRlTGlrZSBkb2VzIG5vdCBoYXZlCiAgICAgYW4gW1tJbml0aWFsaXplZFRlbXBvcmFsRGF0
ZV1dIG9yIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbFllYXJNb250aF1dCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21v
bnRoL2RhdGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2Fs
ZW5kYXIvcHJvdG90eXBlL21vbnRoL2RhdGUuanMKaW5kZXggYzAyY2Q4OTRkZjRkYzgxMjgxNWU0
ZjNjZDIxMzA0NWM3NWJmNjRiMC4uODBlOTRhMjRkMDdhZTA1MTMzN2Q1YWE3Mzc5MDI0ZTcwM2Q3
YjVhNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC9kYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvZGF0ZS5qcwpA
QCAtMyw3ICszLDkgQEAKIAogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90
b3R5cGUubW9udGgKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUubW9u
dGggd2lsbCB0YWtlIFBsYWluRGF0ZSBhbmQgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGgu
CitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUubW9udGggd2ls
bCB0YWtlIFBsYWluRGF0ZSBhbmQgcmV0dXJuCisgIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGguCiBp
bmZvOiB8CiAgIDEuIExldCBjYWxlbmRhciBiZSB0aGUgdGhpcyB2YWx1ZS4KICAgMi4gUGVyZm9y
bSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoY2FsZW5kYXIsIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbENh
bGVuZGFyXV0pLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC9tb250aC1kYXktdGhyb3ctdHlwZS1lcnJv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9w
cm90b3R5cGUvbW9udGgvbW9udGgtZGF5LXRocm93LXR5cGUtZXJyb3IuanMKaW5kZXggNmMxYmZj
ZDJhMTRlMDQ5MjczNmYzNDc1NzNjYWY4NGUzZDc4YzMyYy4uMzQyMjBjYjIyZDQwNzc0YjZkNjUw
YjhhNWU0MjBlZWJhN2YzOTE2YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC9tb250aC1kYXktdGhyb3ct
dHlwZS1lcnJvci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9y
YWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoL21vbnRoLWRheS10aHJvdy10eXBlLWVycm9yLmpz
CkBAIC0zLDcgKzMsMTAgQEAKIAogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5w
cm90b3R5cGUubW9udGgKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUu
bW9udGggdGhyb3dzIFR5cGVFcnJvciBpZiB0ZW1wb3JhbERhdGVMaWtlIGlzIGEgUGxhaW5Nb250
aERheSBvYmplY3QuIFRvVGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9yYWxEYXRlTGlrZSBpcyBpbnZh
bGlkIHN0cmluZy4KK2Rlc2NyaXB0aW9uOiA+CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlw
ZS5tb250aCB0aHJvd3MgVHlwZUVycm9yIGlmIHRlbXBvcmFsRGF0ZUxpa2UKKyAgaXMgYSBQbGFp
bk1vbnRoRGF5IG9iamVjdC4KKyAgVG9UZW1wb3JhbERhdGUgd2hlbiB0ZW1wb3JhbERhdGVMaWtl
IGlzIGludmFsaWQgc3RyaW5nLgogaW5mbzogfAogICA0LiBJZiBUeXBlKHRlbXBvcmFsRGF0ZUxp
a2UpIGlzIE9iamVjdCBhbmQgdGVtcG9yYWxEYXRlTGlrZSBoYXMgYW4KICAgICBbW0luaXRpYWxp
emVkVGVtcG9yYWxNb250aERheV1dIGludGVybmFsIHNsb3QsIHRoZW4KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUv
bW9udGgvc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC9zdHJpbmcuanMKaW5kZXggMWE2MDZlNTk2YTVhYmJk
MmYwNjNkYWYxYTVhNjhkMmRlYjRjYTFiMS4uN2E4MDUwZDMxOWVmY2U2N2VhMTNiNjRlODkxMGQ2
NTY4MTI1MDg3ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC9zdHJpbmcuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC9z
dHJpbmcuanMKQEAgLTMsNyArMyw5IEBACiAKIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2Fs
ZW5kYXIucHJvdG90eXBlLm1vbnRoCi1kZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2FsZW5kYXIucHJv
dG90eXBlLm1vbnRoIHdpbGwgdGFrZSBJU084NjAxIHN0cmluZyBhbmQgcmV0dXJuIHRoZSB2YWx1
ZSBvZiB0aGUgbW9udGguCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90
b3R5cGUubW9udGggd2lsbCB0YWtlIElTTzg2MDEgc3RyaW5nIGFuZCByZXR1cm4KKyAgdGhlIHZh
bHVlIG9mIHRoZSBtb250aC4KIGluZm86IHwKICAgNS4gSWYgVHlwZSh0ZW1wb3JhbERhdGVMaWtl
KSBpcyBub3QgT2JqZWN0IG9yIHRlbXBvcmFsRGF0ZUxpa2UgZG9lcyBub3QgaGF2ZQogICAgIGFu
IFtbSW5pdGlhbGl6ZWRUZW1wb3JhbERhdGVdXSBvciBbW0luaXRpYWxpemVkVGVtcG9yYWxZZWFy
TW9udGhdXSBpbnRlcm5hbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC90aHJvdy1yYW5nZS1lcnJvci1U
b1RlbXBvcmFsRGF0ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgvdGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERh
dGUuanMKaW5kZXggNTIwN2QxYzY5YmNiMzA5NzczZGFjOTQ5NTUzMzM4MDM3NDJjOTIzNS4uN2I1
ZGQwMGVhNWQyZTg3MTJjODAyYTdlZDk5MWEwNDkyYWM0OTUyMCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250
aC90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoL3Rocm93
LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCkBAIC0zLDcgKzMsOSBAQAogCiAvKi0tLQog
ZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFyLnByb3RvdHlwZS5tb250aAotZGVzY3JpcHRpb246
IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5tb250aCB0aHJvd3MgUmFuZ2VFcnJvciBvbiBU
b1RlbXBvcmFsRGF0ZSB3aGVuIHRlbXBvcmFsRGF0ZUxpa2UgaXMgaW52YWxpZCBzdHJpbmcuCitk
ZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUubW9udGggdGhyb3dz
IFJhbmdlRXJyb3Igb24KKyAgVG9UZW1wb3JhbERhdGUgd2hlbiB0ZW1wb3JhbERhdGVMaWtlIGlz
IGludmFsaWQgc3RyaW5nLgogaW5mbzogfAogICA1LiBJZiBUeXBlKHRlbXBvcmFsRGF0ZUxpa2Up
IGlzIG5vdCBPYmplY3Qgb3IgdGVtcG9yYWxEYXRlTGlrZQogICAgICBkb2VzIG5vdCBoYXZlIGFu
IFtbSW5pdGlhbGl6ZWRUZW1wb3JhbERhdGVdXSBvcgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aC95ZWFy
LW1vbnRoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS9tb250aC95ZWFyLW1vbnRoLmpzCmluZGV4IDM1NDA5YWFjYzA0NmJkMWE1
MjQxOTI0MmIzMGFjZjJkZTk2NzRmYmIuLjZjZGMwZWE3MzJjMTQ1MDE4MGVjOTQzNTU2MDFiMmRh
YTQyNDJmYmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGgveWVhci1tb250aC5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRo
L3llYXItbW9udGguanMKQEAgLTMsNyArMyw5IEBACiAKIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9y
YWwuY2FsZW5kYXIucHJvdG90eXBlLm1vbnRoCi1kZXNjcmlwdGlvbjogVGVtcG9yYWwuQ2FsZW5k
YXIucHJvdG90eXBlLm1vbnRoIHdpbGwgdGFrZSBQbGFpblllYXJNb250aCBhbmQgcmV0dXJuIHRo
ZSB2YWx1ZSBvZiB0aGUgbW9udGguCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRh
ci5wcm90b3R5cGUubW9udGggd2lsbCB0YWtlIFBsYWluWWVhck1vbnRoIGFuZCByZXR1cm4KKyAg
dGhlIHZhbHVlIG9mIHRoZSBtb250aC4KIGluZm86IHwKICAgNi4gUmV0dXJuICEgSVNPTW9udGgo
dGVtcG9yYWxEYXRlTGlrZSkuCiBmZWF0dXJlczogW1RlbXBvcmFsXQpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9t
b250aENvZGUvZGF0ZS10aW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUvZGF0ZS10aW1lLmpzCmluZGV4IGMy
MTdjZjc5YTZjZmQwNTY1MWY4ZjMyZDE2YmMzYTNhNDMwYjI5YTEuLmVmNjlkOTI5YTUzNGRkZjBm
MTVkNWNkZDQ1OWU1MTU0NTMxZjlmOTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL2RhdGUtdGlt
ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL21vbnRoQ29kZS9kYXRlLXRpbWUuanMKQEAgLTMsNyArMyw5IEBACiAKIC8q
LS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2FsZW5kYXIucHJvdG90eXBlLm1vbnRoQ29kZQotZGVz
Y3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5tb250aCB3aWxsIHRha2UgUGxh
aW5EYXRlVGltZSBhbmQgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGhDb2RlLgorZGVzY3Jp
cHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLm1vbnRoIHdpbGwgdGFrZSBQ
bGFpbkRhdGVUaW1lIGFuZCByZXR1cm4KKyAgdGhlIHZhbHVlIG9mIHRoZSBtb250aENvZGUuCiBp
bmZvOiB8CiAgIDYuIFJldHVybiAhIElTT01vbnRoQ29kZSh0ZW1wb3JhbERhdGVMaWtlKS4KIGZl
YXR1cmVzOiBbVGVtcG9yYWxdCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29kZS9kYXRlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9t
b250aENvZGUvZGF0ZS5qcwppbmRleCBlNjllOWQ2YTZmNmIyOTY5NWIwOTRjNjJlODJiZWFkNGMw
ZmQzYTYzLi40ODBhOGVhYTFhNjE0ZjBmMzNlMDdiNDk1N2MxZWE3MmNhMjI3ZjdiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJv
dG90eXBlL21vbnRoQ29kZS9kYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL2RhdGUuanMKQEAgLTMs
NyArMyw5IEBACiAKIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2FsZW5kYXIucHJvdG90eXBl
Lm1vbnRoQ29kZQotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5tb250
aENvZGUgd2lsbCB0YWtlIFBsYWluRGF0ZSBhbmQgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgbW9u
dGhDb2RlLgorZGVzY3JpcHRpb246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLm1v
bnRoQ29kZSB3aWxsIHRha2UgUGxhaW5EYXRlIGFuZCByZXR1cm4KKyAgdGhlIHZhbHVlIG9mIHRo
ZSBtb250aENvZGUuCiBpbmZvOiB8CiAgIDUuIFJldHVybiAhIElTT01vbnRoQ29kZSh0ZW1wb3Jh
bERhdGVMaWtlKS4KIGZlYXR1cmVzOiBbVGVtcG9yYWxdCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29k
ZS9tb250aC1kYXkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Q2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29kZS9tb250aC1kYXkuanMKaW5kZXggODAxOTMwMzVi
ZmRmNWJjYWRjZWQ2OTMzMWJiZWVjN2NmZDUzNTA4YS4uOWY5YzIxY2Q2ZjBiNTcwNWI5YjIyMDc5
YzRhZjZlMDZjYTc3NDM3YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUvbW9udGgtZGF5LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90
b3R5cGUvbW9udGhDb2RlL21vbnRoLWRheS5qcwpAQCAtMyw3ICszLDkgQEAKIAogLyotLS0KIGVz
aWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUubW9udGhDb2RlCi1kZXNjcmlwdGlv
bjogVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLm1vbnRoQ29kZSB3aWxsIHRha2UgUGxhaW5N
b250aERheSBhbmQgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGhDb2RlLgorZGVzY3JpcHRp
b246ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLm1vbnRoQ29kZSB3aWxsIHRha2Ug
UGxhaW5Nb250aERheSBhbmQgcmV0dXJuCisgIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGhDb2RlLgog
aW5mbzogfAogICA2LiBSZXR1cm4gISBJU09Nb250aENvZGUodGVtcG9yYWxEYXRlTGlrZSkuCiBm
ZWF0dXJlczogW1RlbXBvcmFsXQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUvc3RyaW5nLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlw
ZS9tb250aENvZGUvc3RyaW5nLmpzCmluZGV4IDcyODczODY2ZDBlMWJmNDE4MGQ4MzVlMTY1MDZh
MmIzOWY1NWYzYmIuLjE1YmQ4NjM3NmM0MGI2NmZjMjM1MWE5MmMwNmFhMWFjOWNkYzBkMzggMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRh
ci9wcm90b3R5cGUvbW9udGhDb2RlL3N0cmluZy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29kZS9zdHJpbmcu
anMKQEAgLTMsNyArMyw5IEBACiAKIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2FsZW5kYXIu
cHJvdG90eXBlLm1vbnRoQ29kZQotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3Rv
dHlwZS5tb250aENvZGUgd2lsbCB0YWtlIElTTzg2MDEgc3RyaW5nIGFuZCByZXR1cm4gdGhlIHZh
bHVlIG9mIHRoZSBtb250aENvZGUuCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRh
ci5wcm90b3R5cGUubW9udGhDb2RlIHdpbGwgdGFrZSBJU084NjAxIHN0cmluZyBhbmQgcmV0dXJu
CisgIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGhDb2RlLgogaW5mbzogfAogICA1LiBJZiBUeXBlKHRl
bXBvcmFsRGF0ZUxpa2UpIGlzIG5vdCBPYmplY3Qgb3IgdGVtcG9yYWxEYXRlTGlrZSBkb2VzIG5v
dCBoYXZlCiAgICAgYW4gW1tJbml0aWFsaXplZFRlbXBvcmFsRGF0ZV1dIG9yIFtbSW5pdGlhbGl6
ZWRUZW1wb3JhbFllYXJNb250aF1dIGludGVybmFsCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29kZS90
aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFsRGF0ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL3Rocm93LXJh
bmdlLWVycm9yLVRvVGVtcG9yYWxEYXRlLmpzCmluZGV4IDkxNzBiYjRiMDRhODM0NzdiMTk3MWVj
YmE2MTQ5ZWNkMzc2MmM3OWIuLjI1Y2I1ZTM4ZDNlMmVjMDkxZGY2NWJhNWJiNDU5ZWI0YjgzZTlh
NjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9D
YWxlbmRhci9wcm90b3R5cGUvbW9udGhDb2RlL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxE
YXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxl
bmRhci9wcm90b3R5cGUvbW9udGhDb2RlL3Rocm93LXJhbmdlLWVycm9yLVRvVGVtcG9yYWxEYXRl
LmpzCkBAIC0zLDcgKzMsOSBAQAogCiAvKi0tLQogZXNpZDogc2VjLXRlbXBvcmFsLmNhbGVuZGFy
LnByb3RvdHlwZS5tb250aENvZGUKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90
b3R5cGUubW9udGhDb2RlIHRocm93cyBSYW5nZUVycm9yIG9uIFRvVGVtcG9yYWxEYXRlIHdoZW4g
dGVtcG9yYWxEYXRlTGlrZSBpcyBpbnZhbGlkIHN0cmluZy4KK2Rlc2NyaXB0aW9uOiA+CisgIFRl
bXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5tb250aENvZGUgdGhyb3dzIFJhbmdlRXJyb3Igb24K
KyAgVG9UZW1wb3JhbERhdGUgd2hlbiB0ZW1wb3JhbERhdGVMaWtlIGlzIGludmFsaWQgc3RyaW5n
LgogaW5mbzogfAogICA0LiBJZiBUeXBlKHRlbXBvcmFsRGF0ZUxpa2UpIGlzIG5vdCBPYmplY3Qg
b3IgdGVtcG9yYWxEYXRlTGlrZQogICAgICBkb2VzIG5vdCBoYXZlIGFuIFtbSW5pdGlhbGl6ZWRU
ZW1wb3JhbERhdGVdXSBvcgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUveWVhci1tb250aC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvbW9udGhDb2RlL3llYXItbW9udGguanMKaW5kZXggNjc1ZGU5MzAyMGU0YjhkMzJiM2MzMTRl
YjkyMGZiMzNiNjc0N2MzOC4uOWZhY2U5MjRkMzNmNzUwYmQ2ZDRmYzhjNDkwMTlkYjgxYjdlZjVl
NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0Nh
bGVuZGFyL3Byb3RvdHlwZS9tb250aENvZGUveWVhci1tb250aC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL21vbnRoQ29k
ZS95ZWFyLW1vbnRoLmpzCkBAIC0zLDcgKzMsOSBAQAogCiAvKi0tLQogZXNpZDogc2VjLXRlbXBv
cmFsLmNhbGVuZGFyLnByb3RvdHlwZS5tb250aENvZGUKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5D
YWxlbmRhci5wcm90b3R5cGUubW9udGhDb2RlIHdpbGwgdGFrZSBQbGFpblllYXJNb250aCBhbmQg
cmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgbW9udGhDb2RlLgorZGVzY3JpcHRpb246ID4KKyAgVGVt
cG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLm1vbnRoQ29kZSB3aWxsIHRha2UgUGxhaW5ZZWFyTW9u
dGggYW5kIHJldHVybgorICB0aGUgdmFsdWUgb2YgdGhlIG1vbnRoQ29kZS4KIGluZm86IHwKICAg
Ni4gUmV0dXJuICEgSVNPTW9udGhDb2RlKHRlbXBvcmFsRGF0ZUxpa2UpLgogZmVhdHVyZXM6IFtU
ZW1wb3JhbF0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci9kYXRlLXRpbWUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3llYXIvZGF0ZS10
aW1lLmpzCmluZGV4IDYxOTVmZThjZGQzYTUwOGE2ZGVjNmM0OGJkOGZlYTY1YTI2YzEzNTkuLmQ2
ZGQzMGFmZTY1NjkzNTdlM2Q5NmVmY2YyYzYwNGViYTFhM2E4OWUgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVh
ci9kYXRlLXRpbWUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL2RhdGUtdGltZS5qcwpAQCAtMyw3ICszLDkgQEAK
IAogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUueWVhcgotZGVz
Y3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS55ZWFyIHdpbGwgdGFrZSBQbGFp
bkRhdGVUaW1lIGFuZCByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSB5ZWFyLgorZGVzY3JpcHRpb246
ID4KKyAgVGVtcG9yYWwuQ2FsZW5kYXIucHJvdG90eXBlLnllYXIgd2lsbCB0YWtlIFBsYWluRGF0
ZVRpbWUgYW5kIHJldHVybgorICB0aGUgdmFsdWUgb2YgdGhlIHllYXIuCiBpbmZvOiB8CiAgIDEu
IExldCBjYWxlbmRhciBiZSB0aGUgdGhpcyB2YWx1ZS4KICAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJ
bnRlcm5hbFNsb3QoY2FsZW5kYXIsIFtbSW5pdGlhbGl6ZWRUZW1wb3JhbENhbGVuZGFyXV0pLgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVu
ZGFyL3Byb3RvdHlwZS95ZWFyL2RhdGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3llYXIvZGF0ZS5qcwppbmRleCBiMmIxODBi
MDY4ZTlhYzhkOTVkYWI5MmZhMDNhNjNkYzAyZTI3MmEzLi44NTdkMjJiM2E4OTRlYjIzZWE3MGU3
MGIyODY1Y2EzNGUzOWIxOWEyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3llYXIvZGF0ZS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3ll
YXIvZGF0ZS5qcwpAQCAtMyw3ICszLDkgQEAKIAogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5j
YWxlbmRhci5wcm90b3R5cGUueWVhcgotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnBy
b3RvdHlwZS55ZWFyIHdpbGwgdGFrZSBQbGFpbkRhdGUgYW5kIHJldHVybiB0aGUgdmFsdWUgb2Yg
dGhlIHllYXIuCitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUu
eWVhciB3aWxsIHRha2UgUGxhaW5EYXRlIGFuZCByZXR1cm4KKyAgdGhlIHZhbHVlIG9mIHRoZSB5
ZWFyLgogaW5mbzogfAogICAxLiBMZXQgY2FsZW5kYXIgYmUgdGhlIHRoaXMgdmFsdWUuCiAgIDIu
IFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KGNhbGVuZGFyLCBbW0luaXRpYWxpemVkVGVt
cG9yYWxDYWxlbmRhcl1dKS4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci9zdHJpbmcuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL3llYXIv
c3RyaW5nLmpzCmluZGV4IGJmNzdlZWQwZTI3NDYyNmVhZjUwZDdjYmVlYzhmMWM3NzI0NzU4NjEu
LjQzYWNhZjBhYjJkNjA5YjI0ZmFmZjIyY2U2MzVkZDY1MzZiOTRlNjggMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUv
eWVhci9zdHJpbmcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL3N0cmluZy5qcwpAQCAtMyw3ICszLDkgQEAKIAog
LyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUueWVhcgotZGVzY3Jp
cHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS55ZWFyIHdpbGwgdGFrZSBJU084NjAx
IHN0cmluZyBhbmQgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgeWVhci4KK2Rlc2NyaXB0aW9uOiA+
CisgIFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS55ZWFyIHdpbGwgdGFrZSBJU084NjAxIHN0
cmluZyBhbmQgcmV0dXJuCisgIHRoZSB2YWx1ZSBvZiB0aGUgeWVhci4KIGluZm86IHwKICAgMS4g
TGV0IGNhbGVuZGFyIGJlIHRoZSB0aGlzIHZhbHVlLgogICAyLiBQZXJmb3JtID8gUmVxdWlyZUlu
dGVybmFsU2xvdChjYWxlbmRhciwgW1tJbml0aWFsaXplZFRlbXBvcmFsQ2FsZW5kYXJdXSkuCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL3llYXIvdGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBl
L3llYXIvdGhyb3ctcmFuZ2UtZXJyb3ItVG9UZW1wb3JhbERhdGUuanMKaW5kZXggYjBlN2NmMzcy
M2YwMDc2NDNmMWY5Mzg2MTFiNmZiOTA4NmJkMjY5YS4uNjIzMWFiZTI2NjJhMTM1ZDBjMWZhODZj
YWUxYjA3OTllOWE4OTY4NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL3Rocm93LXJhbmdlLWVycm9yLVRv
VGVtcG9yYWxEYXRlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci90aHJvdy1yYW5nZS1lcnJvci1Ub1RlbXBvcmFs
RGF0ZS5qcwpAQCAtMyw3ICszLDkgQEAKIAogLyotLS0KIGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxl
bmRhci5wcm90b3R5cGUueWVhcgotZGVzY3JpcHRpb246IFRlbXBvcmFsLkNhbGVuZGFyLnByb3Rv
dHlwZS55ZWFyIHRocm93cyBSYW5nZUVycm9yIG9uIFRvVGVtcG9yYWxEYXRlIHdoZW4gdGVtcG9y
YWxEYXRlTGlrZSBpcyBpbnZhbGlkIHN0cmluZy4KK2Rlc2NyaXB0aW9uOiA+CisgIFRlbXBvcmFs
LkNhbGVuZGFyLnByb3RvdHlwZS55ZWFyIHRocm93cyBSYW5nZUVycm9yIG9uCisgIFRvVGVtcG9y
YWxEYXRlIHdoZW4gdGVtcG9yYWxEYXRlTGlrZSBpcyBpbnZhbGlkIHN0cmluZy4KIGluZm86IHwK
ICAgNC4gSWYgVHlwZSh0ZW1wb3JhbERhdGVMaWtlKSBpcyBub3QgT2JqZWN0IG9yIHRlbXBvcmFs
RGF0ZUxpa2UKICAgICAgZG9lcyBub3QgaGF2ZSBhbiBbW0luaXRpYWxpemVkVGVtcG9yYWxEYXRl
XV0gb3IKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9DYWxlbmRhci9wcm90b3R5cGUveWVhci90aHJvdy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5h
bFNsb3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvQ2FsZW5k
YXIvcHJvdG90eXBlL3llYXIvdGhyb3ctdHlwZS1lcnJvci1SZXF1aXJlSW50ZXJuYWxTbG90Lmpz
CmluZGV4IGZiMmNiMDIwNDY5ZGU5ZjFmNzU0MDc1ODcwZTZjZmMwNDhlZGRiNmQuLmNkOGRkNjgx
ZmI4NTI4ZWU0ODI5MjVlMDM0ZDdhMmY0MWYwY2JjMDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci90aHJv
dy10eXBlLWVycm9yLVJlcXVpcmVJbnRlcm5hbFNsb3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL3Rocm93LXR5
cGUtZXJyb3ItUmVxdWlyZUludGVybmFsU2xvdC5qcwpAQCAtMyw3ICszLDkgQEAKIAogLyotLS0K
IGVzaWQ6IHNlYy10ZW1wb3JhbC5jYWxlbmRhci5wcm90b3R5cGUueWVhcgotZGVzY3JpcHRpb246
IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS55ZWFyIHRocm93cyBUeXBlRXJyb3Igb24gUmVx
dWlyZUludGVybmFsU2xvdCBpZiBvYmplY3QgaGFzIG5vIGludGVybmFsIHNsb3QuCitkZXNjcmlw
dGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUueWVhciB0aHJvd3MgVHlwZUVy
cm9yIG9uCisgIFJlcXVpcmVJbnRlcm5hbFNsb3QgaWYgb2JqZWN0IGhhcyBubyBpbnRlcm5hbCBz
bG90LgogaW5mbzogfAogICAyLiBQZXJmb3JtID8gUmVxdWlyZUludGVybmFsU2xvdChjYWxlbmRh
ciwgW1tJbml0aWFsaXplZFRlbXBvcmFsQ2FsZW5kYXJdXSkuCiBmZWF0dXJlczogW1RlbXBvcmFs
LCBhcnJvdy1mdW5jdGlvbl0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUveWVhci95ZWFyLW1vbnRoLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95
ZWFyL3llYXItbW9udGguanMKaW5kZXggYWFkYTczZDY2MjE2NTFjOGQ1YjM4Nzc3MTk4YjdhYTM5
MjRkMmQ5ZC4uMjRmMmY4YzY5N2M5ZGJlZDQxODg2Y2ZjN2I0ZGNiMmJhY2YyYjhhMCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3By
b3RvdHlwZS95ZWFyL3llYXItbW9udGguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS95ZWFyL3llYXItbW9udGguanMKQEAg
LTMsNyArMyw5IEBACiAKIC8qLS0tCiBlc2lkOiBzZWMtdGVtcG9yYWwuY2FsZW5kYXIucHJvdG90
eXBlLnllYXIKLWRlc2NyaXB0aW9uOiBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUueWVhciB3
aWxsIHRha2UgUGxhaW5ZZWFyTW9udGggYW5kIHJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHllYXIu
CitkZXNjcmlwdGlvbjogPgorICBUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUueWVhciB3aWxs
IHRha2UgUGxhaW5ZZWFyTW9udGggYW5kIHJldHVybgorICB0aGUgdmFsdWUgb2YgdGhlIHllYXIu
CiBpbmZvOiB8CiAgIDEuIExldCBjYWxlbmRhciBiZSB0aGUgdGhpcyB2YWx1ZS4KICAgMi4gUGVy
Zm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoY2FsZW5kYXIsIFtbSW5pdGlhbGl6ZWRUZW1wb3Jh
bENhbGVuZGFyXV0pLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lL2NhbGVuZGFyLW9iamVjdC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZS9jYWxlbmRh
ci1vYmplY3QuanMKaW5kZXggMzdhYTg1YjQzYWQ2OTcyYTk3MzM5ODRlYjQ3ZjE2YWFlMWJmZTMw
Ni4uN2M1NmRhMzJhN2ZmM2I0Y2YxZjYyN2RjOWI2NjVhYjlhNTYxMGYxNiAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1l
L2NhbGVuZGFyLW9iamVjdC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LmpzCkBAIC05LDcgKzks
MTIgQEAKIC0tLSovCiAKIGNvbnN0IGFjdHVhbCA9IFtdOwotY29uc3QgZXhwZWN0ZWQgPSBbCitj
b25zdCBleHBlY3RlZFdpdGhvdXQgPSBbCisgICdoYXMgY2FsZW5kYXIuY2FsZW5kYXInLAorICAn
Z2V0IGNhbGVuZGFyLmNhbGVuZGFyJywKKyAgJ2hhcyBuZXN0ZWRDYWxlbmRhci5jYWxlbmRhcicK
K107Citjb25zdCBleHBlY3RlZFdpdGggPSBbCiAgICdoYXMgY2FsZW5kYXIuY2FsZW5kYXInLAog
ICAnZ2V0IGNhbGVuZGFyLmNhbGVuZGFyJywKICAgJ2hhcyBuZXN0ZWRDYWxlbmRhci5jYWxlbmRh
cicsCkBAIC01OCw0ICs2MywxMSBAQAogCiBUZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZShjYWxl
bmRhcik7CiAKLWFzc2VydC5jb21wYXJlQXJyYXkoYWN0dWFsLCBleHBlY3RlZCwgJ1RoZSB2YWx1
ZSBvZiBhY3R1YWwgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIGV4cGVjdGVkJyk7
Cithc3NlcnQuY29tcGFyZUFycmF5KGFjdHVhbCwgZXhwZWN0ZWRXaXRob3V0LCAnT2JzZXJ2YWJs
ZSBpbnRlcmFjdGlvbnMgd2l0aG91dCBgY2FsZW5kYXJgIHByb3BlcnR5Jyk7CisKK2FjdHVhbC5s
ZW5ndGggPSAwOworbmVzdGVkQ2FsZW5kYXIuY2FsZW5kYXIgPSBudWxsOworCitUZW1wb3JhbC5O
b3cucGxhaW5EYXRlVGltZShjYWxlbmRhcik7CisKK2Fzc2VydC5jb21wYXJlQXJyYXkoYWN0dWFs
LCBleHBlY3RlZFdpdGgsICdPYnNlcnZhYmxlIGludGVyYWN0aW9ucyB3aXRoIGBjYWxlbmRhcmAg
cHJvcGVydHknKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9leHRlbnNpYmxlLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL2V4dGVuc2li
bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTE3NDJhNTU1NjM1ODBmODhlNmVlNWU3NzQxYmI3NjdmZTQwNWRi
NAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9leHRlbnNpYmxlLmpzCkBAIC0wLDAgKzEsMTIgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cu
cGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRpb246IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1l
SVNPIGlzIGV4dGVuc2libGUuCitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKworYXNzZXJ0
KAorICBPYmplY3QuaXNFeHRlbnNpYmxlKFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKSwK
KyAgJ09iamVjdC5pc0V4dGVuc2libGUoVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08pIG11
c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL2xlbmd0aC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9sZW5n
dGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTBiNTE5NzFiMjM0YmI4MzRlZTFiMjQyOWU0MWI5MzY1NWJhOGFh
YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9sZW5ndGguanMKQEAgLTAsMCArMSwyNSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy5wbGFpbmRhdGV0aW1l
aXNvCitkZXNjcmlwdGlvbjogVGhlIGBsZW5ndGhgIHByb3BlcnR5IG9mIFRlbXBvcmFsLk5vdy5w
bGFpbkRhdGVUaW1lSVNPCitpbmZvOiB8CisgICAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eSB3aG9z
ZSB2YWx1ZSBpcworICAgIGFuIGludGVnZXIuIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0
aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZAorICAgIGFy
Z3VtZW50cyBzaG93biBpbiB0aGUgc3ViY2xhdXNlIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24g
ZGVzY3JpcHRpb24uIE9wdGlvbmFsIHBhcmFtZXRlcnMKKyAgICAod2hpY2ggYXJlIGluZGljYXRl
ZCB3aXRoIGJyYWNrZXRzOiBbIF0pIG9yIHJlc3QgcGFyYW1ldGVycyAod2hpY2ggYXJlIHNob3du
IHVzaW5nIHRoZSBmb3JtCisgICAgwqsuLi5uYW1lwrspIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhl
IGRlZmF1bHQgYXJndW1lbnQgY291bnQuCisKKyAgICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCwgdGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0IGhh
cyB0aGUKKyAgICBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxl
XV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQorZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSovCisKK3ZlcmlmeVByb3BlcnR5
KFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPLCAibGVuZ3RoIiwgeworICB2YWx1ZTogMCwK
KyAgd3JpdGFibGU6IGZhbHNlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxl
OiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9uYW1lLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRjM2RiYjQ2NTFhOTVjMjM4M2ZmY2YxZWJhNjRlOTU0NjJlNDQ3Y2IKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3Bs
YWluRGF0ZVRpbWVJU08vbmFtZS5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnBsYWluRGF0ZVRpbWVJU08K
K2Rlc2NyaXB0aW9uOiBUZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTy5uYW1lIGlzICJwbGFp
bkRhdGVUaW1lSVNPIi4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczog
W1RlbXBvcmFsXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgVGVtcG9yYWwuTm93LnBs
YWluRGF0ZVRpbWVJU08ubmFtZSwKKyAgJ3BsYWluRGF0ZVRpbWVJU08nLAorICAnVGhlIHZhbHVl
IG9mIFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPLm5hbWUgaXMgZXhwZWN0ZWQgdG8gYmUg
InBsYWluRGF0ZVRpbWVJU08iJworKTsKKwordmVyaWZ5UHJvcGVydHkoVGVtcG9yYWwuTm93LnBs
YWluRGF0ZVRpbWVJU08sICduYW1lJywgeworICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3JpdGFi
bGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU0MzJiODk3MGEwNjk5MzU4ZDBhODRiYmQ1NWRmZTc1NTAzNmI0OWQKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0
ZVRpbWVJU08vbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy5wbGFpbmRhdGV0
aW1laXNvCitkZXNjcmlwdGlvbjogVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08gZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFRlbXBvcmFsLCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihUZW1wb3JhbC5Ob3cucGxh
aW5EYXRlVGltZUlTTyksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihUZW1wb3JhbC5Ob3cucGxhaW5E
YXRlVGltZUlTTykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbmV3IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKCk7Cit9LCAn
bmV3IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKCkgdGhyb3dzIGEgVHlwZUVycm9yIGV4
Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3Byb3AtZGVzYy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9wcm9wLWRlc2Mu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGY3NjRhNmJmMDNmMDQ0NzZhOWMzYjlmODk3ZTNiNWUzZmY2MjliZgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9wcm9wLWRlc2MuanMKQEAgLTAsMCArMSwxNCBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy5wbGFp
bmRhdGV0aW1laXNvCitkZXNjcmlwdGlvbjogVGhlICJwbGFpbkRhdGVUaW1lSVNPIiBwcm9wZXJ0
eSBvZiBUZW1wb3JhbC5Ob3cKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJl
czogW1RlbXBvcmFsXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoVGVtcG9yYWwuTm93LCAncGxh
aW5EYXRlVGltZUlTTycsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiB0cnVl
LAorICBjb25maWd1cmFibGU6IHRydWUKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3JldHVybi12YWx1
ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5E
YXRlVGltZUlTTy9yZXR1cm4tdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBkZTcyY2I2ZDU0ZjQ3YTRj
ZDE1YWYxZmNmZjc5MzMyYjZkY2VhOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy9yZXR1cm4tdmFs
dWUuanMKQEAgLTAsMCArMSwxOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSwgUy5M
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10
ZW1wb3JhbC5ub3cucGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRpb246IFJldHVybiB2YWx1ZSBk
ZXNjcmliZXMgdGhlIHN0YXJ0IG9mIGEgZGF5CitmZWF0dXJlczogW0JpZ0ludCwgVGVtcG9yYWxd
CistLS0qLworY29uc3QgdGltZVpvbmUgPSB7CisgIGdldE9mZnNldE5hbm9zZWNvbmRzRm9yKGlu
c3RhbnQpIHsKKyAgICByZXR1cm4gLU51bWJlcihpbnN0YW50LmVwb2NoTmFub3NlY29uZHMgJSA4
NjQwMDAwMDAwMDAwMG4pOworICB9Cit9OworCitjb25zdCByZXN1bHQgPSBUZW1wb3JhbC5Ob3cu
cGxhaW5EYXRlVGltZUlTTyh0aW1lWm9uZSk7CisKK2ZvciAoY29uc3QgcHJvcGVydHkgb2YgWydo
b3VyJywgJ21pbnV0ZScsICdzZWNvbmQnLCAnbWlsbGlzZWNvbmQnLCAnbWljcm9zZWNvbmQnLCAn
bmFub3NlY29uZCddKSB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0W3Byb3BlcnR5XSwgMCwg
J1RoZSB2YWx1ZSBvZiByZXN1bHRbcHJvcGVydHldIGlzIGV4cGVjdGVkIHRvIGJlIDAnKTsKK30K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cv
cGxhaW5EYXRlVGltZUlTTy90aW1lLXpvbmUtdW5kZWZpbmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWUtem9uZS11
bmRlZmluZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ3MTljMmU5MWZjM2U0M2I5YjljZmM2MzIwZTRiMzBh
ODYwNWI1NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lLXpvbmUtdW5kZWZpbmVkLmpzCkBA
IC0wLDAgKzEsMzUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3Jh
bC5ub3cucGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRpb246IEZ1bmN0aW9ucyB3aGVuIHRpbWUg
em9uZSBhcmd1bWVudCBpcyBvbWl0dGVkCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2Zl
YXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCitjb25zdCBhY3R1YWwgPSBbXTsKK2NvbnN0IGV4
cGVjdGVkID0gW107CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShUZW1wb3JhbC5UaW1lWm9uZSwg
ImZyb20iLCB7CisgIGdldCgpIHsKKyAgICBhY3R1YWwucHVzaCgiZ2V0IFRlbXBvcmFsLlRpbWVa
b25lLmZyb20iKTsKKyAgICByZXR1cm4gdW5kZWZpbmVkOworICB9LAorfSk7CisKK2NvbnN0IHJl
c3VsdEV4cGxpY2l0ID0gVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08odW5kZWZpbmVkKTsK
K2Fzc2VydCgKKyAgcmVzdWx0RXhwbGljaXQgaW5zdGFuY2VvZiBUZW1wb3JhbC5QbGFpbkRhdGVU
aW1lLAorICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChyZXN1bHRFeHBsaWNpdCBpbnN0YW5j
ZW9mIFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCispOwor
Cithc3NlcnQuY29tcGFyZUFycmF5KGFjdHVhbCwgZXhwZWN0ZWQsICdUaGUgdmFsdWUgb2YgYWN0
dWFsIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBleHBlY3RlZCcpOworCitjb25z
dCByZXN1bHRJbXBsaWNpdCA9IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKCk7Cithc3Nl
cnQoCisgIHJlc3VsdEltcGxpY2l0IGluc3RhbmNlb2YgVGVtcG9yYWwuUGxhaW5EYXRlVGltZSwK
KyAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAocmVzdWx0SW1wbGljaXQgaW5zdGFuY2VvZiBU
ZW1wb3JhbC5QbGFpbkRhdGVUaW1lKSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKKworYXNz
ZXJ0LmNvbXBhcmVBcnJheShhY3R1YWwsIGV4cGVjdGVkLCAnVGhlIHZhbHVlIG9mIGFjdHVhbCBp
cyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgZXhwZWN0ZWQnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGlt
ZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1pbnZvY2F0aW9uLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNP
L3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNvbmRzZm9yLWludm9jYXRpb24uanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGNmOGNkMjAxMTA0ZGVmYTk0ZjBiYTZlOWJhYTgwMjlhNDNmYTk0YQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5E
YXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1pbnZvY2F0aW9uLmpz
CkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBh
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6
IHNlYy10ZW1wb3JhbC5ub3cucGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRpb246IENvcnJlY3Rs
eSBpbnZva2VzIGBnZXRPZmZzZXROYW5vc2Vjb25kc0ZvcmAgbWV0aG9kIG9mIFRpbWVab25lLWxp
a2Ugb2JqZWN0cworZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSovCisKK3ZhciBjYWxscyA9IFtd
OwordmFyIHRpbWVab25lID0geworICBnZXRPZmZzZXROYW5vc2Vjb25kc0ZvcjogZnVuY3Rpb24o
KSB7CisgICAgY2FsbHMucHVzaCh7CisgICAgICBhcmdzOiBhcmd1bWVudHMsCisgICAgICB0aGlz
OiB0aGlzCisgICAgfSk7CisgICAgcmV0dXJuIDA7CisgIH0sCit9OworCitUZW1wb3JhbC5Ob3cu
cGxhaW5EYXRlVGltZUlTTyh0aW1lWm9uZSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbHMubGVu
Z3RoLCAxLCAnVGhlIHZhbHVlIG9mIGNhbGxzLmxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSAxJyk7
Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxzWzBdLmFyZ3MubGVuZ3RoLCAxLCAnVGhlIHZhbHVlIG9m
IGNhbGxzWzBdLmFyZ3MubGVuZ3RoIGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKK2Fzc2VydCgKKyAg
Y2FsbHNbMF0uYXJnc1swXSBpbnN0YW5jZW9mIFRlbXBvcmFsLkluc3RhbnQsCisgICdUaGUgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgKGNhbGxzWzBdLmFyZ3NbMF0gaW5zdGFuY2VvZiBUZW1wb3JhbC5J
bnN0YW50KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2Fs
bHNbMF0udGhpcywgdGltZVpvbmUsICdUaGUgdmFsdWUgb2YgY2FsbHNbMF0udGhpcyBpcyBleHBl
Y3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgdGltZVpvbmUnKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90
aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1ub24taW50ZWdlci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1l
em9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1ub24taW50ZWdlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
Y2JiNzZmMjU0MTk3ZWM0ZTUzNjNkMTMwZjljMWZmNDhmNTlmNjRlCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVU
aW1lSVNPL3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNvbmRzZm9yLW5vbi1pbnRlZ2VyLmpzCkBA
IC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwu
bm93LnBsYWluZGF0ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBSYW5nZUVycm9yIHRocm93biBpZiB0
aW1lIHpvbmUgcmVwb3J0cyBhbiBvZmZzZXQgdGhhdCBpcyBub3QgYW4gaW50ZWdlciBudW1iZXIg
b2YgbmFub3NlY29uZHMKK2ZlYXR1cmVzOiBbVGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQoraW5j
bHVkZXM6IFt0ZW1wb3JhbEhlbHBlcnMuanNdCistLS0qLworWzM2MDAwMDAwMDAwMDAuNSwgTmFO
XS5mb3JFYWNoKHdyb25nT2Zmc2V0ID0+IHsKKyAgY29uc3QgdGltZVpvbmUgPSBUZW1wb3JhbEhl
bHBlcnMuc3BlY2lmaWNPZmZzZXRUaW1lWm9uZSh3cm9uZ09mZnNldCk7CisKKyAgYXNzZXJ0LnRo
cm93cygKKyAgICBSYW5nZUVycm9yLAorICAgICgpID0+IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVU
aW1lSVNPKHRpbWVab25lKSwKKyAgICAnVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08odGlt
ZVpvbmUpIHRocm93cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uJworICApOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0
ZVRpbWVJU08vdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itbm9uLW1ldGhvZC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGlt
ZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1ub24tbWV0aG9kLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjliNDZjYTZjOWQzMjAyODc5ODliZDc4MzQzYjExMjkwZjQ1YzU4MzgKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3Bs
YWluRGF0ZVRpbWVJU08vdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itbm9uLW1ldGhv
ZC5qcwpAQCAtMCwwICsxLDE1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2pl
Y3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtdGVtcG9yYWwubm93LnBsYWluZGF0ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBSZWpl
Y3RzIHdoZW4gYGdldE9mZnNldE5hbm9zZWNvbmRzRm9yYCBwcm9wZXJ0eSBpcyBub3QgYSBtZXRo
b2QKK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCit2YXIgdGltZVpvbmUgPSB7CisgIGdl
dE9mZnNldE5hbm9zZWNvbmRzRm9yOiA3Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CisgIFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKHRpbWVab25lKTsK
K30sICdUZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTyh0aW1lWm9uZSkgdGhyb3dzIGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9mZnNldG5h
bm9zZWNvbmRzZm9yLW5vdC1hLW51bWJlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5v
c2Vjb25kc2Zvci1ub3QtYS1udW1iZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTdmNTMwNDgxMjA0OTMwNjBk
YmQ3OTVmNTZmNmYwZDFiODY2YjhhMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1n
ZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1ub3QtYS1udW1iZXIuanMKQEAgLTAsMCArMSwzNyBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cucGxhaW5kYXRldGlt
ZWlzbworZGVzY3JpcHRpb246IFJlamVjdHMgbm9uLW51bWVyaWMgbmFub3NlY29uZCB2YWx1ZXMg
cmVwb3J0ZWQgYnkgVGltZVpvbmUtbGlrZSBvYmplY3QKK2ZlYXR1cmVzOiBbQmlnSW50LCBTeW1i
b2wsIFRlbXBvcmFsLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCitjb25zdCBpbnZhbGlkVmFsdWVz
ID0gWworICB1bmRlZmluZWQsCisgIG51bGwsCisgIHRydWUsCisgICcyMDIwLTAxLTAxVDEyOjQ1
OjM2JywKKyAgU3ltYm9sKCksCisgIDJuLAorICB7fSwKKyAgVGVtcG9yYWwuUGxhaW5EYXRlVGlt
ZSwKKyAgVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUKK107CisKK2ZvciAoY29uc3Qg
ZGF0ZVRpbWUgb2YgaW52YWxpZFZhbHVlcykgeworICBsZXQgY2FsbENvdW50ID0gMDsKKworICBj
b25zdCB0aW1lWm9uZSA9IHsKKyAgICBnZXRPZmZzZXROYW5vc2Vjb25kc0ZvcihpbnN0YW50LCBj
YWxlbmRhcikgeworICAgICAgY2FsbENvdW50ICs9IDE7CisgICAgICByZXR1cm4gZGF0ZVRpbWU7
CisgICAgfQorICB9OworCisgIGFzc2VydC50aHJvd3MoCisgICAgVHlwZUVycm9yLAorICAgICgp
ID0+IFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKHRpbWVab25lKSwKKyAgICAnVGVtcG9y
YWwuTm93LnBsYWluRGF0ZVRpbWVJU08odGltZVpvbmUpIHRocm93cyBhIFR5cGVFcnJvciBleGNl
cHRpb24nCisgICk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdUaGUgdmFs
dWUgb2YgY2FsbENvdW50IGlzIGV4cGVjdGVkIHRvIGJlIDEnKTsKK30KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlT
Ty90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1vdXQtb2YtcmFuZ2UuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08v
dGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itb3V0LW9mLXJhbmdlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdlMmY5ZGI3MGE5MTllM2ZjY2RkODU3OTJkOTYxMGQ3YzgzMTQxZmUKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWlu
RGF0ZVRpbWVJU08vdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29uZHNmb3Itb3V0LW9mLXJhbmdl
LmpzCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVt
cG9yYWwubm93LnBsYWluZGF0ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBSYW5nZUVycm9yIHRocm93
biBpZiB0aW1lIHpvbmUgcmVwb3J0cyBhbiBvZmZzZXQgdGhhdCBpcyBvdXQgb2YgcmFuZ2UKK2Zl
YXR1cmVzOiBbVGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQoraW5jbHVkZXM6IFt0ZW1wb3JhbEhl
bHBlcnMuanNdCistLS0qLworWy04NjQwMDAwMDAwMDAwMSwgODY0MDAwMDAwMDAwMDEsIC1JbmZp
bml0eSwgSW5maW5pdHldLmZvckVhY2god3JvbmdPZmZzZXQgPT4geworICBjb25zdCB0aW1lWm9u
ZSA9IFRlbXBvcmFsSGVscGVycy5zcGVjaWZpY09mZnNldFRpbWVab25lKHdyb25nT2Zmc2V0KTsK
KworICBhc3NlcnQudGhyb3dzKAorICAgIFJhbmdlRXJyb3IsCisgICAgKCkgPT4gVGVtcG9yYWwu
Tm93LnBsYWluRGF0ZVRpbWVJU08odGltZVpvbmUpLAorICAgICdUZW1wb3JhbC5Ob3cucGxhaW5E
YXRlVGltZUlTTyh0aW1lWm9uZSkgdGhyb3dzIGEgUmFuZ2VFcnJvciBleGNlcHRpb24nCisgICk7
Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1w
b2lzb25lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cv
cGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5vc2Vjb25kc2Zvci1wb2lzb25l
ZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjJlNmE2YjZkY2YzOWZkNGQ4NDE4NDQ1YjNmZjVjNDljNjE0YTcz
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBv
cmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9mZnNldG5hbm9zZWNvbmRzZm9y
LXBvaXNvbmVkLmpzCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUg
VjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
LyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cucGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRp
b246IEZvcndhcmRzIGVycm9yIHdoZW4gYWNjZXNzaW5nIGBnZXRPZmZzZXROYW5vc2Vjb25kc0Zv
cmAgcHJvcGVydHkgdGhyb3dzCitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwordmFyIHRp
bWVab25lID0geworICBnZXQgZ2V0T2Zmc2V0TmFub3NlY29uZHNGb3IoKSB7CisgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJv
ciwgZnVuY3Rpb24oKSB7CisgIFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKHRpbWVab25l
KTsKK30sICdUZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTyh0aW1lWm9uZSkgdGhyb3dzIGEg
VGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9m
ZnNldG5hbm9zZWNvbmRzZm9yLXRocm93cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZzZXRuYW5v
c2Vjb25kc2Zvci10aHJvd3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM4N2ZkZjQ3MWUyYTk2ZTQxOWUxMjJh
NGM0MGNhZGFjMDJkZTZjOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1nZXRvZmZz
ZXRuYW5vc2Vjb25kc2Zvci10aHJvd3MuanMKQEAgLTAsMCArMSwxNyBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy5wbGFpbmRhdGV0aW1l
aXNvCitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3Igd2hlbiBgZ2V0T2Zmc2V0TmFub3NlY29u
ZHNGb3JgIHRocm93cworZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSovCisKK3ZhciB0aW1lWm9u
ZSA9IHsKKyAgZ2V0T2Zmc2V0TmFub3NlY29uZHNGb3IoKSB7CisgICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rp
b24oKSB7CisgIFRlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKHRpbWVab25lKTsKK30sICdU
ZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTyh0aW1lWm9uZSkgdGhyb3dzIGEgVGVzdDI2MkVy
cm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9mZnNldG5hbm9z
ZWNvbmRzZm9yLXdyb25nLXR5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vdGltZXpvbmUtZ2V0b2Zmc2V0bmFub3NlY29u
ZHNmb3Itd3JvbmctdHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzMxOTIyZTg1NjhlNjU3MGY0YzRkM2Nk
YmM1ODM4ZjYyNmE4MTdiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLWdldG9mZnNl
dG5hbm9zZWNvbmRzZm9yLXdyb25nLXR5cGUuanMKQEAgLTAsMCArMSwyMSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cucGxhaW5kYXRldGltZWlzbworZGVz
Y3JpcHRpb246IFR5cGVFcnJvciB0aHJvd24gaWYgdGltZSB6b25lIHJlcG9ydHMgYW4gb2Zmc2V0
IHRoYXQgaXMgbm90IGEgTnVtYmVyCitmZWF0dXJlczogW0JpZ0ludCwgU3ltYm9sLCBUZW1wb3Jh
bCwgYXJyb3ctZnVuY3Rpb25dCitpbmNsdWRlczogW3RlbXBvcmFsSGVscGVycy5qc10KKy0tLSov
CitbdW5kZWZpbmVkLCBudWxsLCB0cnVlLCAnKzAxOjAwJywgU3ltYm9sKCksIDM2MDAwMDAwMDAw
MDBuLCB7fSwgeworICB2YWx1ZU9mKCkgeworICAgIHJldHVybiAzNjAwMDAwMDAwMDAwOworICB9
Cit9XS5mb3JFYWNoKHdyb25nT2Zmc2V0ID0+IHsKKyAgY29uc3QgdGltZVpvbmUgPSBUZW1wb3Jh
bEhlbHBlcnMuc3BlY2lmaWNPZmZzZXRUaW1lWm9uZSh3cm9uZ09mZnNldCk7CisKKyAgYXNzZXJ0
LnRocm93cygKKyAgICBUeXBlRXJyb3IsCisgICAgKCkgPT4gVGVtcG9yYWwuTm93LnBsYWluRGF0
ZVRpbWVJU08odGltZVpvbmUpLAorICAgICdUZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTyh0
aW1lWm9uZSkgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicKKyAgKTsKK30pOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRh
dGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vdGlt
ZXpvbmUtb2JqZWN0LWZhaWwtY2FsbC10b3N0cmluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDI3NzMyN2Qy
ZWI3NzQ3NThlNjc5MWM5ZjU4YjNhYTlhMDBjNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3Rp
bWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKQEAgLTAsMCArMSwyMCBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy5wbGFp
bmRhdGV0aW1laXNvCitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3IgdGhyb3duIGJ5IGludm9r
aW5nICJ0b1N0cmluZyIgcHJvcGVydHkKK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCit2
YXIgdGltZVpvbmUgPSB7CisgIHRpbWVab25lOiB7CisgICAgdGltZVpvbmU6IHRydWUsCisgICAg
dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwor
ICAgIH0sCisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigp
IHsKKyAgVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08odGltZVpvbmUpOworfSwgJ1RlbXBv
cmFsLk5vdy5wbGFpbkRhdGVUaW1lSVNPKHRpbWVab25lKSB0aHJvd3MgYSBUZXN0MjYyRXJyb3Ig
ZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3BsYWluRGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0LXRp
bWV6b25lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9w
bGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWdldC10aW1lem9uZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zN2NjMjFiOGNjOGJmNGMwMjMzZWMwOTg0YzZmZWIwN2FmNTZiNGNlCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9w
bGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWdldC10aW1lem9uZS5qcwpAQCAt
MCwwICsxLDE3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
dGVtcG9yYWwubm93LnBsYWluZGF0ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBGb3J3YXJkcyBlcnJv
ciB0aHJvd24gYnkgcmV0cmlldmluZyB2YWx1ZSBvZiAidGltZVpvbmUiIHByb3BlcnR5CitmZWF0
dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwordmFyIHRpbWVab25lID0geworICBnZXQgdGltZVpv
bmUoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9LAorfTsKKworYXNzZXJ0
LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICBUZW1wb3JhbC5Ob3cucGxhaW5E
YXRlVGltZUlTTyh0aW1lWm9uZSk7Cit9LCAnVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08o
dGltZVpvbmUpIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGlt
ZUlTTy90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRpbWV6b25lLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3Rp
bWV6b25lLW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtdGltZXpvbmUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM3
NWI0MjMwMjU0NDQwMWE3OTQwNjUzZDY5ZjUwNGZhOGRhNDgwNAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGlt
ZUlTTy90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRpbWV6b25lLmpzCkBAIC0wLDAg
KzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1w
b3JhbC5ub3cucGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRpb246IEZvcndhcmRzIGVycm9yIHRo
cm93biBieSBjaGVja2luZyBwcmVzZW5jZSBvZiBuZXN0ZWQgInRpbWVab25lIiBwcm9wZXJ0eQor
ZmVhdHVyZXM6IFtQcm94eSwgVGVtcG9yYWxdCistLS0qLworCit2YXIgdGltZVpvbmUgPSB7Cisg
IHRpbWVab25lOiBuZXcgUHJveHkoe30sIHsKKyAgICBoYXM6IGZ1bmN0aW9uKHRhcmdldCwgcHJv
cGVydHkpIHsKKyAgICAgIGlmIChwcm9wZXJ0eSA9PT0gJ3RpbWVab25lJykgeworICAgICAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgICB9CisgICAgfSwKKyAgfSkKK307CisKK2Fz
c2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgVGVtcG9yYWwuTm93LnBs
YWluRGF0ZVRpbWVJU08odGltZVpvbmUpOworfSwgJ1RlbXBvcmFsLk5vdy5wbGFpbkRhdGVUaW1l
SVNPKHRpbWVab25lKSB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWluRGF0
ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LWZhaWwtaGFzLXRpbWV6b25lLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6
b25lLW9iamVjdC1mYWlsLWhhcy10aW1lem9uZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Njg1MGUzYzc5ZDgz
NDdmMzliNjg3NzQ5NDQxMjA4YjJjOWM5ZjdkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6
b25lLW9iamVjdC1mYWlsLWhhcy10aW1lem9uZS5qcwpAQCAtMCwwICsxLDE5IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnBsYWluZGF0
ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBGb3J3YXJkcyBlcnJvciB0aHJvd24gYnkgY2hlY2tpbmcg
cHJlc2VuY2Ugb2YgInRpbWVab25lIiBwcm9wZXJ0eQorZmVhdHVyZXM6IFtQcm94eSwgVGVtcG9y
YWxdCistLS0qLworCit2YXIgdGltZVpvbmUgPSBuZXcgUHJveHkoe30sIHsKKyAgaGFzOiBmdW5j
dGlvbih0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgaWYgKHByb3BlcnR5ID09PSAndGltZVpvbmUn
KSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgfQorICB9LAorfSk7CisK
K2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgVGVtcG9yYWwuTm93
LnBsYWluRGF0ZVRpbWVJU08odGltZVpvbmUpOworfSwgJ1RlbXBvcmFsLk5vdy5wbGFpbkRhdGVU
aW1lSVNPKHRpbWVab25lKSB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3BsYWlu
RGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL05vdy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mODFiZDRhZDE1OGNjYTk2NWQ5NjFhZDc3MGVmMWQzYTBhMGRlMTRiCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05v
dy9wbGFpbkRhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC5qcwpAQCAtMCwwICsxLDc3IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy5wbGFpbmRhdGV0aW1l
aXNvCitkZXNjcmlwdGlvbjogT2JzZXJ2YWJsZSBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgcHJvdmlk
ZWQgdGltZXpvbmUtbGlrZSBvYmplY3QKK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZmVh
dHVyZXM6IFtCaWdJbnQsIFByb3h5LCBUZW1wb3JhbF0KKy0tLSovCitjb25zdCBhY3R1YWwgPSBb
XTsKKworY29uc3QgZXhwZWN0ZWQgPSBbCisgICdoYXMgdGltZVpvbmUudGltZVpvbmUnLAorICAn
Z2V0IHRpbWVab25lLnRpbWVab25lJywKKyAgJ2hhcyBuZXN0ZWRUaW1lWm9uZS50aW1lWm9uZScs
CisgICdnZXQgbmVzdGVkVGltZVpvbmUuZ2V0T2Zmc2V0TmFub3NlY29uZHNGb3InLAorICAnY2Fs
bCBuZXN0ZWRUaW1lWm9uZS5nZXRPZmZzZXROYW5vc2Vjb25kc0ZvcicKK107CisKK2NvbnN0IG5l
c3RlZFRpbWVab25lID0gbmV3IFByb3h5KHsKKyAgZ2V0T2Zmc2V0TmFub3NlY29uZHNGb3IoaW5z
dGFudCkgeworICAgIGFjdHVhbC5wdXNoKCdjYWxsIG5lc3RlZFRpbWVab25lLmdldE9mZnNldE5h
bm9zZWNvbmRzRm9yJyk7CisKKyAgICBhc3NlcnQuc2FtZVZhbHVlKAorICAgICAgaW5zdGFudCBp
bnN0YW5jZW9mIFRlbXBvcmFsLkluc3RhbnQsCisgICAgICB0cnVlLAorICAgICAgJ1RoZSByZXN1
bHQgb2YgZXZhbHVhdGluZyAoaW5zdGFudCBpbnN0YW5jZW9mIFRlbXBvcmFsLkluc3RhbnQpIGlz
IGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICAgKTsKKworICAgIHJldHVybiAtTnVtYmVyKGluc3Rh
bnQuZXBvY2hOYW5vc2Vjb25kcyAlIDg2NDAwMDAwMDAwMDAwbik7CisgIH0KK30sIHsKKyAgaGFz
KHRhcmdldCwgcHJvcGVydHkpIHsKKyAgICBhY3R1YWwucHVzaChgaGFzIG5lc3RlZFRpbWVab25l
LiR7U3RyaW5nKHByb3BlcnR5KX1gKTsKKyAgICByZXR1cm4gcHJvcGVydHkgaW4gdGFyZ2V0Owor
ICB9LAorCisgIGdldCh0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgYWN0dWFsLnB1c2goYGdldCBu
ZXN0ZWRUaW1lWm9uZS4ke1N0cmluZyhwcm9wZXJ0eSl9YCk7CisgICAgcmV0dXJuIHRhcmdldFtw
cm9wZXJ0eV07CisgIH0KK30pOworCitjb25zdCB0aW1lWm9uZSA9IG5ldyBQcm94eSh7CisgIHRp
bWVab25lOiBuZXN0ZWRUaW1lWm9uZSwKKworICBnZXRPZmZzZXROYW5vc2Vjb25kc0ZvcihpbnN0
YW50KSB7CisgICAgYWN0dWFsLnB1c2goJ2NhbGwgdGltZVpvbmUuZ2V0T2Zmc2V0TmFub3NlY29u
ZHNGb3InKTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBpbnN0YW50IGluc3RhbmNl
b2YgVGVtcG9yYWwuSW5zdGFudCwKKyAgICAgIHRydWUsCisgICAgICAnVGhlIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIChpbnN0YW50IGluc3RhbmNlb2YgVGVtcG9yYWwuSW5zdGFudCkgaXMgZXhwZWN0
ZWQgdG8gYmUgdHJ1ZScKKyAgICApOworCisgICAgcmV0dXJuIC1OdW1iZXIoaW5zdGFudC5lcG9j
aE5hbm9zZWNvbmRzICUgODY0MDAwMDAwMDAwMDBuKTsKKyAgfQorfSwgeworICBoYXModGFyZ2V0
LCBwcm9wZXJ0eSkgeworICAgIGFjdHVhbC5wdXNoKGBoYXMgdGltZVpvbmUuJHtwcm9wZXJ0eX1g
KTsKKyAgICByZXR1cm4gcHJvcGVydHkgaW4gdGFyZ2V0OworICB9LAorCisgIGdldCh0YXJnZXQs
IHByb3BlcnR5KSB7CisgICAgYWN0dWFsLnB1c2goYGdldCB0aW1lWm9uZS4ke3Byb3BlcnR5fWAp
OworICAgIHJldHVybiB0YXJnZXRbcHJvcGVydHldOworICB9Cit9KTsKKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KFRlbXBvcmFsLlRpbWVab25lLCAnZnJvbScsIHsKKyAgZ2V0KCkgeworICAgIGFj
dHVhbC5wdXNoKCdnZXQgVGVtcG9yYWwuVGltZVpvbmUuZnJvbScpOworICAgIHJldHVybiB1bmRl
ZmluZWQ7CisgIH0KK30pOworCitUZW1wb3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTyh0aW1lWm9u
ZSk7Cithc3NlcnQuY29tcGFyZUFycmF5KGFjdHVhbCwgZXhwZWN0ZWQsICdUaGUgdmFsdWUgb2Yg
YWN0dWFsIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBleHBlY3RlZCcpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy9wbGFp
bkRhdGVUaW1lSVNPL3RpbWV6b25lLXN0cmluZy1kYXRldGltZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1z
dHJpbmctZGF0ZXRpbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjI1MjVhOTVhNTQ1OTdiNjdiZDNjYzc2NDY1
NzJkMmEwZDQ4ZmU4ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UZW1wb3JhbC9Ob3cvcGxhaW5EYXRlVGltZUlTTy90aW1lem9uZS1zdHJpbmctZGF0
ZXRpbWUuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSwg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNl
Yy10ZW1wb3JhbC5ub3cucGxhaW5kYXRldGltZWlzbworZGVzY3JpcHRpb246IENvbnZlcnNpb24g
b2YgSVNPIGRhdGUtdGltZSBzdHJpbmdzIHRvIFRlbXBvcmFsLlRpbWVab25lIGluc3RhbmNlcwor
ZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSovCisKK2xldCB0aW1lWm9uZSA9ICIyMDIxLTA4LTE5
VDE3OjMwIjsKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgKCkgPT4gVGVtcG9yYWwuTm93LnBs
YWluRGF0ZVRpbWVJU08odGltZVpvbmUpLCAiYmFyZSBkYXRlLXRpbWUgc3RyaW5nIGlzIG5vdCBh
IHRpbWUgem9uZSIpOworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiBUZW1wb3JhbC5O
b3cucGxhaW5EYXRlVGltZUlTTyh7IHRpbWVab25lIH0pLCAiYmFyZSBkYXRlLXRpbWUgc3RyaW5n
IGlzIG5vdCBhIHRpbWUgem9uZSIpOworCisvLyBUaGUgZm9sbG93aW5nIGFyZSBhbGwgdmFsaWQg
c3RyaW5ncyBzbyBzaG91bGQgbm90IHRocm93OgorCitbCisgICIyMDIxLTA4LTE5VDE3OjMwWiIs
CisgICIyMDIxLTA4LTE5VDE3MzBaIiwKKyAgIjIwMjEtMDgtMTlUMTc6MzAtMDc6MDAiLAorICAi
MjAyMS0wOC0xOVQxNzMwLTA3OjAwIiwKKyAgIjIwMjEtMDgtMTlUMTc6MzAtMDcwMCIsCisgICIy
MDIxLTA4LTE5VDE3MzAtMDcwMCIsCisgICIyMDIxLTA4LTE5VDE3OjMwW0FtZXJpY2EvVmFuY291
dmVyXSIsCisgICIyMDIxLTA4LTE5VDE3MzBbQW1lcmljYS9WYW5jb3V2ZXJdIiwKKyAgIjIwMjEt
MDgtMTlUMTc6MzBaW0FtZXJpY2EvVmFuY291dmVyXSIsCisgICIyMDIxLTA4LTE5VDE3MzBaW0Ft
ZXJpY2EvVmFuY291dmVyXSIsCisgICIyMDIxLTA4LTE5VDE3OjMwLTA3OjAwW0FtZXJpY2EvVmFu
Y291dmVyXSIsCisgICIyMDIxLTA4LTE5VDE3MzAtMDc6MDBbQW1lcmljYS9WYW5jb3V2ZXJdIiwK
KyAgIjIwMjEtMDgtMTlUMTc6MzAtMDcwMFtBbWVyaWNhL1ZhbmNvdXZlcl0iLAorICAiMjAyMS0w
OC0xOVQxNzMwLTA3MDBbQW1lcmljYS9WYW5jb3V2ZXJdIiwKK10uZm9yRWFjaCgodGltZVpvbmUp
ID0+IHsKKyAgVGVtcG9yYWwuTm93LnBsYWluRGF0ZVRpbWVJU08odGltZVpvbmUpOworICBUZW1w
b3JhbC5Ob3cucGxhaW5EYXRlVGltZUlTTyh7IHRpbWVab25lIH0pOworfSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRp
bWUvY2FsZW5kYXItZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXItZnVuY3Rpb24uanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTIwOTJjOWQ5NGExMDEyNTlkNDFkNDgxYmExOWVlNGI4ZTcyMjJmOQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWRE
YXRlVGltZS9jYWxlbmRhci1mdW5jdGlvbi5qcwpAQCAtMCwwICsxLDQ3IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0aW1lCitkZXNjcmlw
dGlvbjogQmVoYXZpb3Igd2hlbiBwcm92aWRlZCBjYWxlbmRhciB2YWx1ZSBpcyBhIGZ1bmN0aW9u
CitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2ZlYXR1cmVzOiBbQmlnSW50LCBQcm94eSwg
VGVtcG9yYWxdCistLS0qLworY29uc3QgYWN0dWFsID0gW107CisKK2NvbnN0IGV4cGVjdGVkID0g
WworICAnaGFzIHRpbWVab25lLnRpbWVab25lJworXTsKKworY29uc3QgY2FsZW5kYXIgPSBmdW5j
dGlvbigpIHt9OworCitjb25zdCB0aW1lWm9uZSA9IG5ldyBQcm94eSh7CisgIGdldE9mZnNldE5h
bm9zZWNvbmRzRm9yKGluc3RhbnQpIHsKKyAgICBhY3R1YWwucHVzaCgnY2FsbCB0aW1lWm9uZS5n
ZXRPZmZzZXROYW5vc2Vjb25kc0ZvcicpOworICAgIHJldHVybiAtTnVtYmVyKGluc3RhbnQuZXBv
Y2hOYW5vc2Vjb25kcyAlIDg2NDAwMDAwMDAwMDAwbik7CisgIH0KK30sIHsKKyAgaGFzKHRhcmdl
dCwgcHJvcGVydHkpIHsKKyAgICBhY3R1YWwucHVzaChgaGFzIHRpbWVab25lLiR7cHJvcGVydHl9
YCk7CisgICAgcmV0dXJuIHByb3BlcnR5IGluIHRhcmdldDsKKyAgfSwKKworICBnZXQodGFyZ2V0
LCBwcm9wZXJ0eSkgeworICAgIGFjdHVhbC5wdXNoKGBnZXQgdGltZVpvbmUuJHtwcm9wZXJ0eX1g
KTsKKyAgICByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5XTsKKyAgfQorfSk7CisKK09iamVjdC5kZWZp
bmVQcm9wZXJ0eShUZW1wb3JhbC5DYWxlbmRhciwgJ2Zyb20nLCB7CisgIGdldCgpIHsKKyAgICBh
Y3R1YWwucHVzaCgnZ2V0IFRlbXBvcmFsLkNhbGVuZGFyLmZyb20nKTsKKyAgICByZXR1cm4gdW5k
ZWZpbmVkOworICB9Cit9KTsKKworY29uc3QgcmVzdWx0ID0gVGVtcG9yYWwuTm93LnpvbmVkRGF0
ZVRpbWUoY2FsZW5kYXIsIHRpbWVab25lKTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShhY3R1YWws
IGV4cGVjdGVkLCAnVGhlIHZhbHVlIG9mIGFjdHVhbCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUg
dmFsdWUgb2YgZXhwZWN0ZWQnKTsKKworZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbJ2hvdXInLCAn
bWludXRlJywgJ3NlY29uZCcsICdtaWxsaXNlY29uZCcsICdtaWNyb3NlY29uZCcsICduYW5vc2Vj
b25kJ10pIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRbcHJvcGVydHldLCAwLCAnVGhlIHZh
bHVlIG9mIHJlc3VsdFtwcm9wZXJ0eV0gaXMgZXhwZWN0ZWQgdG8gYmUgMCcpOworfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERh
dGVUaW1lL2NhbGVuZGFyLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXIt
b2JqZWN0LWZhaWwtY2FsbC10b3N0cmluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDU1MWYzMTFjMjZhMDkx
YThmYzQ2OTZjZjcyY2Y2YzgxODI0ZmY0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2NhbGVuZGFyLW9i
amVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKQEAgLTAsMCArMSwyMCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0aW1l
CitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3IgdGhyb3duIGJ5IGludm9raW5nICJ0b1N0cmlu
ZyIgcHJvcGVydHkKK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCit2YXIgY2FsZW5kYXIg
PSB7CisgIGNhbGVuZGFyOiB7CisgICAgY2FsZW5kYXI6IHRydWUsCisgICAgdG9TdHJpbmc6IGZ1
bmN0aW9uKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0sCisgIH0K
K307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgVGVtcG9y
YWwuTm93LnpvbmVkRGF0ZVRpbWUoY2FsZW5kYXIpOworfSwgJ1RlbXBvcmFsLk5vdy56b25lZERh
dGVUaW1lKGNhbGVuZGFyKSB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVk
RGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtZ2V0LWNhbGVuZGFyLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2NhbGVuZGFy
LW9iamVjdC1mYWlsLWdldC1jYWxlbmRhci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODVlMzU4Y2NjMmZkNGI2
YzNlYzcwOGJjZDc4YzRhNDZmZGUzYjkxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2NhbGVuZGFyLW9i
amVjdC1mYWlsLWdldC1jYWxlbmRhci5qcwpAQCAtMCwwICsxLDE3IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWUK
K2Rlc2NyaXB0aW9uOiBGb3J3YXJkcyBlcnJvciB0aHJvd24gYnkgcmV0cmlldmluZyB2YWx1ZSBv
ZiAiY2FsZW5kYXIiIHByb3BlcnR5CitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwordmFy
IGNhbGVuZGFyID0geworICBnZXQgY2FsZW5kYXIoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigpOworICB9LAorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9u
KCkgeworICBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZShjYWxlbmRhcik7Cit9LCAnVGVtcG9y
YWwuTm93LnpvbmVkRGF0ZVRpbWUoY2FsZW5kYXIpIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNl
cHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvem9uZWREYXRlVGltZS9jYWxlbmRhci1vYmplY3QtZmFpbC1oYXMtY2FsZW5kYXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0
ZVRpbWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtaGFzLWNhbGVuZGFyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
MjkxNTY0NmEzOWRlZDIwZjY3NDEzNjFkM2E5NTEwMWZiMzExYWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRp
bWUvY2FsZW5kYXItb2JqZWN0LWZhaWwtaGFzLWNhbGVuZGFyLmpzCkBAIC0wLDAgKzEsMjAgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5v
dy56b25lZGRhdGV0aW1lCitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3IgdGhyb3duIGJ5IGNo
ZWNraW5nIHByZXNlbmNlIG9mICJjYWxlbmRhciIgcHJvcGVydHkKK2ZlYXR1cmVzOiBbUHJveHks
IFRlbXBvcmFsXQorLS0tKi8KKwordmFyIGNhbGVuZGFyID0gbmV3IFByb3h5KHt9LCB7CisgIGhh
czogZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eSkgeworICAgIGlmIChwcm9wZXJ0eSA9PT0gJ2Nh
bGVuZGFyJykgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0KKyAgfSwK
K30pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIFRlbXBv
cmFsLk5vdy56b25lZERhdGVUaW1lKGNhbGVuZGFyKTsKK30sICdUZW1wb3JhbC5Ob3cuem9uZWRE
YXRlVGltZShjYWxlbmRhcikgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25l
ZERhdGVUaW1lL2NhbGVuZGFyLW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtY2FsZW5kYXIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUv
Y2FsZW5kYXItb2JqZWN0LWZhaWwtaGFzLW5lc3RlZC1jYWxlbmRhci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YTVjY2ZlMDkyYmMyMjA4ZGJmODkxYTBhODQ2YmY2NzQwYzQxNWRiCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVU
aW1lL2NhbGVuZGFyLW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtY2FsZW5kYXIuanMKQEAgLTAsMCAr
MSwyMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBv
cmFsLm5vdy56b25lZGRhdGV0aW1lCitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3IgdGhyb3du
IGJ5IGNoZWNraW5nIHByZXNlbmNlIG9mIG5lc3RlZCAiY2FsZW5kYXIiIHByb3BlcnR5CitmZWF0
dXJlczogW1Byb3h5LCBUZW1wb3JhbF0KKy0tLSovCisKK3ZhciBjYWxlbmRhciA9IHsKKyAgY2Fs
ZW5kYXI6IG5ldyBQcm94eSh7fSwgeworICAgIGhhczogZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0
eSkgeworICAgICAgaWYgKHByb3BlcnR5ID09PSAnY2FsZW5kYXInKSB7CisgICAgICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoKTsKKyAgICAgIH0KKyAgICB9LAorICB9KQorfTsKKworYXNzZXJ0
LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICBUZW1wb3JhbC5Ob3cuem9uZWRE
YXRlVGltZShjYWxlbmRhcik7Cit9LCAnVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWUoY2FsZW5k
YXIpIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS9jYWxl
bmRhci1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Tm93L3pvbmVkRGF0ZVRpbWUvY2FsZW5kYXItb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5MTNhMTgw
MjJhOGVlYzBjZjI2OTA4MDYwYzk3ODhkM2JlMjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvY2Fs
ZW5kYXItb2JqZWN0LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBJ
Z2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cuem9uZWRkYXRldGltZQorZGVzY3JpcHRpb246IE9ic2Vy
dmFibGUgaW50ZXJhY3Rpb25zIHdpdGggdGhlIHByb3ZpZGVkIGNhbGVuZGFyLWxpa2Ugb2JqZWN0
CitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2ZlYXR1cmVzOiBbUHJveHksIFRlbXBvcmFs
XQorLS0tKi8KKworY29uc3QgYWN0dWFsID0gW107Citjb25zdCBleHBlY3RlZFdpdGhvdXQgPSBb
CisgICdoYXMgY2FsZW5kYXIuY2FsZW5kYXInLAorICAnZ2V0IGNhbGVuZGFyLmNhbGVuZGFyJywK
KyAgJ2hhcyBuZXN0ZWRDYWxlbmRhci5jYWxlbmRhcicKK107Citjb25zdCBleHBlY3RlZFdpdGgg
PSBbCisgICdoYXMgY2FsZW5kYXIuY2FsZW5kYXInLAorICAnZ2V0IGNhbGVuZGFyLmNhbGVuZGFy
JywKKyAgJ2hhcyBuZXN0ZWRDYWxlbmRhci5jYWxlbmRhcicsCisgICdnZXQgbmVzdGVkQ2FsZW5k
YXIuU3ltYm9sKFN5bWJvbC50b1ByaW1pdGl2ZSknLAorICAnZ2V0IG5lc3RlZENhbGVuZGFyLnRv
U3RyaW5nJywKKyAgJ2NhbGwgbmVzdGVkQ2FsZW5kYXIudG9TdHJpbmcnCitdOworY29uc3QgbmVz
dGVkQ2FsZW5kYXIgPSBuZXcgUHJveHkoeworICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAg
YWN0dWFsLnB1c2goJ2NhbGwgbmVzdGVkQ2FsZW5kYXIudG9TdHJpbmcnKTsKKyAgICByZXR1cm4g
J2lzbzg2MDEnOworICB9Cit9LCB7CisgIGhhcyh0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgYWN0
dWFsLnB1c2goYGhhcyBuZXN0ZWRDYWxlbmRhci4ke1N0cmluZyhwcm9wZXJ0eSl9YCk7CisgICAg
cmV0dXJuIHByb3BlcnR5IGluIHRhcmdldDsKKyAgfSwKKyAgZ2V0KHRhcmdldCwgcHJvcGVydHkp
IHsKKyAgICBhY3R1YWwucHVzaChgZ2V0IG5lc3RlZENhbGVuZGFyLiR7U3RyaW5nKHByb3BlcnR5
KX1gKTsKKyAgICByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5XTsKKyAgfSwKK30pOworY29uc3QgY2Fs
ZW5kYXIgPSBuZXcgUHJveHkoeworICBjYWxlbmRhcjogbmVzdGVkQ2FsZW5kYXIsCisgIHRvU3Ry
aW5nOiBmdW5jdGlvbigpIHsKKyAgICBhY3R1YWwucHVzaCgnY2FsbCBjYWxlbmRhci50b1N0cmlu
ZycpOworICAgIHJldHVybiAnaXNvODYwMSc7CisgIH0sCit9LCB7CisgIGhhcyh0YXJnZXQsIHBy
b3BlcnR5KSB7CisgICAgYWN0dWFsLnB1c2goYGhhcyBjYWxlbmRhci4ke1N0cmluZyhwcm9wZXJ0
eSl9YCk7CisgICAgcmV0dXJuIHByb3BlcnR5IGluIHRhcmdldDsKKyAgfSwKKyAgZ2V0KHRhcmdl
dCwgcHJvcGVydHkpIHsKKyAgICBhY3R1YWwucHVzaChgZ2V0IGNhbGVuZGFyLiR7U3RyaW5nKHBy
b3BlcnR5KX1gKTsKKyAgICByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5XTsKKyAgfSwKK30pOworCitP
YmplY3QuZGVmaW5lUHJvcGVydHkoVGVtcG9yYWwuQ2FsZW5kYXIsICdmcm9tJywgeworICBnZXQo
KSB7CisgICAgYWN0dWFsLnB1c2goJ2dldCBUZW1wb3JhbC5DYWxlbmRhci5mcm9tJyk7CisgICAg
cmV0dXJuIHVuZGVmaW5lZDsKKyAgfSwKK30pOworCitUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGlt
ZShjYWxlbmRhcik7CisKK2Fzc2VydC5jb21wYXJlQXJyYXkoYWN0dWFsLCBleHBlY3RlZFdpdGhv
dXQsICdPYnNlcnZhYmxlIGludGVyYWN0aW9ucyB3aXRob3V0IGBjYWxlbmRhcmAgcHJvcGVydHkn
KTsKKworYWN0dWFsLmxlbmd0aCA9IDA7CituZXN0ZWRDYWxlbmRhci5jYWxlbmRhciA9IG51bGw7
CisKK1RlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKGNhbGVuZGFyKTsKKworYXNzZXJ0LmNvbXBh
cmVBcnJheShhY3R1YWwsIGV4cGVjdGVkV2l0aCwgJ09ic2VydmFibGUgaW50ZXJhY3Rpb25zIHdp
dGggYGNhbGVuZGFyYCBwcm9wZXJ0eScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2NhbGVuZGFyLXRlbXBvcmFs
LW9iamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cv
em9uZWREYXRlVGltZS9jYWxlbmRhci10ZW1wb3JhbC1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY1
ZDE5NTE3NjBkMDQyMTJkYWE3M2ExZTY3N2MzMjNiOTYzMDI0ZQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGlt
ZS9jYWxlbmRhci10ZW1wb3JhbC1vYmplY3QuanMKQEAgLTAsMCArMSwyMiBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0aW1lCitkZXNj
cmlwdGlvbjogRmFzdCBwYXRoIGZvciBjb252ZXJ0aW5nIG90aGVyIFRlbXBvcmFsIG9iamVjdHMg
dG8gVGVtcG9yYWwuQ2FsZW5kYXIgYnkgcmVhZGluZyBpbnRlcm5hbCBzbG90cworaW5mbzogfAor
ICAgIHNlYy10ZW1wb3JhbC5ub3cuem9uZWRkYXRldGltZSBzdGVwIDE6CisgICAgICAxLiBSZXR1
cm4gPyBTeXN0ZW1ab25lZERhdGVUaW1lKF90ZW1wb3JhbFRpbWVab25lTGlrZV8sIF9jYWxlbmRh
cl8pLgorICAgIHNlYy10ZW1wb3JhbC1zeXN0ZW16b25lZGRhdGV0aW1lIHN0ZXAgMzoKKyAgICAg
IDMuIExldCBfY2FsZW5kYXJfIGJlID8gVG9UZW1wb3JhbENhbGVuZGFyKF9jYWxlbmRhckxpa2Vf
KS4KKyAgICBzZWMtdGVtcG9yYWwtdG90ZW1wb3JhbGNhbGVuZGFyIHN0ZXAgMS5hOgorICAgICAg
YS4gSWYgX3RlbXBvcmFsQ2FsZW5kYXJMaWtlXyBoYXMgYW4gW1tJbml0aWFsaXplZFRlbXBvcmFs
RGF0ZV1dLCBbW0luaXRpYWxpemVkVGVtcG9yYWxEYXRlVGltZV1dLCBbW0luaXRpYWxpemVkVGVt
cG9yYWxNb250aERheV1dLCBbW0luaXRpYWxpemVkVGVtcG9yYWxZZWFyTW9udGhdXSwgb3IgW1tJ
bml0aWFsaXplZFRlbXBvcmFsWm9uZWREYXRlVGltZV1dIGludGVybmFsIHNsb3QsIHRoZW4KKyAg
ICAgICAgaS4gUmV0dXJuIF90ZW1wb3JhbENhbGVuZGFyTGlrZV8uW1tDYWxlbmRhcl1dLgoraW5j
bHVkZXM6IFtjb21wYXJlQXJyYXkuanMsIHRlbXBvcmFsSGVscGVycy5qc10KK2ZlYXR1cmVzOiBb
VGVtcG9yYWxdCistLS0qLworCitUZW1wb3JhbEhlbHBlcnMuY2hlY2tUb1RlbXBvcmFsQ2FsZW5k
YXJGYXN0UGF0aCgodGVtcG9yYWxPYmplY3QsIGNhbGVuZGFyKSA9PiB7CisgIGNvbnN0IHJlc3Vs
dCA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKHRlbXBvcmFsT2JqZWN0KTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQuY2FsZW5kYXIsIGNhbGVuZGFyLCAiVGVtcG9yYWwgb2JqZWN0IGNv
ZXJjZWQgdG8gY2FsZW5kYXIiKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2V4dGVuc2libGUuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUv
ZXh0ZW5zaWJsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTAwOGM5MjM1MjkyOTNhZjU0NDk0NDMzZTYwN2I3
MDU0YWY0ZDM2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2V4dGVuc2libGUuanMKQEAgLTAsMCArMSwx
MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFs
Lm5vdy56b25lZGRhdGV0aW1lCitkZXNjcmlwdGlvbjogVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRp
bWUgaXMgZXh0ZW5zaWJsZS4KK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCithc3NlcnQo
CisgIE9iamVjdC5pc0V4dGVuc2libGUoVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWUpLAorICAn
T2JqZWN0LmlzRXh0ZW5zaWJsZShUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZSkgbXVzdCByZXR1
cm4gdHJ1ZScKKyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL2xlbmd0aC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNjNjMWYwNjEzZTJlY2VkZDUzNGZjODY0ZDFmMWM0OWZmZDY1MDI1Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25l
ZERhdGVUaW1lL2xlbmd0aC5qcwpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWUKK2Rlc2NyaXB0aW9uOiBU
aGUgYGxlbmd0aGAgcHJvcGVydHkgb2YgVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWUKK2luZm86
IHwKKyAgICBFdmVyeSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1
Y3RvcnMsIGhhcyBhICJsZW5ndGgiIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCisgICAgYW4gaW50
ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUgaXMgZXF1YWwgdG8g
dGhlIGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkCisgICAgYXJndW1lbnRzIHNob3duIGluIHRoZSBz
dWJjbGF1c2UgaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbi4gT3B0aW9uYWwg
cGFyYW1ldGVycworICAgICh3aGljaCBhcmUgaW5kaWNhdGVkIHdpdGggYnJhY2tldHM6IFsgXSkg
b3IgcmVzdCBwYXJhbWV0ZXJzICh3aGljaCBhcmUgc2hvd24gdXNpbmcgdGhlIGZvcm0KKyAgICDC
qy4uLm5hbWXCuykgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb3Vu
dC4KKworICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgImxlbmd0aCIgcHJvcGVy
dHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QgaGFzIHRoZQorICAgIGF0dHJpYnV0ZXMg
eyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJh
YmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczog
W1RlbXBvcmFsXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoVGVtcG9yYWwuTm93LnpvbmVkRGF0
ZVRpbWUsICJsZW5ndGgiLCB7CisgIHZhbHVlOiAxLAorICB3cml0YWJsZTogZmFsc2UsCisgIGVu
dW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGlt
ZS9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96
b25lZERhdGVUaW1lL25hbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjUzOGVmMzJlM2UwNGYwODhmZmI0MjA5
OGIwZmE2MWVmMDMzNWNlOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS9uYW1lLmpzCkBAIC0wLDAgKzEs
MjAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3Jh
bC5ub3cuem9uZWRkYXRldGltZQorZGVzY3JpcHRpb246IFRlbXBvcmFsLk5vdy56b25lZERhdGVU
aW1lLm5hbWUgaXMgInpvbmVkRGF0ZVRpbWUiLgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5q
c10KK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBU
ZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZS5uYW1lLAorICAnem9uZWREYXRlVGltZScsCisgICdU
aGUgdmFsdWUgb2YgVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWUubmFtZSBpcyBleHBlY3RlZCB0
byBiZSAiem9uZWREYXRlVGltZSInCispOworCit2ZXJpZnlQcm9wZXJ0eShUZW1wb3JhbC5Ob3cu
em9uZWREYXRlVGltZSwgJ25hbWUnLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJs
ZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Tm93L3pvbmVkRGF0ZVRpbWUvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2EzMjli
NWZlYzYyMTEzZjM3NDkwMjFjYWY0MjA5YTJkODYyNTkzMAotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWUKK2Rlc2Ny
aXB0aW9uOiBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXQoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgVGVtcG9yYWwsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKSBtdXN0IHJldHVy
biBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgVGVt
cG9yYWwuTm93LnpvbmVkRGF0ZVRpbWUoKTsKK30sICduZXcgVGVtcG9yYWwuTm93LnpvbmVkRGF0
ZVRpbWUoKSB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvcHJv
cC1kZXNjLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96
b25lZERhdGVUaW1lL3Byb3AtZGVzYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZWExMjgzNWNkZmRkMTVlMTE0
ZjdkMzA4MDUwNWUxY2I0OTI0ZjA3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL3Byb3AtZGVzYy5qcwpA
QCAtMCwwICsxLDE0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBz
ZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWUKK2Rlc2NyaXB0aW9uOiBUaGUgInpvbmVkRGF0
ZVRpbWUiIHByb3BlcnR5IG9mIFRlbXBvcmFsLk5vdworaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBl
ci5qc10KK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShUZW1w
b3JhbC5Ob3csICd6b25lZERhdGVUaW1lJywgeworICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3Jp
dGFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGlt
ZS16b25lLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvem9uZWREYXRlVGltZS90aW1lLXpvbmUtdW5kZWZpbmVkLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjcxYmM1ODE2YTI3YTZlMjZiMzE2YWY2MDBlNDRjMjU1MmM0M2VjMTIKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0
ZVRpbWUvdGltZS16b25lLXVuZGVmaW5lZC5qcwpAQCAtMCwwICsxLDMxIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWUKK2Rlc2Ny
aXB0aW9uOiBGdW5jdGlvbnMgd2hlbiB0aW1lIHpvbmUgYXJndW1lbnQgaXMgb21pdHRlZAoraW5j
bHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwor
Y29uc3QgYWN0dWFsID0gW107Citjb25zdCBleHBlY3RlZCA9IFtdOworCitPYmplY3QuZGVmaW5l
UHJvcGVydHkoVGVtcG9yYWwuVGltZVpvbmUsICJmcm9tIiwgeworICBnZXQoKSB7CisgICAgYWN0
dWFsLnB1c2goImdldCBUZW1wb3JhbC5UaW1lWm9uZS5mcm9tIik7CisgICAgcmV0dXJuIHVuZGVm
aW5lZDsKKyAgfSwKK30pOworCitjb25zdCBzeXN0ZW1UaW1lWm9uZSA9IFRlbXBvcmFsLk5vdy50
aW1lWm9uZSgpOworCitjb25zdCByZXN1bHRFeHBsaWNpdCA9IFRlbXBvcmFsLk5vdy56b25lZERh
dGVUaW1lKCdpc284NjAxJywgdW5kZWZpbmVkKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0RXhw
bGljaXQudGltZVpvbmUuaWQsIHN5c3RlbVRpbWVab25lLmlkKTsKKworYXNzZXJ0LmNvbXBhcmVB
cnJheShhY3R1YWwsIGV4cGVjdGVkLCAiVGVtcG9yYWwuVGltZVpvbmUuZnJvbSBzaG91bGQgbm90
IGJlIGNhbGxlZCIpOworCitjb25zdCByZXN1bHRJbXBsaWNpdCA9IFRlbXBvcmFsLk5vdy56b25l
ZERhdGVUaW1lKCdpc284NjAxJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdEltcGxpY2l0LnRp
bWVab25lLmlkLCBzeXN0ZW1UaW1lWm9uZS5pZCk7CisKK2Fzc2VydC5jb21wYXJlQXJyYXkoYWN0
dWFsLCBleHBlY3RlZCwgIlRlbXBvcmFsLlRpbWVab25lLmZyb20gc2hvdWxkIG5vdCBiZSBjYWxs
ZWQiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3Jh
bC9Ob3cvem9uZWREYXRlVGltZS90aW1lem9uZS1vYmplY3QtZmFpbC1jYWxsLXRvc3RyaW5nLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVU
aW1lL3RpbWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY0
NjllYjRhNTVhM2Q3OTkxOTliYzNjM2IxMzUxN2ZmYjFkMjViZAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGlt
ZS90aW1lem9uZS1vYmplY3QtZmFpbC1jYWxsLXRvc3RyaW5nLmpzCkBAIC0wLDAgKzEsMjAgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cu
em9uZWRkYXRldGltZQorZGVzY3JpcHRpb246IEZvcndhcmRzIGVycm9yIHRocm93biBieSBpbnZv
a2luZyAidG9TdHJpbmciIHByb3BlcnR5CitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwor
dmFyIHRpbWVab25lID0geworICB0aW1lWm9uZTogeworICAgIHRpbWVab25lOiB0cnVlLAorICAg
IHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsK
KyAgICB9LAorICB9Cit9OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24o
KSB7CisgIFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpOwor
fSwgJ1RlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpIHRocm93
cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS90aW1lem9uZS1vYmpl
Y3QtZmFpbC1nZXQtdGltZXpvbmUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0LXRpbWV6
b25lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjYzMDUzNmNlZmIxZjlmNmFmZDQ2YjZmMGRiMzMxZjg5NmI5ZTEz
MTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0LXRpbWV6b25l
LmpzCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVj
dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy10ZW1wb3JhbC5ub3cuem9uZWRkYXRldGltZQorZGVzY3JpcHRpb246IEZvcndhcmRz
IGVycm9yIHRocm93biBieSByZXRyaWV2aW5nIHZhbHVlIG9mICJ0aW1lWm9uZSIgcHJvcGVydHkK
K2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLworCit2YXIgdGltZVpvbmUgPSB7CisgIGdldCB0
aW1lWm9uZSgpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0sCit9OworCith
c3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIFRlbXBvcmFsLk5vdy56
b25lZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpOworfSwgJ1RlbXBvcmFsLk5vdy56b25l
ZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNl
cHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvem9uZWREYXRlVGltZS90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRp
bWV6b25lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96
b25lZERhdGVUaW1lL3RpbWV6b25lLW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtdGltZXpvbmUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDcwZmY2MmRhMDFiZTdlYjk4NTU2YWI1ZDJlZTlmMTMyNDJhN2I2YQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9O
b3cvem9uZWREYXRlVGltZS90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRpbWV6b25l
LmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVj
dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy10ZW1wb3JhbC5ub3cuem9uZWRkYXRldGltZQorZGVzY3JpcHRpb246IEZvcndhcmRz
IGVycm9yIHRocm93biBieSBjaGVja2luZyBwcmVzZW5jZSBvZiBuZXN0ZWQgInRpbWVab25lIiBw
cm9wZXJ0eQorZmVhdHVyZXM6IFtQcm94eSwgVGVtcG9yYWxdCistLS0qLworCit2YXIgdGltZVpv
bmUgPSB7CisgIHRpbWVab25lOiBuZXcgUHJveHkoe30sIHsKKyAgICBoYXM6IGZ1bmN0aW9uKHRh
cmdldCwgcHJvcGVydHkpIHsKKyAgICAgIGlmIChwcm9wZXJ0eSA9PT0gJ3RpbWVab25lJykgewor
ICAgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgICB9CisgICAgfSwKKyAgfSkK
K307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgVGVtcG9y
YWwuTm93LnpvbmVkRGF0ZVRpbWUoImlzbzg2MDEiLCB0aW1lWm9uZSk7Cit9LCAnVGVtcG9yYWwu
Tm93LnpvbmVkRGF0ZVRpbWUoImlzbzg2MDEiLCB0aW1lWm9uZSkgdGhyb3dzIGEgVGVzdDI2MkVy
cm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lL3RpbWV6b25lLW9iamVjdC1mYWlsLWhhcy10
aW1lem9uZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cv
em9uZWREYXRlVGltZS90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtdGltZXpvbmUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2UxZDk5N2NhMGUyMDI4OGRkZjQ1MzBiMDk5NTg1OWQ4MTE3MGE1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9u
ZWREYXRlVGltZS90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtdGltZXpvbmUuanMKQEAgLTAsMCAr
MSwxOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBv
cmFsLm5vdy56b25lZGRhdGV0aW1lCitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3IgdGhyb3du
IGJ5IGNoZWNraW5nIHByZXNlbmNlIG9mICJ0aW1lWm9uZSIgcHJvcGVydHkKK2ZlYXR1cmVzOiBb
UHJveHksIFRlbXBvcmFsXQorLS0tKi8KKwordmFyIHRpbWVab25lID0gbmV3IFByb3h5KHt9LCB7
CisgIGhhczogZnVuY3Rpb24odGFyZ2V0LCBwcm9wZXJ0eSkgeworICAgIGlmIChwcm9wZXJ0eSA9
PT0gJ3RpbWVab25lJykgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0K
KyAgfSwKK30pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Cisg
IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpOworfSwgJ1Rl
bXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpIHRocm93cyBhIFRl
c3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS90aW1lem9uZS1vYmplY3QuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRp
bWUvdGltZXpvbmUtb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MjYwYTM4NTIzMTgzZTAyYWY0YWQz
ZGIyZDFlOTI4NmQ1ZWI5MzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGltZXpvbmUtb2JqZWN0Lmpz
CkBAIC0wLDAgKzEsNzUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEsIFMuTC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9y
YWwubm93LnpvbmVkZGF0ZXRpbWUKK2Rlc2NyaXB0aW9uOiBPYnNlcnZhYmxlIGludGVyYWN0aW9u
cyB3aXRoIHRoZSBwcm92aWRlZCB0aW1lem9uZS1saWtlIG9iamVjdAoraW5jbHVkZXM6IFtjb21w
YXJlQXJyYXkuanNdCitmZWF0dXJlczogW0JpZ0ludCwgUHJveHksIFRlbXBvcmFsXQorLS0tKi8K
K2NvbnN0IGFjdHVhbCA9IFtdOworCitjb25zdCBleHBlY3RlZCA9IFsKKyAgJ2hhcyB0aW1lWm9u
ZS50aW1lWm9uZScsCisgICdnZXQgdGltZVpvbmUudGltZVpvbmUnLAorICAnaGFzIG5lc3RlZFRp
bWVab25lLnRpbWVab25lJworXTsKKworY29uc3QgbmVzdGVkVGltZVpvbmUgPSBuZXcgUHJveHko
eworICBnZXRPZmZzZXROYW5vc2Vjb25kc0ZvcihpbnN0YW50KSB7CisgICAgYWN0dWFsLnB1c2go
J2NhbGwgbmVzdGVkVGltZVpvbmUuZ2V0T2Zmc2V0TmFub3NlY29uZHNGb3InKTsKKworICAgIGFz
c2VydC5zYW1lVmFsdWUoCisgICAgICBpbnN0YW50IGluc3RhbmNlb2YgVGVtcG9yYWwuSW5zdGFu
dCwKKyAgICAgIHRydWUsCisgICAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChpbnN0YW50
IGluc3RhbmNlb2YgVGVtcG9yYWwuSW5zdGFudCkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAg
ICApOworCisgICAgcmV0dXJuIC1OdW1iZXIoaW5zdGFudC5lcG9jaE5hbm9zZWNvbmRzICUgODY0
MDAwMDAwMDAwMDBuKTsKKyAgfQorfSwgeworICBoYXModGFyZ2V0LCBwcm9wZXJ0eSkgeworICAg
IGFjdHVhbC5wdXNoKGBoYXMgbmVzdGVkVGltZVpvbmUuJHtTdHJpbmcocHJvcGVydHkpfWApOwor
ICAgIHJldHVybiBwcm9wZXJ0eSBpbiB0YXJnZXQ7CisgIH0sCisKKyAgZ2V0KHRhcmdldCwgcHJv
cGVydHkpIHsKKyAgICBhY3R1YWwucHVzaChgZ2V0IG5lc3RlZFRpbWVab25lLiR7U3RyaW5nKHBy
b3BlcnR5KX1gKTsKKyAgICByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5XTsKKyAgfQorfSk7CisKK2Nv
bnN0IHRpbWVab25lID0gbmV3IFByb3h5KHsKKyAgdGltZVpvbmU6IG5lc3RlZFRpbWVab25lLAor
CisgIGdldE9mZnNldE5hbm9zZWNvbmRzRm9yKGluc3RhbnQpIHsKKyAgICBhY3R1YWwucHVzaCgn
Y2FsbCB0aW1lWm9uZS5nZXRPZmZzZXROYW5vc2Vjb25kc0ZvcicpOworCisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICAgIGluc3RhbnQgaW5zdGFuY2VvZiBUZW1wb3JhbC5JbnN0YW50LAorICAg
ICAgdHJ1ZSwKKyAgICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgKGluc3RhbnQgaW5zdGFu
Y2VvZiBUZW1wb3JhbC5JbnN0YW50KSBpcyBleHBlY3RlZCB0byBiZSB0cnVlJworICAgICk7CisK
KyAgICByZXR1cm4gLU51bWJlcihpbnN0YW50LmVwb2NoTmFub3NlY29uZHMgJSA4NjQwMDAwMDAw
MDAwMG4pOworICB9Cit9LCB7CisgIGhhcyh0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgYWN0dWFs
LnB1c2goYGhhcyB0aW1lWm9uZS4ke3Byb3BlcnR5fWApOworICAgIHJldHVybiBwcm9wZXJ0eSBp
biB0YXJnZXQ7CisgIH0sCisKKyAgZ2V0KHRhcmdldCwgcHJvcGVydHkpIHsKKyAgICBhY3R1YWwu
cHVzaChgZ2V0IHRpbWVab25lLiR7cHJvcGVydHl9YCk7CisgICAgcmV0dXJuIHRhcmdldFtwcm9w
ZXJ0eV07CisgIH0KK30pOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoVGVtcG9yYWwuVGltZVpv
bmUsICdmcm9tJywgeworICBnZXQoKSB7CisgICAgYWN0dWFsLnB1c2goJ2dldCBUZW1wb3JhbC5U
aW1lWm9uZS5mcm9tJyk7CisgICAgcmV0dXJuIHVuZGVmaW5lZDsKKyAgfQorfSk7CisKK1RlbXBv
cmFsLk5vdy56b25lZERhdGVUaW1lKCdpc284NjAxJywgdGltZVpvbmUpOworYXNzZXJ0LmNvbXBh
cmVBcnJheShhY3R1YWwsIGV4cGVjdGVkLCAnVGhlIHZhbHVlIG9mIGFjdHVhbCBpcyBleHBlY3Rl
ZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgZXhwZWN0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZS90aW1lem9u
ZS1zdHJpbmctZGF0ZXRpbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvTm93L3pvbmVkRGF0ZVRpbWUvdGltZXpvbmUtc3RyaW5nLWRhdGV0aW1lLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM4ZjZjYjAwZGRlMDgxZjhhMzQxNjdhNWRkZmE3MzMzYWQxYTFiNDgKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pv
bmVkRGF0ZVRpbWUvdGltZXpvbmUtc3RyaW5nLWRhdGV0aW1lLmpzCkBAIC0wLDAgKzEsNDIgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5ub3cuem9uZWRkYXRl
dGltZQorZGVzY3JpcHRpb246IENvbnZlcnNpb24gb2YgSVNPIGRhdGUtdGltZSBzdHJpbmdzIHRv
IFRlbXBvcmFsLlRpbWVab25lIGluc3RhbmNlcworZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSov
CisKK2xldCB0aW1lWm9uZSA9ICIyMDIxLTA4LTE5VDE3OjMwIjsKK2Fzc2VydC50aHJvd3MoUmFu
Z2VFcnJvciwgKCkgPT4gVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWUoImlzbzg2MDEiLCB0aW1l
Wm9uZSksICJiYXJlIGRhdGUtdGltZSBzdHJpbmcgaXMgbm90IGEgdGltZSB6b25lIik7Cithc3Nl
cnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJp
c284NjAxIiwgeyB0aW1lWm9uZSB9KSwgImJhcmUgZGF0ZS10aW1lIHN0cmluZyBpcyBub3QgYSB0
aW1lIHpvbmUiKTsKKwordGltZVpvbmUgPSAiMjAyMS0wOC0xOVQxNzozMFoiOworY29uc3QgcmVz
dWx0MSA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAxIiwgdGltZVpvbmUpOwor
YXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQxLnRpbWVab25lLmlkLCAiVVRDIiwgImRhdGUtdGltZSAr
IFogaXMgVVRDIHRpbWUgem9uZSIpOworY29uc3QgcmVzdWx0MiA9IFRlbXBvcmFsLk5vdy56b25l
ZERhdGVUaW1lKCJpc284NjAxIiwgeyB0aW1lWm9uZSB9KTsKK2Fzc2VydC5zYW1lVmFsdWUocmVz
dWx0Mi50aW1lWm9uZS5pZCwgIlVUQyIsICJkYXRlLXRpbWUgKyBaIGlzIFVUQyB0aW1lIHpvbmUg
KHN0cmluZyBpbiBwcm9wZXJ0eSBiYWcpIik7CisKK3RpbWVab25lID0gIjIwMjEtMDgtMTlUMTc6
MzAtMDc6MDAiOworY29uc3QgcmVzdWx0MyA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJp
c284NjAxIiwgdGltZVpvbmUpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQzLnRpbWVab25lLmlk
LCAiLTA3OjAwIiwgImRhdGUtdGltZSArIG9mZnNldCBpcyB0aGUgb2Zmc2V0IHRpbWUgem9uZSIp
OworY29uc3QgcmVzdWx0NCA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAxIiwg
eyB0aW1lWm9uZSB9KTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0NC50aW1lWm9uZS5pZCwgIi0w
NzowMCIsICJkYXRlLXRpbWUgKyBvZmZzZXQgaXMgdGhlIG9mZnNldCB0aW1lIHpvbmUgKHN0cmlu
ZyBpbiBwcm9wZXJ0eSBiYWcpIik7CisKK3RpbWVab25lID0gIjIwMjEtMDgtMTlUMTc6MzBbQW1l
cmljYS9WYW5jb3V2ZXJdIjsKK2NvbnN0IHJlc3VsdDUgPSBUZW1wb3JhbC5Ob3cuem9uZWREYXRl
VGltZSgiaXNvODYwMSIsIHRpbWVab25lKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0NS50aW1l
Wm9uZS5pZCwgIkFtZXJpY2EvVmFuY291dmVyIiwgImRhdGUtdGltZSArIElBTkEgYW5ub3RhdGlv
biBpcyB0aGUgSUFOQSB0aW1lIHpvbmUiKTsKK2NvbnN0IHJlc3VsdDYgPSBUZW1wb3JhbC5Ob3cu
em9uZWREYXRlVGltZSgiaXNvODYwMSIsIHsgdGltZVpvbmUgfSk7Cithc3NlcnQuc2FtZVZhbHVl
KHJlc3VsdDYudGltZVpvbmUuaWQsICJBbWVyaWNhL1ZhbmNvdXZlciIsICJkYXRlLXRpbWUgKyBJ
QU5BIGFubm90YXRpb24gaXMgdGhlIElBTkEgdGltZSB6b25lIChzdHJpbmcgaW4gcHJvcGVydHkg
YmFnKSIpOworCit0aW1lWm9uZSA9ICIyMDIxLTA4LTE5VDE3OjMwWltBbWVyaWNhL1ZhbmNvdXZl
cl0iOworY29uc3QgcmVzdWx0NyA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAx
IiwgdGltZVpvbmUpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQ3LnRpbWVab25lLmlkLCAiQW1l
cmljYS9WYW5jb3V2ZXIiLCAiZGF0ZS10aW1lICsgWiArIElBTkEgYW5ub3RhdGlvbiBpcyB0aGUg
SUFOQSB0aW1lIHpvbmUiKTsKK2NvbnN0IHJlc3VsdDggPSBUZW1wb3JhbC5Ob3cuem9uZWREYXRl
VGltZSgiaXNvODYwMSIsIHsgdGltZVpvbmUgfSk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdDgu
dGltZVpvbmUuaWQsICJBbWVyaWNhL1ZhbmNvdXZlciIsICJkYXRlLXRpbWUgKyBaICsgSUFOQSBh
bm5vdGF0aW9uIGlzIHRoZSBJQU5BIHRpbWUgem9uZSAoc3RyaW5nIGluIHByb3BlcnR5IGJhZyki
KTsKKwordGltZVpvbmUgPSAiMjAyMS0wOC0xOVQxNzozMC0wNzowMFtBbWVyaWNhL1ZhbmNvdXZl
cl0iOworY29uc3QgcmVzdWx0OSA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lKCJpc284NjAx
IiwgdGltZVpvbmUpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQ5LnRpbWVab25lLmlkLCAiQW1l
cmljYS9WYW5jb3V2ZXIiLCAiZGF0ZS10aW1lICsgb2Zmc2V0ICsgSUFOQSBhbm5vdGF0aW9uIGlz
IHRoZSBJQU5BIHRpbWUgem9uZSIpOworY29uc3QgcmVzdWx0MTAgPSBUZW1wb3JhbC5Ob3cuem9u
ZWREYXRlVGltZSgiaXNvODYwMSIsIHsgdGltZVpvbmUgfSk7Cithc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdDEwLnRpbWVab25lLmlkLCAiQW1lcmljYS9WYW5jb3V2ZXIiLCAiZGF0ZS10aW1lICsgb2Zm
c2V0ICsgSUFOQSBhbm5vdGF0aW9uIGlzIHRoZSBJQU5BIHRpbWUgem9uZSAoc3RyaW5nIGluIHBy
b3BlcnR5IGJhZykiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9leHRlbnNpYmxlLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL2V4dGVu
c2libGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDdhOTNmNDQ1OWI1MzdhNWU1M2VjYTg2M2U5NzNmODRhYjRm
MDdiZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9leHRlbnNpYmxlLmpzCkBAIC0wLDAgKzEsMTIg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3JhbC5u
b3cuem9uZWRkYXRldGltZWlzbworZGVzY3JpcHRpb246IFRlbXBvcmFsLk5vdy56b25lZERhdGVU
aW1lSVNPIGlzIGV4dGVuc2libGUuCitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKworYXNz
ZXJ0KAorICBPYmplY3QuaXNFeHRlbnNpYmxlKFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNP
KSwKKyAgJ09iamVjdC5pc0V4dGVuc2libGUoVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWVJU08p
IG11c3QgcmV0dXJuIHRydWUnCispOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL2xlbmd0aC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9s
ZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIzYmMzYTI3ZjBhZTMwMGY5N2M4ZGYzZTE4OGEwYzNkOWE5
ZmM4YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
ZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9sZW5ndGguanMKQEAgLTAsMCArMSwyNSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0
aW1laXNvCitkZXNjcmlwdGlvbjogVGhlIGBsZW5ndGhgIHByb3BlcnR5IG9mIFRlbXBvcmFsLk5v
dy56b25lZERhdGVUaW1lSVNPCitpbmZvOiB8CisgICAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eSB3
aG9zZSB2YWx1ZSBpcworICAgIGFuIGludGVnZXIuIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
LCB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZAorICAg
IGFyZ3VtZW50cyBzaG93biBpbiB0aGUgc3ViY2xhdXNlIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rp
b24gZGVzY3JpcHRpb24uIE9wdGlvbmFsIHBhcmFtZXRlcnMKKyAgICAod2hpY2ggYXJlIGluZGlj
YXRlZCB3aXRoIGJyYWNrZXRzOiBbIF0pIG9yIHJlc3QgcGFyYW1ldGVycyAod2hpY2ggYXJlIHNo
b3duIHVzaW5nIHRoZSBmb3JtCisgICAgwqsuLi5uYW1lwrspIGFyZSBub3QgaW5jbHVkZWQgaW4g
dGhlIGRlZmF1bHQgYXJndW1lbnQgY291bnQuCisKKyAgICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCwgdGhlICJsZW5ndGgiIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
IGhhcyB0aGUKKyAgICBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJh
YmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczogW3Byb3Bl
cnR5SGVscGVyLmpzXQorZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSovCisKK3ZlcmlmeVByb3Bl
cnR5KFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPLCAibGVuZ3RoIiwgeworICB2YWx1ZTog
MCwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJh
YmxlOiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWVJU08vbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9uYW1lLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzNjMzMGRjMzNhMmFkNmZlOWZkZTcyMDVhNDdhNDZlOTAzZWI4M2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93
L3pvbmVkRGF0ZVRpbWVJU08vbmFtZS5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWVp
c28KK2Rlc2NyaXB0aW9uOiBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZUlTTy5uYW1lIGlzICJ6
b25lZERhdGVUaW1lSVNPIi4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJl
czogW1RlbXBvcmFsXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgVGVtcG9yYWwuTm93
LnpvbmVkRGF0ZVRpbWVJU08ubmFtZSwKKyAgJ3pvbmVkRGF0ZVRpbWVJU08nLAorICAnVGhlIHZh
bHVlIG9mIFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPLm5hbWUgaXMgZXhwZWN0ZWQgdG8g
YmUgInpvbmVkRGF0ZVRpbWVJU08iJworKTsKKwordmVyaWZ5UHJvcGVydHkoVGVtcG9yYWwuTm93
LnpvbmVkRGF0ZVRpbWVJU08sICduYW1lJywgeworICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3Jp
dGFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUKK30pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNP
L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgwOWMzNjU1OWVlNjU1YjhkOTljMGMxMmFjZTA0MGYwODQ0NzllYmEKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVk
RGF0ZVRpbWVJU08vbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRh
dGV0aW1laXNvCitkZXNjcmlwdGlvbjogVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWVJU08gZG9l
cyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFRlbXBvcmFsLCBhcnJvdy1mdW5jdGlv
bl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihUZW1wb3JhbC5Ob3cu
em9uZWREYXRlVGltZUlTTyksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihUZW1wb3JhbC5Ob3cuem9u
ZWREYXRlVGltZUlTTykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbmV3IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPKCk7Cit9
LCAnbmV3IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPKCkgdGhyb3dzIGEgVHlwZUVycm9y
IGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3Byb3AtZGVzYy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9wcm9wLWRl
c2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWNiMmJjYjBiMDY5NjhlZDFkMjIwYzE3ZTExN2U1ZTU4NTY3MGFh
NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy9wcm9wLWRlc2MuanMKQEAgLTAsMCArMSwxNCBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56
b25lZGRhdGV0aW1laXNvCitkZXNjcmlwdGlvbjogVGhlICJ6b25lZERhdGVUaW1lSVNPIiBwcm9w
ZXJ0eSBvZiBUZW1wb3JhbC5Ob3cKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0
dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoVGVtcG9yYWwuTm93LCAn
em9uZWREYXRlVGltZUlTTycsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiB0
cnVlLAorICBjb25maWd1cmFibGU6IHRydWUKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3RpbWUtem9u
ZS11bmRlZmluZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwv
Tm93L3pvbmVkRGF0ZVRpbWVJU08vdGltZS16b25lLXVuZGVmaW5lZC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZWQ2ZTdiNDdjZDIxYTAyMWYzY2E5YjdkYzM3OTcyYTg4MDA5MzlkCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVU
aW1lSVNPL3RpbWUtem9uZS11bmRlZmluZWQuanMKQEAgLTAsMCArMSwzMSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0aW1laXNvCitk
ZXNjcmlwdGlvbjogRnVuY3Rpb25zIHdoZW4gdGltZSB6b25lIGFyZ3VtZW50IGlzIG9taXR0ZWQK
K2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZmVhdHVyZXM6IFtUZW1wb3JhbF0KKy0tLSov
CisKK2NvbnN0IGFjdHVhbCA9IFtdOworY29uc3QgZXhwZWN0ZWQgPSBbXTsKKworT2JqZWN0LmRl
ZmluZVByb3BlcnR5KFRlbXBvcmFsLlRpbWVab25lLCAiZnJvbSIsIHsKKyAgZ2V0KCkgeworICAg
IGFjdHVhbC5wdXNoKCJnZXQgVGVtcG9yYWwuVGltZVpvbmUuZnJvbSIpOworICAgIHJldHVybiB1
bmRlZmluZWQ7CisgIH0sCit9KTsKKworY29uc3Qgc3lzdGVtVGltZVpvbmUgPSBUZW1wb3JhbC5O
b3cudGltZVpvbmUoKTsKKworY29uc3QgcmVzdWx0RXhwbGljaXQgPSBUZW1wb3JhbC5Ob3cuem9u
ZWREYXRlVGltZUlTTyh1bmRlZmluZWQpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRFeHBsaWNp
dC50aW1lWm9uZS5pZCwgc3lzdGVtVGltZVpvbmUuaWQpOworCithc3NlcnQuY29tcGFyZUFycmF5
KGFjdHVhbCwgZXhwZWN0ZWQsICJUZW1wb3JhbC5UaW1lWm9uZS5mcm9tIHNob3VsZCBub3QgYmUg
Y2FsbGVkIik7CisKK2NvbnN0IHJlc3VsdEltcGxpY2l0ID0gVGVtcG9yYWwuTm93LnpvbmVkRGF0
ZVRpbWVJU08oKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0SW1wbGljaXQudGltZVpvbmUuaWQs
IHN5c3RlbVRpbWVab25lLmlkKTsKKworYXNzZXJ0LmNvbXBhcmVBcnJheShhY3R1YWwsIGV4cGVj
dGVkLCAiVGVtcG9yYWwuVGltZVpvbmUuZnJvbSBzaG91bGQgbm90IGJlIGNhbGxlZCIpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25l
ZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWVJU08v
dGltZXpvbmUtb2JqZWN0LWZhaWwtY2FsbC10b3N0cmluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmQ0MDlh
Nzg2MmY3YWYxNjc5MzJkODFlYmE0NmJjNzU0YzQ5NzY2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNP
L3RpbWV6b25lLW9iamVjdC1mYWlsLWNhbGwtdG9zdHJpbmcuanMKQEAgLTAsMCArMSwyMCBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56
b25lZGRhdGV0aW1laXNvCitkZXNjcmlwdGlvbjogRm9yd2FyZHMgZXJyb3IgdGhyb3duIGJ5IGlu
dm9raW5nICJ0b1N0cmluZyIgcHJvcGVydHkKK2ZlYXR1cmVzOiBbVGVtcG9yYWxdCistLS0qLwor
Cit2YXIgdGltZVpvbmUgPSB7CisgIHRpbWVab25lOiB7CisgICAgdGltZVpvbmU6IHRydWUsCisg
ICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigp
OworICAgIH0sCisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlv
bigpIHsKKyAgVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWVJU08odGltZVpvbmUpOworfSwgJ1Rl
bXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPKHRpbWVab25lKSB0aHJvd3MgYSBUZXN0MjYyRXJy
b3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVGVtcG9yYWwvTm93L3pvbmVkRGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LWZhaWwtZ2V0
LXRpbWV6b25lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05v
dy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWdldC10aW1lem9uZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMDYwZTg1Yjc0Y2VmMGI5MDg3ZDJmYzVjNzVlM2IwYTA0OGM5MGM1Ci0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05v
dy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC1mYWlsLWdldC10aW1lem9uZS5qcwpA
QCAtMCwwICsxLDE3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBz
ZWMtdGVtcG9yYWwubm93LnpvbmVkZGF0ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBGb3J3YXJkcyBl
cnJvciB0aHJvd24gYnkgcmV0cmlldmluZyB2YWx1ZSBvZiAidGltZVpvbmUiIHByb3BlcnR5Citm
ZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKwordmFyIHRpbWVab25lID0geworICBnZXQgdGlt
ZVpvbmUoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9LAorfTsKKworYXNz
ZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICBUZW1wb3JhbC5Ob3cuem9u
ZWREYXRlVGltZUlTTyh0aW1lWm9uZSk7Cit9LCAnVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWVJ
U08odGltZVpvbmUpIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRl
VGltZUlTTy90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRpbWV6b25lLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNP
L3RpbWV6b25lLW9iamVjdC1mYWlsLWhhcy1uZXN0ZWQtdGltZXpvbmUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzBmYWMxYzY3YThkODZkNzMwYzViZTJlODRhZTUwY2UzZGNkM2E2OAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRl
VGltZUlTTy90aW1lem9uZS1vYmplY3QtZmFpbC1oYXMtbmVzdGVkLXRpbWV6b25lLmpzCkBAIC0w
LDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy10
ZW1wb3JhbC5ub3cuem9uZWRkYXRldGltZWlzbworZGVzY3JpcHRpb246IEZvcndhcmRzIGVycm9y
IHRocm93biBieSBjaGVja2luZyBwcmVzZW5jZSBvZiBuZXN0ZWQgInRpbWVab25lIiBwcm9wZXJ0
eQorZmVhdHVyZXM6IFtQcm94eSwgVGVtcG9yYWxdCistLS0qLworCit2YXIgdGltZVpvbmUgPSB7
CisgIHRpbWVab25lOiBuZXcgUHJveHkoe30sIHsKKyAgICBoYXM6IGZ1bmN0aW9uKHRhcmdldCwg
cHJvcGVydHkpIHsKKyAgICAgIGlmIChwcm9wZXJ0eSA9PT0gJ3RpbWVab25lJykgeworICAgICAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgICB9CisgICAgfSwKKyAgfSkKK307CisK
K2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgVGVtcG9yYWwuTm93
LnpvbmVkRGF0ZVRpbWVJU08odGltZVpvbmUpOworfSwgJ1RlbXBvcmFsLk5vdy56b25lZERhdGVU
aW1lSVNPKHRpbWVab25lKSB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pvbmVk
RGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LWZhaWwtaGFzLXRpbWV6b25lLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3Rp
bWV6b25lLW9iamVjdC1mYWlsLWhhcy10aW1lem9uZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTIyN2Q3MzMz
ODNmMGZmMWQxNmE5MDVhZTQ3ODNiNWNhN2JiODJmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3Rp
bWV6b25lLW9iamVjdC1mYWlsLWhhcy10aW1lem9uZS5qcwpAQCAtMCwwICsxLDE5IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtdGVtcG9yYWwubm93LnpvbmVk
ZGF0ZXRpbWVpc28KK2Rlc2NyaXB0aW9uOiBGb3J3YXJkcyBlcnJvciB0aHJvd24gYnkgY2hlY2tp
bmcgcHJlc2VuY2Ugb2YgInRpbWVab25lIiBwcm9wZXJ0eQorZmVhdHVyZXM6IFtQcm94eSwgVGVt
cG9yYWxdCistLS0qLworCit2YXIgdGltZVpvbmUgPSBuZXcgUHJveHkoe30sIHsKKyAgaGFzOiBm
dW5jdGlvbih0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgaWYgKHByb3BlcnR5ID09PSAndGltZVpv
bmUnKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgfQorICB9LAorfSk7
CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgVGVtcG9yYWwu
Tm93LnpvbmVkRGF0ZVRpbWVJU08odGltZVpvbmUpOworfSwgJ1RlbXBvcmFsLk5vdy56b25lZERh
dGVUaW1lSVNPKHRpbWVab25lKSB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvTm93L3pv
bmVkRGF0ZVRpbWVJU08vdGltZXpvbmUtb2JqZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yYTEwZTRhYjAwYjM1MzU1Yzg4ZTQ4MGQyNjM5ZDE1ZDRhY2QzZmZkCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L05vdy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLW9iamVjdC5qcwpAQCAtMCwwICsxLDc1IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0
aW1lCitkZXNjcmlwdGlvbjogT2JzZXJ2YWJsZSBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgcHJvdmlk
ZWQgdGltZXpvbmUtbGlrZSBvYmplY3QKK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZmVh
dHVyZXM6IFtCaWdJbnQsIFByb3h5LCBUZW1wb3JhbF0KKy0tLSovCitjb25zdCBhY3R1YWwgPSBb
XTsKKworY29uc3QgZXhwZWN0ZWQgPSBbCisgICdoYXMgdGltZVpvbmUudGltZVpvbmUnLAorICAn
Z2V0IHRpbWVab25lLnRpbWVab25lJywKKyAgJ2hhcyBuZXN0ZWRUaW1lWm9uZS50aW1lWm9uZScK
K107CisKK2NvbnN0IG5lc3RlZFRpbWVab25lID0gbmV3IFByb3h5KHsKKyAgZ2V0T2Zmc2V0TmFu
b3NlY29uZHNGb3IoaW5zdGFudCkgeworICAgIGFjdHVhbC5wdXNoKCdjYWxsIG5lc3RlZFRpbWVa
b25lLmdldE9mZnNldE5hbm9zZWNvbmRzRm9yJyk7CisKKyAgICBhc3NlcnQuc2FtZVZhbHVlKAor
ICAgICAgaW5zdGFudCBpbnN0YW5jZW9mIFRlbXBvcmFsLkluc3RhbnQsCisgICAgICB0cnVlLAor
ICAgICAgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyAoaW5zdGFudCBpbnN0YW5jZW9mIFRlbXBv
cmFsLkluc3RhbnQpIGlzIGV4cGVjdGVkIHRvIGJlIHRydWUnCisgICAgKTsKKworICAgIHJldHVy
biAtTnVtYmVyKGluc3RhbnQuZXBvY2hOYW5vc2Vjb25kcyAlIDg2NDAwMDAwMDAwMDAwbik7Cisg
IH0KK30sIHsKKyAgaGFzKHRhcmdldCwgcHJvcGVydHkpIHsKKyAgICBhY3R1YWwucHVzaChgaGFz
IG5lc3RlZFRpbWVab25lLiR7U3RyaW5nKHByb3BlcnR5KX1gKTsKKyAgICByZXR1cm4gcHJvcGVy
dHkgaW4gdGFyZ2V0OworICB9LAorCisgIGdldCh0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgYWN0
dWFsLnB1c2goYGdldCBuZXN0ZWRUaW1lWm9uZS4ke1N0cmluZyhwcm9wZXJ0eSl9YCk7CisgICAg
cmV0dXJuIHRhcmdldFtwcm9wZXJ0eV07CisgIH0KK30pOworCitjb25zdCB0aW1lWm9uZSA9IG5l
dyBQcm94eSh7CisgIHRpbWVab25lOiBuZXN0ZWRUaW1lWm9uZSwKKworICBnZXRPZmZzZXROYW5v
c2Vjb25kc0ZvcihpbnN0YW50KSB7CisgICAgYWN0dWFsLnB1c2goJ2NhbGwgdGltZVpvbmUuZ2V0
T2Zmc2V0TmFub3NlY29uZHNGb3InKTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBp
bnN0YW50IGluc3RhbmNlb2YgVGVtcG9yYWwuSW5zdGFudCwKKyAgICAgIHRydWUsCisgICAgICAn
VGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIChpbnN0YW50IGluc3RhbmNlb2YgVGVtcG9yYWwuSW5z
dGFudCkgaXMgZXhwZWN0ZWQgdG8gYmUgdHJ1ZScKKyAgICApOworCisgICAgcmV0dXJuIC1OdW1i
ZXIoaW5zdGFudC5lcG9jaE5hbm9zZWNvbmRzICUgODY0MDAwMDAwMDAwMDBuKTsKKyAgfQorfSwg
eworICBoYXModGFyZ2V0LCBwcm9wZXJ0eSkgeworICAgIGFjdHVhbC5wdXNoKGBoYXMgdGltZVpv
bmUuJHtwcm9wZXJ0eX1gKTsKKyAgICByZXR1cm4gcHJvcGVydHkgaW4gdGFyZ2V0OworICB9LAor
CisgIGdldCh0YXJnZXQsIHByb3BlcnR5KSB7CisgICAgYWN0dWFsLnB1c2goYGdldCB0aW1lWm9u
ZS4ke3Byb3BlcnR5fWApOworICAgIHJldHVybiB0YXJnZXRbcHJvcGVydHldOworICB9Cit9KTsK
KworT2JqZWN0LmRlZmluZVByb3BlcnR5KFRlbXBvcmFsLlRpbWVab25lLCAnZnJvbScsIHsKKyAg
Z2V0KCkgeworICAgIGFjdHVhbC5wdXNoKCdnZXQgVGVtcG9yYWwuVGltZVpvbmUuZnJvbScpOwor
ICAgIHJldHVybiB1bmRlZmluZWQ7CisgIH0KK30pOworCitUZW1wb3JhbC5Ob3cuem9uZWREYXRl
VGltZUlTTyh0aW1lWm9uZSk7Cithc3NlcnQuY29tcGFyZUFycmF5KGFjdHVhbCwgZXhwZWN0ZWQs
ICdUaGUgdmFsdWUgb2YgYWN0dWFsIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBl
eHBlY3RlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Rl
bXBvcmFsL05vdy96b25lZERhdGVUaW1lSVNPL3RpbWV6b25lLXN0cmluZy1kYXRldGltZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGlt
ZUlTTy90aW1lem9uZS1zdHJpbmctZGF0ZXRpbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU4OGNmNjkzZTYz
N2JmMjY4YTFjNzBmM2NkMTFlMjE0YjhiZjVjYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9Ob3cvem9uZWREYXRlVGltZUlTTy90aW1l
em9uZS1zdHJpbmctZGF0ZXRpbWUuanMKQEAgLTAsMCArMSw0MiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLXRlbXBvcmFsLm5vdy56b25lZGRhdGV0aW1laXNvCitkZXNjcmlw
dGlvbjogQ29udmVyc2lvbiBvZiBJU08gZGF0ZS10aW1lIHN0cmluZ3MgdG8gVGVtcG9yYWwuVGlt
ZVpvbmUgaW5zdGFuY2VzCitmZWF0dXJlczogW1RlbXBvcmFsXQorLS0tKi8KKworbGV0IHRpbWVa
b25lID0gIjIwMjEtMDgtMTlUMTc6MzAiOworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9
PiBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZUlTTyh0aW1lWm9uZSksICJiYXJlIGRhdGUtdGlt
ZSBzdHJpbmcgaXMgbm90IGEgdGltZSB6b25lIik7Cithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3Is
ICgpID0+IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPKHsgdGltZVpvbmUgfSksICJiYXJl
IGRhdGUtdGltZSBzdHJpbmcgaXMgbm90IGEgdGltZSB6b25lIik7CisKK3RpbWVab25lID0gIjIw
MjEtMDgtMTlUMTc6MzBaIjsKK2NvbnN0IHJlc3VsdDEgPSBUZW1wb3JhbC5Ob3cuem9uZWREYXRl
VGltZUlTTyh0aW1lWm9uZSk7Cithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdDEudGltZVpvbmUuaWQs
ICJVVEMiLCAiZGF0ZS10aW1lICsgWiBpcyBVVEMgdGltZSB6b25lIik7Citjb25zdCByZXN1bHQy
ID0gVGVtcG9yYWwuTm93LnpvbmVkRGF0ZVRpbWVJU08oeyB0aW1lWm9uZSB9KTsKK2Fzc2VydC5z
YW1lVmFsdWUocmVzdWx0Mi50aW1lWm9uZS5pZCwgIlVUQyIsICJkYXRlLXRpbWUgKyBaIGlzIFVU
QyB0aW1lIHpvbmUgKHN0cmluZyBpbiBwcm9wZXJ0eSBiYWcpIik7CisKK3RpbWVab25lID0gIjIw
MjEtMDgtMTlUMTc6MzAtMDc6MDAiOworY29uc3QgcmVzdWx0MyA9IFRlbXBvcmFsLk5vdy56b25l
ZERhdGVUaW1lSVNPKHRpbWVab25lKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0My50aW1lWm9u
ZS5pZCwgIi0wNzowMCIsICJkYXRlLXRpbWUgKyBvZmZzZXQgaXMgdGhlIG9mZnNldCB0aW1lIHpv
bmUiKTsKK2NvbnN0IHJlc3VsdDQgPSBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZUlTTyh7IHRp
bWVab25lIH0pOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQ0LnRpbWVab25lLmlkLCAiLTA3OjAw
IiwgImRhdGUtdGltZSArIG9mZnNldCBpcyB0aGUgb2Zmc2V0IHRpbWUgem9uZSAoc3RyaW5nIGlu
IHByb3BlcnR5IGJhZykiKTsKKwordGltZVpvbmUgPSAiMjAyMS0wOC0xOVQxNzozMFtBbWVyaWNh
L1ZhbmNvdXZlcl0iOworY29uc3QgcmVzdWx0NSA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1l
SVNPKHRpbWVab25lKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0NS50aW1lWm9uZS5pZCwgIkFt
ZXJpY2EvVmFuY291dmVyIiwgImRhdGUtdGltZSArIElBTkEgYW5ub3RhdGlvbiBpcyB0aGUgSUFO
QSB0aW1lIHpvbmUiKTsKK2NvbnN0IHJlc3VsdDYgPSBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGlt
ZUlTTyh7IHRpbWVab25lIH0pOworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQ2LnRpbWVab25lLmlk
LCAiQW1lcmljYS9WYW5jb3V2ZXIiLCAiZGF0ZS10aW1lICsgSUFOQSBhbm5vdGF0aW9uIGlzIHRo
ZSBJQU5BIHRpbWUgem9uZSAoc3RyaW5nIGluIHByb3BlcnR5IGJhZykiKTsKKwordGltZVpvbmUg
PSAiMjAyMS0wOC0xOVQxNzozMFpbQW1lcmljYS9WYW5jb3V2ZXJdIjsKK2NvbnN0IHJlc3VsdDcg
PSBUZW1wb3JhbC5Ob3cuem9uZWREYXRlVGltZUlTTyh0aW1lWm9uZSk7Cithc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdDcudGltZVpvbmUuaWQsICJBbWVyaWNhL1ZhbmNvdXZlciIsICJkYXRlLXRpbWUg
KyBaICsgSUFOQSBhbm5vdGF0aW9uIGlzIHRoZSBJQU5BIHRpbWUgem9uZSIpOworY29uc3QgcmVz
dWx0OCA9IFRlbXBvcmFsLk5vdy56b25lZERhdGVUaW1lSVNPKHsgdGltZVpvbmUgfSk7Cithc3Nl
cnQuc2FtZVZhbHVlKHJlc3VsdDgudGltZVpvbmUuaWQsICJBbWVyaWNhL1ZhbmNvdXZlciIsICJk
YXRlLXRpbWUgKyBaICsgSUFOQSBhbm5vdGF0aW9uIGlzIHRoZSBJQU5BIHRpbWUgem9uZSAoc3Ry
aW5nIGluIHByb3BlcnR5IGJhZykiKTsKKwordGltZVpvbmUgPSAiMjAyMS0wOC0xOVQxNzozMC0w
NzowMFtBbWVyaWNhL1ZhbmNvdXZlcl0iOworY29uc3QgcmVzdWx0OSA9IFRlbXBvcmFsLk5vdy56
b25lZERhdGVUaW1lSVNPKHRpbWVab25lKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVzdWx0OS50aW1l
Wm9uZS5pZCwgIkFtZXJpY2EvVmFuY291dmVyIiwgImRhdGUtdGltZSArIG9mZnNldCArIElBTkEg
YW5ub3RhdGlvbiBpcyB0aGUgSUFOQSB0aW1lIHpvbmUiKTsKK2NvbnN0IHJlc3VsdDEwID0gVGVt
cG9yYWwuTm93LnpvbmVkRGF0ZVRpbWVJU08oeyB0aW1lWm9uZSB9KTsKK2Fzc2VydC5zYW1lVmFs
dWUocmVzdWx0MTAudGltZVpvbmUuaWQsICJBbWVyaWNhL1ZhbmNvdXZlciIsICJkYXRlLXRpbWUg
KyBvZmZzZXQgKyBJQU5BIGFubm90YXRpb24gaXMgdGhlIElBTkEgdGltZSB6b25lIChzdHJpbmcg
aW4gcHJvcGVydHkgYmFnKSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUv
ZXJhL2JyYW5kaW5nLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGYzMzMzN2Qz
YTE3YTA3Mzc5MDUyMGEwMjU5YzBlMzQ5OWJjY2M1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1w
b3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcworKysgL2Rldi9udWxsCkBA
IC0xLDIyICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzaWQ6IHNlYy1nZXQtdGVt
cG9yYWwucGxhaW5kYXRlLnByb3RvdHlwZS5lcmEKLWRlc2NyaXB0aW9uOiBUaHJvdyBhIFR5cGVF
cnJvciBpZiB0aGUgcmVjZWl2ZXIgaXMgaW52YWxpZAotZmVhdHVyZXM6IFtTeW1ib2wsIFRlbXBv
cmFsXQotLS0tKi8KLQotY29uc3QgZXJhID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlLCAiZXJhIikuZ2V0OwotCi1hc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBlcmEsICJmdW5jdGlvbiIpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4gZXJhLmNhbGwodW5kZWZpbmVkKSwgInVuZGVmaW5lZCIpOwotYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKG51bGwpLCAibnVsbCIpOwotYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHRydWUpLCAidHJ1ZSIpOwotYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKCIiKSwgImVtcHR5IHN0cmluZyIpOwotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOwot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKDEpLCAiMSIpOwotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHt9KSwgInBsYWluIG9iamVjdCIpOwot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFRlbXBvcmFsLlBsYWluRGF0
ZSksICJUZW1wb3JhbC5QbGFpbkRhdGUiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiBlcmEuY2FsbChUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlKSwgIlRlbXBvcmFsLlBsYWlu
RGF0ZS5wcm90b3R5cGUiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlw
ZS9lcmFZZWFyL2JyYW5kaW5nLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjM3
MDg2OWM3ZmI1MTNjY2MwZjUxYzdjZDBlMjUzOGUyMjRjZTljLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhLCBT
LkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBz
ZWMtZ2V0LXRlbXBvcmFsLnBsYWluZGF0ZS5wcm90b3R5cGUuZXJheWVhcgotZGVzY3JpcHRpb246
IFRocm93IGEgVHlwZUVycm9yIGlmIHRoZSByZWNlaXZlciBpcyBpbnZhbGlkCi1mZWF0dXJlczog
W1N5bWJvbCwgVGVtcG9yYWxdCi0tLS0qLwotCi1jb25zdCBlcmFZZWFyID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlLCAiZXJhWWVh
ciIpLmdldDsKLQotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZXJhWWVhciwgImZ1bmN0aW9uIik7
Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwodW5kZWZpbmVk
KSwgInVuZGVmaW5lZCIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIu
Y2FsbChudWxsKSwgIm51bGwiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZ
ZWFyLmNhbGwodHJ1ZSksICJ0cnVlIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4g
ZXJhWWVhci5jYWxsKCIiKSwgImVtcHR5IHN0cmluZyIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IGVyYVllYXIuY2FsbChTeW1ib2woKSksICJzeW1ib2wiKTsKLWFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoMSksICIxIik7Ci1hc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKHt9KSwgInBsYWluIG9iamVjdCIpOwotYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbChUZW1wb3JhbC5QbGFpbkRh
dGUpLCAiVGVtcG9yYWwuUGxhaW5EYXRlIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUpLCAiVGVtcG9yYWwu
UGxhaW5EYXRlLnByb3RvdHlwZSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1l
L3Byb3RvdHlwZS9lcmEvYnJhbmRpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDg1MTUyMjIwOWQ1NzljOWZlZjhkN2QxYWEwMDZkZjVjZTI3MTViY2IuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2Fs
aWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVz
aWQ6IHNlYy1nZXQtdGVtcG9yYWwucGxhaW5kYXRldGltZS5wcm90b3R5cGUuZXJhCi1kZXNjcmlw
dGlvbjogVGhyb3cgYSBUeXBlRXJyb3IgaWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQKLWZlYXR1
cmVzOiBbU3ltYm9sLCBUZW1wb3JhbF0KLS0tLSovCi0KLWNvbnN0IGVyYSA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUsICJl
cmEiKS5nZXQ7Ci0KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIGVyYSwgImZ1bmN0aW9uIik7Ci0K
LWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbCh1bmRlZmluZWQpLCAidW5k
ZWZpbmVkIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwobnVsbCks
ICJudWxsIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwodHJ1ZSks
ICJ0cnVlIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoIiIpLCAi
ZW1wdHkgc3RyaW5nIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwo
U3ltYm9sKCkpLCAic3ltYm9sIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJh
LmNhbGwoMSksICIxIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwo
e30pLCAicGxhaW4gb2JqZWN0Iik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJh
LmNhbGwoVGVtcG9yYWwuUGxhaW5EYXRlVGltZSksICJUZW1wb3JhbC5QbGFpbkRhdGVUaW1lIik7
Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9yYWwuUGxhaW5E
YXRlVGltZS5wcm90b3R5cGUpLCAiVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUiKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFp
bkRhdGVUaW1lL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIv
YnJhbmRpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyYmYwOGM3OThmYzlm
MzQwZDU1MjEwODIyYjIyYTdkODljYWJjMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFs
L1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyMiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhLCBTLkwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBzZWMtZ2V0
LXRlbXBvcmFsLnBsYWluZGF0ZXRpbWUucHJvdG90eXBlLmVyYXllYXIKLWRlc2NyaXB0aW9uOiBU
aHJvdyBhIFR5cGVFcnJvciBpZiB0aGUgcmVjZWl2ZXIgaXMgaW52YWxpZAotZmVhdHVyZXM6IFtT
eW1ib2wsIFRlbXBvcmFsXQotLS0tKi8KLQotY29uc3QgZXJhWWVhciA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUsICJlcmFZ
ZWFyIikuZ2V0OwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBlcmFZZWFyLCAiZnVuY3Rpb24i
KTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh1bmRlZmlu
ZWQpLCAidW5kZWZpbmVkIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVh
ci5jYWxsKG51bGwpLCAibnVsbCIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVy
YVllYXIuY2FsbCh0cnVlKSwgInRydWUiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiBlcmFZZWFyLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5nIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOwotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCgxKSwgIjEiKTsKLWFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoe30pLCAicGxhaW4gb2JqZWN0Iik7Ci1h
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLlBsYWlu
RGF0ZVRpbWUpLCAiVGVtcG9yYWwuUGxhaW5EYXRlVGltZSIpOwotYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IGVyYVllYXIuY2FsbChUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLnByb3RvdHlw
ZSksICJUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLnByb3RvdHlwZSIpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1BsYWluWWVhck1vbnRoL3Byb3Rv
dHlwZS9lcmEvYnJhbmRpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVt
cG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODA1ZGU3NzQyMzNiYTcxNTA5OGM0ZWM1MzNhNzdjZTE5NmJl
MTgzZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90
eXBlL2VyYS9icmFuZGluZy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLQotLyotLS0KLWVzaWQ6IHNlYy1nZXQtdGVtcG9yYWwucGxhaW55ZWFybW9udGgu
cHJvdG90eXBlLmVyYQotZGVzY3JpcHRpb246IFRocm93IGEgVHlwZUVycm9yIGlmIHRoZSByZWNl
aXZlciBpcyBpbnZhbGlkCi1mZWF0dXJlczogW1N5bWJvbCwgVGVtcG9yYWxdCi0tLS0qLwotCi1j
b25zdCBlcmEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFRlbXBvcmFsLlBsYWlu
WWVhck1vbnRoLnByb3RvdHlwZSwgImVyYSIpLmdldDsKLQotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgZXJhLCAiZnVuY3Rpb24iKTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVy
YS5jYWxsKHVuZGVmaW5lZCksICJ1bmRlZmluZWQiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiBlcmEuY2FsbChudWxsKSwgIm51bGwiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiBlcmEuY2FsbCh0cnVlKSwgInRydWUiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiBlcmEuY2FsbCgiIiksICJlbXB0eSBzdHJpbmciKTsKLWFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiBlcmEuY2FsbChTeW1ib2woKSksICJzeW1ib2wiKTsKLWFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbCgxKSwgIjEiKTsKLWFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiBlcmEuY2FsbCh7fSksICJwbGFpbiBvYmplY3QiKTsKLWFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbChUZW1wb3JhbC5QbGFpblllYXJNb250aCksICJU
ZW1wb3JhbC5QbGFpblllYXJNb250aCIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IGVyYS5jYWxsKFRlbXBvcmFsLlBsYWluWWVhck1vbnRoLnByb3RvdHlwZSksICJUZW1wb3JhbC5Q
bGFpblllYXJNb250aC5wcm90b3R5cGUiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvZXJhWWVhci9i
cmFuZGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9QbGFp
blllYXJNb250aC9wcm90b3R5cGUvZXJhWWVhci9icmFuZGluZy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjM3MTdmMzFlNjZhZDRiNjMzZTVlNGJjZTA3Y2Y5OTg2Y2I0OTUxOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2Vy
YVllYXIvYnJhbmRpbmcuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMjEgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBzZWMtZ2V0LXRlbXBvcmFsLnBsYWlueWVhcm1vbnRoLnBy
b3RvdHlwZS5lcmF5ZWFyCi1kZXNjcmlwdGlvbjogVGhyb3cgYSBUeXBlRXJyb3IgaWYgdGhlIHJl
Y2VpdmVyIGlzIGludmFsaWQKLWZlYXR1cmVzOiBbU3ltYm9sLCBUZW1wb3JhbF0KLS0tLSovCi0K
LWNvbnN0IGVyYVllYXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFRlbXBvcmFs
LlBsYWluWWVhck1vbnRoLnByb3RvdHlwZSwgImVyYVllYXIiKS5nZXQ7Ci0KLWFzc2VydC5zYW1l
VmFsdWUodHlwZW9mIGVyYVllYXIsICJmdW5jdGlvbiIpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKHVuZGVmaW5lZCksICJ1bmRlZmluZWQiKTsKLWFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwobnVsbCksICJudWxsIik7Ci1h
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKHRydWUpLCAidHJ1ZSIp
OwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCgiIiksICJlbXB0
eSBzdHJpbmciKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwo
U3ltYm9sKCkpLCAic3ltYm9sIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJh
WWVhci5jYWxsKDEpLCAiMSIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVll
YXIuY2FsbCh7fSksICJwbGFpbiBvYmplY3QiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiBlcmFZZWFyLmNhbGwoVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgpLCAiVGVtcG9yYWwuUGxh
aW5ZZWFyTW9udGgiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNh
bGwoVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlKSwgIlRlbXBvcmFsLlBsYWluWWVh
ck1vbnRoLnByb3RvdHlwZSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3By
b3RvdHlwZS9lcmEvYnJhbmRpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDll
NjZiYTEyMjM4MWEzMDYxYzY5NjRiNzFlN2VjZGFmYjRkZDBkOTAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcworKysg
L2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEs
IFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzaWQ6
IHNlYy1nZXQtdGVtcG9yYWwuem9uZWRkYXRldGltZS5wcm90b3R5cGUuZXJhCi1kZXNjcmlwdGlv
bjogVGhyb3cgYSBUeXBlRXJyb3IgaWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQKLWZlYXR1cmVz
OiBbU3ltYm9sLCBUZW1wb3JhbF0KLS0tLSovCi0KLWNvbnN0IGVyYSA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUsICJlcmEi
KS5nZXQ7Ci0KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIGVyYSwgImZ1bmN0aW9uIik7Ci0KLWFz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbCh1bmRlZmluZWQpLCAidW5kZWZp
bmVkIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwobnVsbCksICJu
dWxsIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwodHJ1ZSksICJ0
cnVlIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoIiIpLCAiZW1w
dHkgc3RyaW5nIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoU3lt
Ym9sKCkpLCAic3ltYm9sIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNh
bGwoMSksICIxIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoe30p
LCAicGxhaW4gb2JqZWN0Iik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNh
bGwoVGVtcG9yYWwuWm9uZWREYXRlVGltZSksICJUZW1wb3JhbC5ab25lZERhdGVUaW1lIik7Ci1h
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9yYWwuWm9uZWREYXRl
VGltZS5wcm90b3R5cGUpLCAiVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUiKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UZW1wb3JhbC9ab25lZERh
dGVUaW1lL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pvbmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJh
bmRpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzYTBkMTA1YzAyNDBhY2Q0
YjBiNjY0OTMwZTZmZGUwMjk0ZThkMzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1RlbXBvcmFsL1pv
bmVkRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwyMiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhLCBTLkwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBzZWMtZ2V0LXRl
bXBvcmFsLnpvbmVkZGF0ZXRpbWUucHJvdG90eXBlLmVyYXllYXIKLWRlc2NyaXB0aW9uOiBUaHJv
dyBhIFR5cGVFcnJvciBpZiB0aGUgcmVjZWl2ZXIgaXMgaW52YWxpZAotZmVhdHVyZXM6IFtTeW1i
b2wsIFRlbXBvcmFsXQotLS0tKi8KLQotY29uc3QgZXJhWWVhciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUsICJlcmFZZWFy
IikuZ2V0OwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBlcmFZZWFyLCAiZnVuY3Rpb24iKTsK
LQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh1bmRlZmluZWQp
LCAidW5kZWZpbmVkIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5j
YWxsKG51bGwpLCAibnVsbCIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVll
YXIuY2FsbCh0cnVlKSwgInRydWUiKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBl
cmFZZWFyLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5nIik7Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4gZXJhWWVhci5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOwotYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCgxKSwgIjEiKTsKLWFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoe30pLCAicGxhaW4gb2JqZWN0Iik7Ci1hc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLlpvbmVkRGF0
ZVRpbWUpLCAiVGVtcG9yYWwuWm9uZWREYXRlVGltZSIpOwotYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IGVyYVllYXIuY2FsbChUZW1wb3JhbC5ab25lZERhdGVUaW1lLnByb3RvdHlwZSks
ICJUZW1wb3JhbC5ab25lZERhdGVUaW1lLnByb3RvdHlwZSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2F0L0JpZ0ludC9y
ZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2F0L0JpZ0ludC9yZXR1cm4tYWJy
dXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NTg2ZWU2NTlkYTVm
NThjMTNjNWZmN2YyNzRjNDQ0YWU0MWQ0MDkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYXQvQmlnSW50L3JldHVy
bi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90
b3R5cGUuYXQKK2Rlc2NyaXB0aW9uOiBSZXR1cm4gYWJydXB0IHdoZW4gInRoaXMiIHZhbHVlIGZh
aWxzIGJ1ZmZlciBib3VuZGFyeSBjaGVja3MKK2luY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJy
YXkuanNdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBCaWdJbnQsIFR5cGVkQXJyYXksIFR5cGVk
QXJyYXkucHJvdG90eXBlLmF0LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVy
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90
eXBlLmF0LAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBUeXBlZEFycmF5LnByb3RvdHlw
ZS5hdCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90
b3R5cGUucmVzaXplLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5w
cm90b3R5cGUucmVzaXplJworKTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0
b3JzKFRBID0+IHsKKyAgdmFyIEJQRSA9IFRBLkJZVEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIg
PSBuZXcgQXJyYXlCdWZmZXIoQlBFICogNCwge21heEJ5dGVMZW5ndGg6IEJQRSAqIDV9KTsKKyAg
dmFyIGFycmF5ID0gbmV3IFRBKGFiLCBCUEUsIDIpOworCisgIHRyeSB7CisgICAgYWIucmVzaXpl
KEJQRSAqIDUpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBn
cm93OgorICBhcnJheS5hdCgwKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsK
KyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgc2hyaW5rICh3aXRo
aW4gYm91bmRzKToKKyAgYXJyYXkuYXQoMCk7CisKKyAgdmFyIGV4cGVjdGVkRXJyb3I7CisgIHRy
eSB7CisgICAgYWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRoZSBwcmVjZWRpbmcgInJl
c2l6ZSIgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBhcnJheSB3aWxsCisgICAg
Ly8gYmUgb3V0IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50IHByb3RvdHlwZSBtZXRo
b2Qgc2hvdWxkIHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUgdG8gdGhlIHNlbWFudGlj
cyBvZiBWYWxpZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFR5cGVFcnJvcjsK
KyAgfSBjYXRjaCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0byBmYWlsIGFu
eSAicmVzaXplIiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRpb24uIElmIHRo
YXQgb2NjdXJzLCB0aGUgYXQgb3BlcmF0aW9uIHNob3VsZCBjb21wbGV0ZQorICAgIC8vIHN1Y2Nl
c3NmdWxseS4KKyAgICBleHBlY3RlZEVycm9yID0gVGVzdDI2MkVycm9yOworICB9CisKKyAgYXNz
ZXJ0LnRocm93cyhleHBlY3RlZEVycm9yLCAoKSA9PiB7CisgICAgYXJyYXkuYXQoMCk7CisgICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignYXQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseScpOworICB9
KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL2J5dGVMZW5ndGgvQmlnSW50L3Jlc2l6YWJsZS1hcnJheS1idWZmZXIt
YXV0by5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9ieXRlTGVuZ3RoL0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWF1dG8uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzE3ZTQwYjBiYWNjZWIwZjQ3Mjc5YzU4MGRkYzZmNDQ4NzhjOTEyZgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9ieXRlTGVuZ3RoL0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWF1dG8uanMK
QEAgLTAsMCArMSw0NiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLWdldC0ldHlwZWRhcnJheSUucHJvdG90eXBlLmJ5dGVvZmZzZXQKK2Rlc2NyaXB0aW9uOiB8
CisgIHJlc2V0IHRvIDAgaWYgdGhlIHVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaXMgcmVzaXplZCBi
ZXlvbmQgdGhlIGJvdW5kYXJ5IG9mCisgIHRoZSBkeW5hbWljYWxseS1zaXplZCBUeXBlZEFycmF5
IGluc3RhbmNlCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6
IFtBcnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCByZXNpemFibGUtYXJyYXlidWZmZXJd
CistLS0qLworCisvLyBJZiB0aGUgaG9zdCBjaG9vc2VzIHRvIHRocm93IGFzIGFsbG93ZWQgYnkg
dGhlIHNwZWNpZmljYXRpb24sIHRoZSBvYnNlcnZlZAorLy8gYmVoYXZpb3Igd2lsbCBiZSBpZGVu
dGljYWwgdG8gdGhlIGNhc2Ugd2hlcmUgYEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemVgCisv
LyBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQuIFRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIHByZXZl
bnRzIHRoaXMgdGVzdCBmcm9tCisvLyBwYXNzaW5nIGluIHJ1bnRpbWVzIHdoaWNoIGhhdmUgbm90
IGltcGxlbWVudGVkIHRoZSBtZXRob2QuCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBcnJheUJ1
ZmZlci5wcm90b3R5cGUucmVzaXplLCAiZnVuY3Rpb24iKTsKKwordGVzdFdpdGhCaWdJbnRUeXBl
ZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19Q
RVJfRUxFTUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRl
TGVuZ3RoOiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFKTsKKyAgdmFy
IGV4cGVjdGVkID0gQlBFICogMzsKKworICBhc3NlcnQuc2FtZVZhbHVlKGFycmF5LmJ5dGVMZW5n
dGgsIGV4cGVjdGVkKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgICBl
eHBlY3RlZCA9IEJQRSAqIDQ7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShhcnJheS5ieXRlTGVuZ3RoLCBleHBlY3RlZCwgImZvbGxvd2luZyBncm93Iik7CisKKyAgdHJ5
IHsKKyAgICBhYi5yZXNpemUoQlBFICogMyk7CisgICAgZXhwZWN0ZWQgPSBCUEUgKiAyOworICB9
IGNhdGNoIChfKSB7fQorCisgIGFzc2VydC5zYW1lVmFsdWUoYXJyYXkuYnl0ZUxlbmd0aCwgZXhw
ZWN0ZWQsICJmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKSIpOworCisgIHRyeSB7Cisg
ICAgYWIucmVzaXplKEJQRSk7CisgICAgZXhwZWN0ZWQgPSAwOworICB9IGNhdGNoIChfKSB7fQor
CisgIGFzc2VydC5zYW1lVmFsdWUoYXJyYXkuYnl0ZUxlbmd0aCwgZXhwZWN0ZWQsICJmb2xsb3dp
bmcgc2hyaW5rIChvdXQgb2YgYm91bmRzKSIpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYnl0ZUxlbmd0aC9CaWdJ
bnQvcmVzaXphYmxlLWFycmF5LWJ1ZmZlci1maXhlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlTGVuZ3RoL0JpZ0ludC9yZXNpemFi
bGUtYXJyYXktYnVmZmVyLWZpeGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0NzkwNjlhYmE0MjFlNmU3MDU1
MWJjNjljNWVlYjU4NDhlYWViMTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYnl0ZUxlbmd0aC9CaWdJbnQvcmVz
aXphYmxlLWFycmF5LWJ1ZmZlci1maXhlZC5qcwpAQCAtMCwwICsxLDQ2IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZ2V0LSV0eXBlZGFycmF5JS5wcm90b3R5
cGUuYnl0ZWxlbmd0aAorZGVzY3JpcHRpb246IHwKKyAgcmVzZXQgdG8gMCBpZiB0aGUgdW5kZXJs
eWluZyBBcnJheUJ1ZmZlciBpcyByZXNpemVkIGJleW9uZCB0aGUgYm91bmRhcnkgb2YKKyAgdGhl
IGZpeGVkLXNpemVkIFR5cGVkQXJyYXkgaW5zdGFuY2UKK2luY2x1ZGVzOiBbdGVzdEJpZ0ludFR5
cGVkQXJyYXkuanNdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBCaWdJbnQsIFR5cGVkQXJyYXks
IHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKKy8vIElmIHRoZSBob3N0IGNob29zZXMg
dG8gdGhyb3cgYXMgYWxsb3dlZCBieSB0aGUgc3BlY2lmaWNhdGlvbiwgdGhlIG9ic2VydmVkCisv
LyBiZWhhdmlvciB3aWxsIGJlIGlkZW50aWNhbCB0byB0aGUgY2FzZSB3aGVyZSBgQXJyYXlCdWZm
ZXIucHJvdG90eXBlLnJlc2l6ZWAKKy8vIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZC4gVGhlIGZv
bGxvd2luZyBhc3NlcnRpb24gcHJldmVudHMgdGhpcyB0ZXN0IGZyb20KKy8vIHBhc3NpbmcgaW4g
cnVudGltZXMgd2hpY2ggaGF2ZSBub3QgaW1wbGVtZW50ZWQgdGhlIG1ldGhvZC4KK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsICJmdW5jdGlvbiIp
OworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
KyAgdmFyIEJQRSA9IFRBLkJZVEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIgPSBuZXcgQXJyYXlC
dWZmZXIoQlBFICogNCwge21heEJ5dGVMZW5ndGg6IEJQRSAqIDV9KTsKKyAgdmFyIGFycmF5ID0g
bmV3IFRBKGFiLCBCUEUsIDIpOworCisgIGFzc2VydC5zYW1lVmFsdWUoYXJyYXkuYnl0ZUxlbmd0
aCwgQlBFICogMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0
Y2ggKF8pIHt9CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhcnJheS5ieXRlTGVuZ3RoLCBCUEUgKiAy
LCAiZm9sbG93aW5nIGdyb3ciKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsK
KyAgfSBjYXRjaCAoXykge30KKworICBhc3NlcnQuc2FtZVZhbHVlKGFycmF5LmJ5dGVMZW5ndGgs
IEJQRSAqIDIsICJmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKSIpOworCisgIHZhciBl
eHBlY3RlZDsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgZXhwZWN0ZWQg
PSAwOworICB9IGNhdGNoIChfKSB7CisgICAgZXhwZWN0ZWQgPSBCUEUgKiAyOworICB9CisKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShhcnJheS5ieXRlTGVuZ3RoLCBleHBlY3RlZCwgImZvbGxvd2luZyBz
aHJpbmsgKG91dCBvZiBib3VuZHMpIik7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlT2Zmc2V0L0JpZ0ludC9y
ZXNpemFibGUtYXJyYXktYnVmZmVyLWF1dG8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYnl0ZU9mZnNldC9CaWdJbnQvcmVzaXphYmxlLWFy
cmF5LWJ1ZmZlci1hdXRvLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzMmEyMjNkNGE2YzJlNDA0Zjg2MDFjN2Rj
ODc0NDE5YzEwMjFhYTgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYnl0ZU9mZnNldC9CaWdJbnQvcmVzaXphYmxl
LWFycmF5LWJ1ZmZlci1hdXRvLmpzCkBAIC0wLDAgKzEsNDYgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1nZXQtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5ieXRl
b2Zmc2V0CitkZXNjcmlwdGlvbjogfAorICByZXNldCB0byAwIGlmIHRoZSB1bmRlcmx5aW5nIEFy
cmF5QnVmZmVyIGlzIHJlc2l6ZWQgYmV5b25kIHRoZSBib3VuZGFyeSBvZgorICB0aGUgZHluYW1p
Y2FsbHktc2l6ZWQgVHlwZWRBcnJheSBpbnN0YW5jZQoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlw
ZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwg
cmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKworLy8gSWYgdGhlIGhvc3QgY2hvb3NlcyB0
byB0aHJvdyBhcyBhbGxvd2VkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uLCB0aGUgb2JzZXJ2ZWQKKy8v
IGJlaGF2aW9yIHdpbGwgYmUgaWRlbnRpY2FsIHRvIHRoZSBjYXNlIHdoZXJlIGBBcnJheUJ1ZmZl
ci5wcm90b3R5cGUucmVzaXplYAorLy8gaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkLiBUaGUgZm9s
bG93aW5nIGFzc2VydGlvbiBwcmV2ZW50cyB0aGlzIHRlc3QgZnJvbQorLy8gcGFzc2luZyBpbiBy
dW50aW1lcyB3aGljaCBoYXZlIG5vdCBpbXBsZW1lbnRlZCB0aGUgbWV0aG9kLgorYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwgImZ1bmN0aW9uIik7
CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewor
ICB2YXIgQlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1
ZmZlcihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBu
ZXcgVEEoYWIsIEJQRSk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhcnJheS5ieXRlT2Zmc2V0LCBC
UEUpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDUpOworICB9IGNhdGNoIChfKSB7
fQorCisgIGFzc2VydC5zYW1lVmFsdWUoYXJyYXkuYnl0ZU9mZnNldCwgQlBFLCAiZm9sbG93aW5n
IGdyb3ciKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgfSBjYXRjaCAo
Xykge30KKworICBhc3NlcnQuc2FtZVZhbHVlKGFycmF5LmJ5dGVPZmZzZXQsIEJQRSwgImZvbGxv
d2luZyBzaHJpbmsgKHdpdGhpbiBib3VuZHMpIik7CisKKyAgdmFyIGV4cGVjdGVkOworICB0cnkg
eworICAgIGFiLnJlc2l6ZShCUEUpOworICAgIGV4cGVjdGVkID0gMDsKKyAgfSBjYXRjaCAoXykg
eworICAgIGV4cGVjdGVkID0gQlBFOworICB9CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhcnJheS5i
eXRlT2Zmc2V0LCBleHBlY3RlZCwgImZvbGxvd2luZyBzaHJpbmsgKG91dCBvZiBib3VuZHMpIik7
Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5L3Byb3RvdHlwZS9ieXRlT2Zmc2V0L0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWZp
eGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL2J5dGVPZmZzZXQvQmlnSW50L3Jlc2l6YWJsZS1hcnJheS1idWZmZXItZml4ZWQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2FmNWZlZDA2OGFmNDJlMWM2NTg4MzZkZjdmY2MyZmVmNTBhMDA5OAotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9ieXRlT2Zmc2V0L0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWZpeGVkLmpz
CkBAIC0wLDAgKzEsNDYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBh
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6
IHNlYy1nZXQtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5ieXRlb2Zmc2V0CitkZXNjcmlwdGlvbjog
fAorICByZXNldCB0byAwIGlmIHRoZSB1bmRlcmx5aW5nIEFycmF5QnVmZmVyIGlzIHJlc2l6ZWQg
YmV5b25kIHRoZSBib3VuZGFyeSBvZgorICB0aGUgZml4ZWQtc2l6ZWQgVHlwZWRBcnJheSBpbnN0
YW5jZQoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJy
YXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0t
Ki8KKworLy8gSWYgdGhlIGhvc3QgY2hvb3NlcyB0byB0aHJvdyBhcyBhbGxvd2VkIGJ5IHRoZSBz
cGVjaWZpY2F0aW9uLCB0aGUgb2JzZXJ2ZWQKKy8vIGJlaGF2aW9yIHdpbGwgYmUgaWRlbnRpY2Fs
IHRvIHRoZSBjYXNlIHdoZXJlIGBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXplYAorLy8gaGFz
IG5vdCBiZWVuIGltcGxlbWVudGVkLiBUaGUgZm9sbG93aW5nIGFzc2VydGlvbiBwcmV2ZW50cyB0
aGlzIHRlc3QgZnJvbQorLy8gcGFzc2luZyBpbiBydW50aW1lcyB3aGljaCBoYXZlIG5vdCBpbXBs
ZW1lbnRlZCB0aGUgbWV0aG9kLgorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXJyYXlCdWZmZXIu
cHJvdG90eXBlLnJlc2l6ZSwgImZ1bmN0aW9uIik7CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJh
eUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICB2YXIgQlBFID0gVEEuQllURVNfUEVSX0VM
RU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0
aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIsIEJQRSwgMik7CisKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShhcnJheS5ieXRlT2Zmc2V0LCBCUEUpOworCisgIHRyeSB7CisgICAgYWIu
cmVzaXplKEJQRSAqIDUpOworICB9IGNhdGNoIChfKSB7fQorCisgIGFzc2VydC5zYW1lVmFsdWUo
YXJyYXkuYnl0ZU9mZnNldCwgQlBFLCAiZm9sbG93aW5nIGdyb3ciKTsKKworICB0cnkgeworICAg
IGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgfSBjYXRjaCAoXykge30KKworICBhc3NlcnQuc2FtZVZh
bHVlKGFycmF5LmJ5dGVPZmZzZXQsIEJQRSwgImZvbGxvd2luZyBzaHJpbmsgKHdpdGhpbiBib3Vu
ZHMpIik7CisKKyAgdmFyIGV4cGVjdGVkOworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAy
KTsKKyAgICBleHBlY3RlZCA9IDA7CisgIH0gY2F0Y2ggKF8pIHsKKyAgICBleHBlY3RlZCA9IEJQ
RTsKKyAgfQorCisgIGFzc2VydC5zYW1lVmFsdWUoYXJyYXkuYnl0ZU9mZnNldCwgZXhwZWN0ZWQs
ICJmb2xsb3dpbmcgc2hyaW5rIChvdXQgb2YgYm91bmRzKSIpOworfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvY29weVdp
dGhpbi9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9jb3B5V2l0
aGluL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjhmNGM0M2JiYjVjY2ZiY2QwOWM1ZmUyYWUwZjVhNzFkZThkYzY4MmEKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvY29weVdpdGhpbi9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJv
dW5kcy5qcwpAQCAtMCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHBy
b2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0t
Citlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5jb3B5d2l0aGluCitkZXNjcmlwdGlv
bjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkg
Y2hlY2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtB
cnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxl
LWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVk
QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4sCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRz
IFR5cGVkQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4nCispOworCithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywK
KyAgJ2ltcGxlbWVudHMgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RX
aXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5C
WVRFU19QRVJfRUxFTUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHtt
YXhCeXRlTGVuZ3RoOiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAy
KTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30K
KworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXkuY29weVdpdGhpbihuZXcg
VEEoKSwgMCk7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMyk7CisgIH0gY2F0Y2gg
KF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIHNocmluayAod2l0aGluIGJvdW5kcyk6
CisgIGFycmF5LmNvcHlXaXRoaW4obmV3IFRBKCksIDApOworCisgIHZhciBleHBlY3RlZEVycm9y
OworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAyKTsKKyAgICAvLyBJZiB0aGUgcHJlY2Vk
aW5nICJyZXNpemUiIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLCB0aGUgdHlwZWQgYXJyYXkgd2ls
bAorICAgIC8vIGJlIG91dCBvdXQgb2YgYm91bmRzLCBzbyB0aGUgc3Vic2VxdWVudCBwcm90b3R5
cGUgbWV0aG9kIHNob3VsZCBwcm9kdWNlCisgICAgLy8gYSBUeXBlRXJyb3IgZHVlIHRvIHRoZSBz
ZW1hbnRpY3Mgb2YgVmFsaWRhdGVUeXBlZEFycmF5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUeXBl
RXJyb3I7CisgIH0gY2F0Y2ggKF8pIHsKKyAgICAvLyBUaGUgaG9zdCBpcyBwZXJtaXR0ZWQgdG8g
ZmFpbCBhbnkgInJlc2l6ZSIgb3BlcmF0aW9uIGF0IGl0cyBvd24KKyAgICAvLyBkaXNjcmV0aW9u
LiBJZiB0aGF0IG9jY3VycywgdGhlIGNvcHlXaXRoaW4gb3BlcmF0aW9uIHNob3VsZCBjb21wbGV0
ZQorICAgIC8vIHN1Y2Nlc3NmdWxseS4KKyAgICBleHBlY3RlZEVycm9yID0gVGVzdDI2MkVycm9y
OworICB9CisKKyAgYXNzZXJ0LnRocm93cyhleHBlY3RlZEVycm9yLCAoKSA9PiB7CisgICAgYXJy
YXkuY29weVdpdGhpbihuZXcgVEEoKSwgMCk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
Y29weVdpdGhpbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
Y29weVdpdGhpbi9ieXRlb2Zmc2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vYnl0ZW9mZnNldC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yYmNkYWI3YTk0NDg5NGRhZDYyYzgxODFkOGQ1MzM0NGI2MGU3NGU4Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L2NvcHlXaXRoaW4vYnl0ZW9mZnNldC5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjEgQ2hlbmd6aG9uZyBXdS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKy8qLS0tCitlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5jb3B5d2l0aGluCitk
ZXNjcmlwdGlvbjogPgorICBjb3B5V2l0aGluIHNob3VsZCByZXNwZWN0IHR5cGVkYXJyYXkncyBi
eXRlT2Zmc2V0CitpbmZvOiB8CisgIDIyLjIuMy41JVR5cGVkQXJyYXklLnByb3RvdHlwZS5jb3B5
V2l0aGluICggdGFyZ2V0LCBzdGFydCBbICwgZW5kIF0gKQorICAuLi4KKyAgMTcuIElmIGNvdW50
ID4gMCwgdGhlbgorICAgIGUuIExldCBlbGVtZW50U2l6ZSBiZSB0aGUgRWxlbWVudCBTaXplIHZh
bHVlIHNwZWNpZmllZCBpbiBUYWJsZSA3MiBmb3IgdHlwZWRBcnJheU5hbWUuCisgICAgZi4gTGV0
IGJ5dGVPZmZzZXQgYmUgTy5bW0J5dGVPZmZzZXRdXS4KKyAgICBnLiBMZXQgdG9CeXRlSW5kZXgg
YmUgdG8gw5cgZWxlbWVudFNpemUgKyBieXRlT2Zmc2V0LgorICAgIGguIExldCBmcm9tQnl0ZUlu
ZGV4IGJlIGZyb20gw5cgZWxlbWVudFNpemUgKyBieXRlT2Zmc2V0LgorICAuLi4KK2luY2x1ZGVz
OiBbdGVzdFR5cGVkQXJyYXkuanMsIGNvbXBhcmVBcnJheS5qc10KK2ZlYXR1cmVzOiBbVHlwZWRB
cnJheV0KKy0tLSovCisKK3Rlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihU
QSkgeworICB2YXIgdGEgPSBuZXcgVEEoWzAsIDEsIDIsIDNdKTsKKyAgYXNzZXJ0LmNvbXBhcmVB
cnJheSgKKyAgICBuZXcgVEEodGEuYnVmZmVyLCBUQS5CWVRFU19QRVJfRUxFTUVOVCkuY29weVdp
dGhpbigyLCAwKSwKKyAgICBbMSwgMiwgMV0sCisgICAgJ2NvcHlXaXRoaW4gc2hvdWxkIHJlc3Bl
Y3QgdHlwZWRhcnJheVwncyBieXRlT2Zmc2V0JworICApOworCisgIGFzc2VydC5jb21wYXJlQXJy
YXkoCisgICAgdGEsCisgICAgWzAsIDEsIDIsIDFdLAorICAgICd1bmRlcmx5aW5nIGFycmF5YnVm
ZmVyIHNob3VsZCBoYXZlIGJlZW4gdXBkYXRlZCcKKyAgKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2VudHJpZXMv
QmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZW50cmllcy9CaWdJ
bnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ZTU2Mzk5YzEzYjZlNDUxODYxZmMwZDZmY2Q2MDlhNWFlOWY2NGRmCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2Vu
dHJpZXMvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAg
LTAsMCArMSw1OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LSV0eXBlZGFycmF5JS5wcm90b3R5cGUuZW50cmllcworZGVzY3JpcHRpb246IFJldHVybiBhYnJ1
cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcworaW5jbHVk
ZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJp
Z0ludCwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlw
ZS5lbnRyaWVzLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBUeXBlZEFycmF5LnByb3Rv
dHlwZS5lbnRyaWVzJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVm
ZmVyLnByb3RvdHlwZS5yZXNpemUsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5
QnVmZmVyLnByb3RvdHlwZS5yZXNpemUnCispOworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMoVEEgPT4geworICB2YXIgQlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7Cisg
IHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICog
NX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIsIEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBh
Yi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9s
bG93aW5nIGdyb3c6CisgIGFycmF5LmVudHJpZXMoKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6
ZShCUEUgKiAzKTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcg
c2hyaW5rICh3aXRoaW4gYm91bmRzKToKKyAgYXJyYXkuZW50cmllcygpOworCisgIHZhciBleHBl
Y3RlZEVycm9yOworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAyKTsKKyAgICAvLyBJZiB0
aGUgcHJlY2VkaW5nICJyZXNpemUiIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLCB0aGUgdHlwZWQg
YXJyYXkgd2lsbAorICAgIC8vIGJlIG91dCBvdXQgb2YgYm91bmRzLCBzbyB0aGUgc3Vic2VxdWVu
dCBwcm90b3R5cGUgbWV0aG9kIHNob3VsZCBwcm9kdWNlCisgICAgLy8gYSBUeXBlRXJyb3IgZHVl
IHRvIHRoZSBzZW1hbnRpY3Mgb2YgVmFsaWRhdGVUeXBlZEFycmF5LgorICAgIGV4cGVjdGVkRXJy
b3IgPSBUeXBlRXJyb3I7CisgIH0gY2F0Y2ggKF8pIHsKKyAgICAvLyBUaGUgaG9zdCBpcyBwZXJt
aXR0ZWQgdG8gZmFpbCBhbnkgInJlc2l6ZSIgb3BlcmF0aW9uIGF0IGl0cyBvd24KKyAgICAvLyBk
aXNjcmV0aW9uLiBJZiB0aGF0IG9jY3VycywgdGhlIGVudHJpZXMgb3BlcmF0aW9uIHNob3VsZCBj
b21wbGV0ZQorICAgIC8vIHN1Y2Nlc3NmdWxseS4KKyAgICBleHBlY3RlZEVycm9yID0gVGVzdDI2
MkVycm9yOworICB9CisKKyAgYXNzZXJ0LnRocm93cyhleHBlY3RlZEVycm9yLCAoKSA9PiB7Cisg
ICAgYXJyYXkuZW50cmllcygpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2VudHJpZXMg
Y29tcGxldGVkIHN1Y2Nlc3NmdWxseScpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L0JpZ0lu
dC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L0JpZ0ludC9yZXR1
cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2NzMzYTU2
Y2NlYzRkZWU3OTgzM2RlMzNkOWE1N2I1NDA3OGEwYTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZXZlcnkvQmln
SW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1
OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFy
cmF5JS5wcm90b3R5cGUuZXZlcnkKK2Rlc2NyaXB0aW9uOiBSZXR1cm4gYWJydXB0IHdoZW4gInRo
aXMiIHZhbHVlIGZhaWxzIGJ1ZmZlciBib3VuZGFyeSBjaGVja3MKK2luY2x1ZGVzOiBbdGVzdEJp
Z0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBCaWdJbnQsIFR5cGVk
QXJyYXksIGFycm93LWZ1bmN0aW9uLCByZXNpemFibGUtYXJyYXlidWZmZXJdCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgVHlwZWRBcnJheS5wcm90b3R5cGUuZXZlcnksCisg
ICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLmV2ZXJ5Jwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5y
ZXNpemUsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlw
ZS5yZXNpemUnCispOworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEg
PT4geworICB2YXIgQlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBB
cnJheUJ1ZmZlcihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJy
YXkgPSBuZXcgVEEoYWIsIEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICog
NSk7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6Cisg
IGFycmF5LmV2ZXJ5KCgpID0+IHt9KTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAz
KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgc2hyaW5rICh3
aXRoaW4gYm91bmRzKToKKyAgYXJyYXkuZXZlcnkoKCkgPT4ge30pOworCisgIHZhciBleHBlY3Rl
ZEVycm9yOworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAyKTsKKyAgICAvLyBJZiB0aGUg
cHJlY2VkaW5nICJyZXNpemUiIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLCB0aGUgdHlwZWQgYXJy
YXkgd2lsbAorICAgIC8vIGJlIG91dCBvdXQgb2YgYm91bmRzLCBzbyB0aGUgc3Vic2VxdWVudCBw
cm90b3R5cGUgbWV0aG9kIHNob3VsZCBwcm9kdWNlCisgICAgLy8gYSBUeXBlRXJyb3IgZHVlIHRv
IHRoZSBzZW1hbnRpY3Mgb2YgVmFsaWRhdGVUeXBlZEFycmF5LgorICAgIGV4cGVjdGVkRXJyb3Ig
PSBUeXBlRXJyb3I7CisgIH0gY2F0Y2ggKF8pIHsKKyAgICAvLyBUaGUgaG9zdCBpcyBwZXJtaXR0
ZWQgdG8gZmFpbCBhbnkgInJlc2l6ZSIgb3BlcmF0aW9uIGF0IGl0cyBvd24KKyAgICAvLyBkaXNj
cmV0aW9uLiBJZiB0aGF0IG9jY3VycywgdGhlIGV2ZXJ5IG9wZXJhdGlvbiBzaG91bGQgY29tcGxl
dGUKKyAgICAvLyBzdWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJv
cjsKKyAgfQorCisgIGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFy
cmF5LmV2ZXJ5KCgpID0+IHt9KTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdldmVyeSBj
b21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsbC9CaWdJbnQv
cmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maWxsL0JpZ0ludC9yZXR1cm4t
YWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyODg5OGM2NDc0
MjU3YjUyZGNjMDM2NWNlN2U3Yzc4N2ZiYWZiYjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsbC9CaWdJbnQv
cmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAtMCwwICsxLDU5IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtJXR5cGVkYXJyYXkl
LnByb3RvdHlwZS5maWxsCitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2
YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRU
eXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5
LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBlLmZpbGwsCisgICdmdW5j
dGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLmZpbGwnCispOworCith
c3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwK
KyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6
ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9PiB7Cisg
IHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVm
ZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5l
dyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAg
fSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXku
ZmlsbCgwKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgfSBjYXRjaCAo
Xykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKToK
KyAgYXJyYXkuZmlsbCgwKTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBh
Yi5yZXNpemUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVy
YXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQg
b3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQg
cHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlk
YXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9yOworICB9IGNhdGNo
IChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUi
IG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMs
IHRoZSBmaWxsIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHku
CisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJv
d3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5LmZpbGwoMCk7CisgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignZmlsbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOwor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvZmlsdGVyL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2Yt
Ym91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJv
dG90eXBlL2ZpbHRlci9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5k
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40ODkxNzY2ZTYwYzE3YjI4MmFiNTdhNTEwY2M5OWYyYmY0ZDMwOWY0
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL2ZpbHRlci9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0
LW9mLWJvdW5kcy5qcwpAQCAtMCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
Ky8qLS0tCitlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5maWx0ZXIKK2Rlc2NyaXB0
aW9uOiBSZXR1cm4gYWJydXB0IHdoZW4gInRoaXMiIHZhbHVlIGZhaWxzIGJ1ZmZlciBib3VuZGFy
eSBjaGVja3MKK2luY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczog
W0FycmF5QnVmZmVyLCBCaWdJbnQsIFR5cGVkQXJyYXksIGFycm93LWZ1bmN0aW9uLCByZXNpemFi
bGUtYXJyYXlidWZmZXJdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgVHlw
ZWRBcnJheS5wcm90b3R5cGUuZmlsdGVyLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBU
eXBlZEFycmF5LnByb3RvdHlwZS5maWx0ZXInCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2lt
cGxlbWVudHMgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmln
SW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19Q
RVJfRUxFTUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRl
TGVuZ3RoOiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKwor
ICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAv
LyBubyBlcnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXkuZmlsdGVyKCgpID0+IHt9KTsKKwor
ICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgfSBjYXRjaCAoXykge30KKworICAv
LyBubyBlcnJvciBmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKToKKyAgYXJyYXkuZmls
dGVyKCgpID0+IHt9KTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5y
ZXNpemUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVyYXRp
b24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQgb3V0
IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQgcHJv
ZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlkYXRl
VHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9yOworICB9IGNhdGNoIChf
KSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUiIG9w
ZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMsIHRo
ZSBmaWx0ZXIgb3BlcmF0aW9uIHNob3VsZCBjb21wbGV0ZQorICAgIC8vIHN1Y2Nlc3NmdWxseS4K
KyAgICBleHBlY3RlZEVycm9yID0gVGVzdDI2MkVycm9yOworICB9CisKKyAgYXNzZXJ0LnRocm93
cyhleHBlY3RlZEVycm9yLCAoKSA9PiB7CisgICAgYXJyYXkuZmlsdGVyKCgpID0+IHt9KTsKKyAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmaWx0ZXIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseScp
OworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmQvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlz
LW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheS9wcm90b3R5cGUvZmluZC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9m
LWJvdW5kcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWQyZGJiZjU3ZDNiZjQ5Njg2MzAxOGQxYTAyOWQxODM2
ZDQ3NTI3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmQvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlz
LW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIx
IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuZmluZAorZGVzY3Jp
cHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5k
YXJ5IGNoZWNrcworaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVz
OiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6
YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBU
eXBlZEFycmF5LnByb3RvdHlwZS5maW5kLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBU
eXBlZEFycmF5LnByb3RvdHlwZS5maW5kJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlw
ZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisgICdmdW5jdGlvbicsCisgICdpbXBs
ZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUnCispOworCit0ZXN0V2l0aEJpZ0lu
dFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2YXIgQlBFID0gVEEuQllURVNfUEVS
X0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUgKiA0LCB7bWF4Qnl0ZUxl
bmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIsIEJQRSwgMik7CisKKyAg
dHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgLy8g
bm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5LmZpbmQoKCkgPT4ge30pOworCisgIHRy
eSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5v
IGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJheS5maW5kKCgp
ID0+IHt9KTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUo
QlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVyYXRpb24gaXMg
c3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQgb3V0IG9mIGJv
dW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQgcHJvZHVjZQor
ICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlkYXRlVHlwZWRB
cnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9yOworICB9IGNhdGNoIChfKSB7Cisg
ICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUiIG9wZXJhdGlv
biBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMsIHRoZSBmaW5k
IG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHkuCisgICAgZXhw
ZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJvd3MoZXhwZWN0
ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5LmZpbmQoKCkgPT4ge30pOworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJ2ZpbmQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseScpOworICB9KTsKK30p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2ZpbmRJbmRleC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9m
LWJvdW5kcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9maW5kSW5kZXgvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1i
b3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQzMWMyYWYyNjA5M2M0ZmExZTViZWMzZDI0MTRlNDY1NGU1
OTc4OQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10
aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuZmluZGluZGV4
CitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZm
ZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQor
ZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlv
biwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
dHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCwKKyAgJ2Z1bmN0aW9uJywKKyAg
J2ltcGxlbWVudHMgVHlwZWRBcnJheS5wcm90b3R5cGUuZmluZEluZGV4JworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisgICdm
dW5jdGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUnCisp
OworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2YXIg
QlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihC
UEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEo
YWIsIEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0
Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5LmZpbmRJ
bmRleCgoKSA9PiB7fSk7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMyk7CisgIH0g
Y2F0Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIHNocmluayAod2l0aGluIGJv
dW5kcyk6CisgIGFycmF5LmZpbmRJbmRleCgoKSA9PiB7fSk7CisKKyAgdmFyIGV4cGVjdGVkRXJy
b3I7CisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRoZSBwcmVj
ZWRpbmcgInJlc2l6ZSIgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBhcnJheSB3
aWxsCisgICAgLy8gYmUgb3V0IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50IHByb3Rv
dHlwZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUgdG8gdGhl
IHNlbWFudGljcyBvZiBWYWxpZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFR5
cGVFcnJvcjsKKyAgfSBjYXRjaCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0
byBmYWlsIGFueSAicmVzaXplIiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRp
b24uIElmIHRoYXQgb2NjdXJzLCB0aGUgZmluZEluZGV4IG9wZXJhdGlvbiBzaG91bGQgY29tcGxl
dGUKKyAgICAvLyBzdWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJv
cjsKKyAgfQorCisgIGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFy
cmF5LmZpbmRJbmRleCgoKSA9PiB7fSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZmlu
ZEluZGV4IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknKTsKKyAgfSk7Cit9KTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maW5k
TGFzdC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maW5kTGFz
dC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNDY4YjYyZWU0ZDBjYzYzYjZjMDhmMGVjNzc1Mjg1ZTViYjAxYjQxCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL2ZpbmRMYXN0L0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRz
LmpzCkBAIC0wLDAgKzEsNTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBNaWNyb3NvZnQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBl
ZGFycmF5JS5wcm90b3R5cGUuZmluZGxhc3QKK2Rlc2NyaXB0aW9uOiBSZXR1cm4gYWJydXB0IHdo
ZW4gInRoaXMiIHZhbHVlIGZhaWxzIGJ1ZmZlciBib3VuZGFyeSBjaGVja3MKK2luY2x1ZGVzOiBb
dGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBCaWdJbnQs
IFR5cGVkQXJyYXksIGFycmF5LWZpbmQtZnJvbS1sYXN0LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXph
YmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5
cGVkQXJyYXkucHJvdG90eXBlLmZpbmRMYXN0LAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50
cyBUeXBlZEFycmF5LnByb3RvdHlwZS5maW5kTGFzdCcKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXplLAorICAnZnVuY3Rpb24nLAor
ICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXplJworKTsKKwordGVzdFdp
dGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKFRBID0+IHsKKyAgdmFyIEJQRSA9IFRBLkJZ
VEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIgPSBuZXcgQXJyYXlCdWZmZXIoQlBFICogNCwge21h
eEJ5dGVMZW5ndGg6IEJQRSAqIDV9KTsKKyAgdmFyIGFycmF5ID0gbmV3IFRBKGFiLCBCUEUsIDIp
OworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDUpOworICB9IGNhdGNoIChfKSB7fQor
CisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBncm93OgorICBhcnJheS5maW5kTGFzdCgoKSA9PiB7
fSk7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMyk7CisgIH0gY2F0Y2ggKF8pIHt9
CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIHNocmluayAod2l0aGluIGJvdW5kcyk6CisgIGFy
cmF5LmZpbmRMYXN0KCgpID0+IHt9KTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsK
KyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAicmVzaXpl
IiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAgICAvLyBi
ZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1ldGhvZCBz
aG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50aWNzIG9m
IFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9yOworICB9
IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwgYW55ICJy
ZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYgdGhhdCBv
Y2N1cnMsIHRoZSBmaW5kTGFzdCBvcGVyYXRpb24gc2hvdWxkIGNvbXBsZXRlCisgICAgLy8gc3Vj
Y2Vzc2Z1bGx5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYyRXJyb3I7CisgIH0KKworICBh
c3NlcnQudGhyb3dzKGV4cGVjdGVkRXJyb3IsICgpID0+IHsKKyAgICBhcnJheS5maW5kTGFzdCgo
KSA9PiB7fSk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZmluZExhc3QgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseScpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmRMYXN0SW5kZXgvQmlnSW50
L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZExhc3RJbmRleC9CaWdJ
bnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MjdlZmNmNWQ3M2VlMzYyNDljMDYzMjNmMTlkZjM3ZjY5ODRkZTM2Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2Zp
bmRMYXN0SW5kZXgvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMu
anMKQEAgLTAsMCArMSw1OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIE1pY3Jvc29mdC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtJXR5cGVk
YXJyYXklLnByb3RvdHlwZS5maW5kbGFzdGluZGV4CitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVw
dCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmln
SW50LCBUeXBlZEFycmF5LCBhcnJheS1maW5kLWZyb20tbGFzdCwgYXJyb3ctZnVuY3Rpb24sIHJl
c2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVv
ZiBUeXBlZEFycmF5LnByb3RvdHlwZS5maW5kTGFzdEluZGV4LAorICAnZnVuY3Rpb24nLAorICAn
aW1wbGVtZW50cyBUeXBlZEFycmF5LnByb3RvdHlwZS5maW5kTGFzdEluZGV4JworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisg
ICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUn
CispOworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2
YXIgQlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZl
cihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcg
VEEoYWIsIEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0g
Y2F0Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5LmZp
bmRMYXN0SW5kZXgoKCkgPT4ge30pOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMp
OworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdp
dGhpbiBib3VuZHMpOgorICBhcnJheS5maW5kTGFzdEluZGV4KCgpID0+IHt9KTsKKworICB2YXIg
ZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8g
SWYgdGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5
cGVkIGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNl
cXVlbnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9y
IGR1ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3Rl
ZEVycm9yID0gVHlwZUVycm9yOworICB9IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMg
cGVybWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAg
Ly8gZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMsIHRoZSBmaW5kTGFzdEluZGV4IG9wZXJhdGlv
biBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJv
ciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwg
KCkgPT4geworICAgIGFycmF5LmZpbmRMYXN0SW5kZXgoKCkgPT4ge30pOworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJ2ZpbmRMYXN0SW5kZXggY29tcGxldGVkIHN1Y2Nlc3NmdWxseScpOwor
ICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL2ZvckVhY2gvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlz
LW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheS9wcm90b3R5cGUvZm9yRWFjaC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0
LW9mLWJvdW5kcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWQ2NjQ3OTM4MDViODU1Y2EzYWViMGYwZjIzMzY5
YjUxOGY5M2FhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZvckVhY2gvQmlnSW50L3JldHVybi1hYnJ1cHQtZnJv
bS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuZm9yZWFj
aAorZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVm
ZmVyIGJvdW5kYXJ5IGNoZWNrcworaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10K
K2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rp
b24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLAorICAnZnVuY3Rpb24nLAorICAn
aW1wbGVtZW50cyBUeXBlZEFycmF5LnByb3RvdHlwZS5mb3JFYWNoJworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisgICdmdW5j
dGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUnCispOwor
Cit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2YXIgQlBF
ID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUg
KiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIs
IEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0Y2gg
KF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5LmZvckVhY2go
KCkgPT4ge30pOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMpOworICB9IGNhdGNo
IChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdpdGhpbiBib3VuZHMp
OgorICBhcnJheS5mb3JFYWNoKCgpID0+IHt9KTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAg
dHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAi
cmVzaXplIiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAg
ICAvLyBiZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1l
dGhvZCBzaG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50
aWNzIG9mIFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9y
OworICB9IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwg
YW55ICJyZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYg
dGhhdCBvY2N1cnMsIHRoZSBmb3JFYWNoIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAv
LyBzdWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQor
CisgIGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5LmZvckVh
Y2goKCkgPT4ge30pOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2ZvckVhY2ggY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseScpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVzL0JpZ0ludC9y
ZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVzL0JpZ0ludC9yZXR1
cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3NmIwYTg5
NThiODhiYWMwM2U1YjFhNmUwNjdmY2EzOGYyMzE3MDQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5jbHVkZXMv
QmlnSW50L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCAr
MSw1OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBl
ZGFycmF5JS5wcm90b3R5cGUuaW5jbHVkZXMKK2Rlc2NyaXB0aW9uOiBSZXR1cm4gYWJydXB0IHdo
ZW4gInRoaXMiIHZhbHVlIGZhaWxzIGJ1ZmZlciBib3VuZGFyeSBjaGVja3MKK2luY2x1ZGVzOiBb
dGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBCaWdJbnQs
IFR5cGVkQXJyYXksIGFycm93LWZ1bmN0aW9uLCByZXNpemFibGUtYXJyYXlidWZmZXJdCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgVHlwZWRBcnJheS5wcm90b3R5cGUuaW5j
bHVkZXMsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBl
LmluY2x1ZGVzJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVy
LnByb3RvdHlwZS5yZXNpemUsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVm
ZmVyLnByb3RvdHlwZS5yZXNpemUnCispOworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMoVEEgPT4geworICB2YXIgQlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZh
ciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0p
OworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIsIEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5y
ZXNpemUoQlBFICogNSk7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93
aW5nIGdyb3c6CisgIGFycmF5LmluY2x1ZGVzKDApOworCisgIHRyeSB7CisgICAgYWIucmVzaXpl
KEJQRSAqIDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBz
aHJpbmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJheS5pbmNsdWRlcygwKTsKKworICB2YXIgZXhw
ZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8gSWYg
dGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVk
IGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVl
bnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1
ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVy
cm9yID0gVHlwZUVycm9yOworICB9IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVy
bWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8g
ZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMsIHRoZSBpbmNsdWRlcyBvcGVyYXRpb24gc2hvdWxk
IGNvbXBsZXRlCisgICAgLy8gc3VjY2Vzc2Z1bGx5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUZXN0
MjYyRXJyb3I7CisgIH0KKworICBhc3NlcnQudGhyb3dzKGV4cGVjdGVkRXJyb3IsICgpID0+IHsK
KyAgICBhcnJheS5pbmNsdWRlcygwKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdpbmNs
dWRlcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5kZXhP
Zi9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9pbmRleE9mL0Jp
Z0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA3ODk1NWU3ODNjYWJhYjM0NjQ0ZTkzNzc0OWY4NDdmNTQ1M2JlYjYKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
aW5kZXhPZi9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpA
QCAtMCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBz
ZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5pbmRleG9mCitkZXNjcmlwdGlvbjogUmV0dXJuIGFi
cnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNs
dWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwg
QmlnSW50LCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVy
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90
eXBlLmluZGV4T2YsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJv
dG90eXBlLmluZGV4T2YnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgQXJyYXlC
dWZmZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgQXJy
YXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJh
eUNvbnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVOVDsK
KyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBCUEUg
KiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkgeworICAg
IGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBm
b2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXkuaW5kZXhPZigwKTsKKworICB0cnkgeworICAgIGFiLnJl
c2l6ZShCUEUgKiAzKTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dp
bmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKToKKyAgYXJyYXkuaW5kZXhPZigwKTsKKworICB2YXIg
ZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8g
SWYgdGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5
cGVkIGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNl
cXVlbnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9y
IGR1ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3Rl
ZEVycm9yID0gVHlwZUVycm9yOworICB9IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMg
cGVybWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAg
Ly8gZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMsIHRoZSBpbmRleE9mIG9wZXJhdGlvbiBzaG91
bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRl
c3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4g
eworICAgIGFycmF5LmluZGV4T2YoMCk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignaW5k
ZXhPZiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvam9pbi9C
aWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9qb2luL0JpZ0ludC9y
ZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZWQ5
ZWQ3NjM1ODViYWU2YzMzZDc0ODY5MGVlNzBmMjQ5NWVlNDgKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvam9pbi9C
aWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAtMCwwICsx
LDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtJXR5cGVk
YXJyYXklLnByb3RvdHlwZS5qb2luCitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0
aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRlczogW3Rlc3RC
aWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmlnSW50LCBUeXBl
ZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBlLmpvaW4sCisg
ICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLmpvaW4nCisp
OworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJl
c2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgQXJyYXlCdWZmZXIucHJvdG90eXBl
LnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9
PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVOVDsKKyAgdmFyIGFiID0gbmV3IEFy
cmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBCUEUgKiA1fSk7CisgIHZhciBhcnJh
eSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1
KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAg
YXJyYXkuam9pbigwKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgfSBj
YXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91
bmRzKToKKyAgYXJyYXkuam9pbigwKTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsK
KyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAicmVzaXpl
IiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAgICAvLyBi
ZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1ldGhvZCBz
aG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50aWNzIG9m
IFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9yOworICB9
IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwgYW55ICJy
ZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYgdGhhdCBv
Y2N1cnMsIHRoZSBqb2luIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNz
ZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2Vy
dC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5LmpvaW4oMCk7CisgICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignam9pbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7Cisg
IH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUva2V5cy9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0
LW9mLWJvdW5kcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9rZXlzL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91
bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNkOWQyMzc2MDliYjRkZmVmN2VkMTgwZmEyN2IyMzBhMmE0OWM4
ODgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUva2V5cy9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0
LW9mLWJvdW5kcy5qcwpAQCAtMCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
Ky8qLS0tCitlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5rZXlzCitkZXNjcmlwdGlv
bjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkg
Y2hlY2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtB
cnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxl
LWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVk
QXJyYXkucHJvdG90eXBlLmtleXMsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVk
QXJyYXkucHJvdG90eXBlLmtleXMnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
QXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVu
dHMgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlw
ZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxF
TUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3Ro
OiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkg
eworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBl
cnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXkua2V5cygpOworCisgIHRyeSB7CisgICAgYWIu
cmVzaXplKEJQRSAqIDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxv
d2luZyBzaHJpbmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJheS5rZXlzKCk7CisKKyAgdmFyIGV4
cGVjdGVkRXJyb3I7CisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElm
IHRoZSBwcmVjZWRpbmcgInJlc2l6ZSIgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBl
ZCBhcnJheSB3aWxsCisgICAgLy8gYmUgb3V0IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1
ZW50IHByb3RvdHlwZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBk
dWUgdG8gdGhlIHNlbWFudGljcyBvZiBWYWxpZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRF
cnJvciA9IFR5cGVFcnJvcjsKKyAgfSBjYXRjaCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBl
cm1pdHRlZCB0byBmYWlsIGFueSAicmVzaXplIiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8v
IGRpc2NyZXRpb24uIElmIHRoYXQgb2NjdXJzLCB0aGUga2V5cyBvcGVyYXRpb24gc2hvdWxkIGNv
bXBsZXRlCisgICAgLy8gc3VjY2Vzc2Z1bGx5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYy
RXJyb3I7CisgIH0KKworICBhc3NlcnQudGhyb3dzKGV4cGVjdGVkRXJyb3IsICgpID0+IHsKKyAg
ICBhcnJheS5rZXlzKCk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigna2V5cyBjb21wbGV0
ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGFzdEluZGV4T2YvQmlnSW50
L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGFzdEluZGV4T2YvQmlnSW50
L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM5
NzgwYjA2ZjkzOTFiOGY5NDM3NzhjMzczY2YwMTgzNWE0YjE0ZAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0
SW5kZXhPZi9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpA
QCAtMCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBz
ZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5sYXN0aW5kZXhvZgorZGVzY3JpcHRpb246IFJldHVy
biBhYnJ1cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcwor
aW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZm
ZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1
ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnBy
b3RvdHlwZS5sYXN0SW5kZXhPZiwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgVHlwZWRB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0
eXBlb2YgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2lt
cGxlbWVudHMgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmln
SW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19Q
RVJfRUxFTUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRl
TGVuZ3RoOiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKwor
ICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAv
LyBubyBlcnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXkubGFzdEluZGV4T2YoMCk7CisKKyAg
dHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMyk7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgLy8g
bm8gZXJyb3IgZm9sbG93aW5nIHNocmluayAod2l0aGluIGJvdW5kcyk6CisgIGFycmF5Lmxhc3RJ
bmRleE9mKDApOworCisgIHZhciBleHBlY3RlZEVycm9yOworICB0cnkgeworICAgIGFiLnJlc2l6
ZShCUEUgKiAyKTsKKyAgICAvLyBJZiB0aGUgcHJlY2VkaW5nICJyZXNpemUiIG9wZXJhdGlvbiBp
cyBzdWNjZXNzZnVsLCB0aGUgdHlwZWQgYXJyYXkgd2lsbAorICAgIC8vIGJlIG91dCBvdXQgb2Yg
Ym91bmRzLCBzbyB0aGUgc3Vic2VxdWVudCBwcm90b3R5cGUgbWV0aG9kIHNob3VsZCBwcm9kdWNl
CisgICAgLy8gYSBUeXBlRXJyb3IgZHVlIHRvIHRoZSBzZW1hbnRpY3Mgb2YgVmFsaWRhdGVUeXBl
ZEFycmF5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUeXBlRXJyb3I7CisgIH0gY2F0Y2ggKF8pIHsK
KyAgICAvLyBUaGUgaG9zdCBpcyBwZXJtaXR0ZWQgdG8gZmFpbCBhbnkgInJlc2l6ZSIgb3BlcmF0
aW9uIGF0IGl0cyBvd24KKyAgICAvLyBkaXNjcmV0aW9uLiBJZiB0aGF0IG9jY3VycywgdGhlIGxh
c3RJbmRleE9mIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHku
CisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJv
d3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5Lmxhc3RJbmRleE9mKDApOworICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2xhc3RJbmRleE9mIGNvbXBsZXRlZCBzdWNjZXNzZnVs
bHknKTsKKyAgfSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9yZXR1cm4tYWJydXB0LWZyb20t
dGhpcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRleE9mL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91
dC1vZi1ib3VuZHMuanMKaW5kZXggN2E3NDczMjI2NGM3MWZmYTc1Yjk4OTM2ZmNmMDFjZTI1YmI2
ZWRhZC4uYTczMWJkNDAzYmI4ZmQ0ZDI2Njg2NjYzNDFhODU3YWQ3NzdiMWFhNSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2xh
c3RJbmRleE9mL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2xhc3RJ
bmRleE9mL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTQsNyAr
NCw3IEBACiBlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5sYXN0aW5kZXhvZgogZGVz
Y3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJv
dW5kYXJ5IGNoZWNrcwogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBb
VHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZl
ciwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0t
LSovCiAKIGFzc2VydC5zYW1lVmFsdWUoCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGVuZ3RoL0JpZ0ludC9yZXNpemFibGUt
YXJyYXktYnVmZmVyLWF1dG8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUvbGVuZ3RoL0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWF1
dG8uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTFmMTkxYTEwM2MwZWMwZjljNDZjYjEyNDIxMmEyYzUxNzllYzUx
MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9sZW5ndGgvQmlnSW50L3Jlc2l6YWJsZS1hcnJheS1idWZmZXItYXV0
by5qcwpAQCAtMCwwICsxLDQ2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2pl
Y3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtZ2V0LSV0eXBlZGFycmF5JS5wcm90b3R5cGUubGVuZ3RoCitkZXNjcmlwdGlvbjog
fAorICByZXNldCB0byAwIGlmIHRoZSB1bmRlcmx5aW5nIEFycmF5QnVmZmVyIGlzIHJlc2l6ZWQg
YmV5b25kIHRoZSBib3VuZGFyeSBvZgorICB0aGUgZHluYW1pY2FsbHktc2l6ZWQgVHlwZWRBcnJh
eSBpbnN0YW5jZQoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVz
OiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVmZmVy
XQorLS0tKi8KKworLy8gSWYgdGhlIGhvc3QgY2hvb3NlcyB0byB0aHJvdyBhcyBhbGxvd2VkIGJ5
IHRoZSBzcGVjaWZpY2F0aW9uLCB0aGUgb2JzZXJ2ZWQKKy8vIGJlaGF2aW9yIHdpbGwgYmUgaWRl
bnRpY2FsIHRvIHRoZSBjYXNlIHdoZXJlIGBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXplYAor
Ly8gaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkLiBUaGUgZm9sbG93aW5nIGFzc2VydGlvbiBwcmV2
ZW50cyB0aGlzIHRlc3QgZnJvbQorLy8gcGFzc2luZyBpbiBydW50aW1lcyB3aGljaCBoYXZlIG5v
dCBpbXBsZW1lbnRlZCB0aGUgbWV0aG9kLgorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXJyYXlC
dWZmZXIucHJvdG90eXBlLnJlc2l6ZSwgImZ1bmN0aW9uIik7CisKK3Rlc3RXaXRoQmlnSW50VHlw
ZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICB2YXIgQlBFID0gVEEuQllURVNf
UEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUgKiA0LCB7bWF4Qnl0
ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIsIEJQRSk7CisgIHZh
ciBleHBlY3RlZCA9IDM7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhcnJheS5sZW5ndGgsIGV4cGVj
dGVkLCAiaW5pdGlhbCB2YWx1ZSIpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDUp
OworICAgIGV4cGVjdGVkID0gNDsKKyAgfSBjYXRjaCAoXykge30KKworICBhc3NlcnQuc2FtZVZh
bHVlKGFycmF5Lmxlbmd0aCwgZXhwZWN0ZWQsICJmb2xsb3dpbmcgZ3JvdyIpOworCisgIHRyeSB7
CisgICAgYWIucmVzaXplKEJQRSAqIDMpOworICAgIGV4cGVjdGVkID0gMjsKKyAgfSBjYXRjaCAo
Xykge30KKworICBhc3NlcnQuc2FtZVZhbHVlKGFycmF5Lmxlbmd0aCwgZXhwZWN0ZWQsICJmb2xs
b3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKSIpOworCisgIHRyeSB7CisgICAgYWIucmVzaXpl
KEJQRSk7CisgICAgZXhwZWN0ZWQgPSAwOworICB9IGNhdGNoIChfKSB7fQorCisgIGFzc2VydC5z
YW1lVmFsdWUoYXJyYXkubGVuZ3RoLCBleHBlY3RlZCwgImZvbGxvd2luZyBzaHJpbmsgKG91dCBv
ZiBib3VuZHMpIik7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sZW5ndGgvQmlnSW50L3Jlc2l6YWJsZS1hcnJheS1i
dWZmZXItZml4ZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvbGVuZ3RoL0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWZpeGVkLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc3Y2YzNWNjZjI0NjM0MDE1YTUwNGU4ZjM1NzU2ZDdhYjdiNzA0NWQKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvbGVuZ3RoL0JpZ0ludC9yZXNpemFibGUtYXJyYXktYnVmZmVyLWZpeGVkLmpz
CkBAIC0wLDAgKzEsNDYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBh
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6
IHNlYy1nZXQtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5sZW5ndGgKK2Rlc2NyaXB0aW9uOiB8Cisg
IHJlc2V0IHRvIDAgaWYgdGhlIHVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaXMgcmVzaXplZCBiZXlv
bmQgdGhlIGJvdW5kYXJ5IG9mCisgIHRoZSBmaXhlZC1zaXplZCBUeXBlZEFycmF5IGluc3RhbmNl
CitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1
ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCByZXNpemFibGUtYXJyYXlidWZmZXJdCistLS0qLwor
CisvLyBJZiB0aGUgaG9zdCBjaG9vc2VzIHRvIHRocm93IGFzIGFsbG93ZWQgYnkgdGhlIHNwZWNp
ZmljYXRpb24sIHRoZSBvYnNlcnZlZAorLy8gYmVoYXZpb3Igd2lsbCBiZSBpZGVudGljYWwgdG8g
dGhlIGNhc2Ugd2hlcmUgYEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemVgCisvLyBoYXMgbm90
IGJlZW4gaW1wbGVtZW50ZWQuIFRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIHByZXZlbnRzIHRoaXMg
dGVzdCBmcm9tCisvLyBwYXNzaW5nIGluIHJ1bnRpbWVzIHdoaWNoIGhhdmUgbm90IGltcGxlbWVu
dGVkIHRoZSBtZXRob2QuCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90
b3R5cGUucmVzaXplLCAiZnVuY3Rpb24iKTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29u
c3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVO
VDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBC
UEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICBhc3NlcnQu
c2FtZVZhbHVlKGFycmF5Lmxlbmd0aCwgMiwgImluaXRpYWwgdmFsdWUiKTsKKworICB0cnkgewor
ICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICBhc3NlcnQuc2Ft
ZVZhbHVlKGFycmF5Lmxlbmd0aCwgMiwgImZvbGxvd2luZyBncm93Iik7CisKKyAgdHJ5IHsKKyAg
ICBhYi5yZXNpemUoQlBFICogMyk7CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShhcnJheS5sZW5ndGgsIDIsICJmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRzKSIp
OworCisgIHZhciBleHBlY3RlZDsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7Cisg
ICAgZXhwZWN0ZWQgPSAwOworICB9IGNhdGNoIChfKSB7CisgICAgZXhwZWN0ZWQgPSAyOworICB9
CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhcnJheS5sZW5ndGgsIGV4cGVjdGVkLCAiZm9sbG93aW5n
IHNocmluayAob3V0IG9mIGJvdW5kcykiKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL21hcC9CaWdJbnQvcmV0dXJu
LWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAvQmlnSW50L3JldHVybi1hYnJ1cHQt
ZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRlMDA5MDkzMzJjMGU3NTBl
NmZjNzE0NjkyNGZhMmJmZjE0MWYxZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAvQmlnSW50L3JldHVybi1h
YnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5
cGUubWFwCitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWls
cyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5
LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCBhcnJvdy1m
dW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBlLm1hcCwKKyAgJ2Z1bmN0aW9uJywKKyAg
J2ltcGxlbWVudHMgVHlwZWRBcnJheS5wcm90b3R5cGUubWFwJworKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisgICdmdW5jdGlv
bicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUnCispOworCit0
ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2YXIgQlBFID0g
VEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUgKiA0
LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIsIEJQ
RSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0Y2ggKF8p
IHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5Lm1hcCgoKSA9PiB7
fSk7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMyk7CisgIH0gY2F0Y2ggKF8pIHt9
CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIHNocmluayAod2l0aGluIGJvdW5kcyk6CisgIGFy
cmF5Lm1hcCgoKSA9PiB7fSk7CisKKyAgdmFyIGV4cGVjdGVkRXJyb3I7CisgIHRyeSB7CisgICAg
YWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRoZSBwcmVjZWRpbmcgInJlc2l6ZSIgb3Bl
cmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBhcnJheSB3aWxsCisgICAgLy8gYmUgb3V0
IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50IHByb3RvdHlwZSBtZXRob2Qgc2hvdWxk
IHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUgdG8gdGhlIHNlbWFudGljcyBvZiBWYWxp
ZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFR5cGVFcnJvcjsKKyAgfSBjYXRj
aCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0byBmYWlsIGFueSAicmVzaXpl
IiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRpb24uIElmIHRoYXQgb2NjdXJz
LCB0aGUgbWFwIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHku
CisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJv
d3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5Lm1hcCgoKSA9PiB7fSk7CisgICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcignbWFwIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknKTsKKyAg
fSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9tYXAvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5k
cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9tYXAvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwppbmRleCA2MGI5
YTczY2MxY2Y3M2UxZmEwMTNlOTkzNDkwMWQ4NmRmZjUyOWI4Li4zZWRhN2M2YjBiYzMwNmQ4NTVj
MzM4NTM2NDVjODc4NjkxOTVlNWNjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbWFwL3JldHVybi1hYnJ1cHQtZnJvbS10aGlz
LW91dC1vZi1ib3VuZHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL21hcC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91
bmRzLmpzCkBAIC00LDcgKzQsNyBAQAogZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUu
bWFwCiBkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBi
dWZmZXIgYm91bmRhcnkgY2hlY2tzCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVh
dHVyZXM6IFtUeXBlZEFycmF5LCByZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW0Fy
cmF5QnVmZmVyLCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVm
ZmVyXQogLS0tKi8KIAogYXNzZXJ0LnNhbWVWYWx1ZSgKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2UvQmlnSW50L3Jl
dHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlL0JpZ0ludC9yZXR1cm4t
YWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlZWRkYzFiNTM3
NTU1ODJkNmUyZGNjNDU1YWFmNDE0NmNjOTQ3ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlL0JpZ0lu
dC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCkBAIC0wLDAgKzEsNTkg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy0ldHlwZWRhcnJh
eSUucHJvdG90eXBlLnJlZHVjZQorZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhp
cyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcworaW5jbHVkZXM6IFt0ZXN0Qmln
SW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRB
cnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlwZS5yZWR1Y2UsCisg
ICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLnJlZHVjZScK
Kyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90b3R5cGUu
cmVzaXplLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5wcm90b3R5
cGUucmVzaXplJworKTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKFRB
ID0+IHsKKyAgdmFyIEJQRSA9IFRBLkJZVEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIgPSBuZXcg
QXJyYXlCdWZmZXIoQlBFICogNCwge21heEJ5dGVMZW5ndGg6IEJQRSAqIDV9KTsKKyAgdmFyIGFy
cmF5ID0gbmV3IFRBKGFiLCBCUEUsIDIpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAq
IDUpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBncm93Ogor
ICBhcnJheS5yZWR1Y2UoKCkgPT4ge30pOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAq
IDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsg
KHdpdGhpbiBib3VuZHMpOgorICBhcnJheS5yZWR1Y2UoKCkgPT4ge30pOworCisgIHZhciBleHBl
Y3RlZEVycm9yOworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAyKTsKKyAgICAvLyBJZiB0
aGUgcHJlY2VkaW5nICJyZXNpemUiIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLCB0aGUgdHlwZWQg
YXJyYXkgd2lsbAorICAgIC8vIGJlIG91dCBvdXQgb2YgYm91bmRzLCBzbyB0aGUgc3Vic2VxdWVu
dCBwcm90b3R5cGUgbWV0aG9kIHNob3VsZCBwcm9kdWNlCisgICAgLy8gYSBUeXBlRXJyb3IgZHVl
IHRvIHRoZSBzZW1hbnRpY3Mgb2YgVmFsaWRhdGVUeXBlZEFycmF5LgorICAgIGV4cGVjdGVkRXJy
b3IgPSBUeXBlRXJyb3I7CisgIH0gY2F0Y2ggKF8pIHsKKyAgICAvLyBUaGUgaG9zdCBpcyBwZXJt
aXR0ZWQgdG8gZmFpbCBhbnkgInJlc2l6ZSIgb3BlcmF0aW9uIGF0IGl0cyBvd24KKyAgICAvLyBk
aXNjcmV0aW9uLiBJZiB0aGF0IG9jY3VycywgdGhlIHJlZHVjZSBvcGVyYXRpb24gc2hvdWxkIGNv
bXBsZXRlCisgICAgLy8gc3VjY2Vzc2Z1bGx5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYy
RXJyb3I7CisgIH0KKworICBhc3NlcnQudGhyb3dzKGV4cGVjdGVkRXJyb3IsICgpID0+IHsKKyAg
ICBhcnJheS5yZWR1Y2UoKCkgPT4ge30pOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3Jl
ZHVjZSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNl
L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlL3JldHVybi1hYnJ1
cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKaW5kZXggZDQwNjc5YmY2M2JhMjNjMWU2NTIz
MTRkMmU3NWE4ZTM3MDkwZDNjNi4uYzI3M2FmNDAyY2M1ZDNjYTI1MDQ1Mzk0ZTRmNGQyY2VhNjU1
NTRkMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3JlZHVjZS9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9yZWR1Y2UvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAt
NCw3ICs0LDcgQEAKIGVzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnJlZHVjZQogZGVz
Y3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJv
dW5kYXJ5IGNoZWNrcwogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBb
VHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZl
ciwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0t
LSovCiAKIGFzc2VydC5zYW1lVmFsdWUoCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlUmlnaHQvQmlnSW50L3JldHVy
bi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlUmlnaHQvQmlnSW50L3JldHVy
bi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNmMDBiM2M1
ZTBiZWYxY2JjYWE4MWNkNGUzZmMzMTUwZGQ3ZDRjZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdo
dC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAtMCww
ICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtJXR5
cGVkYXJyYXklLnByb3RvdHlwZS5yZWR1Y2VyaWdodAorZGVzY3JpcHRpb246IFJldHVybiBhYnJ1
cHQgd2hlbiAidGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcworaW5jbHVk
ZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJp
Z0ludCwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlw
ZS5yZWR1Y2VSaWdodCwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgVHlwZWRBcnJheS5w
cm90b3R5cGUucmVkdWNlUmlnaHQnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2Yg
QXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVu
dHMgQXJyYXlCdWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlw
ZWRBcnJheUNvbnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxF
TUVOVDsKKyAgdmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3Ro
OiBCUEUgKiA1fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkg
eworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBl
cnJvciBmb2xsb3dpbmcgZ3JvdzoKKyAgYXJyYXkucmVkdWNlUmlnaHQoKCkgPT4ge30pOworCisg
IHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8v
IG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJheS5yZWR1
Y2VSaWdodCgoKSA9PiB7fSk7CisKKyAgdmFyIGV4cGVjdGVkRXJyb3I7CisgIHRyeSB7CisgICAg
YWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRoZSBwcmVjZWRpbmcgInJlc2l6ZSIgb3Bl
cmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBhcnJheSB3aWxsCisgICAgLy8gYmUgb3V0
IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50IHByb3RvdHlwZSBtZXRob2Qgc2hvdWxk
IHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUgdG8gdGhlIHNlbWFudGljcyBvZiBWYWxp
ZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFR5cGVFcnJvcjsKKyAgfSBjYXRj
aCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0byBmYWlsIGFueSAicmVzaXpl
IiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRpb24uIElmIHRoYXQgb2NjdXJz
LCB0aGUgcmVkdWNlUmlnaHQgb3BlcmF0aW9uIHNob3VsZCBjb21wbGV0ZQorICAgIC8vIHN1Y2Nl
c3NmdWxseS4KKyAgICBleHBlY3RlZEVycm9yID0gVGVzdDI2MkVycm9yOworICB9CisKKyAgYXNz
ZXJ0LnRocm93cyhleHBlY3RlZEVycm9yLCAoKSA9PiB7CisgICAgYXJyYXkucmVkdWNlUmlnaHQo
KCkgPT4ge30pOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3JlZHVjZVJpZ2h0IGNvbXBs
ZXRlZCBzdWNjZXNzZnVsbHknKTsKKyAgfSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9yZXR1
cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3JlZHVjZVJpZ2h0L3JldHVybi1hYnJ1
cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKaW5kZXggOTkyMjJiODQ2NWU2MWVkYTgwMDI1
ZTEyZjhiZGYwNTYyZjA2NWEzMS4uYjZiMjA3NTI2NmFkNmEzY2E2ZmQ5M2Y0MjA0NjFjNjE2YjNi
ZjhlMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3JlZHVjZVJpZ2h0L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1i
b3VuZHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL3JlZHVjZVJpZ2h0L3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3Vu
ZHMuanMKQEAgLTQsNyArNCw3IEBACiBlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5y
ZWR1Y2VyaWdodAogZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFsdWUg
ZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcwogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5q
c10KLWZlYXR1cmVzOiBbVHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorZmVhdHVy
ZXM6IFtBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1h
cnJheWJ1ZmZlcl0KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUoCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmV2ZXJzZS9C
aWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZXZlcnNlL0JpZ0lu
dC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4
NGM1NDhlNTVlZmQxYjQ1OTg1ZDZiNjlhMjYyZGEyMWQzNjZkY2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmV2
ZXJzZS9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAt
MCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
JXR5cGVkYXJyYXklLnByb3RvdHlwZS5yZXZlcnNlCitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVw
dCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmln
SW50LCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBl
LnJldmVyc2UsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90
eXBlLnJldmVyc2UnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgQXJyYXlCdWZm
ZXIucHJvdG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgQXJyYXlC
dWZmZXIucHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNv
bnN0cnVjdG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVOVDsKKyAg
dmFyIGFiID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBCUEUgKiA1
fSk7CisgIHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkgeworICAgIGFi
LnJlc2l6ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xs
b3dpbmcgZ3JvdzoKKyAgYXJyYXkucmV2ZXJzZSgpOworCisgIHRyeSB7CisgICAgYWIucmVzaXpl
KEJQRSAqIDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBz
aHJpbmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJheS5yZXZlcnNlKCk7CisKKyAgdmFyIGV4cGVj
dGVkRXJyb3I7CisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRo
ZSBwcmVjZWRpbmcgInJlc2l6ZSIgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBh
cnJheSB3aWxsCisgICAgLy8gYmUgb3V0IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50
IHByb3RvdHlwZSBtZXRob2Qgc2hvdWxkIHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUg
dG8gdGhlIHNlbWFudGljcyBvZiBWYWxpZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJv
ciA9IFR5cGVFcnJvcjsKKyAgfSBjYXRjaCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1p
dHRlZCB0byBmYWlsIGFueSAicmVzaXplIiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRp
c2NyZXRpb24uIElmIHRoYXQgb2NjdXJzLCB0aGUgcmV2ZXJzZSBvcGVyYXRpb24gc2hvdWxkIGNv
bXBsZXRlCisgICAgLy8gc3VjY2Vzc2Z1bGx5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYy
RXJyb3I7CisgIH0KKworICBhc3NlcnQudGhyb3dzKGV4cGVjdGVkRXJyb3IsICgpID0+IHsKKyAg
ICBhcnJheS5yZXZlcnNlKCk7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigncmV2ZXJzZSBj
b21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2V0L0JpZ0ludC90
eXBlZGFycmF5LWFyZy1zZXQtdmFsdWVzLXNhbWUtYnVmZmVyLXNhbWUtdHlwZS1yZXNpemVkLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3Nl
dC9CaWdJbnQvdHlwZWRhcnJheS1hcmctc2V0LXZhbHVlcy1zYW1lLWJ1ZmZlci1zYW1lLXR5cGUt
cmVzaXplZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzQzM2FiMmRjMDQ0MmQ4ZTJlNzg1NDhiNWUyMTM0MTQ2
MzI3OTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL3NldC9CaWdJbnQvdHlwZWRhcnJheS1hcmctc2V0LXZhbHVl
cy1zYW1lLWJ1ZmZlci1zYW1lLXR5cGUtcmVzaXplZC5qcwpAQCAtMCwwICsxLDQ1IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3Rv
dHlwZS5zZXQtdHlwZWRhcnJheS1vZmZzZXQKK2Rlc2NyaXB0aW9uOiA+CisgIFNldCB2YWx1ZXMg
ZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzIHVzaW5nIHRoZSBzYW1lIGJ1ZmZlciBhbmQgc2FtZQor
ICBjb25zdHJ1Y3RvciB3aGVuIHVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gcmVzaXpl
ZAoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qcywgY29tcGFyZUFycmF5LmpzXQor
ZmVhdHVyZXM6IFtCaWdJbnQsIFR5cGVkQXJyYXksIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0t
LSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90b3R5cGUu
cmVzaXplLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5wcm90b3R5
cGUucmVzaXplJworKTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1
bmN0aW9uKFRBKSB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVOVDsKKyAgdmFyIGFi
ID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBCUEUgKiA1fSk7Cisg
IHZhciBzb3VyY2UgPSBuZXcgVEEoYWIpOworICB2YXIgdGFyZ2V0ID0gbmV3IFRBKGFiKTsKKyAg
dmFyIGV4cGVjdGVkID0gWzEwLCAyMCwgMzAsIDQwXTsKKworICBzb3VyY2VbMF0gPSAxMDsKKyAg
c291cmNlWzFdID0gMjA7CisgIHNvdXJjZVsyXSA9IDMwOworICBzb3VyY2VbM10gPSA0MDsKKwor
ICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiA1KTsKKyAgICBleHBlY3RlZCA9IFsxMCwgMjAs
IDMwLCA0MCwgMF07CisgIH0gY2F0Y2ggKF8pIHt9CisKKyAgdGFyZ2V0LnNldChzb3VyY2UpOwor
ICBhc3NlcnQoY29tcGFyZUFycmF5KHRhcmdldCwgZXhwZWN0ZWQpLCAnZm9sbG93aW5nIGdyb3cn
KTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgICBleHBlY3RlZCA9IFsx
MCwgMjAsIDMwXTsKKyAgfSBjYXRjaCAoXykge30KKworICB0YXJnZXQuc2V0KHNvdXJjZSk7Cisg
IGFzc2VydChjb21wYXJlQXJyYXkodGFyZ2V0LCBleHBlY3RlZCksICdmb2xsb3dpbmcgc2hyaW5r
Jyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9zZXQvQmlnSW50L3R5cGVkYXJyYXktYXJnLXRhcmdldC1vdXQtb2Yt
Ym91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJv
dG90eXBlL3NldC9CaWdJbnQvdHlwZWRhcnJheS1hcmctdGFyZ2V0LW91dC1vZi1ib3VuZHMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODA1OGFiNTQ0MjEzODgyMTU1YTQ0NjA5MDhjMDNjOGY2MjdmYTI1ZAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9zZXQvQmlnSW50L3R5cGVkYXJyYXktYXJnLXRhcmdldC1vdXQtb2YtYm91bmRz
LmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVj
dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnNldC10eXBlZGFycmF5LW9mZnNldAorZGVz
Y3JpcHRpb246IEVycm9yIHdoZW4gdGFyZ2V0IFR5cGVkQXJyYXkgZmFpbHMgYm91bmRhcnkgY2hl
Y2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtCaWdJ
bnQsIFR5cGVkQXJyYXksIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlwZS5zZXQsCisgICdmdW5jdGlv
bicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLnNldCcKKyk7CisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXplLAorICAn
ZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXplJwor
KTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKFRBID0+IHsKKyAgdmFy
IEJQRSA9IFRBLkJZVEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIgPSBuZXcgQXJyYXlCdWZmZXIo
QlBFICogNCwge21heEJ5dGVMZW5ndGg6IEJQRSAqIDR9KTsKKyAgdmFyIHRhcmdldCA9IG5ldyBU
QShhYiwgMCwgNCk7CisgIHZhciBzb3VyY2UgPSBuZXcgVEEobmV3IEFycmF5QnVmZmVyKEJQRSAq
IDQpKTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBF
ICogMyk7CisgICAgZXhwZWN0ZWRFcnJvciA9IFR5cGVFcnJvcjsKKyAgfSBjYXRjaCAoXykgewor
ICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0byBmYWlsIGFueSAicmVzaXplIiBvcGVyYXRp
b24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRpb24uIElmIHRoYXQgb2NjdXJzLCB0aGUgcmV2
ZXJzZSBvcGVyYXRpb24gc2hvdWxkIGNvbXBsZXRlCisgICAgLy8gc3VjY2Vzc2Z1bGx5LgorICAg
IGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYyRXJyb3I7CisgIH0KKworICBhc3NlcnQudGhyb3dzKGV4
cGVjdGVkRXJyb3IsICgpID0+IHsKKyAgICB0YXJnZXQuc2V0KHNvdXJjZSwgMCk7CisgICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignVGhlIGBzZXRgIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vz
c2Z1bGx5LicpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9yZXR1cm4tYWJydXB0
LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20t
dGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNTcyYzY2ODc1OGEyMzliYjljZWNi
MzdmMWM2NWQzYmY1Y2Q2ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L3JldHVybi1hYnJ1
cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUu
c2xpY2UKK2Rlc2NyaXB0aW9uOiBSZXR1cm4gYWJydXB0IHdoZW4gInRoaXMiIHZhbHVlIGZhaWxz
IGJ1ZmZlciBib3VuZGFyeSBjaGVja3MKK2luY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXku
anNdCitmZWF0dXJlczogW0FycmF5QnVmZmVyLCBCaWdJbnQsIFR5cGVkQXJyYXksIGFycm93LWZ1
bmN0aW9uLCByZXNpemFibGUtYXJyYXlidWZmZXJdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICB0eXBlb2YgVHlwZWRBcnJheS5wcm90b3R5cGUuc2xpY2UsCisgICdmdW5jdGlvbicsCisg
ICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLnNsaWNlJworKTsKKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisgICdmdW5j
dGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUnCispOwor
Cit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2YXIgQlBF
ID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcihCUEUg
KiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcgVEEoYWIs
IEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0gY2F0Y2gg
KF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5LnNsaWNlKDAp
OworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMpOworICB9IGNhdGNoIChfKSB7fQor
CisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJh
eS5zbGljZSgwKTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAgdHJ5IHsKKyAgICBhYi5yZXNp
emUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAicmVzaXplIiBvcGVyYXRpb24g
aXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAgICAvLyBiZSBvdXQgb3V0IG9m
IGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1ldGhvZCBzaG91bGQgcHJvZHVj
ZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50aWNzIG9mIFZhbGlkYXRlVHlw
ZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9yOworICB9IGNhdGNoIChfKSB7
CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwgYW55ICJyZXNpemUiIG9wZXJh
dGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYgdGhhdCBvY2N1cnMsIHRoZSBz
bGljZSBvcGVyYXRpb24gc2hvdWxkIGNvbXBsZXRlCisgICAgLy8gc3VjY2Vzc2Z1bGx5LgorICAg
IGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYyRXJyb3I7CisgIH0KKworICBhc3NlcnQudGhyb3dzKGV4
cGVjdGVkRXJyb3IsICgpID0+IHsKKyAgICBhcnJheS5zbGljZSgwKTsKKyAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCdzbGljZSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgIH0pOworfSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvc2xpY2UvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGlj
ZS9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCmluZGV4IGY0NDUxNTZj
NTIwMTYxY2E2NzliMTVjYzc5NWUzYmI0NDIyOTBkN2UuLmVmMzMxYWM3MTg2MjY4NjJhNzUwNmIx
MjM1ZjFjMDFmNWU5MzY1YzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1v
dXQtb2YtYm91bmRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9zbGljZS9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91
bmRzLmpzCkBAIC00LDcgKzQsNyBAQAogZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUu
c2xpY2UKIGRlc2NyaXB0aW9uOiBSZXR1cm4gYWJydXB0IHdoZW4gInRoaXMiIHZhbHVlIGZhaWxz
IGJ1ZmZlciBib3VuZGFyeSBjaGVja3MKIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1m
ZWF0dXJlczogW1R5cGVkQXJyYXksIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KK2ZlYXR1cmVzOiBb
QXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIGFycm93LWZ1bmN0aW9uLCByZXNpemFibGUtYXJyYXli
dWZmZXJdCiAtLS0qLwogCiBhc3NlcnQuc2FtZVZhbHVlKApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvQmlnSW50L3Jl
dHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29tZS9CaWdJbnQvcmV0dXJuLWFi
cnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MmJkYWE2MGIzYmIy
MWU0M2MzZDBhMjFjZGY3NTc0MTVhN2MxMDExCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvQmlnSW50L3Jl
dHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSw1OSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLSV0eXBlZGFycmF5JS5w
cm90b3R5cGUuc29tZQorZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFs
dWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcworaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlw
ZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwg
YXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlwZS5zb21lLAorICAnZnVuY3Rp
b24nLAorICAnaW1wbGVtZW50cyBUeXBlZEFycmF5LnByb3RvdHlwZS5zb21lJworKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUsCisg
ICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIEFycmF5QnVmZmVyLnByb3RvdHlwZS5yZXNpemUn
CispOworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoVEEgPT4geworICB2
YXIgQlBFID0gVEEuQllURVNfUEVSX0VMRU1FTlQ7CisgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZl
cihCUEUgKiA0LCB7bWF4Qnl0ZUxlbmd0aDogQlBFICogNX0pOworICB2YXIgYXJyYXkgPSBuZXcg
VEEoYWIsIEJQRSwgMik7CisKKyAgdHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogNSk7CisgIH0g
Y2F0Y2ggKF8pIHt9CisKKyAgLy8gbm8gZXJyb3IgZm9sbG93aW5nIGdyb3c6CisgIGFycmF5LnNv
bWUoKCkgPT4ge30pOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMpOworICB9IGNh
dGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdpdGhpbiBib3Vu
ZHMpOgorICBhcnJheS5zb21lKCgpID0+IHt9KTsKKworICB2YXIgZXhwZWN0ZWRFcnJvcjsKKyAg
dHJ5IHsKKyAgICBhYi5yZXNpemUoQlBFICogMik7CisgICAgLy8gSWYgdGhlIHByZWNlZGluZyAi
cmVzaXplIiBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgdGhlIHR5cGVkIGFycmF5IHdpbGwKKyAg
ICAvLyBiZSBvdXQgb3V0IG9mIGJvdW5kcywgc28gdGhlIHN1YnNlcXVlbnQgcHJvdG90eXBlIG1l
dGhvZCBzaG91bGQgcHJvZHVjZQorICAgIC8vIGEgVHlwZUVycm9yIGR1ZSB0byB0aGUgc2VtYW50
aWNzIG9mIFZhbGlkYXRlVHlwZWRBcnJheS4KKyAgICBleHBlY3RlZEVycm9yID0gVHlwZUVycm9y
OworICB9IGNhdGNoIChfKSB7CisgICAgLy8gVGhlIGhvc3QgaXMgcGVybWl0dGVkIHRvIGZhaWwg
YW55ICJyZXNpemUiIG9wZXJhdGlvbiBhdCBpdHMgb3duCisgICAgLy8gZGlzY3JldGlvbi4gSWYg
dGhhdCBvY2N1cnMsIHRoZSBzb21lIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBz
dWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisg
IGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5LnNvbWUoKCkg
PT4ge30pOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3NvbWUgY29tcGxldGVkIHN1Y2Nl
c3NmdWxseScpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvcmV0dXJuLWFicnVwdC1mcm9tLXRo
aXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9zb21lL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3Vu
ZHMuanMKaW5kZXggZThiNGI3YWFhN2YzZDgwZTNiYTEzODI3M2JhYmVmOGI3MzdiYzM5ZC4uYzM2
ZTkwNzFlMDgwY2VlMDBjNTRhYWY2OWVkYzQ5NzZiZGViODZmMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvcmV0dXJu
LWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29tZS9yZXR1cm4tYWJydXB0LWZy
b20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCkBAIC00LDcgKzQsNyBAQAogZXNpZDogc2VjLSV0eXBl
ZGFycmF5JS5wcm90b3R5cGUuc29tZQogZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAi
dGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcwogaW5jbHVkZXM6IFt0ZXN0
VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbVHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVm
ZmVyXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24s
IHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUoCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc29ydC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0
L0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdlMTJkM2RhMmRlNmY2ZTJlOGJjZWQwMmQxMzE4ZTc3OWQxNDkwODgKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc29ydC9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpA
QCAtMCwwICsxLDU5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBz
ZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5zb3J0CitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVw
dCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmln
SW50LCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBl
LnNvcnQsCisgICdmdW5jdGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBl
LnNvcnQnCispOworCithc3NlcnQuc2FtZVZhbHVlKAorICB0eXBlb2YgQXJyYXlCdWZmZXIucHJv
dG90eXBlLnJlc2l6ZSwKKyAgJ2Z1bmN0aW9uJywKKyAgJ2ltcGxlbWVudHMgQXJyYXlCdWZmZXIu
cHJvdG90eXBlLnJlc2l6ZScKKyk7CisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVj
dG9ycyhUQSA9PiB7CisgIHZhciBCUEUgPSBUQS5CWVRFU19QRVJfRUxFTUVOVDsKKyAgdmFyIGFi
ID0gbmV3IEFycmF5QnVmZmVyKEJQRSAqIDQsIHttYXhCeXRlTGVuZ3RoOiBCUEUgKiA1fSk7Cisg
IHZhciBhcnJheSA9IG5ldyBUQShhYiwgQlBFLCAyKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6
ZShCUEUgKiA1KTsKKyAgfSBjYXRjaCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcg
Z3JvdzoKKyAgYXJyYXkuc29ydCgpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDMp
OworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJpbmsgKHdp
dGhpbiBib3VuZHMpOgorICBhcnJheS5zb3J0KCk7CisKKyAgdmFyIGV4cGVjdGVkRXJyb3I7Cisg
IHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRoZSBwcmVjZWRpbmcg
InJlc2l6ZSIgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBhcnJheSB3aWxsCisg
ICAgLy8gYmUgb3V0IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50IHByb3RvdHlwZSBt
ZXRob2Qgc2hvdWxkIHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUgdG8gdGhlIHNlbWFu
dGljcyBvZiBWYWxpZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFR5cGVFcnJv
cjsKKyAgfSBjYXRjaCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0byBmYWls
IGFueSAicmVzaXplIiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRpb24uIElm
IHRoYXQgb2NjdXJzLCB0aGUgc29ydCBvcGVyYXRpb24gc2hvdWxkIGNvbXBsZXRlCisgICAgLy8g
c3VjY2Vzc2Z1bGx5LgorICAgIGV4cGVjdGVkRXJyb3IgPSBUZXN0MjYyRXJyb3I7CisgIH0KKwor
ICBhc3NlcnQudGhyb3dzKGV4cGVjdGVkRXJyb3IsICgpID0+IHsKKyAgICBhcnJheS5zb3J0KCk7
CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignc29ydCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
Jyk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29ydC9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy1vdXQt
b2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL3NvcnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpp
bmRleCA3ZjdhZDJmMTA4YWJkOTczZDk4YzBkYzc0ZmMzNmRmNGIxNDdlMzA0Li5mNDg0M2ZkZGFl
MmJiMThiOTJiMWUxM2IwYjM4NDQyZDJlNWQ4OTRkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29ydC9yZXR1cm4tYWJydXB0
LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0L3JldHVybi1hYnJ1cHQtZnJvbS10aGlz
LW91dC1vZi1ib3VuZHMuanMKQEAgLTQsNyArNCw3IEBACiBlc2lkOiBzZWMtJXR5cGVkYXJyYXkl
LnByb3RvdHlwZS5zb3J0CiBkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2
YWx1ZSBmYWlscyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFy
cmF5LmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5LCByZXNpemFibGUtYXJyYXlidWZmZXJdCitm
ZWF0dXJlczogW0FycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXph
YmxlLWFycmF5YnVmZmVyXQogLS0tKi8KIAogYXNzZXJ0LnNhbWVWYWx1ZSgKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90b0xv
Y2FsZVN0cmluZy9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90
b0xvY2FsZVN0cmluZy9CaWdJbnQvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5k
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43OWNkMTQwMTNkOTNhOTZmM2YyNjVkY2E3Y2E3Y2NmM2RjYmFiNGE0
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL0JpZ0ludC9yZXR1cm4tYWJydXB0LWZyb20t
dGhpcy1vdXQtb2YtYm91bmRzLmpzCkBAIC0wLDAgKzEsNTkgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnRvbG9jYWxl
c3RyaW5nCitkZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWls
cyBidWZmZXIgYm91bmRhcnkgY2hlY2tzCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5
LmpzXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgQmlnSW50LCBUeXBlZEFycmF5LCBhcnJvdy1m
dW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgdHlwZW9mIFR5cGVkQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLAorICAnZnVu
Y3Rpb24nLAorICAnaW1wbGVtZW50cyBUeXBlZEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmlu
ZycKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90b3R5
cGUucmVzaXplLAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5wcm90
b3R5cGUucmVzaXplJworKTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3Jz
KFRBID0+IHsKKyAgdmFyIEJQRSA9IFRBLkJZVEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIgPSBu
ZXcgQXJyYXlCdWZmZXIoQlBFICogNCwge21heEJ5dGVMZW5ndGg6IEJQRSAqIDV9KTsKKyAgdmFy
IGFycmF5ID0gbmV3IFRBKGFiLCBCUEUsIDIpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQ
RSAqIDUpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBncm93
OgorICBhcnJheS50b0xvY2FsZVN0cmluZygpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQ
RSAqIDMpOworICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBzaHJp
bmsgKHdpdGhpbiBib3VuZHMpOgorICBhcnJheS50b0xvY2FsZVN0cmluZygpOworCisgIHZhciBl
eHBlY3RlZEVycm9yOworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAyKTsKKyAgICAvLyBJ
ZiB0aGUgcHJlY2VkaW5nICJyZXNpemUiIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLCB0aGUgdHlw
ZWQgYXJyYXkgd2lsbAorICAgIC8vIGJlIG91dCBvdXQgb2YgYm91bmRzLCBzbyB0aGUgc3Vic2Vx
dWVudCBwcm90b3R5cGUgbWV0aG9kIHNob3VsZCBwcm9kdWNlCisgICAgLy8gYSBUeXBlRXJyb3Ig
ZHVlIHRvIHRoZSBzZW1hbnRpY3Mgb2YgVmFsaWRhdGVUeXBlZEFycmF5LgorICAgIGV4cGVjdGVk
RXJyb3IgPSBUeXBlRXJyb3I7CisgIH0gY2F0Y2ggKF8pIHsKKyAgICAvLyBUaGUgaG9zdCBpcyBw
ZXJtaXR0ZWQgdG8gZmFpbCBhbnkgInJlc2l6ZSIgb3BlcmF0aW9uIGF0IGl0cyBvd24KKyAgICAv
LyBkaXNjcmV0aW9uLiBJZiB0aGF0IG9jY3VycywgdGhlIHRvTG9jYWxlU3RyaW5nIG9wZXJhdGlv
biBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNzZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJv
ciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2VydC50aHJvd3MoZXhwZWN0ZWRFcnJvciwg
KCkgPT4geworICAgIGFycmF5LnRvTG9jYWxlU3RyaW5nKCk7CisgICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigndG9Mb2NhbGVTdHJpbmcgY29tcGxldGVkIHN1Y2Nlc3NmdWxseScpOworICB9KTsK
K30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1v
Zi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJv
dW5kcy5qcwppbmRleCA1MTQ4ZjY3YTVjM2UzODJlZmI3NjE2NWY5NDkwZTYwNTBkYzFlNTMyLi40
ZTI4ZTI4MDgzZGRjMDUyNDNlYTg2OTg2MDgzZDg1ODViMDgwYTI3IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdG9Mb2NhbGVT
dHJpbmcvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdG9Mb2NhbGVT
dHJpbmcvcmV0dXJuLWFicnVwdC1mcm9tLXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAtNCw3ICs0
LDcgQEAKIGVzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnRvbG9jYWxlc3RyaW5nCiBk
ZXNjcmlwdGlvbjogUmV0dXJuIGFicnVwdCB3aGVuICJ0aGlzIiB2YWx1ZSBmYWlscyBidWZmZXIg
Ym91bmRhcnkgY2hlY2tzCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6
IFtUeXBlZEFycmF5LCByZXNpemFibGUtYXJyYXlidWZmZXJdCitmZWF0dXJlczogW0FycmF5QnVm
ZmVyLCBUeXBlZEFycmF5LCBhcnJvdy1mdW5jdGlvbiwgcmVzaXphYmxlLWFycmF5YnVmZmVyXQog
LS0tKi8KIAogYXNzZXJ0LnNhbWVWYWx1ZSgKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS92YWx1ZXMvQmlnSW50L3JldHVybi1h
YnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdmFsdWVzL0JpZ0ludC9yZXR1cm4tYWJydXB0
LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxOTlmMzAzNzU4Y2VhZWQ1
ZmFlZTFmNGRkNDc3NGQzMjFkNDE4Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdmFsdWVzL0JpZ0ludC9yZXR1
cm4tYWJydXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCkBAIC0wLDAgKzEsNTkgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJv
dG90eXBlLnZhbHVlcworZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAidGhpcyIgdmFs
dWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcworaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlw
ZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbQXJyYXlCdWZmZXIsIEJpZ0ludCwgVHlwZWRBcnJheSwg
YXJyb3ctZnVuY3Rpb24sIHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIHR5cGVvZiBUeXBlZEFycmF5LnByb3RvdHlwZS52YWx1ZXMsCisgICdmdW5j
dGlvbicsCisgICdpbXBsZW1lbnRzIFR5cGVkQXJyYXkucHJvdG90eXBlLnZhbHVlcycKKyk7CisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIHR5cGVvZiBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVzaXpl
LAorICAnZnVuY3Rpb24nLAorICAnaW1wbGVtZW50cyBBcnJheUJ1ZmZlci5wcm90b3R5cGUucmVz
aXplJworKTsKKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKFRBID0+IHsK
KyAgdmFyIEJQRSA9IFRBLkJZVEVTX1BFUl9FTEVNRU5UOworICB2YXIgYWIgPSBuZXcgQXJyYXlC
dWZmZXIoQlBFICogNCwge21heEJ5dGVMZW5ndGg6IEJQRSAqIDV9KTsKKyAgdmFyIGFycmF5ID0g
bmV3IFRBKGFiLCBCUEUsIDIpOworCisgIHRyeSB7CisgICAgYWIucmVzaXplKEJQRSAqIDUpOwor
ICB9IGNhdGNoIChfKSB7fQorCisgIC8vIG5vIGVycm9yIGZvbGxvd2luZyBncm93OgorICBhcnJh
eS52YWx1ZXMoKTsKKworICB0cnkgeworICAgIGFiLnJlc2l6ZShCUEUgKiAzKTsKKyAgfSBjYXRj
aCAoXykge30KKworICAvLyBubyBlcnJvciBmb2xsb3dpbmcgc2hyaW5rICh3aXRoaW4gYm91bmRz
KToKKyAgYXJyYXkudmFsdWVzKCk7CisKKyAgdmFyIGV4cGVjdGVkRXJyb3I7CisgIHRyeSB7Cisg
ICAgYWIucmVzaXplKEJQRSAqIDIpOworICAgIC8vIElmIHRoZSBwcmVjZWRpbmcgInJlc2l6ZSIg
b3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwsIHRoZSB0eXBlZCBhcnJheSB3aWxsCisgICAgLy8gYmUg
b3V0IG91dCBvZiBib3VuZHMsIHNvIHRoZSBzdWJzZXF1ZW50IHByb3RvdHlwZSBtZXRob2Qgc2hv
dWxkIHByb2R1Y2UKKyAgICAvLyBhIFR5cGVFcnJvciBkdWUgdG8gdGhlIHNlbWFudGljcyBvZiBW
YWxpZGF0ZVR5cGVkQXJyYXkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFR5cGVFcnJvcjsKKyAgfSBj
YXRjaCAoXykgeworICAgIC8vIFRoZSBob3N0IGlzIHBlcm1pdHRlZCB0byBmYWlsIGFueSAicmVz
aXplIiBvcGVyYXRpb24gYXQgaXRzIG93bgorICAgIC8vIGRpc2NyZXRpb24uIElmIHRoYXQgb2Nj
dXJzLCB0aGUgdmFsdWVzIG9wZXJhdGlvbiBzaG91bGQgY29tcGxldGUKKyAgICAvLyBzdWNjZXNz
ZnVsbHkuCisgICAgZXhwZWN0ZWRFcnJvciA9IFRlc3QyNjJFcnJvcjsKKyAgfQorCisgIGFzc2Vy
dC50aHJvd3MoZXhwZWN0ZWRFcnJvciwgKCkgPT4geworICAgIGFycmF5LnZhbHVlcygpOworICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3ZhbHVlcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7
CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9wcm90b3R5cGUvdmFsdWVzL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1v
Zi1ib3VuZHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvdmFsdWVzL3JldHVybi1hYnJ1cHQtZnJvbS10aGlzLW91dC1vZi1ib3VuZHMuanMK
aW5kZXggNTcwMDJhOTg3ZmQ5OTc1NTJmNjkyMGQ4NzE2OGIwMWZkN2UxMzVkYy4uMGZmMjZiYzRl
OWYzODk0YWRhOWFkMzZjZTExNWM5OTdlNGY5YWI5NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3ZhbHVlcy9yZXR1cm4tYWJy
dXB0LWZyb20tdGhpcy1vdXQtb2YtYm91bmRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS92YWx1ZXMvcmV0dXJuLWFicnVwdC1mcm9t
LXRoaXMtb3V0LW9mLWJvdW5kcy5qcwpAQCAtNCw3ICs0LDcgQEAKIGVzaWQ6IHNlYy0ldHlwZWRh
cnJheSUucHJvdG90eXBlLnZhbHVlcwogZGVzY3JpcHRpb246IFJldHVybiBhYnJ1cHQgd2hlbiAi
dGhpcyIgdmFsdWUgZmFpbHMgYnVmZmVyIGJvdW5kYXJ5IGNoZWNrcwogaW5jbHVkZXM6IFt0ZXN0
VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbVHlwZWRBcnJheSwgcmVzaXphYmxlLWFycmF5YnVm
ZmVyXQorZmVhdHVyZXM6IFtBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb24s
IHJlc2l6YWJsZS1hcnJheWJ1ZmZlcl0KIC0tLSovCiAKIGFzc2VydC5zYW1lVmFsdWUoCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJL1MxNS4xLjMu
MV9BMi4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2RlY29kZVVSSS9T
MTUuMS4zLjFfQTIuMV9UMS5qcwppbmRleCA0MThlNWE4YzJkNWJjOTU5MTA2ZmFhMzE3ODliMzMw
YTE0NjMwZmUyLi45YTYyNWU4ZjUxOGI4MGQwZWUwNGM0YWYwMjlkMDY0OWZjZjAwMmU1IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJL1MxNS4xLjMu
MV9BMi4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9kZWNvZGVV
UkkvUzE1LjEuMy4xX0EyLjFfVDEuanMKQEAgLTEwLDE0ICsxMCwxNCBAQAogCiBmb3IgKHZhciBp
bmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgIGlmIChpbmRleEkgIT09
IDB4MjUpIHsKLSAgICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4SSk7CiAgICAg
dHJ5IHsKICAgICAgIHZhciBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SSk7Ci0gICAg
ICBpZiAoZGVjb2RlVVJJKHN0cikgIT09IHN0cikgewotICAgICAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCcjJyArIGhleCArICcgJyk7Ci0gICAgICB9CisgICAgICB2YXIgZGlmZmVycyA9IGRl
Y29kZVVSSShzdHIpICE9PSBzdHI7CiAgICAgfSBjYXRjaCAoZSkgewotICAgICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignIycgKyBoZXggKyAnICcpOworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignIycgKyBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhJKSArICcgdGhyb3dzJyk7CisgICAg
fQorICAgIGlmIChkaWZmZXJzKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjJyAr
IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEkpICsgJyBkaWZmZXJzJyk7CiAgICAgfQogICB9CiB9
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJQ29t
cG9uZW50L1MxNS4xLjMuMl9BMi4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL2RlY29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjJfQTIuMV9UMS5qcwppbmRleCBlNDFlOGVm
YmJjNDQwNDU4ZDRjMTUwNjMyNDUzMTdlY2UxY2RkNTE0Li5hZmNjZGM1MjQwYWY0MGMyYTQ4M2U4
NmM2MjkwMmI4NDQ5ZDU3ZWUyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvZGVjb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuMl9BMi4xX1QxLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9kZWNvZGVVUklDb21wb25lbnQvUzE1LjEuMy4yX0Ey
LjFfVDEuanMKQEAgLTEwLDE0ICsxMCwxNCBAQAogCiBmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRl
eEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgIGlmIChpbmRleEkgIT09IDB4MjUpIHsKLSAgICB2
YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4SSk7CiAgICAgdHJ5IHsKICAgICAgIHZh
ciBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SSk7Ci0gICAgICBpZiAoZGVjb2RlVVJJ
Q29tcG9uZW50KHN0cikgIT09IHN0cikgewotICAgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9y
KCcjJyArIGhleCArICcgJyk7Ci0gICAgICB9CisgICAgICB2YXIgZGlmZmVycyA9IGRlY29kZVVS
SUNvbXBvbmVudChzdHIpICE9PSBzdHI7CiAgICAgfSBjYXRjaCAoZSkgewotICAgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIycgKyBoZXggKyAnICcpOworICAgICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignIycgKyBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhJKSArICcgdGhyb3dzJyk7Cisg
ICAgfQorICAgIGlmIChkaWZmZXJzKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcj
JyArIGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEkpICsgJyBkaWZmZXJzJyk7CiAgICAgfQogICB9
CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJ
L1MxNS4xLjMuM19BMS4xX1QxLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2Vu
Y29kZVVSSS9TMTUuMS4zLjNfQTEuMV9UMS5qcwppbmRleCA2ODE5YTUyYTI4NWE1NGNjOGI4OGRj
Y2I1ZjQyNGMwNGY0OWExNmUxLi5kOTA5ZjkxY2MwYzUxN2FmYmI5YWZmNzgyMWIwMWVkMjRiMGM5
NjY4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJ
L1MxNS4xLjMuM19BMS4xX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9lbmNvZGVVUkkvUzE1LjEuMy4zX0ExLjFfVDEuanMKQEAgLTE1LDcgKzE1LDYgQEAKIAogZm9y
ICh2YXIgaW5kZXggPSAweERDMDA7IGluZGV4IDw9IDB4REZGRjsgaW5kZXgrKykgewogICBjb3Vu
dCsrOwotICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgdHJ5IHsKICAg
ICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogICB9IGNhdGNoIChlKSB7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJL1Mx
NS4xLjMuM19BMS4xX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29k
ZVVSSS9TMTUuMS4zLjNfQTEuMV9UMi5qcwppbmRleCA4MWVjOTcyNThiNjM3NDcwYzIzYjU2NzRm
MjE2ODI1MjBiYjNlMTY5Li4wZTc1NmY1N2NjOTVkZTJlMTY1NjhlNmE4NTJhNTkzMDVhZGFjMDdk
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJL1Mx
NS4xLjMuM19BMS4xX1QyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9l
bmNvZGVVUkkvUzE1LjEuMy4zX0ExLjFfVDIuanMKQEAgLTE1LDcgKzE1LDYgQEAKIAogZm9yICh2
YXIgaW5kZXggPSAweERDMDA7IGluZGV4IDw9IDB4REZGRjsgaW5kZXgrKykgewogICBjb3VudCsr
OwotICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgdHJ5IHsKICAgICBl
bmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgMHgwMDQxKSk7CiAgIH0gY2F0Y2gg
KGUpIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVV
UkkvUzE1LjEuMy4zX0ExLjJfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
ZW5jb2RlVVJJL1MxNS4xLjMuM19BMS4yX1QxLmpzCmluZGV4IDViODQ4NWQ5YmZlMzQ3Y2UwN2Nl
MzVkOTc4NWRkOGM0MTZkMTNkM2EuLmFhZmVjYTc5YmM5NTlhZjZmODJhN2E5YzE4YzM4NTgxMDU3
ZDY1ZDAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVV
UkkvUzE1LjEuMy4zX0ExLjJfVDEuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL2VuY29kZVVSSS9TMTUuMS4zLjNfQTEuMl9UMS5qcwpAQCAtMTcsNyArMTcsNiBAQAogCiBm
b3IgKHZhciBpbmRleCA9IDB4RDgwMDsgaW5kZXggPD0gMHhEQkZGOyBpbmRleCsrKSB7CiAgIGNv
dW50Kys7Ci0gIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICB0cnkgewog
ICAgIGVuY29kZVVSSShTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSk7CiAgIH0gY2F0Y2ggKGUp
IHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVVUkkv
UzE1LjEuMy4zX0ExLjJfVDIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5j
b2RlVVJJL1MxNS4xLjMuM19BMS4yX1QyLmpzCmluZGV4IGJlZTJlYTIxNzM1MjEwODFjZWYxM2I1
NzZkYTNjMzNkZGY1MjMxZDkuLjk1OGQzMzhmYTkwYjdhM2ZlNTJmZGRkODNkMzVkNDgyMmVlZjhi
NzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVVUkkv
UzE1LjEuMy4zX0ExLjJfVDIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L2VuY29kZVVSSS9TMTUuMS4zLjNfQTEuMl9UMi5qcwpAQCAtMTcsNyArMTcsNiBAQAogCiBmb3Ig
KHZhciBpbmRleCA9IDB4RDgwMDsgaW5kZXggPD0gMHhEQkZGOyBpbmRleCsrKSB7CiAgIGNvdW50
Kys7Ci0gIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICB0cnkgewogICAg
IGVuY29kZVVSSShTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDA0MSwgaW5kZXgpKTsKICAgfSBjYXRj
aCAoZSkgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29k
ZVVSSS9TMTUuMS4zLjNfQTEuM19UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9lbmNvZGVVUkkvUzE1LjEuMy4zX0ExLjNfVDEuanMKaW5kZXggZjQ0NTVmN2U5NDc1ODJjZGJh
MGMzOTNhOWI0ODM4YWU5ZGE5MjUwMi4uZDg5MDhlNjU4YzcxZjM4NWM2MWFlN2FiN2NmMDc2NzY2
MzdhNDU2YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29k
ZVVSSS9TMTUuMS4zLjNfQTEuM19UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvZW5jb2RlVVJJL1MxNS4xLjMuM19BMS4zX1QxLmpzCkBAIC0yMiw3ICsyMiw2IEBACiAg
IGNvdW50Kys7CiAgIHZhciByZXMgPSB0cnVlOwogICBmb3IgKHZhciBpbmRleEMgPSAwOyBpbmRl
eEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7Ci0gICAgdmFyIGhleCA9IGRlY2ltYWxUb0hl
eFN0cmluZyhpbmRleCk7CiAgICAgdHJ5IHsKICAgICAgIGVuY29kZVVSSShTdHJpbmcuZnJvbUNo
YXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKSk7CiAgICAgfSBjYXRjaCAoZSkgewpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9T
MTUuMS4zLjRfQTEuMV9UMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNv
ZGVVUklDb21wb25lbnQvUzE1LjEuMy40X0ExLjFfVDEuanMKaW5kZXggYTAwZTNmMmFkYjhmZGY5
ZTU3NTY0MzgxZTIwZTZlODFhOTk3NTkzNy4uY2IyZGYyNWEyYjc1ZmEyMTRhOGEzNGFmZWM1OTRm
NGFhNjczY2M3MiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2Vu
Y29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjRfQTEuMV9UMS5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4xX1QxLmpz
CkBAIC0xNSw3ICsxNSw2IEBACiAKIGZvciAodmFyIGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAw
eERGRkY7IGluZGV4KyspIHsKICAgY291bnQrKzsKLSAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0
cmluZyhpbmRleCk7CiAgIHRyeSB7CiAgICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9t
Q2hhckNvZGUoaW5kZXgpKTsKICAgfSBjYXRjaCAoZSkgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjRfQTEuMV9U
Mi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVVUklDb21wb25lbnQv
UzE1LjEuMy40X0ExLjFfVDIuanMKaW5kZXggMjhjZDcwMDRkYzNmNmJmNTYxYTg5N2FkNTczMjI2
MzI0N2FjOWZiMy4uNTQ3MjMyNjdkYWY4NGE3NWIwNmVhZTNjZmI1ZmQ2M2YxN2NjMWEyMCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVu
dC9TMTUuMS4zLjRfQTEuMV9UMi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4xX1QyLmpzCkBAIC0xNSw3ICsxNSw2
IEBACiAKIGZvciAodmFyIGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4Kysp
IHsKICAgY291bnQrKzsKLSAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAg
IHRyeSB7CiAgICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgs
IDB4MDA0MSkpOwogICB9IGNhdGNoIChlKSB7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4yX1QxLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9TMTUuMS4z
LjRfQTEuMl9UMS5qcwppbmRleCA1YWNiNGQ3ZTYwMDJmN2FlYjBiYWRjMmU2NGQxMTMyZjY2YTEx
OTlhLi4yMWZkNDJhYzhjOGIyMjQyZjY3Y2JlN2MxZDIyMmI2YjQ0Y2ExNzQ3IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4x
LjMuNF9BMS4yX1QxLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNv
ZGVVUklDb21wb25lbnQvUzE1LjEuMy40X0ExLjJfVDEuanMKQEAgLTE3LDcgKzE3LDYgQEAKIAog
Zm9yICh2YXIgaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogICBj
b3VudCsrOwotICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgdHJ5IHsK
ICAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogICB9
IGNhdGNoIChlKSB7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
ZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4yX1QyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9TMTUuMS4zLjRfQTEuMl9UMi5qcwpp
bmRleCBmZjAwOGM0NjgyYjY0M2U5MDM5OWZmYjEyODJjOTgzYzg1NTY1NDA0Li5iZjE5ODk3MGMw
ZDM0Nzg2MGQ2YmU1MDk0OTYxNDUxY2U3OGZjZTdkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4yX1QyLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVVUklDb21wb25lbnQv
UzE1LjEuMy40X0ExLjJfVDIuanMKQEAgLTE3LDcgKzE3LDYgQEAKIAogZm9yICh2YXIgaW5kZXgg
PSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogICBjb3VudCsrOwotICB2YXIg
aGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgdHJ5IHsKICAgICBlbmNvZGVVUklD
b21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgIH0gY2F0Y2gg
KGUpIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9lbmNvZGVV
UklDb21wb25lbnQvUzE1LjEuMy40X0ExLjNfVDEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvZW5jb2RlVVJJQ29tcG9uZW50L1MxNS4xLjMuNF9BMS4zX1QxLmpzCmluZGV4IDgy
MzdlZjkzYTdiMTc5MDkwNDMzNzVjMjkwZjU1YWUxYmJmYTBjODIuLjY2Y2EyNGFiYjUzOGNiMTZl
OTlkMzBiOTIyOTJiNDFiZDI2MjVjZDUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9lbmNvZGVVUklDb21wb25lbnQvUzE1LjEuMy40X0ExLjNfVDEuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9TMTUuMS4z
LjRfQTEuM19UMS5qcwpAQCAtMjIsNyArMjIsNiBAQAogICBjb3VudCsrOwogICB2YXIgcmVzID0g
dHJ1ZTsKICAgZm9yICh2YXIgaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRl
eEMrKykgewotICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgIHRy
eSB7CiAgICAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwg
Y2hhcnNbaW5kZXhDXSkpOwogICAgIH0gY2F0Y2ggKGUpIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc0Zpbml0ZS9TMTUuMS4yLjVfQTIuNi5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc0Zpbml0ZS9TMTUuMS4yLjVfQTIuNi5qcwppbmRl
eCBkZTNlNWYxZjM0MjkxZjBjZTA4ZTQxZjY4ODliNzM3MTk5YmMzNTkzLi5hMTI4NDJiMjM2YTVh
ZDQ3NTliNzhjYzFkZWVkZWQ3NjMwOTZiNDQ5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvaXNGaW5pdGUvUzE1LjEuMi41X0EyLjYuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2lzRmluaXRlL1MxNS4xLjIuNV9BMi42LmpzCkBAIC02LDgg
KzYsNCBAQAogZXNpZDogc2VjLWlzZmluaXRlLW51bWJlcgogZGVzY3JpcHRpb246IENoZWNraW5n
IGlzRmluaXRlLnByb3RvdHlwZQogLS0tKi8KLQotLy9DSEVDSyMxCi1pZiAoaXNGaW5pdGUucHJv
dG90eXBlICE9PSB1bmRlZmluZWQpIHsKLSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzE6IGlz
RmluaXRlLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUucHJv
dG90eXBlKSk7Ci19Cithc3NlcnQuc2FtZVZhbHVlKGlzRmluaXRlLnByb3RvdHlwZSwgdW5kZWZp
bmVkLCAnVGhlIHZhbHVlIG9mIGlzRmluaXRlLnByb3RvdHlwZSBpcyBleHBlY3RlZCB0byBlcXVh
bCB1bmRlZmluZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9pc0Zpbml0ZS9TMTUuMS4yLjVfQTIuNy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9pc0Zpbml0ZS9TMTUuMS4yLjVfQTIuNy5qcwppbmRleCBlODA4Zjc2Y2E2NWIxYmIxYzNk
OThlZDJlMTRhZjRhZGEzZWM4ZTYzLi43NDVkNDE4ODA2OTFjNjExZjVlYjQ4N2MyY2I4ZTFmNDZm
N2FjZDkwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvaXNGaW5p
dGUvUzE1LjEuMi41X0EyLjcuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L2lzRmluaXRlL1MxNS4xLjIuNV9BMi43LmpzCkBAIC05LDEyICs5LDcgQEAKICAgICB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24KIC0tLSovCiAKLS8vQ0hFQ0sjMQotCi10cnkgeworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgbmV3IGlzRmluaXRlKCk7Ci19IGNhdGNoIChl
KSB7Ci0gIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKLSAgICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCcjMS4yOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3Iu
IEFjdHVhbDogJyArIChlKSk7Ci0gIH0KLX0KKyAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvaXNOYU4vUzE1
LjEuMi40X0EyLjYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvaXNOYU4vUzE1
LjEuMi40X0EyLjYuanMKaW5kZXggZWRmMWI2N2IwOGVhZTI5YTc1OWI2MWU3ZTdiZGFiNWQyYTNk
OTE5ZC4uZDVjMDdlMjY4MTRlMTAyYzQzOWUzOTYwYTkyYjA4NjEyNDA3NTIwNiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2lzTmFOL1MxNS4xLjIuNF9BMi42Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc05hTi9TMTUuMS4yLjRfQTIu
Ni5qcwpAQCAtNiw4ICs2LDQgQEAKIGVzaWQ6IHNlYy1pc25hbi1udW1iZXIKIGRlc2NyaXB0aW9u
OiBDaGVja2luZyBpc05hTi5wcm90b3R5cGUKIC0tLSovCi0KLS8vQ0hFQ0sjMQotaWYgKGlzTmFO
LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMx
OiBpc05hTi5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGlzTmFOLnByb3Rv
dHlwZSkpOwotfQorYXNzZXJ0LnNhbWVWYWx1ZShpc05hTi5wcm90b3R5cGUsIHVuZGVmaW5lZCwg
J1RoZSB2YWx1ZSBvZiBpc05hTi5wcm90b3R5cGUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdW5kZWZp
bmVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvaXNOYU4v
UzE1LjEuMi40X0EyLjcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvaXNOYU4v
UzE1LjEuMi40X0EyLjcuanMKaW5kZXggN2MzYjcwODY0NDExM2MxOWQwZWMyYzYxZmFmMTU5NTEw
YjkwNjJmMy4uNTQzNmExZDk2MjgzNDJlZGExNTQ2YWZmYjlmMjVlYWEwYTYzYzYwNSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2lzTmFOL1MxNS4xLjIuNF9BMi43
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc05hTi9TMTUuMS4yLjRf
QTIuNy5qcwpAQCAtOSwxMiArOSw3IEBACiAgICAgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
CiAtLS0qLwogCi0vL0NIRUNLIzEKLQotdHJ5IHsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiB7CiAgIG5ldyBpc05hTigpOwotfSBjYXRjaCAoZSkgewotICBpZiAoKGUgaW5zdGFuY2Vv
ZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignIzEu
MjogbmV3IGlzTmFOKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwotICB9Ci19
CisgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL3BhcnNlRmxvYXQvUzE1LjEuMi4zX0E2LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL3BhcnNlRmxvYXQvUzE1LjEuMi4zX0E2LmpzCmluZGV4
IGZkNzIyM2QzYTA3Mjk1NmNhMWZkNTBhZDg5MjkxZWYzYTI1NTg0ZGUuLjk3MGVjYTk4ZDA5NmE5
YzJiYzlmMWViY2M0MTY2OTI1OGYyNWE1MmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9wYXJzZUZsb2F0L1MxNS4xLjIuM19BNi5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvcGFyc2VGbG9hdC9TMTUuMS4yLjNfQTYuanMKQEAgLTE5LDcg
KzE5LDYgQEAKIHZhciBpbmRleE8gPSAwOwogZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8PSA2
NTUzNTsgaW5kZXgrKykgewogICBpZiAoKGluZGV4IDwgMHgwMDMwKSB8fCAoaW5kZXggPiAweDAw
MzkpKSB7Ci0gICAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICAgaWYg
KHBhcnNlRmxvYXQoIjAuMWUxIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKSAhPT0gMSkg
ewogICAgICAgaWYgKGluZGV4TyA9PT0gMCkgewogICAgICAgICBpbmRleE8gPSBpbmRleDsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9wYXJzZUludC9TMTUuMS4y
LjJfQTguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvcGFyc2VJbnQvUzE1LjEu
Mi4yX0E4LmpzCmluZGV4IDVjZGJiNjhkYzZkYjkwNTI4MDFhOTQxNDNhOWY4YzE3ZTFmYTZlNDAu
LjU4ZjUxNTQ4YTM2NmRiZWE0ZTNmOWFmNzFmOGI3YWJmYjc2ZDE4ZmQgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9wYXJzZUludC9TMTUuMS4yLjJfQTguanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL3BhcnNlSW50L1MxNS4xLjIuMl9BOC5q
cwpAQCAtMjEsNyArMjEsNiBAQAogICBpZiAoKGluZGV4IDwgMHgwMDMwKSB8fCAoaW5kZXggPiAw
eDAwMzkpICYmCiAgICAgKGluZGV4IDwgMHgwMDQxKSB8fCAoaW5kZXggPiAweDAwNUEpICYmCiAg
ICAgKGluZGV4IDwgMHgwMDYxKSB8fCAoaW5kZXggPiAweDAwN0EpKSB7Ci0gICAgdmFyIGhleCA9
IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICAgaWYgKHBhcnNlSW50KCIxWiIgKyBTdHJp
bmcuZnJvbUNoYXJDb2RlKGluZGV4KSwgMzYpICE9PSA3MSkgewogICAgICAgaWYgKGluZGV4TyA9
PT0gMCkgewogICAgICAgICBpbmRleE8gPSBpbmRleDsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2hhcm5lc3MvYXNzZXJ0LXRocm93cy1jdXN0b20tdHlwZWVycm9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVzcy9hc3NlcnQtdGhyb3dzLWN1c3RvbS10eXBlZXJyb3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWQ3YjY1MWY0MTUzM2E5MzJiYzY5ZjAxYTA1YjBiOTE0NDUyZDM2Mgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2hhcm5lc3MvYXNzZXJ0LXRo
cm93cy1jdXN0b20tdHlwZWVycm9yLmpzCkBAIC0wLDAgKzEsNTggQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZGVzY3JpcHRpb246ID4KKyAgICBGdW5jdGlvbnMgdGhhdCB0aHJvdyBpbnN0YW5j
ZXMgb2YgdGhlIHNwZWNpZmllZCBjb25zdHJ1Y3RvciBmdW5jdGlvbgorICAgIHNhdGlzZnkgdGhl
IGFzc2VydGlvbiwgd2l0aG91dCBjb2xsaXNpb24gd2l0aCBlcnJvciBjb25zdHJ1Y3RvcnMgb2Yg
dGhlCisgICAgc2FtZSBuYW1lLgorLS0tKi8KKwordmFyIGludHJpbnNpY1R5cGVFcnJvciA9IFR5
cGVFcnJvcjsgCit2YXIgdGhyZXcgPSBmYWxzZTsKKworKGZ1bmN0aW9uKCkgeworICBmdW5jdGlv
biBUeXBlRXJyb3IoKSB7fQorCisgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKKyAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7CisgIH0sICdUaHJvd3MgYW4gaW5zdGFuY2Ug
b2YgdGhlIG1hdGNoaW5nIGN1c3RvbSBUeXBlRXJyb3InKTsKKworICB0cnkgeworICAgIGFzc2Vy
dC50aHJvd3MoaW50cmluc2ljVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICAgIHRocm93IG5l
dyBUeXBlRXJyb3IoKTsKKyAgICB9KTsKKyAgfSBjYXRjaCAoZXJyKSB7CisgICAgdGhyZXcgPSB0
cnVlOworICAgIGlmIChlcnIuY29uc3RydWN0b3IgIT09IFRlc3QyNjJFcnJvcikgeworICAgICAg
dGhyb3cgbmV3IEVycm9yKAorICAgICAgICAnRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGEg
IicgKyBlcnIuY29uc3RydWN0b3IubmFtZSArIAorICAgICAgICAnIiB3YXMgdGhyb3duLicKKyAg
ICAgICk7CisgICAgfQorICB9CisKKyAgaWYgKHRocmV3ID09PSBmYWxzZSkgeworICAgIHRocm93
IG5ldyBFcnJvcignRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IsIGJ1dCBubyBlcnJvciB3YXMgdGhy
b3duLicpOworICB9CisKKyAgdGhyZXcgPSBmYWxzZTsKKworICB0cnkgeworICAgIGFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICAgIHRocm93IG5ldyBpbnRyaW5zaWNU
eXBlRXJyb3IoKTsKKyAgICB9KTsKKyAgfSBjYXRjaCAoZXJyKSB7CisgICAgdGhyZXcgPSB0cnVl
OworICAgIGlmIChlcnIuY29uc3RydWN0b3IgIT09IFRlc3QyNjJFcnJvcikgeworICAgICAgdGhy
b3cgbmV3IEVycm9yKAorICAgICAgICAnRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgYnV0IGEgIicg
KyBlcnIuY29uc3RydWN0b3IubmFtZSArIAorICAgICAgICAnIiB3YXMgdGhyb3duLicKKyAgICAg
ICk7CisgICAgfQorICB9CisKKyAgaWYgKHRocmV3ID09PSBmYWxzZSkgeworICAgIHRocm93IG5l
dyBFcnJvcignRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IsIGJ1dCBubyBlcnJvciB3YXMgdGhyb3du
LicpOworICB9Cit9KSgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaGFybmVz
cy9hc3NlcnQtdGhyb3dzLXNhbWUtcmVhbG0uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9oYXJu
ZXNzL2Fzc2VydC10aHJvd3Mtc2FtZS1yZWFsbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xN2YwNDQzMTEyNDZi
ZDg0NzY0NDJlNGJmOGIwYmJmYjE2NDAxODBlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaGFybmVzcy9hc3NlcnQtdGhyb3dzLXNhbWUtcmVhbG0uanMKQEAgLTAsMCAr
MSwzMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogPgorICAgIEZ1bmN0
aW9ucyB0aGF0IHRocm93IGluc3RhbmNlcyBvZiB0aGUgcmVhbG0gc3BlY2lmaWVkIGNvbnN0cnVj
dG9yIGZ1bmN0aW9uCisgICAgc2F0aXNmeSB0aGUgYXNzZXJ0aW9uLCB3aXRob3V0IGNyb3NzIHJl
YWxtcyBjb2xsaXNpb25zLgorLS0tKi8KKwordmFyIGludHJpbnNpY1R5cGVFcnJvciA9IFR5cGVF
cnJvcjsgCit2YXIgdGhyZXcgPSBmYWxzZTsKK3ZhciByZWFsbUdsb2JhbCA9ICQyNjIuY3JlYXRl
UmVhbG0oKS5nbG9iYWw7CisKK3RyeSB7CisgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKKyAgICB0aHJvdyBuZXcgcmVhbG1HbG9iYWwuVHlwZUVycm9yKCk7CisgIH0pOwor
fSBjYXRjaCAoZXJyKSB7CisgIHRocmV3ID0gdHJ1ZTsKKyAgaWYgKGVyci5jb25zdHJ1Y3RvciAh
PT0gVGVzdDI2MkVycm9yKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKAorICAgICAgJ0V4cGVjdGVk
IGEgVGVzdDI2MkVycm9yIGJ1dCBhICInICsgZXJyLmNvbnN0cnVjdG9yLm5hbWUgKyAKKyAgICAg
ICciIHdhcyB0aHJvd24uJworICAgICk7CisgIH0KK30KKworaWYgKHRocmV3ID09PSBmYWxzZSkg
eworICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGEgVGVzdDI2MkVycm9yLCBidXQgbm8gZXJy
b3Igd2FzIHRocm93bi4nKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2lu
dGw0MDIvQ29sbGF0b3IvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9iYXNpYy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvQ29sbGF0b3IvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9u
cy9iYXNpYy5qcwppbmRleCA1MTg2ZjhlMmFjMGE1ODkyOGJhOWRjYWFiODFmZWM5YmVmZDA2ZDI5
Li5hMjIyZWUxMzQ4OGEyNmVmYTkwNzg1YTMyOTc3ZTkzY2EwOWJjNDU3IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0NvbGxhdG9yL3Byb3RvdHlwZS9yZXNvbHZlZE9w
dGlvbnMvYmFzaWMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Db2xsYXRv
ci9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL2Jhc2ljLmpzCkBAIC0xNSwyOSArMTUsNyBAQAog
dmFyIGFjdHVhbDIgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpOwogYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZShhY3R1YWwyLCBhY3R1YWwsICJyZXNvbHZlZE9wdGlvbnMgcmV0dXJu
ZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwogCi0vLyBzb3VyY2U6IENMRFIgZmlsZSBjb21t
b24vYmNwNDcvY29sbGF0aW9uLnhtbDsgdmVyc2lvbiBDTERSIDMyLgotdmFyIGNvbGxhdGlvbnMg
PSBbCi0gICAgImRlZmF1bHQiLCAvLyBhZGRlZAotICAgICJiaWc1aGFuIiwKLSAgICAiY29tcGF0
IiwKLSAgICAiZGljdCIsCi0gICAgImRpcmVjdCIsCi0gICAgImR1Y2V0IiwKLSAgICAiZW1vamki
LAotICAgICJlb3IiLAotICAgICJnYjIzMTIiLAotICAgICJwaG9uZWJrIiwKLSAgICAicGhvbmV0
aWMiLAotICAgICJwaW55aW4iLAotICAgICJyZWZvcm1lZCIsCi0gICAgLy8gInNlYXJjaCIsIC8v
IGV4Y2x1ZGVkCi0gICAgInNlYXJjaGpsIiwKLSAgICAvLyAic3RhbmRhcmQiLCAvLyBleGNsdWRl
ZAotICAgICJzdHJva2UiLAotICAgICJ0cmFkIiwKLSAgICAidW5paGFuIiwKLSAgICAiemh1eWlu
IiwKLV07Cit2YXIgY29sbGF0aW9ucyA9IFsiZGVmYXVsdCIsIC4uLmFsbENvbGxhdGlvbnMoKV07
CiAKIC8vIHRoaXMgYXNzdW1lcyB0aGUgZGVmYXVsdCB2YWx1ZXMgd2hlcmUgdGhlIHNwZWNpZmlj
YXRpb24gcHJvdmlkZXMgdGhlbQogYXNzZXJ0KGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZh
bGlkTGFuZ3VhZ2VUYWcoYWN0dWFsLmxvY2FsZSksCkBAIC00NSw2ICsyMyw4IEBACiBhc3NlcnQu
c2FtZVZhbHVlKGFjdHVhbC51c2FnZSwgInNvcnQiKTsKIGFzc2VydC5zYW1lVmFsdWUoYWN0dWFs
LnNlbnNpdGl2aXR5LCAidmFyaWFudCIpOwogYXNzZXJ0LnNhbWVWYWx1ZShhY3R1YWwuaWdub3Jl
UHVuY3R1YXRpb24sIGZhbHNlKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUoYWN0dWFsLmNvbGxhdGlv
biwgInNlYXJjaCIpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShhY3R1YWwuY29sbGF0aW9uLCAic3Rh
bmRhcmQiKTsKIGFzc2VydC5ub3RTYW1lVmFsdWUoY29sbGF0aW9ucy5pbmRleE9mKGFjdHVhbC5j
b2xsYXRpb24pLCAtMSwKICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgY29sbGF0aW9uOiAi
ICsgYWN0dWFsLmNvbGxhdGlvbik7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFJhbmdlVG9QYXJ0cy9wYXR0
ZXJuLW9uLWNhbGVuZGFyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EYXRlVGlt
ZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2VUb1BhcnRzL3BhdHRlcm4tb24tY2FsZW5kYXIu
anMKaW5kZXggZmUzOTZhMmM0NjYwYTVjNjI4OTI5NWRjNWE2Zjc3MzM2MzE0ZDNlNS4uMTdmYWJh
MGI2ZjRmMzVkM2U0MGM1N2JhNzdlNmY1NTNkN2Y4ZjlhZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2VU
b1BhcnRzL3BhdHRlcm4tb24tY2FsZW5kYXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
aW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2VUb1BhcnRzL3BhdHRl
cm4tb24tY2FsZW5kYXIuanMKQEAgLTYsMjkgKzYsMTIgQEAKIGRlc2NyaXB0aW9uOiA+CiAgIENo
ZWNrcyB0aGUgRGF0ZVRpbWVGb3JtYXQgY2hvb3NlIGRpZmZlcmVudCBwYXR0ZXJucyBiYXNlZAog
ICBvbiBjYWxlbmRhci4KK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCiBmZWF0dXJlczogW0ludGwu
RGF0ZVRpbWVGb3JtYXQtZm9ybWF0UmFuZ2VdCiBsb2NhbGU6IFtlbl0KIC0tLSovCiAKLWxldCBj
YWxlbmRhcnMgPSBbCi0gICJidWRkaGlzdCIsCi0gICJjaGluZXNlIiwKLSAgImNvcHRpYyIsCi0g
ICJkYW5naSIsCi0gICJldGhpb3BpYyIsCi0gICJldGhpb2FhIiwKLSAgImdyZWdvcnkiLAotICAi
aGVicmV3IiwKLSAgImluZGlhbiIsCi0gICJpc2xhbWljIiwKLSAgImlzbGFtaWMtY2l2aWwiLAot
ICAiaXNsYW1pYy1yZ3NhIiwKLSAgImlzbGFtaWMtdGJsYSIsCi0gICJpc2xhbWljLXVtYWxxdXJh
IiwKLSAgImphcGFuZXNlIiwKLSAgInBlcnNpYW4iLAotICAicm9jIgotXTsKK2xldCBjYWxlbmRh
cnMgPSBhbGxDYWxlbmRhcnMoKTsKIGxldCBkYXRlMSA9IG5ldyBEYXRlKDIwMTcsIDMsIDEyKTsK
IGxldCBkYXRlMiA9IG5ldyBEYXRlKCk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvcGF0dGVy
bi1vbi1jYWxlbmRhci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVG
b3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvcGF0dGVybi1vbi1jYWxlbmRhci5qcwppbmRl
eCAwODA4ODY0ZjdjNzVlZWRkODEzZDBjMjQ4ZjViNWFmMWExMWVmM2I5Li43MDJiYjQwMDE5ZjBh
OTkwNmUzZjdhMjViMTM3NTdkODIzOGI2MzhjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3BhdHRl
cm4tb24tY2FsZW5kYXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EYXRl
VGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9wYXR0ZXJuLW9uLWNhbGVuZGFyLmpz
CkBAIC02LDI4ICs2LDExIEBACiBkZXNjcmlwdGlvbjogPgogICBDaGVja3MgdGhlIERhdGVUaW1l
Rm9ybWF0IGNob29zZSBkaWZmZXJlbnQgcGF0dGVybnMgYmFzZWQKICAgb24gY2FsZW5kYXIuCitp
bmNsdWRlczogW3Rlc3RJbnRsLmpzXQogbG9jYWxlOiBbZW5dCiAtLS0qLwogCi1sZXQgY2FsZW5k
YXJzID0gWwotICAiYnVkZGhpc3QiLAotICAiY2hpbmVzZSIsCi0gICJjb3B0aWMiLAotICAiZGFu
Z2kiLAotICAiZXRoaW9waWMiLAotICAiZXRoaW9hYSIsCi0gICJncmVnb3J5IiwKLSAgImhlYnJl
dyIsCi0gICJpbmRpYW4iLAotICAiaXNsYW1pYyIsCi0gICJpc2xhbWljLWNpdmlsIiwKLSAgImlz
bGFtaWMtcmdzYSIsCi0gICJpc2xhbWljLXRibGEiLAotICAiaXNsYW1pYy11bWFscXVyYSIsCi0g
ICJqYXBhbmVzZSIsCi0gICJwZXJzaWFuIiwKLSAgInJvYyIKLV07CitsZXQgY2FsZW5kYXJzID0g
YWxsQ2FsZW5kYXJzKCk7CiBsZXQgZGF0ZSA9IG5ldyBEYXRlKCk7CiAKIC8vIHNlcmlhbGl6ZSBw
YXJ0cyB0byBhIHN0cmluZyBieSBjb25zaWRlcmluZyBvbmx5IHRoZSB0eXBlIGFuZCBsaXRlcmFs
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1h
dC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL2Jhc2ljLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL2Jhc2lj
LmpzCmluZGV4IDI2ZWI0MDQ0Y2U5YTZlMzQzM2IzZmI2ZDdkODNjNTA4ZDU5ZDM5NzguLjhjOTVm
ZTVhNjJjY2Y1ZGU5MTY0ZDkwNGIzNGZhNGY4MmJkM2ExNmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0
aW9ucy9iYXNpYy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0RhdGVUaW1l
Rm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvYmFzaWMuanMKQEAgLTE2LDI5ICsxNiw3
IEBACiB2YXIgYWN0dWFsMiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRp
b25zKCk7CiBhc3NlcnQubm90U2FtZVZhbHVlKGFjdHVhbDIsIGFjdHVhbCwgInJlc29sdmVkT3B0
aW9ucyByZXR1cm5lZCB0aGUgc2FtZSBvYmplY3QgdHdpY2UuIik7CiAKLS8vIHNvdXJjZTogQ0xE
UiBmaWxlIGNvbW1vbi9iY3A0Ny9jYWxlbmRhci54bWw7IHZlcnNpb24gQ0xEUiAzMi4KLXZhciBj
YWxlbmRhcnMgPSBbCi0gICAgImJ1ZGRoaXN0IiwKLSAgICAiY2hpbmVzZSIsCi0gICAgImNvcHRp
YyIsCi0gICAgImRhbmdpIiwKLSAgICAiZXRoaW9hYSIsCi0gICAgImV0aGlvcGljLWFtZXRlLWFs
ZW0iLAotICAgICJldGhpb3BpYyIsCi0gICAgImdyZWdvcnkiLAotICAgICJoZWJyZXciLAotICAg
ICJpbmRpYW4iLAotICAgICJpc2xhbWljIiwKLSAgICAiaXNsYW1pYy11bWFscXVyYSIsCi0gICAg
ImlzbGFtaWMtdGJsYSIsCi0gICAgImlzbGFtaWMtY2l2aWwiLAotICAgICJpc2xhbWljLXJnc2Ei
LAotICAgICJpc284NjAxIiwKLSAgICAiamFwYW5lc2UiLAotICAgICJwZXJzaWFuIiwKLSAgICAi
cm9jIiwKLSAgICAiaXNsYW1pY2MiLAotXTsKK3ZhciBjYWxlbmRhcnMgPSBhbGxDYWxlbmRhcnMo
KTsKIAogLy8gdGhpcyBhc3N1bWVzIHRoZSBkZWZhdWx0IHZhbHVlcyB3aGVyZSB0aGUgc3BlY2lm
aWNhdGlvbiBwcm92aWRlcyB0aGVtCiBhc3NlcnQoaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5
VmFsaWRMYW5ndWFnZVRhZyhhY3R1YWwubG9jYWxlKSwKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvRGlzcGxheU5hbWVzL3Byb3RvdHlwZS9vZi90eXBlLWNhbGVuZGFy
LWludmFsaWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9w
cm90b3R5cGUvb2YvdHlwZS1jYWxlbmRhci1pbnZhbGlkLmpzCmluZGV4IDNjYTU2YzM5YTVmYjI2
OTE4M2Y3ZjIwMmE0ZGQ4NzdmODg0ZjZjMDAuLmI5ZjMxMGFkYjllY2FkMmQ3NGQwZGNmNWY1ODY1
ZjFlOWMzZGU3NWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvRGlz
cGxheU5hbWVzL3Byb3RvdHlwZS9vZi90eXBlLWNhbGVuZGFyLWludmFsaWQuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL29mL3R5cGUt
Y2FsZW5kYXItaW52YWxpZC5qcwpAQCAtNDMsMyArNDMsMTkgQEAKIGFzc2VydC50aHJvd3MoUmFu
Z2VFcnJvciwgZnVuY3Rpb24oKSB7CiAgIGRpc3BsYXlOYW1lcy5vZignYWJjIGRlZicpOwogfSwg
J2ludGVyc3RpdGlhbCBzcGFjZScpOworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0
aW9uKCkgeworICBkaXNwbGF5TmFtZXMub2YoJzEyM19hYmMnKTsKK30sICcyIHNlZ21lbnRzLCBt
aW5pbXVtIGxlbmd0aCwgdW5kZXJzY29yZScpOworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3Is
IGZ1bmN0aW9uKCkgeworICBkaXNwbGF5TmFtZXMub2YoJzEyMzQ1Njc4X2FiY2RlZmdoJyk7Cit9
LCAnMiBzZWdtZW50cywgbWF4aW11bSBsZW5ndGgsIHVuZGVyc2NvcmUnKTsKKworYXNzZXJ0LnRo
cm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZGlzcGxheU5hbWVzLm9mKCcxMjNfYWJj
X0FCQycpOworfSwgJzMgc2VnbWVudHMsIG1pbmltdW0gbGVuZ3RoLCB1bmRlcnNjb3JlJyk7CisK
K2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7CisgIGRpc3BsYXlOYW1lcy5v
ZignMTIzNDU2NzhfYWJjZGVmZ2hfQUJDREVGR0gnKTsKK30sICczIHNlZ21lbnRzLCBtYXhpbXVt
IGxlbmd0aCwgdW5kZXJzY29yZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
aW50bDQwMi9EaXNwbGF5TmFtZXMvcHJvdG90eXBlL29mL3R5cGUtY2FsZW5kYXItdmFsaWQuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvb2Yv
dHlwZS1jYWxlbmRhci12YWxpZC5qcwppbmRleCA3YjY5MTNmYTkwZGE0N2EwZDUzNjI4MzY2ZTdj
NGJiMGQ1OTc3MDI2Li40ZDdiMGM0OWNlN2NkNWJmYjM3ZDkyODhiNDU5ODMxMmExODM3MTI5IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90
b3R5cGUvb2YvdHlwZS1jYWxlbmRhci12YWxpZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0Rpc3BsYXlOYW1lcy9wcm90b3R5cGUvb2YvdHlwZS1jYWxlbmRhci12YWxpZC5q
cwpAQCAtMjUsOCArMjUsMyBAQAogYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZGlzcGxheU5hbWVz
Lm9mKCcxMjM0NTY3OC1hYmNkZWZnaCcpLCAnc3RyaW5nJywgJzIgc2VnbWVudHMsIG1heGltdW0g
bGVuZ3RoLCBkYXNoJyk7CiBhc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBkaXNwbGF5TmFtZXMub2Yo
JzEyMy1hYmMtQUJDJyksICdzdHJpbmcnLCAnMyBzZWdtZW50cywgbWluaW11bSBsZW5ndGgsIGRh
c2gnKTsKIGFzc2VydC5zYW1lVmFsdWUodHlwZW9mIGRpc3BsYXlOYW1lcy5vZignMTIzNDU2Nzgt
YWJjZGVmZ2gtQUJDREVGR0gnKSwgJ3N0cmluZycsICczIHNlZ21lbnRzLCBtYXhpbXVtIGxlbmd0
aCwgZGFzaCcpOwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBkaXNwbGF5TmFtZXMub2YoJzEy
M19hYmMnKSwgJ3N0cmluZycsICcyIHNlZ21lbnRzLCBtaW5pbXVtIGxlbmd0aCwgdW5kZXJzY29y
ZScpOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgZGlzcGxheU5hbWVzLm9mKCcxMjM0NTY3OF9h
YmNkZWZnaCcpLCAnc3RyaW5nJywgJzIgc2VnbWVudHMsIG1heGltdW0gbGVuZ3RoLCB1bmRlcnNj
b3JlJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBkaXNwbGF5TmFtZXMub2YoJzEyM19hYmNf
QUJDJyksICdzdHJpbmcnLCAnMyBzZWdtZW50cywgbWluaW11bSBsZW5ndGgsIHVuZGVyc2NvcmUn
KTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIGRpc3BsYXlOYW1lcy5vZignMTIzNDU2NzhfYWJj
ZGVmZ2hfQUJDREVGR0gnKSwgJ3N0cmluZycsICczIHNlZ21lbnRzLCBtYXhpbXVtIGxlbmd0aCwg
dW5kZXJzY29yZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9J
bnRsL3N1cHBvcnRlZFZhbHVlc09mL2J1aWx0aW4uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9p
bnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvYnVpbHRpbi5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTcz
OTM1OTI3ZmVjNjdkODllODMwZGE3MGY0MzBiZjM4NDY0YTgxCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2J1aWx0
aW4uanMKQEAgLTAsMCArMSw0MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIEFuZHLDqSBCYXJn
dWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWludGwuc3VwcG9ydGVkdmFsdWVzb2YKK2Rlc2NyaXB0aW9uOiA+CisgIEludGwuc3VwcG9y
dGVkVmFsdWVzT2YgaXMgYSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QuLgoraW5mbzogfAorICBJ
bnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkKKworICAxOCBFQ01BU2NyaXB0IFN0YW5kYXJk
IEJ1aWx0LWluIE9iamVjdHM6CisgICAgVW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UsIGEgYnVp
bHQtaW4gb2JqZWN0IHRoYXQgaXMgY2FsbGFibGUgYXMgYSBmdW5jdGlvbgorICAgIGlzIGEgYnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0IHdpdGggdGhlIGNoYXJhY3RlcmlzdGljcyBkZXNjcmliZWQg
aW4gMTAuMy4KKyAgICBVbmxlc3Mgc3BlY2lmaWVkIG90aGVyd2lzZSwgdGhlIFtbRXh0ZW5zaWJs
ZV1dIGludGVybmFsIHNsb3Qgb2YgYSBidWlsdC1pbgorICAgIG9iamVjdCBpbml0aWFsbHkgaGFz
IHRoZSB2YWx1ZSB0cnVlLgorCisgICAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgZXZlcnkg
YnVpbHQtaW4gZnVuY3Rpb24gYW5kIGV2ZXJ5IGJ1aWx0LWluCisgICAgY29uc3RydWN0b3IgaGFz
IHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LCB3aGljaCBpcyB0aGUgaW5pdGlhbCB2YWx1
ZQorICAgIG9mIHRoZSBleHByZXNzaW9uIEZ1bmN0aW9uLnByb3RvdHlwZSAoMjAuMi4zKSwgYXMg
dGhlIHZhbHVlIG9mIGl0cworICAgIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgc2xvdC4KKworICAg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICAgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgICB0aGUgZGVzY3JpcHRp
b24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtJbnRsLWVudW1lcmF0aW9uLCBSZWZsZWN0LmNvbnN0cnVjdF0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEludGwuc3VwcG9ydGVkVmFsdWVzT2YsICJmdW5j
dGlvbiIsCisgICAgICAgICAgICAgICAgICJJbnRsLnN1cHBvcnRlZFZhbHVlc09mIGlzIGEgZnVu
Y3Rpb24iKTsKKworYXNzZXJ0KCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwo
SW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiwgInByb3RvdHlwZSIpLAorICAgICAgICJJbnRsLnN1cHBv
cnRlZFZhbHVlc09mIGRvZXNuJ3QgaGF2ZSBhbiBvd24gJ3Byb3RvdHlwZScgcHJvcGVydHkiKTsK
KworYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUoSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiksCisg
ICAgICAgIkJ1aWx0LWluIG9iamVjdHMgbXVzdCBiZSBleHRlbnNpYmxlIik7CisKK2Fzc2VydC5z
YW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKEludGwuc3VwcG9ydGVkVmFsdWVzT2YpLCBG
dW5jdGlvbi5wcm90b3R5cGUsCisgICAgICAgICAgICAgICAgICJbW1Byb3RvdHlwZV1dIG9mIElu
dGwuc3VwcG9ydGVkVmFsdWVzT2YgaXMgRnVuY3Rpb24ucHJvdG90eXBlIik7CisKK2Fzc2VydCgh
aXNDb25zdHJ1Y3RvcihJbnRsLnN1cHBvcnRlZFZhbHVlc09mKSwKKyAgICAgICAiSW50bC5zdXBw
b3J0ZWRWYWx1ZXNPZiBub3QgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2NhbGVu
ZGFycy1hY2NlcHRlZC1ieS1EYXRlVGltZUZvcm1hdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jYWxlbmRhcnMtYWNjZXB0ZWQtYnktRGF0
ZVRpbWVGb3JtYXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAxYzZkNGU2NGJiOTk1OTgxNDYzOGIxNzE3YTk5
ZmQwOWYyNTNjYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jYWxlbmRhcnMtYWNjZXB0ZWQtYnktRGF0ZVRpbWVG
b3JtYXQuanMKQEAgLTAsMCArMSw0NSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIEFuZHLDqSBC
YXJndWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWludGwuc3VwcG9ydGVkdmFsdWVzb2YKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSByZXR1
cm5lZCAiY2FsZW5kYXIiIHZhbHVlcyBjYW4gYmUgdXNlZCB3aXRoIERhdGVUaW1lRm9ybWF0Lgor
aW5mbzogfAorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkKKworICAxLiBMZXQga2V5
IGJlID8gVG9TdHJpbmcoa2V5KS4KKyAgMi4gSWYga2V5IGlzICJjYWxlbmRhciIsIHRoZW4KKyAg
ICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJsZUNhbGVuZGFycyggKS4KKyAgLi4uCisgIDkuIFJl
dHVybiAhIENyZWF0ZUFycmF5RnJvbUxpc3QoIGxpc3QgKS4KKworICBBdmFpbGFibGVDYWxlbmRh
cnMgKCApCisgICAgVGhlIEF2YWlsYWJsZUNhbGVuZGFycyBhYnN0cmFjdCBvcGVyYXRpb24gcmV0
dXJucyBhIExpc3QsIG9yZGVyZWQgYXMgaWYgYW4KKyAgICBBcnJheSBvZiB0aGUgc2FtZSB2YWx1
ZXMgaGFkIGJlZW4gc29ydGVkIHVzaW5nICVBcnJheS5wcm90b3R5cGUuc29ydCUgdXNpbmcKKyAg
ICB1bmRlZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0IGNvbnRhaW5zIHVuaXF1ZSBjYWxlbmRhciB0
eXBlcyBpZGVudGlmeWluZyB0aGUKKyAgICBjYWxlbmRhcnMgZm9yIHdoaWNoIHRoZSBpbXBsZW1l
bnRhdGlvbiBwcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSBvZgorICAgIEludGwuRGF0ZVRpbWVG
b3JtYXQgb2JqZWN0cy4gVGhlIGxpc3QgbXVzdCBpbmNsdWRlICJncmVnb3J5Ii4KK2luY2x1ZGVz
OiBbdGVzdEludGwuanNdCitsb2NhbGU6IFtlbl0KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlv
bl0KKy0tLSovCisKK2NvbnN0IGNhbGVuZGFycyA9IEludGwuc3VwcG9ydGVkVmFsdWVzT2YoImNh
bGVuZGFyIik7CisKK2ZvciAobGV0IGNhbGVuZGFyIG9mIGNhbGVuZGFycykgeworICBsZXQgb2Jq
ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuIiwge2NhbGVuZGFyfSk7CisgIGFzc2VydC5z
YW1lVmFsdWUob2JqLnJlc29sdmVkT3B0aW9ucygpLmNhbGVuZGFyLCBjYWxlbmRhciwKKyAgICAg
ICAgICAgICAgICAgICBgJHtjYWxlbmRhcn0gaXMgc3VwcG9ydGVkIGJ5IERhdGVUaW1lRm9ybWF0
YCk7Cit9CisKK2ZvciAobGV0IGNhbGVuZGFyIG9mIGFsbENhbGVuZGFycygpKSB7CisgIGxldCBv
YmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4iLCB7Y2FsZW5kYXJ9KTsKKyAgaWYgKG9i
ai5yZXNvbHZlZE9wdGlvbnMoKS5jYWxlbmRhciA9PT0gY2FsZW5kYXIpIHsKKyAgICBhc3NlcnQo
Y2FsZW5kYXJzLmluY2x1ZGVzKGNhbGVuZGFyKSwKKyAgICAgICAgICAgYCR7Y2FsZW5kYXJ9IHN1
cHBvcnRlZCBidXQgbm90IHJldHVybmVkIGJ5IHN1cHBvcnRlZFZhbHVlc09mYCk7CisgIH0gZWxz
ZSB7CisgICAgYXNzZXJ0KCFjYWxlbmRhcnMuaW5jbHVkZXMoY2FsZW5kYXIpLAorICAgICAgICAg
ICBgJHtjYWxlbmRhcn0gbm90IHN1cHBvcnRlZCBidXQgcmV0dXJuZWQgYnkgc3VwcG9ydGVkVmFs
dWVzT2ZgKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2NhbGVuZGFycy1hY2NlcHRlZC1ieS1EaXNwbGF5TmFt
ZXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVz
T2YvY2FsZW5kYXJzLWFjY2VwdGVkLWJ5LURpc3BsYXlOYW1lcy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOWU1
ZWM1YjI0MmMzMmY3M2Q1MDY5NmVkZTZjMTVhODBkYWVlN2IzCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2NhbGVu
ZGFycy1hY2NlcHRlZC1ieS1EaXNwbGF5TmFtZXMuanMKQEAgLTAsMCArMSw0NSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIxIEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWludGwuc3VwcG9ydGVkdmFsdWVzb2YKK2Rl
c2NyaXB0aW9uOiA+CisgIFRoZSByZXR1cm5lZCAiY2FsZW5kYXIiIHZhbHVlcyBjYW4gYmUgdXNl
ZCB3aXRoIERpc3BsYXlOYW1lcy4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiAo
IGtleSApCisKKyAgMS4gTGV0IGtleSBiZSA/IFRvU3RyaW5nKGtleSkuCisgIDIuIElmIGtleSBp
cyAiY2FsZW5kYXIiLCB0aGVuCisgICAgYS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVDYWxlbmRh
cnMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICku
CisKKyAgQXZhaWxhYmxlQ2FsZW5kYXJzICggKQorICAgIFRoZSBBdmFpbGFibGVDYWxlbmRhcnMg
YWJzdHJhY3Qgb3BlcmF0aW9uIHJldHVybnMgYSBMaXN0LCBvcmRlcmVkIGFzIGlmIGFuCisgICAg
QXJyYXkgb2YgdGhlIHNhbWUgdmFsdWVzIGhhZCBiZWVuIHNvcnRlZCB1c2luZyAlQXJyYXkucHJv
dG90eXBlLnNvcnQlIHVzaW5nCisgICAgdW5kZWZpbmVkIGFzIGNvbXBhcmVmbiwgdGhhdCBjb250
YWlucyB1bmlxdWUgY2FsZW5kYXIgdHlwZXMgaWRlbnRpZnlpbmcgdGhlCisgICAgY2FsZW5kYXJz
IGZvciB3aGljaCB0aGUgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YKKyAgICBJbnRsLkRhdGVUaW1lRm9ybWF0IG9iamVjdHMuIFRoZSBsaXN0IG11c3QgaW5jbHVk
ZSAiZ3JlZ29yeSIuCitpbmNsdWRlczogW3Rlc3RJbnRsLmpzXQorbG9jYWxlOiBbZW5dCitmZWF0
dXJlczogW0ludGwtZW51bWVyYXRpb24sIEludGwuRGlzcGxheU5hbWVzLXYyXQorLS0tKi8KKwor
Y29uc3QgY2FsZW5kYXJzID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigiY2FsZW5kYXIiKTsKKwor
Y29uc3Qgb2JqID0gbmV3IEludGwuRGlzcGxheU5hbWVzKCJlbiIsIHt0eXBlOiAiY2FsZW5kYXIi
LCBmYWxsYmFjazogIm5vbmUifSk7CisKK2ZvciAobGV0IGNhbGVuZGFyIG9mIGNhbGVuZGFycykg
eworICBhc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBvYmoub2YoY2FsZW5kYXIpLCAic3RyaW5nIiwK
KyAgICAgICAgICAgICAgICAgICBgJHtjYWxlbmRhcn0gaXMgc3VwcG9ydGVkIGJ5IERpc3BsYXlO
YW1lc2ApOworfQorCitmb3IgKGxldCBjYWxlbmRhciBvZiBhbGxDYWxlbmRhcnMoKSkgeworICBp
ZiAodHlwZW9mIG9iai5vZihjYWxlbmRhcikgPT09ICJzdHJpbmciKSB7CisgICAgYXNzZXJ0KGNh
bGVuZGFycy5pbmNsdWRlcyhjYWxlbmRhciksCisgICAgICAgICAgIGAke2NhbGVuZGFyfSBzdXBw
b3J0ZWQgYnV0IG5vdCByZXR1cm5lZCBieSBzdXBwb3J0ZWRWYWx1ZXNPZmApOworICB9IGVsc2Ug
eworICAgIGFzc2VydCghY2FsZW5kYXJzLmluY2x1ZGVzKGNhbGVuZGFyKSwKKyAgICAgICAgICAg
YCR7Y2FsZW5kYXJ9IG5vdCBzdXBwb3J0ZWQgYnV0IHJldHVybmVkIGJ5IHN1cHBvcnRlZFZhbHVl
c09mYCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
SW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jYWxlbmRhcnMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY2FsZW5kYXJzLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRhZGZjNzIxM2M2Y2EwNDhjNjE0OWU3YzYzMDM3NDdkZjQzYjUzMGMKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2Yv
Y2FsZW5kYXJzLmpzCkBAIC0wLDAgKzEsNTQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRy
w6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBUaGUg
cmV0dXJuZWQgImNhbGVuZGFyIiB2YWx1ZXMgYXJlIHNvcnRlZCwgdW5pcXVlLCBhbmQgbWF0Y2gg
dGhlIHR5cGUgcHJvZHVjdGlvbi4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiAo
IGtleSApCisKKyAgMS4gTGV0IGtleSBiZSA/IFRvU3RyaW5nKGtleSkuCisgIDIuIElmIGtleSBp
cyAiY2FsZW5kYXIiLCB0aGVuCisgICAgYS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVDYWxlbmRh
cnMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICku
CisKKyAgQXZhaWxhYmxlQ2FsZW5kYXJzICggKQorICAgIFRoZSBBdmFpbGFibGVDYWxlbmRhcnMg
YWJzdHJhY3Qgb3BlcmF0aW9uIHJldHVybnMgYSBMaXN0LCBvcmRlcmVkIGFzIGlmIGFuCisgICAg
QXJyYXkgb2YgdGhlIHNhbWUgdmFsdWVzIGhhZCBiZWVuIHNvcnRlZCB1c2luZyAlQXJyYXkucHJv
dG90eXBlLnNvcnQlIHVzaW5nCisgICAgdW5kZWZpbmVkIGFzIGNvbXBhcmVmbiwgdGhhdCBjb250
YWlucyB1bmlxdWUgY2FsZW5kYXIgdHlwZXMgaWRlbnRpZnlpbmcgdGhlCisgICAgY2FsZW5kYXJz
IGZvciB3aGljaCB0aGUgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YKKyAgICBJbnRsLkRhdGVUaW1lRm9ybWF0IG9iamVjdHMuIFRoZSBsaXN0IG11c3QgaW5jbHVk
ZSAiZ3JlZ29yeSIuCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2ZlYXR1cmVzOiBbSW50
bC1lbnVtZXJhdGlvbiwgSW50bC5Mb2NhbGVdCistLS0qLworCitjb25zdCBjYWxlbmRhcnMgPSBJ
bnRsLnN1cHBvcnRlZFZhbHVlc09mKCJjYWxlbmRhciIpOworCithc3NlcnQoQXJyYXkuaXNBcnJh
eShjYWxlbmRhcnMpLCAiUmV0dXJucyBhbiBBcnJheSBvYmplY3QuIik7Cithc3NlcnQuc2FtZVZh
bHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihjYWxlbmRhcnMpLCBBcnJheS5wcm90b3R5cGUsCisg
ICAgICAgICAgICAgICAgICJUaGUgYXJyYXkgcHJvdG90eXBlIGlzIEFycmF5LnByb3RvdHlwZSIp
OworCitjb25zdCBvdGhlckNhbGVuZGFycyA9IEludGwuc3VwcG9ydGVkVmFsdWVzT2YoImNhbGVu
ZGFyIik7Cithc3NlcnQubm90U2FtZVZhbHVlKG90aGVyQ2FsZW5kYXJzLCBjYWxlbmRhcnMsCisg
ICAgICAgICAgICAgICAgICAgICJSZXR1cm5zIGEgbmV3IGFycmF5IG9iamVjdCBmb3IgZWFjaCBj
YWxsLiIpOworCithc3NlcnQuY29tcGFyZUFycmF5KGNhbGVuZGFycywgb3RoZXJDYWxlbmRhcnMu
c29ydCgpLAorICAgICAgICAgICAgICAgICAgICAiVGhlIGFycmF5IGlzIHNvcnRlZC4iKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZShuZXcgU2V0KGNhbGVuZGFycykuc2l6ZSwgY2FsZW5kYXJzLmxlbmd0
aCwKKyAgICAgICAgICAgICAgICAgIlRoZSBhcnJheSBkb2Vzbid0IGNvbnRhaW4gZHVwbGljYXRl
cy4iKTsKKworLy8gaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvdHIzNS5odG1sI1Vu
aWNvZGVfbG9jYWxlX2lkZW50aWZpZXIKK2NvbnN0IHR5cGVSRSA9IC9eW2EtejAtOV17Myw4fSgt
W2EtejAtOV17Myw4fSkqJC87Citmb3IgKGxldCBjYWxlbmRhciBvZiBjYWxlbmRhcnMpIHsKKyAg
YXNzZXJ0KHR5cGVSRS50ZXN0KGNhbGVuZGFyKSwgYCR7Y2FsZW5kYXJ9IG1hdGNoZXMgdGhlICd0
eXBlJyBwcm9kdWN0aW9uYCk7Cit9CisKK2ZvciAobGV0IGNhbGVuZGFyIG9mIGNhbGVuZGFycykg
eworICBhc3NlcnQuc2FtZVZhbHVlKG5ldyBJbnRsLkxvY2FsZSgidW5kIiwge2NhbGVuZGFyfSku
Y2FsZW5kYXIsIGNhbGVuZGFyLAorICAgICAgICAgICAgICAgICAgIGAke2NhbGVuZGFyfSBpcyBj
YW5vbmljYWxpc2VkYCk7Cit9CisKK2Fzc2VydChjYWxlbmRhcnMuaW5jbHVkZXMoImdyZWdvcnki
KSwgIkluY2x1ZGVzIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIuIik7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY29lcmNlZC10
by1zdHJpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVk
VmFsdWVzT2YvY29lcmNlZC10by1zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc1YjgxNjVlMTVkMTgy
NTdkZjVlOTM1MGQ5OTI1MjVmMWNiMTJlYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jb2VyY2VkLXRvLXN0cmlu
Zy5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgQW5kcsOpIEJhcmd1
bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtaW50bC5zdXBwb3J0ZWR2YWx1ZXNvZgorZGVzY3JpcHRpb246ID4KKyAgSW5wdXQga2V5IGlz
IGNvZXJjZWQgd2l0aCBUb1N0cmluZy4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNP
ZiAoIGtleSApCisKKyAgMS4gTGV0IGtleSBiZSA/IFRvU3RyaW5nKGtleSkuCisgIDIuIElmIGtl
eSBpcyAiY2FsZW5kYXIiLCB0aGVuCisgICAgYS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVDYWxl
bmRhcnMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0
ICkuCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJh
dGlvbl0KKy0tLSovCisKK2NvbnN0IGNhbGVuZGFycyA9IEludGwuc3VwcG9ydGVkVmFsdWVzT2Yo
ImNhbGVuZGFyIik7CisKKy8vIFRvU3RyaW5nIG9uIGEgU3RyaW5nIG9iamVjdC4KK2Fzc2VydC5j
b21wYXJlQXJyYXkoSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZihuZXcgU3RyaW5nKCJjYWxlbmRhciIp
KSwgY2FsZW5kYXJzKTsKKworLy8gVG9TdHJpbmcgb24gYSBwbGFpbiBvYmplY3QuCitsZXQgb2Jq
ID0geworICB0b1N0cmluZygpIHsKKyAgICByZXR1cm4gImNhbGVuZGFyIjsKKyAgfQorfTsKK2Fz
c2VydC5jb21wYXJlQXJyYXkoSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZihvYmopLCBjYWxlbmRhcnMp
OworCisvLyBUb1N0cmluZygpIG9mIGEgc3ltYm9sIHRocm93cyBhIFR5cGVFcnJvci4KK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNP
ZihTeW1ib2woKSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jb2xsYXRpb25zLWFjY2VwdGVkLWJ5LUNvbGxhdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09m
L2NvbGxhdGlvbnMtYWNjZXB0ZWQtYnktQ29sbGF0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRjODE0OTA2
YjYxOWZiNTIxNmNhNmM2MTU4Y2I1MmVlMjkxYmYyNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jb2xsYXRpb25z
LWFjY2VwdGVkLWJ5LUNvbGxhdG9yLmpzCkBAIC0wLDAgKzEsODEgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlv
bjogPgorICBUaGUgcmV0dXJuZWQgImNvbGxhdGlvbiIgdmFsdWVzIGNhbiBiZSB1c2VkIHdpdGgg
Q29sbGF0b3IuCitpbmZvOiB8CisgIEludGwuc3VwcG9ydGVkVmFsdWVzT2YgKCBrZXkgKQorCisg
IDEuIExldCBrZXkgYmUgPyBUb1N0cmluZyhrZXkpLgorICAuLi4KKyAgMy4gRWxzZSBpZiBrZXkg
aXMgImNvbGxhdGlvbiIsIHRoZW4KKyAgICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJsZUNvbGxh
dGlvbnMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0
ICkuCisKKyAgQXZhaWxhYmxlQ29sbGF0aW9ucyAoICkKKyAgICBUaGUgQXZhaWxhYmxlQ29sbGF0
aW9ucyBhYnN0cmFjdCBvcGVyYXRpb24gcmV0dXJucyBhIExpc3QsIG9yZGVyZWQgYXMgaWYgYW4K
KyAgICBBcnJheSBvZiB0aGUgc2FtZSB2YWx1ZXMgaGFkIGJlZW4gc29ydGVkIHVzaW5nICVBcnJh
eS5wcm90b3R5cGUuc29ydCUgdXNpbmcKKyAgICB1bmRlZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0
IGNvbnRhaW5zIHVuaXF1ZSBjb2xsYXRpb24gdHlwZXMgaWRlbnRpZnlpbmcgdGhlCisgICAgY29s
bGF0aW9ucyBmb3Igd2hpY2ggdGhlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIHRoZSBmdW5jdGlv
bmFsaXR5IG9mCisgICAgSW50bC5Db2xsYXRvciBvYmplY3RzLgoraW5jbHVkZXM6IFt0ZXN0SW50
bC5qc10KK2xvY2FsZTogW2VuLCBhciwgZGUsIGVzLCBrbywgbG4sIHNpLCBzdiwgemhdCitmZWF0
dXJlczogW0ludGwtZW51bWVyYXRpb25dCistLS0qLworCitjb25zdCBjb2xsYXRpb25zID0gSW50
bC5zdXBwb3J0ZWRWYWx1ZXNPZigiY29sbGF0aW9uIik7CisKKy8vIE5vdCBhbGwgbG9jYWxlcyBz
dXBwb3J0IGFsbCBwb3NzaWJsZSBjb2xsYXRpb25zLCBzbyB0ZXN0IHRoZSBtaW5pbWFsIHNldCB0
bworLy8gY292ZXIgYWxsIHN1cHBvcnRlZCBjb2xsYXRpb25zLgorLy8KKy8vIFRoZSBsaXN0IG9m
IGFsbCBjb2xsYXRpb25zIGNhbiBiZSBkZXJpdmVkIGZyb20KKy8vIDxodHRwczovL2dpdGh1Yi5j
b20vdW5pY29kZS1vcmcvY2xkci9ibG9iL21hc3Rlci9jb21tb24vYmNwNDcvY29sbGF0aW9uLnht
bD4uCisvLworLy8gTm90ZTogInN0YW5kYXJkIiBhbmQgInNlYXJjaCIgYXJlIGV4cGxpY2l0bHkg
ZGlzYWxsb3dlZCBieSBJbnRsLkNvbGxhdG9yLgorY29uc3QgbG9jYWxlcyA9IFsKKyAgImVuIiwg
Ly8gZHVjZXQsIGVtb2ppLCBlb3IKKyAgImFyIiwgLy8gY29tcGF0CisgICJkZSIsIC8vIHBob25l
YmsKKyAgImVzIiwgLy8gdHJhZAorICAiaGkiLCAvLyBkaXJlY3QKKyAgImtvIiwgLy8gc2VhcmNo
amwKKyAgImxuIiwgLy8gcGhvbmV0aWMKKyAgInNpIiwgLy8gZGljdAorICAic3YiLCAvLyByZWZv
cm1lZAorICAiemgiLCAvLyBiaWc1aGFuLCBnYjIzMTIsIHBpbnlpbiwgc3Ryb2tlLCB1bmloYW4s
IHpodXlpbgorXTsKKworZm9yIChsZXQgY29sbGF0aW9uIG9mIGNvbGxhdGlvbnMpIHsKKyAgbGV0
IHN1cHBvcnRlZCA9IGZhbHNlOworICBmb3IgKGxldCBsb2NhbGUgb2YgbG9jYWxlcykgeworICAg
IGxldCBvYmogPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGUsIHtjb2xsYXRpb259KTsKKyAgICBp
ZiAob2JqLnJlc29sdmVkT3B0aW9ucygpLmNvbGxhdGlvbiA9PT0gY29sbGF0aW9uKSB7CisgICAg
ICBzdXBwb3J0ZWQgPSB0cnVlOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisKKyAgYXNzZXJ0
KHN1cHBvcnRlZCwgYCR7Y29sbGF0aW9ufSBpcyBzdXBwb3J0ZWQgYnkgQ29sbGF0b3JgKTsKK30K
KworZm9yIChsZXQgY29sbGF0aW9uIG9mIGFsbENvbGxhdGlvbnMoKSkgeworICBsZXQgc3VwcG9y
dGVkID0gZmFsc2U7CisgIGZvciAobGV0IGxvY2FsZSBvZiBsb2NhbGVzKSB7CisgICAgbGV0IG9i
aiA9IG5ldyBJbnRsLkNvbGxhdG9yKGxvY2FsZSwge2NvbGxhdGlvbn0pOworICAgIGlmIChvYmou
cmVzb2x2ZWRPcHRpb25zKCkuY29sbGF0aW9uID09PSBjb2xsYXRpb24pIHsKKyAgICAgIHN1cHBv
cnRlZCA9IHRydWU7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBpZiAoc3VwcG9ydGVk
KSB7CisgICAgYXNzZXJ0KGNvbGxhdGlvbnMuaW5jbHVkZXMoY29sbGF0aW9uKSwKKyAgICAgICAg
ICAgYCR7Y29sbGF0aW9ufSBzdXBwb3J0ZWQgYnV0IG5vdCByZXR1cm5lZCBieSBzdXBwb3J0ZWRW
YWx1ZXNPZmApOworICB9IGVsc2UgeworICAgIGFzc2VydCghY29sbGF0aW9ucy5pbmNsdWRlcyhj
b2xsYXRpb24pLAorICAgICAgICAgICBgJHtjb2xsYXRpb259IG5vdCBzdXBwb3J0ZWQgYnV0IHJl
dHVybmVkIGJ5IHN1cHBvcnRlZFZhbHVlc09mYCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jb2xsYXRpb25z
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09m
L2NvbGxhdGlvbnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhjY2ZmYmE2OTExNmEyYWM2ODk4OGNjODQ0OThk
MjM3MWViOWJiMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jb2xsYXRpb25zLmpzCkBAIC0wLDAgKzEsNTYgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVl
c29mCitkZXNjcmlwdGlvbjogPgorICBUaGUgcmV0dXJuZWQgImNvbGxhdGlvbiIgdmFsdWVzIGFy
ZSBzb3J0ZWQsIHVuaXF1ZSwgYW5kIG1hdGNoIHRoZSB0eXBlIHByb2R1Y3Rpb24uCitpbmZvOiB8
CisgIEludGwuc3VwcG9ydGVkVmFsdWVzT2YgKCBrZXkgKQorCisgIDEuIExldCBrZXkgYmUgPyBU
b1N0cmluZyhrZXkpLgorICAuLi4KKyAgMy4gRWxzZSBpZiBrZXkgaXMgImNvbGxhdGlvbiIsIHRo
ZW4KKyAgICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJsZUNvbGxhdGlvbnMoICkuCisgIC4uLgor
ICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICkuCisKKyAgQXZhaWxhYmxl
Q29sbGF0aW9ucyAoICkKKyAgICBUaGUgQXZhaWxhYmxlQ29sbGF0aW9ucyBhYnN0cmFjdCBvcGVy
YXRpb24gcmV0dXJucyBhIExpc3QsIG9yZGVyZWQgYXMgaWYgYW4KKyAgICBBcnJheSBvZiB0aGUg
c2FtZSB2YWx1ZXMgaGFkIGJlZW4gc29ydGVkIHVzaW5nICVBcnJheS5wcm90b3R5cGUuc29ydCUg
dXNpbmcKKyAgICB1bmRlZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0IGNvbnRhaW5zIHVuaXF1ZSBj
b2xsYXRpb24gdHlwZXMgaWRlbnRpZnlpbmcgdGhlCisgICAgY29sbGF0aW9ucyBmb3Igd2hpY2gg
dGhlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mCisgICAgSW50
bC5Db2xsYXRvciBvYmplY3RzLgoraW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanNdCitmZWF0dXJl
czogW0ludGwtZW51bWVyYXRpb24sIEludGwuTG9jYWxlXQorLS0tKi8KKworY29uc3QgY29sbGF0
aW9ucyA9IEludGwuc3VwcG9ydGVkVmFsdWVzT2YoImNvbGxhdGlvbiIpOworCithc3NlcnQoQXJy
YXkuaXNBcnJheShjb2xsYXRpb25zKSwgIlJldHVybnMgYW4gQXJyYXkgb2JqZWN0LiIpOworYXNz
ZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoY29sbGF0aW9ucyksIEFycmF5LnBy
b3RvdHlwZSwKKyAgICAgICAgICAgICAgICAgIlRoZSBhcnJheSBwcm90b3R5cGUgaXMgQXJyYXku
cHJvdG90eXBlIik7CisKK2NvbnN0IG90aGVyQ29sbGF0aW9ucyA9IEludGwuc3VwcG9ydGVkVmFs
dWVzT2YoImNvbGxhdGlvbiIpOworYXNzZXJ0Lm5vdFNhbWVWYWx1ZShvdGhlckNvbGxhdGlvbnMs
IGNvbGxhdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICJSZXR1cm5zIGEgbmV3IGFycmF5IG9i
amVjdCBmb3IgZWFjaCBjYWxsLiIpOworCithc3NlcnQuY29tcGFyZUFycmF5KGNvbGxhdGlvbnMs
IG90aGVyQ29sbGF0aW9ucy5zb3J0KCksCisgICAgICAgICAgICAgICAgICAgICJUaGUgYXJyYXkg
aXMgc29ydGVkLiIpOworCithc3NlcnQuc2FtZVZhbHVlKG5ldyBTZXQoY29sbGF0aW9ucykuc2l6
ZSwgY29sbGF0aW9ucy5sZW5ndGgsCisgICAgICAgICAgICAgICAgICJUaGUgYXJyYXkgZG9lc24n
dCBjb250YWluIGR1cGxpY2F0ZXMuIik7CisKKy8vIGh0dHBzOi8vdW5pY29kZS5vcmcvcmVwb3J0
cy90cjM1L3RyMzUuaHRtbCNVbmljb2RlX2xvY2FsZV9pZGVudGlmaWVyCitjb25zdCB0eXBlUkUg
PSAvXlthLXowLTldezMsOH0oLVthLXowLTldezMsOH0pKiQvOworZm9yIChsZXQgY29sbGF0aW9u
IG9mIGNvbGxhdGlvbnMpIHsKKyAgYXNzZXJ0KHR5cGVSRS50ZXN0KGNvbGxhdGlvbiksIGAke2Nv
bGxhdGlvbn0gbWF0Y2hlcyB0aGUgJ3R5cGUnIHByb2R1Y3Rpb25gKTsKK30KKworZm9yIChsZXQg
Y29sbGF0aW9uIG9mIGNvbGxhdGlvbnMpIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShuZXcgSW50bC5M
b2NhbGUoInVuZCIsIHtjb2xsYXRpb259KS5jb2xsYXRpb24sIGNvbGxhdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICBgJHtjb2xsYXRpb259IGlzIGNhbm9uaWNhbGlzZWRgKTsKK30KKworYXNzZXJ0
KCFjb2xsYXRpb25zLmluY2x1ZGVzKCJzdGFuZGFyZCIpLCAiTXVzdG4ndCBpbmNsdWRlIHRoZSAn
c3RhbmRhcmQnIGNvbGxhdGlvbiB0eXBlLiIpOworYXNzZXJ0KCFjb2xsYXRpb25zLmluY2x1ZGVz
KCJzZWFyY2giKSwgIk11c3RuJ3QgaW5jbHVkZSB0aGUgJ3NlYXJjaCcgY29sbGF0aW9uIHR5cGUu
Iik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9y
dGVkVmFsdWVzT2YvY3VycmVuY2llcy1hY2NlcHRlZC1ieS1EaXNwbGF5TmFtZXMuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY3VycmVuY2ll
cy1hY2NlcHRlZC1ieS1EaXNwbGF5TmFtZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE1NDVmNWE5OTljOWQx
MzVkYzhiZGY0M2JlN2MyNGJiN2ZhMGY1ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jdXJyZW5jaWVzLWFjY2Vw
dGVkLWJ5LURpc3BsYXlOYW1lcy5qcwpAQCAtMCwwICsxLDUxIEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjEgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtaW50bC5zdXBwb3J0ZWR2YWx1ZXNvZgorZGVzY3JpcHRpb246
ID4KKyAgVGhlIHJldHVybmVkICJjdXJyZW5jeSIgdmFsdWVzIGNhbiBiZSB1c2VkIHdpdGggRGlz
cGxheU5hbWVzLgoraW5mbzogfAorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkKKwor
ICAxLiBMZXQga2V5IGJlID8gVG9TdHJpbmcoa2V5KS4KKyAgLi4uCisgIDQuIEVsc2UgaWYga2V5
IGlzICJjdXJyZW5jeSIsIHRoZW4KKyAgICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJsZUN1cnJl
bmNpZXMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0
ICkuCisKKyAgQXZhaWxhYmxlQ3VycmVuY2llcyAoICkKKyAgICBUaGUgQXZhaWxhYmxlQ3VycmVu
Y2llcyBhYnN0cmFjdCBvcGVyYXRpb24gcmV0dXJucyBhIExpc3QsIG9yZGVyZWQgYXMgaWYgYW4K
KyAgICBBcnJheSBvZiB0aGUgc2FtZSB2YWx1ZXMgaGFkIGJlZW4gc29ydGVkIHVzaW5nICVBcnJh
eS5wcm90b3R5cGUuc29ydCUgdXNpbmcKKyAgICB1bmRlZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0
IGNvbnRhaW5zIHVuaXF1ZSwgd2VsbC1mb3JtZWQsIGFuZCB1cHBlciBjYXNlCisgICAgY2Fub25p
Y2FsaXplZCAzLWxldHRlciBJU08gNDIxNyBjdXJyZW5jeSBjb2RlcywgaWRlbnRpZnlpbmcgdGhl
IGN1cnJlbmNpZXMKKyAgICBmb3Igd2hpY2ggdGhlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIHRo
ZSBmdW5jdGlvbmFsaXR5IG9mIEludGwuRGlzcGxheU5hbWVzCisgICAgYW5kIEludGwuTnVtYmVy
Rm9ybWF0IG9iamVjdHMuCitsb2NhbGU6IFtlbl0KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlv
biwgSW50bC5EaXNwbGF5TmFtZXNdCistLS0qLworCitjb25zdCBjdXJyZW5jaWVzID0gSW50bC5z
dXBwb3J0ZWRWYWx1ZXNPZigiY3VycmVuY3kiKTsKKworY29uc3Qgb2JqID0gbmV3IEludGwuRGlz
cGxheU5hbWVzKCJlbiIsIHt0eXBlOiAiY3VycmVuY3kiLCBmYWxsYmFjazogIm5vbmUifSk7CisK
K2ZvciAobGV0IGN1cnJlbmN5IG9mIGN1cnJlbmNpZXMpIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2Ygb2JqLm9mKGN1cnJlbmN5KSwgInN0cmluZyIsCisgICAgICAgICAgICAgICAgICAgYCR7
Y3VycmVuY3l9IGlzIHN1cHBvcnRlZCBieSBEaXNwbGF5TmFtZXNgKTsKK30KKworZm9yIChsZXQg
aSA9IDB4NDE7IGkgPD0gMHg1QTsgKytpKSB7CisgIGZvciAobGV0IGogPSAweDQxOyBqIDw9IDB4
NUE7ICsraikgeworICAgIGZvciAobGV0IGsgPSAweDQxOyBrIDw9IDB4NUE7ICsraykgeworICAg
ICAgbGV0IGN1cnJlbmN5ID0gU3RyaW5nLmZyb21DaGFyQ29kZShpLCBqLCBrKTsKKyAgICAgIGlm
ICh0eXBlb2Ygb2JqLm9mKGN1cnJlbmN5KSA9PT0gInN0cmluZyIpIHsKKyAgICAgICAgYXNzZXJ0
KGN1cnJlbmNpZXMuaW5jbHVkZXMoY3VycmVuY3kpLAorICAgICAgICAgICAgICAgYCR7Y3VycmVu
Y3l9IHN1cHBvcnRlZCBidXQgbm90IHJldHVybmVkIGJ5IHN1cHBvcnRlZFZhbHVlc09mYCk7Cisg
ICAgICB9IGVsc2UgeworICAgICAgICBhc3NlcnQoIWN1cnJlbmNpZXMuaW5jbHVkZXMoY3VycmVu
Y3kpLAorICAgICAgICAgICAgICAgYCR7Y3VycmVuY3l9IG5vdCBzdXBwb3J0ZWQgYnV0IHJldHVy
bmVkIGJ5IHN1cHBvcnRlZFZhbHVlc09mYCk7CisgICAgICB9CisgICAgfQorICB9Cit9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVz
T2YvY3VycmVuY2llcy1hY2NlcHRlZC1ieS1OdW1iZXJGb3JtYXQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvY3VycmVuY2llcy1hY2NlcHRl
ZC1ieS1OdW1iZXJGb3JtYXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM0NmNmZWJiZTdiNDI0YmUxMTcwMWQw
NzgyYTg4ZmZkYTk0M2FmNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9jdXJyZW5jaWVzLWFjY2VwdGVkLWJ5LU51
bWJlckZvcm1hdC5qcwpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgQW5k
csOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtaW50bC5zdXBwb3J0ZWR2YWx1ZXNvZgorZGVzY3JpcHRpb246ID4KKyAgVGhl
IHJldHVybmVkICJjdXJyZW5jeSIgdmFsdWVzIGNhbiBiZSB1c2VkIHdpdGggTnVtYmVyRm9ybWF0
LgoraW5mbzogfAorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkKKworICAxLiBMZXQg
a2V5IGJlID8gVG9TdHJpbmcoa2V5KS4KKyAgLi4uCisgIDQuIEVsc2UgaWYga2V5IGlzICJjdXJy
ZW5jeSIsIHRoZW4KKyAgICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJsZUN1cnJlbmNpZXMoICku
CisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICkuCisKKyAg
QXZhaWxhYmxlQ3VycmVuY2llcyAoICkKKyAgICBUaGUgQXZhaWxhYmxlQ3VycmVuY2llcyBhYnN0
cmFjdCBvcGVyYXRpb24gcmV0dXJucyBhIExpc3QsIG9yZGVyZWQgYXMgaWYgYW4KKyAgICBBcnJh
eSBvZiB0aGUgc2FtZSB2YWx1ZXMgaGFkIGJlZW4gc29ydGVkIHVzaW5nICVBcnJheS5wcm90b3R5
cGUuc29ydCUgdXNpbmcKKyAgICB1bmRlZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0IGNvbnRhaW5z
IHVuaXF1ZSwgd2VsbC1mb3JtZWQsIGFuZCB1cHBlciBjYXNlCisgICAgY2Fub25pY2FsaXplZCAz
LWxldHRlciBJU08gNDIxNyBjdXJyZW5jeSBjb2RlcywgaWRlbnRpZnlpbmcgdGhlIGN1cnJlbmNp
ZXMKKyAgICBmb3Igd2hpY2ggdGhlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIHRoZSBmdW5jdGlv
bmFsaXR5IG9mIEludGwuRGlzcGxheU5hbWVzCisgICAgYW5kIEludGwuTnVtYmVyRm9ybWF0IG9i
amVjdHMuCitsb2NhbGU6IFtlbl0KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0tLSov
CisKK2NvbnN0IGN1cnJlbmNpZXMgPSBJbnRsLnN1cHBvcnRlZFZhbHVlc09mKCJjdXJyZW5jeSIp
OworCitmb3IgKGxldCBjdXJyZW5jeSBvZiBjdXJyZW5jaWVzKSB7CisgIGxldCBvYmogPSBuZXcg
SW50bC5OdW1iZXJGb3JtYXQoImVuIiwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeX0pOwor
ICBhc3NlcnQuc2FtZVZhbHVlKG9iai5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeSwgY3VycmVu
Y3ksCisgICAgICAgICAgICAgICAgICAgYCR7Y3VycmVuY3l9IGlzIHN1cHBvcnRlZCBieSBOdW1i
ZXJGb3JtYXRgKTsKK30KKworLy8gTm90ZTogV2UgY2FuJ3QgdGVzdCB0aGF0IGFkZGl0aW9uYWwg
Y3VycmVuY3kgdmFsdWVzIG5vdCBwcmVzZW50IGluIHxjdXJyZW5jaWVzfAorLy8gYXJlbid0IHN1
cHBvcnRlZCBieSBJbnRsLk51bWJlckZvcm1hdCwgYmVjYXVzZSBQYXJ0aXRpb25OdW1iZXJQYXR0
ZXJuIGRlZmF1bHRzCisvLyB0byB1c2luZyB0aGUgY3VycmVuY3kgY29kZSBpdHNlbGYgd2hlbiB0
aGUgY3VycmVuY3kgaXMgdW5zdXBwb3J0ZWQ6CisvLworLy8gUGFydGl0aW9uTnVtYmVyUGF0dGVy
biwgc3RlcCA4LmsuaWlpOgorLy8gTGV0IGNkIGJlIGFuIElMRCBTdHJpbmcgdmFsdWUgcmVwcmVz
ZW50aW5nIGN1cnJlbmN5IGFmdGVyIHggaW4gY3VycmVuY3lEaXNwbGF5IGZvcm0sCisvLyB3aGlj
aCBtYXkgZGVwZW5kIG9uIHggaW4gbGFuZ3VhZ2VzIGhhdmluZyBkaWZmZXJlbnQgcGx1cmFsIGZv
cm1zLiBJZiB0aGUKKy8vIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGhhdmUgc3VjaCBhIHJlcHJl
c2VudGF0aW9uIG9mIGN1cnJlbmN5LCB1c2UgY3VycmVuY3kgaXRzZWxmLgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2N1cnJl
bmNpZXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFs
dWVzT2YvY3VycmVuY2llcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45M2FiYzAwZDk5NGZkNDY5Zjk3ZjBiN2Vk
ZDY0MGRiODY0ODQ3YjM2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
aW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL2N1cnJlbmNpZXMuanMKQEAgLTAsMCArMSw0
OCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWludGwuc3VwcG9ydGVk
dmFsdWVzb2YKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSByZXR1cm5lZCAiY3VycmVuY3kiIHZhbHVl
cyBhcmUgc29ydGVkLCB1bmlxdWUsIGFuZCB1cHBlci1jYXNlIGNhbm9uaWNhbGlzZWQuCitpbmZv
OiB8CisgIEludGwuc3VwcG9ydGVkVmFsdWVzT2YgKCBrZXkgKQorCisgIDEuIExldCBrZXkgYmUg
PyBUb1N0cmluZyhrZXkpLgorICAuLi4KKyAgNC4gRWxzZSBpZiBrZXkgaXMgImN1cnJlbmN5Iiwg
dGhlbgorICAgIGEuIExldCBsaXN0IGJlICEgQXZhaWxhYmxlQ3VycmVuY2llcyggKS4KKyAgLi4u
CisgIDkuIFJldHVybiAhIENyZWF0ZUFycmF5RnJvbUxpc3QoIGxpc3QgKS4KKworICBBdmFpbGFi
bGVDdXJyZW5jaWVzICggKQorICAgIFRoZSBBdmFpbGFibGVDdXJyZW5jaWVzIGFic3RyYWN0IG9w
ZXJhdGlvbiByZXR1cm5zIGEgTGlzdCwgb3JkZXJlZCBhcyBpZiBhbgorICAgIEFycmF5IG9mIHRo
ZSBzYW1lIHZhbHVlcyBoYWQgYmVlbiBzb3J0ZWQgdXNpbmcgJUFycmF5LnByb3RvdHlwZS5zb3J0
JSB1c2luZworICAgIHVuZGVmaW5lZCBhcyBjb21wYXJlZm4sIHRoYXQgY29udGFpbnMgdW5pcXVl
LCB3ZWxsLWZvcm1lZCwgYW5kIHVwcGVyIGNhc2UKKyAgICBjYW5vbmljYWxpemVkIDMtbGV0dGVy
IElTTyA0MjE3IGN1cnJlbmN5IGNvZGVzLCBpZGVudGlmeWluZyB0aGUgY3VycmVuY2llcworICAg
IGZvciB3aGljaCB0aGUgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YgSW50bC5EaXNwbGF5TmFtZXMKKyAgICBhbmQgSW50bC5OdW1iZXJGb3JtYXQgb2JqZWN0cy4K
K2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzXQorZmVhdHVyZXM6IFtJbnRsLWVudW1lcmF0aW9u
XQorLS0tKi8KKworY29uc3QgY3VycmVuY2llcyA9IEludGwuc3VwcG9ydGVkVmFsdWVzT2YoImN1
cnJlbmN5Iik7CisKK2Fzc2VydChBcnJheS5pc0FycmF5KGN1cnJlbmNpZXMpLCAiUmV0dXJucyBh
biBBcnJheSBvYmplY3QuIik7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihjdXJyZW5jaWVzKSwgQXJyYXkucHJvdG90eXBlLAorICAgICAgICAgICAgICAgICAiVGhlIGFy
cmF5IHByb3RvdHlwZSBpcyBBcnJheS5wcm90b3R5cGUiKTsKKworY29uc3Qgb3RoZXJDdXJyZW5j
aWVzID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigiY3VycmVuY3kiKTsKK2Fzc2VydC5ub3RTYW1l
VmFsdWUob3RoZXJDdXJyZW5jaWVzLCBjdXJyZW5jaWVzLAorICAgICAgICAgICAgICAgICAgICAi
UmV0dXJucyBhIG5ldyBhcnJheSBvYmplY3QgZm9yIGVhY2ggY2FsbC4iKTsKKworYXNzZXJ0LmNv
bXBhcmVBcnJheShjdXJyZW5jaWVzLCBvdGhlckN1cnJlbmNpZXMuc29ydCgpLAorICAgICAgICAg
ICAgICAgICAgICAiVGhlIGFycmF5IGlzIHNvcnRlZC4iKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShu
ZXcgU2V0KGN1cnJlbmNpZXMpLnNpemUsIGN1cnJlbmNpZXMubGVuZ3RoLAorICAgICAgICAgICAg
ICAgICAiVGhlIGFycmF5IGRvZXNuJ3QgY29udGFpbiBkdXBsaWNhdGVzLiIpOworCitjb25zdCBj
b2RlUkUgPSAvXltBLVpdezN9JC87Citmb3IgKGxldCBjdXJyZW5jeSBvZiBjdXJyZW5jaWVzKSB7
CisgIGFzc2VydChjb2RlUkUudGVzdChjdXJyZW5jeSksIGAke2N1cnJlbmN5fSBpcyBhIDMtbGV0
dGVyIElTTyA0MjE3IGN1cnJlbmN5IGNvZGVgKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9pbnZhbGlkLWtleS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9pbnZh
bGlkLWtleS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMmEyNjc5NjMxMjgwOGM1YWI5OWNiNTk1MTNmZGU1MzJj
NzNlNWU2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9J
bnRsL3N1cHBvcnRlZFZhbHVlc09mL2ludmFsaWQta2V5LmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29m
CitkZXNjcmlwdGlvbjogPgorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mIHRocm93cyBhIFJhbmdl
RXJyb3IgaWYgdGhlIGtleSBpcyBpbnZhbGlkLgoraW5mbzogfAorICBJbnRsLnN1cHBvcnRlZFZh
bHVlc09mICgga2V5ICkKKworICAxLiBMZXQga2V5IGJlID8gVG9TdHJpbmcoa2V5KS4KKyAgLi4u
CisgIDguIEVsc2UsCisgICAgYS4gVGhyb3cgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitmZWF0dXJlczogW0ludGwtZW51bWVyYXRpb25dCistLS0qLworCitjb25zdCBpbnZhbGlkS2V5
cyA9IFsKKyAgLy8gRW1wdHkgc3RyaW5nIGlzIGludmFsaWQuCisgICIiLAorCisgIC8vIFZhcmlv
dXMgdW5zdXBwb3J0ZWQga2V5cy4KKyAgImhvdXJDeWNsZSIsICJsb2NhbGUiLCAibGFuZ3VhZ2Ui
LCAic2NyaXB0IiwgInJlZ2lvbiIsCisKKyAgLy8gUGx1cmFsIGZvcm0gb2Ygc3VwcG9ydGVkIGtl
eXMgbm90IHZhbGlkLgorICAiY2FsZW5kYXJzIiwgImNvbGxhdGlvbnMiLCAiY3VycmVuY2llcyIs
ICJudW1iZXJpbmdTeXN0ZW1zIiwgInRpbWVab25lcyIsICJ1bml0cyIsCisKKyAgLy8gV3Jvbmcg
Y2FzZSBmb3Igc3VwcG9ydGVkIGtleXMuCisgICJDQUxFTkRBUiIsICJDb2xsYXRpb24iLCAiQ3Vy
cmVuY3kiLCAibnVtYmVyaW5nc3lzdGVtIiwgInRpbWV6b25lIiwgIlVOSVQiLAorCisgIC8vIE5V
TCBjaGFyYWN0ZXIgbXVzdCBiZSBoYW5kbGVkIGNvcnJlY3RseS4KKyAgImNhbGVuZGFyXDAiLAor
CisgIC8vIE5vbi1zdHJpbmcgY2FzZXMuCisgIHVuZGVmaW5lZCwgbnVsbCwgZmFsc2UsIHRydWUs
IE5hTiwgMCwgTWF0aC5QSSwgMTIzbiwge30sIFtdLAorXTsKKworZm9yIChsZXQga2V5IG9mIGlu
dmFsaWRLZXlzKSB7CisgIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZihrZXkpOworICB9LCAia2V5OiAiICsga2V5KTsKK30K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRW
YWx1ZXNPZi9sZW5ndGguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3Vw
cG9ydGVkVmFsdWVzT2YvbGVuZ3RoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5MGJhMTYzYWM1NTRlNGFkZDhi
MWNhZGJiMTAwYzMzNWIyNmM2NjkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvbGVuZ3RoLmpzCkBAIC0wLDAgKzEs
MzAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRl
ZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mLmxlbmd0
aCB2YWx1ZSBhbmQgZGVzY3JpcHRvci4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNP
ZiAoIGtleSApCisKKyAgMTggRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzOgor
ICAgIEV2ZXJ5IGJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9y
cywgaGFzIGEgImxlbmd0aCIKKyAgICBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhIG5vbi1uZWdh
dGl2ZSBpbnRlZ3JhbCBOdW1iZXIuIFVubGVzcyBvdGhlcndpc2UKKyAgICBzcGVjaWZpZWQsIHRo
aXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIG51bWJlciBvZiByZXF1aXJlZCBwYXJhbWV0ZXJzIHNo
b3duIGluCisgICAgdGhlIHN1YmNsYXVzZSBoZWFkaW5nIGZvciB0aGUgZnVuY3Rpb24gZGVzY3Jp
cHRpb24uIE9wdGlvbmFsIHBhcmFtZXRlcnMgYW5kCisgICAgcmVzdCBwYXJhbWV0ZXJzIGFyZSBu
b3QgaW5jbHVkZWQgaW4gdGhlIHBhcmFtZXRlciBjb3VudC4KKworICAgIFVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkLCB0aGUgImxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlv
bgorICAgIG9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBb
W0VudW1lcmFibGVdXTogZmFsc2UsCisgICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgoraW5j
bHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0K
Ky0tLSovCisKK3ZlcmlmeVByb3BlcnR5KEludGwuc3VwcG9ydGVkVmFsdWVzT2YsICJsZW5ndGgi
LCB7CisgIHZhbHVlOiAxLAorICB3cml0YWJsZTogZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNl
LAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9uYW1lLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL25hbWUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmU5MGE5NGEwOTk5MzBkMTgwYTFhZDVlOGJkMzJmY2FkZDU4M2VjMwotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1
ZXNPZi9uYW1lLmpzCkBAIC0wLDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRy
w6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBJbnRs
LnN1cHBvcnRlZFZhbHVlc09mLm5hbWUgdmFsdWUgYW5kIGRlc2NyaXB0b3IuCitpbmZvOiB8Cisg
IEludGwuc3VwcG9ydGVkVmFsdWVzT2YgKCBrZXkgKQorCisgIDE4IEVDTUFTY3JpcHQgU3RhbmRh
cmQgQnVpbHQtaW4gT2JqZWN0czoKKyAgICBFdmVyeSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3Qs
IGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIGhhcyBhICJuYW1lIgorICAgIHByb3BlcnR5IHdob3Nl
IHZhbHVlIGlzIGEgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1
ZSBpcworICAgIHRoZSBuYW1lIHRoYXQgaXMgZ2l2ZW4gdG8gdGhlIGZ1bmN0aW9uIGluIHRoaXMg
c3BlY2lmaWNhdGlvbi4gRnVuY3Rpb25zIHRoYXQKKyAgICBhcmUgaWRlbnRpZmllZCBhcyBhbm9u
eW1vdXMgZnVuY3Rpb25zIHVzZSB0aGUgZW1wdHkgU3RyaW5nIGFzIHRoZSB2YWx1ZSBvZgorICAg
IHRoZSAibmFtZSIgcHJvcGVydHkuIEZvciBmdW5jdGlvbnMgdGhhdCBhcmUgc3BlY2lmaWVkIGFz
IHByb3BlcnRpZXMgb2YKKyAgICBvYmplY3RzLCB0aGUgbmFtZSB2YWx1ZSBpcyB0aGUgcHJvcGVy
dHkgbmFtZSBzdHJpbmcgdXNlZCB0byBhY2Nlc3MgdGhlCisgICAgZnVuY3Rpb24uCisKKyAgICBV
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlICJuYW1lIiBwcm9wZXJ0eSBvZiBhIGJ1aWx0
LWluIGZ1bmN0aW9uIG9iamVjdAorICAgIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVd
XTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwKKyAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlIH0uCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVhdHVyZXM6IFtJbnRsLWVu
dW1lcmF0aW9uXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoSW50bC5zdXBwb3J0ZWRWYWx1ZXNP
ZiwgIm5hbWUiLCB7CisgIHZhbHVlOiAic3VwcG9ydGVkVmFsdWVzT2YiLAorICB3cml0YWJsZTog
ZmFsc2UsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRW
YWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LURhdGVUaW1lRm9ybWF0LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL251bWJl
cmluZ1N5c3RlbXMtYWNjZXB0ZWQtYnktRGF0ZVRpbWVGb3JtYXQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJj
ZGNiNWRhODlhYjExMzZmNTk4MjUwNjNlNDFmZjM4ODY4ODBkYgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1i
ZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LURhdGVUaW1lRm9ybWF0LmpzCkBAIC0wLDAgKzEsNDgg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZh
bHVlc29mCitkZXNjcmlwdGlvbjogPgorICBUaGUgcmV0dXJuZWQgIm51bWJlcmluZ1N5c3RlbSIg
dmFsdWVzIGNhbiBiZSB1c2VkIHdpdGggRGF0ZVRpbWVGb3JtYXQuCitpbmZvOiB8CisgIEludGwu
c3VwcG9ydGVkVmFsdWVzT2YgKCBrZXkgKQorCisgIDEuIExldCBrZXkgYmUgPyBUb1N0cmluZyhr
ZXkpLgorICAuLi4KKyAgNS4gRWxzZSBpZiBrZXkgaXMgIm51bWJlcmluZ1N5c3RlbSIsIHRoZW4K
KyAgICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJsZU51bWJlcmluZ1N5c3RlbXMoICkuCisgIC4u
LgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICkuCisKKyAgQXZhaWxh
YmxlTnVtYmVyaW5nU3lzdGVtcyAoICkKKyAgICBUaGUgQXZhaWxhYmxlTnVtYmVyaW5nU3lzdGVt
cyBhYnN0cmFjdCBvcGVyYXRpb24gcmV0dXJucyBhIExpc3QsIG9yZGVyZWQgYXMKKyAgICBpZiBh
biBBcnJheSBvZiB0aGUgc2FtZSB2YWx1ZXMgaGFkIGJlZW4gc29ydGVkIHVzaW5nICVBcnJheS5w
cm90b3R5cGUuc29ydCUKKyAgICB1c2luZyB1bmRlZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0IGNv
bnRhaW5zIHVuaXF1ZSBudW1iZXJpbmcgc3lzdGVtcworICAgIGlkZW50aWZpZXJzIGlkZW50aWZ5
aW5nIHRoZSBudW1iZXJpbmcgc3lzdGVtcyBmb3Igd2hpY2ggdGhlIGltcGxlbWVudGF0aW9uCisg
ICAgcHJvdmlkZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgSW50bC5EYXRlVGltZUZvcm1hdCwgSW50
bC5OdW1iZXJGb3JtYXQsIGFuZAorICAgIEludGwuUmVsYXRpdmVUaW1lRm9ybWF0IG9iamVjdHMu
IFRoZSBsaXN0IG11c3QgaW5jbHVkZSB0aGUgTnVtYmVyaW5nIFN5c3RlbQorICAgIHZhbHVlIG9m
IGV2ZXJ5IHJvdyBvZiBUYWJsZSA0LCBleGNlcHQgdGhlIGhlYWRlciByb3cuCitpbmNsdWRlczog
W3Rlc3RJbnRsLmpzXQorbG9jYWxlOiBbZW5dCitmZWF0dXJlczogW0ludGwtZW51bWVyYXRpb25d
CistLS0qLworCitjb25zdCBudW1iZXJpbmdTeXN0ZW1zID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNP
ZigibnVtYmVyaW5nU3lzdGVtIik7CisKK2ZvciAobGV0IG51bWJlcmluZ1N5c3RlbSBvZiBudW1i
ZXJpbmdTeXN0ZW1zKSB7CisgIGxldCBvYmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4i
LCB7bnVtYmVyaW5nU3lzdGVtfSk7CisgIGFzc2VydC5zYW1lVmFsdWUob2JqLnJlc29sdmVkT3B0
aW9ucygpLm51bWJlcmluZ1N5c3RlbSwgbnVtYmVyaW5nU3lzdGVtLAorICAgICAgICAgICAgICAg
ICAgIGAke251bWJlcmluZ1N5c3RlbX0gaXMgc3VwcG9ydGVkIGJ5IERhdGVUaW1lRm9ybWF0YCk7
Cit9CisKK2ZvciAobGV0IG51bWJlcmluZ1N5c3RlbSBvZiBhbGxOdW1iZXJpbmdTeXN0ZW1zKCkp
IHsKKyAgbGV0IG9iaiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbiIsIHtudW1iZXJpbmdT
eXN0ZW19KTsKKyAgaWYgKG9iai5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW0gPT09
IG51bWJlcmluZ1N5c3RlbSkgeworICAgIGFzc2VydChudW1iZXJpbmdTeXN0ZW1zLmluY2x1ZGVz
KG51bWJlcmluZ1N5c3RlbSksCisgICAgICAgICAgIGAke251bWJlcmluZ1N5c3RlbX0gc3VwcG9y
dGVkIGJ1dCBub3QgcmV0dXJuZWQgYnkgc3VwcG9ydGVkVmFsdWVzT2ZgKTsKKyAgfSBlbHNlIHsK
KyAgICBhc3NlcnQoIW51bWJlcmluZ1N5c3RlbXMuaW5jbHVkZXMobnVtYmVyaW5nU3lzdGVtKSwK
KyAgICAgICAgICAgYCR7bnVtYmVyaW5nU3lzdGVtfSBub3Qgc3VwcG9ydGVkIGJ1dCByZXR1cm5l
ZCBieSBzdXBwb3J0ZWRWYWx1ZXNPZmApOworICB9Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvbnVtYmVyaW5nU3lzdGVt
cy1hY2NlcHRlZC1ieS1OdW1iZXJGb3JtYXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvbnVtYmVyaW5nU3lzdGVtcy1hY2NlcHRlZC1ieS1O
dW1iZXJGb3JtYXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTliMzY5NDJmNTBkNjlhZmYyOWI5NTM3OWZiZjE5
NWQyZmVjMTZmYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0
MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LU51
bWJlckZvcm1hdC5qcwpAQCAtMCwwICsxLDQ4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgQW5k
csOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtaW50bC5zdXBwb3J0ZWR2YWx1ZXNvZgorZGVzY3JpcHRpb246ID4KKyAgVGhl
IHJldHVybmVkICJudW1iZXJpbmdTeXN0ZW0iIHZhbHVlcyBjYW4gYmUgdXNlZCB3aXRoIE51bWJl
ckZvcm1hdC4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiAoIGtleSApCisKKyAg
MS4gTGV0IGtleSBiZSA/IFRvU3RyaW5nKGtleSkuCisgIC4uLgorICA1LiBFbHNlIGlmIGtleSBp
cyAibnVtYmVyaW5nU3lzdGVtIiwgdGhlbgorICAgIGEuIExldCBsaXN0IGJlICEgQXZhaWxhYmxl
TnVtYmVyaW5nU3lzdGVtcyggKS4KKyAgLi4uCisgIDkuIFJldHVybiAhIENyZWF0ZUFycmF5RnJv
bUxpc3QoIGxpc3QgKS4KKworICBBdmFpbGFibGVOdW1iZXJpbmdTeXN0ZW1zICggKQorICAgIFRo
ZSBBdmFpbGFibGVOdW1iZXJpbmdTeXN0ZW1zIGFic3RyYWN0IG9wZXJhdGlvbiByZXR1cm5zIGEg
TGlzdCwgb3JkZXJlZCBhcworICAgIGlmIGFuIEFycmF5IG9mIHRoZSBzYW1lIHZhbHVlcyBoYWQg
YmVlbiBzb3J0ZWQgdXNpbmcgJUFycmF5LnByb3RvdHlwZS5zb3J0JQorICAgIHVzaW5nIHVuZGVm
aW5lZCBhcyBjb21wYXJlZm4sIHRoYXQgY29udGFpbnMgdW5pcXVlIG51bWJlcmluZyBzeXN0ZW1z
CisgICAgaWRlbnRpZmllcnMgaWRlbnRpZnlpbmcgdGhlIG51bWJlcmluZyBzeXN0ZW1zIGZvciB3
aGljaCB0aGUgaW1wbGVtZW50YXRpb24KKyAgICBwcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSBv
ZiBJbnRsLkRhdGVUaW1lRm9ybWF0LCBJbnRsLk51bWJlckZvcm1hdCwgYW5kCisgICAgSW50bC5S
ZWxhdGl2ZVRpbWVGb3JtYXQgb2JqZWN0cy4gVGhlIGxpc3QgbXVzdCBpbmNsdWRlIHRoZSBOdW1i
ZXJpbmcgU3lzdGVtCisgICAgdmFsdWUgb2YgZXZlcnkgcm93IG9mIFRhYmxlIDQsIGV4Y2VwdCB0
aGUgaGVhZGVyIHJvdy4KK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCitsb2NhbGU6IFtlbl0KK2Zl
YXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0tLSovCisKK2NvbnN0IG51bWJlcmluZ1N5c3Rl
bXMgPSBJbnRsLnN1cHBvcnRlZFZhbHVlc09mKCJudW1iZXJpbmdTeXN0ZW0iKTsKKworZm9yIChs
ZXQgbnVtYmVyaW5nU3lzdGVtIG9mIG51bWJlcmluZ1N5c3RlbXMpIHsKKyAgbGV0IG9iaiA9IG5l
dyBJbnRsLk51bWJlckZvcm1hdCgiZW4iLCB7bnVtYmVyaW5nU3lzdGVtfSk7CisgIGFzc2VydC5z
YW1lVmFsdWUob2JqLnJlc29sdmVkT3B0aW9ucygpLm51bWJlcmluZ1N5c3RlbSwgbnVtYmVyaW5n
U3lzdGVtLAorICAgICAgICAgICAgICAgICAgIGAke251bWJlcmluZ1N5c3RlbX0gaXMgc3VwcG9y
dGVkIGJ5IE51bWJlckZvcm1hdGApOworfQorCitmb3IgKGxldCBudW1iZXJpbmdTeXN0ZW0gb2Yg
YWxsTnVtYmVyaW5nU3lzdGVtcygpKSB7CisgIGxldCBvYmogPSBuZXcgSW50bC5OdW1iZXJGb3Jt
YXQoImVuIiwge251bWJlcmluZ1N5c3RlbX0pOworICBpZiAob2JqLnJlc29sdmVkT3B0aW9ucygp
Lm51bWJlcmluZ1N5c3RlbSA9PT0gbnVtYmVyaW5nU3lzdGVtKSB7CisgICAgYXNzZXJ0KG51bWJl
cmluZ1N5c3RlbXMuaW5jbHVkZXMobnVtYmVyaW5nU3lzdGVtKSwKKyAgICAgICAgICAgYCR7bnVt
YmVyaW5nU3lzdGVtfSBzdXBwb3J0ZWQgYnV0IG5vdCByZXR1cm5lZCBieSBzdXBwb3J0ZWRWYWx1
ZXNPZmApOworICB9IGVsc2UgeworICAgIGFzc2VydCghbnVtYmVyaW5nU3lzdGVtcy5pbmNsdWRl
cyhudW1iZXJpbmdTeXN0ZW0pLAorICAgICAgICAgICBgJHtudW1iZXJpbmdTeXN0ZW19IG5vdCBz
dXBwb3J0ZWQgYnV0IHJldHVybmVkIGJ5IHN1cHBvcnRlZFZhbHVlc09mYCk7CisgIH0KK30KZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1
ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LVJlbGF0aXZlVGltZUZvcm1hdC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1i
ZXJpbmdTeXN0ZW1zLWFjY2VwdGVkLWJ5LVJlbGF0aXZlVGltZUZvcm1hdC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lYzgyZjhiNmI4ZGU0NmMxM2M0MDI5M2YwNTlkNzdiNzhjMjY1YWVkCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09m
L251bWJlcmluZ1N5c3RlbXMtYWNjZXB0ZWQtYnktUmVsYXRpdmVUaW1lRm9ybWF0LmpzCkBAIC0w
LDAgKzEsNDggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1
cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBUaGUgcmV0dXJuZWQgIm51bWJlcmlu
Z1N5c3RlbSIgdmFsdWVzIGNhbiBiZSB1c2VkIHdpdGggUmVsYXRpdmVUaW1lRm9ybWF0LgoraW5m
bzogfAorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkKKworICAxLiBMZXQga2V5IGJl
ID8gVG9TdHJpbmcoa2V5KS4KKyAgLi4uCisgIDUuIEVsc2UgaWYga2V5IGlzICJudW1iZXJpbmdT
eXN0ZW0iLCB0aGVuCisgICAgYS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVOdW1iZXJpbmdTeXN0
ZW1zKCApLgorICAuLi4KKyAgOS4gUmV0dXJuICEgQ3JlYXRlQXJyYXlGcm9tTGlzdCggbGlzdCAp
LgorCisgIEF2YWlsYWJsZU51bWJlcmluZ1N5c3RlbXMgKCApCisgICAgVGhlIEF2YWlsYWJsZU51
bWJlcmluZ1N5c3RlbXMgYWJzdHJhY3Qgb3BlcmF0aW9uIHJldHVybnMgYSBMaXN0LCBvcmRlcmVk
IGFzCisgICAgaWYgYW4gQXJyYXkgb2YgdGhlIHNhbWUgdmFsdWVzIGhhZCBiZWVuIHNvcnRlZCB1
c2luZyAlQXJyYXkucHJvdG90eXBlLnNvcnQlCisgICAgdXNpbmcgdW5kZWZpbmVkIGFzIGNvbXBh
cmVmbiwgdGhhdCBjb250YWlucyB1bmlxdWUgbnVtYmVyaW5nIHN5c3RlbXMKKyAgICBpZGVudGlm
aWVycyBpZGVudGlmeWluZyB0aGUgbnVtYmVyaW5nIHN5c3RlbXMgZm9yIHdoaWNoIHRoZSBpbXBs
ZW1lbnRhdGlvbgorICAgIHByb3ZpZGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEludGwuRGF0ZVRp
bWVGb3JtYXQsIEludGwuTnVtYmVyRm9ybWF0LCBhbmQKKyAgICBJbnRsLlJlbGF0aXZlVGltZUZv
cm1hdCBvYmplY3RzLiBUaGUgbGlzdCBtdXN0IGluY2x1ZGUgdGhlIE51bWJlcmluZyBTeXN0ZW0K
KyAgICB2YWx1ZSBvZiBldmVyeSByb3cgb2YgVGFibGUgNCwgZXhjZXB0IHRoZSBoZWFkZXIgcm93
LgoraW5jbHVkZXM6IFt0ZXN0SW50bC5qc10KK2xvY2FsZTogW2VuXQorZmVhdHVyZXM6IFtJbnRs
LWVudW1lcmF0aW9uLCBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdF0KKy0tLSovCisKK2NvbnN0IG51
bWJlcmluZ1N5c3RlbXMgPSBJbnRsLnN1cHBvcnRlZFZhbHVlc09mKCJudW1iZXJpbmdTeXN0ZW0i
KTsKKworZm9yIChsZXQgbnVtYmVyaW5nU3lzdGVtIG9mIG51bWJlcmluZ1N5c3RlbXMpIHsKKyAg
bGV0IG9iaiA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdCgiZW4iLCB7bnVtYmVyaW5nU3lz
dGVtfSk7CisgIGFzc2VydC5zYW1lVmFsdWUob2JqLnJlc29sdmVkT3B0aW9ucygpLm51bWJlcmlu
Z1N5c3RlbSwgbnVtYmVyaW5nU3lzdGVtLAorICAgICAgICAgICAgICAgICAgIGAke251bWJlcmlu
Z1N5c3RlbX0gaXMgc3VwcG9ydGVkIGJ5IFJlbGF0aXZlVGltZUZvcm1hdGApOworfQorCitmb3Ig
KGxldCBudW1iZXJpbmdTeXN0ZW0gb2YgYWxsTnVtYmVyaW5nU3lzdGVtcygpKSB7CisgIGxldCBv
YmogPSBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoImVuIiwge251bWJlcmluZ1N5c3RlbX0p
OworICBpZiAob2JqLnJlc29sdmVkT3B0aW9ucygpLm51bWJlcmluZ1N5c3RlbSA9PT0gbnVtYmVy
aW5nU3lzdGVtKSB7CisgICAgYXNzZXJ0KG51bWJlcmluZ1N5c3RlbXMuaW5jbHVkZXMobnVtYmVy
aW5nU3lzdGVtKSwKKyAgICAgICAgICAgYCR7bnVtYmVyaW5nU3lzdGVtfSBzdXBwb3J0ZWQgYnV0
IG5vdCByZXR1cm5lZCBieSBzdXBwb3J0ZWRWYWx1ZXNPZmApOworICB9IGVsc2UgeworICAgIGFz
c2VydCghbnVtYmVyaW5nU3lzdGVtcy5pbmNsdWRlcyhudW1iZXJpbmdTeXN0ZW0pLAorICAgICAg
ICAgICBgJHtudW1iZXJpbmdTeXN0ZW19IG5vdCBzdXBwb3J0ZWQgYnV0IHJldHVybmVkIGJ5IHN1
cHBvcnRlZFZhbHVlc09mYCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLXdpdGgt
c2ltcGxlLWRpZ2l0LW1hcHBpbmdzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9J
bnRsL3N1cHBvcnRlZFZhbHVlc09mL251bWJlcmluZ1N5c3RlbXMtd2l0aC1zaW1wbGUtZGlnaXQt
bWFwcGluZ3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIyMTFhOTYwYzhlNjI0OTM4OGFmMmM3YTJiNzBiZDUz
YjNhZjRiOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
SW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLXdpdGgtc2ltcGxlLWRpZ2l0
LW1hcHBpbmdzLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRy
w6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBUaGUg
cmV0dXJuZWQgIm51bWJlcmluZ1N5c3RlbSIgdmFsdWVzIGNvbnRhaW4gYWxsIG51bWJlcmluZyBz
eXN0ZW1zIHdpdGggc2ltcGxlIGRpZ2l0IG1hcHBpbmdzLgoraW5mbzogfAorICBJbnRsLnN1cHBv
cnRlZFZhbHVlc09mICgga2V5ICkKKworICAxLiBMZXQga2V5IGJlID8gVG9TdHJpbmcoa2V5KS4K
KyAgLi4uCisgIDUuIEVsc2UgaWYga2V5IGlzICJudW1iZXJpbmdTeXN0ZW0iLCB0aGVuCisgICAg
YS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVOdW1iZXJpbmdTeXN0ZW1zKCApLgorICAuLi4KKyAg
OS4gUmV0dXJuICEgQ3JlYXRlQXJyYXlGcm9tTGlzdCggbGlzdCApLgorCisgIEF2YWlsYWJsZU51
bWJlcmluZ1N5c3RlbXMgKCApCisgICAgVGhlIEF2YWlsYWJsZU51bWJlcmluZ1N5c3RlbXMgYWJz
dHJhY3Qgb3BlcmF0aW9uIHJldHVybnMgYSBMaXN0LCBvcmRlcmVkIGFzCisgICAgaWYgYW4gQXJy
YXkgb2YgdGhlIHNhbWUgdmFsdWVzIGhhZCBiZWVuIHNvcnRlZCB1c2luZyAlQXJyYXkucHJvdG90
eXBlLnNvcnQlCisgICAgdXNpbmcgdW5kZWZpbmVkIGFzIGNvbXBhcmVmbiwgdGhhdCBjb250YWlu
cyB1bmlxdWUgbnVtYmVyaW5nIHN5c3RlbXMKKyAgICBpZGVudGlmaWVycyBpZGVudGlmeWluZyB0
aGUgbnVtYmVyaW5nIHN5c3RlbXMgZm9yIHdoaWNoIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgIHBy
b3ZpZGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEludGwuRGF0ZVRpbWVGb3JtYXQsIEludGwuTnVt
YmVyRm9ybWF0LCBhbmQKKyAgICBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdCBvYmplY3RzLiBUaGUg
bGlzdCBtdXN0IGluY2x1ZGUgdGhlIE51bWJlcmluZyBTeXN0ZW0KKyAgICB2YWx1ZSBvZiBldmVy
eSByb3cgb2YgVGFibGUgNCwgZXhjZXB0IHRoZSBoZWFkZXIgcm93LgoraW5jbHVkZXM6IFt0ZXN0
SW50bC5qc10KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0tLSovCisKK2NvbnN0IG51
bWJlcmluZ1N5c3RlbXMgPSBJbnRsLnN1cHBvcnRlZFZhbHVlc09mKCJudW1iZXJpbmdTeXN0ZW0i
KTsKKworLy8gVGFibGUgMTA6IE51bWJlcmluZyBzeXN0ZW1zIHdpdGggc2ltcGxlIGRpZ2l0IG1h
cHBpbmdzCitmb3IgKGxldCBudW1iZXJpbmdTeXN0ZW0gb2YgT2JqZWN0LmtleXMobnVtYmVyaW5n
U3lzdGVtRGlnaXRzKSkgeworICBhc3NlcnQobnVtYmVyaW5nU3lzdGVtcy5pbmNsdWRlcyhudW1i
ZXJpbmdTeXN0ZW0pLAorICAgICAgICAgYCR7bnVtYmVyaW5nU3lzdGVtfSB3aXRoIHNpbXBsZSBk
aWdpdCBtYXBwaW5ncyBpcyBzdXBwb3J0ZWRgKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1z
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09m
L251bWJlcmluZ1N5c3RlbXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNkZjNmN2E4NDNhOTRmNWIyOWUzZTlh
Yjk4ZWFkZTk1ZjRlM2I4OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9udW1iZXJpbmdTeXN0ZW1zLmpzCkBAIC0w
LDAgKzEsNTUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1
cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBUaGUgcmV0dXJuZWQgIm51bWJlcmlu
Z1N5c3RlbSIgdmFsdWVzIGFyZSBzb3J0ZWQsIHVuaXF1ZSwgYW5kIG1hdGNoIHRoZSB0eXBlIHBy
b2R1Y3Rpb24uCitpbmZvOiB8CisgIEludGwuc3VwcG9ydGVkVmFsdWVzT2YgKCBrZXkgKQorCisg
IDEuIExldCBrZXkgYmUgPyBUb1N0cmluZyhrZXkpLgorICAuLi4KKyAgNS4gRWxzZSBpZiBrZXkg
aXMgIm51bWJlcmluZ1N5c3RlbSIsIHRoZW4KKyAgICBhLiBMZXQgbGlzdCBiZSAhIEF2YWlsYWJs
ZU51bWJlcmluZ1N5c3RlbXMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZy
b21MaXN0KCBsaXN0ICkuCisKKyAgQXZhaWxhYmxlTnVtYmVyaW5nU3lzdGVtcyAoICkKKyAgICBU
aGUgQXZhaWxhYmxlTnVtYmVyaW5nU3lzdGVtcyBhYnN0cmFjdCBvcGVyYXRpb24gcmV0dXJucyBh
IExpc3QsIG9yZGVyZWQgYXMKKyAgICBpZiBhbiBBcnJheSBvZiB0aGUgc2FtZSB2YWx1ZXMgaGFk
IGJlZW4gc29ydGVkIHVzaW5nICVBcnJheS5wcm90b3R5cGUuc29ydCUKKyAgICB1c2luZyB1bmRl
ZmluZWQgYXMgY29tcGFyZWZuLCB0aGF0IGNvbnRhaW5zIHVuaXF1ZSBudW1iZXJpbmcgc3lzdGVt
cworICAgIGlkZW50aWZpZXJzIGlkZW50aWZ5aW5nIHRoZSBudW1iZXJpbmcgc3lzdGVtcyBmb3Ig
d2hpY2ggdGhlIGltcGxlbWVudGF0aW9uCisgICAgcHJvdmlkZXMgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YgSW50bC5EYXRlVGltZUZvcm1hdCwgSW50bC5OdW1iZXJGb3JtYXQsIGFuZAorICAgIEludGwu
UmVsYXRpdmVUaW1lRm9ybWF0IG9iamVjdHMuIFRoZSBsaXN0IG11c3QgaW5jbHVkZSB0aGUgTnVt
YmVyaW5nIFN5c3RlbQorICAgIHZhbHVlIG9mIGV2ZXJ5IHJvdyBvZiBUYWJsZSA0LCBleGNlcHQg
dGhlIGhlYWRlciByb3cuCitpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10KK2ZlYXR1cmVzOiBb
SW50bC1lbnVtZXJhdGlvbiwgSW50bC5Mb2NhbGVdCistLS0qLworCitjb25zdCBudW1iZXJpbmdT
eXN0ZW1zID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigibnVtYmVyaW5nU3lzdGVtIik7CisKK2Fz
c2VydChBcnJheS5pc0FycmF5KG51bWJlcmluZ1N5c3RlbXMpLCAiUmV0dXJucyBhbiBBcnJheSBv
YmplY3QuIik7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihudW1iZXJp
bmdTeXN0ZW1zKSwgQXJyYXkucHJvdG90eXBlLAorICAgICAgICAgICAgICAgICAiVGhlIGFycmF5
IHByb3RvdHlwZSBpcyBBcnJheS5wcm90b3R5cGUiKTsKKworY29uc3Qgb3RoZXJOdW1iZXJpbmdT
eXN0ZW1zID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigibnVtYmVyaW5nU3lzdGVtIik7Cithc3Nl
cnQubm90U2FtZVZhbHVlKG90aGVyTnVtYmVyaW5nU3lzdGVtcywgbnVtYmVyaW5nU3lzdGVtcywK
KyAgICAgICAgICAgICAgICAgICAgIlJldHVybnMgYSBuZXcgYXJyYXkgb2JqZWN0IGZvciBlYWNo
IGNhbGwuIik7CisKK2Fzc2VydC5jb21wYXJlQXJyYXkobnVtYmVyaW5nU3lzdGVtcywgb3RoZXJO
dW1iZXJpbmdTeXN0ZW1zLnNvcnQoKSwKKyAgICAgICAgICAgICAgICAgICAgIlRoZSBhcnJheSBp
cyBzb3J0ZWQuIik7CisKK2Fzc2VydC5zYW1lVmFsdWUobmV3IFNldChudW1iZXJpbmdTeXN0ZW1z
KS5zaXplLCBudW1iZXJpbmdTeXN0ZW1zLmxlbmd0aCwKKyAgICAgICAgICAgICAgICAgIlRoZSBh
cnJheSBkb2Vzbid0IGNvbnRhaW4gZHVwbGljYXRlcy4iKTsKKworLy8gaHR0cHM6Ly91bmljb2Rl
Lm9yZy9yZXBvcnRzL3RyMzUvdHIzNS5odG1sI1VuaWNvZGVfbG9jYWxlX2lkZW50aWZpZXIKK2Nv
bnN0IHR5cGVSRSA9IC9eW2EtejAtOV17Myw4fSgtW2EtejAtOV17Myw4fSkqJC87Citmb3IgKGxl
dCBudW1iZXJpbmdTeXN0ZW0gb2YgbnVtYmVyaW5nU3lzdGVtcykgeworICBhc3NlcnQodHlwZVJF
LnRlc3QobnVtYmVyaW5nU3lzdGVtKSwgYCR7bnVtYmVyaW5nU3lzdGVtfSBtYXRjaGVzIHRoZSAn
dHlwZScgcHJvZHVjdGlvbmApOworfQorCitmb3IgKGxldCBudW1iZXJpbmdTeXN0ZW0gb2YgbnVt
YmVyaW5nU3lzdGVtcykgeworICBhc3NlcnQuc2FtZVZhbHVlKG5ldyBJbnRsLkxvY2FsZSgidW5k
Iiwge251bWJlcmluZ1N5c3RlbX0pLm51bWJlcmluZ1N5c3RlbSwgbnVtYmVyaW5nU3lzdGVtLAor
ICAgICAgICAgICAgICAgICAgIGAke251bWJlcmluZ1N5c3RlbX0gaXMgY2Fub25pY2FsaXNlZGAp
OworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBv
cnRlZFZhbHVlc09mL3Byb3AtZGVzYy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
SW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9wcm9wLWRlc2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2UzMjMxMWI5
ZGJlOTcyZmU3MWRlZTM4MDZmYjA1NDZlZjNiZDYyOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi9wcm9wLWRlc2Mu
anMKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIEFuZHLDqSBCYXJndWxs
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LWludGwuc3VwcG9ydGVkdmFsdWVzb2YKK2Rlc2NyaXB0aW9uOiA+CisgIEludGwuc3VwcG9ydGVk
VmFsdWVzT2YgcHJvcGVydHkgYXR0cmlidXRlcy4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRW
YWx1ZXNPZiAoIGtleSApCisKKyAgMTggRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmpl
Y3RzOgorICAgIEV2ZXJ5IG90aGVyIGRhdGEgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMg
MTkgdGhyb3VnaCAyOCBhbmQgaW4gQW5uZXggQi4yCisgICAgaGFzIHRoZSBhdHRyaWJ1dGVzIHsg
W1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsCisgICAgW1tDb25maWd1
cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgoraW5jbHVkZXM6IFtw
cm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0tLSovCisK
K3ZlcmlmeVByb3BlcnR5KEludGwsICJzdXBwb3J0ZWRWYWx1ZXNPZiIsIHsKKyAgd3JpdGFibGU6
IHRydWUsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRW
YWx1ZXNPZi90aW1lWm9uZXMtYWNjZXB0ZWQtYnktRGF0ZVRpbWVGb3JtYXQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvdGltZVpvbmVzLWFj
Y2VwdGVkLWJ5LURhdGVUaW1lRm9ybWF0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlNDIwNmVlNWVjODA4Yjdj
NjRlOThlOGZmMzY5ZWJhNjk3ZWI3NGYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvdGltZVpvbmVzLWFjY2VwdGVk
LWJ5LURhdGVUaW1lRm9ybWF0LmpzCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjog
PgorICBUaGUgcmV0dXJuZWQgInRpbWVab25lIiB2YWx1ZXMgY2FuIGJlIHVzZWQgd2l0aCBEYXRl
VGltZUZvcm1hdC4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiAoIGtleSApCisK
KyAgMS4gTGV0IGtleSBiZSA/IFRvU3RyaW5nKGtleSkuCisgIC4uLgorICA2LiBFbHNlIGlmIGtl
eSBpcyAidGltZVpvbmUiLCB0aGVuCisgICAgYS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVUaW1l
Wm9uZXMoICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0
ICkuCisKKyAgQXZhaWxhYmxlVGltZVpvbmVzICgpCisgICAgVGhlIEF2YWlsYWJsZVRpbWVab25l
cyBhYnN0cmFjdCBvcGVyYXRpb24gcmV0dXJucyBhIHNvcnRlZCBMaXN0IG9mIHN1cHBvcnRlZAor
ICAgIFpvbmUgYW5kIExpbmsgbmFtZXMgaW4gdGhlIElBTkEgVGltZSBab25lIERhdGFiYXNlLiBU
aGUgZm9sbG93aW5nIHN0ZXBzIGFyZQorICAgIHRha2VuOgorCisgICAgMS4gTGV0IG5hbWVzIGJl
IGEgTGlzdCBvZiBhbGwgc3VwcG9ydGVkIFpvbmUgYW5kIExpbmsgbmFtZXMgaW4gdGhlIElBTkEg
VGltZQorICAgICAgIFpvbmUgRGF0YWJhc2UuCisgICAgMi4gTGV0IHJlc3VsdCBiZSBhIG5ldyBl
bXB0eSBMaXN0LgorICAgIDMuIEZvciBlYWNoIGVsZW1lbnQgbmFtZSBvZiBuYW1lcywgZG8KKyAg
ICAgICAgYS4gQXNzZXJ0OiAhIElzVmFsaWRUaW1lWm9uZU5hbWUoIG5hbWUgKSBpcyB0cnVlLgor
ICAgICAgICBiLiBMZXQgY2Fub25pY2FsIGJlICEgQ2Fub25pY2FsaXplVGltZVpvbmVOYW1lKCBu
YW1lICkuCisgICAgICAgIGMuIElmIHJlc3VsdCBkb2VzIG5vdCBjb250YWluIGFuIGVsZW1lbnQg
ZXF1YWwgdG8gY2Fub25pY2FsLCB0aGVuCisgICAgICAgICAgICBpLiBBcHBlbmQgY2Fub25pY2Fs
IHRvIHRoZSBlbmQgb2YgcmVzdWx0LgorICAgIDQuIFNvcnQgcmVzdWx0IGluIG9yZGVyIGFzIGlm
IGFuIEFycmF5IG9mIHRoZSBzYW1lIHZhbHVlcyBoYWQgYmVlbiBzb3J0ZWQgdXNpbmcKKyAgICAg
ICAlQXJyYXkucHJvdG90eXBlLnNvcnQlIHVzaW5nIHVuZGVmaW5lZCBhcyBjb21wYXJlZm4uCisg
ICAgNS4gUmV0dXJuIHJlc3VsdC4KK2xvY2FsZTogW2VuXQorZmVhdHVyZXM6IFtJbnRsLWVudW1l
cmF0aW9uXQorLS0tKi8KKworY29uc3QgdGltZVpvbmVzID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNP
ZigidGltZVpvbmUiKTsKKworZm9yIChsZXQgdGltZVpvbmUgb2YgdGltZVpvbmVzKSB7CisgIGxl
dCBvYmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4iLCB7dGltZVpvbmV9KTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShvYmoucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsIHRpbWVab25lLAor
ICAgICAgICAgICAgICAgICAgIGAke3RpbWVab25lfSBpcyBzdXBwb3J0ZWQgYnkgRGF0ZVRpbWVG
b3JtYXRgKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50
bC9zdXBwb3J0ZWRWYWx1ZXNPZi90aW1lWm9uZXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9p
bnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvdGltZVpvbmVzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZk
NTE2ZDlhNTY0ZDk0OTUyNzA1YTJiMjM3OTUxZjM1MjAwOTNkNDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVkVmFsdWVzT2YvdGlt
ZVpvbmVzLmpzCkBAIC0wLDAgKzEsNTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBBbmRyw6kg
QmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1pbnRsLnN1cHBvcnRlZHZhbHVlc29mCitkZXNjcmlwdGlvbjogPgorICBUaGUgcmV0
dXJuZWQgInRpbWVab25lIiB2YWx1ZXMgYXJlIHNvcnRlZCwgdW5pcXVlLCBhbmQgY2Fub25pY2Fs
aXNlZC4KK2luZm86IHwKKyAgSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZiAoIGtleSApCisKKyAgMS4g
TGV0IGtleSBiZSA/IFRvU3RyaW5nKGtleSkuCisgIC4uLgorICA2LiBFbHNlIGlmIGtleSBpcyAi
dGltZVpvbmUiLCB0aGVuCisgICAgYS4gTGV0IGxpc3QgYmUgISBBdmFpbGFibGVUaW1lWm9uZXMo
ICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICkuCisK
KyAgQXZhaWxhYmxlVGltZVpvbmVzICgpCisgICAgVGhlIEF2YWlsYWJsZVRpbWVab25lcyBhYnN0
cmFjdCBvcGVyYXRpb24gcmV0dXJucyBhIHNvcnRlZCBMaXN0IG9mIHN1cHBvcnRlZAorICAgIFpv
bmUgYW5kIExpbmsgbmFtZXMgaW4gdGhlIElBTkEgVGltZSBab25lIERhdGFiYXNlLiBUaGUgZm9s
bG93aW5nIHN0ZXBzIGFyZQorICAgIHRha2VuOgorCisgICAgMS4gTGV0IG5hbWVzIGJlIGEgTGlz
dCBvZiBhbGwgc3VwcG9ydGVkIFpvbmUgYW5kIExpbmsgbmFtZXMgaW4gdGhlIElBTkEgVGltZQor
ICAgICAgIFpvbmUgRGF0YWJhc2UuCisgICAgMi4gTGV0IHJlc3VsdCBiZSBhIG5ldyBlbXB0eSBM
aXN0LgorICAgIDMuIEZvciBlYWNoIGVsZW1lbnQgbmFtZSBvZiBuYW1lcywgZG8KKyAgICAgICAg
YS4gQXNzZXJ0OiAhIElzVmFsaWRUaW1lWm9uZU5hbWUoIG5hbWUgKSBpcyB0cnVlLgorICAgICAg
ICBiLiBMZXQgY2Fub25pY2FsIGJlICEgQ2Fub25pY2FsaXplVGltZVpvbmVOYW1lKCBuYW1lICku
CisgICAgICAgIGMuIElmIHJlc3VsdCBkb2VzIG5vdCBjb250YWluIGFuIGVsZW1lbnQgZXF1YWwg
dG8gY2Fub25pY2FsLCB0aGVuCisgICAgICAgICAgICBpLiBBcHBlbmQgY2Fub25pY2FsIHRvIHRo
ZSBlbmQgb2YgcmVzdWx0LgorICAgIDQuIFNvcnQgcmVzdWx0IGluIG9yZGVyIGFzIGlmIGFuIEFy
cmF5IG9mIHRoZSBzYW1lIHZhbHVlcyBoYWQgYmVlbiBzb3J0ZWQgdXNpbmcKKyAgICAgICAlQXJy
YXkucHJvdG90eXBlLnNvcnQlIHVzaW5nIHVuZGVmaW5lZCBhcyBjb21wYXJlZm4uCisgICAgNS4g
UmV0dXJuIHJlc3VsdC4KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzLCB0ZXN0SW50bC5qc10K
K2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0tLSovCisKK2NvbnN0IHRpbWVab25lcyA9
IEludGwuc3VwcG9ydGVkVmFsdWVzT2YoInRpbWVab25lIik7CisKK2Fzc2VydChBcnJheS5pc0Fy
cmF5KHRpbWVab25lcyksICJSZXR1cm5zIGFuIEFycmF5IG9iamVjdC4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRpbWVab25lcyksIEFycmF5LnByb3RvdHlwZSwK
KyAgICAgICAgICAgICAgICAgIlRoZSBhcnJheSBwcm90b3R5cGUgaXMgQXJyYXkucHJvdG90eXBl
Iik7CisKK2NvbnN0IG90aGVyVGltZVpvbmVzID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigidGlt
ZVpvbmUiKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUob3RoZXJUaW1lWm9uZXMsIHRpbWVab25lcywK
KyAgICAgICAgICAgICAgICAgICAgIlJldHVybnMgYSBuZXcgYXJyYXkgb2JqZWN0IGZvciBlYWNo
IGNhbGwuIik7CisKK2Fzc2VydC5jb21wYXJlQXJyYXkodGltZVpvbmVzLCBvdGhlclRpbWVab25l
cy5zb3J0KCksCisgICAgICAgICAgICAgICAgICAgICJUaGUgYXJyYXkgaXMgc29ydGVkLiIpOwor
Cithc3NlcnQuc2FtZVZhbHVlKG5ldyBTZXQodGltZVpvbmVzKS5zaXplLCB0aW1lWm9uZXMubGVu
Z3RoLAorICAgICAgICAgICAgICAgICAiVGhlIGFycmF5IGRvZXNuJ3QgY29udGFpbiBkdXBsaWNh
dGVzLiIpOworCitmb3IgKGxldCB0aW1lWm9uZSBvZiB0aW1lWm9uZXMpIHsKKyAgYXNzZXJ0KGlz
Q2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkVGltZVpvbmVOYW1lKHRpbWVab25lKSwKKyAg
ICAgICAgIGAke3RpbWVab25lfSBpcyBhIGNhbm9uaWNhbGlzZWQgYW5kIHN0cnVjdHVyYWxseSB2
YWxpZCB0aW1lIHpvbmUgbmFtZWApOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL3VuaXRzLWFjY2VwdGVkLWJ5LU51bWJl
ckZvcm1hdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRW
YWx1ZXNPZi91bml0cy1hY2NlcHRlZC1ieS1OdW1iZXJGb3JtYXQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE0
N2U4OGM3MDA2YjdiODgyZTc0YmFlZjBlNTliNzJhNDJjMjIwNQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9zdXBwb3J0ZWRWYWx1ZXNPZi91bml0
cy1hY2NlcHRlZC1ieS1OdW1iZXJGb3JtYXQuanMKQEAgLTAsMCArMSw0NSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIxIEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWludGwuc3VwcG9ydGVkdmFsdWVzb2YKK2Rlc2Ny
aXB0aW9uOiA+CisgIFRoZSByZXR1cm5lZCAidW5pdCIgdmFsdWVzIGNhbiBiZSB1c2VkIHdpdGgg
TnVtYmVyRm9ybWF0LgoraW5mbzogfAorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkK
KworICAxLiBMZXQga2V5IGJlID8gVG9TdHJpbmcoa2V5KS4KKyAgLi4uCisgIDcuIEVsc2UgaWYg
a2V5IGlzICJ1bml0IiwgdGhlbgorICAgIGEuIExldCBsaXN0IGJlICEgQXZhaWxhYmxlVW5pdHMo
ICkuCisgIC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICkuCisK
KyAgQXZhaWxhYmxlVW5pdHMgKCApCisgICAgVGhlIEF2YWlsYWJsZVVuaXRzIGFic3RyYWN0IG9w
ZXJhdGlvbiByZXR1cm5zIGEgTGlzdCwgb3JkZXJlZCBhcyBpZiBhbiBBcnJheQorICAgIG9mIHRo
ZSBzYW1lIHZhbHVlcyBoYWQgYmVlbiBzb3J0ZWQgdXNpbmcgJUFycmF5LnByb3RvdHlwZS5zb3J0
JSB1c2luZworICAgIHVuZGVmaW5lZCBhcyBjb21wYXJlZm4sIHRoYXQgY29udGFpbnMgdGhlIHVu
aXF1ZSB2YWx1ZXMgb2Ygc2ltcGxlIHVuaXQKKyAgICBpZGVudGlmaWVycyBsaXN0ZWQgaW4gZXZl
cnkgcm93IG9mIFRhYmxlIDEsIGV4Y2VwdCB0aGUgaGVhZGVyIHJvdy4KK2luY2x1ZGVzOiBbdGVz
dEludGwuanNdCitsb2NhbGU6IFtlbl0KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0t
LSovCisKK2NvbnN0IHVuaXRzID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigidW5pdCIpOworCitm
b3IgKGxldCB1bml0IG9mIHVuaXRzKSB7CisgIGxldCBvYmogPSBuZXcgSW50bC5OdW1iZXJGb3Jt
YXQoImVuIiwge3N0eWxlOiAidW5pdCIsIHVuaXR9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShvYmou
cmVzb2x2ZWRPcHRpb25zKCkudW5pdCwgdW5pdCwKKyAgICAgICAgICAgICAgICAgICBgJHt1bml0
fSBpcyBzdXBwb3J0ZWQgYnkgTnVtYmVyRm9ybWF0YCk7Cit9CisKK2ZvciAobGV0IHVuaXQgb2Yg
YWxsU2ltcGxlU2FuY3Rpb25lZFVuaXRzKCkpIHsKKyAgbGV0IG9iaiA9IG5ldyBJbnRsLk51bWJl
ckZvcm1hdCgiZW4iLCB7c3R5bGU6ICJ1bml0IiwgdW5pdH0pOworICBpZiAob2JqLnJlc29sdmVk
T3B0aW9ucygpLnVuaXQgPT09IHVuaXQpIHsKKyAgICBhc3NlcnQodW5pdHMuaW5jbHVkZXModW5p
dCksCisgICAgICAgICAgIGAke3VuaXR9IHN1cHBvcnRlZCBidXQgbm90IHJldHVybmVkIGJ5IHN1
cHBvcnRlZFZhbHVlc09mYCk7CisgIH0gZWxzZSB7CisgICAgYXNzZXJ0KCF1bml0cy5pbmNsdWRl
cyh1bml0KSwKKyAgICAgICAgICAgYCR7dW5pdH0gbm90IHN1cHBvcnRlZCBidXQgcmV0dXJuZWQg
Ynkgc3VwcG9ydGVkVmFsdWVzT2ZgKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL3VuaXRzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL3N1cHBvcnRlZFZhbHVlc09mL3VuaXRzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQwNWU2NDhmODQwOTljYjI1OTkwOTU5N2Q0MTZlZGE4ZjNiNTc4MzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvc3VwcG9ydGVk
VmFsdWVzT2YvdW5pdHMuanMKQEAgLTAsMCArMSw0OCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIx
IEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWludGwuc3VwcG9ydGVkdmFsdWVzb2YKK2Rlc2NyaXB0aW9uOiA+Cisg
IFRoZSByZXR1cm5lZCAidW5pdCIgdmFsdWVzIGFyZSBzb3J0ZWQsIHVuaXF1ZSwgYW5kIHdlbGwt
Zm9ybWVkLgoraW5mbzogfAorICBJbnRsLnN1cHBvcnRlZFZhbHVlc09mICgga2V5ICkKKworICAx
LiBMZXQga2V5IGJlID8gVG9TdHJpbmcoa2V5KS4KKyAgLi4uCisgIDcuIEVsc2UgaWYga2V5IGlz
ICJ1bml0IiwgdGhlbgorICAgIGEuIExldCBsaXN0IGJlICEgQXZhaWxhYmxlVW5pdHMoICkuCisg
IC4uLgorICA5LiBSZXR1cm4gISBDcmVhdGVBcnJheUZyb21MaXN0KCBsaXN0ICkuCisKKyAgQXZh
aWxhYmxlVW5pdHMgKCApCisgICAgVGhlIEF2YWlsYWJsZVVuaXRzIGFic3RyYWN0IG9wZXJhdGlv
biByZXR1cm5zIGEgTGlzdCwgb3JkZXJlZCBhcyBpZiBhbiBBcnJheQorICAgIG9mIHRoZSBzYW1l
IHZhbHVlcyBoYWQgYmVlbiBzb3J0ZWQgdXNpbmcgJUFycmF5LnByb3RvdHlwZS5zb3J0JSB1c2lu
ZworICAgIHVuZGVmaW5lZCBhcyBjb21wYXJlZm4sIHRoYXQgY29udGFpbnMgdGhlIHVuaXF1ZSB2
YWx1ZXMgb2Ygc2ltcGxlIHVuaXQKKyAgICBpZGVudGlmaWVycyBsaXN0ZWQgaW4gZXZlcnkgcm93
IG9mIFRhYmxlIDEsIGV4Y2VwdCB0aGUgaGVhZGVyIHJvdy4KK2luY2x1ZGVzOiBbY29tcGFyZUFy
cmF5LmpzLCB0ZXN0SW50bC5qc10KK2ZlYXR1cmVzOiBbSW50bC1lbnVtZXJhdGlvbl0KKy0tLSov
CisKK2NvbnN0IHVuaXRzID0gSW50bC5zdXBwb3J0ZWRWYWx1ZXNPZigidW5pdCIpOworCithc3Nl
cnQoQXJyYXkuaXNBcnJheSh1bml0cyksICJSZXR1cm5zIGFuIEFycmF5IG9iamVjdC4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHVuaXRzKSwgQXJyYXkucHJvdG90
eXBlLAorICAgICAgICAgICAgICAgICAiVGhlIGFycmF5IHByb3RvdHlwZSBpcyBBcnJheS5wcm90
b3R5cGUiKTsKKworY29uc3Qgb3RoZXJVbml0cyA9IEludGwuc3VwcG9ydGVkVmFsdWVzT2YoInVu
aXQiKTsKK2Fzc2VydC5ub3RTYW1lVmFsdWUob3RoZXJVbml0cywgdW5pdHMsCisgICAgICAgICAg
ICAgICAgICAgICJSZXR1cm5zIGEgbmV3IGFycmF5IG9iamVjdCBmb3IgZWFjaCBjYWxsLiIpOwor
Cithc3NlcnQuY29tcGFyZUFycmF5KHVuaXRzLCBvdGhlclVuaXRzLnNvcnQoKSwKKyAgICAgICAg
ICAgICAgICAgICAgIlRoZSBhcnJheSBpcyBzb3J0ZWQuIik7CisKK2Fzc2VydC5zYW1lVmFsdWUo
bmV3IFNldCh1bml0cykuc2l6ZSwgdW5pdHMubGVuZ3RoLAorICAgICAgICAgICAgICAgICAiVGhl
IGFycmF5IGRvZXNuJ3QgY29udGFpbiBkdXBsaWNhdGVzLiIpOworCitjb25zdCBzaW1wbGVTYW5j
dGlvbmVkID0gYWxsU2ltcGxlU2FuY3Rpb25lZFVuaXRzKCk7CisKK2ZvciAobGV0IHVuaXQgb2Yg
dW5pdHMpIHsKKyAgYXNzZXJ0KHNpbXBsZVNhbmN0aW9uZWQuaW5jbHVkZXModW5pdCksIGAke3Vu
aXR9IGlzIGEgc2ltcGxlLCBzYW5jdGlvbmVkIHVuaXRgKTsKKyAgYXNzZXJ0KCF1bml0LmluY2x1
ZGVzKCItcGVyLSIpLCBgJHt1bml0fSBpc24ndCBhIGNvbXBvdW5kIHVuaXRgKTsKK30KZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L2NvbnN0cnVj
dG9yLXVuaXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9j
b25zdHJ1Y3Rvci11bml0LmpzCmluZGV4IGVjODNhY2E5YmUwZjgxN2EyMWFiNzZjZDM0MDYyNDdm
ZWNhNWNmOWYuLjU1NWEwNzY0MTAzM2QyMjc3Yzc1ZmYwOGY1YTg3NThhYWIyOGVlMTEgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L2NvbnN0cnVj
dG9yLXVuaXQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3Jt
YXQvY29uc3RydWN0b3ItdW5pdC5qcwpAQCAtNCw2ICs0LDcgQEAKIC8qLS0tCiBlc2lkOiBzZWMt
aW5pdGlhbGl6ZW51bWJlcmZvcm1hdAogZGVzY3JpcHRpb246IENoZWNrcyBoYW5kbGluZyBvZiB0
aGUgdW5pdCBzdHlsZS4KK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCiBmZWF0dXJlczogW0ludGwu
TnVtYmVyRm9ybWF0LXVuaWZpZWRdCiAtLS0qLwogCkBAIC01MSw1MSArNTIsNyBAQCBmdW5jdGlv
biBjaGVjayh1bml0KSB7CiAgIGFzc2VydC5zYW1lVmFsdWUob3B0aW9ucy51bml0LCB1bml0KTsK
IH0KIAotY29uc3QgdW5pdHMgPSBbCi0gICJhY3JlIiwKLSAgImJpdCIsCi0gICJieXRlIiwKLSAg
ImNlbHNpdXMiLAotICAiY2VudGltZXRlciIsCi0gICJkYXkiLAotICAiZGVncmVlIiwKLSAgImZh
aHJlbmhlaXQiLAotICAiZmx1aWQtb3VuY2UiLAotICAiZm9vdCIsCi0gICJnYWxsb24iLAotICAi
Z2lnYWJpdCIsCi0gICJnaWdhYnl0ZSIsCi0gICJncmFtIiwKLSAgImhlY3RhcmUiLAotICAiaG91
ciIsCi0gICJpbmNoIiwKLSAgImtpbG9iaXQiLAotICAia2lsb2J5dGUiLAotICAia2lsb2dyYW0i
LAotICAia2lsb21ldGVyIiwKLSAgImxpdGVyIiwKLSAgIm1lZ2FiaXQiLAotICAibWVnYWJ5dGUi
LAotICAibWV0ZXIiLAotICAibWlsZSIsCi0gICJtaWxlLXNjYW5kaW5hdmlhbiIsCi0gICJtaWxs
aW1ldGVyIiwKLSAgIm1pbGxpbGl0ZXIiLAotICAibWlsbGlzZWNvbmQiLAotICAibWludXRlIiwK
LSAgIm1vbnRoIiwKLSAgIm91bmNlIiwKLSAgInBlcmNlbnQiLAotICAicGV0YWJ5dGUiLAotICAi
cG91bmQiLAotICAic2Vjb25kIiwKLSAgInN0b25lIiwKLSAgInRlcmFiaXQiLAotICAidGVyYWJ5
dGUiLAotICAid2VlayIsCi0gICJ5YXJkIiwKLSAgInllYXIiLAotXTsKK2NvbnN0IHVuaXRzID0g
YWxsU2ltcGxlU2FuY3Rpb25lZFVuaXRzKCk7CiAKIGZvciAoY29uc3Qgc2ltcGxlVW5pdCBvZiB1
bml0cykgewogICBjaGVjayhzaW1wbGVVbml0KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvbnVtYmVyaW5nLXN5
c3RlbXMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0L251bWJlcmluZy1zeXN0ZW1zLmpzCmluZGV4IDQ3YjU0YTM5NmM4ZTkzZmUz
YjJlYTMyOWJiZjEwNmJiZDFjNWRmNjYuLjAwY2Q1MTFmZTQxMWEwZTFjMzEyYTAxNmRjNjUxMmVj
OTFlNGNmZTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVy
Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvbnVtYmVyaW5nLXN5c3RlbXMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9udW1i
ZXJpbmctc3lzdGVtcy5qcwpAQCAtNyw5MyArNywxNyBAQAogICAgIFRlc3RzIHRoYXQgSW50bC5O
dW1iZXJGb3JtYXQucHJvdG90eXBlLmZvcm1hdCBzdXBwb3J0cyBhbGwKICAgICBudW1iZXJpbmcg
c3lzdGVtcyB3aXRoIHNpbXBsZSBkaWdpdCBtYXBwaW5ncy4KIGF1dGhvcjogUm9vemJlaCBQb3Vy
bmFkZXIKK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCiAtLS0qLwogCi1jb25zdCBudW1iZXJpbmdT
eXN0ZW1zID0gewotICAgIGFkbG06IDB4MUU5NTAsCi0gICAgYWhvbTogMHgxMTczMCwKLSAgICBh
cmFiOiAweDA2NjAsCi0gICAgYXJhYmV4dDogMHgwNkYwLAotICAgIGJhbGk6IDB4MUI1MCwKLSAg
ICBiZW5nOiAweDA5RTYsCi0gICAgYmhrczogMHgxMUM1MCwKLSAgICBicmFoOiAweDExMDY2LAot
ICAgIGNha206IDB4MTExMzYsCi0gICAgY2hhbTogMHhBQTUwLAotICAgIGRldmE6IDB4MDk2NiwK
LSAgICBkaWFrOiAweDExOTUwLAotICAgIGZ1bGx3aWRlOiAweEZGMTAsCi0gICAgZ29uZzogMHgx
MURBMCwKLSAgICBnb25tOiAweDExRDUwLAotICAgIGd1anI6IDB4MEFFNiwKLSAgICBndXJ1OiAw
eDBBNjYsCi0gICAgaGFuaWRlYzogWzB4MzAwNywgMHg0RTAwLCAweDRFOEMsIDB4NEUwOSwgMHg1
NkRCLAotICAgICAgICAgICAgICAweDRFOTQsIDB4NTE2RCwgMHg0RTAzLCAweDUxNkIsIDB4NEU1
RF0sCi0gICAgaG1uZzogMHgxNkI1MCwKLSAgICBobW5wOiAweDFFMTQwLAotICAgIGphdmE6IDB4
QTlEMCwKLSAgICBrYWxpOiAweEE5MDAsCi0gICAga2htcjogMHgxN0UwLAotICAgIGtuZGE6IDB4
MENFNiwKLSAgICBsYW5hOiAweDFBODAsCi0gICAgbGFuYXRoYW06IDB4MUE5MCwKLSAgICBsYW9v
OiAweDBFRDAsCi0gICAgbGF0bjogMHgwMDMwLAotICAgIGxlcGM6IDB4MUM0MCwKLSAgICBsaW1i
OiAweDE5NDYsCi0gICAgbWF0aGJvbGQ6IDB4MUQ3Q0UsCi0gICAgbWF0aGRibDogMHgxRDdEOCwK
LSAgICBtYXRobW9ubzogMHgxRDdGNiwKLSAgICBtYXRoc2FuYjogMHgxRDdFQywKLSAgICBtYXRo
c2FuczogMHgxRDdFMiwKLSAgICBtbHltOiAweDBENjYsCi0gICAgbW9kaTogMHgxMTY1MCwKLSAg
ICBtb25nOiAweDE4MTAsCi0gICAgbXJvbzogMHgxNkE2MCwKLSAgICBtdGVpOiAweEFCRjAsCi0g
ICAgbXltcjogMHgxMDQwLAotICAgIG15bXJzaGFuOiAweDEwOTAsCi0gICAgbXltcnRsbmc6IDB4
QTlGMCwKLSAgICBuZXdhOiAweDExNDUwLAotICAgIG5rb286IDB4MDdDMCwKLSAgICBvbGNrOiAw
eDFDNTAsCi0gICAgb3J5YTogMHgwQjY2LAotICAgIG9zbWE6IDB4MTA0QTAsCi0gICAgcm9oZzog
MHgxMEQzMCwKLSAgICBzYXVyOiAweEE4RDAsCi0gICAgc2VnbWVudDogMHgxRkJGMCwKLSAgICBz
aHJkOiAweDExMUQwLAotICAgIHNpbmQ6IDB4MTEyRjAsCi0gICAgc2luaDogMHgwREU2LAotICAg
IHNvcmE6IDB4MTEwRjAsCi0gICAgc3VuZDogMHgxQkIwLAotICAgIHRha3I6IDB4MTE2QzAsCi0g
ICAgdGFsdTogMHgxOUQwLAotICAgIHRhbWxkZWM6IDB4MEJFNiwKLSAgICB0ZWx1OiAweDBDNjYs
Ci0gICAgdGhhaTogMHgwRTUwLAotICAgIHRpYnQ6IDB4MEYyMCwKLSAgICB0aXJoOiAweDExNEQw
LAotICAgIHZhaWk6IDB4QTYyMCwKLSAgICB3YXJhOiAweDExOEUwLAotICAgIHdjaG86IDB4MUUy
RjAsCi19OwotCi1mb3IgKGxldCBbbnVtYmVyaW5nU3lzdGVtLCBkaWdpdExpc3RdIG9mIE9iamVj
dC5lbnRyaWVzKG51bWJlcmluZ1N5c3RlbXMpKSB7Ci0gICAgaWYgKHR5cGVvZiBkaWdpdExpc3Qg
PT09ICdudW1iZXInKSB7Ci0gICAgICAgIGxldCB6ZXJvQ29kZSA9IGRpZ2l0TGlzdDsKLSAgICAg
ICAgZGlnaXRMaXN0ID0gW107Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IDk7ICsraSkg
ewotICAgICAgICAgICAgZGlnaXRMaXN0W2ldID0gemVyb0NvZGUgKyBpOwotICAgICAgICB9Ci0g
ICAgfQotCitmb3IgKGxldCBbbnVtYmVyaW5nU3lzdGVtLCBkaWdpdHNdIG9mIE9iamVjdC5lbnRy
aWVzKG51bWJlcmluZ1N5c3RlbURpZ2l0cykpIHsKKyAgICBsZXQgZGlnaXRMaXN0ID0gWy4uLmRp
Z2l0c107CiAgICAgYXNzZXJ0LnNhbWVWYWx1ZShkaWdpdExpc3QubGVuZ3RoLCAxMCk7CiAKICAg
ICBsZXQgbmYgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodW5kZWZpbmVkLCB7bnVtYmVyaW5nU3lz
dGVtfSk7CiAKICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSA5OyArK2kpIHsKLSAgICAgICAgYXNz
ZXJ0LnNhbWVWYWx1ZShuZi5mb3JtYXQoaSksIFN0cmluZy5mcm9tQ29kZVBvaW50KGRpZ2l0TGlz
dFtpXSksCisgICAgICAgIGFzc2VydC5zYW1lVmFsdWUobmYuZm9ybWF0KGkpLCBkaWdpdExpc3Rb
aV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgYG51bWJlcmluZ1N5c3RlbTogJHtudW1iZXJp
bmdTeXN0ZW19LCBkaWdpdDogJHtpfWApOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvdW5pdHMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUv
Zm9ybWF0L3VuaXRzLmpzCmluZGV4IDVlYTc2ZjA3ZGVmNzUxYmMzNzc3NGZmMWQ2OWVlYjM3MGE0
Y2ZlNmYuLmMzMzE2MmIzNTg0ZGU0NTU3YWFmZGNiYzk0YjVkZmE1NjM5MDBlNzAgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9m
b3JtYXQvdW5pdHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJG
b3JtYXQvcHJvdG90eXBlL2Zvcm1hdC91bml0cy5qcwpAQCAtNCw2ICs0LDcgQEAKIC8qLS0tCiBl
c2lkOiBzZWMtaW50bC5udW1iZXJmb3JtYXQucHJvdG90eXBlLmZvcm1hdAogZGVzY3JpcHRpb246
IENoZWNrcyBoYW5kbGluZyBvZiB1bml0cy4KK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCiBmZWF0
dXJlczogW0ludGwuTnVtYmVyRm9ybWF0LXVuaWZpZWRdCiAtLS0qLwogCkBAIC0xMyw1MSArMTQs
NyBAQCBmdW5jdGlvbiBjaGVjayh1bml0KSB7CiAgIGFzc2VydC5ub3RTYW1lVmFsdWUoczEsIHMy
KTsKIH0KIAotY29uc3QgdW5pdHMgPSBbCi0gICJhY3JlIiwKLSAgImJpdCIsCi0gICJieXRlIiwK
LSAgImNlbHNpdXMiLAotICAiY2VudGltZXRlciIsCi0gICJkYXkiLAotICAiZGVncmVlIiwKLSAg
ImZhaHJlbmhlaXQiLAotICAiZmx1aWQtb3VuY2UiLAotICAiZm9vdCIsCi0gICJnYWxsb24iLAot
ICAiZ2lnYWJpdCIsCi0gICJnaWdhYnl0ZSIsCi0gICJncmFtIiwKLSAgImhlY3RhcmUiLAotICAi
aG91ciIsCi0gICJpbmNoIiwKLSAgImtpbG9iaXQiLAotICAia2lsb2J5dGUiLAotICAia2lsb2dy
YW0iLAotICAia2lsb21ldGVyIiwKLSAgImxpdGVyIiwKLSAgIm1lZ2FiaXQiLAotICAibWVnYWJ5
dGUiLAotICAibWV0ZXIiLAotICAibWlsZSIsCi0gICJtaWxlLXNjYW5kaW5hdmlhbiIsCi0gICJt
aWxsaW1ldGVyIiwKLSAgIm1pbGxpbGl0ZXIiLAotICAibWlsbGlzZWNvbmQiLAotICAibWludXRl
IiwKLSAgIm1vbnRoIiwKLSAgIm91bmNlIiwKLSAgInBlcmNlbnQiLAotICAicGV0YWJ5dGUiLAot
ICAicG91bmQiLAotICAic2Vjb25kIiwKLSAgInN0b25lIiwKLSAgInRlcmFiaXQiLAotICAidGVy
YWJ5dGUiLAotICAid2VlayIsCi0gICJ5YXJkIiwKLSAgInllYXIiLAotXTsKK2NvbnN0IHVuaXRz
ID0gYWxsU2ltcGxlU2FuY3Rpb25lZFVuaXRzKCk7CiAKIGZvciAoY29uc3Qgc2ltcGxlVW5pdCBv
ZiB1bml0cykgewogICBjaGVjayhzaW1wbGVVbml0KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvVGVtcG9yYWwvQ2FsZW5kYXIvcHJvdG90eXBlL2VyYS9icmFuZGlu
Zy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvVGVtcG9yYWwvQ2FsZW5kYXIvcHJv
dG90eXBlL2VyYS9icmFuZGluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGI1ZWQyMTRjODNjMjBkNGY0MDI5
NGM5NzdmNTY0NWY5MGU3MDBhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzCkBA
IC0wLDAgKzEsMjIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy10ZW1wb3Jh
bC5jYWxlbmRhci5wcm90b3R5cGUuZXJhCitkZXNjcmlwdGlvbjogVGhyb3cgYSBUeXBlRXJyb3Ig
aWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQKK2ZlYXR1cmVzOiBbU3ltYm9sLCBUZW1wb3JhbF0K
Ky0tLSovCisKK2NvbnN0IGVyYSA9IFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZS5lcmE7CisK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGVyYSwgImZ1bmN0aW9uIik7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbCh1bmRlZmluZWQpLCAidW5kZWZpbmVkIik7Cith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwobnVsbCksICJudWxsIik7Cith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwodHJ1ZSksICJ0cnVlIik7Cith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5n
Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoU3ltYm9sKCkpLCAi
c3ltYm9sIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoMSksICIx
Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoe30pLCAicGxhaW4g
b2JqZWN0Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9y
YWwuQ2FsZW5kYXIpLCAiVGVtcG9yYWwuQ2FsZW5kYXIiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiBlcmEuY2FsbChUZW1wb3JhbC5DYWxlbmRhci5wcm90b3R5cGUpLCAiVGVtcG9y
YWwuQ2FsZW5kYXIucHJvdG90eXBlIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL1RlbXBvcmFsL0NhbGVuZGFyL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5
cGUvZXJhWWVhci9icmFuZGluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmQ5YzMxM2ZmNjE3MTJiNWFmZmE5
MzY2MDNmODQzYjQxYmIwZTY5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9UZW1wb3JhbC9DYWxlbmRhci9wcm90b3R5cGUvZXJhWWVhci9icmFuZGluZy5q
cwpAQCAtMCwwICsxLDIyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhLCBTLkwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtdGVt
cG9yYWwuY2FsZW5kYXIucHJvdG90eXBlLmVyYXllYXIKK2Rlc2NyaXB0aW9uOiBUaHJvdyBhIFR5
cGVFcnJvciBpZiB0aGUgcmVjZWl2ZXIgaXMgaW52YWxpZAorZmVhdHVyZXM6IFtTeW1ib2wsIFRl
bXBvcmFsXQorLS0tKi8KKworY29uc3QgZXJhWWVhciA9IFRlbXBvcmFsLkNhbGVuZGFyLnByb3Rv
dHlwZS5lcmFZZWFyOworCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBlcmFZZWFyLCAiZnVuY3Rp
b24iKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh1bmRl
ZmluZWQpLCAidW5kZWZpbmVkIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJh
WWVhci5jYWxsKG51bGwpLCAibnVsbCIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IGVyYVllYXIuY2FsbCh0cnVlKSwgInRydWUiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiBlcmFZZWFyLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5nIik7Cithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCgxKSwgIjEiKTsKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoe30pLCAicGxhaW4gb2JqZWN0Iik7
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLkNh
bGVuZGFyKSwgIlRlbXBvcmFsLkNhbGVuZGFyIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLkNhbGVuZGFyLnByb3RvdHlwZSksICJUZW1wb3Jh
bC5DYWxlbmRhci5wcm90b3R5cGUiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvVGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9lcmEvYnJhbmRpbmcuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUv
ZXJhL2JyYW5kaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwZjMzMzM3ZDNhMTdhMDczNzkwNTIwYTAyNTlj
MGUzNDk5YmNjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL1RlbXBvcmFsL1BsYWluRGF0ZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzCkBAIC0wLDAg
KzEsMjIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtdGVtcG9yYWwu
cGxhaW5kYXRlLnByb3RvdHlwZS5lcmEKK2Rlc2NyaXB0aW9uOiBUaHJvdyBhIFR5cGVFcnJvciBp
ZiB0aGUgcmVjZWl2ZXIgaXMgaW52YWxpZAorZmVhdHVyZXM6IFtTeW1ib2wsIFRlbXBvcmFsXQor
LS0tKi8KKworY29uc3QgZXJhID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUZW1w
b3JhbC5QbGFpbkRhdGUucHJvdG90eXBlLCAiZXJhIikuZ2V0OworCithc3NlcnQuc2FtZVZhbHVl
KHR5cGVvZiBlcmEsICJmdW5jdGlvbiIpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gZXJhLmNhbGwodW5kZWZpbmVkKSwgInVuZGVmaW5lZCIpOworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IGVyYS5jYWxsKG51bGwpLCAibnVsbCIpOworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IGVyYS5jYWxsKHRydWUpLCAidHJ1ZSIpOworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IGVyYS5jYWxsKCIiKSwgImVtcHR5IHN0cmluZyIpOworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKDEpLCAiMSIpOworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHt9KSwgInBsYWluIG9iamVjdCIpOworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFRlbXBvcmFsLlBsYWluRGF0ZSksICJU
ZW1wb3JhbC5QbGFpbkRhdGUiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmEu
Y2FsbChUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90eXBlKSwgIlRlbXBvcmFsLlBsYWluRGF0ZS5w
cm90b3R5cGUiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvVGVt
cG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9QbGFpbkRhdGUvcHJvdG90eXBlL2VyYVllYXIv
YnJhbmRpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGIzNzA4NjljN2ZiNTEzY2NjMGY1MWM3Y2QwZTI1Mzhl
MjI0Y2U5YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
VGVtcG9yYWwvUGxhaW5EYXRlL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCkBAIC0wLDAg
KzEsMjIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtdGVtcG9yYWwu
cGxhaW5kYXRlLnByb3RvdHlwZS5lcmF5ZWFyCitkZXNjcmlwdGlvbjogVGhyb3cgYSBUeXBlRXJy
b3IgaWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQKK2ZlYXR1cmVzOiBbU3ltYm9sLCBUZW1wb3Jh
bF0KKy0tLSovCisKK2NvbnN0IGVyYVllYXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUsICJlcmFZZWFyIikuZ2V0OworCithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBlcmFZZWFyLCAiZnVuY3Rpb24iKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh1bmRlZmluZWQpLCAidW5kZWZpbmVkIik7
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKG51bGwpLCAibnVs
bCIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh0cnVlKSwg
InRydWUiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoIiIp
LCAiZW1wdHkgc3RyaW5nIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVh
ci5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IGVyYVllYXIuY2FsbCgxKSwgIjEiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiBlcmFZZWFyLmNhbGwoe30pLCAicGxhaW4gb2JqZWN0Iik7Cithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLlBsYWluRGF0ZSksICJUZW1wb3JhbC5Q
bGFpbkRhdGUiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwo
VGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlwZSksICJUZW1wb3JhbC5QbGFpbkRhdGUucHJvdG90
eXBlIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL1RlbXBvcmFs
L1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2ludGw0MDIvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5cGUvZXJhL2JyYW5k
aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg1MTUyMjIwOWQ1NzljOWZlZjhkN2QxYWEwMDZkZjVjZTI3MTVi
Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL1RlbXBv
cmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYS9icmFuZGluZy5qcwpAQCAtMCwwICsxLDIy
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZ2V0LXRlbXBvcmFsLnBsYWlu
ZGF0ZXRpbWUucHJvdG90eXBlLmVyYQorZGVzY3JpcHRpb246IFRocm93IGEgVHlwZUVycm9yIGlm
IHRoZSByZWNlaXZlciBpcyBpbnZhbGlkCitmZWF0dXJlczogW1N5bWJvbCwgVGVtcG9yYWxdCist
LS0qLworCitjb25zdCBlcmEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFRlbXBv
cmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlLCAiZXJhIikuZ2V0OworCithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBlcmEsICJmdW5jdGlvbiIpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4gZXJhLmNhbGwodW5kZWZpbmVkKSwgInVuZGVmaW5lZCIpOworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKG51bGwpLCAibnVsbCIpOworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHRydWUpLCAidHJ1ZSIpOworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKCIiKSwgImVtcHR5IHN0cmluZyIpOworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKDEpLCAiMSIpOworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHt9KSwgInBsYWluIG9iamVjdCIpOworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFRlbXBvcmFsLlBsYWluRGF0ZVRp
bWUpLCAiVGVtcG9yYWwuUGxhaW5EYXRlVGltZSIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IGVyYS5jYWxsKFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlKSwgIlRlbXBv
cmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL1RlbXBvcmFsL1BsYWluRGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIv
YnJhbmRpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL1RlbXBvcmFsL1BsYWlu
RGF0ZVRpbWUvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJiZjA4
Yzc5OGZjOWYzNDBkNTUyMTA4MjJiMjJhN2Q4OWNhYmMyMAotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9wcm90b3R5
cGUvZXJhWWVhci9icmFuZGluZy5qcwpAQCAtMCwwICsxLDIyIEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjEgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZ2V0LXRlbXBvcmFsLnBsYWluZGF0ZXRpbWUucHJvdG90eXBlLmVy
YXllYXIKK2Rlc2NyaXB0aW9uOiBUaHJvdyBhIFR5cGVFcnJvciBpZiB0aGUgcmVjZWl2ZXIgaXMg
aW52YWxpZAorZmVhdHVyZXM6IFtTeW1ib2wsIFRlbXBvcmFsXQorLS0tKi8KKworY29uc3QgZXJh
WWVhciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVGVtcG9yYWwuUGxhaW5EYXRl
VGltZS5wcm90b3R5cGUsICJlcmFZZWFyIikuZ2V0OworCithc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiBlcmFZZWFyLCAiZnVuY3Rpb24iKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IGVyYVllYXIuY2FsbCh1bmRlZmluZWQpLCAidW5kZWZpbmVkIik7Cithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKG51bGwpLCAibnVsbCIpOworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh0cnVlKSwgInRydWUiKTsKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5nIik7
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKFN5bWJvbCgpKSwg
InN5bWJvbCIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCgx
KSwgIjEiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoe30p
LCAicGxhaW4gb2JqZWN0Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVh
ci5jYWxsKFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUpLCAiVGVtcG9yYWwuUGxhaW5EYXRlVGltZSIp
OworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbChUZW1wb3JhbC5Q
bGFpbkRhdGVUaW1lLnByb3RvdHlwZSksICJUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLnByb3RvdHlw
ZSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9Q
bGFpblllYXJNb250aC9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUvZXJhL2JyYW5k
aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgwNWRlNzc0MjMzYmE3MTUwOThjNGVjNTMzYTc3Y2UxOTZiZTE4
M2YKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL1RlbXBv
cmFsL1BsYWluWWVhck1vbnRoL3Byb3RvdHlwZS9lcmEvYnJhbmRpbmcuanMKQEAgLTAsMCArMSwy
MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWdldC10ZW1wb3JhbC5wbGFp
bnllYXJtb250aC5wcm90b3R5cGUuZXJhCitkZXNjcmlwdGlvbjogVGhyb3cgYSBUeXBlRXJyb3Ig
aWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQKK2ZlYXR1cmVzOiBbU3ltYm9sLCBUZW1wb3JhbF0K
Ky0tLSovCisKK2NvbnN0IGVyYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVGVt
cG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLCAiZXJhIikuZ2V0OworCithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBlcmEsICJmdW5jdGlvbiIpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4gZXJhLmNhbGwodW5kZWZpbmVkKSwgInVuZGVmaW5lZCIpOworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKG51bGwpLCAibnVsbCIpOworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHRydWUpLCAidHJ1ZSIpOworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKCIiKSwgImVtcHR5IHN0cmluZyIpOworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFN5bWJvbCgpKSwgInN5bWJvbCIpOwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKDEpLCAiMSIpOworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKHt9KSwgInBsYWluIG9iamVjdCIpOwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYS5jYWxsKFRlbXBvcmFsLlBsYWluWWVh
ck1vbnRoKSwgIlRlbXBvcmFsLlBsYWluWWVhck1vbnRoIik7Cithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlKSwg
IlRlbXBvcmFsLlBsYWluWWVhck1vbnRoLnByb3RvdHlwZSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9QbGFpblllYXJNb250aC9wcm90b3R5cGUv
ZXJhWWVhci9icmFuZGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvVGVtcG9y
YWwvUGxhaW5ZZWFyTW9udGgvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjM3MTdmMzFlNjZhZDRiNjMzZTVlNGJjZTA3Y2Y5OTg2Y2I0OTUxOAotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvVGVtcG9yYWwvUGxhaW5ZZWFyTW9u
dGgvcHJvdG90eXBlL2VyYVllYXIvYnJhbmRpbmcuanMKQEAgLTAsMCArMSwyMiBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIxIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWdldC10ZW1wb3JhbC5wbGFpbnllYXJtb250aC5w
cm90b3R5cGUuZXJheWVhcgorZGVzY3JpcHRpb246IFRocm93IGEgVHlwZUVycm9yIGlmIHRoZSBy
ZWNlaXZlciBpcyBpbnZhbGlkCitmZWF0dXJlczogW1N5bWJvbCwgVGVtcG9yYWxdCistLS0qLwor
Citjb25zdCBlcmFZZWFyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUZW1wb3Jh
bC5QbGFpblllYXJNb250aC5wcm90b3R5cGUsICJlcmFZZWFyIikuZ2V0OworCithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBlcmFZZWFyLCAiZnVuY3Rpb24iKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh1bmRlZmluZWQpLCAidW5kZWZpbmVkIik7Cithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKG51bGwpLCAibnVsbCIpOwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCh0cnVlKSwgInRydWUi
KTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwoIiIpLCAiZW1w
dHkgc3RyaW5nIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxs
KFN5bWJvbCgpKSwgInN5bWJvbCIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVy
YVllYXIuY2FsbCgxKSwgIjEiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZ
ZWFyLmNhbGwoe30pLCAicGxhaW4gb2JqZWN0Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4gZXJhWWVhci5jYWxsKFRlbXBvcmFsLlBsYWluWWVhck1vbnRoKSwgIlRlbXBvcmFsLlBs
YWluWWVhck1vbnRoIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5j
YWxsKFRlbXBvcmFsLlBsYWluWWVhck1vbnRoLnByb3RvdHlwZSksICJUZW1wb3JhbC5QbGFpblll
YXJNb250aC5wcm90b3R5cGUiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2lu
dGw0MDIvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9ab25lZERhdGVUaW1lL3Byb3Rv
dHlwZS9lcmEvYnJhbmRpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU2NmJhMTIyMzgxYTMwNjFjNjk2NGI3
MWU3ZWNkYWZiNGRkMGQ5MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZXJhL2JyYW5kaW5nLmpz
CkBAIC0wLDAgKzEsMjIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQt
dGVtcG9yYWwuem9uZWRkYXRldGltZS5wcm90b3R5cGUuZXJhCitkZXNjcmlwdGlvbjogVGhyb3cg
YSBUeXBlRXJyb3IgaWYgdGhlIHJlY2VpdmVyIGlzIGludmFsaWQKK2ZlYXR1cmVzOiBbU3ltYm9s
LCBUZW1wb3JhbF0KKy0tLSovCisKK2NvbnN0IGVyYSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUsICJlcmEiKS5nZXQ7CisK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGVyYSwgImZ1bmN0aW9uIik7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiBlcmEuY2FsbCh1bmRlZmluZWQpLCAidW5kZWZpbmVkIik7Cith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwobnVsbCksICJudWxsIik7Cith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwodHJ1ZSksICJ0cnVlIik7Cith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoIiIpLCAiZW1wdHkgc3RyaW5n
Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoU3ltYm9sKCkpLCAi
c3ltYm9sIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoMSksICIx
Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoe30pLCAicGxhaW4g
b2JqZWN0Iik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9y
YWwuWm9uZWREYXRlVGltZSksICJUZW1wb3JhbC5ab25lZERhdGVUaW1lIik7Cithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhLmNhbGwoVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90
b3R5cGUpLCAiVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUiKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90
b3R5cGUvZXJhWWVhci9icmFuZGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
VGVtcG9yYWwvWm9uZWREYXRlVGltZS9wcm90b3R5cGUvZXJhWWVhci9icmFuZGluZy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mM2EwZDEwNWMwMjQwYWNkNGIwYjY2NDkzMGU2ZmRlMDI5NGU4ZDM3Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9UZW1wb3JhbC9ab25lZERh
dGVUaW1lL3Byb3RvdHlwZS9lcmFZZWFyL2JyYW5kaW5nLmpzCkBAIC0wLDAgKzEsMjIgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXQtdGVtcG9yYWwuem9uZWRkYXRldGlt
ZS5wcm90b3R5cGUuZXJheWVhcgorZGVzY3JpcHRpb246IFRocm93IGEgVHlwZUVycm9yIGlmIHRo
ZSByZWNlaXZlciBpcyBpbnZhbGlkCitmZWF0dXJlczogW1N5bWJvbCwgVGVtcG9yYWxdCistLS0q
LworCitjb25zdCBlcmFZZWFyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUZW1w
b3JhbC5ab25lZERhdGVUaW1lLnByb3RvdHlwZSwgImVyYVllYXIiKS5nZXQ7CisKK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIGVyYVllYXIsICJmdW5jdGlvbiIpOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKHVuZGVmaW5lZCksICJ1bmRlZmluZWQiKTsKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNhbGwobnVsbCksICJudWxsIik7
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5jYWxsKHRydWUpLCAidHJ1
ZSIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVyYVllYXIuY2FsbCgiIiksICJl
bXB0eSBzdHJpbmciKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiBlcmFZZWFyLmNh
bGwoU3ltYm9sKCkpLCAic3ltYm9sIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4g
ZXJhWWVhci5jYWxsKDEpLCAiMSIpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IGVy
YVllYXIuY2FsbCh7fSksICJwbGFpbiBvYmplY3QiKTsKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiBlcmFZZWFyLmNhbGwoVGVtcG9yYWwuWm9uZWREYXRlVGltZSksICJUZW1wb3JhbC5a
b25lZERhdGVUaW1lIik7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gZXJhWWVhci5j
YWxsKFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUucHJvdG90eXBlKSwgIlRlbXBvcmFsLlpvbmVkRGF0
ZVRpbWUucHJvdG90eXBlIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9jb21tZW50cy9TNy40X0E2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
Y29tbWVudHMvUzcuNF9BNi5qcwppbmRleCA3MDQyYjdiNWJjYzgyYmFlOGRjNzc1ZmVkMzFiYmUw
ZDFmMGQ0ZWM4Li4xNTAyZmQ3MzVlYWUyMTZhZjM5N2RiZTYwNDg1ZmU4M2IzY2Y2Mzk0IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9jb21tZW50cy9TNy40X0E2Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2NvbW1lbnRzL1M3LjRfQTYuanMK
QEAgLTcsNDEgKzcsMTggQEAKICAgICBjaGFyYWN0ZXIKIGVzNWlkOiA3LjRfQTYKIGRlc2NyaXB0
aW9uOiAiXCJ2YXJcIisgeXkrIFwieHggPSAxXCIsIGluc2VydCBpbnN0ZWFkIG9mIHl5IGFsbCBV
bmljb2RlIGNoYXJhY3RlcnMiCitpbmNsdWRlczogW2RlY2ltYWxUb0hleFN0cmluZy5qc10KIC0t
LSovCiAKIGZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8PSA2NTUzNTsgaW5kZXhJKyspIHsK
ICAgdHJ5IHsKICAgICB2YXIgeHggPSAwOwogICAgIGV2YWwoIi8qdmFyICIgKyBTdHJpbmcuZnJv
bUNoYXJDb2RlKGluZGV4SSkgKyAieHggPSAxKi8iKTsKLSAgICB2YXIgaGV4ID0gZGVjaW1hbFRv
SGV4U3RyaW5nKGluZGV4SSk7Ci0gICAgaWYgKHh4ICE9PSAwKSB7Ci0gICAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCcjJyArIGhleCArICcgJyk7Ci0gICAgfQorICAgIHZhciBkaWZmZXJzID0g
eHggIT09IDA7CiAgIH0gY2F0Y2ggKGUpewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMn
ICsgaGV4ICsgJyAnKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjJyArIGRlY2ltYWxU
b0hleFN0cmluZyhpbmRleEkpICsgJyB0aHJvd3MnKTsKICAgfQotfQotCi1mdW5jdGlvbiBkZWNp
bWFsVG9IZXhTdHJpbmcobikgewotICBuID0gTnVtYmVyKG4pOwotICB2YXIgaCA9ICIiOwotICBm
b3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKLSAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwg
aSkpIHsKLSAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKLSAg
ICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKLSAgICAgIGlmICggdCA+PSAxMCApIHsKLSAg
ICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQotICAgICAgICBpZiAoIHQgPT0gMTEg
KSB7IGggKz0gIkIiOyB9Ci0gICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KLSAg
ICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQotICAgICAgICBpZiAoIHQgPT0gMTQg
KSB7IGggKz0gIkUiOyB9Ci0gICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KLSAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGggKz0gU3RyaW5nKHQpOwotICAgICAgfQotICAgIH0gZWxz
ZSB7Ci0gICAgICBoICs9ICIwIjsKLSAgICB9CisgIGlmIChkaWZmZXJzKSB7CisgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignIycgKyBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhJKSArICcgZGlm
ZmVycycpOwogICB9Ci0gIHJldHVybiBoOwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVhbG0tY2xhc3MtY29u
c3RydWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2Fs
bC90Y28tY3Jvc3MtcmVhbG0tY2xhc3MtY29uc3RydWN0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4OWVhODE3ZWNmODQ4YzlkMGMxZjVlZjdjZTcwMTgzYThmODRiZDYzLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NhbGwvdGNvLWNyb3NzLXJlYWxtLWNsYXNzLWNv
bnN0cnVjdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLS8vIENvcHlyaWdodCAo
QykgMjAxNyBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1jYWxscy1ydW50aW1lLXNlbWFudGljcy1l
dmFsdWF0aW9uCi1kZXNjcmlwdGlvbjogPgotICBDaGVjayBUeXBlRXJyb3IgaXMgdGhyb3duIGZy
b20gY29ycmVjdCByZWFsbSB3aXRoIHRjby1jYWxsIHRvIGNsYXNzIGNvbnN0cnVjdG9yIGZyb20g
ZGVyaXZlZAotICBjbGFzcyBbW0NvbnN0cnVjdF1dIGludm9jYXRpb24uCi1pbmZvOiB8Ci0gIDEy
LjMuNC4zIFJ1bnRpbWUgU2VtYW50aWNzOiBFdmFsdWF0ZURpcmVjdENhbGwoIGZ1bmMsIHRoaXNW
YWx1ZSwgYXJndW1lbnRzLCB0YWlsUG9zaXRpb24gKQotICAgIC4uLgotICAgIDQuIElmIHRhaWxQ
b3NpdGlvbiBpcyB0cnVlLCBwZXJmb3JtIFByZXBhcmVGb3JUYWlsQ2FsbCgpLgotICAgIDUuIExl
dCByZXN1bHQgYmUgQ2FsbChmdW5jLCB0aGlzVmFsdWUsIGFyZ0xpc3QpLgotICAgIDYuIEFzc2Vy
dDogSWYgdGFpbFBvc2l0aW9uIGlzIHRydWUsIHRoZSBhYm92ZSBjYWxsIHdpbGwgbm90IHJldHVy
biBoZXJlLCBidXQgaW5zdGVhZCBldmFsdWF0aW9uIHdpbGwgY29udGludWUgYXMgaWYgdGhlIGZv
bGxvd2luZyByZXR1cm4gaGFzIGFscmVhZHkgb2NjdXJyZWQuCi0gICAgNy4gQXNzZXJ0OiBJZiBy
ZXN1bHQgaXMgbm90IGFuIGFicnVwdCBjb21wbGV0aW9uLCB0aGVuIFR5cGUocmVzdWx0KSBpcyBh
biBFQ01BU2NyaXB0IGxhbmd1YWdlIHR5cGUuCi0gICAgOC4gUmV0dXJuIHJlc3VsdC4KLQotICA5
LjIuMSBbW0NhbGxdXSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKLSAgICAuLi4KLSAg
ICAyLiBJZiBGLltbRnVuY3Rpb25LaW5kXV0gaXMgImNsYXNzQ29uc3RydWN0b3IiLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCi0gICAgMy4gTGV0IGNhbGxlckNvbnRleHQgYmUgdGhlIHJ1
bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQuCi0gICAgNC4gTGV0IGNhbGxlZUNvbnRleHQgYmUgUHJl
cGFyZUZvck9yZGluYXJ5Q2FsbChGLCB1bmRlZmluZWQpLgotICAgIDUuIEFzc2VydDogY2FsbGVl
Q29udGV4dCBpcyBub3cgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQuCi0gICAgLi4uCi0K
LWZlYXR1cmVzOiBbdGFpbC1jYWxsLW9wdGltaXphdGlvbiwgY2xhc3MsIGNyb3NzLXJlYWxtXQot
LS0tKi8KLQotLy8gLSBUaGUgY2xhc3MgY29uc3RydWN0b3IgY2FsbCBpcyBpbiBhIHZhbGlkIHRh
aWwtY2FsbCBwb3NpdGlvbiwgd2hpY2ggbWVhbnMgUHJlcGFyZUZvclRhaWxDYWxsIGlzIHBlcmZv
cm1lZC4KLS8vIC0gVGhlIGZ1bmN0aW9uIGNhbGwgcmV0dXJucyBmcm9tIGBvdGhlclJlYWxtYCBh
bmQgcHJvY2VlZHMgdGhlIHRhaWwtY2FsbCBpbiB0aGlzIHJlYWxtLgotLy8gLSBDYWxsaW5nIHRo
ZSBjbGFzcyBjb25zdHJ1Y3RvciB0aHJvd3MgYSBUeXBlRXJyb3IgZnJvbSB0aGUgY3VycmVudCBy
ZWFsbSwgdGhhdCBtZWFucyB0aGlzIHJlYWxtIGFuZCBub3QgYG90aGVyUmVhbG1gLgotdmFyIGNv
ZGUgPSAiKGNsYXNzIHsgY29uc3RydWN0b3IoKSB7IHJldHVybiAoY2xhc3Mge30pKCk7IH0gfSk7
IjsKLQotdmFyIG90aGVyUmVhbG0gPSAkMjYyLmNyZWF0ZVJlYWxtKCk7Ci12YXIgdGNvID0gb3Ro
ZXJSZWFsbS5ldmFsU2NyaXB0KGNvZGUpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7Ci0gIG5ldyB0Y28oKTsKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVhbG0tY2xhc3MtZGVy
aXZlZC1jb25zdHJ1Y3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jYWxsL3Rjby1jcm9zcy1yZWFsbS1jbGFzcy1kZXJpdmVkLWNvbnN0cnVjdC5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRmYTdiNDI5MWFiZDYxOGVmNWM3NmExMTlkNDNm
ZjhkNDYxY2VlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jYWxsL3Rjby1jcm9z
cy1yZWFsbS1jbGFzcy1kZXJpdmVkLWNvbnN0cnVjdC5qcworKysgL2Rldi9udWxsCkBAIC0xLDM5
ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNyBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzaWQ6IHNlYy1mdW5jdGlvbi1j
YWxscy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1kZXNjcmlwdGlvbjogPgotICBDaGVj
ayBUeXBlRXJyb3IgaXMgdGhyb3duIGZyb20gY29ycmVjdCByZWFsbSB3aXRoIHRjby1jYWxsIHRv
IGNsYXNzIGNvbnN0cnVjdG9yIGZyb20KLSAgY2xhc3MgW1tDb25zdHJ1Y3RdXSBpbnZvY2F0aW9u
LgotaW5mbzogfAotICAxMi4zLjQuMyBSdW50aW1lIFNlbWFudGljczogRXZhbHVhdGVEaXJlY3RD
YWxsKCBmdW5jLCB0aGlzVmFsdWUsIGFyZ3VtZW50cywgdGFpbFBvc2l0aW9uICkKLSAgICAuLi4K
LSAgICA0LiBJZiB0YWlsUG9zaXRpb24gaXMgdHJ1ZSwgcGVyZm9ybSBQcmVwYXJlRm9yVGFpbENh
bGwoKS4KLSAgICA1LiBMZXQgcmVzdWx0IGJlIENhbGwoZnVuYywgdGhpc1ZhbHVlLCBhcmdMaXN0
KS4KLSAgICA2LiBBc3NlcnQ6IElmIHRhaWxQb3NpdGlvbiBpcyB0cnVlLCB0aGUgYWJvdmUgY2Fs
bCB3aWxsIG5vdCByZXR1cm4gaGVyZSwgYnV0IGluc3RlYWQgZXZhbHVhdGlvbiB3aWxsIGNvbnRp
bnVlIGFzIGlmIHRoZSBmb2xsb3dpbmcgcmV0dXJuIGhhcyBhbHJlYWR5IG9jY3VycmVkLgotICAg
IDcuIEFzc2VydDogSWYgcmVzdWx0IGlzIG5vdCBhbiBhYnJ1cHQgY29tcGxldGlvbiwgdGhlbiBU
eXBlKHJlc3VsdCkgaXMgYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB0eXBlLgotICAgIDguIFJldHVy
biByZXN1bHQuCi0KLSAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50c0xp
c3QpCi0gICAgLi4uCi0gICAgMi4gSWYgRi5bW0Z1bmN0aW9uS2luZF1dIGlzICJjbGFzc0NvbnN0
cnVjdG9yIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgotICAgIDMuIExldCBjYWxsZXJD
b250ZXh0IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIDQuIExldCBjYWxs
ZWVDb250ZXh0IGJlIFByZXBhcmVGb3JPcmRpbmFyeUNhbGwoRiwgdW5kZWZpbmVkKS4KLSAgICA1
LiBBc3NlcnQ6IGNhbGxlZUNvbnRleHQgaXMgbm93IHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250
ZXh0LgotICAgIC4uLgotCi1mZWF0dXJlczogW3RhaWwtY2FsbC1vcHRpbWl6YXRpb24sIGNsYXNz
LCBjcm9zcy1yZWFsbV0KLS0tLSovCi0KLS8vIC0gVGhlIGNsYXNzIGNvbnN0cnVjdG9yIGNhbGwg
aXMgaW4gYSB2YWxpZCB0YWlsLWNhbGwgcG9zaXRpb24sIHdoaWNoIG1lYW5zIFByZXBhcmVGb3JU
YWlsQ2FsbCBpcyBwZXJmb3JtZWQuCi0vLyAtIFRoZSBmdW5jdGlvbiBjYWxsIHJldHVybnMgZnJv
bSBgb3RoZXJSZWFsbWAgYW5kIHByb2NlZWRzIHRoZSB0YWlsLWNhbGwgaW4gdGhpcyByZWFsbS4K
LS8vIC0gQ2FsbGluZyB0aGUgY2xhc3MgY29uc3RydWN0b3IgdGhyb3dzIGEgVHlwZUVycm9yIGZy
b20gdGhlIGN1cnJlbnQgcmVhbG0sIHRoYXQgbWVhbnMgdGhpcyByZWFsbSBhbmQgbm90IGBvdGhl
clJlYWxtYC4KLXZhciBjb2RlID0gIihjbGFzcyBleHRlbmRzIE9iamVjdCB7IGNvbnN0cnVjdG9y
KCkgeyByZXR1cm4gKGNsYXNzIHt9KSgpOyB9IH0pOyI7Ci0KLXZhciBvdGhlclJlYWxtID0gJDI2
Mi5jcmVhdGVSZWFsbSgpOwotdmFyIHRjbyA9IG90aGVyUmVhbG0uZXZhbFNjcmlwdChjb2RlKTsK
LQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBuZXcgdGNvKCk7Ci19
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NhbGwvdGNvLWNyb3NzLXJlYWxtLWZ1bi1jYWxsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVhbG0tZnVuLWNhbGwuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNWE2MTFlOTFhMTA3MDVmNjAzMmE5ZGU0M2Q3
NTk4OTVhZmM3ZTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jv
c3MtcmVhbG0tZnVuLWNhbGwuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vLyBD
b3B5cmlnaHQgKEMpIDIwMTcgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBzZWMtZnVuY3Rpb24tY2FsbHMtcnVudGltZS1z
ZW1hbnRpY3MtZXZhbHVhdGlvbgotZGVzY3JpcHRpb246ID4KLSAgQ2hlY2sgVHlwZUVycm9yIGlz
IHRocm93biBmcm9tIGNvcnJlY3QgcmVhbG0gd2l0aCB0Y28tY2FsbCB0byBjbGFzcyBjb25zdHJ1
Y3RvciBmcm9tIFtbQ2FsbF1dIGludm9jYXRpb24uCi1pbmZvOiB8Ci0gIDEyLjMuNC4zIFJ1bnRp
bWUgU2VtYW50aWNzOiBFdmFsdWF0ZURpcmVjdENhbGwoIGZ1bmMsIHRoaXNWYWx1ZSwgYXJndW1l
bnRzLCB0YWlsUG9zaXRpb24gKQotICAgIC4uLgotICAgIDQuIElmIHRhaWxQb3NpdGlvbiBpcyB0
cnVlLCBwZXJmb3JtIFByZXBhcmVGb3JUYWlsQ2FsbCgpLgotICAgIDUuIExldCByZXN1bHQgYmUg
Q2FsbChmdW5jLCB0aGlzVmFsdWUsIGFyZ0xpc3QpLgotICAgIDYuIEFzc2VydDogSWYgdGFpbFBv
c2l0aW9uIGlzIHRydWUsIHRoZSBhYm92ZSBjYWxsIHdpbGwgbm90IHJldHVybiBoZXJlLCBidXQg
aW5zdGVhZCBldmFsdWF0aW9uIHdpbGwgY29udGludWUgYXMgaWYgdGhlIGZvbGxvd2luZyByZXR1
cm4gaGFzIGFscmVhZHkgb2NjdXJyZWQuCi0gICAgNy4gQXNzZXJ0OiBJZiByZXN1bHQgaXMgbm90
IGFuIGFicnVwdCBjb21wbGV0aW9uLCB0aGVuIFR5cGUocmVzdWx0KSBpcyBhbiBFQ01BU2NyaXB0
IGxhbmd1YWdlIHR5cGUuCi0gICAgOC4gUmV0dXJuIHJlc3VsdC4KLQotICA5LjIuMSBbW0NhbGxd
XSAoIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCkKLSAgICAuLi4KLSAgICAyLiBJZiBGLltb
RnVuY3Rpb25LaW5kXV0gaXMgImNsYXNzQ29uc3RydWN0b3IiLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCi0gICAgMy4gTGV0IGNhbGxlckNvbnRleHQgYmUgdGhlIHJ1bm5pbmcgZXhlY3V0
aW9uIGNvbnRleHQuCi0gICAgNC4gTGV0IGNhbGxlZUNvbnRleHQgYmUgUHJlcGFyZUZvck9yZGlu
YXJ5Q2FsbChGLCB1bmRlZmluZWQpLgotICAgIDUuIEFzc2VydDogY2FsbGVlQ29udGV4dCBpcyBu
b3cgdGhlIHJ1bm5pbmcgZXhlY3V0aW9uIGNvbnRleHQuCi0gICAgLi4uCi0KLWZlYXR1cmVzOiBb
dGFpbC1jYWxsLW9wdGltaXphdGlvbiwgY2xhc3MsIGNyb3NzLXJlYWxtXQotLS0tKi8KLQotLy8g
LSBUaGUgY2xhc3MgY29uc3RydWN0b3IgY2FsbCBpcyBpbiBhIHZhbGlkIHRhaWwtY2FsbCBwb3Np
dGlvbiwgd2hpY2ggbWVhbnMgUHJlcGFyZUZvclRhaWxDYWxsIGlzIHBlcmZvcm1lZC4KLS8vIC0g
VGhlIGZ1bmN0aW9uIGNhbGwgcmV0dXJucyBmcm9tIGBvdGhlclJlYWxtYCBhbmQgcHJvY2VlZHMg
dGhlIHRhaWwtY2FsbCBpbiB0aGlzIHJlYWxtLgotLy8gLSBDYWxsaW5nIHRoZSBjbGFzcyBjb25z
dHJ1Y3RvciB0aHJvd3MgYSBUeXBlRXJyb3IgZnJvbSB0aGUgY3VycmVudCByZWFsbSwgdGhhdCBt
ZWFucyB0aGlzIHJlYWxtIGFuZCBub3QgYG90aGVyUmVhbG1gLgotdmFyIGNvZGUgPSAiJ3VzZSBz
dHJpY3QnOyAoZnVuY3Rpb24oKSB7IHJldHVybiAoY2xhc3Mge30pKCk7IH0pOyI7Ci0KLXZhciBv
dGhlclJlYWxtID0gJDI2Mi5jcmVhdGVSZWFsbSgpOwotdmFyIHRjbyA9IG90aGVyUmVhbG0uZXZh
bFNjcmlwdChjb2RlKTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewot
ICB0Y28oKTsKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVhbG0tZnVuLWNvbnN0cnVjdC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NhbGwvdGNvLWNyb3NzLXJlYWxt
LWZ1bi1jb25zdHJ1Y3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExYzJhNTgy
ZjFlZDg2NWY1MjExMjM2YjBkZDQ3YzJmOGFlZDcyNjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2FsbC90Y28tY3Jvc3MtcmVhbG0tZnVuLWNvbnN0cnVjdC5qcworKysgL2Rldi9u
dWxsCkBAIC0xLDM4ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNyBBbmRyw6kgQmFyZ3Vs
bC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzaWQ6IHNl
Yy1mdW5jdGlvbi1jYWxscy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1kZXNjcmlwdGlv
bjogPgotICBDaGVjayBUeXBlRXJyb3IgaXMgdGhyb3duIGZyb20gY29ycmVjdCByZWFsbSB3aXRo
IHRjby1jYWxsIHRvIGNsYXNzIGNvbnN0cnVjdG9yIGZyb20gW1tDb25zdHJ1Y3RdXSBpbnZvY2F0
aW9uLgotaW5mbzogfAotICAxMi4zLjQuMyBSdW50aW1lIFNlbWFudGljczogRXZhbHVhdGVEaXJl
Y3RDYWxsKCBmdW5jLCB0aGlzVmFsdWUsIGFyZ3VtZW50cywgdGFpbFBvc2l0aW9uICkKLSAgICAu
Li4KLSAgICA0LiBJZiB0YWlsUG9zaXRpb24gaXMgdHJ1ZSwgcGVyZm9ybSBQcmVwYXJlRm9yVGFp
bENhbGwoKS4KLSAgICA1LiBMZXQgcmVzdWx0IGJlIENhbGwoZnVuYywgdGhpc1ZhbHVlLCBhcmdM
aXN0KS4KLSAgICA2LiBBc3NlcnQ6IElmIHRhaWxQb3NpdGlvbiBpcyB0cnVlLCB0aGUgYWJvdmUg
Y2FsbCB3aWxsIG5vdCByZXR1cm4gaGVyZSwgYnV0IGluc3RlYWQgZXZhbHVhdGlvbiB3aWxsIGNv
bnRpbnVlIGFzIGlmIHRoZSBmb2xsb3dpbmcgcmV0dXJuIGhhcyBhbHJlYWR5IG9jY3VycmVkLgot
ICAgIDcuIEFzc2VydDogSWYgcmVzdWx0IGlzIG5vdCBhbiBhYnJ1cHQgY29tcGxldGlvbiwgdGhl
biBUeXBlKHJlc3VsdCkgaXMgYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB0eXBlLgotICAgIDguIFJl
dHVybiByZXN1bHQuCi0KLSAgOS4yLjEgW1tDYWxsXV0gKCB0aGlzQXJndW1lbnQsIGFyZ3VtZW50
c0xpc3QpCi0gICAgLi4uCi0gICAgMi4gSWYgRi5bW0Z1bmN0aW9uS2luZF1dIGlzICJjbGFzc0Nv
bnN0cnVjdG9yIiwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgotICAgIDMuIExldCBjYWxs
ZXJDb250ZXh0IGJlIHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIDQuIExldCBj
YWxsZWVDb250ZXh0IGJlIFByZXBhcmVGb3JPcmRpbmFyeUNhbGwoRiwgdW5kZWZpbmVkKS4KLSAg
ICA1LiBBc3NlcnQ6IGNhbGxlZUNvbnRleHQgaXMgbm93IHRoZSBydW5uaW5nIGV4ZWN1dGlvbiBj
b250ZXh0LgotICAgIC4uLgotCi1mZWF0dXJlczogW3RhaWwtY2FsbC1vcHRpbWl6YXRpb24sIGNs
YXNzLCBjcm9zcy1yZWFsbV0KLS0tLSovCi0KLS8vIC0gVGhlIGNsYXNzIGNvbnN0cnVjdG9yIGNh
bGwgaXMgaW4gYSB2YWxpZCB0YWlsLWNhbGwgcG9zaXRpb24sIHdoaWNoIG1lYW5zIFByZXBhcmVG
b3JUYWlsQ2FsbCBpcyBwZXJmb3JtZWQuCi0vLyAtIFRoZSBmdW5jdGlvbiBjYWxsIHJldHVybnMg
ZnJvbSBgb3RoZXJSZWFsbWAgYW5kIHByb2NlZWRzIHRoZSB0YWlsLWNhbGwgaW4gdGhpcyByZWFs
bS4KLS8vIC0gQ2FsbGluZyB0aGUgY2xhc3MgY29uc3RydWN0b3IgdGhyb3dzIGEgVHlwZUVycm9y
IGZyb20gdGhlIGN1cnJlbnQgcmVhbG0sIHRoYXQgbWVhbnMgdGhpcyByZWFsbSBhbmQgbm90IGBv
dGhlclJlYWxtYC4KLXZhciBjb2RlID0gIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uKCkgeyByZXR1
cm4gKGNsYXNzIHt9KSgpOyB9KTsiOwotCi12YXIgb3RoZXJSZWFsbSA9ICQyNjIuY3JlYXRlUmVh
bG0oKTsKLXZhciB0Y28gPSBvdGhlclJlYWxtLmV2YWxTY3JpcHQoY29kZSk7Ci0KLWFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgbmV3IHRjbygpOwotfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9kaXZpc2lvbi9T
MTEuNS4yX0E0X1Q4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZGl2aXNpb24vUzExLjUuMl9BNF9UOC5qcwppbmRleCA0ZGY5MGMyMzgwY2U0MmVlMDc2YzM4
OGMzOWJjZDgxZDRjMGNlNTcyLi43YzZmNjQ4ZmIxMzViYWUxZDQ1OTlmN2RhYTE3NzA3MjI3ZDc4
YjY5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9kaXZpc2lvbi9TMTEuNS4yX0E0X1Q4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2RpdmlzaW9uL1MxMS41LjJfQTRfVDguanMKQEAgLTMzLDggKzMz
LDggQEAKIGlmICgrMCAvIDEgIT09ICswKSB7CiAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyMz
LjE6ICswIC8gMSA9PT0gMC4gQWN0dWFsOiAnICsgKCswIC8gMSkpOwogfSBlbHNlIHsKLSAgaWYg
KDEgLyAoKzAgLyAtMSkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewotICAgIHRocm93
IG5ldyBUZXN0MjYyRXJyb3IoJyMzLjI6ICswIC8gLTEgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwor
ICBpZiAoMSAvICgrMCAvIDEpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKKyAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCcjMy4yOiArMCAvIDEgPT09ICsgMC4gQWN0dWFsOiAtMCcp
OwogICB9CiB9CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2V4cG9uZW50aWF0aW9uL2FwcGx5aW5nLXRoZS1leHAtb3BlcmF0b3JfQTE1Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRp
b24vYXBwbHlpbmctdGhlLWV4cC1vcGVyYXRvcl9BMTUuanMKaW5kZXggOTM4MzFmYzQ3YjkwOGNh
ZTU2MTkyMGQwOTU4ZDE4YjFhZWQ1MjhiNC4uZTRlYzU5OWQ2YjJlODU1MDMwMmJkYTEyM2Q1MDEw
MmY4M2QzYzcyZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYXBwbHlpbmctdGhlLWV4cC1vcGVyYXRvcl9BMTUuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRp
YXRpb24vYXBwbHlpbmctdGhlLWV4cC1vcGVyYXRvcl9BMTUuanMKQEAgLTE0LDcgKzE0LDUgQEAK
IGV4cG9uZW50c1swXSA9IC0xMTExMTE7CiAKIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwb25lbnRz
Lmxlbmd0aDsgaSsrKSB7Ci0gIGlmICgoYmFzZSAqKiBleHBvbmVudHNbaV0pICE9PSAtMCkgewot
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIigiICsgYmFzZSArICIgKiogIiArIGV4cG9uZW50
c1tpXSArICIpICE9PSAtMCIpOwotICB9CisgIGFzc2VydC5zYW1lVmFsdWUoYmFzZSAqKiBleHBv
bmVudHNbaV0sIC0wLCBiYXNlICsgIiAqKiAiICsgZXhwb25lbnRzW2ldKTsKIH0KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2V4cG9uZW50aWF0
aW9uL2FwcGx5aW5nLXRoZS1leHAtb3BlcmF0b3JfQTE5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYXBwbHlpbmctdGhlLWV4cC1v
cGVyYXRvcl9BMTkuanMKaW5kZXggYzUxMGZkOTVjMGJmNTIzZTQzNjM2MDcwYmRhYWFlNWIzOGQz
MDQ1YS4uZDU2YjhhMGRhYTc1MGRmMWJhMjI3ODM0OGZlMTAyZDkzMGMwZTg3ZSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRp
b24vYXBwbHlpbmctdGhlLWV4cC1vcGVyYXRvcl9BMTkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZXhwb25lbnRpYXRpb24vYXBwbHlpbmctdGhlLWV4
cC1vcGVyYXRvcl9BMTkuanMKQEAgLTE0LDcgKzE0LDUgQEAKIGV4cG9uZW50c1syXSA9IDExMTEx
MTsKIAogZm9yICh2YXIgaSA9IDA7IGkgPCBleHBvbmVudHMubGVuZ3RoOyBpKyspIHsKLSAgaWYg
KChiYXNlICoqIGV4cG9uZW50c1tpXSkgIT09IC0wKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigiKCIgKyBiYXNlICsgIiAqKiAgIiArIGV4cG9uZW50c1tpXSArICIpICE9PSAtMCIpOwot
ICB9CisgIGFzc2VydC5zYW1lVmFsdWUoYmFzZSAqKiBleHBvbmVudHNbaV0sIC0wLCBiYXNlICsg
IiAqKiAgIiArIGV4cG9uZW50c1tpXSk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Jsb2NrL2xhYmVsZWQtY29udGludWUuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Jsb2NrL2xhYmVsZWQtY29udGlu
dWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTdkYTY1YjE5MDhmZTI4MGZmMjJiN2IzMmI3MTI0YTI5ZDc4MjBk
NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvYmxvY2svbGFiZWxlZC1jb250aW51ZS5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjEgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtc3RhdGljLXNlbWFudGljcy1jb250
YWluc3VuZGVmaW5lZGNvbnRpbnVldGFyZ2V0CitkZXNjcmlwdGlvbjogQ2xlYXJzIGxhYmVsIHNl
dCBpbiBjaGVjayBmb3IgdW5kZWZpbmVkIGBjb250aW51ZWAgdGFyZ2V0CitpbmZvOiB8CisgIFdp
dGggYXJndW1lbnRzIGl0ZXJhdGlvblNldCBhbmQgbGFiZWxTZXQuCisKKyAgU3RhdGVtZW50IDog
QmxvY2tTdGF0ZW1lbnQKKworICAxLiBSZXR1cm4gQ29udGFpbnNVbmRlZmluZWRDb250aW51ZVRh
cmdldCBvZiB8QmxvY2tTdGF0ZW1lbnR8IHdpdGggYXJndW1lbnRzCisgICAgIF9pdGVyYXRpb25T
ZXRfIGFuZCDCqyDCuy4KK25lZ2F0aXZlOgorICBwaGFzZTogcGFyc2UKKyAgdHlwZTogU3ludGF4
RXJyb3IKKy0tLSovCisKKyRET05PVEVWQUxVQVRFKCk7CisKK2xhYmVsOiB7CisgIGZvciAoIDs7
ICkgeworICAgIGNvbnRpbnVlIGxhYmVsOworICB9Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL3Rocm93L1MxMi4xM19BMl9UNS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdGhyb3cvUzEyLjEzX0EyX1Q1
LmpzCmluZGV4IDA4ZjRjNDBiYTU0YmViZGFiYTk5NmMyOTkyMWQyODY4YjdiOGI1MTMuLmQ1Njc2
NThlMTBjNTQ0OTY1OTAxNWJiODU2NTZiNjE5YjI5NjM0NjQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdGhyb3cvUzEyLjEzX0EyX1Q1LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvdGhyb3cvUzEyLjEz
X0EyX1Q1LmpzCkBAIC03MSw1ICs3MSw1IEBACiAgIHRocm93IC0wOwogfQogY2F0Y2goZSl7Ci0g
IGlmIChlIT09LTApIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJyM4OiBFeGNlcHRpb24gPT09LTAu
IEFjdHVhbDogIEV4Y2VwdGlvbiA9PT0nKyBlICk7CisgIGFzc2VydC5zYW1lVmFsdWUoZSwgLTAp
OwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy90cnkvUzEyLjE0X0ExOF9UNS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvdHJ5L1MxMi4xNF9BMThfVDUuanMKaW5kZXggN2YzOWE0MDJlZmJkOTdmMWI4YTll
MTM0MGI4N2MyYTUxYWU2MmM3NC4uMjQyYjBjODdjNjBiZjdlMDMxMjlhYmJjODliZTY5ZGM3N2Vk
OWRkNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy90cnkvUzEyLjE0X0ExOF9UNS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL3RyeS9TMTIuMTRfQTE4X1Q1LmpzCkBAIC05Niw1ICs5Niw1IEBACiAgIHRo
cm93IC0wOwogfQogY2F0Y2goZSl7Ci0gIGlmIChlIT09LTApIHRocm93IG5ldyBUZXN0MjYyRXJy
b3IoJyMxMTogRXhjZXB0aW9uID09PS0wLiBBY3R1YWw6ICBFeGNlcHRpb24gPT09JysgZSAgKTsK
KyAgYXNzZXJ0LnNhbWVWYWx1ZShlLCAtMCk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdDI2Mi1SZXZpc2lvbi50eHQgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdDI2Mi1SZXZpc2lv
bi50eHQKaW5kZXggYjQ4NGI0NWQ5MGMxZTJiNzg1ZmEyYjg5YzMxNGQ0ZTI2MjI4M2JiMC4uZTBh
Mjg4NjU4ZGZlZWYxMjk5YjdiMzc3NDI3NjhhZGJjZWY1NzRjZSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QyNjItUmV2aXNpb24udHh0CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
MjYyLVJldmlzaW9uLnR4dApAQCAtMSwyICsxLDIgQEAKIHRlc3QyNjIgcmVtb3RlIHVybDogZ2l0
QGdpdGh1Yi5jb206dGMzOS90ZXN0MjYyLmdpdAotdGVzdDI2MiByZXZpc2lvbjogODM2MTExZGMz
Y2NhNjM0NTU2M2RiZjg2YTJkYmMxMDhhN2UyOTM5YwordGVzdDI2MiByZXZpc2lvbjogOTQ1MDBl
MWRlOTk1ZTM0Y2MyNGUyMjZkNTlkNGMxMzNiNmJiNGI0Ywo=
</data>
<flag name="review"
          id="462515"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
      

    </bug>

</bugzilla>