[OpenAFS-devel] 1.8.0 error building rpms

Todd Lewis utoddl@email.unc.edu
Fri, 13 Apr 2018 14:49:32 -0400


--------------6179D65113E567DFC4D2C5FC
Content-Type: multipart/alternative;
 boundary="------------2134697AB8866DAE095538A0"

--------------2134697AB8866DAE095538A0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

I did have a ~/.rpmrc file, but it contained only comments.

/usr/lib/rpm/macros contains this section:
> #       Path to script that creates debug symbols in a /usr/lib/debug
> #       shadow tree.
> #
> #       A spec file can %%define _find_debuginfo_opts to pass options to
> #       the script.  See the script for details.
> #
> %__debug_install_post   \
>     %{_rpmconfigdir}/find-debuginfo.sh \\\
>     %{?_smp_mflags} \\\
>     %{?_missing_build_ids_terminate_build:--strict-build-id} \\\
>     %{?_no_recompute_build_ids:-n} \\\
>     %{?_include_minidebuginfo:-m} \\\
>     %{?_include_gdb_index:-i} \\\
>     %{?_unique_build_ids:--build-id-seed "%{VERSION}-%{RELEASE}"} \\\
>     %{?_unique_debug_names:--unique-debug-suffix
> "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
>     %{?_unique_debug_srcs:--unique-debug-src-base
> "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\
>     %{?_find_debuginfo_dwz_opts} \\\
>     %{?_find_debuginfo_opts} \\\
>     %{?_debugsource_packages:-S debugsourcefiles.list} \\\
>     "%{_builddir}/%{?buildsubdir}"\
> %{nil}
The "-j4" you asked about must be coming from the %{?_smp_mflags}, as
"--strict-build-id" is on the command line also.

The only doc I've found relevant to "smp_mflags" said
> The *%_smp_mflags* macro usually contains only the *-j* (*–jobs*)
> option for the *make* command, which defines the number of jobs
> (/make/ commands) that may run simultaneously. Usually, this is set to
> the number of CPU cores plus one. So, on a dual core CPU, the smp
> flags are set to *-j3*.
This is a quad core system (Intel(R) Xeon(R) CPU E3-1226 v3 @ 3.30GHz),
so I would have expected "-j5" by those docs, but "-j4" according to the
/usr/lib/rpm/macros excerpt above.

"rpmbuild --showrc" (complete output attached) shows _smp_mflags is set
to the output from
   /usr/bin/getconf _NPROCESSORS_ONLN
which on this system is 4.

Removed ~/.rpmrc; same result.

Tried: "rpmbuild -ba openafs.spec --define='_smp_mflags -j1'"; same
result, except "-j1" instead of "-j4". Specifically:
> + /usr/lib/rpm/find-debuginfo.sh -j1 --strict-build-id -m -i
> --build-id-seed 1.8.0-1.fc27 --unique-debug-suffix
> -1.8.0-1.fc27.x86_64 --unique-debug-src-base
> openafs-1.8.0-1.fc27.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000
> --dwz-max-die-limit 110000000 -p '.*openafs.ko(.debug)?' -o
> kmod-debuginfo.list -S debugsourcefiles.list
> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0
> extracting debug info from
> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/sbin/fstrace
...
> extracting debug info from
> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/scout
> extracting debug info from
> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/udebug
> extracting debug info from
> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/pagsh
> extracting debug info from
> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko
> dwz:
> "./lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko-1.8.0-1.fc27.x86_64.debug"
> is not a shared library
> /usr/lib/rpm/sepdebugcrcfix: Updated 63 CRC32s, 1 CRC32s did match.
> cpio: src/comerr/y.tab.c: Cannot stat: No such file or directory
> 27579 blocks
...
> Processing files: openafs-kernel-debuginfo-1.8.0-1.fc27.x86_64
> error: Empty %files file
> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list
>
>
> RPM build errors:
>     Macro expanded in comment on line 111: %{afsvers}/...
>
>     line 417: Possible unexpanded macro in: Provides:        
> openafs-kernel = %{PACKAGE_VERSION}
>     Empty %files file
> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list


Also, to your other question,
> $ rpm -q rpm-build
> rpm-build-4.14.1-1.fc27.x86_64

Thanks,

-- 
    +--------------------------------------------------------------+
   / Todd_Lewis@unc.edu  919-445-0091  http://www.unc.edu/~utoddl /
  /               Whatever you do, always give 100%              /
 /                 unless you're donating blood.                /
+--------------------------------------------------------------+



On 04/13/2018 12:28 PM, Benjamin Kaduk wrote:
> On Fri, Apr 13, 2018 at 12:00:48PM -0400, Todd Lewis wrote:
>>> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/udebug
>>> extracting debug info from
>>> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/pagsh
>>> extracting debug info from
>>> /home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko
>>> dwz:
>>> "./lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko-1.8.0-1.fc27.x86_64.debug"
>>> is not a shared library /usr/lib/rpm/sepdebugcrcfix: Updated 63
>>> CRC32s, 1 CRC32s did match. cpio: src/comerr/y.tab.c: Cannot stat: No
>>> such file or directory 27579 blocks 
> I note that this was running with -j4; do you have some local
> rpmbuild configuration to enable that?  (Also, what version of
> rpmbuild, just for completeness?)
>
>> Then later on:
>>
>>> Processing files: openafs-kernel-debuginfo-1.8.0-1.fc27.x86_64 error:
>>> Empty %files file
>>> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list RPM
>>> build errors: Macro expanded in comment on line 111: %{afsvers}/...
>>> line 417: Possible unexpanded macro in: Provides: openafs-kernel =
>>> %{PACKAGE_VERSION} Empty %files file
>>> /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list 
> This one I have fewer ideas for (I don't normally use RPM-based
> systems).
>
> Thanks for the report!
>
> -Ben


--------------2134697AB8866DAE095538A0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    I did have a ~/.rpmrc file, but it contained only comments.<br>
    <br>
    /usr/lib/rpm/macros contains this section:<br>
    <blockquote type="cite">#       Path to script that creates debug
      symbols in a /usr/lib/debug<br>
      #       shadow tree.<br>
      #<br>
      #       A spec file can %%define _find_debuginfo_opts to pass
      options to<br>
      #       the script.  See the script for details.<br>
      #<br>
      %__debug_install_post   \<br>
          %{_rpmconfigdir}/find-debuginfo.sh \\\<br>
          %{?_smp_mflags} \\\<br>
          %{?_missing_build_ids_terminate_build:--strict-build-id} \\\<br>
          %{?_no_recompute_build_ids:-n} \\\<br>
          %{?_include_minidebuginfo:-m} \\\<br>
          %{?_include_gdb_index:-i} \\\<br>
          %{?_unique_build_ids:--build-id-seed "%{VERSION}-%{RELEASE}"}
      \\\<br>
          %{?_unique_debug_names:--unique-debug-suffix
      "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\<br>
          %{?_unique_debug_srcs:--unique-debug-src-base
      "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\<br>
          %{?_find_debuginfo_dwz_opts} \\\<br>
          %{?_find_debuginfo_opts} \\\<br>
          %{?_debugsource_packages:-S debugsourcefiles.list} \\\<br>
          "%{_builddir}/%{?buildsubdir}"\<br>
      %{nil}<br>
    </blockquote>
    The "-j4" you asked about must be coming from the %{?_smp_mflags},
    as "--strict-build-id" is on the command line also.<br>
    <br>
    The only doc I've found relevant to "smp_mflags" said<br>
    <blockquote type="cite">The <strong>%_smp_mflags</strong> macro
      usually contains only the <strong>-j</strong> (<strong>–jobs</strong>)
      option for the <strong>make</strong> command, which defines the
      number of jobs (<em>make</em> commands) that may run
      simultaneously. Usually, this is set to the number of CPU cores
      plus one. So, on a dual core CPU, the smp flags are set to <strong>-j3</strong>.</blockquote>
    This is a quad core system (Intel(R) Xeon(R) CPU E3-1226 v3 @
    3.30GHz), so I would have expected "-j5" by those docs, but "-j4"
    according to the /usr/lib/rpm/macros excerpt above.<br>
    <br>
    "rpmbuild --showrc" (complete output attached) shows _smp_mflags is
    set to the output from<br>
       /usr/bin/getconf _NPROCESSORS_ONLN<br>
    which on this system is 4.<br>
    <br>
    Removed ~/.rpmrc; same result.<br>
    <br>
    Tried: "rpmbuild -ba openafs.spec --define='_smp_mflags -j1'"; same
    result, except "-j1" instead of "-j4". Specifically:<br>
    <blockquote type="cite">+ /usr/lib/rpm/find-debuginfo.sh -j1
      --strict-build-id -m -i --build-id-seed 1.8.0-1.fc27
      --unique-debug-suffix -1.8.0-1.fc27.x86_64 --unique-debug-src-base
      openafs-1.8.0-1.fc27.x86_64 --run-dwz --dwz-low-mem-die-limit
      10000000 --dwz-max-die-limit 110000000 -p '.*openafs.ko(.debug)?'
      -o kmod-debuginfo.list -S debugsourcefiles.list
      /home/utoddl/rpmbuild/BUILD/openafs-1.8.0<br>
      extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/sbin/fstrace<br>
    </blockquote>
    ...<br>
    <blockquote type="cite">extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/scout<br>
      extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/udebug<br>
      extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/pagsh<br>
      extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko<br>
      dwz:
"./lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko-1.8.0-1.fc27.x86_64.debug"
      is not a shared library<br>
      /usr/lib/rpm/sepdebugcrcfix: Updated 63 CRC32s, 1 CRC32s did
      match.<br>
      cpio: src/comerr/y.tab.c: Cannot stat: No such file or directory<br>
      27579 blocks<br>
    </blockquote>
    ...<br>
    <blockquote type="cite">Processing files:
      openafs-kernel-debuginfo-1.8.0-1.fc27.x86_64<br>
      error: Empty %files file
      /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list<br>
      <br>
      <br>
      RPM build errors:<br>
          Macro expanded in comment on line 111: %{afsvers}/...<br>
      <br>
          line 417: Possible unexpanded macro in: Provides:        
      openafs-kernel = %{PACKAGE_VERSION}<br>
          Empty %files file
      /home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list<br>
    </blockquote>
    <br>
    <br>
    Also, to your other question,<br>
    <blockquote type="cite">$ rpm -q rpm-build<br>
      rpm-build-4.14.1-1.fc27.x86_64<br>
    </blockquote>
    <br>
    Thanks,<br>
    <pre class="moz-signature" cols="72">-- 
    +--------------------------------------------------------------+
   / <a class="moz-txt-link-abbreviated" href="mailto:Todd_Lewis@unc.edu">Todd_Lewis@unc.edu</a>  919-445-0091  <a class="moz-txt-link-freetext" href="http://www.unc.edu/~utoddl">http://www.unc.edu/~utoddl</a> /
  /               Whatever you do, always give 100%              /
 /                 unless you're donating blood.                /
+--------------------------------------------------------------+</pre>
    <br>
    <br>
    <div class="moz-cite-prefix">On 04/13/2018 12:28 PM, Benjamin Kaduk
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20180413162800.GB84957@kduck.kaduk.org">
      <pre wrap="">On Fri, Apr 13, 2018 at 12:00:48PM -0400, Todd Lewis wrote:
</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/udebug
extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/usr/bin/pagsh
extracting debug info from
/home/utoddl/rpmbuild/BUILDROOT/openafs-1.8.0-1.fc27.x86_64/lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko
dwz:
"./lib/modules/4.15.15-300.fc27.x86_64/extra/openafs/openafs.ko-1.8.0-1.fc27.x86_64.debug"
is not a shared library /usr/lib/rpm/sepdebugcrcfix: Updated 63
CRC32s, 1 CRC32s did match. cpio: src/comerr/y.tab.c: Cannot stat: No
such file or directory 27579 blocks 
</pre>
        </blockquote>
      </blockquote>
      <pre wrap="">
I note that this was running with -j4; do you have some local
rpmbuild configuration to enable that?  (Also, what version of
rpmbuild, just for completeness?)

</pre>
      <blockquote type="cite">
        <pre wrap="">Then later on:

</pre>
        <blockquote type="cite">
          <pre wrap="">Processing files: openafs-kernel-debuginfo-1.8.0-1.fc27.x86_64 error:
Empty %files file
/home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list RPM
build errors: Macro expanded in comment on line 111: %{afsvers}/...
line 417: Possible unexpanded macro in: Provides: openafs-kernel =
%{PACKAGE_VERSION} Empty %files file
/home/utoddl/rpmbuild/BUILD/openafs-1.8.0/kmod-debuginfo.list 
</pre>
        </blockquote>
      </blockquote>
      <pre wrap="">
This one I have fewer ideas for (I don't normally use RPM-based
systems).

Thanks for the report!

-Ben
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">
</pre>
  </body>
</html>

--------------2134697AB8866DAE095538A0--

--------------6179D65113E567DFC4D2C5FC
Content-Type: text/plain; charset=UTF-8;
 name="rpmbuild--showrc.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="rpmbuild--showrc.txt"

QVJDSElURUNUVVJFIEFORCBPUzoKYnVpbGQgYXJjaCAgICAgICAgICAgIDogeDg2XzY0CmNv
bXBhdGlibGUgYnVpbGQgYXJjaHM6IHg4Nl82NCBub2FyY2gKYnVpbGQgb3MgICAgICAgICAg
ICAgIDogTGludXgKY29tcGF0aWJsZSBidWlsZCBvcydzIDogTGludXgKaW5zdGFsbCBhcmNo
ICAgICAgICAgIDogeDg2XzY0Cmluc3RhbGwgb3MgICAgICAgICAgICA6IExpbnV4CmNvbXBh
dGlibGUgYXJjaHMgICAgICA6IHg4Nl82NCBhbWQ2NCBlbTY0dCBhdGhsb24gbm9hcmNoIGk2
ODYgaTU4NiBpNDg2IGkzODYgZmF0CmNvbXBhdGlibGUgb3MncyAgICAgICA6IExpbnV4CgpS
UE1SQyBWQUxVRVM6CmFyY2hjb2xvciAgICAgICAgICAgICA6IDIKb3B0ZmxhZ3MgICAgICAg
ICAgICAgIDogJXtfX2dsb2JhbF9jb21waWxlcl9mbGFnc30gLW02NCAtbXR1bmU9Z2VuZXJp
YyAtZmFzeW5jaHJvbm91cy11bndpbmQtdGFibGVzCgpGZWF0dXJlcyBzdXBwb3J0ZWQgYnkg
cnBtbGliOgogICAgcnBtbGliKEJ1aWx0aW5MdWFTY3JpcHRzKSA9IDQuMi4yLTEKICAgIHJw
bWxpYihDb21wcmVzc2VkRmlsZU5hbWVzKSA9IDMuMC40LTEKICAgIHJwbWxpYihDb25jdXJy
ZW50QWNjZXNzKSA9IDQuMS0xCiAgICBycG1saWIoRXhwbGljaXRQYWNrYWdlUHJvdmlkZSkg
PSA0LjAtMQogICAgcnBtbGliKEZpbGVDYXBzKSA9IDQuNi4xLTEKICAgIHJwbWxpYihGaWxl
RGlnZXN0cykgPSA0LjYuMC0xCiAgICBycG1saWIoSGVhZGVyTG9hZFNvcnRzVGFncykgPSA0
LjAuMS0xCiAgICBycG1saWIoTGFyZ2VGaWxlcykgPSA0LjEyLjAtMQogICAgcnBtbGliKFBh
cnRpYWxIYXJkbGlua1NldHMpID0gNC4wLjQtMQogICAgcnBtbGliKFBheWxvYWRGaWxlc0hh
dmVQcmVmaXgpID0gNC4wLTEKICAgIHJwbWxpYihQYXlsb2FkSXNCemlwMikgPSAzLjAuNS0x
CiAgICBycG1saWIoUGF5bG9hZElzTHptYSkgPSA0LjQuMi0xCiAgICBycG1saWIoUGF5bG9h
ZElzWHopID0gNS4yLTEKICAgIHJwbWxpYihQYXlsb2FkSXNac3RkKSA9IDUuNC4xOC0xCiAg
ICBycG1saWIoUmljaERlcGVuZGVuY2llcykgPSA0LjEyLjAtMQogICAgcnBtbGliKFNjcmlw
dGxldEV4cGFuc2lvbikgPSA0LjkuMC0xCiAgICBycG1saWIoU2NyaXB0bGV0SW50ZXJwcmV0
ZXJBcmdzKSA9IDQuMC4zLTEKICAgIHJwbWxpYihUaWxkZUluVmVyc2lvbnMpID0gNC4xMC4w
LTEKICAgIHJwbWxpYihWZXJzaW9uZWREZXBlbmRlbmNpZXMpID0gMy4wLjMtMQoKTWFjcm8g
cGF0aDogL3Vzci9saWIvcnBtL21hY3JvczovdXNyL2xpYi9ycG0vbWFjcm9zLmQvbWFjcm9z
Lio6L3Vzci9saWIvcnBtL3BsYXRmb3JtLyV7X3RhcmdldH0vbWFjcm9zOi91c3IvbGliL3Jw
bS9maWxlYXR0cnMvKi5hdHRyOi91c3IvbGliL3JwbS9yZWRoYXQvbWFjcm9zOi9ldGMvcnBt
L21hY3Jvcy4qOi9ldGMvcnBtL21hY3JvczovZXRjL3JwbS8le190YXJnZXR9L21hY3Jvczp+
Ly5ycG1tYWNyb3MKCj09PT09PT09PT09PT09PT09PT09PT09PQotMTM6IEdOQVRfYXJjaGVz
CSV7R1BSYnVpbGRfYXJjaGVzfSBpYTY0IHBwYyBhbHBoYSAle2l4ODZ9Ci0xMzogR1BSYnVp
bGRfYXJjaGVzCXg4Nl82NCBwcGM2NCBwcGM2NHA3IHBwYzY0bGUgczM5MHggJXthcm19IGFh
cmNoNjQKLTEzOiBfXzd6aXAJL3Vzci9iaW4vN3phCi0xMzogX19fYnVpbGRfYXJncwktZQot
MTM6IF9fX2J1aWxkX2NtZAklez9fc3Vkbzole19zdWRvfSB9JXs/X3JlbXNoOiV7X3JlbXNo
fSAle19yZW1ob3N0fSB9JXs/X3JlbXN1ZG86JXtfcmVtc3Vkb30gfSV7P19yZW1jaHJvb3Q6
JXtfcmVtY2hyb290fSAle19yZW1yb290fSB9JXtfX19idWlsZF9zaGVsbH0gJXtfX19idWls
ZF9hcmdzfQotMTM6IF9fX2J1aWxkX3Bvc3QJZXhpdCAkPwotMTM6IF9fX2J1aWxkX3ByZQkK
ICBSUE1fU09VUkNFX0RJUj0iJXt1MnA6JXtfc291cmNlZGlyfX0iCiAgUlBNX0JVSUxEX0RJ
Uj0iJXt1MnA6JXtfYnVpbGRkaXJ9fSIKICBSUE1fT1BUX0ZMQUdTPSIle29wdGZsYWdzfSIK
ICBSUE1fTERfRkxBR1M9IiV7P19fZ2xvYmFsX2xkZmxhZ3N9IgogIFJQTV9BUkNIPSIle19h
cmNofSIKICBSUE1fT1M9IiV7X29zfSIKICBleHBvcnQgUlBNX1NPVVJDRV9ESVIgUlBNX0JV
SUxEX0RJUiBSUE1fT1BUX0ZMQUdTIFJQTV9MRF9GTEFHUyBSUE1fQVJDSCBSUE1fT1MKICBS
UE1fRE9DX0RJUj0iJXtfZG9jZGlyfSIKICBleHBvcnQgUlBNX0RPQ19ESVIKICBSUE1fUEFD
S0FHRV9OQU1FPSIle05BTUV9IgogIFJQTV9QQUNLQUdFX1ZFUlNJT049IiV7VkVSU0lPTn0i
CiAgUlBNX1BBQ0tBR0VfUkVMRUFTRT0iJXtSRUxFQVNFfSIKICBleHBvcnQgUlBNX1BBQ0tB
R0VfTkFNRSBSUE1fUEFDS0FHRV9WRVJTSU9OIFJQTV9QQUNLQUdFX1JFTEVBU0UKICBMQU5H
PUMKICBleHBvcnQgTEFORwogIHVuc2V0IENEUEFUSCBESVNQTEFZIHx8OgogICV7P2J1aWxk
cm9vdDpSUE1fQlVJTERfUk9PVD0iJXt1MnA6JXtidWlsZHJvb3R9fSIKICBleHBvcnQgUlBN
X0JVSUxEX1JPT1R9CiAgJXs/X2phdmFjbGFzc3BhdGg6Q0xBU1NQQVRIPSIle19qYXZhY2xh
c3NwYXRofSIKICBleHBvcnQgQ0xBU1NQQVRIfQogIFBLR19DT05GSUdfUEFUSD0iJHtQS0df
Q09ORklHX1BBVEh9OiV7X2xpYmRpcn0vcGtnY29uZmlnOiV7X2RhdGFkaXJ9L3BrZ2NvbmZp
ZyIKICBleHBvcnQgUEtHX0NPTkZJR19QQVRICiAgQ09ORklHX1NJVEU9JHtDT05GSUdfU0lU
RTotTk9ORX0KICBleHBvcnQgQ09ORklHX1NJVEUKICAKICAle3ZlcmJvc2U6c2V0IC14fSV7
IXZlcmJvc2U6ZXhlYyA+IC9kZXYvbnVsbH0KICB1bWFzayAwMjIKICBjZCAiJXt1MnA6JXtf
YnVpbGRkaXJ9fSIKLTEzOiBfX19idWlsZF9zaGVsbAklez9fYnVpbGRzaGVsbDole19idWls
ZHNoZWxsfX0leyE/X2J1aWxkc2hlbGw6L2Jpbi9zaH0KLTEzOiBfX19idWlsZF90ZW1wbGF0
ZQkjISV7X19fYnVpbGRfc2hlbGx9CiV7X19fYnVpbGRfcHJlfQole25pbH0KLTEzOiBfX2Fj
bG9jYWwJYWNsb2NhbAotMTM6IF9fYXIJYXIKLTEzOiBfX2FyY2hfaW5zdGFsbF9wb3N0CS91
c3IvbGliL3JwbS9jaGVjay1idWlsZHJvb3QKLTEzOiBfX2FzCWFzCi0xMzogX19hdXRvY29u
ZglhdXRvY29uZgotMTM6IF9fYXV0b2hlYWRlcglhdXRvaGVhZGVyCi0xMzogX19hdXRvbWFr
ZQlhdXRvbWFrZQotMTM6IF9fYXdrCWdhd2sKLTEzOiBfX2JycF9jb21wcmVzcwkvdXNyL2xp
Yi9ycG0vYnJwLWNvbXByZXNzCi0xMzogX19icnBfcHl0aG9uX2J5dGVjb21waWxlCS91c3Iv
bGliL3JwbS9icnAtcHl0aG9uLWJ5dGVjb21waWxlICV7X19weXRob259ICV7P19weXRob25f
Ynl0ZWNvbXBpbGVfZXJyb3JzX3Rlcm1pbmF0ZV9idWlsZH0KLTEzOiBfX2JycF9weXRob25f
aGFyZGxpbmsJL3Vzci9saWIvcnBtL2JycC1weXRob24taGFyZGxpbmsKLTEzOiBfX2JycF9z
dHJpcAkvdXNyL2xpYi9ycG0vYnJwLXN0cmlwICV7X19zdHJpcH0KLTEzOiBfX2JycF9zdHJp
cF9jb21tZW50X25vdGUJL3Vzci9saWIvcnBtL2JycC1zdHJpcC1jb21tZW50LW5vdGUgJXtf
X3N0cmlwfSAle19fb2JqZHVtcH0KLTEzOiBfX2JycF9zdHJpcF9zdGF0aWNfYXJjaGl2ZQkv
dXNyL2xpYi9ycG0vYnJwLXN0cmlwLXN0YXRpYy1hcmNoaXZlICV7X19zdHJpcH0KLTEzOiBf
X2J6aXAyCS91c3IvYmluL2J6aXAyCi0xMzogX19ienIJL3Vzci9iaW4vYnpyCi0xMzogX19j
YXQJL3Vzci9iaW4vY2F0Ci0xMzogX19jYwlnY2MKLTEzOiBfX2NoZWNrX2ZpbGVzCSV7X3Jw
bWNvbmZpZ2Rpcn0vY2hlY2stZmlsZXMgJXtidWlsZHJvb3R9Ci0xMzogX19jaGdycAkvdXNy
L2Jpbi9jaGdycAotMTM6IF9fY2htb2QJL3Vzci9iaW4vY2htb2QKLTEzOiBfX2Nob3duCS91
c3IvYmluL2Nob3duCi0xMzogX19jbWFrZQkvdXNyL2Jpbi9jbWFrZQotMTM6IF9fY21ha2Vf
cGF0aAleKCV7X2xpYmRpcn18JXtfZGF0YWRpcn0pL2NtYWtlLy4qLy4qKENvbmZpZy5jbWFr
ZXwtY29uZmlnLmNtYWtlKSQKLTEzOiBfX2NtYWtlX3Byb3ZpZGVzCSV7X3JwbWNvbmZpZ2Rp
cn0vY21ha2UucHJvdgotMTM6IF9fY21ha2VfcmVxdWlyZXMJJXtfcnBtY29uZmlnZGlyfS9j
bWFrZS5yZXEKLTEzOiBfX2NwCS91c3IvYmluL2NwCi0xMzogX19jcGlvCS91c3IvYmluL2Nw
aW8KLTEzOiBfX2NwcAlnY2MgLUUKLTEzOiBfX2N4eAlnKysKLTEzOiBfX2RiaV9vdGhlcglt
cF9tbWFwc2l6ZT0xMjhNYiBtcF9zaXplPTFNYgotMTM6IF9fZGVidWdfaW5zdGFsbF9wb3N0
CQogICAgJXtfcnBtY29uZmlnZGlyfS9maW5kLWRlYnVnaW5mby5zaCBcCiAgICAlez9fc21w
X21mbGFnc30gXAogICAgJXs/X21pc3NpbmdfYnVpbGRfaWRzX3Rlcm1pbmF0ZV9idWlsZDot
LXN0cmljdC1idWlsZC1pZH0gXAogICAgJXs/X25vX3JlY29tcHV0ZV9idWlsZF9pZHM6LW59
IFwKICAgICV7P19pbmNsdWRlX21pbmlkZWJ1Z2luZm86LW19IFwKICAgICV7P19pbmNsdWRl
X2dkYl9pbmRleDotaX0gXAogICAgJXs/X3VuaXF1ZV9idWlsZF9pZHM6LS1idWlsZC1pZC1z
ZWVkICIle1ZFUlNJT059LSV7UkVMRUFTRX0ifSBcCiAgICAlez9fdW5pcXVlX2RlYnVnX25h
bWVzOi0tdW5pcXVlLWRlYnVnLXN1ZmZpeCAiLSV7VkVSU0lPTn0tJXtSRUxFQVNFfS4le19h
cmNofSJ9IFwKICAgICV7P191bmlxdWVfZGVidWdfc3JjczotLXVuaXF1ZS1kZWJ1Zy1zcmMt
YmFzZSAiJXtuYW1lfS0le1ZFUlNJT059LSV7UkVMRUFTRX0uJXtfYXJjaH0ifSBcCiAgICAl
ez9fZmluZF9kZWJ1Z2luZm9fZHd6X29wdHN9IFwKICAgICV7P19maW5kX2RlYnVnaW5mb19v
cHRzfSBcCiAgICAlez9fZGVidWdzb3VyY2VfcGFja2FnZXM6LVMgZGVidWdzb3VyY2VmaWxl
cy5saXN0fSBcCiAgICAiJXtfYnVpbGRkaXJ9LyV7P2J1aWxkc3ViZGlyfSIKJXtuaWx9Ci0x
MzogX19kZWJ1Z2luZm9fcGF0aAleL3Vzci9saWIvZGVidWcvCi0xMzogX19kZWJ1Z2luZm9f
cHJvdmlkZXMJJXtfcnBtY29uZmlnZGlyfS9kZWJ1Z2luZm8ucHJvdgotMTM6IF9fZGVza3Rv
cF9wYXRoCV4le19kYXRhZGlyfS9hcHBsaWNhdGlvbnMvLipcLmRlc2t0b3AkCi0xMzogX19k
ZXNrdG9wX3Byb3ZpZGVzCSV7X3JwbWNvbmZpZ2Rpcn0vZGVza3RvcC1maWxlLnByb3YKLTEz
OiBfX2RvY2Rpcl9wYXRoCSV7X2RhdGFkaXJ9L2RvYzole19kYXRhZGlyfS9tYW46JXtfZGF0
YWRpcn0vaW5mbzole19kYXRhZGlyfS9ndGstZG9jL2h0bWw6JXs/X2RvY2Rpcn06JXs/X21h
bmRpcn06JXs/X2luZm9kaXJ9OiV7P19qYXZhZG9jZGlyfTovdXNyL2RvYzovdXNyL21hbjov
dXNyL2luZm86L3Vzci9YMTFSNi9tYW4KLTEzOiBfX2VsZl9mbGFncwlleGVvbmx5Ci0xMzog
X19lbGZfbWFnaWMJXihzZXR1aWQsPyApPyhzZXRnaWQsPyApPyhzdGlja3kgKT9FTEYgKDMy
fDY0KS1iaXQuKiQKLTEzOiBfX2VsZl9wcm92aWRlcwkle19ycG1jb25maWdkaXJ9L2VsZmRl
cHMgLS1wcm92aWRlcyAlez9fX2ZpbHRlcl9HTElCQ19QUklWQVRFOi0tZmlsdGVyLXByaXZh
dGV9Ci0xMzogX19lbGZfcmVxdWlyZXMJJXtfcnBtY29uZmlnZGlyfS9lbGZkZXBzIC0tcmVx
dWlyZXMgJXs/X19maWx0ZXJfR0xJQkNfUFJJVkFURTotLWZpbHRlci1wcml2YXRlfQotMTM6
IF9fZmlsZQkvdXNyL2Jpbi9maWxlCi0xMzogX19maW5kX3Byb3ZpZGVzCSV7X3JwbWNvbmZp
Z2Rpcn0vZmluZC1wcm92aWRlcwotMTM6IF9fZmluZF9yZXF1aXJlcwkle19ycG1jb25maWdk
aXJ9L2ZpbmQtcmVxdWlyZXMKLTEzOiBfX2ZvbnRfbWFnaWMJW0ZmXW9udD8oIChwcm9ncmFt
fGNvbGxlY3Rpb24pKT8oICh0ZXh0fGRhdGEpKQotMTM6IF9fZm9udF9wcm92aWRlcwkle19y
cG1jb25maWdkaXJ9L2ZvbnRjb25maWcucHJvdgotMTM6IF9fZm9udF9yZXF1aXJlcwkle25p
bH0KLTEzOiBfX2ZvcmdlYXV0b3NldHVwX18oYTpiOmNEbjpUdk5TOnApCSVhdXRvc2V0dXAg
JXs/Zm9yZ2VzZXR1cGFyZ3N9ICV7LWF9ICV7LWJ9ICV7LWN9ICV7LUR9ICV7LW59ICV7LVR9
ICV7LXZ9ICV7LU59ICV7LVN9ICV7LXB9Ci0xMzogX19mb3JnZW1ldGFfXyh1OnNwdmkpCSV7
bHVhOgpsb2NhbCBmb3JnZXVybCAgICA9IHJwbS5leHBhbmQoIiV7Py11Kn0iKQppZiAoZm9y
Z2V1cmwgPT0gIiIpIHRoZW4KICBmb3JnZXVybCAgICAgICAgPSBycG0uZXhwYW5kKCIlez9m
b3JnZXVybH0iKQplbmQKbG9jYWwgc2lsZW50ICAgICAgPSBmYWxzZQpsb2NhbCB2ZXJib3Nl
ICAgICA9IGZhbHNlCmxvY2FsIGluZm9ybWF0aXZlID0gZmFsc2UKaWYgKHJwbS5leHBhbmQo
IiV7Py1zfSIpIH49ICIiKSB0aGVuCiAgc2lsZW50ICAgICAgICAgID0gdHJ1ZQplbmQKaWYg
KHJwbS5leHBhbmQoIiV7Py1wfSIpIH49ICIiKSB0aGVuCiAgc2lsZW50ICAgICAgICAgID0g
ZmFsc2UKZW5kCmlmIChycG0uZXhwYW5kKCIlez8tdn0iKSB+PSAiIikgdGhlbgogIHZlcmJv
c2UgICAgICAgICA9IHRydWUKZW5kCmlmIChycG0uZXhwYW5kKCIlez8taX0iKSB+PSAiIikg
dGhlbgogIGluZm9ybWF0aXZlICAgICA9IHRydWUKZW5kCmxvY2FsIHRhZyAgICAgICAgID0g
cnBtLmV4cGFuZCgiJXs/dGFnfSIpCmxvY2FsIGNvbW1pdCAgICAgID0gcnBtLmV4cGFuZCgi
JXs/Y29tbWl0fSIpCi0tIEJlIGV4cGxpY2l0IGFib3V0IHRoZSBzcGVjIHZhcmlhYmxlcyB3
ZeKAmXJlIHNldHRpbmcKbG9jYWwgZnVuY3Rpb24gZXhwbGljaXRzZXQocnBtdmFyaWFibGUs
dmFsdWUpCiAgcnBtLmRlZmluZShycG12YXJpYWJsZSAuLiAiICIgLi4gdmFsdWUpCiAgaWYg
dmVyYm9zZSB0aGVuCiAgICBycG0uZXhwYW5kKCIle2VjaG86U2V0dGluZyAlJXsiIC4uIHJw
bXZhcmlhYmxlIC4uICJ9ID0gIiAuLiB2YWx1ZSAuLiAiXG59IikKICBlbmQKZW5kCi0tIE5l
dmVyIGV2ZXIgc3RvbXAgb24gYSBzcGVjIHZhcmlhYmxlIHRoZSBwYWNrYWdlciBhbHJlYWR5
IHNldApsb2NhbCBmdW5jdGlvbiBzYWZlc2V0KHJwbXZhcmlhYmxlLHZhbHVlKQogIGlmIChy
cG0uZXhwYW5kKCIlez8iIC4uIHJwbXZhcmlhYmxlIC4uICJ9IikgPT0gIiIpIHRoZW4KICAg
IGV4cGxpY2l0c2V0KHJwbXZhcmlhYmxlLHZhbHVlKQogIGVuZAplbmQKLS0gU2V0IHNwZWMg
dmFyaWFibGUgdmFsdWVzIGZvciBlYWNoIGtub3duIHNvZnR3YXJlIHB1Ymxpc2hpbmcgc2Vy
dmljZQppZiAoZm9yZ2V1cmwgfj0gIiIpIHRoZW4KICBsb2NhbCBmb3JnZSAgICAgICAgICA9
IHN0cmluZy5tYXRjaChmb3JnZXVybCwgIl5bXjpdKzovLyhbXi9dKykvIikKICBpZiAoc3Ry
aW5nLm1hdGNoKGZvcmdlLCAiXmdpdGxhYlslLi1dIikgb3Igc3RyaW5nLm1hdGNoKGZvcmdl
LCAiWyUuLV1naXRsYWJbJS5dIikpIHRoZW4KICAgIGZvcmdldXJsID0gc3RyaW5nLm1hdGNo
KGZvcmdldXJsLCAiaHR0cHM6Ly9bXi9dKy9bXi9dKy9bXi8jP10rIikKICAgIGlmIChmb3Jn
ZXVybCA9PSBuaWwpIHRoZW4KICAgICAgaWYgbm90IHNpbGVudCB0aGVuCiAgICAgICAgcnBt
LmV4cGFuZCgiJXtlcnJvcjpHaXRsYWIgVVJMcyBtdXN0IG1hdGNoIGh0dHBzOi8vKOKAplst
Ll0pZ2l0bGFiWy0uXeKApi9vd25lci9yZXBvICFcbn0iKQogICAgICBlbmQKICAgIGVsc2UK
ICAgICAgZXhwbGljaXRzZXQoImZvcmdldXJsIiwgICBmb3JnZXVybCkKICAgICAgaWYgKGNv
bW1pdCA9PSAiIikgdGhlbgogICAgICAgIHJwbS5leHBhbmQoIiV7ZXJyb3I6QWxsIEdpdGxh
YiBVUkxzIHJlcXVpcmUgY29tbWl0IHZhbHVlIGtub3dsZWRnZTogeW91IG5lZWQgdG8gZGVm
aW5lICV7Y29tbWl0fSFcblBsZWFzZSB2b3RlIG9uIGh0dHBzOi8vZ2l0bGFiLmNvbS9naXRs
YWItb3JnL2dpdGxhYi1jZS9pc3N1ZXMvMzg4MzBcbn0iKQogICAgICBlbmQKICAgICAgc2Fm
ZXNldCgiYXJjaGl2ZWV4dCIsICAgICAidGFyLmJ6MiIpCiAgICAgIHNhZmVzZXQoImZvcmdl
c2V0dXBhcmdzIiwgIi1uICV7YXJjaGl2ZW5hbWV9IikKICAgICAgaWYgKGNvbW1pdCB+PSAi
Iikgb3IgKHRhZyB+PSAiIikgdGhlbgogICAgICAgIHNhZmVzZXQoInNjbSIsICJnaXQiKQog
ICAgICBlbmQKICAgICAgbG9jYWwgb3duZXIgICA9IHN0cmluZy5tYXRjaChmb3JnZXVybCwg
Il5bXjpdKzovL1teL10rLyhbXi9dKykiKQogICAgICBsb2NhbCByZXBvICAgID0gc3RyaW5n
Lm1hdGNoKGZvcmdldXJsLCAiXlteOl0rOi8vW14vXSsvW14vXSsvKFteL10rKSIpCiAgICAg
IGxvY2FsIHZlcnNpb24gPSBycG0uZXhwYW5kKCIlez92ZXJzaW9ufSIpCiAgICAgIGlmICh2
ZXJzaW9uIH49ICIiKSBhbmQgKHZlcnNpb24gfj0gIjAiKSBhbmQgKHRhZyA9PSAiIikgdGhl
bgogICAgICAgIC0tIEdpdExhYiBkb2VzIG5vdCBoYXZlIHN0cm9uZyB2ZXJzaW9ubmluZyBz
ZW1hbnRpY3MKICAgICAgICAtLSBTb21lIHByb2plY3RzIHVzZSAidmVyc2lvbiIgYXMgcmVs
ZWFzZSB0YWcsIG90aGVycyAidiIgKyAidmVyc2lvbiIKICAgICAgICAtLSBUYWcgdmFsdWUg
bmVlZHMgdG8gYmUgZXhwbGljaXRseSBkZWNsYXJlZCBiZWZvcmUgY2FsbGluZyB0aGUgbWFj
cm8KICAgICAgICAtLSBpbiB0aGUgc2Vjb25kIGNhc2UKICAgICAgICB0YWcgPSB2ZXJzaW9u
CiAgICAgICAgc2FmZXNldCgidGFnIiwgdGFnKQogICAgICBlbmQKICAgICAgaWYgKHRhZyB+
PSAiIikgdGhlbgogICAgICAgIHNhZmVzZXQoImFyY2hpdmVuYW1lIiwgcmVwbyAuLiAiLSV7
dGFnfS0le2NvbW1pdH0iKQogICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwiLCAgIiV7Zm9y
Z2V1cmx9L3JlcG9zaXRvcnkvJXt0YWd9L2FyY2hpdmUuJXthcmNoaXZlZXh0fSIpCiAgICAg
IGVsc2UKICAgICAgICBzYWZlc2V0KCJhcmNoaXZlbmFtZSIsIHJlcG8gLi4gIi0le2NvbW1p
dH0iKQogICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwiLCAgIiV7Zm9yZ2V1cmx9L3JlcG9z
aXRvcnkvJXtjb21taXR9L2FyY2hpdmUuJXthcmNoaXZlZXh0fSIpCiAgICAgIGVuZAogICAg
ZW5kCiAgZW5kCiAgaWYgKHN0cmluZy5tYXRjaChmb3JnZSwgIl5naXRodWJbJS4tXSIpIG9y
IHN0cmluZy5tYXRjaChmb3JnZSwgIlslLi1dZ2l0aHViWyUuXSIpKSB0aGVuCiAgICBmb3Jn
ZXVybCA9IHN0cmluZy5tYXRjaChmb3JnZXVybCwgImh0dHBzOi8vW14vXSsvW14vXSsvW14v
Iz9dKyIpCiAgICBpZiAoZm9yZ2V1cmwgPT0gbmlsKSB0aGVuCiAgICAgIGlmIG5vdCBzaWxl
bnQgdGhlbgogICAgICAgIHJwbS5leHBhbmQoIiV7ZXJyb3I6R2l0SHViIFVSTHMgbXVzdCBt
YXRjaCBodHRwczovLyjigKZbLS5dKWdpdGh1YlstLl3igKYvb3duZXIvcmVwbyAhXG59IikK
ICAgICAgZW5kCiAgICBlbHNlCiAgICAgIGV4cGxpY2l0c2V0KCJmb3JnZXVybCIsICAgZm9y
Z2V1cmwpCiAgICAgIHNhZmVzZXQoImFyY2hpdmVleHQiLCAgICAgInRhci5neiIpCiAgICAg
IHNhZmVzZXQoImZvcmdlc2V0dXBhcmdzIiwgIi1uICV7YXJjaGl2ZW5hbWV9IikKICAgICAg
aWYgKGNvbW1pdCB+PSAiIikgb3IgKHRhZyB+PSAiIikgdGhlbgogICAgICAgIHNhZmVzZXQo
InNjbSIsICJnaXQiKQogICAgICBlbmQKICAgICAgbG9jYWwgb3duZXIgPSBzdHJpbmcubWF0
Y2goZm9yZ2V1cmwsICJeW146XSs6Ly9bXi9dKy8oW14vXSspIikKICAgICAgbG9jYWwgcmVw
byAgPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmwsICJeW146XSs6Ly9bXi9dKy9bXi9dKy8oW14v
XSspIikKICAgICAgaWYgKHRhZyB+PSAiIikgdGhlbgogICAgICAgIHNhZmVzZXQoImFyY2hp
dmVuYW1lIiwgICByZXBvIC4uICItJXt0YWd9IikKICAgICAgICBzYWZlc2V0KCJhcmNoaXZl
dXJsIiwgICAgIiV7Zm9yZ2V1cmx9L2FyY2hpdmUvJXt0YWd9LiV7YXJjaGl2ZWV4dH0iKQog
ICAgICBlbHNlCiAgICAgICAgaWYgKGNvbW1pdCB+PSAiIikgdGhlbgogICAgICAgICAgc2Fm
ZXNldCgiYXJjaGl2ZW5hbWUiLCByZXBvIC4uICItJXtjb21taXR9IikKICAgICAgICAgIHNh
ZmVzZXQoImFyY2hpdmV1cmwiLCAgIiV7Zm9yZ2V1cmx9L2FyY2hpdmUvJXtjb21taXR9LyIg
Li4gcmVwbyAuLiAiLSV7Y29tbWl0fS4le2FyY2hpdmVleHR9IikKICAgICAgICBlbHNlCiAg
ICAgICAgICBzYWZlc2V0KCJhcmNoaXZlbmFtZSIsIHJlcG8gLi4gIi0le3ZlcnNpb259IikK
ICAgICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwiLCAgICIle2ZvcmdldXJsfS9hcmNoaXZl
L3Yle3ZlcnNpb259LiV7YXJjaGl2ZWV4dH0iKQogICAgICAgIGVuZAogICAgICBlbmQKICAg
IGVuZAogIGVuZAogIGlmIChmb3JnZSA9PSAiY29kZS5nb29nbGVzb3VyY2UuY29tIikgdGhl
bgogICAgZm9yZ2V1cmwgPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmwsICJodHRwczovL2NvZGUu
Z29vZ2xlc291cmNlLmNvbS9bXiM/XSpbXi8jP10rIikKICAgIGlmIChmb3JnZXVybCA9PSBu
aWwpIHRoZW4KICAgICAgaWYgbm90IHNpbGVudCB0aGVuCiAgICAgICAgcnBtLmV4cGFuZCgi
JXtlcnJvcjpHb29nbGVzb3VyY2UgVVJMcyBtdXN0IG1hdGNoIGh0dHBzOi8vY29kZS5nb29n
bGVzb3VyY2UuY29tL+KApi9yZXBvICFcbn0iKQogICAgICBlbmQKICAgIGVsc2UKICAgICAg
ZXhwbGljaXRzZXQoImZvcmdldXJsIiwgICBmb3JnZXVybCkKICAgICAgc2FmZXNldCgiYXJj
aGl2ZWV4dCIsICAgICAidGFyLmd6IikKICAgICAgc2FmZXNldCgiZm9yZ2VzZXR1cGFyZ3Mi
LCAiLWMiKQogICAgICBpZiAoY29tbWl0IH49ICIiKSBvciAodGFnIH49ICIiKSB0aGVuCiAg
ICAgICAgc2FmZXNldCgic2NtIiwgImdpdCIpCiAgICAgIGVuZAogICAgICBsb2NhbCByZXBv
ID0gc3RyaW5nLm1hdGNoKGZvcmdldXJsLCAiXlteOl0rOi8vLisvKFteLz8jXSspIikKICAg
ICAgaWYgKHRhZyB+PSAiIikgdGhlbgogICAgICAgIHNhZmVzZXQoImFyY2hpdmVuYW1lIiwg
ICByZXBvIC4uICItJXt0YWd9IikKICAgICAgICBzYWZlc2V0KCJhcmNoaXZldXJsIiwgICAg
IiV7Zm9yZ2V1cmx9LythcmNoaXZlLyV7dGFnfS4le2FyY2hpdmVleHR9IikKICAgICAgZWxz
ZQogICAgICAgIGlmIChjb21taXQgfj0gIiIpIHRoZW4KICAgICAgICAgIHNhZmVzZXQoImFy
Y2hpdmVuYW1lIiwgcmVwbyAuLiAiLSV7Y29tbWl0fSIpCiAgICAgICAgICBzYWZlc2V0KCJh
cmNoaXZldXJsIiwgICIle2ZvcmdldXJsfS8rYXJjaGl2ZS8le2NvbW1pdH0uJXthcmNoaXZl
ZXh0fSIpCiAgICAgICAgZWxzZQogICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZW5hbWUiLCBy
ZXBvIC4uICItdiV7dmVyc2lvbn0iKQogICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZXVybCIs
ICAiJXtmb3JnZXVybH0vK2FyY2hpdmUvdiV7dmVyc2lvbn0uJXthcmNoaXZlZXh0fSIpCiAg
ICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCiAgaWYgKGZvcmdlID09ICJiaXRi
dWNrZXQub3JnIikgdGhlbgogICAgZm9yZ2V1cmwgPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmws
ICJodHRwczovL1teL10rL1teL10rL1teLyM/XSsiKQogICAgaWYgKGZvcmdldXJsID09IG5p
bCkgdGhlbgogICAgICBpZiBub3Qgc2lsZW50IHRoZW4KICAgICAgICBycG0uZXhwYW5kKCIl
e2Vycm9yOkJpdEJ1Y2tldCBVUkxzIG11c3QgbWF0Y2ggaHR0cHM6Ly9iaXRidWNrZXQub3Jn
L293bmVyL3JlcG8gIVxufSIpCiAgICAgIGVuZAogICAgZWxzZQogICAgICBleHBsaWNpdHNl
dCgiZm9yZ2V1cmwiLCAgIGZvcmdldXJsKQogICAgICBpZiAoY29tbWl0ID09ICIiKSB0aGVu
CiAgICAgICAgcnBtLmV4cGFuZCgiJXtlcnJvcjpBbGwgQml0QnVja2V0IFVSTHMgcmVxdWly
ZSBjb21taXQgdmFsdWUga25vd2xlZGdlOiB5b3UgbmVlZCB0byBkZWZpbmUgJXtjb21taXR9
IVxufSIpCiAgICAgIGVuZAogICAgICBsb2NhbCBzaG9ydGNvbW1pdCA9IHN0cmluZy5zdWIo
Y29tbWl0LCAxLCAxMikKICAgICAgc2FmZXNldCgiYXJjaGl2ZWV4dCIsICJ0YXIuYnoyIikK
ICAgICAgc2FmZXNldCgic2NtIiwgImdpdCIpCiAgICAgIGxvY2FsIG93bmVyID0gc3RyaW5n
Lm1hdGNoKGZvcmdldXJsLCAiXlteOl0rOi8vW14vXSsvKFteL10rKSIpCiAgICAgIGxvY2Fs
IHJlcG8gID0gc3RyaW5nLm1hdGNoKGZvcmdldXJsLCAiXlteOl0rOi8vW14vXSsvW14vXSsv
KFteL10rKSIpCiAgICAgIHNhZmVzZXQoImFyY2hpdmVuYW1lIiwgICAgb3duZXIgLi4gIi0i
IC4uIHJlcG8gLi4gIi0iIC4uIHNob3J0Y29tbWl0KQogICAgICBzYWZlc2V0KCJmb3JnZXNl
dHVwYXJncyIsICItbiAle2FyY2hpdmVuYW1lfSIpCiAgICAgIGlmICh0YWcgfj0gIiIpIHRo
ZW4KICAgICAgICBzYWZlc2V0KCJhcmNoaXZldXJsIiwgICIle2ZvcmdldXJsfS9nZXQvJXt0
YWd9LiV7YXJjaGl2ZWV4dH0iKQogICAgICBlbHNlCiAgICAgICAgc2FmZXNldCgiYXJjaGl2
ZXVybCIsICAiJXtmb3JnZXVybH0vZ2V0LyV7Y29tbWl0fS4le2FyY2hpdmVleHR9IikKICAg
ICAgZW5kCiAgICBlbmQKICBlbmQKICAtLSBGaW5hbCB0ZXN0cyB0byBjaGVjayBmb3JnZXVy
bCB3YXMgc3VjY2Vzc2Z1bHkgcGFyc2VkCiAgaWYgbm90IHNpbGVudCB0aGVuCiAgICBpZiAo
Zm9yZ2UgPT0gInBhZ3VyZS5pbyIpIHRoZW4KICAgICAgcnBtLmV4cGFuZCgiJXt3YXJuOmh0
dHBzOi8vcGFndXJlLmlvL3BhZ3VyZS9pc3N1ZS84NjEgbmVlZHMgdG8gYmUgcmVzb2x2ZWQg
YmVmb3JlIHRoZSDigJxwYWd1cmUuaW/igJ1cbnNvZnR3YXJlIHB1Ymxpc2hpbmcgc2Vydmlj
ZSBjYW4gYmUgc3VwcG9ydGVkLlxufSIpCiAgICBlbmQKICAgIGlmIChycG0uZXhwYW5kKCIl
ez9hcmNoaXZlbmFtZX0iKSA9PSAiIikgb3IgKHJwbS5leHBhbmQoIiV7P2FyY2hpdmV1cmx9
IikgPT0gIiIpIHRoZW4KICAgICAgcnBtLmV4cGFuZCgiJXtlcnJvcjpBdXRvbWF0aW9uIGZv
ciB0aGUg4oCcIiAuLiBmb3JnZSAuLiAi4oCdXG5zb2Z0d2FyZSBwdWJsaXNoaW5nIHNlcnZp
Y2UgaXMgbm90IGltcGxlbWVudGVkIHlldC5cblBsZWFzZSBleHRlbmQgdGhlICUlZm9yZ2Vt
ZXRhIG1hY3JvIVxufSIpCiAgICBlbmQKICBlbmQKZW5kCi0tIFNldCBkZWZhdWx0cyBpZiBm
b3JnZXVybCBpcyBtaXNzaW5nIG9yIGRvZXMgbm90IHBhcnNlCmxvY2FsIGFyY2hpdmVuYW1l
ID0gcnBtLmV4cGFuZCgiJXs/YXJjaGl2ZW5hbWV9IikKc2FmZXNldCgiYXJjaGl2ZWV4dCIs
ICAgICAgICJ0YXIuZ3oiKQppZiAoYXJjaGl2ZW5hbWUgfj0gIiIpIHRoZW4KICBzYWZlc2V0
KCJmb3JnZXNldHVwYXJncyIsICItbiAle2FyY2hpdmVuYW1lfSIpCmVuZAppZiAoY29tbWl0
IH49ICIiKSBvciAodGFnIH49ICIiKSB0aGVuCiAgc2FmZXNldCgic2NtIiwgICAgICAgICAg
ICAiZ2l0IikKZW5kCi0tIFNvdXJjZSBVUkwgcHJvY2Vzc2luZyAoY29tcHV0aW5nIHRoZSBm
b3JnZXNvdXJjZSBzcGVjIHZhcmlhYmxlKQpsb2NhbCBhcmNoaXZldXJsICA9IHJwbS5leHBh
bmQoIiV7P2FyY2hpdmV1cmx9IikKbG9jYWwgYXJjaGl2ZWV4dCAgPSBycG0uZXhwYW5kKCIl
ez9hcmNoaXZlZXh0fSIpCmlmIChhcmNoaXZlbmFtZSB+PSAiIikgYW5kIChhcmNoaXZldXJs
IH49ICIiKSB0aGVuCiAgaWYgKHN0cmluZy5tYXRjaChhcmNoaXZldXJsLCAiLyhbXi9dKykk
IikgPT0gYXJjaGl2ZW5hbWUgLi4gIi4iIC4uIGFyY2hpdmVleHQpIHRoZW4KICAgIHNhZmVz
ZXQoImZvcmdlc291cmNlIiwgIiV7YXJjaGl2ZXVybH0iKQogIGVsc2UKICAgIHNhZmVzZXQo
ImZvcmdlc291cmNlIiwgIiV7P2FyY2hpdmV1cmx9Iy8lez9hcmNoaXZlbmFtZX0uJXthcmNo
aXZlZXh0fSIpCiAgZW5kCmVuZAotLSBkaXN0IHByb2Nlc3NpbmcgKGNvbXB1dGluZyB0aGUg
Y29ycmVjdCBwZWZpeCBmb3Igc25hcHNob3RzKQpsb2NhbCBkaXN0cHJlZml4ID0gcnBtLmV4
cGFuZCgiJXs/dGFnfSIpCmxvY2FsIHZlcnNpb24gICAgPSBycG0uZXhwYW5kKCIlez92ZXJz
aW9ufSIpCmlmIChkaXN0cHJlZml4ID09IHZlcnNpb24pIG9yIChkaXN0cHJlZml4ID09ICJ2
IiAuLiB2ZXJzaW9uKSB0aGVuCiAgZGlzdHByZWZpeCA9ICIiCmVuZAppZiAoZGlzdHByZWZp
eCA9PSAiIikgdGhlbgogIGRpc3RwcmVmaXggPSBzdHJpbmcuc3ViKHJwbS5leHBhbmQoIiV7
P2NvbW1pdH0iKSwgMSwgNykKZW5kCmlmIChkaXN0cHJlZml4IH49ICIiKSB0aGVuCiAgbG9j
YWwgZGlzdCA9ICIuJShbIC1yICV7X3NvdXJjZWRpcn0vJXthcmNoaXZlbmFtZX0uJXthcmNo
aXZlZXh0fSBdICYmIGRhdGUgKyVZJW0lZCAtdSAtciAle19zb3VyY2VkaXJ9LyV7YXJjaGl2
ZW5hbWV9LiV7YXJjaGl2ZWV4dH0pJXtzY219IiAuLiBzdHJpbmcuZ3N1YihkaXN0cHJlZml4
LCAiLSIsIi4iKSAuLiBycG0uZXhwYW5kKCIlez9kaXN0fSIpCiAgZXhwbGljaXRzZXQoImRp
c3QiLCBkaXN0KQplbmQKLS0gRmluYWwgc3BlYyB2YXJpYWJsZSBzdW1tYXJ5IGlmIHRoZSBt
YWNybyB3YXMgY2FsbGVkIHdpdGggLWkKaWYgaW5mb3JtYXRpdmUgdGhlbgogIHJwbS5leHBh
bmQoIiV7ZWNobzpGb3JnZS1zcGVjaWZpYyBwYWNrYWdpbmcgdmFyaWFibGVzXG59IikKICBy
cG0uZXhwYW5kKCIle2VjaG86ICBmb3JnZXVybDogICAgICAgICV7P2ZvcmdldXJsfVxufSIp
CiAgcnBtLmV4cGFuZCgiJXtlY2hvOiAgZm9yZ2Vzb3VyY2U6ICAgICAlez9mb3JnZXNvdXJj
ZX1cbn0iKQogIHJwbS5leHBhbmQoIiV7ZWNobzogIGZvcmdlc2V0dXBhcmdzOiAgJXs/Zm9y
Z2VzZXR1cGFyZ3N9XG59IikKICBycG0uZXhwYW5kKCIle2VjaG86R2VuZXJpYyB2YXJpYWJs
ZXNcbn0iKQogIHJwbS5leHBhbmQoIiV7ZWNobzogIGFyY2hpdmVuYW1lOiAgICAgJXs/YXJj
aGl2ZW5hbWV9XG59IikKICBycG0uZXhwYW5kKCIle2VjaG86ICBhcmNoaXZlZXh0OiAgICAg
ICV7P2FyY2hpdmVleHR9XG59IikKICBycG0uZXhwYW5kKCIle2VjaG86ICBhcmNoaXZldXJs
OiAgICAgICV7P2FyY2hpdmV1cmx9XG59IikKICBycG0uZXhwYW5kKCIle2VjaG86ICBzY206
ICAgICAgICAgICAgICV7P3NjbX1cbn0iKQogIHJwbS5leHBhbmQoIiV7ZWNobzogIHRhZzog
ICAgICAgICAgICAgJXs/dGFnfVxufSIpCiAgcnBtLmV4cGFuZCgiJXtlY2hvOiAgY29tbWl0
OiAgICAgICAgICAlez9jb21taXR9XG59IikKICBycG0uZXhwYW5kKCIle2VjaG86ICBkaXN0
OiAgICAgICAgICAgICV7P2Rpc3R9IChzbmFwc2hvdCBkYXRlIGlzIGNvbXB1dGVkIG9uY2Ug
JSV7X3NvdXJjZWRpcn0vJSV7YXJjaGl2ZW5hbWV9LiUle2FyY2hpdmVleHR9IGlzIGF2YWls
YWJsZSlcbn0iKQplbmQKfQotMTM6IF9fZm9yZ2VzZXR1cF9fKGE6YjpjRG46VHEpCSVzZXR1
cCAlez9mb3JnZXNldHVwYXJnc30gJXstYX0gJXstYn0gJXstY30gJXstRH0gJXstbn0gJXst
VH0gJXstcX0KLTEzOiBfX2dlbQkvdXNyL2Jpbi9nZW0KLTEzOiBfX2dpdAkvdXNyL2Jpbi9n
aXQKLTEzOiBfX2dsb2JhbF9jZmxhZ3MJJXtidWlsZF9jZmxhZ3N9Ci0xMzogX19nbG9iYWxf
Y29tcGlsZXJfZmxhZ3MJLU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9ybWF0LXNlY3Vy
aXR5IC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1mZXhjZXB0aW9ucyAtZnN0YWNrLXByb3Rl
Y3Rvci1zdHJvbmcgLS1wYXJhbT1zc3AtYnVmZmVyLXNpemU9NCAtZ3JlY29yZC1nY2Mtc3dp
dGNoZXMgJXtfaGFyZGVuZWRfY2ZsYWdzfQotMTM6IF9fZ2xvYmFsX2N4eGZsYWdzCSV7YnVp
bGRfY3h4ZmxhZ3N9Ci0xMzogX19nbG9iYWxfZmNmbGFncwkle2J1aWxkX2ZmbGFnc30KLTEz
OiBfX2dsb2JhbF9mZmxhZ3MJJXtidWlsZF9mZmxhZ3N9Ci0xMzogX19nbG9iYWxfbGRmbGFn
cwkle2J1aWxkX2xkZmxhZ3N9Ci0xMzogX19nbG9iYWxfcHJvdmlkZXNfZXhjbHVkZV9mcm9t
CSV7P19kb2NkaXI6JXtfZG9jZGlyfX0KLTEzOiBfX2dsb2JhbF9yZXF1aXJlc19leGNsdWRl
X2Zyb20JJXs/X2RvY2Rpcjole19kb2NkaXJ9fQotMTM6IF9fZ3BnCS91c3IvYmluL2dwZzIK
LTEzOiBfX2dwZ19yZXNlcnZlZF9zcGFjZQk0MDk2Ci0xMzogX19ncGdfc2lnbl9jbWQJJXtf
X2dwZ30gCglncGcgLS1uby12ZXJib3NlIC0tbm8tYXJtb3IgCgklez9fZ3BnX2RpZ2VzdF9h
bGdvOi0tZGlnZXN0LWFsZ28gJXtfZ3BnX2RpZ2VzdF9hbGdvfX0gCgktLW5vLXNlY21lbS13
YXJuaW5nIAoJJXs/X2dwZ19zaWduX2NtZF9leHRyYV9hcmdzOiV7X2dwZ19zaWduX2NtZF9l
eHRyYV9hcmdzfX0gCgktdSAiJXtfZ3BnX25hbWV9IiAtc2JvICV7X19zaWduYXR1cmVfZmls
ZW5hbWV9ICV7X19wbGFpbnRleHRfZmlsZW5hbWV9Ci0xMzogX19ncmVwCS91c3IvYmluL2dy
ZXAKLTEzOiBfX2dzdHJlYW1lcjFfcGF0aAleJXtfbGliZGlyfS9nc3RyZWFtZXItMS4qLy4q
LnNvJAotMTM6IF9fZ3N0cmVhbWVyMV9wcm92aWRlcwkle19ycG1jb25maWdkaXJ9L2dzdHJl
YW1lcjEucHJvdgotMTM6IF9fZ3ppcAkvdXNyL2Jpbi9nemlwCi0xMzogX19oZwkvdXNyL2Jp
bi9oZwotMTM6IF9faWQJL3Vzci9iaW4vaWQKLTEzOiBfX2lkX3UJJXtfX2lkfSAtdQotMTM6
IF9faW5zdGFsbAkvdXNyL2Jpbi9pbnN0YWxsCi0xMzogX19pc2EJJXtfX2lzYV9uYW1lfS0l
e19faXNhX2JpdHN9Ci0xMzogX19pc2FfYml0cwk2NAotMTM6IF9faXNhX25hbWUJeDg2Ci0x
MzogX19rbW9kX3BhdGgJXi9saWIvbW9kdWxlcy8uKiQKLTEzOiBfX2ttb2RfcHJvdmlkZXMJ
JXtfcnBtY29uZmlnZGlyfS9rbW9kLnByb3YKLTEzOiBfX2xkCS91c3IvYmluL2xkCi0xMzog
X19saWJzeW1saW5rX2ZsYWdzCW1hZ2ljX2FuZF9wYXRoCi0xMzogX19saWJzeW1saW5rX21h
Z2ljCV5zeW1ib2xpYyBsaW5rIHRvIC4qbGliLiouc28uLiokCi0xMzogX19saWJzeW1saW5r
X3BhdGgJXi4qLnNvJAotMTM6IF9fbGlic3ltbGlua19yZXF1aXJlcwkle19ycG1jb25maWdk
aXJ9L2VsZmRlcHMgLS1wcm92aWRlcyAtLXNvbmFtZS1vbmx5Ci0xMzogX19saWJ0b29sX3Bh
dGgJXiV7X2xpYmRpcn0vLioubGEkCi0xMzogX19saWJ0b29sX3Byb3ZpZGVzCSV7X3JwbWNv
bmZpZ2Rpcn0vbGlidG9vbGRlcHMuc2ggLS1wcm92aWRlcyAle2J1aWxkcm9vdH0gJXtuYW1l
fQotMTM6IF9fbGlidG9vbF9yZXF1aXJlcwkle19ycG1jb25maWdkaXJ9L2xpYnRvb2xkZXBz
LnNoIC0tcmVxdWlyZXMgJXtidWlsZHJvb3R9ICV7bmFtZX0KLTEzOiBfX2xpYnRvb2xpemUJ
bGlidG9vbGl6ZQotMTM6IF9fbG5fcwlsbiAtcwotMTM6IF9fbHJ6aXAJL3Vzci9iaW4vbHJ6
aXAKLTEzOiBfX2x6aXAJL3Vzci9iaW4vbHppcAotMTM6IF9fbHptYQklX194eiAtLWZvcm1h
dD1sem1hCi0xMzogX19tYWtlCS91c3IvYmluL21ha2UKLTEzOiBfX21ldGFpbmZvX3BhdGgJ
XiV7X2RhdGFkaXJ9LyhhcHBkYXRhfG1ldGFpbmZvKS8uKlwuKGFwcGRhdGF8bWV0YWluZm8p
XC54bWwkCi0xMzogX19tZXRhaW5mb19wcm92aWRlcwkle19ycG1jb25maWdkaXJ9L21ldGFp
bmZvLnByb3YKLTEzOiBfX21rZGlyCS91c3IvYmluL21rZGlyCi0xMzogX19ta2Rpcl9wCS91
c3IvYmluL21rZGlyIC1wCi0xMzogX19tb25vX21hZ2ljCU1vbm8vLk5ldCBhc3NlbWJseQot
MTM6IF9fbW9ub19wcm92aWRlcwkle19ycG1jb25maWdkaXJ9L21vbm8tZmluZC1wcm92aWRl
cyAle19idWlsZGRpcn0vJXs/YnVpbGRzdWJkaXJ9ICV7YnVpbGRyb290fSAle19saWJkaXJ9
Ci0xMzogX19tb25vX3JlcXVpcmVzCSV7X3JwbWNvbmZpZ2Rpcn0vbW9uby1maW5kLXJlcXVp
cmVzICV7X2J1aWxkZGlyfS8lez9idWlsZHN1YmRpcn0gJXtidWlsZHJvb3R9ICV7X2xpYmRp
cn0KLTEzOiBfX212CS91c3IvYmluL212Ci0xMzogX19ubQkvdXNyL2Jpbi9ubQotMTM6IF9f
b2JqY29weQkvdXNyL2Jpbi9vYmpjb3B5Ci0xMzogX19vYmpkdW1wCS91c3IvYmluL29iamR1
bXAKLTEzOiBfX29jYW1sX21hZ2ljCV4oT2JqZWN0aXZlIGNhbWx8T0NhbWwpIC4qJAotMTM6
IF9fb2NhbWxfcHJvdmlkZXMJJXtfcnBtY29uZmlnZGlyfS9vY2FtbC1maW5kLXByb3ZpZGVz
LnNoCi0xMzogX19vY2FtbF9yZXF1aXJlcwkle19ycG1jb25maWdkaXJ9L29jYW1sLWZpbmQt
cmVxdWlyZXMuc2gKLTEzOiBfX29zX2luc3RhbGxfcG9zdAkKICAgICV7P19fYnJwX2NvbXBy
ZXNzfSAKICAgICV7IT9fX2RlYnVnX3BhY2thZ2U6CiAgICAlez9fX2JycF9zdHJpcH0gCiAg
ICAlez9fX2JycF9zdHJpcF9jb21tZW50X25vdGV9IAogICAgfSAKICAgICV7P19fYnJwX3N0
cmlwX3N0YXRpY19hcmNoaXZlfSAKICAgICV7P3B5X2F1dG9fYnl0ZV9jb21waWxlOiV7P19f
YnJwX3B5dGhvbl9ieXRlY29tcGlsZX19IAogICAgJXs/X19icnBfcHl0aG9uX2hhcmRsaW5r
fSAKJXtuaWx9Ci0xMzogX19wYXRjaAkvdXNyL2Jpbi9wYXRjaAotMTM6IF9fcGVybAkvdXNy
L2Jpbi9wZXJsCi0xMzogX19wZXJsX2NoZWNrX3ByZQkle2V4cGFuZDogCiV7P19fc3BlY19j
aGVja19wcmV9IApwdXNoZCAle2J1aWxkc3ViZGlyfSAKJWRlZmluZSBwZXJsX2JyX3Rlc3Rk
aXIgJXtidWlsZHJvb3R9JXtwZXJsX3Rlc3RkaXJ9LyV7Y3Bhbl9kaXN0X25hbWV9IAole19f
bWtkaXJfcH0gJXtwZXJsX2JyX3Rlc3RkaXJ9IAole19fdGFyfSAtY2YgLSAle19fcGVybF90
ZXN0X2RpcnN9IHwgKCBjZCAle3BlcmxfYnJfdGVzdGRpcn0gJiYgJXtfX3Rhcn0gLXhmIC0g
KSAKZmluZCAuIC1tYXhkZXB0aCAxIC10eXBlIGYgLW5hbWUgJypNRVRBKicgLWV4ZWMgJXtf
X2NwfSAtdnAge30gJXtwZXJsX2JyX3Rlc3RkaXJ9ICc7JyAKZmluZCAle3BlcmxfYnJfdGVz
dGRpcn0gLXR5cGUgZiAtZXhlYyAle19fY2htb2R9IC1jIC14IHt9ICc7JyAKVF9GSUxFUz1g
ZmluZCAle3BlcmxfYnJfdGVzdGRpcn0gLXR5cGUgZiAtbmFtZSAnKi50J2AgCiVmaXhfc2hi
YW5nX2xpbmUgJFRfRklMRVMgCiV7X19jaG1vZH0gK3ggJFRfRklMRVMgCiV7X2ZpeHBlcm1z
fSAle3BlcmxfYnJfdGVzdGRpcn0gCnBvcGQgCn0KLTEzOiBfX3BlcmxfZmxhZ3MJZXhlb25s
eQotMTM6IF9fcGVybF9tYWdpYwleLipbUHBdZXJsIC4qJAotMTM6IF9fcGVybF9yZXF1aXJl
cwkle19ycG1jb25maWdkaXJ9L3BlcmwucmVxCi0xMzogX19wZXJsbGliX2ZsYWdzCW1hZ2lj
X2FuZF9wYXRoCi0xMzogX19wZXJsbGliX21hZ2ljCV5QZXJsW1s6ZGlnaXQ6XV0gbW9kdWxl
IHNvdXJjZS4qCi0xMzogX19wZXJsbGliX3BhdGgJXC5wbSQKLTEzOiBfX3BlcmxsaWJfcHJv
dmlkZXMJJXtfcnBtY29uZmlnZGlyfS9wZXJsLnByb3YKLTEzOiBfX3BlcmxsaWJfcmVxdWly
ZXMJJXtfcnBtY29uZmlnZGlyfS9wZXJsLnJlcQotMTM6IF9fcGtnY29uZmlnX3BhdGgJXigo
JXtfbGliZGlyfXwle19kYXRhZGlyfSkvcGtnY29uZmlnLy4qLnBjfCV7X2JpbmRpcn0vcGtn
LWNvbmZpZykkCi0xMzogX19wa2djb25maWdfcHJvdmlkZXMJJXtfcnBtY29uZmlnZGlyfS9w
a2djb25maWdkZXBzLnNoIC0tcHJvdmlkZXMKLTEzOiBfX3BrZ2NvbmZpZ19yZXF1aXJlcwkl
e19ycG1jb25maWdkaXJ9L3BrZ2NvbmZpZ2RlcHMuc2ggLS1yZXF1aXJlcwotMTM6IF9fcGx1
Z2luZGlyCSV7X2xpYmRpcn0vcnBtLXBsdWdpbnMKLTEzOiBfX3BzZHJpdmVyX21hZ2ljCV5Q
UEQgZmlsZS4qJAotMTM6IF9fcHNkcml2ZXJfcGF0aAleKC91c3IvbGliL2N1cHMvZHJpdmVy
Ly4qfCV7X2RhdGFkaXJ9L2N1cHMvZHJ2Ly4qLmRydikkCi0xMzogX19wc2RyaXZlcl9wcm92
aWRlcwkle19ycG1jb25maWdkaXJ9L3Bvc3RzY3JpcHRkcml2ZXIucHJvdgotMTM6IF9fcHl0
aG9uCS91c3IvYmluL3B5dGhvbgotMTM6IF9fcHl0aG9uMwkvdXNyL2Jpbi9weXRob24zCi0x
MzogX19weXRob25fbWFnaWMJW1BwXXl0aG9uLiooZXhlY3V0YWJsZXxieXRlLWNvbXBpbGVk
KQotMTM6IF9fcHl0aG9uX3BhdGgJXigoL3Vzci9saWIoNjQpPy9weXRob25bWzpkaWdpdDpd
XVwuW1s6ZGlnaXQ6XV0vLiopKXwoJXtfYmluZGlyfS9weXRob25bWzpkaWdpdDpdXVwuW1s6
ZGlnaXQ6XV0pKSQKLTEzOiBfX3B5dGhvbl9wcm92aWRlcwkle19ycG1jb25maWdkaXJ9L3B5
dGhvbmRpc3RkZXBzLnB5IC0tcHJvdmlkZXMgLS1tYWpvcnZlci1wcm92aWRlcwotMTM6IF9f
cHl0aG9uX3JlcXVpcmVzCSV7X3JwbWNvbmZpZ2Rpcn0vcHl0aG9uZGVwcy5zaCAtLXJlcXVp
cmVzCi0xMzogX19xdWlsdAkvdXNyL2Jpbi9xdWlsdAotMTM6IF9fcmFubGliCXJhbmxpYgot
MTM6IF9fcmVtc2gJJXtfX3JzaH0KLTEzOiBfX3Jlc3RvcmVjb24JL3NiaW4vcmVzdG9yZWNv
bgotMTM6IF9fcm0JL3Vzci9iaW4vcm0KLTEzOiBfX3JzaAkvdXNyL2Jpbi9yc2gKLTEzOiBf
X3NjbQlwYXRjaAotMTM6IF9fc2NtX2FwcGx5X2J6cihxcDptOikJCiV7X19wYXRjaH0gJXst
cDotcCV7LXAqfX0gJXstcTotc30KJXtfX2J6cn0gY29tbWl0ICV7LXF9IC1tICV7LW0qfQot
MTM6IF9fc2NtX2FwcGx5X2dlbmRpZmYocXA6bTopCQole19fcGF0Y2h9ICV7LXA6LXAley1w
Kn19ICV7LXE6LXN9IC0tZnV6ej0le19kZWZhdWx0X3BhdGNoX2Z1enp9ICV7X2RlZmF1bHRf
cGF0Y2hfZmxhZ3N9IC1iIC0tc3VmZml4ICIuJXsyfSIKLTEzOiBfX3NjbV9hcHBseV9naXQo
cXA6bTopCQole19fZ2l0fSBhcHBseSAtLWluZGV4ICV7LXA6LXAley1wKn19IC0KJXtfX2dp
dH0gY29tbWl0ICV7LXF9IC1tICV7LW0qfSAtLWF1dGhvciAiJXtfX3NjbV9hdXRob3J9Igot
MTM6IF9fc2NtX2FwcGx5X2dpdF9hbShxcDptOikJCiV7X19naXR9IGFtICV7LXF9ICV7LXA6
LXAley1wKn19Ci0xMzogX19zY21fYXBwbHlfaGcocXA6bTopCQole19faGd9IGltcG9ydCAt
ICV7LXA6LXAley1wKn19ICV7LXF9IC1tICV7LW0qfSAtLXVzZXIgIiV7X19zY21fYXV0aG9y
fSIKLTEzOiBfX3NjbV9hcHBseV9wYXRjaChxcDptOikJCiV7X19wYXRjaH0gJXstcDotcCV7
LXAqfX0gJXstcTotc30gLS1mdXp6PSV7X2RlZmF1bHRfcGF0Y2hfZnV6en0gJXtfZGVmYXVs
dF9wYXRjaF9mbGFnc30KLTEzOiBfX3NjbV9hcHBseV9xdWlsdChxcDptOikJCiV7X19xdWls
dH0gaW1wb3J0ICV7LXA6LXAley1wKn19ICV7MX0gJiYgJXtfX3F1aWx0fSBwdXNoICV7LXF9
Ci0xMzogX19zY21fYXV0aG9yCSV7X19zY21fdXNlcm5hbWV9ICV7X19zY21fdXNlcm1haWx9
Ci0xMzogX19zY21fc2V0dXBfYnpyKHEpCQole19fYnpyfSBpbml0ICV7LXF9CiV7X19ienJ9
IHdob2FtaSAtLWJyYW5jaCAiJXtfX3NjbV9hdXRob3J9Igole19fYnpyfSBhZGQgLgole19f
YnpyfSBjb21taXQgJXstcX0gLW0gIiV7TkFNRX0tJXtWRVJTSU9OfSBiYXNlIgotMTM6IF9f
c2NtX3NldHVwX2dlbmRpZmYocSkJJXtuaWx9Ci0xMzogX19zY21fc2V0dXBfZ2l0KHEpCQol
e19fZ2l0fSBpbml0ICV7LXF9CiV7X19naXR9IGNvbmZpZyB1c2VyLm5hbWUgIiV7X19zY21f
dXNlcm5hbWV9Igole19fZ2l0fSBjb25maWcgdXNlci5lbWFpbCAiJXtfX3NjbV91c2VybWFp
bH0iCiV7X19naXR9IGFkZCAuCiV7X19naXR9IGNvbW1pdCAley1xfSAtYVwKCS0tYXV0aG9y
ICIle19fc2NtX2F1dGhvcn0iIC1tICIle05BTUV9LSV7VkVSU0lPTn0gYmFzZSIKLTEzOiBf
X3NjbV9zZXR1cF9naXRfYW0ocSkJCiV7ZXhwYW5kOiVfX3NjbV9zZXR1cF9naXQgJXstcX19
Ci0xMzogX19zY21fc2V0dXBfaGcocSkJCiV7X19oZ30gaW5pdCAley1xfSAuCiV7X19oZ30g
YWRkICV7LXF9IC4KJXtfX2hnfSBjb21taXQgJXstcX0gLS11c2VyICIle19fc2NtX2F1dGhv
cn0iIC1tICIle05BTUV9LSV7VkVSU0lPTn0gYmFzZSIKLTEzOiBfX3NjbV9zZXR1cF9wYXRj
aChxKQkle25pbH0KLTEzOiBfX3NjbV9zZXR1cF9xdWlsdChxKQkle25pbH0KLTEzOiBfX3Nj
bV91c2VybWFpbAk8cnBtLWJ1aWxkPgotMTM6IF9fc2NtX3VzZXJuYW1lCXJwbS1idWlsZAot
MTM6IF9fc2NyaXB0X2ZsYWdzCWV4ZW9ubHkKLTEzOiBfX3NjcmlwdF9tYWdpYwleLiogc2Ny
aXB0WywgXS4qJAotMTM6IF9fc2NyaXB0X3JlcXVpcmVzCSV7X3JwbWNvbmZpZ2Rpcn0vc2Ny
aXB0LnJlcQotMTM6IF9fc2VkCS91c3IvYmluL3NlZAotMTM6IF9fc2Vtb2R1bGUJL3Vzci9i
aW4vc2Vtb2R1bGUKLTEzOiBfX3NwZWNfYnVpbGRfYXJncwkle19fX2J1aWxkX2FyZ3N9Ci0x
MzogX19zcGVjX2J1aWxkX2JvZHkJJXtfX19idWlsZF9ib2R5fQotMTM6IF9fc3BlY19idWls
ZF9jbWQJJXtfX19idWlsZF9jbWR9Ci0xMzogX19zcGVjX2J1aWxkX3Bvc3QJJXtfX19idWls
ZF9wb3N0fQotMTM6IF9fc3BlY19idWlsZF9wcmUJJXtfX19idWlsZF9wcmV9Ci0xMzogX19z
cGVjX2J1aWxkX3NoZWxsCSV7X19fYnVpbGRfc2hlbGx9Ci0xMzogX19zcGVjX2J1aWxkX3Rl
bXBsYXRlCSMhJXtfX3NwZWNfYnVpbGRfc2hlbGx9CiV7X19zcGVjX2J1aWxkX3ByZX0KJXtu
aWx9Ci0xMzogX19zcGVjX2NoZWNrX2FyZ3MJJXtfX19idWlsZF9hcmdzfQotMTM6IF9fc3Bl
Y19jaGVja19ib2R5CSV7X19fYnVpbGRfYm9keX0KLTEzOiBfX3NwZWNfY2hlY2tfY21kCSV7
X19fYnVpbGRfY21kfQotMTM6IF9fc3BlY19jaGVja19wb3N0CSV7X19fYnVpbGRfcG9zdH0K
LTEzOiBfX3NwZWNfY2hlY2tfcHJlCSV7X19fYnVpbGRfcHJlfQotMTM6IF9fc3BlY19jaGVj
a19zaGVsbAkle19fX2J1aWxkX3NoZWxsfQotMTM6IF9fc3BlY19jaGVja190ZW1wbGF0ZQkj
ISV7X19zcGVjX2NoZWNrX3NoZWxsfQole19fc3BlY19jaGVja19wcmV9CiV7bmlsfQotMTM6
IF9fc3BlY19jbGVhbl9hcmdzCSV7X19fYnVpbGRfYXJnc30KLTEzOiBfX3NwZWNfY2xlYW5f
Ym9keQkle19fX2J1aWxkX2JvZHl9Ci0xMzogX19zcGVjX2NsZWFuX2NtZAkle19fX2J1aWxk
X2NtZH0KLTEzOiBfX3NwZWNfY2xlYW5fcG9zdAkle19fX2J1aWxkX3Bvc3R9Ci0xMzogX19z
cGVjX2NsZWFuX3ByZQkle19fX2J1aWxkX3ByZX0KLTEzOiBfX3NwZWNfY2xlYW5fc2hlbGwJ
JXtfX19idWlsZF9zaGVsbH0KLTEzOiBfX3NwZWNfY2xlYW5fdGVtcGxhdGUJIyEle19fc3Bl
Y19jbGVhbl9zaGVsbH0KJXtfX3NwZWNfY2xlYW5fcHJlfQole25pbH0KLTEzOiBfX3NwZWNf
aW5zdGFsbF9hcmdzCSV7X19fYnVpbGRfYXJnc30KLTEzOiBfX3NwZWNfaW5zdGFsbF9ib2R5
CSV7X19fYnVpbGRfYm9keX0KLTEzOiBfX3NwZWNfaW5zdGFsbF9jbWQJJXtfX19idWlsZF9j
bWR9Ci0xMzogX19zcGVjX2luc3RhbGxfcG9zdAkKICAgICV7P19fZGVidWdfcGFja2FnZTol
e19fZGVidWdfaW5zdGFsbF9wb3N0fX0KICAgICV7X19hcmNoX2luc3RhbGxfcG9zdH0KICAg
ICV7X19vc19pbnN0YWxsX3Bvc3R9CiV7bmlsfQotMTM6IF9fc3BlY19pbnN0YWxsX3ByZQkl
e19fX2J1aWxkX3ByZX0KICAgIFsgIiRSUE1fQlVJTERfUk9PVCIgIT0gIi8iIF0gJiYgcm0g
LXJmICIke1JQTV9CVUlMRF9ST09UfSIKICAgIG1rZGlyIC1wIGBkaXJuYW1lICIkUlBNX0JV
SUxEX1JPT1QiYAogICAgbWtkaXIgIiRSUE1fQlVJTERfUk9PVCIKJXtuaWx9Ci0xMzogX19z
cGVjX2luc3RhbGxfc2hlbGwJJXtfX19idWlsZF9zaGVsbH0KLTEzOiBfX3NwZWNfaW5zdGFs
bF90ZW1wbGF0ZQkjISV7X19zcGVjX2luc3RhbGxfc2hlbGx9CiV7X19zcGVjX2luc3RhbGxf
cHJlfQole25pbH0KLTEzOiBfX3NwZWNfcHJlcF9hcmdzCSV7X19fYnVpbGRfYXJnc30KLTEz
OiBfX3NwZWNfcHJlcF9ib2R5CSV7X19fYnVpbGRfYm9keX0KLTEzOiBfX3NwZWNfcHJlcF9j
bWQJJXtfX19idWlsZF9jbWR9Ci0xMzogX19zcGVjX3ByZXBfcG9zdAkle19fX2J1aWxkX3Bv
c3R9Ci0xMzogX19zcGVjX3ByZXBfcHJlCSV7X19fYnVpbGRfcHJlfQotMTM6IF9fc3BlY19w
cmVwX3NoZWxsCSV7X19fYnVpbGRfc2hlbGx9Ci0xMzogX19zcGVjX3ByZXBfdGVtcGxhdGUJ
IyEle19fc3BlY19wcmVwX3NoZWxsfQole19fc3BlY19wcmVwX3ByZX0KJXtuaWx9Ci0xMzog
X19zcGVjX3JtYnVpbGRfYXJncwkle19fX2J1aWxkX2FyZ3N9Ci0xMzogX19zcGVjX3JtYnVp
bGRfYm9keQkle19fX2J1aWxkX2JvZHl9Ci0xMzogX19zcGVjX3JtYnVpbGRfY21kCSV7X19f
YnVpbGRfY21kfQotMTM6IF9fc3BlY19ybWJ1aWxkX3Bvc3QJJXtfX19idWlsZF9wb3N0fQot
MTM6IF9fc3BlY19ybWJ1aWxkX3ByZQkle19fX2J1aWxkX3ByZX0KLTEzOiBfX3NwZWNfcm1i
dWlsZF9zaGVsbAkle19fX2J1aWxkX3NoZWxsfQotMTM6IF9fc3BlY19ybWJ1aWxkX3RlbXBs
YXRlCSMhJXtfX3NwZWNfcm1idWlsZF9zaGVsbH0KJXtfX3NwZWNfcm1idWlsZF9wcmV9CiV7
bmlsfQotMTM6IF9fc3NoCS91c3IvYmluL3NzaAotMTM6IF9fc3RyaXAJL3Vzci9iaW4vc3Ry
aXAKLTEzOiBfX3RhcgkvdXNyL2Jpbi90YXIKLTEzOiBfX3RyYW5zYWN0aW9uX2ltYQkle19f
cGx1Z2luZGlyfS9pbWEuc28KLTEzOiBfX3RyYW5zYWN0aW9uX3ByaW9yZXNldAkle19fcGx1
Z2luZGlyfS9wcmlvcmVzZXQuc28KLTEzOiBfX3RyYW5zYWN0aW9uX3NlbGludXgJJXtfX3Bs
dWdpbmRpcn0vc2VsaW51eC5zbwotMTM6IF9fdHJhbnNhY3Rpb25fc3lzbG9nCSV7X19wbHVn
aW5kaXJ9L3N5c2xvZy5zbwotMTM6IF9fdHJhbnNhY3Rpb25fc3lzdGVtZF9pbmhpYml0CSV7
X19wbHVnaW5kaXJ9L3N5c3RlbWRfaW5oaWJpdC5zbwotMTM6IF9fdW56aXAJL3Vzci9iaW4v
dW56aXAKLTEzOiBfX3VybGhlbHBlcl9wcm94eW9wdHMJJXs/X2h0dHBwcm94eTotLXByb3h5
ICV7X2h0dHBwcm94eX0lez9faHR0cHBvcnQ6OiV7X2h0dHBwb3J0fX19JXshP19odHRwcHJv
eHk6JXtuaWx9fQotMTM6IF9fdXJsaGVscGVyY21kCS91c3IvYmluL2N1cmwKLTEzOiBfX3Vy
bGhlbHBlcm9wdHMJLS1zaWxlbnQgLS1zaG93LWVycm9yIC0tZmFpbCAtLWdsb2JvZmYgLS1s
b2NhdGlvbiAtbwotMTM6IF9fdnNmbGFncwkweGYwMDAwCi0xMzogX194egkvdXNyL2Jpbi94
egotMTM6IF9fenN0ZAkvdXNyL2Jpbi96c3RkCi0xMzogX2FyY2gJeDg2XzY0Ci0xMzogX2Jp
bmFyaWVzX2luX25vYXJjaF9wYWNrYWdlc190ZXJtaW5hdGVfYnVpbGQJMQotMTM6IF9iaW5h
cnlfZmlsZWRpZ2VzdF9hbGdvcml0aG0JOAotMTM6IF9iaW5hcnlfcGF5bG9hZAl3Mi54emRp
bwotMTM6IF9iaW5kaXIJJXtfZXhlY19wcmVmaXh9L2JpbgotMTM6IF9iaW5mbXRkaXIJL3Vz
ci9saWIvYmluZm10LmQKLTEzOiBfYnVpbGQJJXtfaG9zdH0KLTEzOiBfYnVpbGRfYWxpYXMJ
JXtfaG9zdF9hbGlhc30KLTEzOiBfYnVpbGRfYXJjaAl4ODZfNjQKLTEzOiBfYnVpbGRfY3B1
CSV7X2hvc3RfY3B1fQotMTM6IF9idWlsZF9pZF9saW5rcwljb21wYXQKLTEzOiBfYnVpbGRf
bmFtZV9mbXQJJSV7QVJDSH0vJSV7TkFNRX0tJSV7VkVSU0lPTn0tJSV7UkVMRUFTRX0uJSV7
QVJDSH0ucnBtCi0xMzogX2J1aWxkX29zCSV7X2hvc3Rfb3N9Ci0xMzogX2J1aWxkX3ZlbmRv
cgkle19ob3N0X3ZlbmRvcn0KLTEzOiBfYnVpbGRkaXIJJXtfdG9wZGlyfS9CVUlMRAotMTM6
IF9idWlsZHJvb3RkaXIJJXtfdG9wZGlyfS9CVUlMRFJPT1QKLTEzOiBfYnVpbGRzaGVsbAkv
YmluL3NoCi0xMzogX2J6aXAyYmluCSV7X19iemlwMn0KLTEzOiBfY2hhbmdlbG9nX3RyaW10
aW1lCTAKLTEzOiBfY21ha2VfbGliX3N1ZmZpeDY0CS1ETElCX1NVRkZJWD02NAotMTM6IF9j
bWFrZV9za2lwX3JwYXRoCS1EQ01BS0VfU0tJUF9SUEFUSDpCT09MPU9OCi0xMzogX2NtYWtl
X3ZlcnNpb24JMy4xMS4wCi0xMzogX2NtbXNjb2xvcmRpcgklX2NvbG9yZGlyL2NtbXMKLTEz
OiBfY29sb3Jfb3V0cHV0CW5ldmVyCi0xMzogX2NvbG9yZGlyCSVfZGF0YWRpci9jb2xvcgot
MTM6IF9jb25maWd1cmUJLi9jb25maWd1cmUKLTEzOiBfY29uZmlndXJlX2dudWNvbmZpZ19o
YWNrCTEKLTEzOiBfY29uZmlndXJlX2xpYnRvb2xfaGFyZGVuaW5nX2hhY2sJMQotMTM6IF9k
YXRhZGlyCSV7X2RhdGFyb290ZGlyfQotMTM6IF9kYXRhcm9vdGRpcgkle19wcmVmaXh9L3No
YXJlCi0xMzogX2RiX2JhY2tlbmQJYmRiCi0xMzogX2RiaV9jb25maWcJJXs/X19kYmlfb3Ro
ZXJ9Ci0xMzogX2RiaV9jb25maWdfUGFja2FnZXMJJXs/X2RiaV9jb25maWd9IGxvY2tkYmZk
Ci0xMzogX2RicGF0aAkle192YXJ9L2xpYi9ycG0KLTEzOiBfZGJwYXRoX3JlYnVpbGQJJXtf
ZGJwYXRofQotMTM6IF9kZWJ1Z2luZm9fc3VicGFja2FnZXMJMQotMTM6IF9kZWJ1Z2luZm9f
dGVtcGxhdGUJCiVwYWNrYWdlIGRlYnVnaW5mbwpTdW1tYXJ5OiBEZWJ1ZyBpbmZvcm1hdGlv
biBmb3IgcGFja2FnZSAle25hbWV9Ckdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1ZwpBdXRvUmVx
OiAwCkF1dG9Qcm92OiAxCiVkZXNjcmlwdGlvbiBkZWJ1Z2luZm8KVGhpcyBwYWNrYWdlIHBy
b3ZpZGVzIGRlYnVnIGluZm9ybWF0aW9uIGZvciBwYWNrYWdlICV7bmFtZX0uCkRlYnVnIGlu
Zm9ybWF0aW9uIGlzIHVzZWZ1bCB3aGVuIGRldmVsb3BpbmcgYXBwbGljYXRpb25zIHRoYXQg
dXNlIHRoaXMKcGFja2FnZSBvciB3aGVuIGRlYnVnZ2luZyB0aGlzIHBhY2thZ2UuCiVmaWxl
cyBkZWJ1Z2luZm8gLWYgZGVidWdmaWxlcy5saXN0CiV7bmlsfQotMTM6IF9kZWJ1Z3NvdXJj
ZV9wYWNrYWdlcwkxCi0xMzogX2RlYnVnc291cmNlX3RlbXBsYXRlCQolcGFja2FnZSBkZWJ1
Z3NvdXJjZQpTdW1tYXJ5OiBEZWJ1ZyBzb3VyY2VzIGZvciBwYWNrYWdlICV7bmFtZX0KR3Jv
dXA6IERldmVsb3BtZW50L0RlYnVnCkF1dG9SZXFQcm92OiAwCiVkZXNjcmlwdGlvbiBkZWJ1
Z3NvdXJjZQpUaGlzIHBhY2thZ2UgcHJvdmlkZXMgZGVidWcgc291cmNlcyBmb3IgcGFja2Fn
ZSAle25hbWV9LgpEZWJ1ZyBzb3VyY2VzIGFyZSB1c2VmdWwgd2hlbiBkZXZlbG9waW5nIGFw
cGxpY2F0aW9ucyB0aGF0IHVzZSB0aGlzCnBhY2thZ2Ugb3Igd2hlbiBkZWJ1Z2dpbmcgdGhp
cyBwYWNrYWdlLgolZmlsZXMgZGVidWdzb3VyY2UgLWYgZGVidWdzb3VyY2VmaWxlcy5saXN0
CiV7bmlsfQotMTM6IF9kZWZhdWx0X3BhdGNoX2ZsYWdzCS0tbm8tYmFja3VwLWlmLW1pc21h
dGNoCi0xMzogX2RlZmF1bHRfcGF0Y2hfZnV6egkwCi0xMzogX2RlZmF1bHRkb2NkaXIJJXtf
ZGF0YWRpcn0vZG9jCi0xMzogX2RlZmF1bHRsaWNlbnNlZGlyCSV7X2RhdGFkaXJ9L2xpY2Vu
c2VzCi0xMzogX2Rpc2FibGVfc291cmNlX2ZldGNoCTEKLTEzOiBfZG9fZ2NvbmZfc2NoZW1h
X3JlbW92ZQkKICAgICAgICBpZiB0ZXN0IC1mICV7X3N5c2NvbmZkaXJ9L2djb25mL3NjaGVt
YXMvIiRzY2hlbWEiLnNjaGVtYXMgOyB0aGVuIAogICAgICAgICAgICBleHBvcnQgR0NPTkZf
Q09ORklHX1NPVVJDRT1gZ2NvbmZ0b29sLTIgLS1nZXQtZGVmYXVsdC1zb3VyY2VgIAogICAg
ICAgICAgICBnY29uZnRvb2wtMiAtLW1ha2VmaWxlLXVuaW5zdGFsbC1ydWxlICV7X3N5c2Nv
bmZkaXJ9L2djb25mL3NjaGVtYXMvIiRzY2hlbWEiLnNjaGVtYXMgPiAvZGV2L251bGwgfHwg
OiAKICAgICAgICBmaSAKJXtuaWx9Ci0xMzogX2RvY2Rpcl9mbXQJJSV7TkFNRX0KLTEzOiBf
ZHd6X2xpbWl0CSV7ZXhwYW5kOiUlez8lezF9XyV7X2FyY2h9fSUleyE/JXsxfV8le19hcmNo
fTolJSV7MX19fQotMTM6IF9kd3pfbG93X21lbV9kaWVfbGltaXQJMTAwMDAwMDAKLTEzOiBf
ZHd6X2xvd19tZW1fZGllX2xpbWl0X2FybXY1dGVsCTQwMDAwMDAKLTEzOiBfZHd6X2xvd19t
ZW1fZGllX2xpbWl0X2FybXY3aGwJNDAwMDAwMAotMTM6IF9kd3pfbWF4X2RpZV9saW1pdAk1
MDAwMDAwMAotMTM6IF9kd3pfbWF4X2RpZV9saW1pdF9hcm12NXRlbAkxMDAwMDAwMAotMTM6
IF9kd3pfbWF4X2RpZV9saW1pdF9hcm12N2hsCTEwMDAwMDAwCi0xMzogX2R3el9tYXhfZGll
X2xpbWl0X3g4Nl82NAkxMTAwMDAwMDAKLTEzOiBfZW1wdHlfbWFuaWZlc3RfdGVybWluYXRl
X2J1aWxkCTEKLTEzOiBfZW5hYmxlX2RlYnVnX3BhY2thZ2VzCTEKLTEzOiBfZXhlY19wcmVm
aXgJJXtfcHJlZml4fQotMTM6IF9maWxlX2NvbnRleHRfZmlsZQkle19zeXNjb25mZGlyfS9z
ZWxpbnV4LyR7U0VMSU5VWFRZUEV9L2NvbnRleHRzL2ZpbGVzL2ZpbGVfY29udGV4dHMKLTEz
OiBfZmlsZV9jb250ZXh0X2ZpbGVfcHJlCSV7X2xvY2Fsc3RhdGVkaXJ9L2xpYi9ycG0tc3Rh
dGUvZmlsZV9jb250ZXh0cy5wcmUKLTEzOiBfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFu
cwkle19zaGFyZWRzdGF0ZWRpcn0vc2VsaW51eC8ke19wb2xpY3l0eXBlfS9ycG1ib29sZWFu
cy5jdXN0b20KLTEzOiBfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFuc190bXAJJXtfc2hh
cmVkc3RhdGVkaXJ9L3NlbGludXgvJHtfcG9saWN5dHlwZX0vcnBtYm9vbGVhbnMuY3VzdG9t
LnRtcAotMTM6IF9maWxlYXR0cnNkaXIJJXtfcnBtY29uZmlnZGlyfS9maWxlYXR0cnMKLTEz
OiBfZmlsdGVyX0dMSUJDX1BSSVZBVEUJMAotMTM6IF9maW5kX2RlYnVnaW5mb19kd3pfb3B0
cwktLXJ1bi1kd3pcCiAgIC0tZHd6LWxvdy1tZW0tZGllLWxpbWl0ICV7X2R3el9saW1pdCBf
ZHd6X2xvd19tZW1fZGllX2xpbWl0fVwKICAgLS1kd3otbWF4LWRpZS1saW1pdCAle19kd3pf
bGltaXQgX2R3el9tYXhfZGllX2xpbWl0fQotMTM6IF9maXhwZXJtcwkle19fY2htb2R9IC1S
ZiBhK3JYLHUrdyxnLXcsby13Ci0xMzogX2Ztb2RkaXIJJXtfbGliZGlyfS9nZm9ydHJhbi9t
b2R1bGVzCi0xMzogX2dudQktZ251Ci0xMzogX2d6aXBiaW4JJXtfX2d6aXB9Ci0xMzogX2hh
cmRlbmVkX2J1aWxkCTEKLTEzOiBfaGFyZGVuZWRfY2ZsYWdzCSV7P19oYXJkZW5lZF9idWls
ZDole19oYXJkZW5pbmdfY2ZsYWdzfX0KLTEzOiBfaGFyZGVuZWRfbGRmbGFncwklez9faGFy
ZGVuZWRfYnVpbGQ6JXtfaGFyZGVuaW5nX2xkZmxhZ3N9fQotMTM6IF9oYXJkZW5pbmdfY2Zs
YWdzCS1zcGVjcz0vdXNyL2xpYi9ycG0vcmVkaGF0L3JlZGhhdC1oYXJkZW5lZC1jYzEKLTEz
OiBfaGFyZGVuaW5nX2xkZmxhZ3MJLXNwZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0
LWhhcmRlbmVkLWxkCi0xMzogX2hrcF9rZXlzZXJ2ZXIJaHR0cDovL3BncC5taXQuZWR1Ci0x
MzogX2hrcF9rZXlzZXJ2ZXJfcXVlcnkJJXtfaGtwX2tleXNlcnZlcn06MTEzNzEvcGtzL2xv
b2t1cD9vcD1nZXQmc2VhcmNoPTB4Ci0xMzogX2hvc3QJeDg2XzY0LXJlZGhhdC1saW51eC1n
bnUKLTEzOiBfaG9zdF9hbGlhcwl4ODZfNjQtcmVkaGF0LWxpbnV4LWdudSV7bmlsfQotMTM6
IF9ob3N0X2NwdQl4ODZfNjQKLTEzOiBfaG9zdF9vcwlsaW51eAotMTM6IF9ob3N0X3ZlbmRv
cglyZWRoYXQKLTEzOiBfaWNjY29sb3JkaXIJJV9jb2xvcmRpci9pY2MKLTEzOiBfaW5jbHVk
ZV9nZGJfaW5kZXgJMQotMTM6IF9pbmNsdWRlX21pbmlkZWJ1Z2luZm8JMQotMTM6IF9pbmNs
dWRlZGlyCSV7X3ByZWZpeH0vaW5jbHVkZQotMTM6IF9pbmZvZGlyCSV7X2RhdGFyb290ZGly
fS9pbmZvCi0xMzogX2luaXRkZGlyCSV7X3N5c2NvbmZkaXJ9L3JjLmQvaW5pdC5kCi0xMzog
X2luaXRyZGRpcgkle19pbml0ZGRpcn0KLTEzOiBfaW5zdGFsbF9sYW5ncwlhbGwKLTEzOiBf
aW5zdGFsbF9zY3JpcHRfcGF0aAkvc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbjovdXNy
L1gxMVI2L2JpbgotMTM6IF9pbnZhbGlkX2VuY29kaW5nX3Rlcm1pbmF0ZXNfYnVpbGQJMAot
MTM6IF9pc2EJJXs/X19pc2E6KCV7X19pc2F9KX0leyE/X19pc2E6JXtuaWx9fQotMTM6IF9p
dnl4bWxkaXIJJXtfZGF0YWRpcn0vaXZ5LXhtbHMKLTEzOiBfamF2YWNvbmZkaXIJJXtfc3lz
Y29uZmRpcn0vamF2YQotMTM6IF9qYXZhZGlyCSV7X2RhdGFkaXJ9L2phdmEKLTEzOiBfamF2
YWRvY2Rpcgkle19kYXRhZGlyfS9qYXZhZG9jCi0xMzogX2puaWRpcgkle19wcmVmaXh9L2xp
Yi9qYXZhCi0xMzogX2pvdXJuYWxjYXRhbG9nZGlyCS91c3IvbGliL3N5c3RlbWQvY2F0YWxv
ZwotMTM6IF9qdm1jb21tb25kYXRhZGlyCSV7X2RhdGFkaXJ9L2p2bS1jb21tbW9uCi0xMzog
X2p2bWNvbW1vbmxpYmRpcgkle19wcmVmaXh9L2xpYi9qdm0tY29tbW1vbgotMTM6IF9qdm1j
b21tb25zeXNjb25mZGlyCSV7X3N5c2NvbmZkaXJ9L2p2bS1jb21tbW9uCi0xMzogX2p2bWRh
dGFkaXIJJXtfZGF0YWRpcn0vanZtCi0xMzogX2p2bWRpcgkle19wcmVmaXh9L2xpYi9qdm0K
LTEzOiBfanZtbGliZGlyCSV7X3ByZWZpeH0vbGliL2p2bQotMTM6IF9qdm1wcml2ZGlyCSV7
X3ByZWZpeH0vbGliL2p2bS1wcml2YXRlCi0xMzogX2p2bXN5c2NvbmZkaXIJJXtfc3lzY29u
ZmRpcn0vanZtCi0xMzogX2tkZTRfYXBwc2RpcgklX2tkZTRfc2hhcmVkaXIva2RlNC9hcHBz
Ci0xMzogX2tkZTRfYmluZGlyCSVfa2RlNF9wcmVmaXgvYmluCi0xMzogX2tkZTRfYnVpbGRf
dGVzdHMJLURLREU0X0JVSUxEX1RFU1RTOkJPT0w9T0ZGCi0xMzogX2tkZTRfYnVpbGR0eXBl
CXJlbGVhc2UKLTEzOiBfa2RlNF9jb25maWdkaXIJJV9rZGU0X3NoYXJlZGlyL2NvbmZpZwot
MTM6IF9rZGU0X2RhdGFkaXIJJV9kYXRhZGlyCi0xMzogX2tkZTRfZG9jZGlyCS91c3Ivc2hh
cmUvZG9jCi0xMzogX2tkZTRfaWNvbnNkaXIJJV9rZGU0X3NoYXJlZGlyL2ljb25zCi0xMzog
X2tkZTRfaW5jbHVkZWRpcgklX2tkZTRfcHJlZml4L2luY2x1ZGUva2RlNAotMTM6IF9rZGU0
X2xpYmRpcgklX2xpYmRpcgotMTM6IF9rZGU0X2xpYmV4ZWNkaXIJJV9saWJleGVjZGlyL2tk
ZTQKLTEzOiBfa2RlNF9tYWNyb3NfYXBpCTIKLTEzOiBfa2RlNF9wcmVmaXgJJV9wcmVmaXgK
LTEzOiBfa2RlNF9zYmluZGlyCSVfa2RlNF9wcmVmaXgvc2JpbgotMTM6IF9rZGU0X3NoYXJl
ZGlyCSVfZGF0YWRpcgotMTM6IF9rZGU0X3N5c2NvbmZkaXIJJV9zeXNjb25mZGlyCi0xMzog
X2tkZTRfdmVyc2lvbgklKChrZGU0LWNvbmZpZyAtLWtkZS12ZXJzaW9uIDI+L2Rldi9udWxs
IHx8IGVjaG8gNC4zLjk4KSB8IGN1dCAtZCcgJyAtZjEgKQotMTM6IF9rZXlyaW5ncGF0aAkl
e19kYnBhdGh9L3B1YmtleXMvCi0xMzogX2xpYglsaWI2NAotMTM6IF9saWJkaXIJJXtfcHJl
Zml4fS9saWI2NAotMTM6IF9saWJleGVjZGlyCSV7X2V4ZWNfcHJlZml4fS9saWJleGVjCi0x
MzogX2xvY2Fsc3RhdGVkaXIJL3ZhcgotMTM6IF9tYWtlX291dHB1dF9zeW5jCSUoISAle19f
bWFrZX0gLS12ZXJzaW9uIC1PID4vZGV2L251bGwgMj4mMSB8fCBlY2hvIC1PKQotMTM6IF9t
YW5kaXIJJXtfZGF0YXJvb3RkaXJ9L21hbgotMTM6IF9tYXZlbnBvbWRpcgkle19kYXRhZGly
fS9tYXZlbi1wb21zCi0xMzogX21pbmltaXplX3dyaXRlcwkwCi0xMzogX21pc3NpbmdfYnVp
bGRfaWRzX3Rlcm1pbmF0ZV9idWlsZAkxCi0xMzogX21pc3NpbmdfZG9jX2ZpbGVzX3Rlcm1p
bmF0ZV9idWlsZAkxCi0xMzogX21vbm9kaXIJJXtfcHJlZml4fS9saWIvbW9ubwotMTM6IF9t
b25vZ2FjZGlyCSV7X21vbm9kaXJ9L2dhYwotMTM6IF9vbGRpbmNsdWRlZGlyCS91c3IvaW5j
bHVkZQotMTM6IF9vcwlsaW51eAotMTM6IF9wa2dkb2NkaXIJJXtfZG9jZGlyfS8le25hbWV9
Ci0xMzogX3ByZWZpeAkvdXNyCi0xMzogX3ByZXNldGRpcgkvdXNyL2xpYi9zeXN0ZW1kL3N5
c3RlbS1wcmVzZXQKLTEzOiBfcHl0aG9uX2J5dGVjb21waWxlX2Vycm9yc190ZXJtaW5hdGVf
YnVpbGQJMQotMTM6IF9xdDUJcXQ1LXF0YmFzZQotMTM6IF9xdDVfZXBvY2gJMAotMTM6IF9x
dDVfZXZyCTUuOS40LTQuZmMyNwotMTM6IF9xdDVfdmVyc2lvbgk1LjkuNAotMTM6IF9xdWVy
eV9hbGxfZm10CSUle252cmF9Ci0xMzogX3F1ZXJ5X3NlbGVjdG9yX21hdGNoCWRlZmF1bHQK
LTEzOiBfcnBtY29uZmlnZGlyCSV7Z2V0Y29uZmRpcn0KLTEzOiBfcnBtZGlyCSV7X3RvcGRp
cn0vUlBNUwotMTM6IF9ycG1maWxlbmFtZQkle19idWlsZF9uYW1lX2ZtdH0KLTEzOiBfcnBt
bG9ja19wYXRoCSV7X2RicGF0aH0vLnJwbS5sb2NrCi0xMzogX3JwbW1hY3JvZGlyCSV7X3Jw
bWNvbmZpZ2Rpcn0vbWFjcm9zLmQKLTEzOiBfcnVuZGlyCS9ydW4KLTEzOiBfc2JpbmRpcgkl
e19leGVjX3ByZWZpeH0vc2JpbgotMTM6IF9zZWxpbnV4X3BvbGljeV92ZXJzaW9uCTMuMTMu
MS0yODMuMzAuZmMyNwotMTM6IF9zZXR0aW5nc2NvbG9yZGlyCSVfY29sb3JkaXIvc2V0dGlu
Z3MKLTEzOiBfc2hhcmVkc3RhdGVkaXIJL3Zhci9saWIKLTEzOiBfc21wX21mbGFncwklKFsg
LXogIiRSUE1fQlVJTERfTkNQVVMiIF0gXAoJJiYgUlBNX0JVSUxEX05DUFVTPSJgL3Vzci9i
aW4vZ2V0Y29uZiBfTlBST0NFU1NPUlNfT05MTmAiOyBcCiAgICAgICAgbmNwdXNfbWF4PSV7
P19zbXBfbmNwdXNfbWF4fTsgXAogICAgICAgIGlmIFsgLW4gIiRuY3B1c19tYXgiIF0gJiYg
WyAiJG5jcHVzX21heCIgLWd0IDAgXSAmJiBbICIkUlBNX0JVSUxEX05DUFVTIiAtZ3QgIiRu
Y3B1c19tYXgiIF07IHRoZW4gUlBNX0JVSUxEX05DUFVTPSIkbmNwdXNfbWF4IjsgZmk7IFwK
ICAgICAgICBpZiBbICIkUlBNX0JVSUxEX05DUFVTIiAtZ3QgMSBdOyB0aGVuIGVjaG8gIi1q
JFJQTV9CVUlMRF9OQ1BVUyI7IGZpKQotMTM6IF9zb3VyY2VfZmlsZWRpZ2VzdF9hbGdvcml0
aG0JOAotMTM6IF9zb3VyY2VkaXIJJXtfdG9wZGlyfS9TT1VSQ0VTCi0xMzogX3NwZWNkaXIJ
JXtfdG9wZGlyfS9TUEVDUwotMTM6IF9zcmNycG1kaXIJJXtfdG9wZGlyfS9TUlBNUwotMTM6
IF9zeXNjb2xvcmRpcgklX2NvbG9yZGlyCi0xMzogX3N5c2NvbmZkaXIJL2V0YwotMTM6IF9z
eXNjdGxkaXIJL3Vzci9saWIvc3lzY3RsLmQKLTEzOiBfc3lzdGVtZF9zeXN0ZW1fZW52X2dl
bmVyYXRvcl9kaXIJL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0tZW52aXJvbm1lbnQtZ2VuZXJh
dG9ycwotMTM6IF9zeXN0ZW1kX3VzZXJfZW52X2dlbmVyYXRvcl9kaXIJL3Vzci9saWIvc3lz
dGVtZC91c2VyLWVudmlyb25tZW50LWdlbmVyYXRvcnMKLTEzOiBfc3lzdGVtZGdlbmVyYXRv
cmRpcgkvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS1nZW5lcmF0b3JzCi0xMzogX3N5c3RlbWR1
c2VyZ2VuZXJhdG9yZGlyCS91c3IvbGliL3N5c3RlbWQvdXNlci1nZW5lcmF0b3JzCi0xMzog
X3N5c3VzZXJzZGlyCS91c3IvbGliL3N5c3VzZXJzLmQKLTExOiBfdGFyZ2V0CXg4Nl82NC1s
aW51eAotMTM6IF90YXJnZXRfYWxpYXMJJXtfaG9zdF9hbGlhc30KLTExPSBfdGFyZ2V0X2Nw
dQl4ODZfNjQKLTExPSBfdGFyZ2V0X29zCWxpbnV4Ci0xMzogX3RhcmdldF9wbGF0Zm9ybQkl
e190YXJnZXRfY3B1fS0le192ZW5kb3J9LSV7X3RhcmdldF9vc30lez9fZ251fQotMTM6IF90
YXJnZXRfdmVuZG9yCSV7X2hvc3RfdmVuZG9yfQotMTM6IF90ZXhtZgkvdXNyL3NoYXJlL3Rl
eGxpdmUvdGV4bWYtbG9jYWwKLTEzOiBfdGV4bWZfY29uZgkvdXNyL3NoYXJlL3RleGxpdmUv
dGV4bWYtY29uZmlnCi0xMzogX3RleG1mX21haW4JL3Vzci9zaGFyZS90ZXhsaXZlL3RleG1m
LWRpc3QKLTEzOiBfdGV4bWZfdmFyCS92YXIvbGliL3RleG1mCi0xMzogX3RleG1mX3ZlbmRv
cgkvdXNyL3NoYXJlL3RleGxpdmUvdGV4bWYtZGlzdAotMTM6IF90bXBmaWxlc2RpcgkvdXNy
L2xpYi90bXBmaWxlcy5kCi0xMzogX3RtcHBhdGgJJXtfdmFyfS90bXAKLTEzOiBfdG9wZGly
CSV7Z2V0ZW52OkhPTUV9L3JwbWJ1aWxkCi0xMzogX3RyYW5zYWN0aW9uX2NvbG9yCTMKLTEz
OiBfdWRldmh3ZGJkaXIJL3Vzci9saWIvdWRldi9od2RiLmQKLTEzOiBfdWRldnJ1bGVzZGly
CS91c3IvbGliL3VkZXYvcnVsZXMuZAotMTM6IF91bmlxdWVfYnVpbGRfaWRzCTEKLTEzOiBf
dW5pcXVlX2RlYnVnX25hbWVzCTEKLTEzOiBfdW5pcXVlX2RlYnVnX3NyY3MJMQotMTM6IF91
bml0ZGlyCS91c3IvbGliL3N5c3RlbWQvc3lzdGVtCi0xMzogX3VucGFja2FnZWRfZmlsZXNf
dGVybWluYXRlX2J1aWxkCTEKLTEzOiBfdW56aXBiaW4JJXtfX3VuemlwfQotMTM6IF91cmxo
ZWxwZXIJJXtfX3VybGhlbHBlcmNtZH0gJXs/X191cmxoZWxwZXJfbG9jYWxvcHRzfSAlez9f
X3VybGhlbHBlcl9wcm94eW9wdHN9ICV7X191cmxoZWxwZXJvcHRzfQotMTM6IF91c2VfaW50
ZXJuYWxfZGVwZW5kZW5jeV9nZW5lcmF0b3IJMQotMTM6IF91c2VydW5pdGRpcgkvdXNyL2xp
Yi9zeXN0ZW1kL3VzZXIKLTEzOiBfdXNyCS91c3IKLTEzOiBfdXNyc3JjCSV7X3Vzcn0vc3Jj
Ci0xMzogX3ZhcgkvdmFyCi0xMzogX3ZlbmRvcglyZWRoYXQKLTEzOiBfdnBhdGhfYnVpbGRk
aXIJJV90YXJnZXRfcGxhdGZvcm0KLTEzOiBfdnBhdGhfc3JjZGlyCS4KLTEzOiBfdnNmbGFn
c19idWlsZAkle19fdnNmbGFnc30KLTEzOiBfdnNmbGFnc19lcmFzZQkle19fdnNmbGFnc30K
LTEzOiBfdnNmbGFnc19pbnN0YWxsCSV7X192c2ZsYWdzfQotMTM6IF92c2ZsYWdzX3F1ZXJ5
CSV7X192c2ZsYWdzfQotMTM6IF92c2ZsYWdzX3JlYnVpbGRkYgkweGMwYzAwCi0xMzogX3Zz
ZmxhZ3NfdmVyaWZ5CSV7X192c2ZsYWdzfQotMTM6IF93cm9uZ192ZXJzaW9uX2Zvcm1hdF90
ZXJtaW5hdGVfYnVpbGQJMQotMTM6IGFscGhhCWFscGhhIGFscGhhZXY1NiBhbHBoYWV2NiBh
bHBoYWV2NjcKLTEzOiBhbnQJSkFWQV9IT01FPSV7amF2YV9ob21lfSAlez9zY2w6L3Vzci9z
aGFyZS9qYXZhLXV0aWxzL3NjbC1lbmFibGUgJXs/c2NsX21hdmVufSAle3NjbH0gLS0gfWFu
dAotMTM6IGFwcGx5X3BhdGNoKHFwOm06KQkKJXtsdWE6CmxvY2FsIGZpbGUgPSBycG0uZXhw
YW5kKCIlezF9IikKbG9jYWwgbnVtID0gcnBtLmV4cGFuZCgiJXsyfSIpCmlmIHBvc2l4LmFj
Y2VzcyhmaWxlLCAiciIpIHRoZW4KICAgIGxvY2FsIG9wdGlvbnMgPSBycG0uZXhwYW5kKCIl
ey1xfSAley1wOi1wJXstcCp9fSAley1tOi1tJXstbSp9fSIpCiAgICBsb2NhbCBzY21fYXBw
bHkgPSBycG0uZXhwYW5kKCIlX19zY21fYXBwbHlfJXtfX3NjbX0iKQogICAgcHJpbnQocnBt
LmV4cGFuZCgiJXt1bmNvbXByZXNzOiIuLmZpbGUuLiJ9IHwgIi4uc2NtX2FwcGx5Li4iICIu
Lm9wdGlvbnMuLiIgICIuLmZpbGUuLiIgIi4ubnVtLi4iXG4iKSkKZWxzZQogICAgcHJpbnQo
ImVjaG8gJ0Nhbm5vdCByZWFkICIuLmZpbGUuLiInOyBleGl0IDE7Ii4uIlxuIikKZW5kfQot
MTM6IGFybQlhcm12M2wgYXJtdjRiIGFybXY0bCBhcm12NHRsIGFybXY1dGwgYXJtdjV0ZWwg
YXJtdjV0ZWpsIGFybXY2bCBhcm12NmhsIGFybXY3bCBhcm12N2hsIGFybXY3aG5sCi0xMzog
YXV0b3BhdGNoKHZwOikJCiV7bHVhOgpsb2NhbCBvcHRpb25zID0gcnBtLmV4cGFuZCgiJXsh
LXY6LXF9ICV7LXA6LXAley1wKn19ICIpCmZvciBpLCBwIGluIGlwYWlycyhwYXRjaGVzKSBk
bwogICAgcHJpbnQocnBtLmV4cGFuZCgiJWFwcGx5X3BhdGNoIC1tICV7YmFzZW5hbWU6Ii4u
cC4uIn0gICIuLm9wdGlvbnMuLnAuLiIgIi4uaS4uIlxuIikpCmVuZH0KLTEzOiBhdXRvc2V0
dXAoYTpiOmNEbjpUdk5TOnA6KQkKJXNldHVwICV7LWF9ICV7LWJ9ICV7LWN9ICV7LUR9ICV7
LW59ICV7LVR9ICV7IS12Oi1xfQoley1TOiVnbG9iYWwgX19zY20gJXstUyp9fQole2V4cGFu
ZDolX19zY21fc2V0dXBfJXtfX3NjbX0gJXshLXY6LXF9fQoleyEtTjolYXV0b3BhdGNoICV7
LXZ9ICV7LXA6LXAley1wKn19fQotMTM6IGJjb25kX3dpdGgJJXtleHBhbmQ6JSV7P193aXRo
XyV7MX06JSVnbG9iYWwgd2l0aF8lezF9IDF9fQotMTM6IGJjb25kX3dpdGhvdXQJJXtleHBh
bmQ6JSV7IT9fd2l0aG91dF8lezF9OiUlZ2xvYmFsIHdpdGhfJXsxfSAxfX0KLTEzOiBiaW5m
bXRfYXBwbHkJCi91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1iaW5mbXQgJXs/Kn0gPi9kZXYv
bnVsbCAyPiYxIHx8IDogCiV7bmlsfQotMTM6IGJ1aWxkX2NmbGFncwkle29wdGZsYWdzfQot
MTM6IGJ1aWxkX2N4eGZsYWdzCSV7b3B0ZmxhZ3N9Ci0xMzogYnVpbGRfZmZsYWdzCSV7b3B0
ZmxhZ3N9IC1JJXtfZm1vZGRpcn0KLTEzOiBidWlsZF9sZGZsYWdzCS1XbCwteixyZWxybyAl
e19oYXJkZW5lZF9sZGZsYWdzfQotMTM6IGJ1aWxkcm9vdAkle19idWlsZHJvb3RkaXJ9LyV7
TkFNRX0tJXtWRVJTSU9OfS0le1JFTEVBU0V9LiV7X2FyY2h9Ci0xMzogY2xhbXBfbXRpbWVf
dG9fc291cmNlX2RhdGVfZXBvY2gJMAotMTM6IGNtYWtlCQogIENGTEFHUz0iJHtDRkxBR1M6
LSVvcHRmbGFnc30iIDsgZXhwb3J0IENGTEFHUyA7IAogIENYWEZMQUdTPSIke0NYWEZMQUdT
Oi0lb3B0ZmxhZ3N9IiA7IGV4cG9ydCBDWFhGTEFHUyA7IAogIEZGTEFHUz0iJHtGRkxBR1M6
LSVvcHRmbGFncyV7P19mbW9kZGlyOiAtSSVfZm1vZGRpcn19IiA7IGV4cG9ydCBGRkxBR1Mg
OyAKICBGQ0ZMQUdTPSIke0ZDRkxBR1M6LSVvcHRmbGFncyV7P19mbW9kZGlyOiAtSSVfZm1v
ZGRpcn19IiA7IGV4cG9ydCBGQ0ZMQUdTIDsgCiAgJXs/X19nbG9iYWxfbGRmbGFnczpMREZM
QUdTPSIke0xERkxBR1M6LSVfX2dsb2JhbF9sZGZsYWdzfSIgOyBleHBvcnQgTERGTEFHUyA7
fSAKICAlX19jbWFrZSBcCiAgICAgICAgLURDTUFLRV9DX0ZMQUdTX1JFTEVBU0U6U1RSSU5H
PSItRE5ERUJVRyIgXAogICAgICAgIC1EQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0U6U1RSSU5H
PSItRE5ERUJVRyIgXAogICAgICAgIC1EQ01BS0VfRm9ydHJhbl9GTEFHU19SRUxFQVNFOlNU
UklORz0iLUROREVCVUciIFwKICAgICAgICAtRENNQUtFX1ZFUkJPU0VfTUFLRUZJTEU6Qk9P
TD1PTiBcCiAgICAgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWDpQQVRIPSV7X3ByZWZpeH0g
XAogICAgICAgIC1ESU5DTFVERV9JTlNUQUxMX0RJUjpQQVRIPSV7X2luY2x1ZGVkaXJ9IFwK
ICAgICAgICAtRExJQl9JTlNUQUxMX0RJUjpQQVRIPSV7X2xpYmRpcn0gXAogICAgICAgIC1E
U1lTQ09ORl9JTlNUQUxMX0RJUjpQQVRIPSV7X3N5c2NvbmZkaXJ9IFwKICAgICAgICAtRFNI
QVJFX0lOU1RBTExfUFJFRklYOlBBVEg9JXtfZGF0YWRpcn0gXAolaWYgIiV7P19saWJ9IiA9
PSAibGliNjQiIAogICAgICAgICV7P19jbWFrZV9saWJfc3VmZml4NjR9IFwKJWVuZGlmIAog
ICAgICAgIC1EQlVJTERfU0hBUkVEX0xJQlM6Qk9PTD1PTgotMTM6IGNtYWtlMwklY21ha2UK
LTEzOiBjbWFrZV9rZGU0CQogIFFURElSPSIle19xdDRfcHJlZml4fSIgOyBleHBvcnQgUVRE
SVIgOyAKICBQQVRIPSIle19xdDRfYmluZGlyfTokUEFUSCIgOyBleHBvcnQgUEFUSCA7IAog
IENGTEFHUz0iJHtDRkxBR1M6LSVvcHRmbGFnc30iIDsgZXhwb3J0IENGTEFHUyA7IAogIENY
WEZMQUdTPSIke0NYWEZMQUdTOi0lb3B0ZmxhZ3N9IiA7IGV4cG9ydCBDWFhGTEFHUyA7IAog
IEZGTEFHUz0iJHtGRkxBR1M6LSVvcHRmbGFncyV7P19mbW9kZGlyOiAtSSVfZm1vZGRpcn19
IiA7IGV4cG9ydCBGRkxBR1MgOyAKICAlez9fX2dsb2JhbF9sZGZsYWdzOkxERkxBR1M9IiR7
TERGTEFHUzotJV9fZ2xvYmFsX2xkZmxhZ3N9IiA7IGV4cG9ydCBMREZMQUdTIDt9IAogICV7
X19jbWFrZX0gXAogICAgLURCVUlMRF9TSEFSRURfTElCUzpCT09MPU9OIFwKICAgIC1EQ01B
S0VfQlVJTERfVFlQRT0le19rZGU0X2J1aWxkdHlwZX0gXAogICAgLURDTUFLRV9JTlNUQUxM
X1BSRUZJWDpQQVRIPSV7X2tkZTRfcHJlZml4fSBcCiAgICAtRENNQUtFX1VTRV9SRUxBVElW
RV9QQVRIUzpCT09MPU9OIFwKICAgIC1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRTpCT09MPU9O
IFwKICAgIC1EREFUQV9JTlNUQUxMX0RJUjpQQVRIPSV7X2tkZTRfYXBwc2Rpcn0gXAogICAg
LURJTkNMVURFX0lOU1RBTExfRElSOlBBVEg9JXtfa2RlNF9pbmNsdWRlZGlyfSBcCiAgICAt
RExJQl9JTlNUQUxMX0RJUjpQQVRIPSV7X2tkZTRfbGliZGlyfSBcCiAgICAlez9fa2RlNF9i
dWlsZF90ZXN0c30gXAolaWYgIiV7P19saWJ9IiA9PSAibGliNjQiIAogICAgICV7P19jbWFr
ZV9saWJfc3VmZml4NjR9IFwKJWVuZGlmIAogICAgLURMSUJFWEVDX0lOU1RBTExfRElSOlBB
VEg9JXtfa2RlNF9saWJleGVjZGlyfSBcCiAgICAtRFNZU0NPTkZfSU5TVEFMTF9ESVI6UEFU
SD0le19rZGU0X3N5c2NvbmZkaXJ9Ci0xMzogY29uZmlndXJlCQogICV7c2V0X2J1aWxkX2Zs
YWdzfTsgCiAgWyAiJV9jb25maWd1cmVfZ251Y29uZmlnX2hhY2siID0gMSBdICYmIGZvciBp
IGluICQoZmluZCAkKGRpcm5hbWUgJXtfY29uZmlndXJlfSkgLW5hbWUgY29uZmlnLmd1ZXNz
IC1vIC1uYW1lIGNvbmZpZy5zdWIpIDsgZG8gCiAgICAgIFsgLWYgL3Vzci9saWIvcnBtL3Jl
ZGhhdC8kKGJhc2VuYW1lICRpKSBdICYmICV7X19ybX0gLWYgJGkgJiYgJXtfX2NwfSAtZnYg
L3Vzci9saWIvcnBtL3JlZGhhdC8kKGJhc2VuYW1lICRpKSAkaSA7IAogIGRvbmUgOyAKICBb
ICIlX2NvbmZpZ3VyZV9saWJ0b29sX2hhcmRlbmluZ19oYWNrIiA9IDEgXSAmJiBbIHggIT0g
Ingle19oYXJkZW5lZF9sZGZsYWdzfSIgXSAmJiAKICAgICAgZm9yIGkgaW4gJChmaW5kIC4g
LW5hbWUgbHRtYWluLnNoKSA7IGRvIAogICAgICAgICV7X19zZWR9IC1pLmJhY2t1cCAtZSAn
c35jb21waWxlcl9mbGFncz0kfmNvbXBpbGVyX2ZsYWdzPSIle19oYXJkZW5lZF9sZGZsYWdz
fSJ+JyAkaSAKICAgICAgZG9uZSA7IAogICV7X2NvbmZpZ3VyZX0gLS1idWlsZD0le19idWls
ZH0gLS1ob3N0PSV7X2hvc3R9IFwKCS0tcHJvZ3JhbS1wcmVmaXg9JXs/X3Byb2dyYW1fcHJl
Zml4fSBcCgktLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyBcCgklez9fY29uZmlndXJl
X2Rpc2FibGVfc2lsZW50X3J1bGVzOi0tZGlzYWJsZS1zaWxlbnQtcnVsZXN9IFwKCS0tcHJl
Zml4PSV7X3ByZWZpeH0gXAoJLS1leGVjLXByZWZpeD0le19leGVjX3ByZWZpeH0gXAoJLS1i
aW5kaXI9JXtfYmluZGlyfSBcCgktLXNiaW5kaXI9JXtfc2JpbmRpcn0gXAoJLS1zeXNjb25m
ZGlyPSV7X3N5c2NvbmZkaXJ9IFwKCS0tZGF0YWRpcj0le19kYXRhZGlyfSBcCgktLWluY2x1
ZGVkaXI9JXtfaW5jbHVkZWRpcn0gXAoJLS1saWJkaXI9JXtfbGliZGlyfSBcCgktLWxpYmV4
ZWNkaXI9JXtfbGliZXhlY2Rpcn0gXAoJLS1sb2NhbHN0YXRlZGlyPSV7X2xvY2Fsc3RhdGVk
aXJ9IFwKCS0tc2hhcmVkc3RhdGVkaXI9JXtfc2hhcmVkc3RhdGVkaXJ9IFwKCS0tbWFuZGly
PSV7X21hbmRpcn0gXAoJLS1pbmZvZGlyPSV7X2luZm9kaXJ9Ci0xMzogY3Bhbl9kaXN0X25h
bWUJJShldmFsIGVjaG8gJXtuYW1lfSB8ICV7X19zZWR9IC1lICdzL15wZXJsLS8vJykKLTEz
OiBkZWJ1Z19wYWNrYWdlCQolaWZuYXJjaCBub2FyY2gKJWdsb2JhbCBfX2RlYnVnX3BhY2th
Z2UgMQolX2RlYnVnaW5mb190ZW1wbGF0ZQolez9fZGVidWdzb3VyY2VfcGFja2FnZXM6JV9k
ZWJ1Z3NvdXJjZV90ZW1wbGF0ZX0KJWVuZGlmCiV7bmlsfQotMTM6IGRlZmluZWQJJXtleHBh
bmQ6JSV7PyV7MX06MX0lJXshPyV7MX06MH19Ci0xMzogZGlzdAkuZmMyNwotMTM6IGZjMjcJ
MQotMTM6IGZkdXBlcyhzKQkKIF90YXJnZXQ9IiI7IAogX3N5bWxpbmtzPTA7IAogJXstczpf
c3ltbGlua3M9MTt9IAogZmR1cGVzIC1xIC1uIC1yIC1wICUxIHwgCiAgd2hpbGUgcmVhZCBf
ZmlsZTsgZG8gCiAgICBpZiB0ZXN0IC16ICIkX3RhcmdldCIgOyB0aGVuIAogICAgICBfdGFy
Z2V0PSIkX2ZpbGUiOyAKICAgIGVsc2UgCiAgICAgIGlmIHRlc3QgLXogIiRfZmlsZSIgOyB0
aGVuIAoJX3RhcmdldD0iIjsgCgljb250aW51ZSA7IAogICAgICBmaSA7IAogICAgICBpZiB0
ZXN0ICIkX3N5bWxpbmtzIiA9IDE7IHRoZW4gCiAgICAgICAgbG4gLXNmICIke190YXJnZXQj
JXtidWlsZHJvb3R9fSIgIiRfZmlsZSI7IAogICAgICBlbHNlIAogICAgICAgIGxuIC1mICIk
X3RhcmdldCIgIiRfZmlsZSI7IAogICAgICBmaSA7CiAgICBmaSA7IAogZG9uZSAKJXtuaWx9
Ci0xMzogZmVkb3JhCTI3Ci0xMzogZmlsdGVyX2Zyb21fcHJvdmlkZXMJJXtleHBhbmQ6IAol
Z2xvYmFsIF9fZmlsdGVyX2Zyb21fcHJvdiAlez9fX2ZpbHRlcl9mcm9tX3Byb3Z9IHwgJXtf
X3NlZH0gLWUgJyUqJyAKfQotMTM6IGZpbHRlcl9mcm9tX3JlcXVpcmVzCSV7ZXhwYW5kOiAK
JWdsb2JhbCBfX2ZpbHRlcl9mcm9tX3JlcSAlez9fX2ZpbHRlcl9mcm9tX3JlcX0gfCAle19f
c2VkfSAtZSAnJSonIAp9Ci0xMzogZmlsdGVyX3Byb3ZpZGVzX2luKFApCSV7ZXhwYW5kOiAK
JWdsb2JhbCBfX2ZpbHRlcl9wcm92X2NtZCAlez9fX2ZpbHRlcl9wcm92X2NtZH0gJXtfX2dy
ZXB9IC12ICV7LVB9ICclKicgfCAKfQotMTM6IGZpbHRlcl9yZXF1aXJlc19pbihQKQkle2V4
cGFuZDogCiVnbG9iYWwgX19maWx0ZXJfcmVxX2NtZCAlez9fX2ZpbHRlcl9yZXFfY21kfSAl
e19fZ3JlcH0gLXYgJXstUH0gJyUqJyB8IAp9Ci0xMzogZmlsdGVyX3NldHVwCSV7ZXhwYW5k
OiAKJWdsb2JhbCBfdXNlX2ludGVybmFsX2RlcGVuZGVuY3lfZ2VuZXJhdG9yIDAgCiVnbG9i
YWwgX19kZXBsb29wKCkgd2hpbGUgcmVhZCBGSUxFOyBkbyBlY2hvICIke0ZJTEV9IiB8IC91
c3IvbGliL3JwbS9ycG1kZXBzIC0lezF9OyBkb25lIHwgL2Jpbi9zb3J0IC11IAolZ2xvYmFs
IF9fZmluZF9wcm92aWRlcyAvYmluL3NoIC1jICIlez9fX2ZpbHRlcl9wcm92X2NtZH0gJXtf
X2RlcGxvb3AgUH0gJXs/X19maWx0ZXJfZnJvbV9wcm92fSIgCiVnbG9iYWwgX19maW5kX3Jl
cXVpcmVzIC9iaW4vc2ggLWMgIiV7P19fZmlsdGVyX3JlcV9jbWR9ICAle19fZGVwbG9vcCBS
fSAlez9fX2ZpbHRlcl9mcm9tX3JlcX0iIAp9Ci0xMzogZmluZF9sYW5nCSV7X3JwbWNvbmZp
Z2Rpcn0vZmluZC1sYW5nLnNoICV7YnVpbGRyb290fQotMTM6IGZpcmV3YWxsZF9yZWxvYWQJ
CnRlc3QgLWYgJXtfYmluZGlyfS9maXJld2FsbC1jbWQgJiYgZmlyZXdhbGwtY21kIC0tcmVs
b2FkIC0tcXVpZXQgfHwgOiAKJXtuaWx9Ci0xMzogZml4X3NoYmFuZ19saW5lCQpUTVBIRUFE
PWBta3RlbXBgClRNUEJPRFk9YG1rdGVtcGAKZm9yIGZpbGUgaW4gJSogOyBkbyAKICAgIGhl
YWQgLTEgJGZpbGUgPiAkVE1QSEVBRAogICAgdGFpbCAtbiArMiAkZmlsZSA+ICRUTVBCT0RZ
CiAgICAle19fcGVybH0gLXBpIC1lICckZiA9IC9eIyEvID8gIiIgOiAiIyEle19fcGVybH0k
LyI7ICRfPSIkZiRfIicgJFRNUEhFQUQKICAgIGNhdCAkVE1QSEVBRCAkVE1QQk9EWSA+ICRm
aWxlCmRvbmUKJXtfX3Blcmx9IC1NRXh0VXRpbHM6Ok1ha2VNYWtlciAtZSAiRXh0VXRpbHM6
Ok1NX1VuaXgtPmZpeGluKHF3eyUqfSkiCiV7X19ybX0gJFRNUEhFQUQgJFRNUEJPRFkKJXtu
aWx9Ci0xMzogZm9yZ2VhdXRvc2V0dXAoYTpiOmNEbjpUdk5TOnApCSVhdXRvc2V0dXAgJXs/
Zm9yZ2VzZXR1cGFyZ3N9ICV7LWF9ICV7LWJ9ICV7LWN9ICV7LUR9ICV7LW59ICV7LVR9ICV7
LXZ9ICV7LU59ICV7LVN9ICV7LXB9Ci0xMzogZm9yZ2VtZXRhKHU6c3B2aSkJJXtsdWE6Cmxv
Y2FsIGZvcmdldXJsICAgID0gcnBtLmV4cGFuZCgiJXs/LXUqfSIpCmlmIChmb3JnZXVybCA9
PSAiIikgdGhlbgogIGZvcmdldXJsICAgICAgICA9IHJwbS5leHBhbmQoIiV7P2ZvcmdldXJs
fSIpCmVuZApsb2NhbCBzaWxlbnQgICAgICA9IGZhbHNlCmxvY2FsIHZlcmJvc2UgICAgID0g
ZmFsc2UKbG9jYWwgaW5mb3JtYXRpdmUgPSBmYWxzZQppZiAocnBtLmV4cGFuZCgiJXs/LXN9
Iikgfj0gIiIpIHRoZW4KICBzaWxlbnQgICAgICAgICAgPSB0cnVlCmVuZAppZiAocnBtLmV4
cGFuZCgiJXs/LXB9Iikgfj0gIiIpIHRoZW4KICBzaWxlbnQgICAgICAgICAgPSBmYWxzZQpl
bmQKaWYgKHJwbS5leHBhbmQoIiV7Py12fSIpIH49ICIiKSB0aGVuCiAgdmVyYm9zZSAgICAg
ICAgID0gdHJ1ZQplbmQKaWYgKHJwbS5leHBhbmQoIiV7Py1pfSIpIH49ICIiKSB0aGVuCiAg
aW5mb3JtYXRpdmUgICAgID0gdHJ1ZQplbmQKbG9jYWwgdGFnICAgICAgICAgPSBycG0uZXhw
YW5kKCIlez90YWd9IikKbG9jYWwgY29tbWl0ICAgICAgPSBycG0uZXhwYW5kKCIlez9jb21t
aXR9IikKLS0gQmUgZXhwbGljaXQgYWJvdXQgdGhlIHNwZWMgdmFyaWFibGVzIHdl4oCZcmUg
c2V0dGluZwpsb2NhbCBmdW5jdGlvbiBleHBsaWNpdHNldChycG12YXJpYWJsZSx2YWx1ZSkK
ICBycG0uZGVmaW5lKHJwbXZhcmlhYmxlIC4uICIgIiAuLiB2YWx1ZSkKICBpZiB2ZXJib3Nl
IHRoZW4KICAgIHJwbS5leHBhbmQoIiV7ZWNobzpTZXR0aW5nICUleyIgLi4gcnBtdmFyaWFi
bGUgLi4gIn0gPSAiIC4uIHZhbHVlIC4uICJcbn0iKQogIGVuZAplbmQKLS0gTmV2ZXIgZXZl
ciBzdG9tcCBvbiBhIHNwZWMgdmFyaWFibGUgdGhlIHBhY2thZ2VyIGFscmVhZHkgc2V0Cmxv
Y2FsIGZ1bmN0aW9uIHNhZmVzZXQocnBtdmFyaWFibGUsdmFsdWUpCiAgaWYgKHJwbS5leHBh
bmQoIiV7PyIgLi4gcnBtdmFyaWFibGUgLi4gIn0iKSA9PSAiIikgdGhlbgogICAgZXhwbGlj
aXRzZXQocnBtdmFyaWFibGUsdmFsdWUpCiAgZW5kCmVuZAotLSBTZXQgc3BlYyB2YXJpYWJs
ZSB2YWx1ZXMgZm9yIGVhY2gga25vd24gc29mdHdhcmUgcHVibGlzaGluZyBzZXJ2aWNlCmlm
IChmb3JnZXVybCB+PSAiIikgdGhlbgogIGxvY2FsIGZvcmdlICAgICAgICAgID0gc3RyaW5n
Lm1hdGNoKGZvcmdldXJsLCAiXlteOl0rOi8vKFteL10rKS8iKQogIGlmIChmb3JnZSA9PSBu
aWwpIHRoZW4KICAgIGlmIG5vdCBzaWxlbnQgdGhlbgogICAgICBycG0uZXhwYW5kKCIle2Vy
cm9yOlVSTHMgbXVzdCBpbmNsdWRlIGEgcHJvdG9jb2wgc3VjaCBhcyBodHRwczovLyBhbmQg
YSBwYXRoIHN0YXJ0aW5nIHdpdGggLyAhXG59IikKICAgIGVuZAogIGVsc2UKICAgIGlmIChz
dHJpbmcubWF0Y2goZm9yZ2UsICJeZ2l0bGFiWyUuLV0iKSBvciBzdHJpbmcubWF0Y2goZm9y
Z2UsICJbJS4tXWdpdGxhYlslLl0iKSkgdGhlbgogICAgICBmb3JnZXVybCA9IHN0cmluZy5t
YXRjaChmb3JnZXVybCwgImh0dHBzOi8vW14vXSsvW14vXSsvW14vIz9dKyIpCiAgICAgIGlm
IChmb3JnZXVybCA9PSBuaWwpIHRoZW4KICAgICAgICBpZiBub3Qgc2lsZW50IHRoZW4KICAg
ICAgICAgIHJwbS5leHBhbmQoIiV7ZXJyb3I6R2l0bGFiIFVSTHMgbXVzdCBtYXRjaCBodHRw
czovLyjigKZbLS5dKWdpdGxhYlstLl3igKYvb3duZXIvcmVwbyAhXG59IikKICAgICAgICBl
bmQKICAgICAgZWxzZQogICAgICAgIGV4cGxpY2l0c2V0KCJmb3JnZXVybCIsICAgZm9yZ2V1
cmwpCiAgICAgICAgaWYgKGNvbW1pdCA9PSAiIikgdGhlbgogICAgICAgICAgcnBtLmV4cGFu
ZCgiJXtlcnJvcjpBbGwgR2l0bGFiIFVSTHMgcmVxdWlyZSBjb21taXQgdmFsdWUga25vd2xl
ZGdlOiB5b3UgbmVlZCB0byBkZWZpbmUgJXtjb21taXR9IVxuUGxlYXNlIHZvdGUgb24gaHR0
cHM6Ly9naXRsYWIuY29tL2dpdGxhYi1vcmcvZ2l0bGFiLWNlL2lzc3Vlcy8zODgzMFxufSIp
CiAgICAgICAgZW5kCiAgICAgICAgc2FmZXNldCgiYXJjaGl2ZWV4dCIsICAgICAidGFyLmJ6
MiIpCiAgICAgICAgc2FmZXNldCgiZm9yZ2VzZXR1cGFyZ3MiLCAiLW4gJXthcmNoaXZlbmFt
ZX0iKQogICAgICAgIGlmIChjb21taXQgfj0gIiIpIG9yICh0YWcgfj0gIiIpIHRoZW4KICAg
ICAgICAgIHNhZmVzZXQoInNjbSIsICJnaXQiKQogICAgICAgIGVuZAogICAgICAgIGxvY2Fs
IG93bmVyICAgPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmwsICJeW146XSs6Ly9bXi9dKy8oW14v
XSspIikKICAgICAgICBsb2NhbCByZXBvICAgID0gc3RyaW5nLm1hdGNoKGZvcmdldXJsLCAi
XlteOl0rOi8vW14vXSsvW14vXSsvKFteL10rKSIpCiAgICAgICAgbG9jYWwgdmVyc2lvbiA9
IHJwbS5leHBhbmQoIiV7P3ZlcnNpb259IikKICAgICAgICBpZiAodmVyc2lvbiB+PSAiIikg
YW5kICh2ZXJzaW9uIH49ICIwIikgYW5kICh0YWcgPT0gIiIpIHRoZW4KICAgICAgICAgIC0t
IEdpdExhYiBkb2VzIG5vdCBoYXZlIHN0cm9uZyB2ZXJzaW9ubmluZyBzZW1hbnRpY3MKICAg
ICAgICAgIC0tIFNvbWUgcHJvamVjdHMgdXNlICJ2ZXJzaW9uIiBhcyByZWxlYXNlIHRhZywg
b3RoZXJzICJ2IiArICJ2ZXJzaW9uIgogICAgICAgICAgLS0gVGFnIHZhbHVlIG5lZWRzIHRv
IGJlIGV4cGxpY2l0bHkgZGVjbGFyZWQgYmVmb3JlIGNhbGxpbmcgdGhlIG1hY3JvCiAgICAg
ICAgICAtLSBpbiB0aGUgc2Vjb25kIGNhc2UKICAgICAgICAgIHRhZyA9IHZlcnNpb24KICAg
ICAgICAgIHNhZmVzZXQoInRhZyIsIHRhZykKICAgICAgICBlbmQKICAgICAgICBpZiAodGFn
IH49ICIiKSB0aGVuCiAgICAgICAgICBzYWZlc2V0KCJhcmNoaXZlbmFtZSIsIHJlcG8gLi4g
Ii0le3RhZ30tJXtjb21taXR9IikKICAgICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwiLCAg
IiV7Zm9yZ2V1cmx9L3JlcG9zaXRvcnkvJXt0YWd9L2FyY2hpdmUuJXthcmNoaXZlZXh0fSIp
CiAgICAgICAgZWxzZQogICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZW5hbWUiLCByZXBvIC4u
ICItJXtjb21taXR9IikKICAgICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwiLCAgIiV7Zm9y
Z2V1cmx9L3JlcG9zaXRvcnkvJXtjb21taXR9L2FyY2hpdmUuJXthcmNoaXZlZXh0fSIpCiAg
ICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgICBpZiAoc3RyaW5nLm1hdGNoKGZvcmdl
LCAiXmdpdGh1YlslLi1dIikgb3Igc3RyaW5nLm1hdGNoKGZvcmdlLCAiWyUuLV1naXRodWJb
JS5dIikpIHRoZW4KICAgICAgZm9yZ2V1cmwgPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmwsICJo
dHRwczovL1teL10rL1teL10rL1teLyM/XSsiKQogICAgICBpZiAoZm9yZ2V1cmwgPT0gbmls
KSB0aGVuCiAgICAgICAgaWYgbm90IHNpbGVudCB0aGVuCiAgICAgICAgICBycG0uZXhwYW5k
KCIle2Vycm9yOkdpdEh1YiBVUkxzIG11c3QgbWF0Y2ggaHR0cHM6Ly8o4oCmWy0uXSlnaXRo
dWJbLS5d4oCmL293bmVyL3JlcG8gIVxufSIpCiAgICAgICAgZW5kCiAgICAgIGVsc2UKICAg
ICAgICBleHBsaWNpdHNldCgiZm9yZ2V1cmwiLCAgIGZvcmdldXJsKQogICAgICAgIHNhZmVz
ZXQoImFyY2hpdmVleHQiLCAgICAgInRhci5neiIpCiAgICAgICAgbG9jYWwgZm9yZ2VzZXR1
cGFyZ3MgPSAiLW4gJXthcmNoaXZlbmFtZX0iCiAgICAgICAgaWYgKGNvbW1pdCB+PSAiIikg
b3IgKHRhZyB+PSAiIikgdGhlbgogICAgICAgICAgc2FmZXNldCgic2NtIiwgImdpdCIpCiAg
ICAgICAgZW5kCiAgICAgICAgbG9jYWwgb3duZXIgPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmws
ICJeW146XSs6Ly9bXi9dKy8oW14vXSspIikKICAgICAgICBsb2NhbCByZXBvICA9IHN0cmlu
Zy5tYXRjaChmb3JnZXVybCwgIl5bXjpdKzovL1teL10rL1teL10rLyhbXi9dKykiKQogICAg
ICAgIGlmICh0YWcgfj0gIiIpIHRoZW4KICAgICAgICAgIC0tIGlmIHVwc3RyZWFtIHVzZWQg
YSB2ZXJzaW9uIHN1ZmZpeCBzdWNoIGFzIC1yYzEgb3IgLWJldGEgaXQgd2lsbCBub3QKICAg
ICAgICAgIC0tIGJlIGEgdmFsaWQgdmVyc2lvbiBzdHJpbmcgZm9yIHJwbSBidXQgZ2l0aHVi
IHdpbGwgYWNjZXB0IGl0IGZpbmUgYW5kCiAgICAgICAgICAtLSB1c2UgdGhlIHNhbWUgbmFt
aW5nIGFzIGZvciBvdGhlciB2ZXJzaW9uczogdiBwcmVmaXggaW4gdGhlIHRhZyBhbmQKICAg
ICAgICAgIC0tIGFyY2hpdmVuYW1lLCBubyB2IHByZWZpeCBpbiB0aGUgdG9wZGlyIG5hbWlu
ZyBpbnNpZGUgdGhlIGFyY2hpdmUKICAgICAgICAgIGxvY2FsIHZlcnNpb24gPSBycG0uZXhw
YW5kKCIlez92ZXJzaW9ufSIpCiAgICAgICAgICBpZiB2ZXJzaW9uIH49ICIiIGFuZAogICAg
ICAgICAgICAgKHN0cmluZy5tYXRjaCh0YWcsICJediIgLi4gdmVyc2lvbiAuLiAiW14lZF0i
KSBvcgogICAgICAgICAgICAgIHN0cmluZy5tYXRjaCh0YWcsICJediIgLi4gdmVyc2lvbiAu
LiAiJCIpKSAgICB0aGVuCiAgICAgICAgICAgIGZvcmdlc2V0dXBhcmdzID0gIi1uICIgLi4g
cmVwbyAuLiAiLSIgLi4gc3RyaW5nLmdzdWIodGFnLCAiXnYiLCAiIikKICAgICAgICAgIGVu
ZAogICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZW5hbWUiLCAgIHJlcG8gLi4gIi0le3RhZ30i
KQogICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZXVybCIsICAgICIle2ZvcmdldXJsfS9hcmNo
aXZlLyV7dGFnfS4le2FyY2hpdmVleHR9IikKICAgICAgICBlbHNlCiAgICAgICAgICBpZiAo
Y29tbWl0IH49ICIiKSB0aGVuCiAgICAgICAgICAgIHNhZmVzZXQoImFyY2hpdmVuYW1lIiwg
cmVwbyAuLiAiLSV7Y29tbWl0fSIpCiAgICAgICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwi
LCAgIiV7Zm9yZ2V1cmx9L2FyY2hpdmUvJXtjb21taXR9LyIgLi4gcmVwbyAuLiAiLSV7Y29t
bWl0fS4le2FyY2hpdmVleHR9IikKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgc2FmZXNl
dCgiYXJjaGl2ZW5hbWUiLCByZXBvIC4uICItJXt2ZXJzaW9ufSIpCiAgICAgICAgICAgIHNh
ZmVzZXQoImFyY2hpdmV1cmwiLCAgICIle2ZvcmdldXJsfS9hcmNoaXZlL3Yle3ZlcnNpb259
LiV7YXJjaGl2ZWV4dH0iKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgc2Fm
ZXNldCgiZm9yZ2VzZXR1cGFyZ3MiLCBmb3JnZXNldHVwYXJncykKICAgICAgZW5kCiAgICBl
bmQKICAgIGlmIChmb3JnZSA9PSAiY29kZS5nb29nbGVzb3VyY2UuY29tIikgdGhlbgogICAg
ICBmb3JnZXVybCA9IHN0cmluZy5tYXRjaChmb3JnZXVybCwgImh0dHBzOi8vY29kZS5nb29n
bGVzb3VyY2UuY29tL1teIz9dKlteLyM/XSsiKQogICAgICBpZiAoZm9yZ2V1cmwgPT0gbmls
KSB0aGVuCiAgICAgICAgaWYgbm90IHNpbGVudCB0aGVuCiAgICAgICAgICBycG0uZXhwYW5k
KCIle2Vycm9yOkdvb2dsZXNvdXJjZSBVUkxzIG11c3QgbWF0Y2ggaHR0cHM6Ly9jb2RlLmdv
b2dsZXNvdXJjZS5jb20v4oCmL3JlcG8gIVxufSIpCiAgICAgICAgZW5kCiAgICAgIGVsc2UK
ICAgICAgICBleHBsaWNpdHNldCgiZm9yZ2V1cmwiLCAgIGZvcmdldXJsKQogICAgICAgIHNh
ZmVzZXQoImFyY2hpdmVleHQiLCAgICAgInRhci5neiIpCiAgICAgICAgc2FmZXNldCgiZm9y
Z2VzZXR1cGFyZ3MiLCAiLWMiKQogICAgICAgIGlmIChjb21taXQgfj0gIiIpIG9yICh0YWcg
fj0gIiIpIHRoZW4KICAgICAgICAgIHNhZmVzZXQoInNjbSIsICJnaXQiKQogICAgICAgIGVu
ZAogICAgICAgIGxvY2FsIHJlcG8gPSBzdHJpbmcubWF0Y2goZm9yZ2V1cmwsICJeW146XSs6
Ly8uKy8oW14vPyNdKykiKQogICAgICAgIGlmICh0YWcgfj0gIiIpIHRoZW4KICAgICAgICAg
IHNhZmVzZXQoImFyY2hpdmVuYW1lIiwgICByZXBvIC4uICItJXt0YWd9IikKICAgICAgICAg
IHNhZmVzZXQoImFyY2hpdmV1cmwiLCAgICAiJXtmb3JnZXVybH0vK2FyY2hpdmUvJXt0YWd9
LiV7YXJjaGl2ZWV4dH0iKQogICAgICAgIGVsc2UKICAgICAgICAgIGlmIChjb21taXQgfj0g
IiIpIHRoZW4KICAgICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZW5hbWUiLCByZXBvIC4uICIt
JXtjb21taXR9IikKICAgICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZXVybCIsICAiJXtmb3Jn
ZXVybH0vK2FyY2hpdmUvJXtjb21taXR9LiV7YXJjaGl2ZWV4dH0iKQogICAgICAgICAgZWxz
ZQogICAgICAgICAgICBzYWZlc2V0KCJhcmNoaXZlbmFtZSIsIHJlcG8gLi4gIi12JXt2ZXJz
aW9ufSIpCiAgICAgICAgICAgIHNhZmVzZXQoImFyY2hpdmV1cmwiLCAgIiV7Zm9yZ2V1cmx9
LythcmNoaXZlL3Yle3ZlcnNpb259LiV7YXJjaGl2ZWV4dH0iKQogICAgICAgICAgZW5kCiAg
ICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgICBpZiAoZm9yZ2UgPT0gImJpdGJ1Y2tl
dC5vcmciKSB0aGVuCiAgICAgIGZvcmdldXJsID0gc3RyaW5nLm1hdGNoKGZvcmdldXJsLCAi
aHR0cHM6Ly9bXi9dKy9bXi9dKy9bXi8jP10rIikKICAgICAgaWYgKGZvcmdldXJsID09IG5p
bCkgdGhlbgogICAgICAgIGlmIG5vdCBzaWxlbnQgdGhlbgogICAgICAgICAgcnBtLmV4cGFu
ZCgiJXtlcnJvcjpCaXRCdWNrZXQgVVJMcyBtdXN0IG1hdGNoIGh0dHBzOi8vYml0YnVja2V0
Lm9yZy9vd25lci9yZXBvICFcbn0iKQogICAgICAgIGVuZAogICAgICBlbHNlCiAgICAgICAg
ZXhwbGljaXRzZXQoImZvcmdldXJsIiwgICBmb3JnZXVybCkKICAgICAgICBpZiAoY29tbWl0
ID09ICIiKSB0aGVuCiAgICAgICAgICBycG0uZXhwYW5kKCIle2Vycm9yOkFsbCBCaXRCdWNr
ZXQgVVJMcyByZXF1aXJlIGNvbW1pdCB2YWx1ZSBrbm93bGVkZ2U6IHlvdSBuZWVkIHRvIGRl
ZmluZSAle2NvbW1pdH0hXG59IikKICAgICAgICBlbmQKICAgICAgICBsb2NhbCBzaG9ydGNv
bW1pdCA9IHN0cmluZy5zdWIoY29tbWl0LCAxLCAxMikKICAgICAgICBzYWZlc2V0KCJhcmNo
aXZlZXh0IiwgInRhci5iejIiKQogICAgICAgIC0tIERlZmF1bHQgdG8gZ2l0IGV2ZW4gdGhv
dWdoIEJpdEJ1Y2tldCBhbGxvd3MgY2hvb3NpbmcgYmV0d2VlbiBzZXZlcmFsIFNDTXMKICAg
ICAgICAtLSBTZXQgc2NtIHRvIGhnIGZvciBleGFtcGxlIGJlZm9yZSBjYWxsaW5nIHRoZSBt
YWNybyBpZiB5b3VyIHByb2plY3QgZG9lcyBub3QgdXNlIGdpdAogICAgICAgIHNhZmVzZXQo
InNjbSIsICJnaXQiKQogICAgICAgIGxvY2FsIG93bmVyID0gc3RyaW5nLm1hdGNoKGZvcmdl
dXJsLCAiXlteOl0rOi8vW14vXSsvKFteL10rKSIpCiAgICAgICAgbG9jYWwgcmVwbyAgPSBz
dHJpbmcubWF0Y2goZm9yZ2V1cmwsICJeW146XSs6Ly9bXi9dKy9bXi9dKy8oW14vXSspIikK
ICAgICAgICBzYWZlc2V0KCJhcmNoaXZlbmFtZSIsICAgIG93bmVyIC4uICItIiAuLiByZXBv
IC4uICItIiAuLiBzaG9ydGNvbW1pdCkKICAgICAgICBzYWZlc2V0KCJmb3JnZXNldHVwYXJn
cyIsICItbiAle2FyY2hpdmVuYW1lfSIpCiAgICAgICAgaWYgKHRhZyB+PSAiIikgdGhlbgog
ICAgICAgICAgc2FmZXNldCgiYXJjaGl2ZXVybCIsICAiJXtmb3JnZXVybH0vZ2V0LyV7dGFn
fS4le2FyY2hpdmVleHR9IikKICAgICAgICBlbHNlCiAgICAgICAgICBzYWZlc2V0KCJhcmNo
aXZldXJsIiwgICIle2ZvcmdldXJsfS9nZXQvJXtjb21taXR9LiV7YXJjaGl2ZWV4dH0iKQog
ICAgICAgIGVuZAogICAgICBlbmQKICAgIGVuZAogICAgaWYgKGZvcmdlID09ICJwYWd1cmUu
aW8iKSB0aGVuCiAgICAgIGlmIG5vdCBzaWxlbnQgdGhlbgogICAgICAgIHJwbS5leHBhbmQo
IiV7ZXJyb3I6aHR0cHM6Ly9wYWd1cmUuaW8vcGFndXJlL2lzc3VlLzg2MSBuZWVkcyB0byBi
ZSByZXNvbHZlZCBiZWZvcmUgdGhlIOKAnHBhZ3VyZS5pb+KAnVxuc29mdHdhcmUgcHVibGlz
aGluZyBzZXJ2aWNlIGNhbiBiZSBzdXBwb3J0ZWQuXG59IikKICAgICAgZW5kCiAgICBlbmQK
ICAgIC0tIEZpbmFsIHRlc3RzIHRvIGNoZWNrIGZvcmdldXJsIHdhcyBzdWNjZXNzZnVseSBw
YXJzZWQKICAgIGlmIG5vdCBzaWxlbnQgdGhlbgogICAgICBpZiAocnBtLmV4cGFuZCgiJXs/
YXJjaGl2ZW5hbWV9IikgPT0gIiIpIG9yIChycG0uZXhwYW5kKCIlez9hcmNoaXZldXJsfSIp
ID09ICIiKSB0aGVuCiAgICAgICAgcnBtLmV4cGFuZCgiJXtlcnJvcjpBdXRvbWF0aW9uIGZv
ciB0aGUg4oCcIiAuLiBmb3JnZSAuLiAi4oCdXG5zb2Z0d2FyZSBwdWJsaXNoaW5nIHNlcnZp
Y2UgaXMgbm90IGltcGxlbWVudGVkIHlldC5cblBsZWFzZSBleHRlbmQgdGhlICUlZm9yZ2Vt
ZXRhIG1hY3JvIVxufSIpCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCmVuZAotLSBTZXQgZGVm
YXVsdHMgaWYgZm9yZ2V1cmwgaXMgbWlzc2luZyBvciBkb2VzIG5vdCBwYXJzZQpsb2NhbCBh
cmNoaXZlbmFtZSA9IHJwbS5leHBhbmQoIiV7P2FyY2hpdmVuYW1lfSIpCnNhZmVzZXQoImFy
Y2hpdmVleHQiLCAgICAgICAidGFyLmd6IikKaWYgKGFyY2hpdmVuYW1lIH49ICIiKSB0aGVu
CiAgc2FmZXNldCgiZm9yZ2VzZXR1cGFyZ3MiLCAiLW4gJXthcmNoaXZlbmFtZX0iKQplbmQK
aWYgKGNvbW1pdCB+PSAiIikgb3IgKHRhZyB+PSAiIikgdGhlbgogIHNhZmVzZXQoInNjbSIs
ICAgICAgICAgICAgImdpdCIpCmVuZAotLSBTb3VyY2UgVVJMIHByb2Nlc3NpbmcgKGNvbXB1
dGluZyB0aGUgZm9yZ2Vzb3VyY2Ugc3BlYyB2YXJpYWJsZSkKbG9jYWwgYXJjaGl2ZXVybCAg
PSBycG0uZXhwYW5kKCIlez9hcmNoaXZldXJsfSIpCmxvY2FsIGFyY2hpdmVleHQgID0gcnBt
LmV4cGFuZCgiJXs/YXJjaGl2ZWV4dH0iKQppZiAoYXJjaGl2ZW5hbWUgfj0gIiIpIGFuZCAo
YXJjaGl2ZXVybCB+PSAiIikgdGhlbgogIGlmIChzdHJpbmcubWF0Y2goYXJjaGl2ZXVybCwg
Ii8oW14vXSspJCIpID09IGFyY2hpdmVuYW1lIC4uICIuIiAuLiBhcmNoaXZlZXh0KSB0aGVu
CiAgICBzYWZlc2V0KCJmb3JnZXNvdXJjZSIsICIle2FyY2hpdmV1cmx9IikKICBlbHNlCiAg
ICBzYWZlc2V0KCJmb3JnZXNvdXJjZSIsICIlez9hcmNoaXZldXJsfSMvJXs/YXJjaGl2ZW5h
bWV9LiV7YXJjaGl2ZWV4dH0iKQogIGVuZAplbmQKLS0gZGlzdCBwcm9jZXNzaW5nIChjb21w
dXRpbmcgdGhlIGNvcnJlY3QgcGVmaXggZm9yIHNuYXBzaG90cykKbG9jYWwgZGlzdHByZWZp
eCA9IHJwbS5leHBhbmQoIiV7P3RhZ30iKQpsb2NhbCB2ZXJzaW9uICAgID0gcnBtLmV4cGFu
ZCgiJXs/dmVyc2lvbn0iKQppZiAoZGlzdHByZWZpeCA9PSB2ZXJzaW9uKSBvciAoZGlzdHBy
ZWZpeCA9PSAidiIgLi4gdmVyc2lvbikgdGhlbgogIGRpc3RwcmVmaXggPSAiIgplbmQKaWYg
KGRpc3RwcmVmaXggPT0gIiIpIHRoZW4KICBkaXN0cHJlZml4ID0gc3RyaW5nLnN1YihycG0u
ZXhwYW5kKCIlez9jb21taXR9IiksIDEsIDcpCmVuZAppZiAoZGlzdHByZWZpeCB+PSAiIikg
dGhlbgogIGxvY2FsIGRpc3QgPSAiLiUoWyAtciAle19zb3VyY2VkaXJ9LyV7YXJjaGl2ZW5h
bWV9LiV7YXJjaGl2ZWV4dH0gXSAmJiBkYXRlICslWSVtJWQgLXUgLXIgJXtfc291cmNlZGly
fS8le2FyY2hpdmVuYW1lfS4le2FyY2hpdmVleHR9KSV7c2NtfSIgLi4gc3RyaW5nLmdzdWIo
ZGlzdHByZWZpeCwgIi0iLCIuIikgLi4gcnBtLmV4cGFuZCgiJXs/ZGlzdH0iKQogIGV4cGxp
Y2l0c2V0KCJkaXN0IiwgZGlzdCkKZW5kCi0tIEZpbmFsIHNwZWMgdmFyaWFibGUgc3VtbWFy
eSBpZiB0aGUgbWFjcm8gd2FzIGNhbGxlZCB3aXRoIC1pCmlmIGluZm9ybWF0aXZlIHRoZW4K
ICBycG0uZXhwYW5kKCIle2VjaG86Rm9yZ2Utc3BlY2lmaWMgcGFja2FnaW5nIHZhcmlhYmxl
c1xufSIpCiAgcnBtLmV4cGFuZCgiJXtlY2hvOiAgZm9yZ2V1cmw6ICAgICAgICAlez9mb3Jn
ZXVybH1cbn0iKQogIHJwbS5leHBhbmQoIiV7ZWNobzogIGZvcmdlc291cmNlOiAgICAgJXs/
Zm9yZ2Vzb3VyY2V9XG59IikKICBycG0uZXhwYW5kKCIle2VjaG86ICBmb3JnZXNldHVwYXJn
czogICV7P2Zvcmdlc2V0dXBhcmdzfVxufSIpCiAgcnBtLmV4cGFuZCgiJXtlY2hvOkdlbmVy
aWMgdmFyaWFibGVzXG59IikKICBycG0uZXhwYW5kKCIle2VjaG86ICBhcmNoaXZlbmFtZTog
ICAgICV7P2FyY2hpdmVuYW1lfVxufSIpCiAgcnBtLmV4cGFuZCgiJXtlY2hvOiAgYXJjaGl2
ZWV4dDogICAgICAlez9hcmNoaXZlZXh0fVxufSIpCiAgcnBtLmV4cGFuZCgiJXtlY2hvOiAg
YXJjaGl2ZXVybDogICAgICAlez9hcmNoaXZldXJsfVxufSIpCiAgcnBtLmV4cGFuZCgiJXtl
Y2hvOiAgc2NtOiAgICAgICAgICAgICAlez9zY219XG59IikKICBycG0uZXhwYW5kKCIle2Vj
aG86ICB0YWc6ICAgICAgICAgICAgICV7P3RhZ31cbn0iKQogIHJwbS5leHBhbmQoIiV7ZWNo
bzogIGNvbW1pdDogICAgICAgICAgJXs/Y29tbWl0fVxufSIpCiAgcnBtLmV4cGFuZCgiJXtl
Y2hvOiAgZGlzdDogICAgICAgICAgICAlez9kaXN0fSAoc25hcHNob3QgZGF0ZSBpcyBjb21w
dXRlZCBvbmNlICUle19zb3VyY2VkaXJ9LyUle2FyY2hpdmVuYW1lfS4lJXthcmNoaXZlZXh0
fSBpcyBhdmFpbGFibGUpXG59IikKZW5kCn0KLTEzOiBmb3JnZXNldHVwKGE6YjpjRG46VHEp
CSVzZXR1cCAlez9mb3JnZXNldHVwYXJnc30gJXstYX0gJXstYn0gJXstY30gJXstRH0gJXst
bn0gJXstVH0gJXstcX0KLTEzOiBmcGNfYXJjaGVzCSV7aXg4Nn0gJXthcm19IHg4Nl82NCBw
cGM2NAotMTM6IGdjY2dvX2FyY2hlcwkle21pcHN9Ci0xMzogZ2NvbmZfc2NoZW1hX29ic29s
ZXRlCQpmb3Igc2NoZW1hIGluICV7Kn0gOyBkbyAKICAgICVfZG9fZ2NvbmZfc2NoZW1hX3Jl
bW92ZSAKZG9uZSAKJXtuaWx9Ci0xMzogZ2NvbmZfc2NoZW1hX3ByZXBhcmUJCmlmIFsgIiQx
IiAtZ3QgMSBdIDsgdGhlbiAKICAgIHJtIC1yZiAle19sb2NhbHN0YXRlZGlyfS9saWIvcnBt
LXN0YXRlL2djb25mLyogCiAgICBmb3Igc2NoZW1hIGluICV7Kn0gOyBkbyAKICAgICAgICBp
ZiB0ZXN0IC1mICV7X3N5c2NvbmZkaXJ9L2djb25mL3NjaGVtYXMvIiRzY2hlbWEiLnNjaGVt
YXMgOyB0aGVuIAogICAgICAgICAgICBjcCAtcCAle19zeXNjb25mZGlyfS9nY29uZi9zY2hl
bWFzLyIkc2NoZW1hIi5zY2hlbWFzICV7X2xvY2Fsc3RhdGVkaXJ9L2xpYi9ycG0tc3RhdGUv
Z2NvbmYvIHx8IDogCiAgICAgICAgZmkgCiAgICBkb25lIApmaSAKJXtuaWx9Ci0xMzogZ2Nv
bmZfc2NoZW1hX3JlbW92ZQkKaWYgWyAiJDEiIC1lcSAwIF0gOyB0aGVuIAogICAgZm9yIHNj
aGVtYSBpbiAleyp9IDsgZG8gCiAgICAgICAgJV9kb19nY29uZl9zY2hlbWFfcmVtb3ZlIAog
ICAgZG9uZSAKZmkgCiV7bmlsfQotMTM6IGdjb25mX3NjaGVtYV91cGdyYWRlCQpmb3Igc2No
ZW1hIGluICV7Kn0gOyBkbyAKICAgIGlmIHRlc3QgLWYgJXtfbG9jYWxzdGF0ZWRpcn0vbGli
L3JwbS1zdGF0ZS9nY29uZi8iJHNjaGVtYSIuc2NoZW1hcyA7IHRoZW4gCiAgICAgICAgY21w
IC0tcXVpZXQgJXtfc3lzY29uZmRpcn0vZ2NvbmYvc2NoZW1hcy8iJHNjaGVtYSIuc2NoZW1h
cyAle19sb2NhbHN0YXRlZGlyfS9saWIvcnBtLXN0YXRlL2djb25mLyIkc2NoZW1hIi5zY2hl
bWFzIAogICAgICAgIGlmIHRlc3QgJD8gIT0gMDsgdGhlbgogICAgICAgICAgICBleHBvcnQg
R0NPTkZfQ09ORklHX1NPVVJDRT1gZ2NvbmZ0b29sLTIgLS1nZXQtZGVmYXVsdC1zb3VyY2Vg
IAogICAgICAgICAgICBnY29uZnRvb2wtMiAtLW1ha2VmaWxlLXVuaW5zdGFsbC1ydWxlICV7
X2xvY2Fsc3RhdGVkaXJ9L2xpYi9ycG0tc3RhdGUvZ2NvbmYvIiRzY2hlbWEiLnNjaGVtYXMg
PiAvZGV2L251bGwgfHwgOiAKICAgICAgICAgICAgZ2NvbmZ0b29sLTIgLS1tYWtlZmlsZS1p
bnN0YWxsLXJ1bGUgJXtfc3lzY29uZmRpcn0vZ2NvbmYvc2NoZW1hcy8iJHNjaGVtYSIuc2No
ZW1hcyA+IC9kZXYvbnVsbCB8fCA6IAogICAgICAgIGZpIAogICAgICAgIHJtIC1mICV7X2xv
Y2Fsc3RhdGVkaXJ9L2xpYi9ycG0tc3RhdGUvZ2NvbmYvIiRzY2hlbWEiLnNjaGVtYXMgCiAg
ICBlbHNlIAogICAgICAgIGV4cG9ydCBHQ09ORl9DT05GSUdfU09VUkNFPWBnY29uZnRvb2wt
MiAtLWdldC1kZWZhdWx0LXNvdXJjZWAgCiAgICAgICAgZ2NvbmZ0b29sLTIgLS1tYWtlZmls
ZS1pbnN0YWxsLXJ1bGUgJXtfc3lzY29uZmRpcn0vZ2NvbmYvc2NoZW1hcy8iJHNjaGVtYSIu
c2NoZW1hcyA+IC9kZXYvbnVsbCB8fCA6IAogICAgZmkgCmRvbmUgCiV7bmlsfQotMTM6IGdo
Y19hcmNoZXMJJXtpeDg2fSB4ODZfNjQgYXJtdjdobCBwcGM2NCBwcGM2NGxlIGFhcmNoNjQg
czM5MCBzMzkweAotMTM6IGdoY19hcmNoZXNfd2l0aF9naGNpCSV7aXg4Nn0geDg2XzY0IGFy
bXY3aGwgcHBjNjQgcHBjNjRsZSBhYXJjaDY0IHMzOTAgczM5MHggJXttaXBzfQotMTM6IGdv
X2FyY2hlcwkle2dvbGFuZ19hcmNoZXN9ICV7Z2NjZ29fYXJjaGVzfQotMTM6IGdvX2NvbXBp
bGVyCTEKLTEzOiBnb2xhbmdfYXJjaGVzCSV7aXg4Nn0geDg2XzY0ICV7YXJtfSBhYXJjaDY0
IHBwYzY0bGUgczM5MHgKLTEzOiBnb21ldGEodTpzcHZpKQkle2V4cGFuZDole2x1YToKbG9j
YWwgZm9yZ2V1cmwgICAgPSBycG0uZXhwYW5kKCIlez8tdSp9IikKaWYgKGZvcmdldXJsID09
ICIiKSB0aGVuCiAgZm9yZ2V1cmwgICAgICAgID0gcnBtLmV4cGFuZCgiJXs/Zm9yZ2V1cmx9
IikKZW5kCi0tIEJlIGV4cGxpY2l0IGFib3V0IHRoZSBzcGVjIHZhcmlhYmxlcyB3ZeKAmXJl
IHNldHRpbmcKbG9jYWwgZnVuY3Rpb24gZXhwbGljaXRzZXQocnBtdmFyaWFibGUsdmFsdWUp
CiAgcnBtLmRlZmluZShycG12YXJpYWJsZSAuLiAiICIgLi4gdmFsdWUpCiAgaWYgKHJwbS5l
eHBhbmQoIiV7Py12fSIpIH49ICIiKSB0aGVuCiAgICBycG0uZXhwYW5kKCIle2VjaG86U2V0
dGluZyAlJXsiIC4uIHJwbXZhcmlhYmxlIC4uICJ9ID0gIiAuLiB2YWx1ZSAuLiAiXG59IikK
ICBlbmQKZW5kCi0tIE5ldmVyIGV2ZXIgc3RvbXAgb24gYSBzcGVjIHZhcmlhYmxlIHRoZSBw
YWNrYWdlciBhbHJlYWR5IHNldApsb2NhbCBmdW5jdGlvbiBzYWZlc2V0KHJwbXZhcmlhYmxl
LHZhbHVlKQogIGlmIChycG0uZXhwYW5kKCIlez8iIC4uIHJwbXZhcmlhYmxlIC4uICJ9Iikg
PT0gIiIpIHRoZW4KICAgIGV4cGxpY2l0c2V0KHJwbXZhcmlhYmxlLHZhbHVlKQogIGVuZApl
bmQKLS0gQWxsIHRoZSBHbyBwYWNrYWdpbmcgYXV0b21hdGlvbiByZWxpZXMgb24gZ29pcGF0
aCBiZWluZyBzZXQKbG9jYWwgZ29pcGF0aCA9IHJwbS5leHBhbmQoIiV7P2dvaXBhdGh9IikK
aWYgKGdvaXBhdGggPT0gIiIpIHRoZW4KICBycG0uZXhwYW5kKCIle2Vycm9yOlBsZWFzZSBz
ZXQgdGhlIEdvIGltcG9ydCBwYXRoIGluIHRoZSDigJxnb2lwYXRo4oCdIHZhcmlhYmxlIGJl
Zm9yZSBjYWxsaW5nIOKAnGdvbWV0YeKAnSF9IikKZW5kCi0tIEZhbGwgdG8gbG9jYWxseSBz
aGlwcGVkIGZvcmdlIG1hY3JvcyB1bnRpbCB0aGV5IGFyZSBhdmFpbGFibGUgaW4gZjI3Kwot
LSBUT0RPKGpjaGFsb3VwKTogUmVtb3ZlIG9uY2UgZm9yZ2VtZXRhIGlzIGF2YWlsYWJsZSBp
biBmMjcrCmlmIChycG0uZXhwYW5kKCIlez9mb3JnZW1ldGE6MX0iKSA9PSAiIikgdGhlbgog
IHJwbS5kZWZpbmUoImZvcmdlbWV0YSh1OnNwdmkpICVfX2ZvcmdlbWV0YV9fICV7PyoqfSIp
CiAgcnBtLmRlZmluZSgiZm9yZ2VzZXR1cChhOmI6Y0RuOlRxKSAlX19mb3JnZXNldHVwX18g
JXs/Kip9IikKZW5kCi0tIENvbXB1dGUgYW5kIHNldCBzcGVjIHZhcmlhYmxlcwppZiAoZm9y
Z2V1cmwgfj0gIiIpIHRoZW4KICBycG0uZXhwYW5kKCIlZm9yZ2VtZXRhICV7Py12fSAlez8t
aX0gJXs/LXN9ICV7Py1wfSAtdSAiIC4uIGZvcmdldXJsIC4uICJcbiIpCiAgc2FmZXNldCgi
Z291cmwiLCBmb3JnZXVybCkKZWxzZQogIHNhZmVzZXQoImdvdXJsIiwgImh0dHBzOi8vIiAu
LiBnb2lwYXRoKQogIHJwbS5leHBhbmQoIiVmb3JnZW1ldGEgJXs/LXZ9ICV7Py1pfSAtcyAg
ICAgJXs/LXB9IC11ICV7Z291cmx9XG4iKQplbmQKaWYgKHJwbS5leHBhbmQoIiV7P2Zvcmdl
c291cmNlfSIpIH49ICIiKSB0aGVuCiAgc2FmZXNldCgiZ29zb3VyY2UiLCAiJXtmb3JnZXNv
dXJjZX0iKQplbHNlCiAgc2FmZXNldCgiZ29zb3VyY2UiLCAiJXtnb3VybH0vJXthcmNoaXZl
bmFtZX0uJXthcmNoaXZlZXh0fSIpCmVuZApzYWZlc2V0KCJnb25hbWUiLCAiJWdvcnBtbmFt
ZSAle2dvaXBhdGh9IikKcnBtLmRlZmluZSgiZ29zZXR1cCAlZm9yZ2VzZXR1cCIpCi0tIEZp
bmFsIHNwZWMgdmFyaWFibGUgc3VtbWFyeSBpZiB0aGUgbWFjcm8gd2FzIGNhbGxlZCB3aXRo
IC1pCmlmIChycG0uZXhwYW5kKCIlez8taX0iKSB+PSAiIikgdGhlbgogIHJwbS5leHBhbmQo
IiV7ZWNobzpHby1zcGVjaWZpYyBwYWNrYWdpbmcgdmFyaWFibGVzfSIpCiAgcnBtLmV4cGFu
ZCgiJXtlY2hvOiAgZ29pcGF0aDogICAgICAgICAlez9nb2lwYXRofX0iKQogIHJwbS5leHBh
bmQoIiV7ZWNobzogIGdvbmFtZTogICAgICAgICAgJXs/Z29uYW1lfX0iKQogIHJwbS5leHBh
bmQoIiV7ZWNobzogIGdvdXJsOiAgICAgICAgICAgJXs/Z291cmx9fSIpCiAgcnBtLmV4cGFu
ZCgiJXtlY2hvOiAgZ29zb3VyY2U6ICAgICAgICAlez9nb3NvdXJjZX19IikKZW5kfQpCdWls
ZFJlcXVpcmVzOiBjb21waWxlcihnby1jb21waWxlcikKRXhjbHVzaXZlQXJjaDogJXtnb19h
cmNoZXN9Cn0KLTEzOiBnb3BhdGgJJXtfZGF0YWRpcn0vZ29jb2RlCi0xMzogZ29ycG1uYW1l
CSV7bHVhOgpsb2NhbCBnb25hbWUgPSBycG0uZXhwYW5kKCIlMSIpCi0tIGxvd2VyY2FzZSBh
bmQgZW5kIHdpdGggJy8nCmdvbmFtZSAgICAgICA9IHN0cmluZy5sb3dlcihnb25hbWUgLi4g
Ii8iKQotLSByZW1vdmUgZXZlbnR1YWwgcHJvdG9jb2wgcHJlZml4CmdvbmFtZSAgICAgICA9
IHN0cmluZy5nc3ViKGdvbmFtZSwgIl5odHRwKHM/KTovLyIsICAgICAgICAgIiIpCi0tIGFk
ZCBnb2xhbmcgcHJlZml4CmdvbmFtZSAgICAgICA9ICJnb2xhbmctIiAuLiBnb25hbWUKLS0g
cmVtb3ZlIEZRRE4gcm9vdCAoLmNvbSwgLm9yZywgZXRjKQpnb25hbWUgICAgICAgPSBzdHJp
bmcuZ3N1Yihnb25hbWUsICJeKFteL10rKSUuKFteJS4vXSspLyIsICIlMS8iKQotLSBzcGVj
aWFsLWNhc2UgeC55LnogbnVtYmVyLXN0cmluZ3MgYXMgdGhhdOKAmXMgYW4gZXhjZXB0aW9u
IGluIG91ciBuYW1pbmcKLS0gZ3VpZGVsaW5lcwpyZXBlYXQKICBnb25hbWUsIGkgPSBzdHJp
bmcuZ3N1Yihnb25hbWUsICIoJWQpJS4oJWQpIiwgICAgICAgICAgICAiJTE6JTIiKQp1bnRp
bCBpID09IDAKLS0gcmVwbGFjZSB2YXJpb3VzIHNlcGFyYXRvcnMgcnBtIGRvZXMgbm90IGxp
a2Ugd2l0aCAtCmdvbmFtZSAgICAgICA9IHN0cmluZy5nc3ViKGdvbmFtZSwgIlslLl8vJS1d
KyIsICAgICAgICAgICAgIi0iKQotLSBiZWNhdXNlIG9mIHRoZSBBenVyZSBzZGsKZ29uYW1l
ICAgICAgID0gc3RyaW5nLmdzdWIoZ29uYW1lLCAiJS1mb3IlLWdvJS0iLCAgICAgICAgICAi
LSIpCi0tIFRva2VuaXplIGFsb25nIC0gc2VwYXJhdG9ycyBhbmQgcmVtb3ZlIGR1cGxpY2F0
ZXMgdG8gYXZvaWQKLS0gZ29sYW5nLWZvby1mb28tYmFyLWZvbyBuYW1lcwpsb2NhbCByZXN1
bHQgPSAiIgpsb2NhbCB0b2tlbnMgPSB7fQp0b2tlbnNbImdvIl0gICAgID0gdHJ1ZQp0b2tl
bnNbImdpdCJdICAgID0gdHJ1ZQpmb3IgdG9rZW4gaW4gc3RyaW5nLmdtYXRjaChnb25hbWUs
ICJbXiUtXSsiKSBkbwogICBpZiBub3QgdG9rZW5zW3Rva2VuXSB0aGVuCiAgICAgIHJlc3Vs
dCA9IHJlc3VsdCAuLiAiLSIgLi4gdG9rZW4KICAgICAgdG9rZW5zW3Rva2VuXSA9IHRydWUK
ICAgZW5kCmVuZAotLSByZWFzc2VtYmxlIHRoZSBzdHJpbmcsIHJlc3RvcmUgeC55LnogcnVu
cywgY29udmVydCB0aGUgdngueS56Ci0tIEdvIGNvbnZlbnRpb24gdG8geC55LnogYXMgcHJl
ZmVyZWQgaW4gcnBtIG5hbWluZwpyZXN1bHQgPSBzdHJpbmcuZ3N1YihyZXN1bHQsICJeLSIs
ICIiKQpyZXN1bHQgPSBzdHJpbmcuZ3N1YihyZXN1bHQsICI6IiwgIi4iKQotLSBzb21lIHBy
b2plY3RzIGhhdmUgYSBuYW1lIHRoYXQgZW5kIHVwIGluIGEgbnVtYmVyLCBhbmQgKmFsc28q
IGFkZCByZWxlYXNlCi0tIG51bWJlcnMgb24gdG9wIG9mIGl0LCBrZWVwIGEgLSBwcmVmaXgg
YmVmb3JlIHZlcnNpb24gc3RyaW5ncwpyZXN1bHQgPSBzdHJpbmcuZ3N1YihyZXN1bHQsICIl
LXYoWyUuJWRdKSIsICItJTEiKQpwcmludChyZXN1bHQpCn0KLTEzOiBpbmZvX3Bvc3QJCmlm
IFsgLWYgJXtfaW5mb2Rpcn0vJTEgXTsgdGhlbiAjIC0tZXhjbHVkZWRvY3M/IAogIC9zYmlu
L2luc3RhbGwtaW5mbyAle19pbmZvZGlyfS8lMSAle19pbmZvZGlyfS9kaXIgfHwgOiAKZmkK
LTEzOiBpbmZvX3ByZXVuCQppZiBbICQxID09IDAgXTsgdGhlbiAKICBpZiBbIC1mICV7X2lu
Zm9kaXJ9LyUxIF07IHRoZW4gIyAtLWV4Y2x1ZGVkb2NzPyAKICAgIC9zYmluL2luc3RhbGwt
aW5mbyAtLWRlbGV0ZSAle19pbmZvZGlyfS8lMSAle19pbmZvZGlyfS9kaXIgfHwgOiAKICBm
aSAKZmkKLTEzOiBpbmZvX3JlcXVpcmVzCQpSZXF1aXJlcyhwb3N0KTogL3NiaW4vaW5zdGFs
bC1pbmZvIApSZXF1aXJlcyhwcmV1bik6IC9zYmluL2luc3RhbGwtaW5mbwotMTM6IGluc3Rh
bGwJJXs/X2VuYWJsZV9kZWJ1Z19wYWNrYWdlczolez9idWlsZHN1YmRpcjole2RlYnVnX3Bh
Y2thZ2V9fX0KJSVpbnN0YWxsCiV7bmlsfQotMTM6IGl4ODYJaTM4NiBpNDg2IGk1ODYgaTY4
NiBwZW50aXVtMyBwZW50aXVtNCBhdGhsb24gZ2VvZGUKLTEzOiBqYXIJJXtqYXZhX2hvbWV9
L2Jpbi9qYXIKLTEzOiBqYXZhCSUoLiAvdXNyL3NoYXJlL2phdmEtdXRpbHMvamF2YS1mdW5j
dGlvbnM7IHNldF9qYXZhY21kOyBlY2hvICRKQVZBQ01EKQotMTM6IGphdmFfaG9tZQklKC4g
L3Vzci9zaGFyZS9qYXZhLXV0aWxzL2phdmEtZnVuY3Rpb25zOyBzZXRfanZtOyBlY2hvICRK
QVZBX0hPTUUpCi0xMzogamF2YWMJJXtqYXZhX2hvbWV9L2Jpbi9qYXZhYwotMTM6IGphdmFk
b2MJJXtqYXZhX2hvbWV9L2Jpbi9qYXZhZG9jCi0xMzogam91cm5hbF9jYXRhbG9nX3VwZGF0
ZQkKam91cm5hbGN0bCAtLXVwZGF0ZS1jYXRhbG9nID4vZGV2L251bGwgMj4mMSB8fCA6IAol
e25pbH0KLTEzOiBqcGFja2FnZV9zY3JpcHQJCmluc3RhbGwgLWQgLW0gNzU1ICV7YnVpbGRy
b290fSV7X2JpbmRpcn0gCmNhdCA+ICV7YnVpbGRyb290fSV7X2JpbmRpcn0vJTUgPDwgRU9G
IAojIS9iaW4vYmFzaAojCiMgJXtuYW1lfSBzY3JpcHQKIyBKUGFja2FnZSBQcm9qZWN0IDxo
dHRwOi8vd3d3LmpwYWNrYWdlLm9yZy8+CgojIFNvdXJjZSBmdW5jdGlvbnMgbGlicmFyeQpf
cHJlZmVyX2pyZT0iJXs/Nn0iCi4gL3Vzci9zaGFyZS9qYXZhLXV0aWxzL2phdmEtZnVuY3Rp
b25zCgojIFNvdXJjZSBzeXN0ZW0gcHJlZnMKaWYgWyAtZiAle19zeXNjb25mZGlyfS9qYXZh
LyV7bmFtZX0uY29uZiBdIDsgdGhlbgogIC4gJXtfc3lzY29uZmRpcn0vamF2YS8le25hbWV9
LmNvbmYKZmkKCiMgU291cmNlIHVzZXIgcHJlZnMKaWYgWyAtZiBcJEhPTUUvLiV7bmFtZX1y
YyBdIDsgdGhlbgogIC4gXCRIT01FLy4le25hbWV9cmMKZmkKCiMgQ29uZmlndXJhdGlvbgpN
QUlOX0NMQVNTPSUxCkJBU0VfRkxBR1M9JTIKQkFTRV9PUFRJT05TPSUzCkJBU0VfSkFSUz0i
JShlY2hvICU0IHwgc2VkIC1lICdzLDosICxnJykiCgojIFNldCBwYXJhbWV0ZXJzCnNldF9q
dm0Kc2V0X2NsYXNzcGF0aCBcJEJBU0VfSkFSUwpzZXRfZmxhZ3MgXCRCQVNFX0ZMQUdTCnNl
dF9vcHRpb25zIFwkQkFTRV9PUFRJT05TCgojIExldCdzIHN0YXJ0CnJ1biAiXCRAIgpFT0YK
Y2htb2QgNzU1ICV7YnVpbGRyb290fSV7X2JpbmRpcn0vJTUKJXtuaWx9Ci0xMzogbGRjX2Fy
Y2hlcwkle2l4ODZ9IHg4Nl82NCAle2FybX0gJXtwb3dlcjY0fQotMTM6IGxkY29uZmlnCS9z
YmluL2xkY29uZmlnCi0xMzogbGRjb25maWdfcG9zdAklez9sZGNvbmZpZzolcG9zdCAtcCAl
bGRjb25maWd9Ci0xMzogbGRjb25maWdfcG9zdHVuCSV7P2xkY29uZmlnOiVwb3N0dW4gLXAg
JWxkY29uZmlnfQotMTM6IGxkY29uZmlnX3NjcmlwdGxldHMobjopCSV7P2xkY29uZmlnOgol
bGRjb25maWdfcG9zdCAlez8qfSAley1uOi1uICV7LW4qfX0KJWVuZAolbGRjb25maWdfcG9z
dHVuICV7Pyp9ICV7LW46LW4gJXstbip9fQolZW5kCn0KLTEzOiBtYWtlX2J1aWxkCSV7X19t
YWtlfSAle19tYWtlX291dHB1dF9zeW5jfSAlez9fc21wX21mbGFnc30KLTEzOiBtYWtlX2lu
c3RhbGwJJXtfX21ha2V9IGluc3RhbGwgREVTVERJUj0lez9idWlsZHJvb3R9IElOU1RBTEw9
IiV7X19pbnN0YWxsfSAtcCIKLTEzOiBtYWtlaW5zdGFsbAkKICBlY2hvICJ3YXJuaW5nOiAl
JW1ha2VpbnN0YWxsIGlzIGRlcHJlY2F0ZWQsIHRyeSAlJW1ha2VfaW5zdGFsbCBpbnN0ZWFk
IiAxPiYyCiAgJXtfX21ha2V9IFwKCXByZWZpeD0lez9idWlsZHJvb3Q6JXtidWlsZHJvb3R9
fSV7X3ByZWZpeH0gXAoJZXhlY19wcmVmaXg9JXs/YnVpbGRyb290OiV7YnVpbGRyb290fX0l
e19leGVjX3ByZWZpeH0gXAoJYmluZGlyPSV7P2J1aWxkcm9vdDole2J1aWxkcm9vdH19JXtf
YmluZGlyfSBcCglzYmluZGlyPSV7P2J1aWxkcm9vdDole2J1aWxkcm9vdH19JXtfc2JpbmRp
cn0gXAoJc3lzY29uZmRpcj0lez9idWlsZHJvb3Q6JXtidWlsZHJvb3R9fSV7X3N5c2NvbmZk
aXJ9IFwKCWRhdGFkaXI9JXs/YnVpbGRyb290OiV7YnVpbGRyb290fX0le19kYXRhZGlyfSBc
CglpbmNsdWRlZGlyPSV7P2J1aWxkcm9vdDole2J1aWxkcm9vdH19JXtfaW5jbHVkZWRpcn0g
XAoJbGliZGlyPSV7P2J1aWxkcm9vdDole2J1aWxkcm9vdH19JXtfbGliZGlyfSBcCglsaWJl
eGVjZGlyPSV7P2J1aWxkcm9vdDole2J1aWxkcm9vdH19JXtfbGliZXhlY2Rpcn0gXAoJbG9j
YWxzdGF0ZWRpcj0lez9idWlsZHJvb3Q6JXtidWlsZHJvb3R9fSV7X2xvY2Fsc3RhdGVkaXJ9
IFwKCXNoYXJlZHN0YXRlZGlyPSV7P2J1aWxkcm9vdDole2J1aWxkcm9vdH19JXtfc2hhcmVk
c3RhdGVkaXJ9IFwKCW1hbmRpcj0lez9idWlsZHJvb3Q6JXtidWlsZHJvb3R9fSV7X21hbmRp
cn0gXAoJaW5mb2Rpcj0lez9idWlsZHJvb3Q6JXtidWlsZHJvb3R9fSV7X2luZm9kaXJ9IFwK
ICBpbnN0YWxsCi0xMzogbWlwcwkle21pcHMzMn0gJXttaXBzNjR9Ci0xMzogbWlwczMyCW1p
cHMgbWlwc2VsIG1pcHNyNiBtaXBzcjZlbAotMTM6IG1pcHM2NAltaXBzNjQgbWlwczY0ZWwg
bWlwczY0cjYgbWlwczY0cjZlbAotMTM6IG1pcHNlYgltaXBzIG1pcHNyNiBtaXBzNjQgbWlw
czY0cjYKLTEzOiBtaXBzZWwJbWlwc2VsIG1pcHNyNmVsIG1pcHM2NGVsIG1pcHM2NHI2ZWwK
LTEzOiBtb25vX2FyY2hlcwkle2l4ODZ9IHg4Nl82NCBzcGFyYyBzcGFyY3Y5IGlhNjQgJXth
cm19IGFhcmNoNjQgYWxwaGEgczM5MHggcHBjIHBwYzY0IHBwYzY0bGUKLTEzOiBuaWwJJXsh
P25pbH0KLTEzOiBuaW1fYXJjaGVzCSV7aXg4Nn0geDg2XzY0ICV7YXJtfSBhYXJjaDY0ICV7
cG93ZXI2NH0KLTEzOiBub2RlanNfYXJjaGVzCSV7aXg4Nn0geDg2XzY0ICV7YXJtfSBhYXJj
aDY0ICV7cG93ZXI2NH0gczM5MHgKLTEzOiBvY2FtbF9uYXRkeW5saW5rCWFhcmNoNjQgJXth
cm19ICV7aXg4Nn0gcHBjIHBwYzY0IHBwYzY0bGUgcmlzY3Y2NCBzMzkweCBzcGFyYyBzcGFy
Y3Y5IHg4Nl82NAotMTM6IG9jYW1sX25hdGl2ZV9jb21waWxlcglhYXJjaDY0ICV7YXJtfSAl
e2l4ODZ9IHBwYyBwcGM2NCBwcGM2NGxlIHJpc2N2NjQgczM5MHggc3BhcmMgc3BhcmN2OSB4
ODZfNjQKLTEzOiBvY2FtbF9uYXRpdmVfcHJvZmlsaW5nCSV7YXJtfSAle2l4ODZ9IHBwYyBw
cGM2NCBwcGM2NGxlICAgICAgICAgICAgICAgc3BhcmMgc3BhcmN2OSB4ODZfNjQKLTEzOiBv
cGVuYmxhc19hcmNoZXMJeDg2XzY0ICV7aXg4Nn0gYXJtdjdobCAle3Bvd2VyNjR9IGFhcmNo
NjQgczM5MHgKLTExOiBvcHRmbGFncwkle19fZ2xvYmFsX2NvbXBpbGVyX2ZsYWdzfSAtbTY0
IC1tdHVuZT1nZW5lcmljIC1mYXN5bmNocm9ub3VzLXVud2luZC10YWJsZXMKLTEzOiBwYXRj
aGVzCSV7bHVhOiBmb3IgaSwgcCBpbiBpcGFpcnMocGF0Y2hlcykgZG8gcHJpbnQocC4uIiAi
KSBlbmR9Ci0xMzogcGVybF9hcmNobGliCSUoZXZhbCAiYCV7X19wZXJsfSAtVjppbnN0YWxs
YXJjaGxpYmAiOyBlY2hvICRpbnN0YWxsYXJjaGxpYikKLTEzOiBwZXJsX2RlZmF1bHRfZmls
dGVyCSV7ZXhwYW5kOiAKJWdsb2JhbCBfX3Byb3ZpZGVzX2V4Y2x1ZGVfZnJvbSAlez9fX3By
b3ZpZGVzX2V4Y2x1ZGVfZnJvbTolX19wcm92aWRlc19leGNsdWRlX2Zyb218fV4le19kb2Nk
aXJ9CiVnbG9iYWwgX19yZXF1aXJlc19leGNsdWRlX2Zyb20gJXs/X19yZXF1aXJlc19leGNs
dWRlX2Zyb206JV9fcmVxdWlyZXNfZXhjbHVkZV9mcm9tfH1eJXtfZG9jZGlyfQolZ2xvYmFs
IF9fcHJvdmlkZXNfZXhjbHVkZSAlez9fX3Byb3ZpZGVzX2V4Y2x1ZGU6JV9fcHJvdmlkZXNf
ZXhjbHVkZXx9XnBlcmxcXChWTVN8XnBlcmxcXChXaW4zMnxecGVybFxcKERCXFwpfF5wZXJs
XFwoVU5JVkVSU0FMXFwpCiVnbG9iYWwgX19yZXF1aXJlc19leGNsdWRlICV7P19fcmVxdWly
ZXNfZXhjbHVkZTolX19yZXF1aXJlc19leGNsdWRlfH1ecGVybFxcKFZNU3xecGVybFxcKFdp
bjMyCn0KLTEzOiBwZXJsX2RlZmF1bHRfZmlsdGVyX3JldmlzaW9uCTMKLTEzOiBwZXJsX2Rl
ZmF1bHRfc3VicGFja2FnZV90ZXN0cwklcGVybF9zdWJwYWNrYWdlX3Rlc3RzIHQvCi0xMzog
cGVybF9leHRfZW52X3Vuc2V0CSV7ZXhwYW5kOgp1bnNldCBQRVJMX01NX09QVCBNT0RVTEVC
VUlMRFJDIFBFUkw1SU5DCmV4cG9ydCBQRVJMX0FVVE9JTlNUQUxMPSItLWRlZmF1bHRkZXBz
IgpleHBvcnQgUEVSTF9NTV9VU0VfREVGQVVMVD0xCn0KLTEzOiBwZXJsX3ByaXZsaWIJJShl
dmFsICJgJXtfX3Blcmx9IC1WOmluc3RhbGxwcml2bGliYCI7IGVjaG8gJGluc3RhbGxwcml2
bGliKQotMTM6IHBlcmxfc2l0ZWFyY2gJJShldmFsICJgJXtfX3Blcmx9IC1WOmluc3RhbGxz
aXRlYXJjaGAiOyBlY2hvICRpbnN0YWxsc2l0ZWFyY2gpCi0xMzogcGVybF9zaXRlbGliCSUo
ZXZhbCAiYCV7X19wZXJsfSAtVjppbnN0YWxsc2l0ZWxpYmAiOyBlY2hvICRpbnN0YWxsc2l0
ZWxpYikKLTEzOiBwZXJsX3N1YnBhY2thZ2VfdGVzdHMJJXtleHBhbmQ6IAolZ2xvYmFsIF9f
cGVybF9wYWNrYWdlIDEKJWdsb2JhbCBfX3BlcmxfdGVzdF9kaXJzICUqIAolZ2xvYmFsIF9f
c3BlY19jaGVja19wcmUgJXtleHBhbmQ6JXtfX3BlcmxfY2hlY2tfcHJlfX0gCiVwYWNrYWdl
IHRlc3RzClN1bW1hcnk6IFRlc3Qgc3VpdGUgZm9yIHBhY2thZ2UgJXtuYW1lfQpHcm91cDog
RGV2ZWxvcG1lbnQvRGVidWcKUmVxdWlyZXM6ICV7bmFtZX0gPSAlez9lcG9jaDole2Vwb2No
fTp9JXt2ZXJzaW9ufS0le3JlbGVhc2V9ClJlcXVpcmVzOiAvdXNyL2Jpbi9wcm92ZSAKJXs/
X190ZXN0c19zcGtnX3JlcTpSZXF1aXJlczogJV9fdGVzdHNfc3BrZ19yZXF9CiV7P19fdGVz
dHNfc3BrZ19wcm92OlByb3ZpZGVzOiAlX190ZXN0c19zcGtnX3Byb3Z9CkF1dG9SZXFQcm92
OiAwIAolZGVzY3JpcHRpb24gdGVzdHMKVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSB0ZXN0
IHN1aXRlIGZvciBwYWNrYWdlICV7bmFtZX0uCiVmaWxlcyB0ZXN0cwolZGVmYXR0cigtLHJv
b3Qscm9vdCwtKQole3BlcmxfdGVzdGRpcn0KfQotMTM6IHBlcmxfdGVzdGRpcgkle19saWJl
eGVjZGlyfS9wZXJsNS10ZXN0cwotMTM6IHBlcmxfdmVuZG9yYXJjaAklKGV2YWwgImAle19f
cGVybH0gLVY6aW5zdGFsbHZlbmRvcmFyY2hgIjsgZWNobyAkaW5zdGFsbHZlbmRvcmFyY2gp
Ci0xMzogcGVybF92ZW5kb3JsaWIJJShldmFsICJgJXtfX3Blcmx9IC1WOmluc3RhbGx2ZW5k
b3JsaWJgIjsgZWNobyAkaW5zdGFsbHZlbmRvcmxpYikKLTEzOiBwZXJsX3ZlcnNpb24JJShl
dmFsICJgJXtfX3Blcmx9IC1WOnZlcnNpb25gIjsgZWNobyAkdmVyc2lvbikKLTEzOiBwb3dl
cjY0CXBwYzY0IHBwYzY0cDcgcHBjNjRsZQotMTM6IHB5Ml9kaXN0CSV7bHVhOgogICAgICAg
IGFyZ3MgPSB7fQogICAgICAgIGFyZyA9IDEKICAgICAgICB3aGlsZSAodHJ1ZSkgZG8KICAg
ICAgICAgICAgICAgIG5hbWUgPSBycG0uZXhwYW5kKCIlez8iIC4uIGFyZyAuLiAiOiV7IiAu
LiBhcmcgLi4gIn19Iik7CiAgICAgICAgICAgICAgICBpZiAobmFtZSA9PSBuaWwgb3IgbmFt
ZSA9PSAnJykgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAg
ICAgICAgZW5kCiAgICAgICAgICAgICAgICBhcmdzW2FyZ10gPSBuYW1lCiAgICAgICAgICAg
ICAgICBhcmcgPSBhcmcgKyAxCiAgICAgICAgZW5kCiAgICAgICAgZm9yIGFyZywgbmFtZSBp
biBpcGFpcnMoYXJncykgZG8KICAgICAgICAgICAgICAgIGNhbm9uaWNhbCA9IHJwbS5leHBh
bmQoIiVweV9kaXN0X25hbWUgIiAuLiBuYW1lKTsKICAgICAgICAgICAgICAgIHByaW50KCJw
eXRob24yZGlzdCgiIC4uIGNhbm9uaWNhbCAuLiAiKSAiKTsKICAgICAgICBlbmQKfQotMTM6
IHB5M19idWlsZAkle2V4cGFuZDpcCiAgQ0ZMQUdTPSIle29wdGZsYWdzfSIgJXtfX3B5dGhv
bjN9ICV7cHlfc2V0dXB9ICV7P3B5X3NldHVwX2FyZ3N9IGJ1aWxkIC0tZXhlY3V0YWJsZT0i
JXtfX3B5dGhvbjN9ICV7cHkzX3NoYmFuZ19vcHRzfSIgJXs/Kn0KICBzbGVlcCAxCn0KLTEz
OiBweTNfYnVpbGRfZWdnCSV7ZXhwYW5kOlwKICBDRkxBR1M9IiV7b3B0ZmxhZ3N9IiAle19f
cHl0aG9uM30gJXtweV9zZXR1cH0gJXs/cHlfc2V0dXBfYXJnc30gYmRpc3RfZWdnICV7Pyp9
CiAgc2xlZXAgMQp9Ci0xMzogcHkzX2J1aWxkX3doZWVsCSV7ZXhwYW5kOlwKICBDRkxBR1M9
IiV7b3B0ZmxhZ3N9IiAle19fcHl0aG9uM30gJXtweV9zZXR1cH0gJXs/cHlfc2V0dXBfYXJn
c30gYmRpc3Rfd2hlZWwgJXs/Kn0KICBzbGVlcCAxCn0KLTEzOiBweTNfZGlzdAkle2x1YToK
ICAgICAgICBhcmdzID0ge30KICAgICAgICBhcmcgPSAxCiAgICAgICAgd2hpbGUgKHRydWUp
IGRvCiAgICAgICAgICAgICAgICBuYW1lID0gcnBtLmV4cGFuZCgiJXs/IiAuLiBhcmcgLi4g
IjoleyIgLi4gYXJnIC4uICJ9fSIpOwogICAgICAgICAgICAgICAgaWYgKG5hbWUgPT0gbmls
IG9yIG5hbWUgPT0gJycpIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAg
ICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgYXJnc1thcmddID0gbmFtZQogICAg
ICAgICAgICAgICAgYXJnID0gYXJnICsgMQogICAgICAgIGVuZAogICAgICAgIGZvciBhcmcs
IG5hbWUgaW4gaXBhaXJzKGFyZ3MpIGRvCiAgICAgICAgICAgICAgICBjYW5vbmljYWwgPSBy
cG0uZXhwYW5kKCIlcHlfZGlzdF9uYW1lICIgLi4gbmFtZSk7CiAgICAgICAgICAgICAgICBw
cmludCgicHl0aG9uM2Rpc3QoIiAuLiBjYW5vbmljYWwgLi4gIikgIik7CiAgICAgICAgZW5k
Cn0KLTEzOiBweTNfaW5zdGFsbAkle2V4cGFuZDpcCiAgQ0ZMQUdTPSIle29wdGZsYWdzfSIg
JXtfX3B5dGhvbjN9ICV7cHlfc2V0dXB9ICV7P3B5X3NldHVwX2FyZ3N9IGluc3RhbGwgLU8x
IC0tc2tpcC1idWlsZCAtLXJvb3QgJXtidWlsZHJvb3R9ICV7Pyp9Cn0KLTEzOiBweTNfaW5z
dGFsbF9lZ2cJJXtleHBhbmQ6XAogIG1rZGlyIC1wICV7YnVpbGRyb290fSV7cHl0aG9uM19z
aXRlbGlifQogIGVhc3lfaW5zdGFsbC0le3B5dGhvbjNfdmVyc2lvbn0gLW0gLS1wcmVmaXgg
JXtidWlsZHJvb3R9JXtfcHJlZml4fSAtWiBkaXN0LyotcHkle3B5dGhvbjNfdmVyc2lvbn0u
ZWdnICV7Pyp9Cn0KLTEzOiBweTNfaW5zdGFsbF93aGVlbAkle2V4cGFuZDpcCiAgcGlwJXtw
eXRob24zX3ZlcnNpb259IGluc3RhbGwgLUkgZGlzdC8lezF9IC0tcm9vdCAle2J1aWxkcm9v
dH0gLS1zdHJpcC1maWxlLXByZWZpeCAle2J1aWxkcm9vdH0gLS1uby1kZXBzCn0KLTEzOiBw
eTNfc2hiYW5nX29wdHMJLXMKLTEzOiBweTNkaXIJJXtfYnVpbGRkaXJ9L3B5dGhvbjMtJXtu
YW1lfS0le3ZlcnNpb259LSV7cmVsZWFzZX0KLTEzOiBweV9hdXRvX2J5dGVfY29tcGlsZQkx
Ci0xMzogcHlfYnVpbGQJJXtleHBhbmQ6XAogIENGTEFHUz0iJXtvcHRmbGFnc30iICV7X19w
eXRob259ICV7cHlfc2V0dXB9ICV7P3B5X3NldHVwX2FyZ3N9IGJ1aWxkIC0tZXhlY3V0YWJs
ZT0iJXtfX3B5dGhvbjJ9ICV7cHlfc2hiYW5nX29wdHN9IiAlez8qfQogIHNsZWVwIDEKfQot
MTM6IHB5X2J1aWxkX2VnZwkle2V4cGFuZDpcCiAgQ0ZMQUdTPSIle29wdGZsYWdzfSIgJXtf
X3B5dGhvbn0gJXtweV9zZXR1cH0gJXs/cHlfc2V0dXBfYXJnc30gYmRpc3RfZWdnICV7Pyp9
CiAgc2xlZXAgMQp9Ci0xMzogcHlfYnVpbGRfd2hlZWwJJXtleHBhbmQ6XAogIENGTEFHUz0i
JXtvcHRmbGFnc30iICV7X19weXRob259ICV7cHlfc2V0dXB9ICV7P3B5X3NldHVwX2FyZ3N9
IGJkaXN0X3doZWVsICV7Pyp9CiAgc2xlZXAgMQp9Ci0xMzogcHlfYnl0ZV9jb21waWxlCQpw
eTJfYnl0ZV9jb21waWxlICgpIHsKICAgIHB5dGhvbl9iaW5hcnk9IiUxIgogICAgYnl0ZWNv
ZGVfY29tcGlsYXRpb25fcGF0aD0iJTIiCiAgICBmaW5kICRieXRlY29kZV9jb21waWxhdGlv
bl9wYXRoIC10eXBlIGYgLWEgLW5hbWUgIioucHkiIC1wcmludDAgfCB4YXJncyAtMCAkcHl0
aG9uX2JpbmFyeSAtYyAnaW1wb3J0IHB5X2NvbXBpbGUsIHN5czsgW3B5X2NvbXBpbGUuY29t
cGlsZShmLCBkZmlsZT1mLnBhcnRpdGlvbigiJFJQTV9CVUlMRF9ST09UIilbMl0pIGZvciBm
IGluIHN5cy5hcmd2WzE6XV0nIHx8IDoKICAgIGZpbmQgJGJ5dGVjb2RlX2NvbXBpbGF0aW9u
X3BhdGggLXR5cGUgZiAtYSAtbmFtZSAiKi5weSIgLXByaW50MCB8IHhhcmdzIC0wICRweXRo
b25fYmluYXJ5IC1PIC1jICdpbXBvcnQgcHlfY29tcGlsZSwgc3lzOyBbcHlfY29tcGlsZS5j
b21waWxlKGYsIGRmaWxlPWYucGFydGl0aW9uKCIkUlBNX0JVSUxEX1JPT1QiKVsyXSkgZm9y
IGYgaW4gc3lzLmFyZ3ZbMTpdXScgfHwgOgp9CgpweTNfYnl0ZV9jb21waWxlICgpIHsKICAg
IHB5dGhvbl9iaW5hcnk9IiUxIgogICAgYnl0ZWNvZGVfY29tcGlsYXRpb25fcGF0aD0iJTIi
CiAgICBmaW5kICRieXRlY29kZV9jb21waWxhdGlvbl9wYXRoIC10eXBlIGYgLWEgLW5hbWUg
IioucHkiIC1wcmludDAgfCB4YXJncyAtMCAkcHl0aG9uX2JpbmFyeSAtTyAtYyAnaW1wb3J0
IHB5X2NvbXBpbGUsIHN5czsgW3B5X2NvbXBpbGUuY29tcGlsZShmLCBkZmlsZT1mLnBhcnRp
dGlvbigiJFJQTV9CVUlMRF9ST09UIilbMl0sIG9wdGltaXplPW9wdCkgZm9yIG9wdCBpbiBy
YW5nZSgyKSBmb3IgZiBpbiBzeXMuYXJndlsxOl1dJyB8fCA6Cn0KCltbICIlMSIgPT0gKnB5
dGhvbjMqIF1dIHx8IHB5Ml9ieXRlX2NvbXBpbGUgIiUxIiAiJTIiICYmIHB5M19ieXRlX2Nv
bXBpbGUgIiUxIiAiJTIiIAole25pbH0KLTEzOiBweV9kaXN0X25hbWUJJXtsdWE6CiAgICAg
ICAgbmFtZSA9IHJwbS5leHBhbmQoIiV7PzE6JXsxfX0iKTsKICAgICAgICBjYW5vbmljYWwg
PSBzdHJpbmcuZ3N1YihzdHJpbmcubG93ZXIobmFtZSksICIlVysiLCAiLSIpOwogICAgICAg
IHByaW50KGNhbm9uaWNhbCk7Cn0KLTEzOiBweV9pbnN0YWxsCSV7ZXhwYW5kOlwKICBDRkxB
R1M9IiV7b3B0ZmxhZ3N9IiAle19fcHl0aG9ufSAle3B5X3NldHVwfSAlez9weV9zZXR1cF9h
cmdzfSBpbnN0YWxsIC1PMSAtLXNraXAtYnVpbGQgLS1yb290ICV7YnVpbGRyb290fSAlez8q
fQp9Ci0xMzogcHlfaW5zdGFsbF9lZ2cJJXtleHBhbmQ6XAogIG1rZGlyIC1wICV7YnVpbGRy
b290fSV7cHl0aG9uX3NpdGVsaWJ9CiAgZWFzeV9pbnN0YWxsIC1tIC0tcHJlZml4ICV7YnVp
bGRyb290fSV7X3ByZWZpeH0gLVogZGlzdC8qLXB5JXtweXRob25fdmVyc2lvbn0uZWdnICV7
Pyp9Cn0KLTEzOiBweV9pbnN0YWxsX3doZWVsCSV7ZXhwYW5kOlwKICBwaXAgaW5zdGFsbCAt
SSBkaXN0LyV7MX0gLS1yb290ICV7YnVpbGRyb290fSAtLXN0cmlwLWZpbGUtcHJlZml4ICV7
YnVpbGRyb290fSAtLW5vLWRlcHMKfQotMTM6IHB5X3NldHVwCXNldHVwLnB5Ci0xMzogcHlf
c2hiYW5nX29wdHMJLXMKLTEzOiBweXF0NQlweXRob24tcXQ1Ci0xMzogcHlxdDVfZXBvY2gJ
MAotMTM6IHB5cXQ1X2V2cgk1LjkuMS0yLmZjMjcKLTEzOiBweXF0NV9yZXF1aXJlcwkKUmVx
dWlyZXM6ICV7cHlxdDV9ID49ICV7cHlxdDVfZXZyfSAKJXtuaWx9Ci0xMzogcHlxdDVfdmVy
c2lvbgk1LjkuMQotMTM6IHB5dGhvbjNfcGtndmVyc2lvbgkzCi0xMzogcHl0aG9uM19zaXRl
YXJjaAklKCV7X19weXRob24zfSAtSWMgImZyb20gZGlzdHV0aWxzLnN5c2NvbmZpZyBpbXBv
cnQgZ2V0X3B5dGhvbl9saWI7IHByaW50KGdldF9weXRob25fbGliKDEpKSIpCi0xMzogcHl0
aG9uM19zaXRlbGliCSUoJXtfX3B5dGhvbjN9IC1JYyAiZnJvbSBkaXN0dXRpbHMuc3lzY29u
ZmlnIGltcG9ydCBnZXRfcHl0aG9uX2xpYjsgcHJpbnQoZ2V0X3B5dGhvbl9saWIoKSkiKQot
MTM6IHB5dGhvbjNfdmVyc2lvbgklKCV7X19weXRob24zfSAtSWMgImltcG9ydCBzeXM7IHN5
cy5zdGRvdXQud3JpdGUoc3lzLnZlcnNpb25bOjNdKSIpCi0xMzogcHl0aG9uM192ZXJzaW9u
X25vZG90cwklKCV7X19weXRob24zfSAtSWMgImltcG9ydCBzeXM7IHN5cy5zdGRvdXQud3Jp
dGUoc3lzLnZlcnNpb25bOjNdLnJlcGxhY2UoJy4nLCcnKSkiKQotMTM6IHB5dGhvbl9lbmFi
bGVfZGVwZW5kZW5jeV9nZW5lcmF0b3IJCiVnbG9iYWwgX19weXRob25fcmVxdWlyZXMgJXtf
cnBtY29uZmlnZGlyfS9weXRob25kaXN0ZGVwcy5weSAtLXJlcXVpcmVzIAole25pbH0KLTEz
OiBweXRob25fcHJvdmlkZQkle2x1YToKICBmdW5jdGlvbiBzdHJpbmcuc3RhcnRzKFN0cmlu
ZyxTdGFydCkKICAgIHJldHVybiBzdHJpbmcuc3ViKFN0cmluZywxLHN0cmluZy5sZW4oU3Rh
cnQpKT09U3RhcnQKICBlbmQKICBwYWNrYWdlID0gcnBtLmV4cGFuZCgiJXs/MX0iKQogIHZy
ID0gcnBtLmV4cGFuZCgiJXs/ZXBvY2g6JXtlcG9jaH06fSV7dmVyc2lvbn0tJXtyZWxlYXNl
fSIpCiAgaWYgKHN0cmluZy5zdGFydHMocGFja2FnZSwgInB5dGhvbjItIikpIHRoZW4KICAg
IGlmIChycG0uZXhwYW5kKCIlez9idWlsZGFyY2h9Iikgfj0gIm5vYXJjaCIpIHRoZW4KICAg
ICAgc3RyID0gIlByb3ZpZGVzOiBweXRob24tIiAuLiBzdHJpbmcuc3ViKHBhY2thZ2UsOSxz
dHJpbmcubGVuKHBhY2thZ2UpKSAuLiAiJXs/X2lzYX0gPSAiIC4uIHZyCiAgICAgIHByaW50
KHJwbS5leHBhbmQoc3RyKSkKICAgIGVuZAogICAgcHJpbnQoIlxuUHJvdmlkZXM6IHB5dGhv
bi0iKQogICAgcHJpbnQoc3RyaW5nLnN1YihwYWNrYWdlLDksc3RyaW5nLmxlbihwYWNrYWdl
KSkpCiAgICBwcmludCgiID0gIikKICAgIHByaW50KHZyKQogICAgLS1PYnNvbGV0aW5nIHRo
ZSBwcmV2aW91cyBkZWZhdWx0IHB5dGhvbiBwYWNrYWdlCiAgICBwcmludCgiXG5PYnNvbGV0
ZXM6IHB5dGhvbi0iKQogICAgcHJpbnQoc3RyaW5nLnN1YihwYWNrYWdlLDksc3RyaW5nLmxl
bihwYWNrYWdlKSkpCiAgICBwcmludCgiIDwgIikKICAgIHByaW50KHZyKQogIGVsc2VpZiAo
c3RyaW5nLnN0YXJ0cyhwYWNrYWdlLCAicHl0aG9uIiAuLiBycG0uZXhwYW5kKCIle3B5dGhv
bjNfcGtndmVyc2lvbn0iKSAuLiAiLSIpKSB0aGVuCiAgICAtLU5vIHVudmVyc2lvbmVkIHBy
b3ZpZGVzIGFzIHB5dGhvbjMgaXMgbm90IGRlZmF1bHQKICBlbHNlaWYgKHJwbS5leHBhbmQo
IiV7P3B5dGhvbjNfb3RoZXJfcGtndmVyc2lvbn0iKSB+PSAiIiBhbmQgc3RyaW5nLnN0YXJ0
cyhwYWNrYWdlLCAicHl0aG9uIiAuLiBycG0uZXhwYW5kKCIle3B5dGhvbjNfb3RoZXJfcGtn
dmVyc2lvbn0iKSAuLiAiLSIpKSB0aGVuCiAgICAtLU5vIHVudmVyc2lvbmVkIHByb3ZpZGVz
IGFzIHB5dGhvbjNfb3RoZXIgaXMgbm90IGRlZmF1bHQKICBlbHNlaWYgKHN0cmluZy5zdGFy
dHMocGFja2FnZSwgInB5cHktIikpIHRoZW4KICAgIC0tTm8gdW52ZXJzaW9uZWQgcHJvdmlk
ZXMgYXMgcHlweSBpcyBub3QgZGVmYXVsdAogIGVsc2VpZiAoc3RyaW5nLnN0YXJ0cyhwYWNr
YWdlLCAicHlweTMtIikpIHRoZW4KICAgIC0tTm8gdW52ZXJzaW9uZWQgcHJvdmlkZXMgYXMg
cHlweSBpcyBub3QgZGVmYXVsdAogIGVsc2VpZiAoc3RyaW5nLnN0YXJ0cyhwYWNrYWdlLCAi
cHl0aG9uLSIpKSB0aGVuCiAgICAtLVByb3ZpZGluZyB0aGUgY3VycmVudCBkZWZhdWx0IHB5
dGhvbgogICAgcHJpbnQoIlByb3ZpZGVzOiBweXRob24yLSIpCiAgICBwcmludChzdHJpbmcu
c3ViKHBhY2thZ2UsOCxzdHJpbmcubGVuKHBhY2thZ2UpKSkKICAgIHByaW50KCIgPSAiKQog
ICAgcHJpbnQodnIpCiAgZWxzZQogICAgcHJpbnQoIiVweXRob25fcHJvdmlkZTogRVJST1I6
ICIpCiAgICBwcmludChwYWNrYWdlKQogICAgcHJpbnQoIiBub3QgcmVjb2duaXplZC4iKQog
IGVuZAp9Ci0xMzogcHl0aG9uX3NpdGVhcmNoCSUoJXtfX3B5dGhvbn0gLUVzICV7X3JwbWNv
bmZpZ2Rpcn0vcHl0aG9uLW1hY3JvLWhlbHBlciBzaXRlYXJjaCkKLTEzOiBweXRob25fc2l0
ZWxpYgklKCV7X19weXRob259IC1FcyAle19ycG1jb25maWdkaXJ9L3B5dGhvbi1tYWNyby1o
ZWxwZXIgc2l0ZWxpYikKLTEzOiBweXRob25fdmVyc2lvbgklKCV7X19weXRob259IC1FcyAl
e19ycG1jb25maWdkaXJ9L3B5dGhvbi1tYWNyby1oZWxwZXIgdmVyc2lvbikKLTEzOiBxdDVf
cXR3ZWJlbmdpbmVfYXJjaGVzCSV7aXg4Nn0geDg2XzY0ICV7YXJtfSBhYXJjaDY0IG1pcHMg
bWlwc2VsIG1pcHM2NGVsCi0xMzogcmVxdWlyZXNfZXEJJShMQ19BTEw9IkMiIGVjaG8gJyUq
JyB8IHhhcmdzIC1yIHJwbSAtcSAtLXFmICdSZXF1aXJlczogJSV7bmFtZX0gPSAlJXtlcG9j
aH06JSV7dmVyc2lvbn1cbicgfCBzZWQgLWUgJ3MvIChub25lKTovIC8nIC1lICdzLyAwOi8g
LycgfCBncmVwIC12ICJpcyBub3QiKQotMTM6IHJwbW1hY3JvZGlyCS91c3IvbGliL3JwbS9t
YWNyb3MuZAotMTM6IHJ1c3RfYXJjaGVzCXg4Nl82NCBpNjg2IGFybXY3aGwgYWFyY2g2NCBw
cGM2NCBwcGM2NGxlIHMzOTB4Ci0xMzogc2VsaW51eF9tb2R1bGVzX2luc3RhbGwoInM6cDoi
KQkKLiAvZXRjL3NlbGludXgvY29uZmlnIApfcG9saWN5dHlwZT0ley1zKn0gCmlmIFsgLXog
IiR7X3BvbGljeXR5cGV9IiBdOyB0aGVuIAogIF9wb2xpY3l0eXBlPSJ0YXJnZXRlZCIgCmZp
IAole19zYmluZGlyfS9zZW1vZHVsZSAtbiAtcyAke19wb2xpY3l0eXBlfSAtWCAleyEtcDoy
MDB9JXstcCp9IC1pICUqIAppZiAle19zYmluZGlyfS9zZWxpbnV4ZW5hYmxlZCAmJiBbICIk
e1NFTElOVVhUWVBFfSIgPSAiJHtfcG9saWN5dHlwZX0iIF07IHRoZW4gCiAgJXtfc2JpbmRp
cn0vbG9hZF9wb2xpY3kgCmZpIAole25pbH0KLTEzOiBzZWxpbnV4X21vZHVsZXNfdW5pbnN0
YWxsKCJzOnA6IikJCi4gL2V0Yy9zZWxpbnV4L2NvbmZpZyAKX3BvbGljeXR5cGU9JXstcyp9
IAppZiBbIC16ICIke19wb2xpY3l0eXBlfSIgXTsgdGhlbiAKICBfcG9saWN5dHlwZT0idGFy
Z2V0ZWQiIApmaSAKaWYgWyAkMSAtZXEgMCBdOyB0aGVuIAogICV7X3NiaW5kaXJ9L3NlbW9k
dWxlIC1uIC1YICV7IS1wOjIwMH0ley1wKn0gLXIgJSogJj4gL2Rldi9udWxsIHx8IDogCiAg
aWYgJXtfc2JpbmRpcn0vc2VsaW51eGVuYWJsZWQgJiYgWyAiJHtTRUxJTlVYVFlQRX0iID0g
IiR7X3BvbGljeXR5cGV9IiBdOyB0aGVuIAogICAgJXtfc2JpbmRpcn0vbG9hZF9wb2xpY3kg
CiAgZmkgCmZpIAole25pbH0KLTEzOiBzZWxpbnV4X3JlbGFiZWxfcG9zdCgiczoiKQkKLiAv
ZXRjL3NlbGludXgvY29uZmlnIApfcG9saWN5dHlwZT0ley1zKn0gCmlmIFsgLXogIiR7X3Bv
bGljeXR5cGV9IiBdOyB0aGVuIAogIF9wb2xpY3l0eXBlPSJ0YXJnZXRlZCIgCmZpIAppZiAl
e19zYmluZGlyfS9zZWxpbnV4ZW5hYmxlZCAmJiBbICIke1NFTElOVVhUWVBFfSIgPSAiJHtf
cG9saWN5dHlwZX0iIF07IHRoZW4gCiAgIGlmIFsgLWYgJXtfZmlsZV9jb250ZXh0X2ZpbGVf
cHJlfSBdOyB0aGVuIAogICAgICV7X3NiaW5kaXJ9L2ZpeGZpbGVzIC1DICV7X2ZpbGVfY29u
dGV4dF9maWxlX3ByZX0gcmVzdG9yZSAKICAgICBybSAtZiAle19maWxlX2NvbnRleHRfZmls
ZV9wcmV9IAogICBmaSAKZmkgCiV7bmlsfQotMTM6IHNlbGludXhfcmVsYWJlbF9wcmUoInM6
IikJCi4gL2V0Yy9zZWxpbnV4L2NvbmZpZyAKX3BvbGljeXR5cGU9JXstcyp9IAppZiBbIC16
ICIke19wb2xpY3l0eXBlfSIgXTsgdGhlbiAKICBfcG9saWN5dHlwZT0idGFyZ2V0ZWQiIApm
aSAKaWYgJXtfc2JpbmRpcn0vc2VsaW51eGVuYWJsZWQgJiYgWyAiJHtTRUxJTlVYVFlQRX0i
ID0gIiR7X3BvbGljeXR5cGV9IiBdOyB0aGVuIAogIFsgLWYgJXtfZmlsZV9jb250ZXh0X2Zp
bGVfcHJlfSBdIHx8IGNwIC1mICV7X2ZpbGVfY29udGV4dF9maWxlfSAle19maWxlX2NvbnRl
eHRfZmlsZV9wcmV9IApmaSAKJXtuaWx9Ci0xMzogc2VsaW51eF9yZXF1aXJlcwkKUmVxdWly
ZXM6IHNlbGludXgtcG9saWN5ID49ICV7X3NlbGludXhfcG9saWN5X3ZlcnNpb259IApCdWls
ZFJlcXVpcmVzOiBnaXQgCkJ1aWxkUmVxdWlyZXM6IHBrZ2NvbmZpZyhzeXN0ZW1kKSAKQnVp
bGRSZXF1aXJlczogc2VsaW51eC1wb2xpY3kgCkJ1aWxkUmVxdWlyZXM6IHNlbGludXgtcG9s
aWN5LWRldmVsIApSZXF1aXJlcyhwb3N0KTogc2VsaW51eC1wb2xpY3ktYmFzZSA+PSAle19z
ZWxpbnV4X3BvbGljeV92ZXJzaW9ufSAKUmVxdWlyZXMocG9zdCk6IGxpYnNlbGludXgtdXRp
bHMgClJlcXVpcmVzKHBvc3QpOiBwb2xpY3ljb3JldXRpbHMgCiVpZiAwJXs/ZmVkb3JhfSAK
UmVxdWlyZXMocG9zdCk6IHBvbGljeWNvcmV1dGlscy1weXRob24tdXRpbHMgCiVlbHNlIApS
ZXF1aXJlcyhwb3N0KTogcG9saWN5Y29yZXV0aWxzLXB5dGhvbiAKJWVuZGlmIAole25pbH0K
LTEzOiBzZWxpbnV4X3NldF9ib29sZWFucygiczoiKQkKLiAvZXRjL3NlbGludXgvY29uZmln
IApfcG9saWN5dHlwZT0ley1zKn0gCmlmIFsgLXogIiR7X3BvbGljeXR5cGV9IiBdOyB0aGVu
IAogIF9wb2xpY3l0eXBlPSJ0YXJnZXRlZCIgCmZpIApMT0NBTF9NT0RJRklDQVRJT05TPSQo
c2VtYW5hZ2UgYm9vbGVhbiAtRSkgCmlmIFsgISAtZiAlX2ZpbGVfY3VzdG9tX2RlZmluZWRf
Ym9vbGVhbnMgXTsgdGhlbiAKICAgIC9iaW4vZWNobyAiIyBUaGlzIGZpbGUgaXMgbWFuYWdl
ZCBieSBtYWNyb3Muc2VsaW51eC1wb2xpY3kuIERvIG5vdCBlZGl0IGl0IG1hbnVhbGx5IiA+
ICVfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFucyAKZmkgCnNlbWFuYWdlX2ltcG9ydD0n
JyAKZm9yIGJvb2xlYW4gaW4gJSo7IGRvIAogICAgYm9vbGVhbl9uYW1lPSR7Ym9vbGVhbiU9
Kn0gCiAgICBib29sZWFuX3ZhbHVlPSR7Ym9vbGVhbiMqPX0gCiAgICBib29sZWFuX2xvY2Fs
X3N0cmluZz0kKGdyZXAgIiRib29sZWFuX25hbWUkIiA8PDwkTE9DQUxfTU9ESUZJQ0FUSU9O
UykgCiAgICBpZiBbIC1uICIkYm9vbGVhbl9sb2NhbF9zdHJpbmciIF07IHRoZW4gCiAgICAg
ICAgc2VtYW5hZ2VfaW1wb3J0PSIke3NlbWFuYWdlX2ltcG9ydH1cbmJvb2xlYW4gLW0gLSRi
b29sZWFuX3ZhbHVlICRib29sZWFuX25hbWUiIAogICAgICAgIGJvb2xlYW5fY3VzdG9taXpl
ZF9zdHJpbmc9JChncmVwICIkYm9vbGVhbl9uYW1lJCIgJV9maWxlX2N1c3RvbV9kZWZpbmVk
X2Jvb2xlYW5zIHwgdGFpbCAtbiAxKSAKICAgICAgICBpZiBbIC1uICIkYm9vbGVhbl9jdXN0
b21pemVkX3N0cmluZyIgXTsgdGhlbiAKICAgICAgICAgICAgL2Jpbi9lY2hvICRib29sZWFu
X2N1c3RvbWl6ZWRfc3RyaW5nID4+ICVfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFucyAK
ICAgICAgICBlbHNlIAogICAgICAgICAgICAvYmluL2VjaG8gJGJvb2xlYW5fbG9jYWxfc3Ry
aW5nID4+ICVfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFucyAKICAgICAgICBmaSAKICAg
IGVsc2UgCiAgICAgICAgc2VtYW5hZ2VfaW1wb3J0PSIke3NlbWFuYWdlX2ltcG9ydH1cbmJv
b2xlYW4gLW0gLSRib29sZWFuX3ZhbHVlICRib29sZWFuX25hbWUiIAogICAgICAgIGJvb2xl
YW5fZGVmYXVsdF92YWx1ZT0kKHNlbWFuYWdlIGJvb2xlYW4gLWwgfCBncmVwICJeJGJvb2xl
YW5fbmFtZSAiIHwgc2VkICdzL1teKF0qKFteLF0qLCAqXChvblx8b2ZmXCkuKi9cMS8nKSAK
ICAgICAgICAvYmluL2VjaG8gImJvb2xlYW4gLW0gLS0kYm9vbGVhbl9kZWZhdWx0X3ZhbHVl
ICRib29sZWFuX25hbWUiID4+ICVfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFucyAKICAg
IGZpIApkb25lOyAKaWYgJXtfc2JpbmRpcn0vc2VsaW51eGVuYWJsZWQgJiYgWyAiJHtTRUxJ
TlVYVFlQRX0iID0gIiR7X3BvbGljeXR5cGV9IiBdOyB0aGVuIAogICAgL2Jpbi9lY2hvIC1l
ICIkc2VtYW5hZ2VfaW1wb3J0IiB8ICV7X3NiaW5kaXJ9L3NlbWFuYWdlIGltcG9ydCAtUyAi
JHtfcG9saWN5dHlwZX0iIAplbHNlIAogICAgL2Jpbi9lY2hvIC1lICIkc2VtYW5hZ2VfaW1w
b3J0IiB8ICV7X3NiaW5kaXJ9L3NlbWFuYWdlIGltcG9ydCAtUyAiJHtfcG9saWN5dHlwZX0g
LU4iIApmaSAKJXtuaWx9Ci0xMzogc2VsaW51eF91bnNldF9ib29sZWFucygiczoiKQkKLiAv
ZXRjL3NlbGludXgvY29uZmlnIApfcG9saWN5dHlwZT0ley1zKn0gCmlmIFsgLXogIiR7X3Bv
bGljeXR5cGV9IiBdOyB0aGVuIAogIF9wb2xpY3l0eXBlPSJ0YXJnZXRlZCIgCmZpIApzZW1h
bmFnZV9pbXBvcnQ9JycgCmZvciBib29sZWFuIGluICUqOyBkbyAKICAgIGJvb2xlYW5fbmFt
ZT0ke2Jvb2xlYW4lPSp9IAogICAgYm9vbGVhbl9jdXN0b21pemVkX3N0cmluZz0kKGdyZXAg
IiRib29sZWFuX25hbWUkIiAlX2ZpbGVfY3VzdG9tX2RlZmluZWRfYm9vbGVhbnMgfCB0YWls
IC1uIDEpIAogICAgaWYgWyAtbiAiJGJvb2xlYW5fY3VzdG9taXplZF9zdHJpbmciIF07IHRo
ZW4gCiAgICAgICAgYXdrICIvJGJvb2xlYW5fY3VzdG9taXplZF9zdHJpbmcvICYmICFme2Y9
MTsgbmV4dH0gMSIgJV9maWxlX2N1c3RvbV9kZWZpbmVkX2Jvb2xlYW5zID4gJV9maWxlX2N1
c3RvbV9kZWZpbmVkX2Jvb2xlYW5zX3RtcCAmJiBtdiAlX2ZpbGVfY3VzdG9tX2RlZmluZWRf
Ym9vbGVhbnNfdG1wICVfZmlsZV9jdXN0b21fZGVmaW5lZF9ib29sZWFucyAKICAgICAgICBp
ZiAhIGdyZXAgLXEgIiRib29sZWFuX25hbWUkIiAlX2ZpbGVfY3VzdG9tX2RlZmluZWRfYm9v
bGVhbnM7IHRoZW4gCiAgICAgICAgICAgIHNlbWFuYWdlX2ltcG9ydD0iJHtzZW1hbmFnZV9p
bXBvcnR9XG4ke2Jvb2xlYW5fY3VzdG9taXplZF9zdHJpbmd9IiAKICAgICAgICBmaSAKICAg
IGZpIApkb25lOyAKaWYgJXtfc2JpbmRpcn0vc2VsaW51eGVuYWJsZWQgJiYgWyAiJHtTRUxJ
TlVYVFlQRX0iID0gIiR7X3BvbGljeXR5cGV9IiBdOyB0aGVuIAogICAgL2Jpbi9lY2hvIC1l
ICIkc2VtYW5hZ2VfaW1wb3J0IiB8ICV7X3NiaW5kaXJ9L3NlbWFuYWdlIGltcG9ydCAtUyAi
JHtfcG9saWN5dHlwZX0iIAplbHNlIAogICAgL2Jpbi9lY2hvIC1lICIkc2VtYW5hZ2VfaW1w
b3J0IiB8ICV7X3NiaW5kaXJ9L3NlbWFuYWdlIGltcG9ydCAtUyAiJHtfcG9saWN5dHlwZX0g
LU4iIApmaSAKJXtuaWx9Ci0xMzogc2V0X2J1aWxkX2ZsYWdzCQogIENGTEFHUz0iJHtDRkxB
R1M6LSV7YnVpbGRfY2ZsYWdzfX0iIDsgZXhwb3J0IENGTEFHUyA7IAogIENYWEZMQUdTPSIk
e0NYWEZMQUdTOi0le2J1aWxkX2N4eGZsYWdzfX0iIDsgZXhwb3J0IENYWEZMQUdTIDsgCiAg
RkZMQUdTPSIke0ZGTEFHUzotJXtidWlsZF9mZmxhZ3N9fSIgOyBleHBvcnQgRkZMQUdTIDsg
CiAgRkNGTEFHUz0iJHtGQ0ZMQUdTOi0le2J1aWxkX2ZmbGFnc319IiA7IGV4cG9ydCBGQ0ZM
QUdTIDsgCiAgTERGTEFHUz0iJHtMREZMQUdTOi0le2J1aWxkX2xkZmxhZ3N9fSIgOyBleHBv
cnQgTERGTEFHUwotMTM6IHNvdXJjZV9kYXRlX2Vwb2NoX2Zyb21fY2hhbmdlbG9nCTAKLTEz
OiBzb3VyY2VzCSV7bHVhOiBmb3IgaSwgcyBpbiBpcGFpcnMoc291cmNlcykgZG8gcHJpbnQo
cy4uIiAiKSBlbmR9Ci0xMzogc3BhcmMJc3BhcmMgc3BhcmN2OCBzcGFyY3Y5IHNwYXJjdjl2
IHNwYXJjNjQgc3BhcmM2NHYKLTEzOiBzeXNjdGxfYXBwbHkJCi91c3IvbGliL3N5c3RlbWQv
c3lzdGVtZC1zeXNjdGwgJXs/Kn0gPi9kZXYvbnVsbCAyPiYxIHx8IDogCiV7bmlsfQotMTM6
IHN5c3RlbV9weXRob25fYWJpCSV7ZXhwYW5kOiB9Ci0xMzogc3lzdGVtZF9vcmRlcmluZwkK
T3JkZXJXaXRoUmVxdWlyZXMocG9zdCk6IHN5c3RlbWQgCk9yZGVyV2l0aFJlcXVpcmVzKHBy
ZXVuKTogc3lzdGVtZCAKT3JkZXJXaXRoUmVxdWlyZXMocG9zdHVuKTogc3lzdGVtZCAKJXtu
aWx9Ci0xMzogc3lzdGVtZF9wb3N0CQppZiBbICQxIC1lcSAxIF0gOyB0aGVuIAogICAgICAg
ICMgSW5pdGlhbCBpbnN0YWxsYXRpb24gCiAgICAgICAgc3lzdGVtY3RsIC0tbm8tcmVsb2Fk
IHByZXNldCAlez8qfSA+L2Rldi9udWxsIDI+JjEgfHwgOiAKZmkgCiV7bmlsfQotMTM6IHN5
c3RlbWRfcG9zdHVuCSV7bmlsfQotMTM6IHN5c3RlbWRfcG9zdHVuX3dpdGhfcmVzdGFydAkK
aWYgWyAkMSAtZ2UgMSBdIDsgdGhlbiAKICAgICAgICAjIFBhY2thZ2UgdXBncmFkZSwgbm90
IHVuaW5zdGFsbCAKICAgICAgICBzeXN0ZW1jdGwgdHJ5LXJlc3RhcnQgJXs/Kn0gPi9kZXYv
bnVsbCAyPiYxIHx8IDogCmZpIAole25pbH0KLTEzOiBzeXN0ZW1kX3ByZXVuCQppZiBbICQx
IC1lcSAwIF0gOyB0aGVuIAogICAgICAgICMgUGFja2FnZSByZW1vdmFsLCBub3QgdXBncmFk
ZSAKICAgICAgICBzeXN0ZW1jdGwgLS1uby1yZWxvYWQgZGlzYWJsZSAtLW5vdyAlez8qfSA+
IC9kZXYvbnVsbCAyPiYxIHx8IDogCmZpIAole25pbH0KLTEzOiBzeXN0ZW1kX3JlcXVpcmVz
CQpSZXF1aXJlcyhwb3N0KTogc3lzdGVtZCAKUmVxdWlyZXMocHJldW4pOiBzeXN0ZW1kIApS
ZXF1aXJlcyhwb3N0dW4pOiBzeXN0ZW1kIAole25pbH0KLTEzOiBzeXN0ZW1kX3VzZXJfcG9z
dAkle2V4cGFuZDolc3lzdGVtZF9wb3N0IFwtLXVzZXIgXC0tZ2xvYmFsICUlez8qfX0KLTEz
OiBzeXN0ZW1kX3VzZXJfcG9zdHVuCSV7bmlsfQotMTM6IHN5c3RlbWRfdXNlcl9wb3N0dW5f
d2l0aF9yZXN0YXJ0CSV7bmlsfQotMTM6IHN5c3RlbWRfdXNlcl9wcmV1bgkKaWYgWyAkMSAt
ZXEgMCBdIDsgdGhlbiAKICAgICAgICAjIFBhY2thZ2UgcmVtb3ZhbCwgbm90IHVwZ3JhZGUg
CiAgICAgICAgc3lzdGVtY3RsIC0tbm8tcmVsb2FkIC0tdXNlciAtLWdsb2JhbCBkaXNhYmxl
ICV7Pyp9ID4gL2Rldi9udWxsIDI+JjEgfHwgOiAKZmkgCiV7bmlsfQotMTM6IHN5c3VzZXJz
X2NyZWF0ZQkKc3lzdGVtZC1zeXN1c2VycyAlez8qfSA+L2Rldi9udWxsIDI+JjEgfHwgOiAK
JXtuaWx9Ci0xMzogc3lzdXNlcnNfY3JlYXRlX2lubGluZQkKZWNobyAlez8qfSB8IHN5c3Rl
bWQtc3lzdXNlcnMgLSA+L2Rldi9udWxsIDI+JjEgfHwgOiAKJXtuaWx9Ci0xMzogdGVzdHNf
cmVxCSV7ZXhwYW5kOgpCdWlsZFJlcXVpcmVzOiAlKgolJXRlc3RzX3N1YnBhY2thZ2VfcmVx
dWlyZXMgJSoKfQotMTM6IHRlc3RzX3N1YnBhY2thZ2VfcHJvdmlkZXMJJXtleHBhbmQ6IAol
Z2xvYmFsIF9fdGVzdHNfc3BrZ19wcm92ICV7P19fdGVzdHNfc3BrZ19wcm92fSAlKiAKfQot
MTM6IHRlc3RzX3N1YnBhY2thZ2VfcmVxdWlyZXMJJXtleHBhbmQ6IAolZ2xvYmFsIF9fdGVz
dHNfc3BrZ19yZXEgJXs/X190ZXN0c19zcGtnX3JlcX0gJSogCn0KLTEzOiB0ZXhsaXZlX3Bv
c3QJCm1rZGlyIC1wIC92YXIvcnVuL3RleGxpdmUgCnRvdWNoIC92YXIvcnVuL3RleGxpdmUv
cnVuLXRleGhhc2ggCnRvdWNoIC92YXIvcnVuL3RleGxpdmUvcnVuLW10eHJ1biAKOgotMTM6
IHRleGxpdmVfcG9zdHRyYW5zCQppZiBbIC1lIC92YXIvcnVuL3RleGxpdmUvcnVuLXRleGhh
c2ggXSAmJiBbIC1lICV7X2JpbmRpcn0vdGV4aGFzaCBdOyB0aGVuICV7X2JpbmRpcn0vdGV4
aGFzaCAyPiAvZGV2L251bGw7IHJtIC1mIC92YXIvcnVuL3RleGxpdmUvcnVuLXRleGhhc2g7
IGZpIAppZiBbIC1lIC92YXIvcnVuL3RleGxpdmUvcnVuLW10eHJ1biBdOyB0aGVuIGV4cG9y
dCBURVhNRj0vdXNyL3NoYXJlL3RleGxpdmUvdGV4bWYtZGlzdDsgZXhwb3J0IFRFWE1GQ05G
PS91c3Ivc2hhcmUvdGV4bGl2ZS90ZXhtZi1kaXN0L3dlYjJjOyBleHBvcnQgVEVYTUZDQUNI
RT0vdmFyL2xpYi90ZXhtZjsgJXtfYmluZGlyfS9tdHhydW4gLS1nZW5lcmF0ZSAmPiAvZGV2
L251bGw7IHJtIC1mIC92YXIvcnVuL3RleGxpdmUvcnVuLW10eHJ1bjsgZmkgCjoKLTEzOiB0
ZXhsaXZlX3Bvc3R1bgkKaWYgWyAkMSA9PSAxIF07IHRoZW4gCiAgbWtkaXIgLXAgL3Zhci9y
dW4vdGV4bGl2ZSAKICB0b3VjaCAvdmFyL3J1bi9ydW4tdGV4aGFzaCAKZWxzZSAKICAle19i
aW5kaXJ9L3RleGhhc2ggMj4gL2Rldi9udWxsIApmaSAKOgotMTM6IHRtcGZpbGVzX2NyZWF0
ZQkKc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZSAlez8qfSA+L2Rldi9udWxsIDI+JjEgfHwg
OiAKJXtuaWx9Ci0xMzogdWRldl9od2RiX3VwZGF0ZQkKc3lzdGVtZC1od2RiIHVwZGF0ZSA+
L2Rldi9udWxsIDI+JjEgfHwgOiAKJXtuaWx9Ci0xMzogdWRldl9ydWxlc191cGRhdGUJCnVk
ZXZhZG0gY29udHJvbCAtLXJlbG9hZCA+L2Rldi9udWxsIDI+JjEgfHwgOiAKJXtuaWx9Ci0x
MzogdW5kZWZpbmVkCSV7ZXhwYW5kOiUlez8lezF9OjB9JSV7IT8lezF9OjF9fQotMTM6IHZh
bGdyaW5kX2FyY2hlcwkle2l4ODZ9IHg4Nl82NCBwcGMgcHBjNjQgcHBjNjRsZSBzMzkweCBh
cm12N2hsIGFhcmNoNjQKLTEzOiB2aW1maWxlc19yb290CSV7X2RhdGFkaXJ9L3ZpbS92aW1m
aWxlcwotMTM6IHdpdGgJJXtleHBhbmQ6JSV7P3dpdGhfJXsxfToxfSUleyE/d2l0aF8lezF9
OjB9fQotMTM6IHdpdGhvdXQJJXtleHBhbmQ6JSV7P3dpdGhfJXsxfTowfSUleyE/d2l0aF8l
ezF9OjF9fQo9PT09PT09PT09PT09PT09PT09PT09PT0gYWN0aXZlIDYxMiBlbXB0eSAwCg==
--------------6179D65113E567DFC4D2C5FC--