<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>77921</bug_id>
          
          <creation_ts>2005-01-13 18:34 0000</creation_ts>
          <short_desc>libtool unable to infer tagged configuration</short_desc>
          <delta_ts>2005-02-15 04:00:16 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Core system</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>NEEDINFO</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>douglas.hoffman@gmail.com</reporter>
          <assigned_to>base-system@gentoo.org</assigned_to>
          <cc>jedioetzi@infinito.it</cc>
    
    <cc>m.debruijne@matrict.nl</cc>
    
    <cc>mr_bones_@gentoo.org</cc>
    
    <cc>sascha-gentoo-bugzilla@silbe.org</cc>

      

      
          <long_desc isprivate="0">
            <who>douglas.hoffman@gmail.com</who>
            <bug_when>2005-01-13 18:34:36 0000</bug_when>
            <thetext>libtool returns an error when compiling ttmkfdir.  Browsing the forums, it looks like serveral ebuilds have this &quot;unable to infer tagged configuration&quot; with libtool.  oddly, &apos;emerge libtool&apos; solves the libtool problem.

Why is libtool not generated in the bootstrap or part of the dependancy tree for ttmkfdir ebuilds?


Reproducible: Always
Steps to Reproduce:
01. explode stage1-x86-2004.3.tar.bz2
02. bind proc
03. chroot into exploded dir
04. env-update
05. source /etc/profile
06. emerge sync
07. tweek my make.conf
08. emerge --nodeps linux26-headers
10. cd /usr/portage
11. scripts/bootstrap.sh
12. emerge system
13. emerge grub syslog-ng reiserfsprogs lvm2 vixie-cron iptables traceroute ethereal aide apg bind-tools smartmontools pciutils dosfstools ddclient at ntp screen vim keychain gallery kde mozilla-firefox mozilla-thunderbird gvim gimp dia gaim
Actual Results:  
This is within the ttmkfdir ebuild which is a dependancy for ethereal

libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag&apos; 

Expected Results:  

should have compiled for a really long time.

If I &apos;emerge libtool&apos; prior to step 13 above, the compile works without a hitch!

I&apos;ve looked a lot in bugzilla, and found nothing that comes close to this.. 
Others have found this problem and same solution in the forums as well

http://forums.gentoo.org/viewtopic.php?t=267413&amp;highlight=libtool</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>douglas.hoffman@gmail.com</who>
            <bug_when>2005-01-13 18:36:49 0000</bug_when>
            <thetext>woops, forgot the emerge info dump:

Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r4 i686)
=================================================================
System uname: 2.6.10-gentoo-r4 i686
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CFLAGS=&quot;-O3 -march=pentium4 -pipe -fomit-frame-pointer&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
COMPILER=&quot;&quot;
CONFIG_PROTECT=&quot;/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-O3 -march=pentium4 -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoaddcvs autoconfig buildpkg ccache distlocks sandbox sfperms&quot;
GENTOO_MIRRORS=&quot;http://mirror.ce.rit.edu/gentoo http://128.213.5.34/gentoo/ http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;&quot;
SYNC=&quot;rsync://rsync.namerica.gentoo.org/gentoo-portage&quot;
USE=&quot;X alsa apm avi berkdb cdr crypt cups divx4linux encode esd fbcon gif gpm gtk gtk2 icc imlib jpeg kde libg++ libwww mad mbox mikmod mmx mmx2 motif mpeg mysql ncurses nptl opengl pam perl png python quicktime readline real samba sdl slang spell sse sse2 ssl tcpd tetex threads truetype usb x86 xml2 xmms xv zlib&quot;
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>douglas.hoffman@gmail.com</who>
            <bug_when>2005-01-13 18:45:33 0000</bug_when>
            <thetext>I was incorrect, emerge system does build libtool after the boot strap (i.e. inside of step 12)...

1105664034:  &gt;&gt;&gt; emerge (41 of 62) sys-devel/libtool-1.5.2-r7 to /
1105664034:  === (41 of 62) Cleaning (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105664034:  === (41 of 62) Compiling/Merging (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105664118:  === (41 of 62) Post-Build Cleaning (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105664119:  &gt;&gt;&gt; AUTOCLEAN: sys-devel/libtool
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>douglas.hoffman@gmail.com</who>
            <bug_when>2005-01-13 18:49:41 0000</bug_when>
            <thetext>this is a portion of the emerge.log that illustrates the problem.  you can see where it terminates the first time, I then emerge libtool, then continue emerging the 122 ebuilds...

what is wrong with the libtool created in &apos;emerge system&apos;?


1105668019:  ::: completed emerge (34 of 157) media-libs/freetype-2.1.5-r1 to /
1105668019:  &gt;&gt;&gt; emerge (35 of 157) x11-misc/ttmkfdir-3.0.9-r2 to /
1105668019:  === (35 of 157) Cleaning (x11-misc/ttmkfdir-3.0.9-r2::/usr/portage/x11-misc/ttmkfdir/ttmkfdir-3.0.9-r2.ebuild)
1105668019:  === (35 of 157) Compiling/Packaging (x11-misc/ttmkfdir-3.0.9-r2::/usr/portage/x11-misc/ttmkfdir/ttmkfdir-3.0.9-r2.ebuild)
1105668023:  *** terminating.
1105668461: Started emerge on: Jan 13, 2005 21:07:41
1105668461:  *** emerge --buildpkg libtool
1105668461:  &gt;&gt;&gt; emerge (1 of 1) sys-devel/libtool-1.5.2-r7 to /
1105668461:  === (1 of 1) Cleaning (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105668461:  === (1 of 1) Compiling/Packaging (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105668551:  === (1 of 1) Merging (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105668554:  === (1 of 1) Post-Build Cleaning (sys-devel/libtool-1.5.2-r7::/usr/portage/sys-devel/libtool/libtool-1.5.2-r7.ebuild)
1105668555:  &gt;&gt;&gt; AUTOCLEAN: sys-devel/libtool
1105668555:  --- AUTOCLEAN: Nothing unmerged.
1105668555:  ::: completed emerge (1 of 1) sys-devel/libtool-1.5.2-r7 to /
1105668555:  *** Finished. Cleaning up...
1105668555:  *** exiting successfully.
1105668556:  *** terminating.
1105668612: Started emerge on: Jan 13, 2005 21:10:12
1105668612:  *** emerge --ask --buildpkg ethereal ddclient keychain smartmontools gallery kde mozilla-firefox mozilla-thunderbird gvim gimp dia
 gaim
1105668636:  &gt;&gt;&gt; emerge (1 of 123) media-libs/fontconfig-2.2.3 to /
1105668636:  === (1 of 123) Cleaning (media-libs/fontconfig-2.2.3::/usr/portage/media-libs/fontconfig/fontconfig-2.2.3.ebuild)
1105668637:  === (1 of 123) Compiling/Packaging (media-libs/fontconfig-2.2.3::/usr/portage/media-libs/fontconfig/fontconfig-2.2.3.ebuild)
1105668678:  === (1 of 123) Merging (media-libs/fontconfig-2.2.3::/usr/portage/media-libs/fontconfig/fontconfig-2.2.3.ebuild)
1105668679:  === (1 of 123) Post-Build Cleaning (media-libs/fontconfig-2.2.3::/usr/portage/media-libs/fontconfig/fontconfig-2.2.3.ebuild)
1105668680:  &gt;&gt;&gt; AUTOCLEAN: media-libs/fontconfig
1105668680:  --- AUTOCLEAN: Nothing unmerged.
1105668680:  ::: completed emerge (1 of 123) media-libs/fontconfig-2.2.3 to /
1105668680:  &gt;&gt;&gt; emerge (2 of 123) x11-misc/ttmkfdir-3.0.9-r2 to /
1105668680:  === (2 of 123) Cleaning (x11-misc/ttmkfdir-3.0.9-r2::/usr/portage/x11-misc/ttmkfdir/ttmkfdir-3.0.9-r2.ebuild)
1105668681:  === (2 of 123) Compiling/Packaging (x11-misc/ttmkfdir-3.0.9-r2::/usr/portage/x11-misc/ttmkfdir/ttmkfdir-3.0.9-r2.ebuild)
1105668700:  === (2 of 123) Merging (x11-misc/ttmkfdir-3.0.9-r2::/usr/portage/x11-misc/ttmkfdir/ttmkfdir-3.0.9-r2.ebuild)
1105668702:  === (2 of 123) Post-Build Cleaning (x11-misc/ttmkfdir-3.0.9-r2::/usr/portage/x11-misc/ttmkfdir/ttmkfdir-3.0.9-r2.ebuild)
1105668702:  &gt;&gt;&gt; AUTOCLEAN: x11-misc/ttmkfdir
1105668702:  --- AUTOCLEAN: Nothing unmerged.
1105668702:  ::: completed emerge (2 of 123) x11-misc/ttmkfdir-3.0.9-r2 to /
1105668702:  &gt;&gt;&gt; emerge (3 of 123) x11-base/opengl-update-1.8.2 to /
1105668702:  === (3 of 123) Cleaning (x11-base/opengl-update-1.8.2::/usr/portage/x11-base/opengl-update/opengl-update-1.8.2.ebuild)
1105668703:  === (3 of 123) Compiling/Packaging (x11-base/opengl-update-1.8.2::/usr/portage/x11-base/opengl-update/opengl-update-1.8.2.ebuild)
1105668707:  === (3 of 123) Merging (x11-base/opengl-update-1.8.2::/usr/portage/x11-base/opengl-update/opengl-update-1.8.2.ebuild)
1105668709:  === (3 of 123) Post-Build Cleaning (x11-base/opengl-update-1.8.2::/usr/portage/x11-base/opengl-update/opengl-update-1.8.2.ebuild)
1105668709:  &gt;&gt;&gt; AUTOCLEAN: x11-base/opengl-update
1105668709:  --- AUTOCLEAN: Nothing unmerged.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-01-16 10:25:24 0000</bug_when>
            <thetext>

*** This bug has been marked as a duplicate of 67692 ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>m.debruijne@matrict.nl</who>
            <bug_when>2005-01-16 11:37:53 0000</bug_when>
            <thetext>Hi vapier/SpanKY,

Yesterday, I have build a new system from stage1 with the tree from yesterday, after completing the installation I wanted to install xorg-x11. When I arrived at ttmkfdir I got the -tag-problem (see bug 67692) after `export CC=gcc CXX=g++ &amp;&amp; emerge libtool` everything works fine.

So it seems that this problem isn&apos;t solved yet.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>douglas.hoffman@gmail.com</who>
            <bug_when>2005-01-18 14:27:55 0000</bug_when>
            <thetext>I can not reopen the bug 67692 that is supposed to be a duplicate of...  please repoen it, or unmark this as a dulicate.

The problem is real, exists, and many users are encountering it.  bug 67692 presents a workaround, not a solution. Following mainstream instructions results in the error, something needs to be tweaked...

Thanks in advance,
-d</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-01-19 15:27:19 0000</bug_when>
            <thetext>fixed in 1.5.10</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>sascha-gentoo-bugzilla@silbe.org</who>
            <bug_when>2005-01-21 15:23:51 0000</bug_when>
            <thetext>So when will 1.5.10 become stable for x86?
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jedioetzi@infinito.it</who>
            <bug_when>2005-01-26 23:58:28 0000</bug_when>
            <thetext>are you sure that is fixed with 1.5.10?
see http://bugs.gentoo.org/show_bug.cgi?id=79624</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoobugzilla@ideogram.com</who>
            <bug_when>2005-02-06 09:49:15 0000</bug_when>
            <thetext>I got 1.5.10-r4 and still have this problem
(building sawfish/rep-gtk).
See my comment on bug 67692.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>douglas.hoffman@gmail.com</who>
            <bug_when>2005-02-06 21:58:29 0000</bug_when>
            <thetext>multiple requests to re-open bug.  Please re-address this problemo</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-02-07 01:14:28 0000</bug_when>
            <thetext>I still have this problem, too. :-( See http://bugs.gentoo.org/show_bug.cgi?id=19094#c74</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-02-08 05:02:18 0000</bug_when>
            <thetext>i cant fix anything with you just saying &apos;the problem still exists&apos;

i need people to attach /usr/bin/libtool, the log of `emerge [package that fail] &gt;&amp; log`, and the output of `emerge info`</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-02-08 08:54:05 0000</bug_when>
            <thetext>Created an attachment (id=50739)
emerge info
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-02-08 08:56:38 0000</bug_when>
            <thetext>Created an attachment (id=50740)
emerge mod_jk

The result is exactly the same for some of the packages mentioned in duplicate
bugs: libtool: compile: unable to infer tagged configuration. I think it is
useless to attach any more. 
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-02-08 08:59:05 0000</bug_when>
            <thetext>Created an attachment (id=50741)
/usr/bin/libtool
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-02-08 09:01:12 0000</bug_when>
            <thetext>your bug is 90% unrelated to this bug

it looks like apache2 does something stupid like include libtool in their package (from your output, /usr/lib/apache2/build/libtool is being executed, NOT /usr/bin/libtool)

file a bug for them since base-system has nothing to do with apache2</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-02-08 09:19:24 0000</bug_when>
            <thetext>I</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2005-02-08 09:19:24 0000</bug_when>
            <thetext>I´m not really sure to whom should I fill the bug, apparently maintainers of mod_jk don´t want the bug: http://bugs.gentoo.org/show_bug.cgi?id=19094#c73

I will point them to your comment anyway. Thanks. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoobugzilla@ideogram.com</who>
            <bug_when>2005-02-08 15:05:46 0000</bug_when>
            <thetext>Created an attachment (id=50784)
emerge rep-gtk problem
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoobugzilla@ideogram.com</who>
            <bug_when>2005-02-08 15:07:34 0000</bug_when>
            <thetext>Created an attachment (id=50785)
emerge rep-gtk problem
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoobugzilla@ideogram.com</who>
            <bug_when>2005-02-08 15:08:08 0000</bug_when>
            <thetext>Created an attachment (id=50786)
emerge rep-gtk problem
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoobugzilla@ideogram.com</who>
            <bug_when>2005-02-08 15:18:12 0000</bug_when>
            <thetext>A quick exam of the emerge output seems to show that rep-gtk has the same
problem as mod_jk, namely running
    /usr/lib/rep/i386-pc-linux-gnu/libtool
instead of
    /usr/bin/libtool
I have entered a comment stating this on bug 70514 and I hope the rep-gtk
people will take care of it.

Thanks,
Adam
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-02-09 08:35:15 0000</bug_when>
            <thetext>thank you adam</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mr_bones_@gentoo.org</who>
            <bug_when>2005-02-14 14:03:30 0000</bug_when>
            <thetext>is--tag required now?  I used to invoke libtool myself for little support libraries for my own code and now it doesn&apos;t work.

I figured out thought that the problem was caused by CC=cc.  This used to work and I believe it still should work. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vapier@gentoo.org</who>
            <bug_when>2005-02-15 04:00:16 0000</bug_when>
            <thetext>new autotools will automatically invoke libtool with --tag</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50739</attachid>
            <date>2005-02-08 08:54 0000</date>
            <desc>emerge info</desc>
            <filename>emerge_info</filename>
            <type>text/plain</type>
            <data encoding="base64">UG9ydGFnZSAyLjAuNTEtcjE1IChkZWZhdWx0LWxpbnV4L3g4Ni8yMDA0LjMsIGdjYy0zLjMuNSwg
Z2xpYmMtMi4zLjQuMjAwNDA4MDgtcjEsIDIuNi45LWdlbnRvby1yMTMgaTY4NikNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQpTeXN0ZW0gdW5hbWU6IDIuNi45LWdlbnRvby1yMTMgaTY4NiBBTUQgQXRobG9uKHRtKSBYUCAy
MjAwKw0KR2VudG9vIEJhc2UgU3lzdGVtIHZlcnNpb24gMS42LjkNClB5dGhvbjogICAgICAgICAg
ICAgIGRldi1sYW5nL3B5dGhvbi0yLjMuNC1yMSBbMi4zLjQgKCMyLCBGZWIgIDcgMjAwNSwgMTA6
MDE6NDApXQ0KZGV2LWxhbmcvcHl0aG9uOiAgICAgMi4zLjQtcjENCnN5cy1kZXZlbC9hdXRvY29u
ZjogIDIuNTktcjYsIDIuMTMNCnN5cy1kZXZlbC9hdXRvbWFrZTogIDEuNy45LXIxLCAxLjguNS1y
MywgMS41LCAxLjRfcDYsIDEuNi4zLCAxLjkuNA0Kc3lzLWRldmVsL2JpbnV0aWxzOiAgMi4xNS45
Mi4wLjItcjENCnN5cy1kZXZlbC9saWJ0b29sOiAgIDEuNS4xMC1yNA0KdmlydHVhbC9vcy1oZWFk
ZXJzOiAgMi42LjguMS1yMg0KQUNDRVBUX0tFWVdPUkRTPSJ4ODYiDQpBVVRPQ0xFQU49InllcyIN
CkNGTEFHUz0iLU8zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgLWZvbWl0LWZyYW1lLXBvaW50ZXIi
DQpDSE9TVD0iaTY4Ni1wYy1saW51eC1nbnUiDQpDT05GSUdfUFJPVEVDVD0iL2V0YyAvb3B0L2ds
ZnRwZC9ldGMgL3Vzci9rZGUvMi9zaGFyZS9jb25maWcgL3Vzci9rZGUvMy9zaGFyZS9jb25maWcg
L3Vzci9zaGFyZS9jb25maWcgL3Zhci9iaW5kIC92YXIvcW1haWwvY29udHJvbCINCkNPTkZJR19Q
Uk9URUNUX01BU0s9Ii9ldGMvZ2NvbmYgL2V0Yy90ZXJtaW5mbyAvZXRjL2Vudi5kIg0KQ1hYRkxB
R1M9Ii1PMyAtbWFyY2g9YXRobG9uLXhwIC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVyIg0KRElT
VERJUj0iL3Vzci9wb3J0YWdlL2Rpc3RmaWxlcyINCkZFQVRVUkVTPSJhdXRvYWRkY3ZzIGF1dG9j
b25maWcgY2NhY2hlIGNvbGxpc2lvbi1wcm90ZWN0IGRpc3Rsb2NrcyBtYWtlY2hlY2sgc2FuZGJv
eCBzZnBlcm1zIg0KR0VOVE9PX01JUlJPUlM9Imh0dHA6Ly9kaXN0ZmlsZXMuZ2VudG9vLm9yZyBo
dHRwOi8vZGlzdHJvLmliaWJsaW8ub3JnL3B1Yi9MaW51eC9kaXN0cmlidXRpb25zL2dlbnRvbyIN
Ck1BS0VPUFRTPSItajIiDQpQS0dESVI9Ii91c3IvcG9ydGFnZS9wYWNrYWdlcyINClBPUlRBR0Vf
VE1QRElSPSIvdmFyL3RtcCINClBPUlRESVI9Ii91c3IvcG9ydGFnZSINClBPUlRESVJfT1ZFUkxB
WT0iL3Vzci9sb2NhbC9wb3J0YWdlIg0KU1lOQz0icnN5bmM6Ly9yc3luYy5nZW50b28ub3JnL2dl
bnRvby1wb3J0YWdlIg0KVVNFPSJ4ODYgM2Rub3cgYWNwaSBhcGFjaGUyIGFwbSBhcnRzIGF2aSBi
ZXJrZGIgYml0bWFwLWZvbnRzIGNyeXB0IGVuY29kZSBmNzcgZmJjb24gZmlyZWJpcmQgZm9udC1z
ZXJ2ZXIgZm9vbWF0aWNkYiBmb3J0cmFuIGdkIGdkLWV4dGVybmFsIGdkYm0gZ2lmIGdwbSBndGsy
IGltYXAgaW1saWIgaW5ub2RiIGphdmEganBlZyBqdW5pdCBsaWJnKysgbGlid3d3IG1hZCBtYWls
ZGlyIG1pa21vZCBtbXggbW90aWYgbXBlZyBteXNxbCBuY3Vyc2VzIG5scyBucHRsIG9kYmMgb2dn
dm9yYmlzIG9wZW5nbCBvc3MgcGFtIHBkZmxpYiBwZXJsIHBuZyBwbnAgcG9zdGdyZXMgcHl0aG9u
IHF1aWNrdGltZSByZWFkbGluZSBzYXNsIHNkbCBzbGFuZyBzbm1wIHNvY2tzNSBzcGVsbCBzcWxp
dGUgc3NlIHNzbCBzdmdhIHRjcGQgdGlmZiB0cnVldHlwZSB0cnVldHlwZS1mb250cyB0eXBlMS1m
b250cyB1bmljb2RlIHhtbCB4bWwyIHhtbXMgeHYgemxpYiINClVuc2V0OiAgQVNGTEFHUywgQ0JV
SUxELCBDVEFSR0VULCBMQU5HLCBMQ19BTEwsIExERkxBR1MNCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50740</attachid>
            <date>2005-02-08 08:56 0000</date>
            <desc>emerge mod_jk</desc>
            <filename>emerge_mod_jk</filename>
            <type>text/plain</type>
            <data encoding="base64">ZW1lcmdlIG1vZF9qaw0KQ2FsY3VsYXRpbmcgZGVwZW5kZW5jaWVzIC4uLmRvbmUhDQo+Pj4gZW1l
cmdlICgxIG9mIDEpIHd3dy1hcGFjaGUvbW9kX2prLTEuMi44IHRvIC8NCj4+PiBtZDUgc3JjX3Vy
aSA7LSkgamFrYXJ0YS10b21jYXQtY29ubmVjdG9ycy0xLjIuOC1zcmMudGFyLmd6DQo+Pj4gVW5w
YWNraW5nIHNvdXJjZS4uLg0KPj4+IFVucGFja2luZyBqYWthcnRhLXRvbWNhdC1jb25uZWN0b3Jz
LTEuMi44LXNyYy50YXIuZ3ogdG8gL3Zhci90bXAvcG9ydGFnZS9tb2RfamstMS4yLjgvd29yaw0K
Pj4+IFNvdXJjZSB1bnBhY2tlZC4NCiAqIGVjb25mOiB1cGRhdGluZyBqYWthcnRhLXRvbWNhdC1j
b25uZWN0b3JzLTEuMi44LXNyYy9qay9uYXRpdmUvc2NyaXB0cy9idWlsZC91bml4L2NvbmZpZy5n
dWVzcyB3aXRoIC91c3Ivc2hhcmUvZ251Y29uZmlnL2NvbmZpZy5ndWVzcw0KICogZWNvbmY6IHVw
ZGF0aW5nIGpha2FydGEtdG9tY2F0LWNvbm5lY3RvcnMtMS4yLjgtc3JjL2prL25hdGl2ZS9zY3Jp
cHRzL2J1aWxkL3VuaXgvY29uZmlnLnN1YiB3aXRoIC91c3Ivc2hhcmUvZ251Y29uZmlnL2NvbmZp
Zy5zdWINCi4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1ob3N0PWk2ODYtcGMtbGludXgtZ251
IC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2luZm8gLS1kYXRh
ZGlyPS91c3Ivc2hhcmUgLS1zeXNjb25mZGlyPS9ldGMgLS1sb2NhbHN0YXRlZGlyPS92YXIvbGli
IC0td2l0aC1hcHhzPS91c3Ivc2Jpbi9hcHhzMg0KY29uZmlndXJlOiBXQVJOSU5HOiBJZiB5b3Ug
d2FudGVkIHRvIHNldCB0aGUgLS1idWlsZCB0eXBlLCBkb24ndCB1c2UgLS1ob3N0Lg0KICAgIElm
IGEgY3Jvc3MgY29tcGlsZXIgaXMgZGV0ZWN0ZWQgdGhlbiBjcm9zcyBjb21waWxlIG1vZGUgd2ls
bCBiZSB1c2VkLg0KY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUuLi4gaTY4Ni1wYy1saW51eC1n
bnUNCmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4gaTY4Ni1wYy1saW51eC1nbnUNCmNoZWNr
aW5nIHRhcmdldCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLWxpbnV4LWdudQ0KY2hlY2tpbmcgZm9y
IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvYmluL2luc3RhbGwgLWMNCmNoZWNraW5nIHdo
ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMNCmNoZWNraW5nIGZvciBnYXdr
Li4uIGdhd2sNCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzDQpjaGVj
a2luZyBmb3IgaTY4Ni1wYy1saW51eC1nbnUtc3RyaXAuLi4gbm8NCmNoZWNraW5nIGZvciBzdHJp
cC4uLiBzdHJpcA0KY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LWdjYy4uLiBpNjg2LXBj
LWxpbnV4LWdudS1nY2MNCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0Li4u
IGEub3V0DQpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcw0KY2hl
Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vDQpjaGVja2luZyBmb3Ig
c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uDQpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBm
aWxlcy4uLiBvDQpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGls
ZXIuLi4geWVzDQpjaGVja2luZyB3aGV0aGVyIGk2ODYtcGMtbGludXgtZ251LWdjYyBhY2NlcHRz
IC1nLi4uIHllcw0KY2hlY2tpbmcgZm9yIGk2ODYtcGMtbGludXgtZ251LWdjYyBvcHRpb24gdG8g
YWNjZXB0IEFOU0kgQy4uLiBub25lIG5lZWRlZA0KY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1
ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQ0KY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBpNjg2
LXBjLWxpbnV4LWdudS1nY2MuLi4gbm9uZQ0KY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgR0NDLi4u
IC91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkDQpjaGVja2luZyBpZiB0aGUgbGlua2VyICgv
dXNyL2k2ODYtcGMtbGludXgtZ251L2Jpbi9sZCkgaXMgR05VIGxkLi4uIHllcw0KY2hlY2tpbmcg
Zm9yIC91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0
IGZpbGVzLi4uIC1yDQpjaGVja2luZyBmb3IgQlNELWNvbXBhdGlibGUgbm0uLi4gbm0NCmNoZWNr
aW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZA0K
Y2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcy4uLiB5ZXMNCmNoZWNraW5nIGhvdyB0byByZWNv
Z25pc2UgZGVwZW5kZW50IGxpYnJhcmllcy4uLiBwYXNzX2FsbA0KY2hlY2tpbmcgY29tbWFuZCB0
byBwYXJzZSBubSBvdXRwdXQuLi4gb2sNCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJv
Y2Vzc29yLi4uIGk2ODYtcGMtbGludXgtZ251LWdjYyAtRQ0KY2hlY2tpbmcgZm9yIGVncmVwLi4u
IGdyZXAgLUUNCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIHllcw0KY2hlY2tp
bmcgZm9yIHN5cy90eXBlcy5oLi4uIHllcw0KY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVz
DQpjaGVja2luZyBmb3Igc3RkbGliLmguLi4geWVzDQpjaGVja2luZyBmb3Igc3RyaW5nLmguLi4g
eWVzDQpjaGVja2luZyBmb3IgbWVtb3J5LmguLi4geWVzDQpjaGVja2luZyBmb3Igc3RyaW5ncy5o
Li4uIHllcw0KY2hlY2tpbmcgZm9yIGludHR5cGVzLmguLi4geWVzDQpjaGVja2luZyBmb3Igc3Rk
aW50LmguLi4geWVzDQpjaGVja2luZyBmb3IgdW5pc3RkLmguLi4geWVzDQpjaGVja2luZyBkbGZj
bi5oIHVzYWJpbGl0eS4uLiB5ZXMNCmNoZWNraW5nIGRsZmNuLmggcHJlc2VuY2UuLi4geWVzDQpj
aGVja2luZyBmb3IgZGxmY24uaC4uLiB5ZXMNCmNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdu
dS1yYW5saWIuLi4gbm8NCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliDQpjaGVja2luZyBm
b3IgaTY4Ni1wYy1saW51eC1nbnUtc3RyaXAuLi4gc3RyaXANCmNoZWNraW5nIGZvciBvYmpkaXIu
Li4gLmxpYnMNCmNoZWNraW5nIGZvciBpNjg2LXBjLWxpbnV4LWdudS1nY2Mgb3B0aW9uIHRvIHBy
b2R1Y2UgUElDLi4uIC1mUElDDQpjaGVja2luZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1nY2MgUElD
IGZsYWcgLWZQSUMgd29ya3MuLi4geWVzDQpjaGVja2luZyBpZiBpNjg2LXBjLWxpbnV4LWdudS1n
Y2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMNCmNoZWNraW5nIGlmIGk2ODYtcGMt
bGludXgtZ251LWdjYyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4geWVzDQpjaGVja2luZyBpZiBp
Njg2LXBjLWxpbnV4LWdudS1nY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5sby4uLiB5ZXMNCmNoZWNr
aW5nIGlmIGk2ODYtcGMtbGludXgtZ251LWdjYyBzdXBwb3J0cyAtZm5vLXJ0dGkgLWZuby1leGNl
cHRpb25zLi4uIHllcw0KY2hlY2tpbmcgd2hldGhlciB0aGUgbGlua2VyICgvdXNyL2k2ODYtcGMt
bGludXgtZ251L2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMNCmNoZWNr
aW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRp
YXRlDQpjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUuLi4g
eWVzDQpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MuLi4gR05VL0xpbnV4
IGxkLnNvDQpjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4g
eWVzDQpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzDQpj
aGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMuLi4geWVzDQpjaGVja2lu
ZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4uLi4gbm8NCmNyZWF0
aW5nIGxpYnRvb2wNCmNoZWNraW5nIGZvciB0ZXN0Li4uIC91c3IvYmluL3Rlc3QNCmNoZWNraW5n
IGZvciBybS4uLiAvYmluL3JtDQpjaGVja2luZyBmb3IgZ3JlcC4uLiAvYmluL2dyZXANCmNoZWNr
aW5nIGZvciBlY2hvLi4uIC9iaW4vZWNobw0KY2hlY2tpbmcgZm9yIHNlZC4uLiAvYmluL3NlZA0K
Y2hlY2tpbmcgZm9yIGNwLi4uIC9iaW4vY3ANCmNoZWNraW5nIGZvciBta2Rpci4uLiAvYmluL21r
ZGlyDQpjaGVja2luZyBmb3Igc25wcmludGYuLi4geWVzDQpjaGVja2luZyBmb3IgdnNucHJpbnRm
Li4uIHllcw0KbmVlZCB0byBjaGVjayBmb3IgUGVybCBmaXJzdCwgYXB4cyBkZXBlbmRzIG9uIGl0
Li4uDQpjaGVja2luZyBmb3IgcGVybC4uLiAvdXNyL2Jpbi9wZXJsDQpidWlsZGluZyBjb25uZWN0
b3IgZm9yICJhcGFjaGUtMi4wIg0KY2hlY2tpbmcgZm9yIHRhcmdldCBwbGF0Zm9ybS4uLiB1bml4
DQpubyBhcGFjaGUgZ2l2ZW4NCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzDQpj
b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQ0KY29uZmlnLnN0YXR1czogY3JlYXRpbmcg
YXBhY2hlLTEuMy9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1czogY3JlYXRpbmcgYXBhY2hlLTEuMy9N
YWtlZmlsZS5hcHhzDQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBhcGFjaGUtMi4wL01ha2VmaWxl
DQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBhcGFjaGUtMi4wL01ha2VmaWxlLmFweHMNCmNvbmZp
Zy5zdGF0dXM6IGNyZWF0aW5nIGNvbW1vbi9NYWtlZmlsZQ0KY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgY29tbW9uL2xpc3QubWsNCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIGpuaS9NYWtlZmlsZQ0K
Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgY29tbW9uL3BvcnRhYmxlLmgNCmNvbmZpZy5zdGF0dXM6
IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcw0KTWFraW5nIGFsbCBpbiBjb21tb24NCm1ha2Vb
MV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL3Zhci90bXAvcG9ydGFnZS9tb2RfamstMS4yLjgvd29y
ay9qYWthcnRhLXRvbWNhdC1jb25uZWN0b3JzLTEuMi44LXNyYy9qay9uYXRpdmUvY29tbW9uJw0K
L2Jpbi9zaCAvdXNyL2xpYi9hcGFjaGUyL2J1aWxkL2xpYnRvb2wgLS1zaWxlbnQgLS1tb2RlPWNv
bXBpbGUgaTY4Ni1wYy1saW51eC1nbnUtZ2NjIC1JL3Vzci9pbmNsdWRlL2FwYWNoZTIgLU8zIC1t
YXJjaD1hdGhsb24teHAgLXBpcGUgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLU8zIC1tYXJjaD1hdGhs
b24teHAgLXBpcGUgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLXB0aHJlYWQgLURIQVZFX0FQUiAtSS92
YXIvdG1wL3BvcnRhZ2UvYXBhY2hlLTIuMC41Mi1yMS93b3JrL2h0dHBkLTIuMC41Mi9zcmNsaWIv
YXByL2luY2x1ZGUgLU8zIC1tYXJjaD1hdGhsb24teHAgLXBpcGUgLWZvbWl0LWZyYW1lLXBvaW50
ZXIgLURMSU5VWD0yIC1EX1JFRU5UUkFOVCAtRF9YT1BFTl9TT1VSQ0U9NTAwIC1EX0JTRF9TT1VS
Q0UgLURfU1ZJRF9TT1VSQ0UgLURfR05VX1NPVVJDRSAtSSAvb3B0L2JsYWNrZG93bi1qZGstMS40
LjIuMDEvaW5jbHVkZSAtSSAvb3B0L2JsYWNrZG93bi1qZGstMS40LjIuMDEvaW5jbHVkZS8gLWMg
amtfYWpwMTJfd29ya2VyLmMNCi9iaW4vc2ggL3Vzci9saWIvYXBhY2hlMi9idWlsZC9saWJ0b29s
IC0tc2lsZW50IC0tbW9kZT1jb21waWxlIGk2ODYtcGMtbGludXgtZ251LWdjYyAtSS91c3IvaW5j
bHVkZS9hcGFjaGUyIC1PMyAtbWFyY2g9YXRobG9uLXhwIC1waXBlIC1mb21pdC1mcmFtZS1wb2lu
dGVyIC1PMyAtbWFyY2g9YXRobG9uLXhwIC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVyIC1wdGhy
ZWFkIC1ESEFWRV9BUFIgLUkvdmFyL3RtcC9wb3J0YWdlL2FwYWNoZS0yLjAuNTItcjEvd29yay9o
dHRwZC0yLjAuNTIvc3JjbGliL2Fwci9pbmNsdWRlIC1PMyAtbWFyY2g9YXRobG9uLXhwIC1waXBl
IC1mb21pdC1mcmFtZS1wb2ludGVyIC1ETElOVVg9MiAtRF9SRUVOVFJBTlQgLURfWE9QRU5fU09V
UkNFPTUwMCAtRF9CU0RfU09VUkNFIC1EX1NWSURfU09VUkNFIC1EX0dOVV9TT1VSQ0UgLUkgL29w
dC9ibGFja2Rvd24tamRrLTEuNC4yLjAxL2luY2x1ZGUgLUkgL29wdC9ibGFja2Rvd24tamRrLTEu
NC4yLjAxL2luY2x1ZGUvIC1jIGprX2Nvbm5lY3QuYw0KbGlidG9vbDogY29tcGlsZTogdW5hYmxl
IHRvIGluZmVyIHRhZ2dlZCBjb25maWd1cmF0aW9uDQpsaWJ0b29sOiBjb21waWxlOiBzcGVjaWZ5
IGEgdGFnIHdpdGggYC0tdGFnJw0KbWFrZVsxXTogKioqIFtqa19hanAxMl93b3JrZXIubG9dIEVy
cm9yIDENCm1ha2VbMV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uDQpsaWJ0
b29sOiBjb21waWxlOiB1bmFibGUgdG8gaW5mZXIgdGFnZ2VkIGNvbmZpZ3VyYXRpb24NCmxpYnRv
b2w6IGNvbXBpbGU6IHNwZWNpZnkgYSB0YWcgd2l0aCBgLS10YWcnDQptYWtlWzFdOiAqKiogW2pr
X2Nvbm5lY3QubG9dIEVycm9yIDENCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvdmFyL3Rt
cC9wb3J0YWdlL21vZF9qay0xLjIuOC93b3JrL2pha2FydGEtdG9tY2F0LWNvbm5lY3RvcnMtMS4y
Ljgtc3JjL2prL25hdGl2ZS9jb21tb24nDQptYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9y
IDENCg0KISEhIEVSUk9SOiB3d3ctYXBhY2hlL21vZF9qay0xLjIuOCBmYWlsZWQuDQohISEgRnVu
Y3Rpb24gc3JjX2NvbXBpbGUsIExpbmUgMjgsIEV4aXRjb2RlIDINCiEhISBlbWFrZSBmYWlsZWQN
CiEhISBJZiB5b3UgbmVlZCBzdXBwb3J0LCBwb3N0IHRoZSB0b3Btb3N0IGJ1aWxkIGVycm9yLCBO
T1QgdGhpcyBzdGF0dXMgbWVzc2FnZS4NCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50741</attachid>
            <date>2005-02-08 08:59 0000</date>
            <desc>/usr/bin/libtool</desc>
            <filename>libtool</filename>
            <type>text/plain</type>
            <data encoding="base64">IyEgL2Jpbi9zaAoKIyBsaWJ0b29sVCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWls
ZGluZyBzdXBwb3J0IHNlcnZpY2VzLgojIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICAoR05V
IGxpYnRvb2wgMS41LjEwKQojIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBi
ZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KIwojIENvcHlyaWdodCAoQykgMTk5NiwgMTk5Nywg
MTk5OCwgMTk5OSwgMjAwMCwgMjAwMQojIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoj
CiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2w6CiMgT3JpZ2luYWxseSBieSBHb3Jk
b24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKIwojIFRoaXMgcHJvZ3Jh
bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiMgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJv
Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIElu
Yy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBV
U0EuCiMKIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSwgaWYgeW91CiMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dy
YW0gdGhhdCBjb250YWlucyBhCiMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1
dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKIyB0aGUgc2FtZSBkaXN0cmlidXRpb24g
dGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCgojIEEgc2Vk
IHByb2dyYW0gdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuClNFRD0iL2Jpbi9zZWQiCgoj
IFNlZCB0aGF0IGhlbHBzIHVzIGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIGVjaG8oMSkg
b3B0aW9ucyBsaWtlIC1uLgpYc2VkPSIvYmluL3NlZCAtZSBzL15YLy8iCgojIFRoZSBIUC1VWCBr
c2ggYW5kIFBPU0lYIHNoZWxsIHByaW50IHRoZSB0YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dAoj
IGlmIENEUEFUSCBpcyBzZXQuCih1bnNldCBDRFBBVEgpID4vZGV2L251bGwgMj4mMSAmJiB1bnNl
dCBDRFBBVEgKCiMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbnMgc3VwcG9y
dGVkIGJ5IHRoaXMgc2NyaXB0LgphdmFpbGFibGVfdGFncz0iIENYWCBGNzciCgojICMjIyBCRUdJ
TiBMSUJUT09MIENPTkZJRwoKIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3Qgd2FjOgoK
IyBTaGVsbCB0byB1c2Ugd2hlbiBpbnZva2luZyBzaGVsbCBzY3JpcHRzLgpTSEVMTD0iL2Jpbi9z
aCIKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGli
dG9vbF9saWJzPXllcwoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVz
LgpidWlsZF9vbGRfbGlicz15ZXMKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVp
bGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPW5vCgojIFdoZXRo
ZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBz
dGF0aWMKYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPW5vCgojIFdoZXRo
ZXIgb3Igbm90IHRvIG9wdGltaXplIGZvciBmYXN0IGluc3RhbGxhdGlvbi4KZmFzdF9pbnN0YWxs
PXllcwoKIyBUaGUgaG9zdCBzeXN0ZW0uCmhvc3RfYWxpYXM9aTY4Ni1wYy1saW51eC1nbnUKaG9z
dD1pNjg2LXBjLWxpbnV4LWdudQoKIyBBbiBlY2hvIHByb2dyYW0gdGhhdCBkb2VzIG5vdCBpbnRl
cnByZXQgYmFja3NsYXNoZXMuCmVjaG89ImVjaG8iCgojIFRoZSBhcmNoaXZlci4KQVI9ImFyIgpB
Ul9GTEFHUz0iY3J1IgoKIyBBIEMgY29tcGlsZXIuCkxUQ0M9Imk2ODYtcGMtbGludXgtZ251LWdj
YyIKCiMgQSBsYW5ndWFnZS1zcGVjaWZpYyBjb21waWxlci4KQ0M9Imk2ODYtcGMtbGludXgtZ251
LWdjYyIKCiMgSXMgdGhlIGNvbXBpbGVyIHRoZSBHTlUgQyBjb21waWxlcj8Kd2l0aF9nY2M9eWVz
CgojIEFuIEVSRSBtYXRjaGVyLgpFR1JFUD0iZ3JlcCAtRSIKCiMgVGhlIGxpbmtlciB1c2VkIHRv
IGJ1aWxkIGxpYnJhcmllcy4KTEQ9Ii91c3IvaTY4Ni1wYy1saW51eC1nbnUvYmluL2xkIgoKIyBX
aGV0aGVyIHdlIG5lZWQgaGFyZCBvciBzb2Z0IGxpbmtzLgpMTl9TPSJsbiAtcyIKCiMgQSBCU0Qt
Y29tcGF0aWJsZSBubSBwcm9ncmFtLgpOTT0ibm0iCgojIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9n
cmFtClNUUklQPSJzdHJpcCIKCiMgVXNlZCB0byBleGFtaW5lIGxpYnJhcmllcyB3aGVuIGZpbGVf
bWFnaWNfY21kIGJlZ2lucyAiZmlsZSIKTUFHSUNfQ01EPWZpbGUKCiMgVXNlZCBvbiBjeWd3aW46
IERMTCBjcmVhdGlvbiBwcm9ncmFtLgpETExUT09MPSJkbGx0b29sIgoKIyBVc2VkIG9uIGN5Z3dp
bjogb2JqZWN0IGR1bXBlci4KT0JKRFVNUD0ib2JqZHVtcCIKCiMgVXNlZCBvbiBjeWd3aW46IGFz
c2VtYmxlci4KQVM9ImFzIgoKIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFp
bnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmlsZXMuCm9iamRpcj0ubGlicwoKIyBIb3cgdG8gY3JlYXRl
IHJlbG9hZGFibGUgb2JqZWN0IGZpbGVzLgpyZWxvYWRfZmxhZz0iIC1yIgpyZWxvYWRfY21kcz0i
XCRMRFwkcmVsb2FkX2ZsYWcgLW8gXCRvdXRwdXRcJHJlbG9hZF9vYmpzIgoKIyBIb3cgdG8gcGFz
cyBhIGxpbmtlciBmbGFnIHRocm91Z2ggdGhlIGNvbXBpbGVyLgp3bD0iLVdsLCIKCiMgT2JqZWN0
IGZpbGUgc3VmZml4IChub3JtYWxseSAibyIpLgpvYmpleHQ9Im8iCgojIE9sZCBhcmNoaXZlIHN1
ZmZpeCAobm9ybWFsbHkgImEiKS4KbGliZXh0PSJhIgoKIyBTaGFyZWQgbGlicmFyeSBzdWZmaXgg
KG5vcm1hbGx5ICIuc28iKS4Kc2hyZXh0X2NtZHM9Jy5zbycKCiMgRXhlY3V0YWJsZSBmaWxlIHN1
ZmZpeCAobm9ybWFsbHkgIiIpLgpleGVleHQ9IiIKCiMgQWRkaXRpb25hbCBjb21waWxlciBmbGFn
cyBmb3IgYnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNfZmxhZz0iIC1mUElDIC1EUElDIgpw
aWNfbW9kZT1kZWZhdWx0CgojIFdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgY29tbWFu
ZD8KbWF4X2NtZF9sZW49MzI3NjgKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBzdXBw
b3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289InllcyIKCiMgTXVzdCB3ZSBsb2Nr
IGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24gPwpuZWVkX2xvY2tzPSJubyIKCiMgRG8gd2Ug
bmVlZCB0aGUgbGliIHByZWZpeCBmb3IgbW9kdWxlcz8KbmVlZF9saWJfcHJlZml4PW5vCgojIERv
IHdlIG5lZWQgYSB2ZXJzaW9uIGZvciBsaWJyYXJpZXM/Cm5lZWRfdmVyc2lvbj1ubwoKIyBXaGV0
aGVyIGRsb3BlbiBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zdXBwb3J0PXllcwoKIyBXaGV0aGVyIGRs
b3BlbiBvZiBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmPXllcwoKIyBXaGV0aGVy
IGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Bl
bl9zZWxmX3N0YXRpYz15ZXMKCiMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlu
a2luZy4KbGlua19zdGF0aWNfZmxhZz0iLXN0YXRpYyIKCiMgQ29tcGlsZXIgZmxhZyB0byB0dXJu
IG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRpbl9mbGFnPSIgLWZuby1idWlsdGluIgoK
IyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1p
Y19mbGFnX3NwZWM9Ilwke3dsfS0tZXhwb3J0LWR5bmFtaWMiCgojIENvbXBpbGVyIGZsYWcgdG8g
Z2VuZXJhdGUgc2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWM9Ilwke3dsfS0td2hvbGUtYXJjaGl2ZVwkY29udmVuaWVuY2UgXCR7d2x9
LS1uby13aG9sZS1hcmNoaXZlIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHRocmVhZC1z
YWZlIG9iamVjdHMuCnRocmVhZF9zYWZlX2ZsYWdfc3BlYz0iIgoKIyBMaWJyYXJ5IHZlcnNpb25p
bmcgdHlwZS4KdmVyc2lvbl90eXBlPWxpbnV4CgojIEZvcm1hdCBvZiBsaWJyYXJ5IG5hbWUgcHJl
Zml4LgpsaWJuYW1lX3NwZWM9ImxpYlwkbmFtZSIKCiMgTGlzdCBvZiBhcmNoaXZlIG5hbWVzLiAg
Rmlyc3QgbmFtZSBpcyB0aGUgcmVhbCBvbmUsIHRoZSByZXN0IGFyZSBsaW5rcy4KIyBUaGUgbGFz
dCBuYW1lIGlzIHRoZSBvbmUgdGhhdCB0aGUgbGlua2VyIGZpbmRzIHdpdGggLWxOQU1FLgpsaWJy
YXJ5X25hbWVzX3NwZWM9Ilwke2xpYm5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fVwkdmVy
c3VmZml4IFwke2xpYm5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fVwkbWFqb3IgXCRsaWJu
YW1lXCR7c2hhcmVkX2V4dH0iCgojIFRoZSBjb2RlZCBuYW1lIG9mIHRoZSBsaWJyYXJ5LCBpZiBk
aWZmZXJlbnQgZnJvbSB0aGUgcmVhbCBuYW1lLgpzb25hbWVfc3BlYz0iXCR7bGlibmFtZX1cJHty
ZWxlYXNlfVwke3NoYXJlZF9leHR9XCRtYWpvciIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBh
bmQgaW5zdGFsbCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4KUkFOTElCPSJyYW5saWIiCm9sZF9hcmNo
aXZlX2NtZHM9IlwkQVIgXCRBUl9GTEFHUyBcJG9sZGxpYlwkb2xkb2Jqc1wkb2xkX2RlcGxpYnN+
XCRSQU5MSUIgXCRvbGRsaWIiCm9sZF9wb3N0aW5zdGFsbF9jbWRzPSJcJFJBTkxJQiBcJG9sZGxp
Yn5jaG1vZCA2NDQgXCRvbGRsaWIiCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9IiIKCiMgQ3JlYXRl
IGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVf
ZnJvbV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb2xkLXN0eWxlIGFyY2hpdmUg
dG8gbGluayBpbnN0ZWFkIG9mIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhw
c3ltc19jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW5kIGluc3RhbGwgYSBzaGFy
ZWQgYXJjaGl2ZS4KYXJjaGl2ZV9jbWRzPSJcJENDIC1zaGFyZWQgXCRsaWJvYmpzIFwkZGVwbGli
cyBcJGNvbXBpbGVyX2ZsYWdzIFwke3dsfS1zb25hbWUgXCR3bFwkc29uYW1lIC1vIFwkbGliIgph
cmNoaXZlX2V4cHN5bV9jbWRzPSJcJGVjaG8gXFxcInsgZ2xvYmFsOlxcXCIgPiBcJG91dHB1dF9v
YmpkaXIvXCRsaWJuYW1lLnZlcn4KY2F0IFwkZXhwb3J0X3N5bWJvbHMgfCBzZWQgLWUgXFxcInMv
XFxcXCguKlxcXFwpL1xcXFwxOy9cXFwiID4+IFwkb3V0cHV0X29iamRpci9cJGxpYm5hbWUudmVy
fgpcJGVjaG8gXFxcImxvY2FsOiAqOyB9O1xcXCIgPj4gXCRvdXRwdXRfb2JqZGlyL1wkbGlibmFt
ZS52ZXJ+CiAgICAgICAgXCRDQyAtc2hhcmVkIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxl
cl9mbGFncyBcJHt3bH0tc29uYW1lIFwkd2xcJHNvbmFtZSBcJHt3bH0tdmVyc2lvbi1zY3JpcHQg
XCR7d2x9XCRvdXRwdXRfb2JqZGlyL1wkbGlibmFtZS52ZXIgLW8gXCRsaWIiCnBvc3RpbnN0YWxs
X2NtZHM9IiIKcG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQg
YSBsb2FkYWJsZSBtb2R1bGUgKGFzc3VtZWQgc2FtZSBhcyBhYm92ZSBpZiBlbXB0eSkKbW9kdWxl
X2NtZHM9IiIKbW9kdWxlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHRvIHN0cmlwIGxpYnJh
cmllcy4Kb2xkX3N0cmlwbGliPSJzdHJpcCAtLXN0cmlwLWRlYnVnIgpzdHJpcGxpYj0ic3RyaXAg
LS1zdHJpcC11bm5lZWRlZCIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSB0aGUgb2Jq
ZWN0cyBiZWluZyBsaW5rZWQgdG8gY3JlYXRlIGEKIyBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29i
amVjdHM9IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5n
IGxpbmtlZCB0byBjcmVhdGUgYQojIHNoYXJlZCBsaWJyYXJ5Lgpwb3N0ZGVwX29iamVjdHM9IiIK
CiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQg
dG8gY3JlYXRlIGEKIyBzaGFyZWQgbGlicmFyeS4KcHJlZGVwcz0iIgoKIyBEZXBlbmRlbmNpZXMg
dG8gcGxhY2UgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvIGNyZWF0ZSBhCiMgc2hh
cmVkIGxpYnJhcnkuCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQg
aW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFyZWQgbGlicmFy
eS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSIiCgojIE1ldGhvZCB0byBjaGVjayB3aGV0aGVy
IGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNoYXJlZCBvYmplY3RzLgpkZXBsaWJzX2NoZWNrX21l
dGhvZD0icGFzc19hbGwiCgojIENvbW1hbmQgdG8gdXNlIHdoZW4gZGVwbGlic19jaGVja19tZXRo
b2QgPT0gZmlsZV9tYWdpYy4KZmlsZV9tYWdpY19jbWQ9IlwkTUFHSUNfQ01EIgoKIyBGbGFnIHRo
YXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBiZSBi
dWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0IGZvcmNlcyBubyB1bmRl
ZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBm
aW5pc2ggYSBsaWJ0b29sIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGluIGEgZGlyZWN0b3J5LgpmaW5p
c2hfY21kcz0iUEFUSD1cXFwiXFxcJFBBVEg6L3NiaW5cXFwiIGxkY29uZmlnIC1uIFwkbGliZGly
IgoKIyBTYW1lIGFzIGFib3ZlLCBidXQgYSBzaW5nbGUgc2NyaXB0IGZyYWdtZW50IHRvIGJlIGV2
YWxlZCBidXQgbm90IHNob3duLgpmaW5pc2hfZXZhbD0iIgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Yg
bm0gYW5kIHByb2R1Y2UgYSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVzLgpnbG9i
YWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbIAldXFwoW0FCQ0RHSVJTVFddW0FCQ0RH
SVJTVFddKlxcKVsgCV1bIAldKlxcKFxcKVxcKFtfQS1aYS16XVtfQS1aYS16MC05XSpcXClcJC9c
XDEgXFwyXFwzIFxcMy9wJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBwcm9w
ZXIgQyBkZWNsYXJhdGlvbgpnbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUgJ3MvXi4g
LiogXFwoLipcXClcJC9leHRlcm4gaW50IFxcMTsvcCciCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0
IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpcgpnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9h
ZGRyZXNzPSJzZWQgLW4gLWUgJ3MvXjogXFwoW14gXSpcXCkgXCQvICB7XFxcIlxcMVxcXCIsIChs
dF9wdHIpIDB9LC9wJyAtZSAncy9eW0JDREVHUlNUXSBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwk
LyAge1wiXFwyXCIsIChsdF9wdHIpIFxcJlxcMn0sL3AnIgoKIyBUaGlzIGlzIHRoZSBzaGFyZWQg
bGlicmFyeSBydW50aW1lIHBhdGggdmFyaWFibGUuCnJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRICgoj
IFRoaXMgaXMgdGhlIHNoYXJlZCBsaWJyYXJ5IHBhdGggdmFyaWFibGUuCnNobGlicGF0aF92YXI9
TERfTElCUkFSWV9QQVRICgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhlIGhhcmQt
Y29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPW5v
CgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRh
YmxlLgpoYXJkY29kZV9hY3Rpb249aW1tZWRpYXRlCgojIFdoZXRoZXIgd2Ugc2hvdWxkIGhhcmRj
b2RlIGxpYnJhcnkgcGF0aHMgaW50byBsaWJyYXJpZXMuCmhhcmRjb2RlX2ludG9fbGlicz15ZXMK
CiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcu
CiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0LgpoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjPSJcJHt3bH0tLXJwYXRoIFwke3dsfVwkbGliZGlyIgoKIyBJZiBs
ZCBpcyB1c2VkIHdoZW4gbGlua2luZywgZmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8KIyBh
IGJpbmFyeSBkdXJpbmcgbGlua2luZy4gVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRv
ZXMKIyBub3QgZXhpc3QuCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9IiIKCiMgV2hldGhl
ciB3ZSBuZWVkIGEgc2luZ2xlIC1ycGF0aCBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1lbnQu
CmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRvIHllcyBpZiB1c2luZyBESVIv
bGliTkFNRSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSIGludG8gdGhlCiMgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgdGhlIC1M
RElSIGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUiBpbnRvIHRoZQojIHJlc3VsdGlu
ZyBiaW5hcnkuCmhhcmRjb2RlX21pbnVzX0w9bm8KCiMgU2V0IHRvIHllcyBpZiB1c2luZyBTSExJ
QlBBVEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSIGludG8KIyB0aGUgcmVz
dWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRlZAoKIyBTZXQg
dG8geWVzIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29k
ZXMgRElSIGludG8gdGhlIGxpYnJhcnkKIyBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFu
ZCBleGVjdXRhYmxlcyBsaW5rZWQgYWdhaW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgoj
IFZhcmlhYmxlcyB3aG9zZSB2YWx1ZXMgc2hvdWxkIGJlIHNhdmVkIGluIGxpYnRvb2wgd3JhcHBl
ciBzY3JpcHRzIGFuZAojIHJlc3RvcmVkIGF0IHJlbGluayB0aW1lLgp2YXJpYWJsZXNfc2F2ZWRf
Zm9yX3JlbGluaz0iUEFUSCAgTERfUlVOX1BBVEggR0NDX0VYRUNfUFJFRklYIENPTVBJTEVSX1BB
VEggTElCUkFSWV9QQVRIIgoKIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBh
Z2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxpbmtfYWxsX2RlcGxpYnM9dW5r
bm93bgoKIyBDb21waWxlLXRpbWUgc3lzdGVtIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMKc3lz
X2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIvbGliIC91c3IvbGliIC91c3IvbG9jYWwvbGliIgoKIyBS
dW4tdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcwpzeXNfbGliX2Rsc2VhcmNo
X3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiIKCiMgRml4IHRoZSBzaGVsbCB2YXJpYWJsZSAkc3Jj
ZmlsZSBmb3IgdGhlIGNvbXBpbGVyLgpmaXhfc3JjZmlsZV9wYXRoPSIiCgojIFNldCB0byB5ZXMg
aWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3ltYm9scz1u
bwoKIyBUaGUgY29tbWFuZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9s
c19jbWRzPSJcJE5NIFwkbGlib2JqcyBcJGNvbnZlbmllbmNlIHwgXCRnbG9iYWxfc3ltYm9sX3Bp
cGUgfCBcJFNFRCAncy8uKiAvLycgfCBzb3J0IHwgdW5pcSA+IFwkZXhwb3J0X3N5bWJvbHMiCgoj
IFRoZSBjb21tYW5kcyB0byBleHRyYWN0IHRoZSBleHBvcnRlZCBzeW1ib2wgbGlzdCBmcm9tIGEg
c2hhcmVkIGFyY2hpdmUuCmV4dHJhY3RfZXhwc3ltc19jbWRzPSIiCgojIFN5bWJvbHMgdGhhdCBz
aG91bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJlbG9hZGVkIHN5bWJvbHMuCmV4Y2x1ZGVfZXhw
c3ltcz0iX0dMT0JBTF9PRkZTRVRfVEFCTEVfIgoKIyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdheXMg
YmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0iIgoKIyAjIyMgRU5EIExJQlRPT0wgQ09ORklH
CgojIGx0bWFpbi5zaCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBw
b3J0IHNlcnZpY2VzLgojIE5PVEU6IENoYW5naW5nIHRoaXMgZmlsZSB3aWxsIG5vdCBhZmZlY3Qg
YW55dGhpbmcgdW50aWwgeW91IHJlcnVuIGNvbmZpZ3VyZS4KIwojIENvcHlyaWdodCAoQykgMTk5
NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNAojIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLgojIE9yaWdpbmFsbHkgYnkgR29yZG9uIE1hdHppZ2tlaXQgPGdv
cmRAZ251LmFpLm1pdC5lZHU+LCAxOTk2CiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
IGJ1dAojIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQojIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KIwojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgojCiMgQXMgYSBzcGVj
aWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQoj
IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMg
YQojIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBp
bmNsdWRlIGl0IHVuZGVyCiMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVz
ZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgoKYmFzZW5hbWU9InMsXi4qLywsZyIKCiMg
V29yayBhcm91bmQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZSBvbiBJUklYIDYuNS4gT24g
SVJJWCA2LjQrLCBzaAojIGlzIGtzaCBidXQgd2hlbiB0aGUgc2hlbGwgaXMgaW52b2tlZCBhcyAi
c2giIGFuZCB0aGUgY3VycmVudCB2YWx1ZSBvZgojIHRoZSBfWFBHIGVudmlyb25tZW50IHZhcmlh
YmxlIGlzIG5vdCBlcXVhbCB0byAxIChvbmUpLCB0aGUgc3BlY2lhbAojIHBvc2l0aW9uYWwgcGFy
YW1ldGVyICQwLCB3aXRoaW4gYSBmdW5jdGlvbiBjYWxsLCBpcyB0aGUgbmFtZSBvZiB0aGUKIyBm
dW5jdGlvbi4KcHJvZ3BhdGg9IiQwIgoKIyBkZWZpbmUgU0VEIGZvciBoaXN0b3JpYyBsdGNvbmZp
ZydzIGdlbmVyYXRlZCBieSBMaWJ0b29sIDEuMwp0ZXN0IC16ICIkU0VEIiAmJiBTRUQ9c2VkCgoj
IFRoZSBuYW1lIG9mIHRoaXMgcHJvZ3JhbToKcHJvZ25hbWU9YGVjaG8gIiRwcm9ncGF0aCIgfCAk
U0VEICRiYXNlbmFtZWAKbW9kZW5hbWU9IiRwcm9nbmFtZSIKCiMgR2xvYmFsIHZhcmlhYmxlczoK
RVhJVF9TVUNDRVNTPTAKRVhJVF9GQUlMVVJFPTEKClBST0dSQU09bHRtYWluLnNoClBBQ0tBR0U9
bGlidG9vbApWRVJTSU9OPTEuNS4xMApUSU1FU1RBTVA9IiAoMS4xMjIwLjIuMTMxIDIwMDQvMDkv
MTkgMTI6NDY6NTYpIgoKIyBTZWUgaWYgd2UgYXJlIHJ1bm5pbmcgb24genNoLCBhbmQgc2V0IHRo
ZSBvcHRpb25zIHdoaWNoIGFsbG93IG91cgojIGNvbW1hbmRzIHRocm91Z2ggd2l0aG91dCByZW1v
dmFsIG9mIFwgZXNjYXBlcy4KaWYgdGVzdCAtbiAiJHtaU0hfVkVSU0lPTitzZXR9IiA7IHRoZW4K
ICBzZXRvcHQgTk9fR0xPQl9TVUJTVApmaQoKIyBDaGVjayB0aGF0IHdlIGhhdmUgYSB3b3JraW5n
ICRlY2hvLgppZiB0ZXN0ICJYJDEiID0gWC0tbm8tcmVleGVjOyB0aGVuCiAgIyBEaXNjYXJkIHRo
ZSAtLW5vLXJlZXhlYyBmbGFnLCBhbmQgY29udGludWUuCiAgc2hpZnQKZWxpZiB0ZXN0ICJYJDEi
ID0gWC0tZmFsbGJhY2stZWNobzsgdGhlbgogICMgQXZvaWQgaW5saW5lIGRvY3VtZW50IGhlcmUs
IGl0IG1heSBiZSBsZWZ0IG92ZXIKICA6CmVsaWYgdGVzdCAiWGAoJGVjaG8gJ1x0JykgMj4vZGV2
L251bGxgIiA9ICdYXHQnOyB0aGVuCiAgIyBZaXBwZWUsICRlY2hvIHdvcmtzIQogIDoKZWxzZQog
ICMgUmVzdGFydCB1bmRlciB0aGUgY29ycmVjdCBzaGVsbCwgYW5kIHRoZW4gbWF5YmUgJGVjaG8g
d2lsbCB3b3JrLgogIGV4ZWMgJFNIRUxMICIkcHJvZ3BhdGgiIC0tbm8tcmVleGVjICR7MSsiJEAi
fQpmaQoKaWYgdGVzdCAiWCQxIiA9IFgtLWZhbGxiYWNrLWVjaG87IHRoZW4KICAjIHVzZWQgYXMg
ZmFsbGJhY2sgZWNobwogIHNoaWZ0CiAgY2F0IDw8RU9GCiQqCkVPRgogIGV4aXQgJEVYSVRfU1VD
Q0VTUwpmaQoKZGVmYXVsdF9tb2RlPQpoZWxwPSJUcnkgXGAkcHJvZ25hbWUgLS1oZWxwJyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbi4iCm1hZ2ljPSIlJSVNQUdJQyB2YXJpYWJsZSUlJSIKbWtkaXI9Im1r
ZGlyIgptdj0ibXYgLWYiCnJtPSJybSAtZiIKCiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBz
IHVzIGRvIHJvYnVzdCBxdW90aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVy
cyB0aGF0IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3RyaW5ncy4KWHNl
ZD0iJHtTRUR9IicgLWUgMXMvXlgvLycKc2VkX3F1b3RlX3N1YnN0PSdzL1woW1xcYFxcIiRcXFxc
XVwpL1xcXDEvZycKIyB0ZXN0IEVCQ0RJQyBvciBBU0NJSQpjYXNlIGBlY2hvIEF8dHIgQSAnXDMw
MSdgIGluCiBBKSAjIEVCQ0RJQyBiYXNlZCBzeXN0ZW0KICBTUDJOTD0idHIgJ1wxMDAnICdcbici
CiAgTkwyU1A9InRyICdcclxuJyAnXDEwMFwxMDAnIgogIDs7CiAqKSAjIEFzc3VtZSBBU0NJSSBi
YXNlZCBzeXN0ZW0KICBTUDJOTD0idHIgJ1wwNDAnICdcMDEyJyIKICBOTDJTUD0idHIgJ1wwMTVc
MDEyJyAnXDA0MFwwNDAnIgogIDs7CmVzYWMKCiMgTkxTIG51aXNhbmNlcy4KIyBPbmx5IHNldCBM
QU5HIGFuZCBMQ19BTEwgdG8gQyBpZiBhbHJlYWR5IHNldC4KIyBUaGVzZSBtdXN0IG5vdCBiZSBz
ZXQgdW5jb25kaXRpb25hbGx5IGJlY2F1c2Ugbm90IGFsbCBzeXN0ZW1zIHVuZGVyc3RhbmQKIyBl
LmcuIExBTkc9QyAobm90YWJseSBTQ08pLgojIFdlIHNhdmUgdGhlIG9sZCB2YWx1ZXMgdG8gcmVz
dG9yZSBkdXJpbmcgZXhlY3V0ZSBtb2RlLgppZiB0ZXN0ICIke0xDX0FMTCtzZXR9IiA9IHNldDsg
dGhlbgogIHNhdmVfTENfQUxMPSIkTENfQUxMIjsgTENfQUxMPUM7IGV4cG9ydCBMQ19BTEwKZmkK
aWYgdGVzdCAiJHtMQU5HK3NldH0iID0gc2V0OyB0aGVuCiAgc2F2ZV9MQU5HPSIkTEFORyI7IExB
Tkc9QzsgZXhwb3J0IExBTkcKZmkKCiMgTWFrZSBzdXJlIElGUyBoYXMgYSBzZW5zaWJsZSBkZWZh
dWx0CjogJHtJRlM9IiAJCiJ9CgppZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXMg
JiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7IHRoZW4KICAkZWNobyAiJG1vZGVuYW1l
OiBub3QgY29uZmlndXJlZCB0byBidWlsZCBhbnkga2luZCBvZiBsaWJyYXJ5IiAxPiYyCiAgJGVj
aG8gIkZhdGFsIGNvbmZpZ3VyYXRpb24gZXJyb3IuICBTZWUgdGhlICRQQUNLQUdFIGRvY3MgZm9y
IG1vcmUgaW5mb3JtYXRpb24uIiAxPiYyCiAgZXhpdCAkRVhJVF9GQUlMVVJFCmZpCgojIEdsb2Jh
bCB2YXJpYWJsZXMuCm1vZGU9JGRlZmF1bHRfbW9kZQpub25vcHQ9CnByZXY9CnByZXZvcHQ9CnJ1
bj0Kc2hvdz0iJGVjaG8iCnNob3dfaGVscD0KZXhlY3V0ZV9kbGZpbGVzPQpsbzJvPSJzL1xcLmxv
XCQvLiR7b2JqZXh0fS8iCm8ybG89InMvXFwuJHtvYmpleHR9XCQvLmxvLyIKCmlmIHRlc3QgLXog
IiRtYXhfY21kX2xlbiI7IHRoZW4KICBpPTAKICB0ZXN0cmluZz0iQUJDRCIKICBuZXdfcmVzdWx0
PQogIAogICMgSWYgdGVzdCBpcyBub3QgYSBzaGVsbCBidWlsdC1pbiwgd2UnbGwgcHJvYmFibHkg
ZW5kIHVwIGNvbXB1dGluZyBhCiAgIyBtYXhpbXVtIGxlbmd0aCB0aGF0IGlzIG9ubHkgaGFsZiBv
ZiB0aGUgYWN0dWFsIG1heGltdW0gbGVuZ3RoLCBidXQKICAjIHdlIGNhbid0IHRlbGwuCiAgd2hp
bGUgKHRlc3QgIlgiYCRTSEVMTCAkMCAtLWZhbGxiYWNrLWVjaG8gIlgkdGVzdHJpbmciIDI+L2Rl
di9udWxsYCBcCiAgICAgICAgICAgICA9ICJYWCR0ZXN0cmluZyIpID4vZGV2L251bGwgMj4mMSAm
JgogICAgICAgICAgbmV3X3Jlc3VsdD1gZXhwciAiWCR0ZXN0cmluZyIgOiAiLioiIDI+JjFgICYm
CiAgICAgICAgICBtYXhfY21kX2xlbj0iJG5ld19yZXN1bHQiICYmCiAgICAgICAgICB0ZXN0ICIk
aSIgIT0gMTcgIyAxLzIgTUIgc2hvdWxkIGJlIGVub3VnaAogIGRvCiAgICBpPWBleHByICRpICsg
MWAKICAgIHRlc3RyaW5nPSIkdGVzdHJpbmckdGVzdHJpbmciCiAgZG9uZQogIHRlc3RyaW5nPQog
ICMgQWRkIGEgc2lnbmlmaWNhbnQgc2FmZXR5IGZhY3RvciBiZWNhdXNlIEMrKyBjb21waWxlcnMg
Y2FuIHRhY2sgb24gbWFzc2l2ZQogICMgYW1vdW50cyBvZiBhZGRpdGlvbmFsIGFyZ3VtZW50cyBi
ZWZvcmUgcGFzc2luZyB0aGVtIHRvIHRoZSBsaW5rZXIuCiAgIyBJdCBhcHBlYXJzIGFzIHRob3Vn
aCAxLzIgaXMgYSB1c2FibGUgdmFsdWUuCiAgbWF4X2NtZF9sZW49YGV4cHIgJG1heF9jbWRfbGVu
IFwvIDJgCmZpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU2hlbGwg
ZnVuY3Rpb24gZGVmaW5pdGlvbnM6CiMgVGhpcyBzZWVtcyB0byBiZSB0aGUgYmVzdCBwbGFjZSBm
b3IgdGhlbQoKIyBmdW5jX3dpbjMyX2xpYmlkIGFyZwojIHJldHVybiB0aGUgbGlicmFyeSB0eXBl
IG9mIGZpbGUgJ2FyZycKIwojIE5lZWQgYSBsb3Qgb2YgZ29vIHRvIGhhbmRsZSAqYm90aCogRExM
cyBhbmQgaW1wb3J0IGxpYnMKIyBIYXMgdG8gYmUgYSBzaGVsbCBmdW5jdGlvbiBpbiBvcmRlciB0
byAnZWF0JyB0aGUgYXJndW1lbnQKIyB0aGF0IGlzIHN1cHBsaWVkIHdoZW4gJGZpbGVfbWFnaWNf
Y29tbWFuZCBpcyBjYWxsZWQuCmZ1bmNfd2luMzJfbGliaWQgKCkgewogIHdpbjMyX2xpYmlkX3R5
cGU9InVua25vd24iCiAgd2luMzJfZmlsZXJlcz1gZmlsZSAtTCAkMSAyPi9kZXYvbnVsbGAKICBj
YXNlICR3aW4zMl9maWxlcmVzIGluCiAgKmFyXCBhcmNoaXZlXCBpbXBvcnRcIGxpYnJhcnkqKSAj
IGRlZmluaXRlbHkgaW1wb3J0CiAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgYXJjaGl2ZSBpbXBv
cnQiCiAgICA7OwogICphclwgYXJjaGl2ZSopICMgY291bGQgYmUgYW4gaW1wb3J0LCBvciBzdGF0
aWMKICAgIGlmIGV2YWwgJE9CSkRVTVAgLWYgJDEgfCAkU0VEIC1lICcxMHEnIDI+L2Rldi9udWxs
IHwgXAogICAgICAkRUdSRVAgLWUgJ2ZpbGUgZm9ybWF0IHBlLWkzODYoLiphcmNoaXRlY3R1cmU6
IGkzODYpPycgPi9kZXYvbnVsbCA7IHRoZW4KICAgICAgd2luMzJfbm1yZXM9YGV2YWwgJE5NIC1m
IHBvc2l4IC1BICQxIHwgXAoJc2VkIC1uIC1lICcxLDEwMHsvIEkgL3t4Oy9pbXBvcnQvIXtzL14v
aW1wb3J0LztoO3A7fTt4O307fSdgCiAgICAgIGlmIHRlc3QgIlgkd2luMzJfbm1yZXMiID0gIlhp
bXBvcnQiIDsgdGhlbgogICAgICAgIHdpbjMyX2xpYmlkX3R5cGU9Ing4NiBhcmNoaXZlIGltcG9y
dCIKICAgICAgZWxzZQogICAgICAgIHdpbjMyX2xpYmlkX3R5cGU9Ing4NiBhcmNoaXZlIHN0YXRp
YyIKICAgICAgZmkKICAgIGZpCiAgICA7OwogICpETEwqKQogICAgd2luMzJfbGliaWRfdHlwZT0i
eDg2IERMTCIKICAgIDs7CiAgKmV4ZWN1dGFibGUqKSAjIGJ1dCBzaGVsbCBzY3JpcHRzIGFyZSAi
ZXhlY3V0YWJsZSIgdG9vLi4uCiAgICBjYXNlICR3aW4zMl9maWxlcmVzIGluCiAgICAqTVNcIFdp
bmRvd3NcIFBFXCBJbnRlbCopCiAgICAgIHdpbjMyX2xpYmlkX3R5cGU9Ing4NiBETEwiCiAgICAg
IDs7CiAgICBlc2FjCiAgICA7OwogIGVzYWMKICAkZWNobyAkd2luMzJfbGliaWRfdHlwZQp9CgoK
IyBmdW5jX2luZmVyX3RhZyBhcmcKIyBJbmZlciB0YWdnZWQgY29uZmlndXJhdGlvbiB0byB1c2Ug
aWYgYW55IGFyZSBhdmFpbGFibGUgYW5kCiMgaWYgb25lIHdhc24ndCBjaG9zZW4gdmlhIHRoZSAi
LS10YWciIGNvbW1hbmQgbGluZSBvcHRpb24uCiMgT25seSBhdHRlbXB0IHRoaXMgaWYgdGhlIGNv
bXBpbGVyIGluIHRoZSBiYXNlIGNvbXBpbGUKIyBjb21tYW5kIGRvZXNuJ3QgbWF0Y2ggdGhlIGRl
ZmF1bHQgY29tcGlsZXIuCiMgYXJnIGlzIHVzdWFsbHkgb2YgdGhlIGZvcm0gJ2djYyAuLi4nCmZ1
bmNfaW5mZXJfdGFnICgpIHsKICAgIGlmIHRlc3QgLW4gIiRhdmFpbGFibGVfdGFncyIgJiYgdGVz
dCAteiAiJHRhZ25hbWUiOyB0aGVuCiAgICAgIENDX3F1b3RlZD0KICAgICAgZm9yIGFyZyBpbiAk
Q0M7IGRvCgljYXNlICRhcmcgaW4KCSAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9c
J1wgXAldKnwqXSp8IiIpCgkgIGFyZz0iXCIkYXJnXCIiCgkgIDs7Cgllc2FjCglDQ19xdW90ZWQ9
IiRDQ19xdW90ZWQgJGFyZyIKICAgICAgZG9uZQogICAgICBjYXNlICRAIGluCiAgICAgICMgQmxh
bmtzIGluIHRoZSBjb21tYW5kIG1heSBoYXZlIGJlZW4gc3RyaXBwZWQgYnkgdGhlIGNhbGxpbmcg
c2hlbGwsCiAgICAgICMgYnV0IG5vdCBmcm9tIHRoZSBDQyBlbnZpcm9ubWVudCB2YXJpYWJsZSB3
aGVuIGNvbmZpZ3VyZSB3YXMgcnVuLgogICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiIGAkZWNo
byAkQ0NgICIqIHwgImAkZWNobyAkQ0NgICIqIHwgIiAkQ0NfcXVvdGVkIiogfCAiJENDX3F1b3Rl
ZCAiKiB8ICIgYCRlY2hvICRDQ19xdW90ZWRgICIqIHwgImAkZWNobyAkQ0NfcXVvdGVkYCAiKikg
OzsKICAgICAgIyBCbGFua3MgYXQgdGhlIHN0YXJ0IG9mICRiYXNlX2NvbXBpbGUgd2lsbCBjYXVz
ZSB0aGlzIHRvIGZhaWwKICAgICAgIyBpZiB3ZSBkb24ndCBjaGVjayBmb3IgdGhlbSBhcyB3ZWxs
LgogICAgICAqKQoJZm9yIHogaW4gJGF2YWlsYWJsZV90YWdzOyBkbwoJICBpZiBncmVwICJeIyAj
IyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAkeiQiIDwgIiRwcm9ncGF0aCIgPiAvZGV2L251
bGw7IHRoZW4KCSAgICAjIEV2YWx1YXRlIHRoZSBjb25maWd1cmF0aW9uLgoJICAgIGV2YWwgImAk
e1NFRH0gLW4gLWUgJy9eIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAnJHonJC8sL14j
ICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiAnJHonJC9wJyA8ICRwcm9ncGF0aGAiCgkgICAg
Q0NfcXVvdGVkPQoJICAgIGZvciBhcmcgaW4gJENDOyBkbwoJICAgICMgRG91YmxlLXF1b3RlIGFy
Z3MgY29udGFpbmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KCSAgICBjYXNlICRhcmcg
aW4KCSAgICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIi
KQoJICAgICAgYXJnPSJcIiRhcmdcIiIKCSAgICAgIDs7CgkgICAgZXNhYwoJICAgIENDX3F1b3Rl
ZD0iJENDX3F1b3RlZCAkYXJnIgoJICBkb25lCgkgICAgIyB1c2VyIHNvbWV0aW1lcyBkb2VzIEND
PTxIT1NUPi1nY2Mgc28gd2UgbmVlZCB0byBtYXRjaCB0aGF0IHRvICdnY2MnCgkgICAgdHJpbWVk
Y2M9YGVjaG8gJHtDQ30gfCAkU0VEIC1lICJzLyR7aG9zdH0tLy9nImAKCSAgICAjIGFuZCBzb21l
dGltZXMgbGlidG9vbCBoYXMgQ0M9PEhPU1Q+LWdjYyBidXQgdXNlciBkb2VzIENDPWdjYwoJICAg
IGV4dGVuZGNjPSR7aG9zdH0tJHtDQ30KCSAgICBjYXNlICIkQCAiIGluCgkgICAgICAiZ2NjICIq
IHwgIiBnY2MgIiogfCAiJHtob3N0fS1nY2MgIiogfCAiICR7aG9zdH0tZ2NjICIqKQoJICAgICAg
dGFnbmFtZT1DQwoJICAgICAgYnJlYWsgOzsKCSAgICAgICIkdHJpbWVkY2MgIiogfCAiICR0cmlt
ZWRjYyAiKiB8ICJgJGVjaG8gJHRyaW1lZGNjYCAiKiB8ICIgYCRlY2hvICR0cmltZWRjY2AgIip8
XAoJICAgICAgIiRleHRlbmRjYyAiKiB8ICIgJGV4dGVuZGNjICIqIHwgImAkZWNobyAkZXh0ZW5k
Y2NgICIqIHwgIiBgJGVjaG8gJGV4dGVuZGNjYCAiKnxcCgkgICAgICAiICRDQyAiKiB8ICIkQ0Mg
IiogfCAiIGAkZWNobyAkQ0NgICIqIHwgImAkZWNobyAkQ0NgICIqIHwgIiAkQ0NfcXVvdGVkIiog
fCAiJENDX3F1b3RlZCAiKiB8ICIgYCRlY2hvICRDQ19xdW90ZWRgICIqIHwgImAkZWNobyAkQ0Nf
cXVvdGVkYCAiKikKCSAgICAgICMgVGhlIGNvbXBpbGVyIGluIHRoZSBiYXNlIGNvbXBpbGUgY29t
bWFuZCBtYXRjaGVzCgkgICAgICAjIHRoZSBvbmUgaW4gdGhlIHRhZ2dlZCBjb25maWd1cmF0aW9u
LgoJICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24gd2Ugd2Fu
dC4KCSAgICAgIHRhZ25hbWU9JHoKCSAgICAgIGJyZWFrCgkgICAgICA7OwoJICAgIGVzYWMKCSAg
ZmkKCWRvbmUKCSMgSWYgJHRhZ25hbWUgc3RpbGwgaXNuJ3Qgc2V0LCB0aGVuIG5vIHRhZ2dlZCBj
b25maWd1cmF0aW9uCgkjIHdhcyBmb3VuZCBhbmQgbGV0IHRoZSB1c2VyIGtub3cgdGhhdCB0aGUg
Ii0tdGFnIiBjb21tYW5kCgkjIGxpbmUgb3B0aW9uIG11c3QgYmUgdXNlZC4KCWlmIHRlc3QgLXog
IiR0YWduYW1lIjsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiB1bmFibGUgdG8gaW5mZXIgdGFn
Z2VkIGNvbmZpZ3VyYXRpb24iCgkgICRlY2hvICIkbW9kZW5hbWU6IHNwZWNpZnkgYSB0YWcgd2l0
aCBcYC0tdGFnJyIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKIyAgICAgICAgZWxzZQojICAg
ICAgICAgICRlY2hvICIkbW9kZW5hbWU6IHVzaW5nICR0YWduYW1lIHRhZ2dlZCBjb25maWd1cmF0
aW9uIgoJZmkKCTs7CiAgICAgIGVzYWMKICAgIGZpCn0KCgojIGZ1bmNfZXh0cmFjdF9hcmNoaXZl
cyBnZW50b3Agb2xkbGliIC4uLgpmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgKCkgewogICAgbXlfZ2Vu
dG9wPSIkMSI7IHNoaWZ0CiAgICBteV9vbGRsaWJzPSR7MSsiJEAifQogICAgbXlfb2xkb2Jqcz0i
IgogICAgbXlfeGxpYj0iIgogICAgbXlfeGFicz0iIgogICAgbXlfeGRpcj0iIgogICAgbXlfc3Rh
dHVzPSIiCgogICAgJHNob3cgIiR7cm19ciAkbXlfZ2VudG9wIgogICAgJHJ1biAke3JtfXIgIiRt
eV9nZW50b3AiCiAgICAkc2hvdyAiJG1rZGlyICRteV9nZW50b3AiCiAgICAkcnVuICRta2RpciAi
JG15X2dlbnRvcCIKICAgIG15X3N0YXR1cz0kPwogICAgaWYgdGVzdCAiJG15X3N0YXR1cyIgLW5l
IDAgJiYgdGVzdCAhIC1kICIkbXlfZ2VudG9wIjsgdGhlbgogICAgICBleGl0ICRteV9zdGF0dXMK
ICAgIGZpCgogICAgZm9yIG15X3hsaWIgaW4gJG15X29sZGxpYnM7IGRvCiAgICAgICMgRXh0cmFj
dCB0aGUgb2JqZWN0cy4KICAgICAgY2FzZSAkbXlfeGxpYiBpbgoJW1xcL10qIHwgW0EtWmEtel06
W1xcL10qKSBteV94YWJzPSIkbXlfeGxpYiIgOzsKCSopIG15X3hhYnM9YHB3ZGAiLyRteV94bGli
IiA7OwogICAgICBlc2FjCiAgICAgIG15X3hsaWI9YCRlY2hvICJYJG15X3hsaWIiIHwgJFhzZWQg
LWUgJ3MlXi4qLyUlJ2AKICAgICAgbXlfeGRpcj0iJG15X2dlbnRvcC8kbXlfeGxpYiIKCiAgICAg
ICRzaG93ICIke3JtfXIgJG15X3hkaXIiCiAgICAgICRydW4gJHtybX1yICIkbXlfeGRpciIKICAg
ICAgJHNob3cgIiRta2RpciAkbXlfeGRpciIKICAgICAgJHJ1biAkbWtkaXIgIiRteV94ZGlyIgog
ICAgICBzdGF0dXM9JD8KICAgICAgaWYgdGVzdCAiJHN0YXR1cyIgLW5lIDAgJiYgdGVzdCAhIC1k
ICIkbXlfeGRpciI7IHRoZW4KCWV4aXQgJHN0YXR1cwogICAgICBmaQogICAgICBjYXNlICRob3N0
IGluCiAgICAgICotZGFyd2luKikKCSRzaG93ICJFeHRyYWN0aW5nICRteV94YWJzIgoJIyBEbyBu
b3QgYm90aGVyIGRvaW5nIGFueXRoaW5nIGlmIGp1c3QgYSBkcnkgcnVuCglpZiB0ZXN0IC16ICIk
cnVuIjsgdGhlbgoJICBkYXJ3aW5fb3JpZ19kaXI9YHB3ZGAKCSAgY2QgJG15X3hkaXIgfHwgZXhp
dCAkPwoJICBkYXJ3aW5fYXJjaGl2ZT0kbXlfeGFicwoJICBkYXJ3aW5fY3VyZGlyPWBwd2RgCgkg
IGRhcndpbl9iYXNlX2FyY2hpdmU9YGJhc2VuYW1lICRkYXJ3aW5fYXJjaGl2ZWAKCSAgZGFyd2lu
X2FyY2hlcz1gbGlwbyAtaW5mbyAiJGRhcndpbl9hcmNoaXZlIiAyPi9kZXYvbnVsbCB8ICRFR1JF
UCBBcmNoaXRlY3R1cmVzIDI+L2Rldi9udWxsYAoJICBpZiB0ZXN0IC1uICIkZGFyd2luX2FyY2hl
cyI7IHRoZW4gCgkgICAgZGFyd2luX2FyY2hlcz1gZWNobyAiJGRhcndpbl9hcmNoZXMiIHwgJFNF
RCAtZSAncy8uKmFyZTovLydgCgkgICAgZGFyd2luX2FyY2g9CgkgICAgJHNob3cgIiRkYXJ3aW5f
YmFzZV9hcmNoaXZlIGhhcyBtdWx0aXBsZSBhcmNoaXRlY3R1cmVzICRkYXJ3aW5fYXJjaGVzIgoJ
ICAgIGZvciBkYXJ3aW5fYXJjaCBpbiAgJGRhcndpbl9hcmNoZXMgOyBkbwoJICAgICAgbWtkaXIg
LXAgInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0iCgkgICAg
ICBsaXBvIC10aGluICRkYXJ3aW5fYXJjaCAtb3V0cHV0ICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNl
X2FyY2hpdmV9LSR7ZGFyd2luX2FyY2h9LyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0iICIke2Rhcndp
bl9hcmNoaXZlfSIKCSAgICAgICMgUmVtb3ZlIHRoZSB0YWJsZSBvZiBjb250ZW50cyBmcm9tIHRo
ZSB0aGluIGZpbGVzLgoJICAgICAgJEFSIC1kICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNlX2FyY2hp
dmV9LSR7ZGFyd2luX2FyY2h9LyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0iIF9fLlNZTURFRiAyPi9k
ZXYvbnVsbCB8fCB0cnVlCgkgICAgICAkQVIgLWQgInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJj
aGl2ZX0tJHtkYXJ3aW5fYXJjaH0vJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIgX18uU1lNREVGXCBT
T1JURUQgMj4vZGV2L251bGwgfHwgdHJ1ZQoJICAgICAgY2QgInVuZmF0LSQkLyR7ZGFyd2luX2Jh
c2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0iCgkgICAgICAkQVIgLXhvICIke2Rhcndpbl9iYXNl
X2FyY2hpdmV9IgoJICAgICAgcm0gIiR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0iCgkgICAgICBjZCAi
JGRhcndpbl9jdXJkaXIiCgkgICAgZG9uZSAjICRkYXJ3aW5fYXJjaGVzCiAgICAgICMjIE9rYXkg
bm93IHdlIGhhdmUgYSBidW5jaCBvZiB0aGluIG9iamVjdHMsIGdvdHRhIGZhdHRlbiB0aGVtIHVw
IDopCgkgICAgZGFyd2luX2ZpbGVsaXN0PWBmaW5kIHVuZmF0LSQkIC10eXBlIGYgfCB4YXJncyBi
YXNlbmFtZSB8IHNvcnQgLXUgfCAkTkwyU1BgCgkgICAgZGFyd2luX2ZpbGU9CgkgICAgZGFyd2lu
X2ZpbGVzPQoJICAgIGZvciBkYXJ3aW5fZmlsZSBpbiAkZGFyd2luX2ZpbGVsaXN0OyBkbwoJICAg
ICAgZGFyd2luX2ZpbGVzPWBmaW5kIHVuZmF0LSQkIC1uYW1lICRkYXJ3aW5fZmlsZSAtcHJpbnQg
fCAkTkwyU1BgCgkgICAgICBsaXBvIC1jcmVhdGUgLW91dHB1dCAiJGRhcndpbl9maWxlIiAkZGFy
d2luX2ZpbGVzCgkgICAgZG9uZSAjICRkYXJ3aW5fZmlsZWxpc3QKCSAgICBybSAtcmYgdW5mYXQt
JCQKCSAgICBjZCAiJGRhcndpbl9vcmlnX2RpciIKCSAgZWxzZQoJICAgIGNkICRkYXJ3aW5fb3Jp
Z19kaXIKCSAgICAoY2QgJG15X3hkaXIgJiYgJEFSIHggJG15X3hhYnMpIHx8IGV4aXQgJD8KCSAg
ZmkgIyAkZGFyd2luX2FyY2hlcwoJZmkgIyAkcnVuCiAgICAgIDs7CiAgICAgICopCgkjIFdlIHdp
bGwgZXh0cmFjdCBzZXBhcmF0ZWx5IGp1c3QgdGhlIGNvbmZsaWN0aW5nIG5hbWVzIGFuZCB3ZSB3
aWxsCgkjIG5vIGxvbmdlciB0b3VjaCBhbnkgdW5pcXVlIG5hbWVzLiBJdCBpcyBmYXN0ZXIgdG8g
bGVhdmUgdGhlc2UKCSMgZXh0cmFjdCBhdXRvbWF0aWNhbGx5IGJ5ICRBUiBpbiBvbmUgcnVuLgoJ
JHNob3cgIihjZCAkbXlfeGRpciAmJiAkQVIgeCAkbXlfeGFicykiCgkkcnVuIGV2YWwgIihjZCBc
JG15X3hkaXIgJiYgJEFSIHggXCRteV94YWJzKSIgfHwgZXhpdCAkPwoJaWYgKCRBUiB0ICIkbXlf
eGFicyIgfCBzb3J0IHwgc29ydCAtdWMgPi9kZXYvbnVsbCAyPiYxKTsgdGhlbgoJICA6CgllbHNl
CgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IG9iamVjdCBuYW1lIGNvbmZsaWN0czsgcmVu
YW1pbmcgb2JqZWN0IGZpbGVzIiAxPiYyCgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IHRv
IGVuc3VyZSB0aGF0IHRoZXkgd2lsbCBub3Qgb3ZlcndyaXRlIiAxPiYyCgkgICRBUiB0ICIkbXlf
eGFicyIgfCBzb3J0IHwgdW5pcSAtY2QgfCB3aGlsZSByZWFkIC1yIGNvdW50IG5hbWUKCSAgZG8K
CSAgICBpPTEKCSAgICB3aGlsZSB0ZXN0ICIkaSIgLWxlICIkY291bnQiCgkgICAgZG8KCSAgICAg
ICMgUHV0IG91ciAkaSBiZWZvcmUgYW55IGZpcnN0IGRvdCAoZXh0ZW5zaW9uKQoJICAgICAgIyBO
ZXZlciBvdmVyd3JpdGUgYW55IGZpbGUKCSAgICAgIG5hbWVfdG89IiRuYW1lIgoJICAgICAgd2hp
bGUgdGVzdCAiWCRuYW1lX3RvIiA9ICJYJG5hbWUiIHx8IHRlc3QgLWYgIiRteV94ZGlyLyRuYW1l
X3RvIgoJICAgICAgZG8KCQluYW1lX3RvPWAkZWNobyAiWCRuYW1lX3RvIiB8ICRYc2VkIC1lICJz
L1woW14uXSpcKS9cMS0kaS8iYAoJICAgICAgZG9uZQoJICAgICAgJHNob3cgIihjZCAkbXlfeGRp
ciAmJiAkQVIgeE4gJGkgJG15X3hhYnMgJyRuYW1lJyAmJiAkbXYgJyRuYW1lJyAnJG5hbWVfdG8n
KSIKCSAgICAgICRydW4gZXZhbCAiKGNkIFwkbXlfeGRpciAmJiAkQVIgeE4gJGkgXCRteV94YWJz
ICckbmFtZScgJiYgJG12ICckbmFtZScgJyRuYW1lX3RvJykiIHx8IGV4aXQgJD8KCSAgICAgIGk9
YGV4cHIgJGkgKyAxYAoJICAgIGRvbmUKCSAgZG9uZQoJZmkKCTs7CiAgICAgIGVzYWMKICAgICAg
bXlfb2xkb2Jqcz0iJG15X29sZG9ianMgImBmaW5kICRteV94ZGlyIC1uYW1lIFwqLiRvYmpleHQg
LXByaW50IC1vIC1uYW1lIFwqLmxvIC1wcmludCB8ICROTDJTUGAKICAgIGRvbmUKCiAgICBmdW5j
X2V4dHJhY3RfYXJjaGl2ZXNfcmVzdWx0PSIkbXlfb2xkb2JqcyIKfQojIEVuZCBvZiBTaGVsbCBm
dW5jdGlvbiBkZWZpbml0aW9ucwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
CgojIERhcndpbiBzdWNrcwpldmFsIHN0ZF9zaHJleHQ9XCIkc2hyZXh0X2NtZHNcIgoKIyBQYXJz
ZSBvdXIgY29tbWFuZCBsaW5lIG9wdGlvbnMgb25jZSwgdGhvcm91Z2hseS4Kd2hpbGUgdGVzdCAi
JCMiIC1ndCAwCmRvCiAgYXJnPSIkMSIKICBzaGlmdAoKICBjYXNlICRhcmcgaW4KICAtKj0qKSBv
cHRhcmc9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAncy9bLV9hLXpBLVowLTldKj0vLydgIDs7
CiAgKikgb3B0YXJnPSA7OwogIGVzYWMKCiAgIyBJZiB0aGUgcHJldmlvdXMgb3B0aW9uIG5lZWRz
IGFuIGFyZ3VtZW50LCBhc3NpZ24gaXQuCiAgaWYgdGVzdCAtbiAiJHByZXYiOyB0aGVuCiAgICBj
YXNlICRwcmV2IGluCiAgICBleGVjdXRlX2RsZmlsZXMpCiAgICAgIGV4ZWN1dGVfZGxmaWxlcz0i
JGV4ZWN1dGVfZGxmaWxlcyAkYXJnIgogICAgICA7OwogICAgdGFnKQogICAgICB0YWduYW1lPSIk
YXJnIgogICAgICBwcmVzZXJ2ZV9hcmdzPSIke3ByZXNlcnZlX2FyZ3N9PSRhcmciCgogICAgICAj
IENoZWNrIHdoZXRoZXIgdGFnbmFtZSBjb250YWlucyBvbmx5IHZhbGlkIGNoYXJhY3RlcnMKICAg
ICAgY2FzZSAkdGFnbmFtZSBpbgogICAgICAqWyEtX0EtWmEtejAtOSwvXSopCgkkZWNobyAiJHBy
b2duYW1lOiBpbnZhbGlkIHRhZyBuYW1lOiAkdGFnbmFtZSIgMT4mMgoJZXhpdCAkRVhJVF9GQUlM
VVJFCgk7OwogICAgICBlc2FjCgogICAgICBjYXNlICR0YWduYW1lIGluCiAgICAgIENDKQoJIyBE
b24ndCB0ZXN0IGZvciB0aGUgImRlZmF1bHQiIEMgdGFnLCBhcyB3ZSBrbm93LCBpdCdzIHRoZXJl
LCBidXQKCSMgbm90IHNwZWNpYWxseSBtYXJrZWQuCgk7OwogICAgICAqKQoJaWYgZ3JlcCAiXiMg
IyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogJHRhZ25hbWUkIiA8ICIkcHJvZ3BhdGgiID4g
L2Rldi9udWxsOyB0aGVuCgkgIHRhZ2xpc3Q9IiR0YWdsaXN0ICR0YWduYW1lIgoJICAjIEV2YWx1
YXRlIHRoZSBjb25maWd1cmF0aW9uLgoJICBldmFsICJgJHtTRUR9IC1uIC1lICcvXiMgIyMjIEJF
R0lOIExJQlRPT0wgVEFHIENPTkZJRzogJyR0YWduYW1lJyQvLC9eIyAjIyMgRU5EIExJQlRPT0wg
VEFHIENPTkZJRzogJyR0YWduYW1lJyQvcCcgPCAkcHJvZ3BhdGhgIgoJZWxzZQoJICAkZWNobyAi
JHByb2duYW1lOiBpZ25vcmluZyB1bmtub3duIHRhZyAkdGFnbmFtZSIgMT4mMgoJZmkKCTs7CiAg
ICAgIGVzYWMKICAgICAgOzsKICAgICopCiAgICAgIGV2YWwgIiRwcmV2PVwkYXJnIgogICAgICA7
OwogICAgZXNhYwoKICAgIHByZXY9CiAgICBwcmV2b3B0PQogICAgY29udGludWUKICBmaQoKICAj
IEhhdmUgd2Ugc2VlbiBhIG5vbi1vcHRpb25hbCBhcmd1bWVudCB5ZXQ/CiAgY2FzZSAkYXJnIGlu
CiAgLS1oZWxwKQogICAgc2hvd19oZWxwPXllcwogICAgOzsKCiAgLS12ZXJzaW9uKQogICAgJGVj
aG8gIiRQUk9HUkFNIChHTlUgJFBBQ0tBR0UpICRWRVJTSU9OJFRJTUVTVEFNUCIKICAgICRlY2hv
CiAgICAkZWNobyAiQ29weXJpZ2h0IChDKSAyMDAzICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4iCiAgICAkZWNobyAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBm
b3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8iCiAgICAkZWNobyAid2FycmFudHk7
IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuIgogICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICA7OwoKICAtLWNvbmZpZykKICAg
ICR7U0VEfSAtZSAnMSwvXiMgIyMjIEJFR0lOIExJQlRPT0wgQ09ORklHL2QnIC1lICcvXiMgIyMj
IEVORCBMSUJUT09MIENPTkZJRy8sJGQnICRwcm9ncGF0aAogICAgIyBOb3cgcHJpbnQgdGhlIGNv
bmZpZ3VyYXRpb25zIGZvciB0aGUgdGFncy4KICAgIGZvciB0YWduYW1lIGluICR0YWdsaXN0OyBk
bwogICAgICAke1NFRH0gLW4gLWUgIi9eIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAk
dGFnbmFtZSQvLC9eIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogJHRhZ25hbWUkL3AiIDwg
IiRwcm9ncGF0aCIKICAgIGRvbmUKICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwogICAgOzsKCiAgLS1k
ZWJ1ZykKICAgICRlY2hvICIkcHJvZ25hbWU6IGVuYWJsaW5nIHNoZWxsIHRyYWNlIG1vZGUiCiAg
ICBzZXQgLXgKICAgIHByZXNlcnZlX2FyZ3M9IiRwcmVzZXJ2ZV9hcmdzICRhcmciCiAgICA7OwoK
ICAtLWRyeS1ydW4gfCAtbikKICAgIHJ1bj06CiAgICA7OwoKICAtLWZlYXR1cmVzKQogICAgJGVj
aG8gImhvc3Q6ICRob3N0IgogICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7
IHRoZW4KICAgICAgJGVjaG8gImVuYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZWxzZQogICAg
ICAkZWNobyAiZGlzYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZmkKICAgIGlmIHRlc3QgIiRi
dWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KICAgICAgJGVjaG8gImVuYWJsZSBzdGF0aWMgbGli
cmFyaWVzIgogICAgZWxzZQogICAgICAkZWNobyAiZGlzYWJsZSBzdGF0aWMgbGlicmFyaWVzIgog
ICAgZmkKICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwogICAgOzsKCiAgLS1maW5pc2gpIG1vZGU9ImZp
bmlzaCIgOzsKCiAgLS1tb2RlKSBwcmV2b3B0PSItLW1vZGUiIHByZXY9bW9kZSA7OwogIC0tbW9k
ZT0qKSBtb2RlPSIkb3B0YXJnIiA7OwoKICAtLXByZXNlcnZlLWR1cC1kZXBzKSBkdXBsaWNhdGVf
ZGVwcz0ieWVzIiA7OwoKICAtLXF1aWV0IHwgLS1zaWxlbnQpCiAgICBzaG93PToKICAgIHByZXNl
cnZlX2FyZ3M9IiRwcmVzZXJ2ZV9hcmdzICRhcmciCiAgICA7OwoKICAtLXRhZykgcHJldm9wdD0i
LS10YWciIHByZXY9dGFnIDs7CiAgLS10YWc9KikKICAgIHNldCB0YWcgIiRvcHRhcmciICR7MSsi
JEAifQogICAgc2hpZnQKICAgIHByZXY9dGFnCiAgICBwcmVzZXJ2ZV9hcmdzPSIkcHJlc2VydmVf
YXJncyAtLXRhZyIKICAgIDs7CgogIC1kbG9wZW4pCiAgICBwcmV2b3B0PSItZGxvcGVuIgogICAg
cHJldj1leGVjdXRlX2RsZmlsZXMKICAgIDs7CgogIC0qKQogICAgJGVjaG8gIiRtb2RlbmFtZTog
dW5yZWNvZ25pemVkIG9wdGlvbiBcYCRhcmcnIiAxPiYyCiAgICAkZWNobyAiJGhlbHAiIDE+JjIK
ICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogICAgOzsKCiAgKikKICAgIG5vbm9wdD0iJGFyZyIKICAg
IGJyZWFrCiAgICA7OwogIGVzYWMKZG9uZQoKaWYgdGVzdCAtbiAiJHByZXZvcHQiOyB0aGVuCiAg
JGVjaG8gIiRtb2RlbmFtZTogb3B0aW9uIFxgJHByZXZvcHQnIHJlcXVpcmVzIGFuIGFyZ3VtZW50
IiAxPiYyCiAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgZXhpdCAkRVhJVF9GQUlMVVJFCmZpCgojIElm
IHRoaXMgdmFyaWFibGUgaXMgc2V0IGluIGFueSBvZiB0aGUgYWN0aW9ucywgdGhlIGNvbW1hbmQg
aW4gaXQKIyB3aWxsIGJlIGV4ZWNlZCBhdCB0aGUgZW5kLiAgVGhpcyBwcmV2ZW50cyBoZXJlLWRv
Y3VtZW50cyBmcm9tIGJlaW5nCiMgbGVmdCBvdmVyIGJ5IHNoZWxscy4KZXhlY19jbWQ9CgppZiB0
ZXN0IC16ICIkc2hvd19oZWxwIjsgdGhlbgoKICAjIEluZmVyIHRoZSBvcGVyYXRpb24gbW9kZS4K
ICBpZiB0ZXN0IC16ICIkbW9kZSI7IHRoZW4KICAgICRlY2hvICIqKiogV2FybmluZzogaW5mZXJy
aW5nIHRoZSBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXByZWNhdGVkLiIgMT4mMgogICAgJGVjaG8g
IioqKiBGdXR1cmUgdmVyc2lvbnMgb2YgTGlidG9vbCB3aWxsIHJlcXVpcmUgLW1vZGU9TU9ERSBi
ZSBzcGVjaWZpZWQuIiAxPiYyCiAgICBjYXNlICRub25vcHQgaW4KICAgICpjYyB8IGNjKiB8ICor
KyB8IGdjYyogfCAqLWdjYyogfCBnKysqIHwgeGxjKikKICAgICAgbW9kZT1saW5rCiAgICAgIGZv
ciBhcmcKICAgICAgZG8KCWNhc2UgJGFyZyBpbgoJLWMpCgkgICBtb2RlPWNvbXBpbGUKCSAgIGJy
ZWFrCgkgICA7OwoJZXNhYwogICAgICBkb25lCiAgICAgIDs7CiAgICAqZGIgfCAqZGJ4IHwgKnN0
cmFjZSB8ICp0cnVzcykKICAgICAgbW9kZT1leGVjdXRlCiAgICAgIDs7CiAgICAqaW5zdGFsbCp8
Y3B8bXYpCiAgICAgIG1vZGU9aW5zdGFsbAogICAgICA7OwogICAgKnJtKQogICAgICBtb2RlPXVu
aW5zdGFsbAogICAgICA7OwogICAgKikKICAgICAgIyBJZiB3ZSBoYXZlIG5vIG1vZGUsIGJ1dCBk
bGZpbGVzIHdlcmUgc3BlY2lmaWVkLCB0aGVuIGRvIGV4ZWN1dGUgbW9kZS4KICAgICAgdGVzdCAt
biAiJGV4ZWN1dGVfZGxmaWxlcyIgJiYgbW9kZT1leGVjdXRlCgogICAgICAjIEp1c3QgdXNlIHRo
ZSBkZWZhdWx0IG9wZXJhdGlvbiBtb2RlLgogICAgICBpZiB0ZXN0IC16ICIkbW9kZSI7IHRoZW4K
CWlmIHRlc3QgLW4gIiRub25vcHQiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6
IGNhbm5vdCBpbmZlciBvcGVyYXRpb24gbW9kZSBmcm9tIFxgJG5vbm9wdCciIDE+JjIKCWVsc2UK
CSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogY2Fubm90IGluZmVyIG9wZXJhdGlvbiBtb2Rl
IHdpdGhvdXQgTU9ERS1BUkdTIiAxPiYyCglmaQogICAgICBmaQogICAgICA7OwogICAgZXNhYwog
IGZpCgogICMgT25seSBleGVjdXRlIG1vZGUgaXMgYWxsb3dlZCB0byBoYXZlIC1kbG9wZW4gZmxh
Z3MuCiAgaWYgdGVzdCAtbiAiJGV4ZWN1dGVfZGxmaWxlcyIgJiYgdGVzdCAiJG1vZGUiICE9IGV4
ZWN1dGU7IHRoZW4KICAgICRlY2hvICIkbW9kZW5hbWU6IHVucmVjb2duaXplZCBvcHRpb24gXGAt
ZGxvcGVuJyIgMT4mMgogICAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgICBleGl0ICRFWElUX0ZBSUxV
UkUKICBmaQoKICAjIENoYW5nZSB0aGUgaGVscCBtZXNzYWdlIHRvIGEgbW9kZS1zcGVjaWZpYyBv
bmUuCiAgZ2VuZXJpY19oZWxwPSIkaGVscCIKICBoZWxwPSJUcnkgXGAkbW9kZW5hbWUgLS1oZWxw
IC0tbW9kZT0kbW9kZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgoKICAjIFRoZXNlIG1vZGVzIGFy
ZSBpbiBvcmRlciBvZiBleGVjdXRpb24gZnJlcXVlbmN5IHNvIHRoYXQgdGhleSBydW4gcXVpY2ts
eS4KICBjYXNlICRtb2RlIGluCiAgIyBsaWJ0b29sIGNvbXBpbGUgbW9kZQogIGNvbXBpbGUpCiAg
ICBtb2RlbmFtZT0iJG1vZGVuYW1lOiBjb21waWxlIgogICAgIyBHZXQgdGhlIGNvbXBpbGF0aW9u
IGNvbW1hbmQgYW5kIHRoZSBzb3VyY2UgZmlsZS4KICAgIGJhc2VfY29tcGlsZT0KICAgIHNyY2Zp
bGU9IiRub25vcHQiICAjICBhbHdheXMga2VlcCBhIG5vbi1lbXB0eSB2YWx1ZSBpbiAic3JjZmls
ZSIKICAgIHN1cHByZXNzX29wdD15ZXMKICAgIHN1cHByZXNzX291dHB1dD0KICAgIGFyZ19tb2Rl
PW5vcm1hbAogICAgbGlib2JqPQogICAgbGF0ZXI9CgogICAgZm9yIGFyZwogICAgZG8KICAgICAg
Y2FzZSAiJGFyZ19tb2RlIiBpbgogICAgICBhcmcgICkKCSMgZG8gbm90ICJjb250aW51ZSIuICBJ
bnN0ZWFkLCBhZGQgdGhpcyB0byBiYXNlX2NvbXBpbGUKCWxhc3Rhcmc9IiRhcmciCglhcmdfbW9k
ZT1ub3JtYWwKCTs7CgogICAgICB0YXJnZXQgKQoJbGlib2JqPSIkYXJnIgoJYXJnX21vZGU9bm9y
bWFsCgljb250aW51ZQoJOzsKCiAgICAgIG5vcm1hbCApCgkjIEFjY2VwdCBhbnkgY29tbWFuZC1s
aW5lIG9wdGlvbnMuCgljYXNlICRhcmcgaW4KCS1vKQoJICBpZiB0ZXN0IC1uICIkbGlib2JqIiA7
IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3UgY2Fubm90IHNwZWNpZnkgXGAtbycgbW9y
ZSB0aGFuIG9uY2UiIDE+JjIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgZmkKCSAgYXJnX21v
ZGU9dGFyZ2V0CgkgIGNvbnRpbnVlCgkgIDs7CgoJLXN0YXRpYyB8IC1wcmVmZXItcGljIHwgLXBy
ZWZlci1ub24tcGljKQoJICBsYXRlcj0iJGxhdGVyICRhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgoJ
LW5vLXN1cHByZXNzKQoJICBzdXBwcmVzc19vcHQ9bm8KCSAgY29udGludWUKCSAgOzsKCgktWGNv
bXBpbGVyKQoJICBhcmdfbW9kZT1hcmcgICMgIHRoZSBuZXh0IG9uZSBnb2VzIGludG8gdGhlICJi
YXNlX2NvbXBpbGUiIGFyZyBsaXN0CgkgIGNvbnRpbnVlICAgICAgIyAgVGhlIGN1cnJlbnQgInNy
Y2ZpbGUiIHdpbGwgZWl0aGVyIGJlIHJldGFpbmVkIG9yCgkgIDs7ICAgICAgICAgICAgIyAgcmVw
bGFjZWQgbGF0ZXIuICBJIHdvdWxkIGd1ZXNzIHRoYXQgd291bGQgYmUgYSBidWcuCgoJLVdjLCop
CgkgIGFyZ3M9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAicy9eLVdjLC8vImAKCSAgbGFzdGFy
Zz0KCSAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9JywnCiAJICBmb3IgYXJnIGluICRhcmdzOyBkbwoJ
ICAgIElGUz0iJHNhdmVfaWZzIgoKCSAgICAjIERvdWJsZS1xdW90ZSBhcmdzIGNvbnRhaW5pbmcg
b3RoZXIgc2hlbGwgbWV0YWNoYXJhY3RlcnMuCgkgICAgIyBNYW55IEJvdXJuZSBzaGVsbHMgY2Fu
bm90IGhhbmRsZSBjbG9zZSBicmFja2V0cyBjb3JyZWN0bHkKCSAgICAjIGluIHNjYW4gc2V0cywg
c28gd2Ugc3BlY2lmeSBpdCBzZXBhcmF0ZWx5LgoJICAgIGNhc2UgJGFyZyBpbgoJICAgICAgKltc
W1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCgkgICAgICBhcmc9
IlwiJGFyZ1wiIgoJICAgICAgOzsKCSAgICBlc2FjCgkgICAgbGFzdGFyZz0iJGxhc3RhcmcgJGFy
ZyIKCSAgZG9uZQoJICBJRlM9IiRzYXZlX2lmcyIKCSAgbGFzdGFyZz1gJGVjaG8gIlgkbGFzdGFy
ZyIgfCAkWHNlZCAtZSAicy9eIC8vImAKCgkgICMgQWRkIHRoZSBhcmd1bWVudHMgdG8gYmFzZV9j
b21waWxlLgoJICBiYXNlX2NvbXBpbGU9IiRiYXNlX2NvbXBpbGUgJGxhc3RhcmciCgkgIGNvbnRp
bnVlCgkgIDs7CgoJKiApCgkgICMgQWNjZXB0IHRoZSBjdXJyZW50IGFyZ3VtZW50IGFzIHRoZSBz
b3VyY2UgZmlsZS4KCSAgIyBUaGUgcHJldmlvdXMgInNyY2ZpbGUiIGJlY29tZXMgdGhlIGN1cnJl
bnQgYXJndW1lbnQuCgkgICMKCSAgbGFzdGFyZz0iJHNyY2ZpbGUiCgkgIHNyY2ZpbGU9IiRhcmci
CgkgIDs7Cgllc2FjICAjICBjYXNlICRhcmcKCTs7CiAgICAgIGVzYWMgICAgIyAgY2FzZSAkYXJn
X21vZGUKCiAgICAgICMgQWVzdGhldGljYWxseSBxdW90ZSB0aGUgcHJldmlvdXMgYXJndW1lbnQu
CiAgICAgIGxhc3Rhcmc9YCRlY2hvICJYJGxhc3RhcmciIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVf
c3Vic3QiYAoKICAgICAgY2FzZSAkbGFzdGFyZyBpbgogICAgICAjIERvdWJsZS1xdW90ZSBhcmdz
IGNvbnRhaW5pbmcgb3RoZXIgc2hlbGwgbWV0YWNoYXJhY3RlcnMuCiAgICAgICMgTWFueSBCb3Vy
bmUgc2hlbGxzIGNhbm5vdCBoYW5kbGUgY2xvc2UgYnJhY2tldHMgY29ycmVjdGx5CiAgICAgICMg
aW4gc2NhbiBzZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCiAgICAgICpbXFtcflwj
XF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIiKQoJbGFzdGFyZz0iXCIkbGFz
dGFyZ1wiIgoJOzsKICAgICAgZXNhYwoKICAgICAgYmFzZV9jb21waWxlPSIkYmFzZV9jb21waWxl
ICRsYXN0YXJnIgogICAgZG9uZSAjIGZvciBhcmcKCiAgICBjYXNlICRhcmdfbW9kZSBpbgogICAg
YXJnKQogICAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGFuIGFyZ3VtZW50
IGZvciAtWGNvbXBpbGUiCiAgICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogICAgICA7OwogICAgdGFy
Z2V0KQogICAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGEgdGFyZ2V0IHdp
dGggXGAtbyciIDE+JjIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIDs7CiAgICAqKQog
ICAgICAjIEdldCB0aGUgbmFtZSBvZiB0aGUgbGlicmFyeSBvYmplY3QuCiAgICAgIFsgLXogIiRs
aWJvYmoiIF0gJiYgbGlib2JqPWAkZWNobyAiWCRzcmNmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8l
JSdgCiAgICAgIDs7CiAgICBlc2FjCgogICAgIyBSZWNvZ25pemUgc2V2ZXJhbCBkaWZmZXJlbnQg
ZmlsZSBzdWZmaXhlcy4KICAgICMgSWYgdGhlIHVzZXIgc3BlY2lmaWVzIC1vIGZpbGUubywgaXQg
aXMgcmVwbGFjZWQgd2l0aCBmaWxlLmxvCiAgICB4Zm9ybT0nW2NDRlNpZm1zb10nCiAgICBjYXNl
ICRsaWJvYmogaW4KICAgICouYWRhKSB4Zm9ybT1hZGEgOzsKICAgICouYWRiKSB4Zm9ybT1hZGIg
OzsKICAgICouYWRzKSB4Zm9ybT1hZHMgOzsKICAgICouYXNtKSB4Zm9ybT1hc20gOzsKICAgICou
YysrKSB4Zm9ybT1jKysgOzsKICAgICouY2MpIHhmb3JtPWNjIDs7CiAgICAqLmlpKSB4Zm9ybT1p
aSA7OwogICAgKi5jbGFzcykgeGZvcm09Y2xhc3MgOzsKICAgICouY3BwKSB4Zm9ybT1jcHAgOzsK
ICAgICouY3h4KSB4Zm9ybT1jeHggOzsKICAgICouZjkwKSB4Zm9ybT1mOTAgOzsKICAgICouZm9y
KSB4Zm9ybT1mb3IgOzsKICAgICouamF2YSkgeGZvcm09amF2YSA7OwogICAgZXNhYwoKICAgIGxp
Ym9iaj1gJGVjaG8gIlgkbGlib2JqIiB8ICRYc2VkIC1lICJzL1wuJHhmb3JtJC8ubG8vImAKCiAg
ICBjYXNlICRsaWJvYmogaW4KICAgICoubG8pIG9iaj1gJGVjaG8gIlgkbGlib2JqIiB8ICRYc2Vk
IC1lICIkbG8ybyJgIDs7CiAgICAqKQogICAgICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgZGV0
ZXJtaW5lIG5hbWUgb2YgbGlicmFyeSBvYmplY3QgZnJvbSBcYCRsaWJvYmonIiAxPiYyCiAgICAg
IGV4aXQgJEVYSVRfRkFJTFVSRQogICAgICA7OwogICAgZXNhYwoKICAgIGZ1bmNfaW5mZXJfdGFn
ICRiYXNlX2NvbXBpbGUKCiAgICBmb3IgYXJnIGluICRsYXRlcjsgZG8KICAgICAgY2FzZSAkYXJn
IGluCiAgICAgIC1zdGF0aWMpCglidWlsZF9vbGRfbGlicz15ZXMKCWNvbnRpbnVlCgk7OwoKICAg
ICAgLXByZWZlci1waWMpCglwaWNfbW9kZT15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXByZWZl
ci1ub24tcGljKQoJcGljX21vZGU9bm8KCWNvbnRpbnVlCgk7OwogICAgICBlc2FjCiAgICBkb25l
CgogICAgb2JqbmFtZT1gJGVjaG8gIlgkb2JqIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCiAgICB4
ZGlyPWAkZWNobyAiWCRvYmoiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKICAgIGlmIHRlc3Qg
IlgkeGRpciIgPSAiWCRvYmoiOyB0aGVuCiAgICAgIHhkaXI9CiAgICBlbHNlCiAgICAgIHhkaXI9
JHhkaXIvCiAgICBmaQogICAgbG9iaj0ke3hkaXJ9JG9iamRpci8kb2JqbmFtZQoKICAgIGlmIHRl
c3QgLXogIiRiYXNlX2NvbXBpbGUiOyB0aGVuCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBt
dXN0IHNwZWNpZnkgYSBjb21waWxhdGlvbiBjb21tYW5kIiAxPiYyCiAgICAgICRlY2hvICIkaGVs
cCIgMT4mMgogICAgICBleGl0ICRFWElUX0ZBSUxVUkUKICAgIGZpCgogICAgIyBEZWxldGUgYW55
IGxlZnRvdmVyIGxpYnJhcnkgb2JqZWN0cy4KICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIg
PSB5ZXM7IHRoZW4KICAgICAgcmVtb3ZlbGlzdD0iJG9iaiAkbG9iaiAkbGlib2JqICR7bGlib2Jq
fVQiCiAgICBlbHNlCiAgICAgIHJlbW92ZWxpc3Q9IiRsb2JqICRsaWJvYmogJHtsaWJvYmp9VCIK
ICAgIGZpCgogICAgJHJ1biAkcm0gJHJlbW92ZWxpc3QKICAgIHRyYXAgIiRydW4gJHJtICRyZW1v
dmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUiIDEgMiAxNQoKICAgICMgT24gQ3lnd2luIHRoZXJl
J3Mgbm8gInJlYWwiIFBJQyBmbGFnIHNvIHdlIG11c3QgYnVpbGQgYm90aCBvYmplY3QgdHlwZXMK
ICAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IG9zMiop
CiAgICAgIHBpY19tb2RlPWRlZmF1bHQKICAgICAgOzsKICAgIGVzYWMKICAgIGlmIHRlc3QgIiRw
aWNfbW9kZSIgPSBubyAmJiB0ZXN0ICIkZGVwbGlic19jaGVja19tZXRob2QiICE9IHBhc3NfYWxs
OyB0aGVuCiAgICAgICMgbm9uLVBJQyBjb2RlIGluIHNoYXJlZCBsaWJyYXJpZXMgaXMgbm90IHN1
cHBvcnRlZAogICAgICBwaWNfbW9kZT1kZWZhdWx0CiAgICBmaQoKICAgICMgQ2FsY3VsYXRlIHRo
ZSBmaWxlbmFtZSBvZiB0aGUgb3V0cHV0IG9iamVjdCBpZiBjb21waWxlciBkb2VzCiAgICAjIG5v
dCBzdXBwb3J0IC1vIHdpdGggLWMKICAgIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0gbm87IHRo
ZW4KICAgICAgb3V0cHV0X29iaj1gJGVjaG8gIlgkc3JjZmlsZSIgfCAkWHNlZCAtZSAncyVeLiov
JSUnIC1lICdzJVwuW14uXSokJSUnYC4ke29iamV4dH0KICAgICAgbG9ja2ZpbGU9IiRvdXRwdXRf
b2JqLmxvY2siCiAgICAgIHJlbW92ZWxpc3Q9IiRyZW1vdmVsaXN0ICRvdXRwdXRfb2JqICRsb2Nr
ZmlsZSIKICAgICAgdHJhcCAiJHJ1biAkcm0gJHJlbW92ZWxpc3Q7IGV4aXQgJEVYSVRfRkFJTFVS
RSIgMSAyIDE1CiAgICBlbHNlCiAgICAgIG91dHB1dF9vYmo9CiAgICAgIG5lZWRfbG9ja3M9bm8K
ICAgICAgbG9ja2ZpbGU9CiAgICBmaQoKICAgICMgTG9jayB0aGlzIGNyaXRpY2FsIHNlY3Rpb24g
aWYgaXQgaXMgbmVlZGVkCiAgICAjIFdlIHVzZSB0aGlzIHNjcmlwdCBmaWxlIHRvIG1ha2UgdGhl
IGxpbmssIGl0IGF2b2lkcyBjcmVhdGluZyBhIG5ldyBmaWxlCiAgICBpZiB0ZXN0ICIkbmVlZF9s
b2NrcyIgPSB5ZXM7IHRoZW4KICAgICAgdW50aWwgJHJ1biBsbiAiJHNyY2ZpbGUiICIkbG9ja2Zp
bGUiIDI+L2Rldi9udWxsOyBkbwoJJHNob3cgIldhaXRpbmcgZm9yICRsb2NrZmlsZSB0byBiZSBy
ZW1vdmVkIgoJc2xlZXAgMgogICAgICBkb25lCiAgICBlbGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9
IHdhcm47IHRoZW4KICAgICAgaWYgdGVzdCAtZiAiJGxvY2tmaWxlIjsgdGhlbgoJJGVjaG8gIlwK
KioqIEVSUk9SLCAkbG9ja2ZpbGUgZXhpc3RzIGFuZCBjb250YWluczoKYGNhdCAkbG9ja2ZpbGUg
Mj4vZGV2L251bGxgCgpUaGlzIGluZGljYXRlcyB0aGF0IGFub3RoZXIgcHJvY2VzcyBpcyB0cnlp
bmcgdG8gdXNlIHRoZSBzYW1lCnRlbXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291
bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBw
b3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBlYXQgdGhpcyBjb21waWxh
dGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5jZSwgYnV0IHlvdSBoYWQgYmV0dGVyCmF2b2lk
IHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0
dGVyCmNvbXBpbGVyLiIKCgkkcnVuICRybSAkcmVtb3ZlbGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJF
CiAgICAgIGZpCiAgICAgICRlY2hvICRzcmNmaWxlID4gIiRsb2NrZmlsZSIKICAgIGZpCgogICAg
aWYgdGVzdCAtbiAiJGZpeF9zcmNmaWxlX3BhdGgiOyB0aGVuCiAgICAgIGV2YWwgc3JjZmlsZT1c
IiRmaXhfc3JjZmlsZV9wYXRoXCIKICAgIGZpCgogICAgJHJ1biAkcm0gIiRsaWJvYmoiICIke2xp
Ym9ian1UIgoKICAgICMgQ3JlYXRlIGEgbGlidG9vbCBvYmplY3QgZmlsZSAoYW5hbG9nb3VzIHRv
IGEgIi5sYSIgZmlsZSksCiAgICAjIGJ1dCBkb24ndCBjcmVhdGUgaXQgaWYgd2UncmUgZG9pbmcg
YSBkcnkgcnVuLgogICAgdGVzdCAteiAiJHJ1biIgJiYgY2F0ID4gJHtsaWJvYmp9VCA8PEVPRgoj
ICRsaWJvYmogLSBhIGxpYnRvb2wgb2JqZWN0IGZpbGUKIyBHZW5lcmF0ZWQgYnkgJFBST0dSQU0g
LSBHTlUgJFBBQ0tBR0UgJFZFUlNJT04kVElNRVNUQU1QCiMKIyBQbGVhc2UgRE8gTk9UIGRlbGV0
ZSB0aGlzIGZpbGUhCiMgSXQgaXMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHRoZSBsaWJyYXJ5LgoK
IyBOYW1lIG9mIHRoZSBQSUMgb2JqZWN0LgpFT0YKCiAgICAjIE9ubHkgYnVpbGQgYSBQSUMgb2Jq
ZWN0IGlmIHdlIGFyZSBidWlsZGluZyBsaWJ0b29sIGxpYnJhcmllcy4KICAgIGlmIHRlc3QgIiRi
dWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCiAgICAgICMgV2l0aG91dCB0aGlzIGFzc2ln
bm1lbnQsIGJhc2VfY29tcGlsZSBnZXRzIGVtcHRpZWQuCiAgICAgIGZic2RfaGlkZW91c19zaF9i
dWc9JGJhc2VfY29tcGlsZQoKICAgICAgaWYgdGVzdCAiJHBpY19tb2RlIiAhPSBubzsgdGhlbgoJ
Y29tbWFuZD0iJGJhc2VfY29tcGlsZSAkc3JjZmlsZSAkcGljX2ZsYWciCiAgICAgIGVsc2UKCSMg
RG9uJ3QgYnVpbGQgUElDIGNvZGUKCWNvbW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHNyY2ZpbGUiCiAg
ICAgIGZpCgogICAgICBpZiB0ZXN0ICEgLWQgIiR7eGRpcn0kb2JqZGlyIjsgdGhlbgoJJHNob3cg
IiRta2RpciAke3hkaXJ9JG9iamRpciIKCSRydW4gJG1rZGlyICR7eGRpcn0kb2JqZGlyCglzdGF0
dXM9JD8KCWlmIHRlc3QgIiRzdGF0dXMiIC1uZSAwICYmIHRlc3QgISAtZCAiJHt4ZGlyfSRvYmpk
aXIiOyB0aGVuCgkgIGV4aXQgJHN0YXR1cwoJZmkKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLXog
IiRvdXRwdXRfb2JqIjsgdGhlbgoJIyBQbGFjZSBQSUMgb2JqZWN0cyBpbiAkb2JqZGlyCgljb21t
YW5kPSIkY29tbWFuZCAtbyAkbG9iaiIKICAgICAgZmkKCiAgICAgICRydW4gJHJtICIkbG9iaiIg
IiRvdXRwdXRfb2JqIgoKICAgICAgJHNob3cgIiRjb21tYW5kIgogICAgICBpZiAkcnVuIGV2YWwg
IiRjb21tYW5kIjsgdGhlbiA6CiAgICAgIGVsc2UKCXRlc3QgLW4gIiRvdXRwdXRfb2JqIiAmJiAk
cnVuICRybSAkcmVtb3ZlbGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAgICBp
ZiB0ZXN0ICIkbmVlZF9sb2NrcyIgPSB3YXJuICYmCgkgdGVzdCAiWGBjYXQgJGxvY2tmaWxlIDI+
L2Rldi9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KCSRlY2hvICJcCioqKiBFUlJPUiwgJGxv
Y2tmaWxlIGNvbnRhaW5zOgpgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAKCmJ1dCBpdCBzaG91
bGQgY29udGFpbjoKJHNyY2ZpbGUKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNz
IGlzIHRyeWluZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGli
dG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQp5b3VyIGNvbXBpbGVyIGRvZXMg
bm90IHN1cHBvcnQgXGAtYycgYW5kIFxgLW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlz
IGNvbXBpbGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0
ZXIKYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBvciBn
ZXQgYSBiZXR0ZXIKY29tcGlsZXIuIgoKCSRydW4gJHJtICRyZW1vdmVsaXN0CglleGl0ICRFWElU
X0ZBSUxVUkUKICAgICAgZmkKCiAgICAgICMgSnVzdCBtb3ZlIHRoZSBvYmplY3QgaWYgbmVlZGVk
LCB0aGVuIGdvIG9uIHRvIGNvbXBpbGUgdGhlIG5leHQgb25lCiAgICAgIGlmIHRlc3QgLW4gIiRv
dXRwdXRfb2JqIiAmJiB0ZXN0ICJYJG91dHB1dF9vYmoiICE9ICJYJGxvYmoiOyB0aGVuCgkkc2hv
dyAiJG12ICRvdXRwdXRfb2JqICRsb2JqIgoJaWYgJHJ1biAkbXYgJG91dHB1dF9vYmogJGxvYmo7
IHRoZW4gOgoJZWxzZQoJICBlcnJvcj0kPwoJICAkcnVuICRybSAkcmVtb3ZlbGlzdAoJICBleGl0
ICRlcnJvcgoJZmkKICAgICAgZmkKCiAgICAgICMgQXBwZW5kIHRoZSBuYW1lIG9mIHRoZSBQSUMg
b2JqZWN0IHRvIHRoZSBsaWJ0b29sIG9iamVjdCBmaWxlLgogICAgICB0ZXN0IC16ICIkcnVuIiAm
JiBjYXQgPj4gJHtsaWJvYmp9VCA8PEVPRgpwaWNfb2JqZWN0PSckb2JqZGlyLyRvYmpuYW1lJwoK
RU9GCgogICAgICAjIEFsbG93IGVycm9yIG1lc3NhZ2VzIG9ubHkgZnJvbSB0aGUgZmlyc3QgY29t
cGlsYXRpb24uCiAgICAgIGlmIHRlc3QgIiRzdXBwcmVzc19vcHQiID0geWVzOyB0aGVuCiAgICAg
ICAgc3VwcHJlc3Nfb3V0cHV0PScgPi9kZXYvbnVsbCAyPiYxJwogICAgICBmaQogICAgZWxzZQog
ICAgICAjIE5vIFBJQyBvYmplY3Qgc28gaW5kaWNhdGUgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUg
bGlidG9vbAogICAgICAjIG9iamVjdCBmaWxlLgogICAgICB0ZXN0IC16ICIkcnVuIiAmJiBjYXQg
Pj4gJHtsaWJvYmp9VCA8PEVPRgpwaWNfb2JqZWN0PW5vbmUKCkVPRgogICAgZmkKCiAgICAjIE9u
bHkgYnVpbGQgYSBwb3NpdGlvbi1kZXBlbmRlbnQgb2JqZWN0IGlmIHdlIGJ1aWxkIG9sZCBsaWJy
YXJpZXMuCiAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVuCiAgICAgIGlm
IHRlc3QgIiRwaWNfbW9kZSIgIT0geWVzOyB0aGVuCgkjIERvbid0IGJ1aWxkIFBJQyBjb2RlCglj
b21tYW5kPSIkYmFzZV9jb21waWxlICRzcmNmaWxlIgogICAgICBlbHNlCgljb21tYW5kPSIkYmFz
ZV9jb21waWxlICRzcmNmaWxlICRwaWNfZmxhZyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAiJGNv
bXBpbGVyX2NfbyIgPSB5ZXM7IHRoZW4KCWNvbW1hbmQ9IiRjb21tYW5kIC1vICRvYmoiCiAgICAg
IGZpCgogICAgICAjIFN1cHByZXNzIGNvbXBpbGVyIG91dHB1dCBpZiB3ZSBhbHJlYWR5IGRpZCBh
IFBJQyBjb21waWxhdGlvbi4KICAgICAgY29tbWFuZD0iJGNvbW1hbmQkc3VwcHJlc3Nfb3V0cHV0
IgogICAgICAkcnVuICRybSAiJG9iaiIgIiRvdXRwdXRfb2JqIgogICAgICAkc2hvdyAiJGNvbW1h
bmQiCiAgICAgIGlmICRydW4gZXZhbCAiJGNvbW1hbmQiOyB0aGVuIDoKICAgICAgZWxzZQoJJHJ1
biAkcm0gJHJlbW92ZWxpc3QKCWV4aXQgJEVYSVRfRkFJTFVSRQogICAgICBmaQoKICAgICAgaWYg
dGVzdCAiJG5lZWRfbG9ja3MiID0gd2FybiAmJgoJIHRlc3QgIlhgY2F0ICRsb2NrZmlsZSAyPi9k
ZXYvbnVsbGAiICE9ICJYJHNyY2ZpbGUiOyB0aGVuCgkkZWNobyAiXAoqKiogRVJST1IsICRsb2Nr
ZmlsZSBjb250YWluczoKYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCgpidXQgaXQgc2hvdWxk
IGNvbnRhaW46CiRzcmNmaWxlCgpUaGlzIGluZGljYXRlcyB0aGF0IGFub3RoZXIgcHJvY2VzcyBp
cyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRlbXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxpYnRv
b2wgY291bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2VzIG5v
dCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBlYXQgdGhpcyBj
b21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5jZSwgYnV0IHlvdSBoYWQgYmV0dGVy
CmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0
IGEgYmV0dGVyCmNvbXBpbGVyLiIKCgkkcnVuICRybSAkcmVtb3ZlbGlzdAoJZXhpdCAkRVhJVF9G
QUlMVVJFCiAgICAgIGZpCgogICAgICAjIEp1c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZAog
ICAgICBpZiB0ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAhPSAi
WCRvYmoiOyB0aGVuCgkkc2hvdyAiJG12ICRvdXRwdXRfb2JqICRvYmoiCglpZiAkcnVuICRtdiAk
b3V0cHV0X29iaiAkb2JqOyB0aGVuIDoKCWVsc2UKCSAgZXJyb3I9JD8KCSAgJHJ1biAkcm0gJHJl
bW92ZWxpc3QKCSAgZXhpdCAkZXJyb3IKCWZpCiAgICAgIGZpCgogICAgICAjIEFwcGVuZCB0aGUg
bmFtZSBvZiB0aGUgbm9uLVBJQyBvYmplY3QgdGhlIGxpYnRvb2wgb2JqZWN0IGZpbGUuCiAgICAg
ICMgT25seSBhcHBlbmQgaWYgdGhlIGxpYnRvb2wgb2JqZWN0IGZpbGUgZXhpc3RzLgogICAgICB0
ZXN0IC16ICIkcnVuIiAmJiBjYXQgPj4gJHtsaWJvYmp9VCA8PEVPRgojIE5hbWUgb2YgdGhlIG5v
bi1QSUMgb2JqZWN0Lgpub25fcGljX29iamVjdD0nJG9iam5hbWUnCgpFT0YKICAgIGVsc2UKICAg
ICAgIyBBcHBlbmQgdGhlIG5hbWUgb2YgdGhlIG5vbi1QSUMgb2JqZWN0IHRoZSBsaWJ0b29sIG9i
amVjdCBmaWxlLgogICAgICAjIE9ubHkgYXBwZW5kIGlmIHRoZSBsaWJ0b29sIG9iamVjdCBmaWxl
IGV4aXN0cy4KICAgICAgdGVzdCAteiAiJHJ1biIgJiYgY2F0ID4+ICR7bGlib2JqfVQgPDxFT0YK
IyBOYW1lIG9mIHRoZSBub24tUElDIG9iamVjdC4Kbm9uX3BpY19vYmplY3Q9bm9uZQoKRU9GCiAg
ICBmaQoKICAgICRydW4gJG12ICIke2xpYm9ian1UIiAiJHtsaWJvYmp9IgoKICAgICMgVW5sb2Nr
IHRoZSBjcml0aWNhbCBzZWN0aW9uIGlmIGl0IHdhcyBsb2NrZWQKICAgIGlmIHRlc3QgIiRuZWVk
X2xvY2tzIiAhPSBubzsgdGhlbgogICAgICAkcnVuICRybSAiJGxvY2tmaWxlIgogICAgZmkKCiAg
ICBleGl0ICRFWElUX1NVQ0NFU1MKICAgIDs7CgogICMgbGlidG9vbCBsaW5rIG1vZGUKICBsaW5r
IHwgcmVsaW5rKQogICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogbGluayIKICAgIGNhc2UgJGhvc3Qg
aW4KICAgICotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqKQog
ICAgICAjIEl0IGlzIGltcG9zc2libGUgdG8gbGluayBhIGRsbCB3aXRob3V0IHRoaXMgc2V0dGlu
ZywgYW5kCiAgICAgICMgd2Ugc2hvdWxkbid0IGZvcmNlIHRoZSBtYWtlZmlsZSBtYWludGFpbmVy
IHRvIGZpZ3VyZSBvdXQKICAgICAgIyB3aGljaCBzeXN0ZW0gd2UgYXJlIGNvbXBpbGluZyBmb3Ig
aW4gb3JkZXIgdG8gcGFzcyBhbiBleHRyYQogICAgICAjIGZsYWcgZm9yIGV2ZXJ5IGxpYnRvb2wg
aW52b2NhdGlvbi4KICAgICAgIyBhbGxvd191bmRlZmluZWQ9bm8KCiAgICAgICMgRklYTUU6IFVu
Zm9ydHVuYXRlbHksIHRoZXJlIGFyZSBwcm9ibGVtcyB3aXRoIHRoZSBhYm92ZSB3aGVuIHRyeWlu
ZwogICAgICAjIHRvIG1ha2UgYSBkbGwgd2hpY2ggaGFzIHVuZGVmaW5lZCBzeW1ib2xzLCBpbiB3
aGljaCBjYXNlIG5vdAogICAgICAjIGV2ZW4gYSBzdGF0aWMgbGlicmFyeSBpcyBidWlsdC4gIEZv
ciBub3csIHdlIG5lZWQgdG8gc3BlY2lmeQogICAgICAjIC1uby11bmRlZmluZWQgb24gdGhlIGxp
YnRvb2wgbGluayBsaW5lIHdoZW4gd2UgY2FuIGJlIGNlcnRhaW4KICAgICAgIyB0aGF0IGFsbCBz
eW1ib2xzIGFyZSBzYXRpc2ZpZWQsIG90aGVyd2lzZSB3ZSBnZXQgYSBzdGF0aWMgbGlicmFyeS4K
ICAgICAgYWxsb3dfdW5kZWZpbmVkPXllcwogICAgICA7OwogICAgKikKICAgICAgYWxsb3dfdW5k
ZWZpbmVkPXllcwogICAgICA7OwogICAgZXNhYwogICAgbGlidG9vbF9hcmdzPSIkbm9ub3B0Igog
ICAgYmFzZV9jb21waWxlPSIkbm9ub3B0ICRAIgogICAgY29tcGlsZV9jb21tYW5kPSIkbm9ub3B0
IgogICAgZmluYWxpemVfY29tbWFuZD0iJG5vbm9wdCIKCiAgICBjb21waWxlX3JwYXRoPQogICAg
ZmluYWxpemVfcnBhdGg9CiAgICBjb21waWxlX3NobGlicGF0aD0KICAgIGZpbmFsaXplX3NobGli
cGF0aD0KICAgIGNvbnZlbmllbmNlPQogICAgb2xkX2NvbnZlbmllbmNlPQogICAgZGVwbGlicz0K
ICAgIG9sZF9kZXBsaWJzPQogICAgY29tcGlsZXJfZmxhZ3M9CiAgICBsaW5rZXJfZmxhZ3M9CiAg
ICBkbGxzZWFyY2hwYXRoPQogICAgbGliX3NlYXJjaF9wYXRoPWBwd2RgCiAgICBpbnN0X3ByZWZp
eF9kaXI9CgogICAgYXZvaWRfdmVyc2lvbj1ubwogICAgZGxmaWxlcz0KICAgIGRscHJlZmlsZXM9
CiAgICBkbHNlbGY9bm8KICAgIGV4cG9ydF9keW5hbWljPW5vCiAgICBleHBvcnRfc3ltYm9scz0K
ICAgIGV4cG9ydF9zeW1ib2xzX3JlZ2V4PQogICAgZ2VuZXJhdGVkPQogICAgbGlib2Jqcz0KICAg
IGx0bGlicz0KICAgIG1vZHVsZT1ubwogICAgbm9faW5zdGFsbD1ubwogICAgb2Jqcz0KICAgIG5v
bl9waWNfb2JqZWN0cz0KICAgIHByZWNpb3VzX2ZpbGVzX3JlZ2V4PQogICAgcHJlZmVyX3N0YXRp
Y19saWJzPW5vCiAgICBwcmVsb2FkPW5vCiAgICBwcmV2PQogICAgcHJldmFyZz0KICAgIHJlbGVh
c2U9CiAgICBycGF0aD0KICAgIHhycGF0aD0KICAgIHBlcm1fcnBhdGg9CiAgICB0ZW1wX3JwYXRo
PQogICAgdGhyZWFkX3NhZmU9bm8KICAgIHZpbmZvPQogICAgdmluZm9fbnVtYmVyPW5vCgogICAg
ZnVuY19pbmZlcl90YWcgJGJhc2VfY29tcGlsZQoKICAgICMgV2UgbmVlZCB0byBrbm93IC1zdGF0
aWMsIHRvIGdldCB0aGUgcmlnaHQgb3V0cHV0IGZpbGVuYW1lcy4KICAgIGZvciBhcmcKICAgIGRv
CiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtYWxsLXN0YXRpYyB8IC1zdGF0aWMpCglpZiB0ZXN0
ICJYJGFyZyIgPSAiWC1hbGwtc3RhdGljIjsgdGhlbgoJICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9v
bF9saWJzIiA9IHllcyAmJiB0ZXN0IC16ICIkbGlua19zdGF0aWNfZmxhZyI7IHRoZW4KCSAgICAk
ZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBjb21wbGV0ZSBzdGF0aWMgbGlua2luZyBpcyBpbXBv
c3NpYmxlIGluIHRoaXMgY29uZmlndXJhdGlvbiIgMT4mMgoJICBmaQoJICBpZiB0ZXN0IC1uICIk
bGlua19zdGF0aWNfZmxhZyI7IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3NlbGZfc3Rh
dGljCgkgIGZpCgllbHNlCgkgIGlmIHRlc3QgLXogIiRwaWNfZmxhZyIgJiYgdGVzdCAtbiAiJGxp
bmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZGxvcGVuX3NlbGY9JGRsb3Blbl9zZWxmX3N0YXRp
YwoJICBmaQoJZmkKCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJYnVpbGRfb2xkX2xpYnM9eWVzCglw
cmVmZXJfc3RhdGljX2xpYnM9eWVzCglicmVhawoJOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAg
ICMgU2VlIGlmIG91ciBzaGFyZWQgYXJjaGl2ZXMgZGVwZW5kIG9uIHN0YXRpYyBhcmNoaXZlcy4K
ICAgIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzIiAmJiBidWlsZF9vbGRfbGli
cz15ZXMKCiAgICAjIEdvIHRocm91Z2ggdGhlIGFyZ3VtZW50cywgdHJhbnNmb3JtaW5nIHRoZW0g
b24gdGhlIHdheS4KICAgIHdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KICAgICAgYXJnPSIkMSIK
ICAgICAgc2hpZnQKICAgICAgY2FzZSAkYXJnIGluCiAgICAgICpbXFtcflwjXF5cJlwqXChcKVx7
XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIiKQoJcWFyZz1cImAkZWNobyAiWCRhcmciIHwgJFhz
ZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYFwiICMjIyB0ZXN0c3VpdGU6IHNraXAgbmVzdGVkIHF1
b3RpbmcgdGVzdAoJOzsKICAgICAgKikgcWFyZz0kYXJnIDs7CiAgICAgIGVzYWMKICAgICAgbGli
dG9vbF9hcmdzPSIkbGlidG9vbF9hcmdzICRxYXJnIgoKICAgICAgIyBJZiB0aGUgcHJldmlvdXMg
b3B0aW9uIG5lZWRzIGFuIGFyZ3VtZW50LCBhc3NpZ24gaXQuCiAgICAgIGlmIHRlc3QgLW4gIiRw
cmV2IjsgdGhlbgoJY2FzZSAkcHJldiBpbgoJb3V0cHV0KQoJICBjb21waWxlX2NvbW1hbmQ9IiRj
b21waWxlX2NvbW1hbmQgQE9VVFBVVEAiCgkgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9j
b21tYW5kIEBPVVRQVVRAIgoJICA7OwoJZXNhYwoKCWNhc2UgJHByZXYgaW4KCWRsZmlsZXN8ZGxw
cmVmaWxlcykKCSAgaWYgdGVzdCAiJHByZWxvYWQiID0gbm87IHRoZW4KCSAgICAjIEFkZCB0aGUg
c3ltYm9sIG9iamVjdCBpbnRvIHRoZSBsaW5raW5nIGNvbW1hbmRzLgoJICAgIGNvbXBpbGVfY29t
bWFuZD0iJGNvbXBpbGVfY29tbWFuZCBAU1lNRklMRUAiCgkgICAgZmluYWxpemVfY29tbWFuZD0i
JGZpbmFsaXplX2NvbW1hbmQgQFNZTUZJTEVAIgoJICAgIHByZWxvYWQ9eWVzCgkgIGZpCgkgIGNh
c2UgJGFyZyBpbgoJICAqLmxhIHwgKi5sbykgOzsgICMgV2UgaGFuZGxlIHRoZXNlIGNhc2VzIGJl
bG93LgoJICBmb3JjZSkKCSAgICBpZiB0ZXN0ICIkZGxzZWxmIiA9IG5vOyB0aGVuCgkgICAgICBk
bHNlbGY9bmVlZGxlc3MKCSAgICAgIGV4cG9ydF9keW5hbWljPXllcwoJICAgIGZpCgkgICAgcHJl
dj0KCSAgICBjb250aW51ZQoJICAgIDs7CgkgIHNlbGYpCgkgICAgaWYgdGVzdCAiJHByZXYiID0g
ZGxwcmVmaWxlczsgdGhlbgoJICAgICAgZGxzZWxmPXllcwoJICAgIGVsaWYgdGVzdCAiJHByZXYi
ID0gZGxmaWxlcyAmJiB0ZXN0ICIkZGxvcGVuX3NlbGYiICE9IHllczsgdGhlbgoJICAgICAgZGxz
ZWxmPXllcwoJICAgIGVsc2UKCSAgICAgIGRsc2VsZj1uZWVkbGVzcwoJICAgICAgZXhwb3J0X2R5
bmFtaWM9eWVzCgkgICAgZmkKCSAgICBwcmV2PQoJICAgIGNvbnRpbnVlCgkgICAgOzsKCSAgKikK
CSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVuCgkgICAgICBkbGZpbGVzPSIkZGxm
aWxlcyAkYXJnIgoJICAgIGVsc2UKCSAgICAgIGRscHJlZmlsZXM9IiRkbHByZWZpbGVzICRhcmci
CgkgICAgZmkKCSAgICBwcmV2PQoJICAgIGNvbnRpbnVlCgkgICAgOzsKCSAgZXNhYwoJICA7OwoJ
ZXhwc3ltcykKCSAgZXhwb3J0X3N5bWJvbHM9IiRhcmciCgkgIGlmIHRlc3QgISAtZiAiJGFyZyI7
IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiBzeW1ib2wgZmlsZSBcYCRhcmcnIGRvZXMgbm90
IGV4aXN0IgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICBmaQoJICBwcmV2PQoJICBjb250aW51
ZQoJICA7OwoJZXhwc3ltc19yZWdleCkKCSAgZXhwb3J0X3N5bWJvbHNfcmVnZXg9IiRhcmciCgkg
IHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglpbnN0X3ByZWZpeCkKCSAgaW5zdF9wcmVmaXhfZGly
PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJcHJlY2lvdXNfcmVnZXgpCgkgIHBy
ZWNpb3VzX2ZpbGVzX3JlZ2V4PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJcmVs
ZWFzZSkKCSAgcmVsZWFzZT0iLSRhcmciCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglvYmpl
Y3RsaXN0KQoJICBpZiB0ZXN0IC1mICIkYXJnIjsgdGhlbgoJICAgIHNhdmVfYXJnPSRhcmcKCSAg
ICBtb3JlYXJncz0KCSAgICBmb3IgZmlsIGluIGBjYXQgJHNhdmVfYXJnYAoJICAgIGRvCiMJICAg
ICAgbW9yZWFyZ3M9IiRtb3JlYXJncyAkZmlsIgoJICAgICAgYXJnPSRmaWwKCSAgICAgICMgQSBs
aWJ0b29sLWNvbnRyb2xsZWQgb2JqZWN0LgoKCSAgICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhp
cyByZWFsbHkgaXMgYSBsaWJ0b29sIG9iamVjdC4KCSAgICAgIGlmICgke1NFRH0gLWUgJzJxJyAk
YXJnIHwgZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+L2Rldi9udWxsIDI+JjE7
IHRoZW4KCQlwaWNfb2JqZWN0PQoJCW5vbl9waWNfb2JqZWN0PQoKCQkjIFJlYWQgdGhlIC5sbyBm
aWxlCgkJIyBJZiB0aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUu
CgkJY2FzZSAkYXJnIGluCgkJKi8qIHwgKlxcKikgLiAkYXJnIDs7CgkJKikgLiAuLyRhcmcgOzsK
CQllc2FjCgoJCWlmIHRlc3QgLXogIiRwaWNfb2JqZWN0IiB8fCBcCgkJICAgdGVzdCAteiAiJG5v
bl9waWNfb2JqZWN0IiB8fAoJCSAgIHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5vbmUgJiYgXAoJCSAg
IHRlc3QgIiRub25fcGljX29iamVjdCIgPSBub25lOyB0aGVuCgkJICAkZWNobyAiJG1vZGVuYW1l
OiBjYW5ub3QgZmluZCBuYW1lIG9mIG9iamVjdCBmb3IgXGAkYXJnJyIgMT4mMgoJCSAgZXhpdCAk
RVhJVF9GQUlMVVJFCgkJZmkKCgkJIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZSBhcmd1
bWVudC4KCQl4ZGlyPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKCQlp
ZiB0ZXN0ICJYJHhkaXIiID0gIlgkYXJnIjsgdGhlbgoJCSAgeGRpcj0KCQllbHNlCgkJICB4ZGly
PSIkeGRpci8iCgkJZmkKCgkJaWYgdGVzdCAiJHBpY19vYmplY3QiICE9IG5vbmU7IHRoZW4KCQkg
ICMgUHJlcGVuZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBvYmplY3QgaXMgZm91bmQgaW4uCgkJICBw
aWNfb2JqZWN0PSIkeGRpciRwaWNfb2JqZWN0IgoKCQkgIGlmIHRlc3QgIiRwcmV2IiA9IGRsZmls
ZXM7IHRoZW4KCQkgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVz
dCAiJGRsb3Blbl9zdXBwb3J0IiA9IHllczsgdGhlbgoJCSAgICAgIGRsZmlsZXM9IiRkbGZpbGVz
ICRwaWNfb2JqZWN0IgoJCSAgICAgIHByZXY9CgkJICAgICAgY29udGludWUKCQkgICAgZWxzZQoJ
CSAgICAgICMgSWYgbGlidG9vbCBvYmplY3RzIGFyZSB1bnN1cHBvcnRlZCwgdGhlbiB3ZSBuZWVk
IHRvIHByZWxvYWQuCgkJICAgICAgcHJldj1kbHByZWZpbGVzCgkJICAgIGZpCgkJICBmaQoKCQkg
ICMgQ0hFQ0sgTUU6ICBJIHRoaW5rIEkgYnVzdGVkIHRoaXMuICAtT3NzYW1hCgkJICBpZiB0ZXN0
ICIkcHJldiIgPSBkbHByZWZpbGVzOyB0aGVuCgkJICAgICMgUHJlbG9hZCB0aGUgb2xkLXN0eWxl
IG9iamVjdC4KCQkgICAgZGxwcmVmaWxlcz0iJGRscHJlZmlsZXMgJHBpY19vYmplY3QiCgkJICAg
IHByZXY9CgkJICBmaQoKCQkgICMgQSBQSUMgb2JqZWN0LgoJCSAgbGlib2Jqcz0iJGxpYm9ianMg
JHBpY19vYmplY3QiCgkJICBhcmc9IiRwaWNfb2JqZWN0IgoJCWZpCgoJCSMgTm9uLVBJQyBvYmpl
Y3QuCgkJaWYgdGVzdCAiJG5vbl9waWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkJICAjIFByZXBl
bmQgdGhlIHN1YmRpcmVjdG9yeSB0aGUgb2JqZWN0IGlzIGZvdW5kIGluLgoJCSAgbm9uX3BpY19v
YmplY3Q9IiR4ZGlyJG5vbl9waWNfb2JqZWN0IgoKCQkgICMgQSBzdGFuZGFyZCBub24tUElDIG9i
amVjdAoJCSAgbm9uX3BpY19vYmplY3RzPSIkbm9uX3BpY19vYmplY3RzICRub25fcGljX29iamVj
dCIKCQkgIGlmIHRlc3QgLXogIiRwaWNfb2JqZWN0IiB8fCB0ZXN0ICIkcGljX29iamVjdCIgPSBu
b25lIDsgdGhlbgoJCSAgICBhcmc9IiRub25fcGljX29iamVjdCIKCQkgIGZpCgkJZmkKCSAgICAg
IGVsc2UKCQkjIE9ubHkgYW4gZXJyb3IgaWYgbm90IGRvaW5nIGEgZHJ5LXJ1bi4KCQlpZiB0ZXN0
IC16ICIkcnVuIjsgdGhlbgoJCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkYXJnJyBpcyBub3QgYSB2
YWxpZCBsaWJ0b29sIG9iamVjdCIgMT4mMgoJCSAgZXhpdCAkRVhJVF9GQUlMVVJFCgkJZWxzZQoJ
CSAgIyBEcnktcnVuIGNhc2UuCgoJCSAgIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZSBh
cmd1bWVudC4KCQkgIHhkaXI9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUn
YAoJCSAgaWYgdGVzdCAiWCR4ZGlyIiA9ICJYJGFyZyI7IHRoZW4KCQkgICAgeGRpcj0KCQkgIGVs
c2UKCQkgICAgeGRpcj0iJHhkaXIvIgoJCSAgZmkKCgkJICBwaWNfb2JqZWN0PWAkZWNobyAiWCR7
eGRpcn0ke29iamRpcn0vJHthcmd9IiB8ICRYc2VkIC1lICIkbG8ybyJgCgkJICBub25fcGljX29i
amVjdD1gJGVjaG8gIlgke3hkaXJ9JHthcmd9IiB8ICRYc2VkIC1lICIkbG8ybyJgCgkJICBsaWJv
YmpzPSIkbGlib2JqcyAkcGljX29iamVjdCIKCQkgIG5vbl9waWNfb2JqZWN0cz0iJG5vbl9waWNf
b2JqZWN0cyAkbm9uX3BpY19vYmplY3QiCgkJZmkKCSAgICAgIGZpCgkgICAgZG9uZQoJICBlbHNl
CgkgICAgJGVjaG8gIiRtb2RlbmFtZTogbGluayBpbnB1dCBmaWxlIFxgJHNhdmVfYXJnJyBkb2Vz
IG5vdCBleGlzdCIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgZmkKCSAgYXJnPSRzYXZlX2Fy
ZwoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJcnBhdGggfCB4cnBhdGgpCgkgICMgV2UgbmVl
ZCBhbiBhYnNvbHV0ZSBwYXRoLgoJICBjYXNlICRhcmcgaW4KCSAgW1xcL10qIHwgW0EtWmEtel06
W1xcL10qKSA7OwoJICAqKQoJICAgICRlY2hvICIkbW9kZW5hbWU6IG9ubHkgYWJzb2x1dGUgcnVu
LXBhdGhzIGFyZSBhbGxvd2VkIiAxPiYyCgkgICAgZXhpdCAkRVhJVF9GQUlMVVJFCgkgICAgOzsK
CSAgZXNhYwoJICBpZiB0ZXN0ICIkcHJldiIgPSBycGF0aDsgdGhlbgoJICAgIGNhc2UgIiRycGF0
aCAiIGluCgkgICAgKiIgJGFyZyAiKikgOzsKCSAgICAqKSBycGF0aD0iJHJwYXRoICRhcmciIDs7
CgkgICAgZXNhYwoJICBlbHNlCgkgICAgY2FzZSAiJHhycGF0aCAiIGluCgkgICAgKiIgJGFyZyAi
KikgOzsKCSAgICAqKSB4cnBhdGg9IiR4cnBhdGggJGFyZyIgOzsKCSAgICBlc2FjCgkgIGZpCgkg
IHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7Cgl4Y29tcGlsZXIpCgkgIGNvbXBpbGVyX2ZsYWdzPSIk
Y29tcGlsZXJfZmxhZ3MgJHFhcmciCgkgIHByZXY9CgkgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBp
bGVfY29tbWFuZCAkcWFyZyIKCSAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQg
JHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7Cgl4bGlua2VyKQoJICBsaW5rZXJfZmxhZ3M9IiRsaW5r
ZXJfZmxhZ3MgJHFhcmciCgkgIGNvbXBpbGVyX2ZsYWdzPSIkY29tcGlsZXJfZmxhZ3MgJHdsJHFh
cmciCgkgIHByZXY9CgkgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkd2wkcWFy
ZyIKCSAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJHdsJHFhcmciCgkgIGNv
bnRpbnVlCgkgIDs7Cgl4Y2NsaW5rZXIpCgkgIGxpbmtlcl9mbGFncz0iJGxpbmtlcl9mbGFncyAk
cWFyZyIKCSAgY29tcGlsZXJfZmxhZ3M9IiRjb21waWxlcl9mbGFncyAkcWFyZyIKCSAgcHJldj0K
CSAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICRxYXJnIgoJICBmaW5hbGl6ZV9j
b21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkcWFyZyIKCSAgY29udGludWUKCSAgOzsKCXNocmV4
dCkKICAJICBzaHJleHRfY21kcz0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCSop
CgkgIGV2YWwgIiRwcmV2PVwiXCRhcmdcIiIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCWVz
YWMKICAgICAgZmkgIyB0ZXN0IC1uICIkcHJldiIKCiAgICAgIHByZXZhcmc9IiRhcmciCgogICAg
ICBjYXNlICRhcmcgaW4KICAgICAgLWFsbC1zdGF0aWMpCglpZiB0ZXN0IC1uICIkbGlua19zdGF0
aWNfZmxhZyI7IHRoZW4KCSAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICRsaW5r
X3N0YXRpY19mbGFnIgoJICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkbGlu
a19zdGF0aWNfZmxhZyIKCWZpCgljb250aW51ZQoJOzsKCiAgICAgIC1hbGxvdy11bmRlZmluZWQp
CgkjIEZJWE1FOiByZW1vdmUgdGhpcyBmbGFnIHNvbWV0aW1lIGluIHRoZSBmdXR1cmUuCgkkZWNo
byAiJG1vZGVuYW1lOiBcYC1hbGxvdy11bmRlZmluZWQnIGlzIGRlcHJlY2F0ZWQgYmVjYXVzZSBp
dCBpcyB0aGUgZGVmYXVsdCIgMT4mMgoJY29udGludWUKCTs7CgogICAgICAtYXZvaWQtdmVyc2lv
bikKCWF2b2lkX3ZlcnNpb249eWVzCgljb250aW51ZQoJOzsKCiAgICAgIC1kbG9wZW4pCglwcmV2
PWRsZmlsZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWRscHJlb3BlbikKCXByZXY9ZGxwcmVmaWxl
cwoJY29udGludWUKCTs7CgogICAgICAtZXhwb3J0LWR5bmFtaWMpCglleHBvcnRfZHluYW1pYz15
ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWV4cG9ydC1zeW1ib2xzIHwgLWV4cG9ydC1zeW1ib2xz
LXJlZ2V4KQoJaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IG1vcmUgdGhhbiBvbmUg
LWV4cG9ydGVkLXN5bWJvbHMgYXJndW1lbnQgaXMgbm90IGFsbG93ZWQiCgkgIGV4aXQgJEVYSVRf
RkFJTFVSRQoJZmkKCWlmIHRlc3QgIlgkYXJnIiA9ICJYLWV4cG9ydC1zeW1ib2xzIjsgdGhlbgoJ
ICBwcmV2PWV4cHN5bXMKCWVsc2UKCSAgcHJldj1leHBzeW1zX3JlZ2V4CglmaQoJY29udGludWUK
CTs7CgogICAgICAtaW5zdC1wcmVmaXgtZGlyKQoJcHJldj1pbnN0X3ByZWZpeAoJY29udGludWUK
CTs7CgogICAgICAjIFRoZSBuYXRpdmUgSVJJWCBsaW5rZXIgdW5kZXJzdGFuZHMgLUxBTkc6Kiwg
LUxJU1Q6KiBhbmQgLUxOTzoqCiAgICAgICMgc28sIGlmIHdlIHNlZSB0aGVzZSBmbGFncyBiZSBj
YXJlZnVsIG5vdCB0byB0cmVhdCB0aGVtIGxpa2UgLUwKICAgICAgLUxbQS1aXVtBLVpdKjoqKQoJ
Y2FzZSAkd2l0aF9nY2MvJGhvc3QgaW4KCW5vLyotKi1pcml4KiB8IC8qLSotaXJpeCopCgkgIGNv
bXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkYXJnIgoJICBmaW5hbGl6ZV9jb21tYW5k
PSIkZmluYWxpemVfY29tbWFuZCAkYXJnIgoJICA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAg
ICAtTCopCglkaXI9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAncy9eLUwvLydgCgkjIFdlIG5l
ZWQgYW4gYWJzb2x1dGUgcGF0aC4KCWNhc2UgJGRpciBpbgoJW1xcL10qIHwgW0EtWmEtel06W1xc
L10qKSA7OwoJKikKCSAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAoJICBpZiB0ZXN0IC16ICIk
YWJzZGlyIjsgdGhlbgoJICAgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBkZXRlcm1pbmUgYWJz
b2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkZGlyJyIgMT4mMgoJICAgIGV4aXQgJEVYSVRfRkFJ
TFVSRQoJICBmaQoJICBkaXI9IiRhYnNkaXIiCgkgIDs7Cgllc2FjCgljYXNlICIkZGVwbGlicyAi
IGluCgkqIiAtTCRkaXIgIiopIDs7CgkqKQoJICBkZXBsaWJzPSIkZGVwbGlicyAtTCRkaXIiCgkg
IGxpYl9zZWFyY2hfcGF0aD0iJGxpYl9zZWFyY2hfcGF0aCAkZGlyIgoJICA7OwoJZXNhYwoJY2Fz
ZSAkaG9zdCBpbgoJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9z
MiopCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgoJICAqIjokZGlyOiIqKSA7OwoJICAqKSBk
bGxzZWFyY2hwYXRoPSIkZGxsc2VhcmNocGF0aDokZGlyIjs7CgkgIGVzYWMKCSAgOzsKCWVzYWMK
CWNvbnRpbnVlCgk7OwoKICAgICAgLWwqKQoJaWYgdGVzdCAiWCRhcmciID0gIlgtbGMiIHx8IHRl
c3QgIlgkYXJnIiA9ICJYLWxtIjsgdGhlbgoJICBjYXNlICRob3N0IGluCgkgICotKi1jeWd3aW4q
IHwgKi0qLXB3MzIqIHwgKi0qLWJlb3MqKQoJICAgICMgVGhlc2Ugc3lzdGVtcyBkb24ndCBhY3R1
YWxseSBoYXZlIGEgQyBvciBtYXRoIGxpYnJhcnkgKGFzIHN1Y2gpCgkgICAgY29udGludWUKCSAg
ICA7OwoJICAqLSotbWluZ3cqIHwgKi0qLW9zMiopCgkgICAgIyBUaGVzZSBzeXN0ZW1zIGRvbid0
IGFjdHVhbGx5IGhhdmUgYSBDIGxpYnJhcnkgKGFzIHN1Y2gpCgkgICAgdGVzdCAiWCRhcmciID0g
IlgtbGMiICYmIGNvbnRpbnVlCgkgICAgOzsKCSAgKi0qLW9wZW5ic2QqIHwgKi0qLWZyZWVic2Qq
KQoJICAgICMgRG8gbm90IGluY2x1ZGUgbGliYyBkdWUgdG8gdXMgaGF2aW5nIGxpYmMvbGliY19y
LgoJICAgIHRlc3QgIlgkYXJnIiA9ICJYLWxjIiAmJiBjb250aW51ZQoJICAgIDs7CgkgICotKi1y
aGFwc29keSogfCAqLSotZGFyd2luMS5bMDEyXSkKCSAgICAjIFJoYXBzb2R5IEMgYW5kIG1hdGgg
bGlicmFyaWVzIGFyZSBpbiB0aGUgU3lzdGVtIGZyYW1ld29yawoJICAgIGRlcGxpYnM9IiRkZXBs
aWJzIC1mcmFtZXdvcmsgU3lzdGVtIgoJICAgIGNvbnRpbnVlCgkgIGVzYWMKCWVsaWYgdGVzdCAi
WCRhcmciID0gIlgtbGNfciI7IHRoZW4KCSBjYXNlICRob3N0IGluCgkgKi0qLW9wZW5ic2QqIHwg
Ki0qLWZyZWVic2QqKQoJICAgIyBEbyBub3QgaW5jbHVkZSBsaWJjX3IgZGlyZWN0bHksIHVzZSAt
cHRocmVhZCBmbGFnLgoJICAgY29udGludWUKCSAgIDs7CgkgZXNhYwoJZmkKCWRlcGxpYnM9IiRk
ZXBsaWJzICRhcmciCgljb250aW51ZQoJOzsKCiAgICAgLW10fC1tdGhyZWFkc3wta3RocmVhZHwt
S3RocmVhZHwtcHRocmVhZHwtcHRocmVhZHN8LS10aHJlYWQtc2FmZSkKCWRlcGxpYnM9IiRkZXBs
aWJzICRhcmciCgljb250aW51ZQoJOzsKCiAgICAgIC1tb2R1bGUpCgltb2R1bGU9eWVzCgljb250
aW51ZQoJOzsKCiAgICAgICMgZ2NjIC1tKiBhcmd1bWVudHMgc2hvdWxkIGJlIHBhc3NlZCB0byB0
aGUgbGlua2VyIHZpYSAkY29tcGlsZXJfZmxhZ3MKICAgICAgIyBpbiBvcmRlciB0byBwYXNzIGFy
Y2hpdGVjdHVyZSBpbmZvcm1hdGlvbiB0byB0aGUgbGlua2VyCiAgICAgICMgKGUuZy4gMzIgdnMg
NjQtYml0KS4gIFRoaXMgbWF5IGFsc28gYmUgYWNjb21wbGlzaGVkIHZpYSAtV2wsLW1mb28KICAg
ICAgIyBidXQgdGhpcyBpcyBub3QgcmVsaWFibGUgd2l0aCBnY2MgYmVjYXVzZSBnY2MgbWF5IHVz
ZSAtbWZvbyB0bwogICAgICAjIHNlbGVjdCBhIGRpZmZlcmVudCBsaW5rZXIsIGRpZmZlcmVudCBs
aWJyYXJpZXMsIGV0Yywgd2hpbGUKICAgICAgIyAtV2wsLW1mb28gc2ltcGx5IHBhc3NlcyAtbWZv
byB0byB0aGUgbGlua2VyLgogICAgICAtbSopCgkjIFVua25vd24gYXJndW1lbnRzIGluIGJvdGgg
ZmluYWxpemVfY29tbWFuZCBhbmQgY29tcGlsZV9jb21tYW5kIG5lZWQKCSMgdG8gYmUgYWVzdGhl
dGljYWxseSBxdW90ZWQgYmVjYXVzZSB0aGV5IGFyZSBldmFsZWQgbGF0ZXIuCglhcmc9YCRlY2hv
ICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCgljYXNlICRhcmcgaW4KCSpb
XFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIiKQoJICBhcmc9Ilwi
JGFyZ1wiIgoJICA7OwoJZXNhYwogICAgICAgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29t
bWFuZCAkYXJnIgogICAgICAgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRh
cmciCiAgICAgICAgaWYgdGVzdCAiJHdpdGhfZ2NjIiA9ICJ5ZXMiIDsgdGhlbgogICAgICAgICAg
Y29tcGlsZXJfZmxhZ3M9IiRjb21waWxlcl9mbGFncyAkYXJnIgogICAgICAgIGZpCiAgICAgICAg
Y29udGludWUKICAgICAgICA7OwoKICAgICAgLXNocmV4dCkKCXByZXY9c2hyZXh0Cgljb250aW51
ZQoJOzsKCiAgICAgIC1uby1mYXN0LWluc3RhbGwpCglmYXN0X2luc3RhbGw9bm8KCWNvbnRpbnVl
Cgk7OwoKICAgICAgLW5vLWluc3RhbGwpCgljYXNlICRob3N0IGluCgkqLSotY3lnd2luKiB8ICot
Ki1taW5ndyogfCAqLSotcHczMiogfCAqLSotb3MyKikKCSAgIyBUaGUgUEFUSCBoYWNrZXJ5IGlu
IHdyYXBwZXIgc2NyaXB0cyBpcyByZXF1aXJlZCBvbiBXaW5kb3dzCgkgICMgaW4gb3JkZXIgZm9y
IHRoZSBsb2FkZXIgdG8gZmluZCBhbnkgZGxscyBpdCBuZWVkcy4KCSAgJGVjaG8gIiRtb2RlbmFt
ZTogd2FybmluZzogXGAtbm8taW5zdGFsbCcgaXMgaWdub3JlZCBmb3IgJGhvc3QiIDE+JjIKCSAg
JGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogYXNzdW1pbmcgXGAtbm8tZmFzdC1pbnN0YWxsJyBp
bnN0ZWFkIiAxPiYyCgkgIGZhc3RfaW5zdGFsbD1ubwoJICA7OwoJKikgbm9faW5zdGFsbD15ZXMg
OzsKCWVzYWMKCWNvbnRpbnVlCgk7OwoKICAgICAgLW5vLXVuZGVmaW5lZCkKCWFsbG93X3VuZGVm
aW5lZD1ubwoJY29udGludWUKCTs7CgogICAgICAtb2JqZWN0bGlzdCkKCXByZXY9b2JqZWN0bGlz
dAoJY29udGludWUKCTs7CgogICAgICAtbykgcHJldj1vdXRwdXQgOzsKCiAgICAgIC1wcmVjaW91
cy1maWxlcy1yZWdleCkKCXByZXY9cHJlY2lvdXNfcmVnZXgKCWNvbnRpbnVlCgk7OwoKICAgICAg
LXJlbGVhc2UpCglwcmV2PXJlbGVhc2UKCWNvbnRpbnVlCgk7OwoKICAgICAgLXJwYXRoKQoJcHJl
dj1ycGF0aAoJY29udGludWUKCTs7CgogICAgICAtUikKCXByZXY9eHJwYXRoCgljb250aW51ZQoJ
OzsKCiAgICAgIC1SKikKCWRpcj1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzL14tUi8vJ2AK
CSMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkZGlyIGluCglbXFwvXSogfCBbQS1a
YS16XTpbXFwvXSopIDs7CgkqKQoJICAkZWNobyAiJG1vZGVuYW1lOiBvbmx5IGFic29sdXRlIHJ1
bi1wYXRocyBhcmUgYWxsb3dlZCIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgOzsKCWVz
YWMKCWNhc2UgIiR4cnBhdGggIiBpbgoJKiIgJGRpciAiKikgOzsKCSopIHhycGF0aD0iJHhycGF0
aCAkZGlyIiA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAgICAtc3RhdGljKQoJIyBUaGUgZWZm
ZWN0cyBvZiAtc3RhdGljIGFyZSBkZWZpbmVkIGluIGEgcHJldmlvdXMgbG9vcC4KCSMgV2UgdXNl
ZCB0byBkbyB0aGUgc2FtZSBhcyAtYWxsLXN0YXRpYyBvbiBwbGF0Zm9ybXMgdGhhdAoJIyBkaWRu
J3QgaGF2ZSBhIFBJQyBmbGFnLCBidXQgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgZWZmZWN0cwoJ
IyB3b3VsZCBiZSBlcXVpdmFsZW50IHdhcyB3cm9uZy4gIEl0IHdvdWxkIGJyZWFrIG9uIGF0IGxl
YXN0CgkjIERpZ2l0YWwgVW5peCBhbmQgQUlYLgoJY29udGludWUKCTs7CgogICAgICAtdGhyZWFk
LXNhZmUpCgl0aHJlYWRfc2FmZT15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXZlcnNpb24taW5m
bykKCXByZXY9dmluZm8KCWNvbnRpbnVlCgk7OwogICAgICAtdmVyc2lvbi1udW1iZXIpCglwcmV2
PXZpbmZvCgl2aW5mb19udW1iZXI9eWVzCgljb250aW51ZQoJOzsKCiAgICAgIC1XYywqKQoJYXJn
cz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0IiAtZSAncy9eLVdj
LC8vJ2AKCWFyZz0KCXNhdmVfaWZzPSIkSUZTIjsgSUZTPScsJwoJZm9yIGZsYWcgaW4gJGFyZ3M7
IGRvCgkgIElGUz0iJHNhdmVfaWZzIgoJICBjYXNlICRmbGFnIGluCgkgICAgKltcW1x+XCNcXlwm
XCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCgkgICAgZmxhZz0iXCIkZmxhZ1wi
IgoJICAgIDs7CgkgIGVzYWMKCSAgYXJnPSIkYXJnICR3bCRmbGFnIgoJICBjb21waWxlcl9mbGFn
cz0iJGNvbXBpbGVyX2ZsYWdzICRmbGFnIgoJZG9uZQoJSUZTPSIkc2F2ZV9pZnMiCglhcmc9YCRl
Y2hvICJYJGFyZyIgfCAkWHNlZCAtZSAicy9eIC8vImAKCTs7CgogICAgICAtV2wsKikKCWFyZ3M9
YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCIgLWUgJ3MvXi1XbCwv
LydgCglhcmc9CglzYXZlX2lmcz0iJElGUyI7IElGUz0nLCcKCWZvciBmbGFnIGluICRhcmdzOyBk
bwoJICBJRlM9IiRzYXZlX2lmcyIKCSAgY2FzZSAkZmxhZyBpbgoJICAgICpbXFtcflwjXF5cJlwq
XChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIiKQoJICAgIGZsYWc9IlwiJGZsYWdcIiIK
CSAgICA7OwoJICBlc2FjCgkgIGFyZz0iJGFyZyAkd2wkZmxhZyIKCSAgY29tcGlsZXJfZmxhZ3M9
IiRjb21waWxlcl9mbGFncyAkd2wkZmxhZyIKCSAgbGlua2VyX2ZsYWdzPSIkbGlua2VyX2ZsYWdz
ICRmbGFnIgoJZG9uZQoJSUZTPSIkc2F2ZV9pZnMiCglhcmc9YCRlY2hvICJYJGFyZyIgfCAkWHNl
ZCAtZSAicy9eIC8vImAKCTs7CgogICAgICAtWGNvbXBpbGVyKQoJcHJldj14Y29tcGlsZXIKCWNv
bnRpbnVlCgk7OwoKICAgICAgLVhsaW5rZXIpCglwcmV2PXhsaW5rZXIKCWNvbnRpbnVlCgk7OwoK
ICAgICAgLVhDQ2xpbmtlcikKCXByZXY9eGNjbGlua2VyCgljb250aW51ZQoJOzsKCiAgICAgIC1L
dGhyZWFkIHwgLW10aHJlYWRzIHwgLW10IHwgLXB0aHJlYWQgfCAtcHRocmVhZHMgfCAtdGhyZWFk
cyB8IC1xdGhyZWFkZWQgfCAta3RocmVhZCApCiAgICAgICAgY29tcGlsZXJfZmxhZ3M9IiRjb21w
aWxlcl9mbGFncyAkYXJnIgogICAgICAgIGNvbnRpbnVlCiAgICAgICAgOzsKCiAgICAgICMgU29t
ZSBvdGhlciBjb21waWxlciBmbGFnLgogICAgICAtKiB8ICsqKQoJIyBVbmtub3duIGFyZ3VtZW50
cyBpbiBib3RoIGZpbmFsaXplX2NvbW1hbmQgYW5kIGNvbXBpbGVfY29tbWFuZCBuZWVkCgkjIHRv
IGJlIGFlc3RoZXRpY2FsbHkgcXVvdGVkIGJlY2F1c2UgdGhleSBhcmUgZXZhbGVkIGxhdGVyLgoJ
YXJnPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAoJY2FzZSAk
YXJnIGluCgkqW1xbXH5cI1xeXCZcKlwoXClce1x9XHxcO1w8XD5cP1wnXCBcCV0qfCpdKnwiIikK
CSAgYXJnPSJcIiRhcmdcIiIKCSAgOzsKCWVzYWMKCTs7CgogICAgICAqLiRvYmpleHQpCgkjIEEg
c3RhbmRhcmQgb2JqZWN0LgoJb2Jqcz0iJG9ianMgJGFyZyIKCTs7CgogICAgICAqLmxvKQoJIyBB
IGxpYnRvb2wtY29udHJvbGxlZCBvYmplY3QuCgoJIyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJl
YWxseSBpcyBhIGxpYnRvb2wgb2JqZWN0LgoJaWYgKCR7U0VEfSAtZSAnMnEnICRhcmcgfCBncmVw
ICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsgdGhlbgoJICBw
aWNfb2JqZWN0PQoJICBub25fcGljX29iamVjdD0KCgkgICMgUmVhZCB0aGUgLmxvIGZpbGUKCSAg
IyBJZiB0aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCgkgIGNh
c2UgJGFyZyBpbgoJICAqLyogfCAqXFwqKSAuICRhcmcgOzsKCSAgKikgLiAuLyRhcmcgOzsKCSAg
ZXNhYwoKCSAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IFwKCSAgICAgdGVzdCAteiAiJG5v
bl9waWNfb2JqZWN0IiB8fAoJICAgICB0ZXN0ICIkcGljX29iamVjdCIgPSBub25lICYmIFwKCSAg
ICAgdGVzdCAiJG5vbl9waWNfb2JqZWN0IiA9IG5vbmU7IHRoZW4KCSAgICAkZWNobyAiJG1vZGVu
YW1lOiBjYW5ub3QgZmluZCBuYW1lIG9mIG9iamVjdCBmb3IgXGAkYXJnJyIgMT4mMgoJICAgIGV4
aXQgJEVYSVRfRkFJTFVSRQoJICBmaQoKCSAgIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRo
ZSBhcmd1bWVudC4KCSAgeGRpcj1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQl
JSdgCgkgIGlmIHRlc3QgIlgkeGRpciIgPSAiWCRhcmciOyB0aGVuCgkgICAgeGRpcj0KIAkgIGVs
c2UKCSAgICB4ZGlyPSIkeGRpci8iCgkgIGZpCgoJICBpZiB0ZXN0ICIkcGljX29iamVjdCIgIT0g
bm9uZTsgdGhlbgoJICAgICMgUHJlcGVuZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBvYmplY3QgaXMg
Zm91bmQgaW4uCgkgICAgcGljX29iamVjdD0iJHhkaXIkcGljX29iamVjdCIKCgkgICAgaWYgdGVz
dCAiJHByZXYiID0gZGxmaWxlczsgdGhlbgoJICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xf
bGlicyIgPSB5ZXMgJiYgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiA9IHllczsgdGhlbgoJCWRsZmls
ZXM9IiRkbGZpbGVzICRwaWNfb2JqZWN0IgoJCXByZXY9CgkJY29udGludWUKCSAgICAgIGVsc2UK
CQkjIElmIGxpYnRvb2wgb2JqZWN0cyBhcmUgdW5zdXBwb3J0ZWQsIHRoZW4gd2UgbmVlZCB0byBw
cmVsb2FkLgoJCXByZXY9ZGxwcmVmaWxlcwoJICAgICAgZmkKCSAgICBmaQoKCSAgICAjIENIRUNL
IE1FOiAgSSB0aGluayBJIGJ1c3RlZCB0aGlzLiAgLU9zc2FtYQoJICAgIGlmIHRlc3QgIiRwcmV2
IiA9IGRscHJlZmlsZXM7IHRoZW4KCSAgICAgICMgUHJlbG9hZCB0aGUgb2xkLXN0eWxlIG9iamVj
dC4KCSAgICAgIGRscHJlZmlsZXM9IiRkbHByZWZpbGVzICRwaWNfb2JqZWN0IgoJICAgICAgcHJl
dj0KCSAgICBmaQoKCSAgICAjIEEgUElDIG9iamVjdC4KCSAgICBsaWJvYmpzPSIkbGlib2JqcyAk
cGljX29iamVjdCIKCSAgICBhcmc9IiRwaWNfb2JqZWN0IgoJICBmaQoKCSAgIyBOb24tUElDIG9i
amVjdC4KCSAgaWYgdGVzdCAiJG5vbl9waWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkgICAgIyBQ
cmVwZW5kIHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCSAgICBub25f
cGljX29iamVjdD0iJHhkaXIkbm9uX3BpY19vYmplY3QiCgoJICAgICMgQSBzdGFuZGFyZCBub24t
UElDIG9iamVjdAoJICAgIG5vbl9waWNfb2JqZWN0cz0iJG5vbl9waWNfb2JqZWN0cyAkbm9uX3Bp
Y19vYmplY3QiCgkgICAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRlc3QgIiRwaWNfb2Jq
ZWN0IiA9IG5vbmUgOyB0aGVuCgkgICAgICBhcmc9IiRub25fcGljX29iamVjdCIKCSAgICBmaQoJ
ICBmaQoJZWxzZQoJICAjIE9ubHkgYW4gZXJyb3IgaWYgbm90IGRvaW5nIGEgZHJ5LXJ1bi4KCSAg
aWYgdGVzdCAteiAiJHJ1biI7IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiBcYCRhcmcnIGlz
IG5vdCBhIHZhbGlkIGxpYnRvb2wgb2JqZWN0IiAxPiYyCgkgICAgZXhpdCAkRVhJVF9GQUlMVVJF
CgkgIGVsc2UKCSAgICAjIERyeS1ydW4gY2FzZS4KCgkgICAgIyBFeHRyYWN0IHN1YmRpcmVjdG9y
eSBmcm9tIHRoZSBhcmd1bWVudC4KCSAgICB4ZGlyPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUg
J3MlL1teL10qJCUlJ2AKCSAgICBpZiB0ZXN0ICJYJHhkaXIiID0gIlgkYXJnIjsgdGhlbgoJICAg
ICAgeGRpcj0KCSAgICBlbHNlCgkgICAgICB4ZGlyPSIkeGRpci8iCgkgICAgZmkKCgkgICAgcGlj
X29iamVjdD1gJGVjaG8gIlgke3hkaXJ9JHtvYmpkaXJ9LyR7YXJnfSIgfCAkWHNlZCAtZSAiJGxv
Mm8iYAoJICAgIG5vbl9waWNfb2JqZWN0PWAkZWNobyAiWCR7eGRpcn0ke2FyZ30iIHwgJFhzZWQg
LWUgIiRsbzJvImAKCSAgICBsaWJvYmpzPSIkbGlib2JqcyAkcGljX29iamVjdCIKCSAgICBub25f
cGljX29iamVjdHM9IiRub25fcGljX29iamVjdHMgJG5vbl9waWNfb2JqZWN0IgoJICBmaQoJZmkK
CTs7CgogICAgICAqLiRsaWJleHQpCgkjIEFuIGFyY2hpdmUuCglkZXBsaWJzPSIkZGVwbGlicyAk
YXJnIgoJb2xkX2RlcGxpYnM9IiRvbGRfZGVwbGlicyAkYXJnIgoJY29udGludWUKCTs7CgogICAg
ICAqLmxhKQoJIyBBIGxpYnRvb2wtY29udHJvbGxlZCBsaWJyYXJ5LgoKCWlmIHRlc3QgIiRwcmV2
IiA9IGRsZmlsZXM7IHRoZW4KCSAgIyBUaGlzIGxpYnJhcnkgd2FzIHNwZWNpZmllZCB3aXRoIC1k
bG9wZW4uCgkgIGRsZmlsZXM9IiRkbGZpbGVzICRhcmciCgkgIHByZXY9CgllbGlmIHRlc3QgIiRw
cmV2IiA9IGRscHJlZmlsZXM7IHRoZW4KCSAgIyBUaGUgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdp
dGggLWRscHJlb3Blbi4KCSAgZGxwcmVmaWxlcz0iJGRscHJlZmlsZXMgJGFyZyIKCSAgcHJldj0K
CWVsc2UKCSAgZGVwbGlicz0iJGRlcGxpYnMgJGFyZyIKCWZpCgljb250aW51ZQoJOzsKCiAgICAg
ICMgU29tZSBvdGhlciBjb21waWxlciBhcmd1bWVudC4KICAgICAgKikKCSMgVW5rbm93biBhcmd1
bWVudHMgaW4gYm90aCBmaW5hbGl6ZV9jb21tYW5kIGFuZCBjb21waWxlX2NvbW1hbmQgbmVlZAoJ
IyB0byBiZSBhZXN0aGV0aWNhbGx5IHF1b3RlZCBiZWNhdXNlIHRoZXkgYXJlIGV2YWxlZCBsYXRl
ci4KCWFyZz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKCWNh
c2UgJGFyZyBpbgoJKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8
IiIpCgkgIGFyZz0iXCIkYXJnXCIiCgkgIDs7Cgllc2FjCgk7OwogICAgICBlc2FjICMgYXJnCgog
ICAgICAjIE5vdyBhY3R1YWxseSBzdWJzdGl0dXRlIHRoZSBhcmd1bWVudCBpbnRvIHRoZSBjb21t
YW5kcy4KICAgICAgaWYgdGVzdCAtbiAiJGFyZyI7IHRoZW4KCWNvbXBpbGVfY29tbWFuZD0iJGNv
bXBpbGVfY29tbWFuZCAkYXJnIgoJZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQg
JGFyZyIKICAgICAgZmkKICAgIGRvbmUgIyBhcmd1bWVudCBwYXJzaW5nIGxvb3AKCiAgICBpZiB0
ZXN0IC1uICIkcHJldiI7IHRoZW4KICAgICAgJGVjaG8gIiRtb2RlbmFtZTogdGhlIFxgJHByZXZh
cmcnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIgMT4mMgogICAgICAkZWNobyAiJGhlbHAi
IDE+JjIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICBmaQoKICAgIGlmIHRlc3QgIiRleHBv
cnRfZHluYW1pYyIgPSB5ZXMgJiYgdGVzdCAtbiAiJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYyI7
IHRoZW4KICAgICAgZXZhbCBhcmc9XCIkZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjXCIKICAgICAg
Y29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICRhcmciCiAgICAgIGZpbmFsaXplX2Nv
bW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRhcmciCiAgICBmaQoKICAgIG9sZGxpYnM9CiAgICAj
IGNhbGN1bGF0ZSB0aGUgbmFtZSBvZiB0aGUgZmlsZSwgd2l0aG91dCBpdHMgZGlyZWN0b3J5CiAg
ICBvdXRwdXRuYW1lPWAkZWNobyAiWCRvdXRwdXQiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKICAg
IGxpYm9ianNfc2F2ZT0iJGxpYm9ianMiCgogICAgaWYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIi
OyB0aGVuCiAgICAgICMgZ2V0IHRoZSBkaXJlY3RvcmllcyBsaXN0ZWQgaW4gJHNobGlicGF0aF92
YXIKICAgICAgZXZhbCBzaGxpYl9zZWFyY2hfcGF0aD1cYFwkZWNobyBcIlhcJHskc2hsaWJwYXRo
X3Zhcn1cIiBcfCBcJFhzZWQgLWUgXCdzLzovIC9nXCdcYAogICAgZWxzZQogICAgICBzaGxpYl9z
ZWFyY2hfcGF0aD0KICAgIGZpCiAgICBldmFsIHN5c19saWJfc2VhcmNoX3BhdGg9XCIkc3lzX2xp
Yl9zZWFyY2hfcGF0aF9zcGVjXCIKICAgIGV2YWwgc3lzX2xpYl9kbHNlYXJjaF9wYXRoPVwiJHN5
c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjXCIKCiAgICBvdXRwdXRfb2JqZGlyPWAkZWNobyAiWCRv
dXRwdXQiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKICAgIGlmIHRlc3QgIlgkb3V0cHV0X29i
amRpciIgPSAiWCRvdXRwdXQiOyB0aGVuCiAgICAgIG91dHB1dF9vYmpkaXI9IiRvYmpkaXIiCiAg
ICBlbHNlCiAgICAgIG91dHB1dF9vYmpkaXI9IiRvdXRwdXRfb2JqZGlyLyRvYmpkaXIiCiAgICBm
aQogICAgIyBDcmVhdGUgdGhlIG9iamVjdCBkaXJlY3RvcnkuCiAgICBpZiB0ZXN0ICEgLWQgIiRv
dXRwdXRfb2JqZGlyIjsgdGhlbgogICAgICAkc2hvdyAiJG1rZGlyICRvdXRwdXRfb2JqZGlyIgog
ICAgICAkcnVuICRta2RpciAkb3V0cHV0X29iamRpcgogICAgICBzdGF0dXM9JD8KICAgICAgaWYg
dGVzdCAiJHN0YXR1cyIgLW5lIDAgJiYgdGVzdCAhIC1kICIkb3V0cHV0X29iamRpciI7IHRoZW4K
CWV4aXQgJHN0YXR1cwogICAgICBmaQogICAgZmkKCiAgICAjIERldGVybWluZSB0aGUgdHlwZSBv
ZiBvdXRwdXQKICAgIGNhc2UgJG91dHB1dCBpbgogICAgIiIpCiAgICAgICRlY2hvICIkbW9kZW5h
bWU6IHlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0IGZpbGUiIDE+JjIKICAgICAgJGVjaG8gIiRo
ZWxwIiAxPiYyCiAgICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogICAgICA7OwogICAgKi4kbGliZXh0
KSBsaW5rbW9kZT1vbGRsaWIgOzsKICAgICoubG8gfCAqLiRvYmpleHQpIGxpbmttb2RlPW9iaiA7
OwogICAgKi5sYSkgbGlua21vZGU9bGliIDs7CiAgICAqKSBsaW5rbW9kZT1wcm9nIDs7ICMgQW55
dGhpbmcgZWxzZSBzaG91bGQgYmUgYSBwcm9ncmFtLgogICAgZXNhYwoKICAgIGNhc2UgJGhvc3Qg
aW4KICAgICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpwdzMyKikKICAgICAgIyBkb24ndCBlbGltaW5h
dGUgZHVwbGljYXRpb25zIGluICRwb3N0ZGVwcyBhbmQgJHByZWRlcHMKICAgICAgZHVwbGljYXRl
X2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzPXllcwogICAgICA7OwogICAgKikKICAgICAgZHVwbGlj
YXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzPSRkdXBsaWNhdGVfZGVwcwogICAgICA7OwogICAg
ZXNhYwogICAgc3BlY2lhbGRlcGxpYnM9CgogICAgbGlicz0KICAgICMgRmluZCBhbGwgaW50ZXJk
ZXBlbmRlbnQgZGVwbGlicyBieSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcwogICAgIyB0aGF0IGFy
ZSBsaW5rZWQgbW9yZSB0aGFuIG9uY2UgKGUuZy4gLWxhIC1sYiAtbGEpCiAgICBmb3IgZGVwbGli
IGluICRkZXBsaWJzOyBkbwogICAgICBpZiB0ZXN0ICJYJGR1cGxpY2F0ZV9kZXBzIiA9ICJYeWVz
IiA7IHRoZW4KCWNhc2UgIiRsaWJzICIgaW4KCSoiICRkZXBsaWIgIiopIHNwZWNpYWxkZXBsaWJz
PSIkc3BlY2lhbGRlcGxpYnMgJGRlcGxpYiIgOzsKCWVzYWMKICAgICAgZmkKICAgICAgbGlicz0i
JGxpYnMgJGRlcGxpYiIKICAgIGRvbmUKCiAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliOyB0
aGVuCiAgICAgIGxpYnM9IiRwcmVkZXBzICRsaWJzICRjb21waWxlcl9saWJfc2VhcmNoX3BhdGgg
JHBvc3RkZXBzIgoKICAgICAgIyBDb21wdXRlIGxpYnJhcmllcyB0aGF0IGFyZSBsaXN0ZWQgbW9y
ZSB0aGFuIG9uY2UgaW4gJHByZWRlcHMKICAgICAgIyAkcG9zdGRlcHMgYW5kIG1hcmsgdGhlbSBh
cyBzcGVjaWFsIChpLmUuLCB3aG9zZSBkdXBsaWNhdGVzIGFyZQogICAgICAjIG5vdCB0byBiZSBl
bGltaW5hdGVkKS4KICAgICAgcHJlX3Bvc3RfZGVwcz0KICAgICAgaWYgdGVzdCAiWCRkdXBsaWNh
dGVfY29tcGlsZXJfZ2VuZXJhdGVkX2RlcHMiID0gIlh5ZXMiIDsgdGhlbgoJZm9yIHByZV9wb3N0
X2RlcCBpbiAkcHJlZGVwcyAkcG9zdGRlcHM7IGRvCgkgIGNhc2UgIiRwcmVfcG9zdF9kZXBzICIg
aW4KCSAgKiIgJHByZV9wb3N0X2RlcCAiKikgc3BlY2lhbGRlcGxpYnM9IiRzcGVjaWFsZGVwbGli
cyAkcHJlX3Bvc3RfZGVwcyIgOzsKCSAgZXNhYwoJICBwcmVfcG9zdF9kZXBzPSIkcHJlX3Bvc3Rf
ZGVwcyAkcHJlX3Bvc3RfZGVwIgoJZG9uZQogICAgICBmaQogICAgICBwcmVfcG9zdF9kZXBzPQog
ICAgZmkKCiAgICBkZXBsaWJzPQogICAgbmV3ZGVwZW5kZW5jeV9saWJzPQogICAgbmV3bGliX3Nl
YXJjaF9wYXRoPQogICAgbmVlZF9yZWxpbms9bm8gIyB3aGV0aGVyIHdlJ3JlIGxpbmtpbmcgYW55
IHVuaW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCiAgICBub3RpbnN0X2RlcGxpYnM9ICMgbm90
LWluc3RhbGxlZCBsaWJ0b29sIGxpYnJhcmllcwogICAgbm90aW5zdF9wYXRoPSAjIHBhdGhzIHRo
YXQgY29udGFpbiBub3QtaW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCiAgICBjYXNlICRsaW5r
bW9kZSBpbgogICAgbGliKQoJcGFzc2VzPSJjb252IGxpbmsiCglmb3IgZmlsZSBpbiAkZGxmaWxl
cyAkZGxwcmVmaWxlczsgZG8KCSAgY2FzZSAkZmlsZSBpbgoJICAqLmxhKSA7OwoJICAqKQoJICAg
ICRlY2hvICIkbW9kZW5hbWU6IGxpYnJhcmllcyBjYW4gXGAtZGxvcGVuJyBvbmx5IGxpYnRvb2wg
bGlicmFyaWVzOiAkZmlsZSIgMT4mMgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICAgIDs7Cgkg
IGVzYWMKCWRvbmUKCTs7CiAgICBwcm9nKQoJY29tcGlsZV9kZXBsaWJzPQoJZmluYWxpemVfZGVw
bGlicz0KCWFsbGRlcGxpYnM9bm8KCW5ld2RsZmlsZXM9CgluZXdkbHByZWZpbGVzPQoJcGFzc2Vz
PSJjb252IHNjYW4gZGxvcGVuIGRscHJlb3BlbiBsaW5rIgoJOzsKICAgICopICBwYXNzZXM9ImNv
bnYiCgk7OwogICAgZXNhYwogICAgZm9yIHBhc3MgaW4gJHBhc3NlczsgZG8KICAgICAgaWYgdGVz
dCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGluayIgfHwKCSB0ZXN0ICIkbGlua21vZGUsJHBh
c3MiID0gInByb2csc2NhbiI7IHRoZW4KCWxpYnM9IiRkZXBsaWJzIgoJZGVwbGlicz0KICAgICAg
ZmkKICAgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCWNhc2UgJHBhc3MgaW4K
CWRsb3BlbikgbGlicz0iJGRsZmlsZXMiIDs7CglkbHByZW9wZW4pIGxpYnM9IiRkbHByZWZpbGVz
IiA7OwoJbGluaykgbGlicz0iJGRlcGxpYnMgJURFUExJQlMlICRkZXBlbmRlbmN5X2xpYnMiIDs7
Cgllc2FjCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRsb3BlbjsgdGhlbgoJIyBD
b2xsZWN0IGRscHJlb3BlbmVkIGxpYnJhcmllcwoJc2F2ZV9kZXBsaWJzPSIkZGVwbGlicyIKCWRl
cGxpYnM9CiAgICAgIGZpCiAgICAgIGZvciBkZXBsaWIgaW4gJGxpYnM7IGRvCglsaWI9Cglmb3Vu
ZD1ubwoJY2FzZSAkZGVwbGliIGluCgktbXR8LW10aHJlYWRzfC1rdGhyZWFkfC1LdGhyZWFkfC1w
dGhyZWFkfC1wdGhyZWFkc3wtLXRocmVhZC1zYWZlKQoJICBpZiB0ZXN0ICIkbGlua21vZGUsJHBh
c3MiID0gInByb2csbGluayI7IHRoZW4KCSAgICBjb21waWxlX2RlcGxpYnM9IiRkZXBsaWIgJGNv
bXBpbGVfZGVwbGlicyIKCSAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9k
ZXBsaWJzIgoJICBlbHNlCgkgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgZmkKCSAg
Y29udGludWUKCSAgOzsKCS1sKikKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiAhPSBsaWIgJiYgdGVz
dCAiJGxpbmttb2RlIiAhPSBwcm9nOyB0aGVuCgkgICAgJGVjaG8gIiRtb2RlbmFtZTogd2Fybmlu
ZzogXGAtbCcgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMvb2JqZWN0cyIgMT4mMgoJICAgIGNvbnRp
bnVlCgkgIGZpCgkgIGlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgICBkZXBsaWJzPSIk
ZGVwbGliICRkZXBsaWJzIgoJICAgIGNvbnRpbnVlCgkgIGZpCgkgIG5hbWU9YCRlY2hvICJYJGRl
cGxpYiIgfCAkWHNlZCAtZSAncy9eLWwvLydgCgkgIGZvciBzZWFyY2hkaXIgaW4gJG5ld2xpYl9z
ZWFyY2hfcGF0aCAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9z
ZWFyY2hfcGF0aDsgZG8KCSAgICBmb3Igc2VhcmNoX2V4dCBpbiAubGEgJHN0ZF9zaHJleHQgLnNv
IC5hOyBkbwoJICAgICAgIyBTZWFyY2ggdGhlIGxpYnRvb2wgbGlicmFyeQoJICAgICAgbGliPSIk
c2VhcmNoZGlyL2xpYiR7bmFtZX0ke3NlYXJjaF9leHR9IgoJICAgICAgaWYgdGVzdCAtZiAiJGxp
YiI7IHRoZW4KCQlpZiB0ZXN0ICIkc2VhcmNoX2V4dCIgPSAiLmxhIjsgdGhlbgoJCSAgZm91bmQ9
eWVzCgkJZWxzZQoJCSAgZm91bmQ9bm8KCQlmaQoJCWJyZWFrIDIKCSAgICAgIGZpCgkgICAgZG9u
ZQoJICBkb25lCgkgIGlmIHRlc3QgIiRmb3VuZCIgIT0geWVzOyB0aGVuCgkgICAgIyBkZXBsaWIg
ZG9lc24ndCBzZWVtIHRvIGJlIGEgbGlidG9vbCBsaWJyYXJ5CgkgICAgaWYgdGVzdCAiJGxpbmtt
b2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkgICAgICBjb21waWxlX2RlcGxpYnM9IiRk
ZXBsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBsaWIg
JGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVw
bGlicyIKCSAgICAgIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJz
PSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMiCgkgICAgZmkKCSAgICBjb250aW51ZQoJICBl
bHNlICMgZGVwbGliIGlzIGEgbGlidG9vbCBsaWJyYXJ5CgkgICAgIyBJZiAkYWxsb3dfbGlidG9v
bF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzICYmICRkZXBsaWIgaXMgYSBzdGRsaWIsCgkgICAg
IyBXZSBuZWVkIHRvIGRvIHNvbWUgc3BlY2lhbCB0aGluZ3MgaGVyZSwgYW5kIG5vdCBsYXRlci4K
CSAgICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIg
PSAiWHllcyIgOyB0aGVuCgkgICAgICBjYXNlICIgJHByZWRlcHMgJHBvc3RkZXBzICIgaW4KCSAg
ICAgICoiICRkZXBsaWIgIiopCgkJaWYgKCR7U0VEfSAtZSAnMnEnICRsaWIgfAogICAgICAgICAg
ICAgICAgICAgIGdyZXAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAy
PiYxOyB0aGVuCgkJICBsaWJyYXJ5X25hbWVzPQoJCSAgb2xkX2xpYnJhcnk9CgkJICBjYXNlICRs
aWIgaW4KCQkgICovKiB8ICpcXCopIC4gJGxpYiA7OwoJCSAgKikgLiAuLyRsaWIgOzsKCQkgIGVz
YWMKCQkgIGZvciBsIGluICRvbGRfbGlicmFyeSAkbGlicmFyeV9uYW1lczsgZG8KCQkgICAgbGw9
IiRsIgoJCSAgZG9uZQoJCSAgaWYgdGVzdCAiWCRsbCIgPSAiWCRvbGRfbGlicmFyeSIgOyB0aGVu
ICMgb25seSBzdGF0aWMgdmVyc2lvbiBhdmFpbGFibGUKCQkgICAgZm91bmQ9bm8KCQkgICAgbGFk
aXI9YCRlY2hvICJYJGxpYiIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAoJCSAgICB0ZXN0ICJY
JGxhZGlyIiA9ICJYJGxpYiIgJiYgbGFkaXI9Ii4iCgkJICAgIGxpYj0kbGFkaXIvJG9sZF9saWJy
YXJ5CgkJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxsaW5rIjsgdGhlbgoJ
CSAgICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJCSAgICAg
IGZpbmFsaXplX2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkJICAgIGVsc2UK
CQkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJCSAgICAgIHRlc3QgIiRsaW5rbW9k
ZSIgPSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xp
YnMiCgkJICAgIGZpCgkJICAgIGNvbnRpbnVlCgkJICBmaQoJCWZpCgkgICAgICAgIDs7CgkgICAg
ICAqKSA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkgIGZpCgkgIDs7ICMgLWwKCS1MKikKCSAgY2Fz
ZSAkbGlua21vZGUgaW4KCSAgbGliKQoJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkg
ICAgdGVzdCAiJHBhc3MiID0gY29udiAmJiBjb250aW51ZQoJICAgIG5ld2RlcGVuZGVuY3lfbGli
cz0iJGRlcGxpYiAkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAgIG5ld2xpYl9zZWFyY2hfcGF0aD0i
JG5ld2xpYl9zZWFyY2hfcGF0aCAiYCRlY2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAncy9eLUwv
LydgCgkgICAgOzsKCSAgcHJvZykKCSAgICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkg
ICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgICAgY29udGludWUKCSAgICBmaQoJ
ICAgIGlmIHRlc3QgIiRwYXNzIiA9IHNjYW47IHRoZW4KCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIg
JGRlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21w
aWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9k
ZXBsaWJzIgoJICAgIGZpCgkgICAgbmV3bGliX3NlYXJjaF9wYXRoPSIkbmV3bGliX3NlYXJjaF9w
YXRoICJgJGVjaG8gIlgkZGVwbGliIiB8ICRYc2VkIC1lICdzL14tTC8vJ2AKCSAgICA7OwoJICAq
KQoJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLUwnIGlzIGlnbm9yZWQgZm9yIGFy
Y2hpdmVzL29iamVjdHMiIDE+JjIKCSAgICA7OwoJICBlc2FjICMgbGlua21vZGUKCSAgY29udGlu
dWUKCSAgOzsgIyAtTAoJLVIqKQoJICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5rOyB0aGVuCgkgICAg
ZGlyPWAkZWNobyAiWCRkZXBsaWIiIHwgJFhzZWQgLWUgJ3MvXi1SLy8nYAoJICAgICMgTWFrZSBz
dXJlIHRoZSB4cnBhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMuCgkgICAgY2Fz
ZSAiJHhycGF0aCAiIGluCgkgICAgKiIgJGRpciAiKikgOzsKCSAgICAqKSB4cnBhdGg9IiR4cnBh
dGggJGRpciIgOzsKCSAgICBlc2FjCgkgIGZpCgkgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMi
CgkgIGNvbnRpbnVlCgkgIDs7CgkqLmxhKSBsaWI9IiRkZXBsaWIiIDs7CgkqLiRsaWJleHQpCgkg
IGlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBs
aWJzIgoJICAgIGNvbnRpbnVlCgkgIGZpCgkgIGNhc2UgJGxpbmttb2RlIGluCgkgIGxpYikKCSAg
ICB2YWxpZF9hX2xpYj1ubwoJICAgIGNhc2UgJGRlcGxpYnNfY2hlY2tfbWV0aG9kIGluCgkgICAg
ICBtYXRjaF9wYXR0ZXJuKikKCQlzZXQgZHVtbXkgJGRlcGxpYnNfY2hlY2tfbWV0aG9kCgkgICAg
ICAgIG1hdGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgOiAi
JDIgXCguKlwpImAKCQlpZiBldmFsICRlY2hvIFwiJGRlcGxpYlwiIDI+L2Rldi9udWxsIFwKCQkg
ICAgfCAkU0VEIDEwcSBcCgkJICAgIHwgJEVHUkVQICIkbWF0Y2hfcGF0dGVybl9yZWdleCIgPiAv
ZGV2L251bGw7IHRoZW4KCQkgIHZhbGlkX2FfbGliPXllcwoJCWZpCgkJOzsKCSAgICAgIHBhc3Nf
YWxsKQoJCXZhbGlkX2FfbGliPXllcwoJCTs7CiAgICAgICAgICAgIGVzYWMKCSAgICBpZiB0ZXN0
ICIkdmFsaWRfYV9saWIiICE9IHllczsgdGhlbgoJICAgICAgJGVjaG8KCSAgICAgICRlY2hvICIq
KiogV2FybmluZzogVHJ5aW5nIHRvIGxpbmsgd2l0aCBzdGF0aWMgbGliIGFyY2hpdmUgJGRlcGxp
Yi4iCgkgICAgICAkZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQg
bGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKCSAgICAgICRlY2hvICIqKiogeW91
IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2
ZSBhIgoJICAgICAgJGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hp
Y2ggeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSIKCSAgICAgICRlY2hvICIqKiogYmVjYXVzZSB0
aGUgZmlsZSBleHRlbnNpb25zIC4kbGliZXh0IG9mIHRoaXMgYXJndW1lbnQgbWFrZXMgbWUgYmVs
aWV2ZSIKCSAgICAgICRlY2hvICIqKiogdGhhdCBpdCBpcyBqdXN0IGEgc3RhdGljIGFyY2hpdmUg
dGhhdCBJIHNob3VsZCBub3QgdXNlZCBoZXJlLiIKCSAgICBlbHNlCgkgICAgICAkZWNobwoJICAg
ICAgJGVjaG8gIioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBzaGFyZWQgbGlicmFyeSAkb3V0cHV0
IGFnYWluc3QgdGhlIgoJICAgICAgJGVjaG8gIioqKiBzdGF0aWMgbGlicmFyeSAkZGVwbGliIGlz
IG5vdCBwb3J0YWJsZSEiCgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGZp
CgkgICAgY29udGludWUKCSAgICA7OwoJICBwcm9nKQoJICAgIGlmIHRlc3QgIiRwYXNzIiAhPSBs
aW5rOyB0aGVuCgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGVsc2UKCSAg
ICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJICAgICAgZmlu
YWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVwbGlicyIKCSAgICBmaQoJICAgIGNv
bnRpbnVlCgkgICAgOzsKCSAgZXNhYyAjIGxpbmttb2RlCgkgIDs7ICMgKi4kbGliZXh0CgkqLmxv
IHwgKi4kb2JqZXh0KQoJICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhl
bgoJICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3BlbiB8fCB0ZXN0ICIkZGxvcGVuX3N1cHBv
cnQiICE9IHllcyB8fCB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAg
ICAjIElmIHRoZXJlIGlzIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdlJ3JlIGxpbmtpbmcgc3RhdGlj
YWxseSwKCSAgICAgICMgd2UgbmVlZCB0byBwcmVsb2FkLgoJICAgICAgbmV3ZGxwcmVmaWxlcz0i
JG5ld2RscHJlZmlsZXMgJGRlcGxpYiIKCSAgICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAk
Y29tcGlsZV9kZXBsaWJzIgoJICAgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmluYWxp
emVfZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICBuZXdkbGZpbGVzPSIkbmV3ZGxmaWxlcyAkZGVw
bGliIgoJICAgIGZpCgkgIGZpCgkgIGNvbnRpbnVlCgkgIDs7CgklREVQTElCUyUpCgkgIGFsbGRl
cGxpYnM9eWVzCgkgIGNvbnRpbnVlCgkgIDs7Cgllc2FjICMgY2FzZSAkZGVwbGliCglpZiB0ZXN0
ICIkZm91bmQiID0geWVzIHx8IHRlc3QgLWYgIiRsaWIiOyB0aGVuIDoKCWVsc2UKCSAgJGVjaG8g
IiRtb2RlbmFtZTogY2Fubm90IGZpbmQgdGhlIGxpYnJhcnkgXGAkbGliJyIgMT4mMgoJICBleGl0
ICRFWElUX0ZBSUxVUkUKCWZpCgoJIyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBh
IGxpYnRvb2wgYXJjaGl2ZS4KCWlmICgke1NFRH0gLWUgJzJxJyAkbGliIHwgZ3JlcCAiXiMgR2Vu
ZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgoJZWxzZQoJICAk
ZWNobyAiJG1vZGVuYW1lOiBcYCRsaWInIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIg
MT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCWZpCgoJbGFkaXI9YCRlY2hvICJYJGxpYiIgfCAk
WHNlZCAtZSAncyUvW14vXSokJSUnYAoJdGVzdCAiWCRsYWRpciIgPSAiWCRsaWIiICYmIGxhZGly
PSIuIgoKCWRsbmFtZT0KCWRsb3Blbj0KCWRscHJlb3Blbj0KCWxpYmRpcj0KCWxpYnJhcnlfbmFt
ZXM9CglvbGRfbGlicmFyeT0KCSMgSWYgdGhlIGxpYnJhcnkgd2FzIGluc3RhbGxlZCB3aXRoIGFu
IG9sZCByZWxlYXNlIG9mIGxpYnRvb2wsCgkjIGl0IHdpbGwgbm90IHJlZGVmaW5lIHZhcmlhYmxl
cyBpbnN0YWxsZWQsIG9yIHNob3VsZG5vdGxpbmsKCWluc3RhbGxlZD15ZXMKCXNob3VsZG5vdGxp
bms9bm8KCgkjIFJlYWQgdGhlIC5sYSBmaWxlCgljYXNlICRsaWIgaW4KCSovKiB8ICpcXCopIC4g
JGxpYiA7OwoJKikgLiAuLyRsaWIgOzsKCWVzYWMKCglpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3Mi
ID0gImxpYixsaW5rIiB8fAoJICAgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLHNjYW4i
IHx8CgkgICB7IHRlc3QgIiRsaW5rbW9kZSIgIT0gcHJvZyAmJiB0ZXN0ICIkbGlua21vZGUiICE9
IGxpYjsgfTsgdGhlbgoJICB0ZXN0IC1uICIkZGxvcGVuIiAmJiBkbGZpbGVzPSIkZGxmaWxlcyAk
ZGxvcGVuIgoJICB0ZXN0IC1uICIkZGxwcmVvcGVuIiAmJiBkbHByZWZpbGVzPSIkZGxwcmVmaWxl
cyAkZGxwcmVvcGVuIgoJZmkKCglpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICMgT25s
eSBjaGVjayBmb3IgY29udmVuaWVuY2UgbGlicmFyaWVzCgkgIGRlcGxpYnM9IiRsaWIgJGRlcGxp
YnMiCgkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCgkgICAgaWYgdGVzdCAteiAiJG9sZF9s
aWJyYXJ5IjsgdGhlbgoJICAgICAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGZpbmQgbmFtZSBv
ZiBsaW5rIGxpYnJhcnkgZm9yIFxgJGxpYiciIDE+JjIKCSAgICAgIGV4aXQgJEVYSVRfRkFJTFVS
RQoJICAgIGZpCgkgICAgIyBJdCBpcyBhIGxpYnRvb2wgY29udmVuaWVuY2UgbGlicmFyeSwgc28g
YWRkIGluIGl0cyBvYmplY3RzLgoJICAgIGNvbnZlbmllbmNlPSIkY29udmVuaWVuY2UgJGxhZGly
LyRvYmpkaXIvJG9sZF9saWJyYXJ5IgoJICAgIG9sZF9jb252ZW5pZW5jZT0iJG9sZF9jb252ZW5p
ZW5jZSAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJhcnkiCgkgICAgdG1wX2xpYnM9CgkgICAgZm9y
IGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAk
ZGVwbGlicyIKICAgICAgICAgICAgICBpZiB0ZXN0ICJYJGR1cGxpY2F0ZV9kZXBzIiA9ICJYeWVz
IiA7IHRoZW4KCSAgICAgICAgY2FzZSAiJHRtcF9saWJzICIgaW4KCSAgICAgICAgKiIgJGRlcGxp
YiAiKikgc3BlY2lhbGRlcGxpYnM9IiRzcGVjaWFsZGVwbGlicyAkZGVwbGliIiA7OwoJICAgICAg
ICBlc2FjCiAgICAgICAgICAgICAgZmkKCSAgICAgIHRtcF9saWJzPSIkdG1wX2xpYnMgJGRlcGxp
YiIKCSAgICBkb25lCgkgIGVsaWYgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nICYmIHRlc3QgIiRs
aW5rbW9kZSIgIT0gbGliOyB0aGVuCgkgICAgJGVjaG8gIiRtb2RlbmFtZTogXGAkbGliJyBpcyBu
b3QgYSBjb252ZW5pZW5jZSBsaWJyYXJ5IiAxPiYyCgkgICAgZXhpdCAkRVhJVF9GQUlMVVJFCgkg
IGZpCgkgIGNvbnRpbnVlCglmaSAjICRwYXNzID0gY29udgoKCgkjIEdldCB0aGUgbmFtZSBvZiB0
aGUgbGlicmFyeSB3ZSBsaW5rIGFnYWluc3QuCglsaW5rbGliPQoJZm9yIGwgaW4gJG9sZF9saWJy
YXJ5ICRsaWJyYXJ5X25hbWVzOyBkbwoJICBsaW5rbGliPSIkbCIKCWRvbmUKCWlmIHRlc3QgLXog
IiRsaW5rbGliIjsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgZmluZCBuYW1lIG9m
IGxpbmsgbGlicmFyeSBmb3IgXGAkbGliJyIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCWZp
CgoJIyBUaGlzIGxpYnJhcnkgd2FzIHNwZWNpZmllZCB3aXRoIC1kbG9wZW4uCglpZiB0ZXN0ICIk
cGFzcyIgPSBkbG9wZW47IHRoZW4KCSAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCSAgICAk
ZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgLWRsb3BlbiBhIGNvbnZlbmllbmNlIGxpYnJhcnk6IFxg
JGxpYiciIDE+JjIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgZmkKCSAgaWYgdGVzdCAteiAi
JGRsbmFtZSIgfHwKCSAgICAgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiAhPSB5ZXMgfHwKCSAgICAg
dGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgoJICAgICMgSWYgdGhlcmUgaXMg
bm8gZGxuYW1lLCBubyBkbG9wZW4gc3VwcG9ydCBvciB3ZSdyZSBsaW5raW5nCgkgICAgIyBzdGF0
aWNhbGx5LCB3ZSBuZWVkIHRvIHByZWxvYWQuICBXZSBhbHNvIG5lZWQgdG8gcHJlbG9hZCBhbnkK
CSAgICAjIGRlcGVuZGVudCBsaWJyYXJpZXMgc28gbGlibHRkbCdzIGRlcGxpYiBwcmVsb2FkZXIg
ZG9lc24ndAoJICAgICMgYm9tYiBvdXQgaW4gdGhlIGxvYWQgZGVwbGlicyBwaGFzZS4KCSAgICBk
bHByZWZpbGVzPSIkZGxwcmVmaWxlcyAkbGliICRkZXBlbmRlbmN5X2xpYnMiCgkgIGVsc2UKCSAg
ICBuZXdkbGZpbGVzPSIkbmV3ZGxmaWxlcyAkbGliIgoJICBmaQoJICBjb250aW51ZQoJZmkgIyAk
cGFzcyA9IGRsb3BlbgoKCSMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkbGFkaXIg
aW4KCVtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgYWJzX2xhZGlyPSIkbGFkaXIiIDs7CgkqKQoJ
ICBhYnNfbGFkaXI9YGNkICIkbGFkaXIiICYmIHB3ZGAKCSAgaWYgdGVzdCAteiAiJGFic19sYWRp
ciI7IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBjYW5ub3QgZGV0ZXJtaW5l
IGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIG9mIFxgJGxhZGlyJyIgMT4mMgoJICAgICRlY2hvICIk
bW9kZW5hbWU6IHBhc3NpbmcgaXQgbGl0ZXJhbGx5IHRvIHRoZSBsaW5rZXIsIGFsdGhvdWdoIGl0
IG1pZ2h0IGZhaWwiIDE+JjIKCSAgICBhYnNfbGFkaXI9IiRsYWRpciIKCSAgZmkKCSAgOzsKCWVz
YWMKCWxhbmFtZT1gJGVjaG8gIlgkbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgoJIyBGaW5k
IHRoZSByZWxldmFudCBvYmplY3QgZGlyZWN0b3J5IGFuZCBsaWJyYXJ5IG5hbWUuCglpZiB0ZXN0
ICJYJGluc3RhbGxlZCIgPSBYeWVzOyB0aGVuCgkgIGlmIHRlc3QgISAtZiAiJGxpYmRpci8kbGlu
a2xpYiIgJiYgdGVzdCAtZiAiJGFic19sYWRpci8kbGlua2xpYiI7IHRoZW4KCSAgICAkZWNobyAi
JG1vZGVuYW1lOiB3YXJuaW5nOiBsaWJyYXJ5IFxgJGxpYicgd2FzIG1vdmVkLiIgMT4mMgoJICAg
IGRpcj0iJGxhZGlyIgoJICAgIGFic2Rpcj0iJGFic19sYWRpciIKCSAgICBsaWJkaXI9IiRhYnNf
bGFkaXIiCgkgIGVsc2UKCSAgICBkaXI9IiRsaWJkaXIiCgkgICAgYWJzZGlyPSIkbGliZGlyIgoJ
ICBmaQoJZWxzZQoJICBpZiB0ZXN0ICEgLWYgIiRsYWRpci8kb2JqZGlyLyRsaW5rbGliIiAmJiB0
ZXN0IC1mICIkYWJzX2xhZGlyLyRsaW5rbGliIjsgdGhlbgoJICAgIGRpcj0iJGxhZGlyIgoJICAg
IGFic2Rpcj0iJGFic19sYWRpciIKCSAgICAjIFJlbW92ZSB0aGlzIHNlYXJjaCBwYXRoIGxhdGVy
CgkgICAgbm90aW5zdF9wYXRoPSIkbm90aW5zdF9wYXRoICRhYnNfbGFkaXIiCgkgIGVsc2UKCSAg
ICBkaXI9IiRsYWRpci8kb2JqZGlyIgoJICAgIGFic2Rpcj0iJGFic19sYWRpci8kb2JqZGlyIgoJ
ICAgICMgUmVtb3ZlIHRoaXMgc2VhcmNoIHBhdGggbGF0ZXIKCSAgICBub3RpbnN0X3BhdGg9IiRu
b3RpbnN0X3BhdGggJGFic19sYWRpciIKCSAgZmkKCWZpICMgJGluc3RhbGxlZCA9IHllcwoJbmFt
ZT1gJGVjaG8gIlgkbGFuYW1lIiB8ICRYc2VkIC1lICdzL1wubGEkLy8nIC1lICdzL15saWIvLydg
CgoJIyBUaGlzIGxpYnJhcnkgd2FzIHNwZWNpZmllZCB3aXRoIC1kbHByZW9wZW4uCglpZiB0ZXN0
ICIkcGFzcyIgPSBkbHByZW9wZW47IHRoZW4KCSAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4K
CSAgICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgLWRscHJlb3BlbiBhIGNvbnZlbmllbmNlIGxp
YnJhcnk6IFxgJGxpYiciIDE+JjIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgZmkKCSAgIyBQ
cmVmZXIgdXNpbmcgYSBzdGF0aWMgbGlicmFyeSAoc28gdGhhdCBubyBzaWxseSBfRFlOQU1JQyBz
eW1ib2xzCgkgICMgYXJlIHJlcXVpcmVkIHRvIGxpbmspLgoJICBpZiB0ZXN0IC1uICIkb2xkX2xp
YnJhcnkiOyB0aGVuCgkgICAgbmV3ZGxwcmVmaWxlcz0iJG5ld2RscHJlZmlsZXMgJGRpci8kb2xk
X2xpYnJhcnkiCgkgICMgT3RoZXJ3aXNlLCB1c2UgdGhlIGRsbmFtZSwgc28gdGhhdCBsdF9kbG9w
ZW4gZmluZHMgaXQuCgkgIGVsaWYgdGVzdCAtbiAiJGRsbmFtZSI7IHRoZW4KCSAgICBuZXdkbHBy
ZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyAkZGlyLyRkbG5hbWUiCgkgIGVsc2UKCSAgICBuZXdkbHBy
ZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyAkZGlyLyRsaW5rbGliIgoJICBmaQoJZmkgIyAkcGFzcyA9
IGRscHJlb3BlbgoKCWlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCgkgICMgTGluayB0aGUgY29u
dmVuaWVuY2UgbGlicmFyeQoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliOyB0aGVuCgkgICAg
ZGVwbGlicz0iJGRpci8kb2xkX2xpYnJhcnkgJGRlcGxpYnMiCgkgIGVsaWYgdGVzdCAiJGxpbmtt
b2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkgICAgY29tcGlsZV9kZXBsaWJzPSIkZGly
LyRvbGRfbGlicmFyeSAkY29tcGlsZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9IiRk
aXIvJG9sZF9saWJyYXJ5ICRmaW5hbGl6ZV9kZXBsaWJzIgoJICBlbHNlCgkgICAgZGVwbGlicz0i
JGxpYiAkZGVwbGlicyIgIyB1c2VkIGZvciBwcm9nLHNjYW4gcGFzcwoJICBmaQoJICBjb250aW51
ZQoJZmkKCgoJaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgJiYgdGVzdCAiJHBhc3MiICE9IGxp
bms7IHRoZW4KCSAgbmV3bGliX3NlYXJjaF9wYXRoPSIkbmV3bGliX3NlYXJjaF9wYXRoICRsYWRp
ciIKCSAgZGVwbGlicz0iJGxpYiAkZGVwbGlicyIKCgkgIGxpbmthbGxkZXBsaWJzPW5vCgkgIGlm
IHRlc3QgIiRsaW5rX2FsbF9kZXBsaWJzIiAhPSBubyB8fCB0ZXN0IC16ICIkbGlicmFyeV9uYW1l
cyIgfHwKCSAgICAgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgoJICAgIGxp
bmthbGxkZXBsaWJzPXllcwoJICBmaQoKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBsaWIgaW4gJGRl
cGVuZGVuY3lfbGliczsgZG8KCSAgICBjYXNlICRkZXBsaWIgaW4KCSAgICAtTCopIG5ld2xpYl9z
ZWFyY2hfcGF0aD0iJG5ld2xpYl9zZWFyY2hfcGF0aCAiYCRlY2hvICJYJGRlcGxpYiIgfCAkWHNl
ZCAtZSAncy9eLUwvLydgOzsgIyMjIHRlc3RzdWl0ZTogc2tpcCBuZXN0ZWQgcXVvdGluZyB0ZXN0
CgkgICAgZXNhYwoJICAgICMgTmVlZCB0byBsaW5rIGFnYWluc3QgYWxsIGRlcGVuZGVuY3lfbGli
cz8KCSAgICBpZiB0ZXN0ICIkbGlua2FsbGRlcGxpYnMiID0geWVzOyB0aGVuCgkgICAgICBkZXBs
aWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGVsc2UKCSAgICAgICMgTmVlZCB0byBoYXJkY29k
ZSBzaGFyZWQgbGlicmFyeSBwYXRocwoJICAgICAgIyBvci9hbmQgbGluayBhZ2FpbnN0IHN0YXRp
YyBsaWJyYXJpZXMKCSAgICAgIG5ld2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVwZW5k
ZW5jeV9saWJzIgoJICAgIGZpCgkgICAgaWYgdGVzdCAiWCRkdXBsaWNhdGVfZGVwcyIgPSAiWHll
cyIgOyB0aGVuCgkgICAgICBjYXNlICIkdG1wX2xpYnMgIiBpbgoJICAgICAgKiIgJGRlcGxpYiAi
Kikgc3BlY2lhbGRlcGxpYnM9IiRzcGVjaWFsZGVwbGlicyAkZGVwbGliIiA7OwoJICAgICAgZXNh
YwoJICAgIGZpCgkgICAgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGliIgoJICBkb25lICMgZm9y
IGRlcGxpYgoJICBjb250aW51ZQoJZmkgIyAkbGlua21vZGUgPSBwcm9nLi4uCgoJaWYgdGVzdCAi
JGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRsaWJy
YXJ5X25hbWVzIiAmJgoJICAgICB7IHRlc3QgIiRwcmVmZXJfc3RhdGljX2xpYnMiID0gbm8gfHwg
dGVzdCAteiAiJG9sZF9saWJyYXJ5IjsgfTsgdGhlbgoJICAgICMgV2UgbmVlZCB0byBoYXJkY29k
ZSB0aGUgbGlicmFyeSBwYXRoCgkgICAgaWYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiOyB0aGVu
CgkgICAgICAjIE1ha2Ugc3VyZSB0aGUgcnBhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0
b3JpZXMuCgkgICAgICBjYXNlICIkdGVtcF9ycGF0aCAiIGluCgkgICAgICAqIiAkZGlyICIqKSA7
OwoJICAgICAgKiIgJGFic2RpciAiKikgOzsKCSAgICAgICopIHRlbXBfcnBhdGg9IiR0ZW1wX3Jw
YXRoICRkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCgkgICAgIyBIYXJkY29kZSB0aGUgbGli
cmFyeSBwYXRoLgoJICAgICMgU2tpcCBkaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgc3lzdGVt
IGRlZmF1bHQgcnVuLXRpbWUKCSAgICAjIHNlYXJjaCBwYXRoLgoJICAgIGNhc2UgIiAkc3lzX2xp
Yl9kbHNlYXJjaF9wYXRoICIgaW4KCSAgICAqIiAkYWJzZGlyICIqKSA7OwoJICAgICopCgkgICAg
ICBjYXNlICIkY29tcGlsZV9ycGF0aCAiIGluCgkgICAgICAqIiAkYWJzZGlyICIqKSA7OwoJICAg
ICAgKikgY29tcGlsZV9ycGF0aD0iJGNvbXBpbGVfcnBhdGggJGFic2RpciIKCSAgICAgIGVzYWMK
CSAgICAgIDs7CgkgICAgZXNhYwoJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIg
aW4KCSAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICopCgkgICAgICBjYXNlICIkZmluYWxpemVf
cnBhdGggIiBpbgoJICAgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAgICopIGZpbmFsaXplX3Jw
YXRoPSIkZmluYWxpemVfcnBhdGggJGxpYmRpciIKCSAgICAgIGVzYWMKCSAgICAgIDs7CgkgICAg
ZXNhYwoJICBmaSAjICRsaW5rbW9kZSwkcGFzcyA9IHByb2csbGluay4uLgoKCSAgaWYgdGVzdCAi
JGFsbGRlcGxpYnMiID0geWVzICYmCgkgICAgIHsgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9k
IiA9IHBhc3NfYWxsIHx8CgkgICAgICAgeyB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHll
cyAmJgoJCSB0ZXN0IC1uICIkbGlicmFyeV9uYW1lcyI7IH07IH07IHRoZW4KCSAgICAjIFdlIG9u
bHkgbmVlZCB0byBzZWFyY2ggZm9yIHN0YXRpYyBsaWJyYXJpZXMKCSAgICBjb250aW51ZQoJICBm
aQoJZmkKCglsaW5rX3N0YXRpYz1ubyAjIFdoZXRoZXIgdGhlIGRlcGxpYiB3aWxsIGJlIGxpbmtl
ZCBzdGF0aWNhbGx5CglpZiB0ZXN0IC1uICIkbGlicmFyeV9uYW1lcyIgJiYKCSAgIHsgdGVzdCAi
JHByZWZlcl9zdGF0aWNfbGlicyIgPSBubyB8fCB0ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB9OyB0
aGVuCgkgIGlmIHRlc3QgIiRpbnN0YWxsZWQiID0gbm87IHRoZW4KCSAgICBub3RpbnN0X2RlcGxp
YnM9IiRub3RpbnN0X2RlcGxpYnMgJGxpYiIKCSAgICBuZWVkX3JlbGluaz15ZXMKCSAgZmkKCSAg
IyBUaGlzIGlzIGEgc2hhcmVkIGxpYnJhcnkKCgkgICMgV2FybiBhYm91dCBwb3J0YWJpbGl0eSwg
Y2FuJ3QgbGluayBhZ2FpbnN0IC1tb2R1bGUncyBvbgoJICAjIHNvbWUgc3lzdGVtcyAoZGFyd2lu
KQoJICBpZiB0ZXN0ICIkc2hvdWxkbm90bGluayIgPSB5ZXMgJiYgdGVzdCAiJHBhc3MiID0gbGlu
ayA7IHRoZW4KCSAgICAkZWNobwoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVu
CgkgICAgICAkZWNobyAiKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgJG91dHB1
dCBhZ2FpbnN0IHRoZSBsb2FkYWJsZSBtb2R1bGUiCgkgICAgZWxzZQoJICAgICAgJGVjaG8gIioq
KiBXYXJuaW5nOiBMaW5raW5nIHRoZSBzaGFyZWQgbGlicmFyeSAkb3V0cHV0IGFnYWluc3QgdGhl
IGxvYWRhYmxlIG1vZHVsZSIKCSAgICBmaQoJICAgICRlY2hvICIqKiogJGxpbmtsaWIgaXMgbm90
IHBvcnRhYmxlISIKCSAgZmkKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiAmJgoJICAgICB0
ZXN0ICIkaGFyZGNvZGVfaW50b19saWJzIiA9IHllczsgdGhlbgoJICAgICMgSGFyZGNvZGUgdGhl
IGxpYnJhcnkgcGF0aC4KCSAgICAjIFNraXAgZGlyZWN0b3JpZXMgdGhhdCBhcmUgaW4gdGhlIHN5
c3RlbSBkZWZhdWx0IHJ1bi10aW1lCgkgICAgIyBzZWFyY2ggcGF0aC4KCSAgICBjYXNlICIgJHN5
c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCgkgICAgKiIgJGFic2RpciAiKikgOzsKCSAgICAqKQoJ
ICAgICAgY2FzZSAiJGNvbXBpbGVfcnBhdGggIiBpbgoJICAgICAgKiIgJGFic2RpciAiKikgOzsK
CSAgICAgICopIGNvbXBpbGVfcnBhdGg9IiRjb21waWxlX3JwYXRoICRhYnNkaXIiCgkgICAgICBl
c2FjCgkgICAgICA7OwoJICAgIGVzYWMKCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0
aCAiIGluCgkgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAqKQoJICAgICAgY2FzZSAiJGZpbmFs
aXplX3JwYXRoICIgaW4KCSAgICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgICAqKSBmaW5hbGl6
ZV9ycGF0aD0iJGZpbmFsaXplX3JwYXRoICRsaWJkaXIiCgkgICAgICBlc2FjCgkgICAgICA7OwoJ
ICAgIGVzYWMKCSAgZmkKCgkgIGlmIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNf
Y21kcyI7IHRoZW4KCSAgICAjIGZpZ3VyZSBvdXQgdGhlIHNvbmFtZQoJICAgIHNldCBkdW1teSAk
bGlicmFyeV9uYW1lcwoJICAgIHJlYWxuYW1lPSIkMiIKCSAgICBzaGlmdDsgc2hpZnQKCSAgICBs
aWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9zcGVjXCJgCgkgICAgIyB1c2UgZGxuYW1l
IGlmIHdlIGdvdCBpdC4gaXQncyBwZXJmZWN0bHkgZ29vZCwgbm8/CgkgICAgaWYgdGVzdCAtbiAi
JGRsbmFtZSI7IHRoZW4KCSAgICAgIHNvbmFtZT0iJGRsbmFtZSIKCSAgICBlbGlmIHRlc3QgLW4g
IiRzb25hbWVfc3BlYyI7IHRoZW4KCSAgICAgICMgYmxlaCB3aW5kb3dzCgkgICAgICBjYXNlICRo
b3N0IGluCgkgICAgICAqY3lnd2luKiB8IG1pbmd3KikKCQltYWpvcj1gZXhwciAkY3VycmVudCAt
ICRhZ2VgCgkJdmVyc3VmZml4PSItJG1ham9yIgoJCTs7CgkgICAgICBlc2FjCgkgICAgICBldmFs
IHNvbmFtZT1cIiRzb25hbWVfc3BlY1wiCgkgICAgZWxzZQoJICAgICAgc29uYW1lPSIkcmVhbG5h
bWUiCgkgICAgZmkKCgkgICAgIyBNYWtlIGEgbmV3IG5hbWUgZm9yIHRoZSBleHRyYWN0X2V4cHN5
bXNfY21kcyB0byB1c2UKCSAgICBzb3Jvb3Q9IiRzb25hbWUiCgkgICAgc29uYW1lPWAkZWNobyAk
c29yb290IHwgJHtTRUR9IC1lICdzL14uKlwvLy8nYAoJICAgIG5ld2xpYj0ibGliaW1wLWAkZWNo
byAkc29uYW1lIHwgJHtTRUR9ICdzL15saWIvLztzL1wuZGxsJC8vJ2AuYSIKCgkgICAgIyBJZiB0
aGUgbGlicmFyeSBoYXMgbm8gZXhwb3J0IGxpc3QsIHRoZW4gY3JlYXRlIG9uZSBub3cKCSAgICBp
ZiB0ZXN0IC1mICIkb3V0cHV0X29iamRpci8kc29uYW1lLWRlZiI7IHRoZW4gOgoJICAgIGVsc2UK
CSAgICAgICRzaG93ICJleHRyYWN0aW5nIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20gXGAkc29u
YW1lJyIKCSAgICAgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJICAgICAgY21kcz0kZXh0cmFj
dF9leHBzeW1zX2NtZHMKCSAgICAgIGZvciBjbWQgaW4gJGNtZHM7IGRvCgkJSUZTPSIkc2F2ZV9p
ZnMiCgkJZXZhbCBjbWQ9XCIkY21kXCIKCQkkc2hvdyAiJGNtZCIKCQkkcnVuIGV2YWwgIiRjbWQi
IHx8IGV4aXQgJD8KCSAgICAgIGRvbmUKCSAgICAgIElGUz0iJHNhdmVfaWZzIgoJICAgIGZpCgoJ
ICAgICMgQ3JlYXRlICRuZXdsaWIKCSAgICBpZiB0ZXN0IC1mICIkb3V0cHV0X29iamRpci8kbmV3
bGliIjsgdGhlbiA6OyBlbHNlCgkgICAgICAkc2hvdyAiZ2VuZXJhdGluZyBpbXBvcnQgbGlicmFy
eSBmb3IgXGAkc29uYW1lJyIKCSAgICAgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJICAgICAg
Y21kcz0kb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMKCSAgICAgIGZvciBjbWQgaW4gJGNt
ZHM7IGRvCgkJSUZTPSIkc2F2ZV9pZnMiCgkJZXZhbCBjbWQ9XCIkY21kXCIKCQkkc2hvdyAiJGNt
ZCIKCQkkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KCSAgICAgIGRvbmUKCSAgICAgIElGUz0i
JHNhdmVfaWZzIgoJICAgIGZpCgkgICAgIyBtYWtlIHN1cmUgdGhlIGxpYnJhcnkgdmFyaWFibGVz
IGFyZSBwb2ludGluZyB0byB0aGUgbmV3IGxpYnJhcnkKCSAgICBkaXI9JG91dHB1dF9vYmpkaXIK
CSAgICBsaW5rbGliPSRuZXdsaWIKCSAgZmkgIyB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHMiCgoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyB8fCB0ZXN0ICIkbW9k
ZSIgIT0gcmVsaW5rOyB0aGVuCgkgICAgYWRkX3NobGlicGF0aD0KCSAgICBhZGRfZGlyPQoJICAg
IGFkZD0KCSAgICBsaWJfbGlua2VkPXllcwoJICAgIGNhc2UgJGhhcmRjb2RlX2FjdGlvbiBpbgoJ
ICAgIGltbWVkaWF0ZSB8IHVuc3VwcG9ydGVkKQoJICAgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2Rp
cmVjdCIgPSBubzsgdGhlbgoJCWFkZD0iJGRpci8kbGlua2xpYiIKCQljYXNlICRob3N0IGluCgkJ
ICAqLSotc2NvMy4ydjUqICkgYWRkX2Rpcj0iLUwkZGlyIiA7OwoJCSAgKi0qLWRhcndpbiogKQoJ
CSAgICAjIGlmIHRoZSBsaWIgaXMgYSBtb2R1bGUgdGhlbiB3ZSBjYW4gbm90IGxpbmsgYWdhaW5z
dAoJCSAgICAjIGl0LCBzb21lb25lIGlzIGlnbm9yaW5nIHRoZSBuZXcgd2FybmluZ3MgSSBhZGRl
ZAoJCSAgICBpZiAvdXNyL2Jpbi9maWxlIC1MICRhZGQgMj4gL2Rldi9udWxsIHwgJEVHUkVQICJi
dW5kbGUiID4vZGV2L251bGwgOyB0aGVuCgkJICAgICAgJGVjaG8gIioqIFdhcm5pbmcsIGxpYiAk
bGlua2xpYiBpcyBhIG1vZHVsZSwgbm90IGEgc2hhcmVkIGxpYnJhcnkiCgkJICAgICAgaWYgdGVz
dCAteiAiJG9sZF9saWJyYXJ5IiA7IHRoZW4KCQkgICAgICAgICRlY2hvCgkJICAgICAgICAkZWNo
byAiKiogQW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIHN0YXRpYyBhcmNoaXZlIGF2YWls
YWJsZSIKCQkgICAgICAgICRlY2hvICIqKiBUaGUgbGluayB3aWxsIHByb2JhYmx5IGZhaWwsIHNv
cnJ5IgoJCSAgICAgIGVsc2UKCQkgICAgICAgIGFkZD0iJGRpci8kb2xkX2xpYnJhcnkiCgkJICAg
ICAgZmkKCQkgICAgZmkKCQllc2FjCgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9taW51c19M
IiA9IG5vOyB0aGVuCgkJY2FzZSAkaG9zdCBpbgoJCSotKi1zdW5vcyopIGFkZF9zaGxpYnBhdGg9
IiRkaXIiIDs7CgkJZXNhYwoJCWFkZF9kaXI9Ii1MJGRpciIKCQlhZGQ9Ii1sJG5hbWUiCgkgICAg
ICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IG5vOyB0aGVuCgkJYWRkX3No
bGlicGF0aD0iJGRpciIKCQlhZGQ9Ii1sJG5hbWUiCgkgICAgICBlbHNlCgkJbGliX2xpbmtlZD1u
bwoJICAgICAgZmkKCSAgICAgIDs7CgkgICAgcmVsaW5rKQoJICAgICAgaWYgdGVzdCAiJGhhcmRj
b2RlX2RpcmVjdCIgPSB5ZXM7IHRoZW4KCQlhZGQ9IiRkaXIvJGxpbmtsaWIiCgkgICAgICBlbGlm
IHRlc3QgIiRoYXJkY29kZV9taW51c19MIiA9IHllczsgdGhlbgoJCWFkZF9kaXI9Ii1MJGRpciIK
CQkjIFRyeSBsb29raW5nIGZpcnN0IGluIHRoZSBsb2NhdGlvbiB3ZSdyZSBiZWluZyBpbnN0YWxs
ZWQgdG8uCgkJaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7IHRoZW4KCQkgIGNhc2UgIiRs
aWJkaXIiIGluCgkJICAgIFtcXC9dKikKCQkgICAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0
X3ByZWZpeF9kaXIkbGliZGlyIgoJCSAgICAgIDs7CgkJICBlc2FjCgkJZmkKCQlhZGQ9Ii1sJG5h
bWUiCgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHllczsgdGhl
bgoJCWFkZF9zaGxpYnBhdGg9IiRkaXIiCgkJYWRkPSItbCRuYW1lIgoJICAgICAgZWxzZQoJCWxp
Yl9saW5rZWQ9bm8KCSAgICAgIGZpCgkgICAgICA7OwoJICAgICopIGxpYl9saW5rZWQ9bm8gOzsK
CSAgICBlc2FjCgoJICAgIGlmIHRlc3QgIiRsaWJfbGlua2VkIiAhPSB5ZXM7IHRoZW4KCSAgICAg
ICRlY2hvICIkbW9kZW5hbWU6IGNvbmZpZ3VyYXRpb24gZXJyb3I6IHVuc3VwcG9ydGVkIGhhcmRj
b2RlIHByb3BlcnRpZXMiCgkgICAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgICBmaQoKCSAgICBp
ZiB0ZXN0IC1uICIkYWRkX3NobGlicGF0aCI7IHRoZW4KCSAgICAgIGNhc2UgOiRjb21waWxlX3No
bGlicGF0aDogaW4KCSAgICAgICoiOiRhZGRfc2hsaWJwYXRoOiIqKSA7OwoJICAgICAgKikgY29t
cGlsZV9zaGxpYnBhdGg9IiRjb21waWxlX3NobGlicGF0aCRhZGRfc2hsaWJwYXRoOiIgOzsKCSAg
ICAgIGVzYWMKCSAgICBmaQoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCgkg
ICAgICB0ZXN0IC1uICIkYWRkX2RpciIgJiYgY29tcGlsZV9kZXBsaWJzPSIkYWRkX2RpciAkY29t
cGlsZV9kZXBsaWJzIgoJICAgICAgdGVzdCAtbiAiJGFkZCIgJiYgY29tcGlsZV9kZXBsaWJzPSIk
YWRkICRjb21waWxlX2RlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgdGVzdCAtbiAiJGFkZF9kaXIi
ICYmIGRlcGxpYnM9IiRhZGRfZGlyICRkZXBsaWJzIgoJICAgICAgdGVzdCAtbiAiJGFkZCIgJiYg
ZGVwbGlicz0iJGFkZCAkZGVwbGlicyIKCSAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9kaXJlY3Qi
ICE9IHllcyAmJiBcCgkJIHRlc3QgIiRoYXJkY29kZV9taW51c19MIiAhPSB5ZXMgJiYgXAoJCSB0
ZXN0ICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgPSB5ZXM7IHRoZW4KCQljYXNlIDokZmluYWxp
emVfc2hsaWJwYXRoOiBpbgoJCSoiOiRsaWJkaXI6IiopIDs7CgkJKikgZmluYWxpemVfc2hsaWJw
YXRoPSIkZmluYWxpemVfc2hsaWJwYXRoJGxpYmRpcjoiIDs7CgkJZXNhYwoJICAgICAgZmkKCSAg
ICBmaQoJICBmaQoKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgfHwgdGVzdCAiJG1vZGUi
ID0gcmVsaW5rOyB0aGVuCgkgICAgYWRkX3NobGlicGF0aD0KCSAgICBhZGRfZGlyPQoJICAgIGFk
ZD0KCSAgICAjIEZpbmFsaXplIGNvbW1hbmQgZm9yIGJvdGggaXMgc2ltcGxlOiBqdXN0IGhhcmRj
b2RlIGl0LgoJICAgIGlmIHRlc3QgIiRoYXJkY29kZV9kaXJlY3QiID0geWVzOyB0aGVuCgkgICAg
ICBhZGQ9IiRsaWJkaXIvJGxpbmtsaWIiCgkgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWludXNf
TCIgPSB5ZXM7IHRoZW4KCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKCSAgICAgIGFkZD0iLWwk
bmFtZSIKCSAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHllczsgdGhl
bgoJICAgICAgY2FzZSA6JGZpbmFsaXplX3NobGlicGF0aDogaW4KCSAgICAgICoiOiRsaWJkaXI6
IiopIDs7CgkgICAgICAqKSBmaW5hbGl6ZV9zaGxpYnBhdGg9IiRmaW5hbGl6ZV9zaGxpYnBhdGgk
bGliZGlyOiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIGFkZD0iLWwkbmFtZSIKCSAgICBlbGlmIHRl
c3QgIiRoYXJkY29kZV9hdXRvbWF0aWMiID0geWVzOyB0aGVuCgkgICAgICBpZiB0ZXN0IC1uICIk
aW5zdF9wcmVmaXhfZGlyIiAmJgoJCSB0ZXN0IC1mICIkaW5zdF9wcmVmaXhfZGlyJGxpYmRpci8k
bGlua2xpYiIgOyB0aGVuCgkgICAgICAgIGFkZD0iJGluc3RfcHJlZml4X2RpciRsaWJkaXIvJGxp
bmtsaWIiCgkgICAgICBlbHNlCgkgICAgICAgIGFkZD0iJGxpYmRpci8kbGlua2xpYiIKCSAgICAg
IGZpCgkgICAgZWxzZQoJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vl
c3Mgd2UnbGwgZmFrZSBpdC4KCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKCSAgICAgICMgVHJ5
IGxvb2tpbmcgZmlyc3QgaW4gdGhlIGxvY2F0aW9uIHdlJ3JlIGJlaW5nIGluc3RhbGxlZCB0by4K
CSAgICAgIGlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9kaXIiOyB0aGVuCgkJY2FzZSAiJGxpYmRp
ciIgaW4KCQkgIFtcXC9dKikKCQkgICAgYWRkX2Rpcj0iJGFkZF9kaXIgLUwkaW5zdF9wcmVmaXhf
ZGlyJGxpYmRpciIKCQkgICAgOzsKCQllc2FjCgkgICAgICBmaQoJICAgICAgYWRkPSItbCRuYW1l
IgoJICAgIGZpCgoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCgkgICAgICB0
ZXN0IC1uICIkYWRkX2RpciIgJiYgZmluYWxpemVfZGVwbGlicz0iJGFkZF9kaXIgJGZpbmFsaXpl
X2RlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBmaW5hbGl6ZV9kZXBsaWJzPSIkYWRk
ICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVsc2UKCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAm
JiBkZXBsaWJzPSIkYWRkX2RpciAkZGVwbGlicyIKCSAgICAgIHRlc3QgLW4gIiRhZGQiICYmIGRl
cGxpYnM9IiRhZGQgJGRlcGxpYnMiCgkgICAgZmkKCSAgZmkKCWVsaWYgdGVzdCAiJGxpbmttb2Rl
IiA9IHByb2c7IHRoZW4KCSAgIyBIZXJlIHdlIGFzc3VtZSB0aGF0IG9uZSBvZiBoYXJkY29kZV9k
aXJlY3Qgb3IgaGFyZGNvZGVfbWludXNfTAoJICAjIGlzIG5vdCB1bnN1cHBvcnRlZC4gIFRoaXMg
aXMgdmFsaWQgb24gYWxsIGtub3duIHN0YXRpYyBhbmQKCSAgIyBzaGFyZWQgcGxhdGZvcm1zLgoJ
ICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiAhPSB1bnN1cHBvcnRlZDsgdGhlbgoJICAgIHRl
c3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgbGlua2xpYj0iJG9sZF9saWJyYXJ5IgoJICAgIGNvbXBp
bGVfZGVwbGlicz0iJGRpci8kbGlua2xpYiAkY29tcGlsZV9kZXBsaWJzIgoJICAgIGZpbmFsaXpl
X2RlcGxpYnM9IiRkaXIvJGxpbmtsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgIGVsc2UKCSAgICBj
b21waWxlX2RlcGxpYnM9Ii1sJG5hbWUgLUwkZGlyICRjb21waWxlX2RlcGxpYnMiCgkgICAgZmlu
YWxpemVfZGVwbGlicz0iLWwkbmFtZSAtTCRkaXIgJGZpbmFsaXplX2RlcGxpYnMiCgkgIGZpCgll
bGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCgkgICMgTm90IGEgc2hh
cmVkIGxpYnJhcnkKCSAgaWYgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBwYXNzX2Fs
bDsgdGhlbgoJICAgICMgV2UncmUgdHJ5aW5nIGxpbmsgYSBzaGFyZWQgbGlicmFyeSBhZ2FpbnN0
IGEgc3RhdGljIG9uZQoJICAgICMgYnV0IHRoZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IGl0LgoK
CSAgICAjIEp1c3QgcHJpbnQgYSB3YXJuaW5nIGFuZCBhZGQgdGhlIGxpYnJhcnkgdG8gZGVwZW5k
ZW5jeV9saWJzIHNvCgkgICAgIyB0aGF0IHRoZSBwcm9ncmFtIGNhbiBiZSBsaW5rZWQgYWdhaW5z
dCB0aGUgc3RhdGljIGxpYnJhcnkuCgkgICAgJGVjaG8KCSAgICAkZWNobyAiKioqIFdhcm5pbmc6
IFRoaXMgc3lzdGVtIGNhbiBub3QgbGluayB0byBzdGF0aWMgbGliIGFyY2hpdmUgJGxpYi4iCgkg
ICAgJGVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkg
YXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkgICAgJGVjaG8gIioqKiB5b3UgbGluayB0byB0
aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkgICAg
JGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5v
dCBhcHBlYXIgdG8gaGF2ZS4iCgkgICAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXM7IHRoZW4KCSAg
ICAgICRlY2hvICIqKiogQnV0IGFzIHlvdSB0cnkgdG8gYnVpbGQgYSBtb2R1bGUgbGlicmFyeSwg
bGlidG9vbCB3aWxsIHN0aWxsIGNyZWF0ZSAiCgkgICAgICAkZWNobyAiKioqIGEgc3RhdGljIG1v
ZHVsZSwgdGhhdCBzaG91bGQgd29yayBhcyBsb25nIGFzIHRoZSBkbG9wZW5pbmcgYXBwbGljYXRp
b24iCgkgICAgICAkZWNobyAiKioqIGlzIGxpbmtlZCB3aXRoIHRoZSAtZGxvcGVuIGZsYWcgdG8g
cmVzb2x2ZSBzeW1ib2xzIGF0IHJ1bnRpbWUuIgoJICAgICAgaWYgdGVzdCAteiAiJGdsb2JhbF9z
eW1ib2xfcGlwZSI7IHRoZW4KCQkkZWNobwoJCSRlY2hvICIqKiogSG93ZXZlciwgdGhpcyB3b3Vs
ZCBvbmx5IHdvcmsgaWYgbGlidG9vbCB3YXMgYWJsZSB0byBleHRyYWN0IHN5bWJvbCIKCQkkZWNo
byAiKioqIGxpc3RzIGZyb20gYSBwcm9ncmFtLCB1c2luZyBcYG5tJyBvciBlcXVpdmFsZW50LCBi
dXQgbGlidG9vbCBjb3VsZCIKCQkkZWNobyAiKioqIG5vdCBmaW5kIHN1Y2ggYSBwcm9ncmFtLiAg
U28sIHRoaXMgbW9kdWxlIGlzIHByb2JhYmx5IHVzZWxlc3MuIgoJCSRlY2hvICIqKiogXGBubScg
ZnJvbSBHTlUgYmludXRpbHMgYW5kIGEgZnVsbCByZWJ1aWxkIG1heSBoZWxwLiIKCSAgICAgIGZp
CgkgICAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0gbm87IHRoZW4KCQlidWlsZF9saWJ0
b29sX2xpYnM9bW9kdWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkgICAgICBlbHNlCgkJYnVpbGRf
bGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJICAgIGZpCgkgIGVsc2UKCSAgICBjb252ZW5pZW5j
ZT0iJGNvbnZlbmllbmNlICRkaXIvJG9sZF9saWJyYXJ5IgoJICAgIG9sZF9jb252ZW5pZW5jZT0i
JG9sZF9jb252ZW5pZW5jZSAkZGlyLyRvbGRfbGlicmFyeSIKCSAgICBkZXBsaWJzPSIkZGlyLyRv
bGRfbGlicmFyeSAkZGVwbGlicyIKCSAgICBsaW5rX3N0YXRpYz15ZXMKCSAgZmkKCWZpICMgbGlu
ayBzaGFyZWQvc3RhdGljIGxpYnJhcnk/CgoJaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsgdGhl
bgoJICBpZiB0ZXN0IC1uICIkZGVwZW5kZW5jeV9saWJzIiAmJgoJICAgICB7IHRlc3QgIiRoYXJk
Y29kZV9pbnRvX2xpYnMiICE9IHllcyB8fAoJICAgICAgIHRlc3QgIiRidWlsZF9vbGRfbGlicyIg
PSB5ZXMgfHwKCSAgICAgICB0ZXN0ICIkbGlua19zdGF0aWMiID0geWVzOyB9OyB0aGVuCgkgICAg
IyBFeHRyYWN0IC1SIGZyb20gZGVwZW5kZW5jeV9saWJzCgkgICAgdGVtcF9kZXBsaWJzPQoJICAg
IGZvciBsaWJkaXIgaW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICAgIGNhc2UgJGxpYmRpciBp
bgoJICAgICAgLVIqKSB0ZW1wX3hycGF0aD1gJGVjaG8gIlgkbGliZGlyIiB8ICRYc2VkIC1lICdz
L14tUi8vJ2AKCQkgICBjYXNlICIgJHhycGF0aCAiIGluCgkJICAgKiIgJHRlbXBfeHJwYXRoICIq
KSA7OwoJCSAgICopIHhycGF0aD0iJHhycGF0aCAkdGVtcF94cnBhdGgiOzsKCQkgICBlc2FjOzsK
CSAgICAgICopIHRlbXBfZGVwbGlicz0iJHRlbXBfZGVwbGlicyAkbGliZGlyIjs7CgkgICAgICBl
c2FjCgkgICAgZG9uZQoJICAgIGRlcGVuZGVuY3lfbGlicz0iJHRlbXBfZGVwbGlicyIKCSAgZmkK
CgkgIG5ld2xpYl9zZWFyY2hfcGF0aD0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkYWJzZGlyIgoJICAj
IExpbmsgYWdhaW5zdCB0aGlzIGxpYnJhcnkKCSAgdGVzdCAiJGxpbmtfc3RhdGljIiA9IG5vICYm
IG5ld2RlcGVuZGVuY3lfbGlicz0iJGFic19sYWRpci8kbGFuYW1lICRuZXdkZXBlbmRlbmN5X2xp
YnMiCgkgICMgLi4uIGFuZCBpdHMgZGVwZW5kZW5jeV9saWJzCgkgIHRtcF9saWJzPQoJICBmb3Ig
ZGVwbGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCgkgICAgbmV3ZGVwZW5kZW5jeV9saWJzPSIk
ZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMiCgkgICAgaWYgdGVzdCAiWCRkdXBsaWNhdGVfZGVw
cyIgPSAiWHllcyIgOyB0aGVuCgkgICAgICBjYXNlICIkdG1wX2xpYnMgIiBpbgoJICAgICAgKiIg
JGRlcGxpYiAiKikgc3BlY2lhbGRlcGxpYnM9IiRzcGVjaWFsZGVwbGlicyAkZGVwbGliIiA7OwoJ
ICAgICAgZXNhYwoJICAgIGZpCgkgICAgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGliIgoJICBk
b25lCgoJICBpZiB0ZXN0ICIkbGlua19hbGxfZGVwbGlicyIgIT0gbm87IHRoZW4KCSAgICAjIEFk
ZCB0aGUgc2VhcmNoIHBhdGhzIG9mIGFsbCBkZXBlbmRlbmN5IGxpYnJhcmllcwoJICAgIGZvciBk
ZXBsaWIgaW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICAgIGNhc2UgJGRlcGxpYiBpbgoJICAg
ICAgLUwqKSBwYXRoPSIkZGVwbGliIiA7OwoJICAgICAgKi5sYSkKCQlkaXI9YCRlY2hvICJYJGRl
cGxpYiIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAoJCXRlc3QgIlgkZGlyIiA9ICJYJGRlcGxp
YiIgJiYgZGlyPSIuIgoJCSMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJCWNhc2UgJGRpciBp
bgoJCVtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgYWJzZGlyPSIkZGlyIiA7OwoJCSopCgkJICBh
YnNkaXI9YGNkICIkZGlyIiAmJiBwd2RgCgkJICBpZiB0ZXN0IC16ICIkYWJzZGlyIjsgdGhlbgoJ
CSAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBjYW5ub3QgZGV0ZXJtaW5lIGFic29sdXRl
IGRpcmVjdG9yeSBuYW1lIG9mIFxgJGRpciciIDE+JjIKCQkgICAgYWJzZGlyPSIkZGlyIgoJCSAg
ZmkKCQkgIDs7CgkJZXNhYwoJCWlmIGdyZXAgIl5pbnN0YWxsZWQ9bm8iICRkZXBsaWIgPiAvZGV2
L251bGw7IHRoZW4KCQkgIHBhdGg9IiRhYnNkaXIvJG9iamRpciIKCQllbHNlCgkJICBldmFsIGxp
YmRpcj1gJHtTRUR9IC1uIC1lICdzL15saWJkaXI9XCguKlwpJC9cMS9wJyAkZGVwbGliYAoJCSAg
aWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCQkgICAgJGVjaG8gIiRtb2RlbmFtZTogXGAkZGVw
bGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUiIDE+JjIKCQkgICAgZXhpdCAkRVhJ
VF9GQUlMVVJFCgkJICBmaQoJCSAgaWYgdGVzdCAiJGFic2RpciIgIT0gIiRsaWJkaXIiOyB0aGVu
CgkJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgJGRlcGxpYicgc2VlbXMgdG8gYmUg
bW92ZWQiIDE+JjIKCQkgIGZpCgkJICBwYXRoPSIkYWJzZGlyIgoJCWZpCgkJZGVwZGVwbD0KCQlj
YXNlICRob3N0IGluCgkJKi0qLWRhcndpbiopCgkJICAjIHdlIGRvIG5vdCB3YW50IHRvIGxpbmsg
YWdhaW5zdCBzdGF0aWMgbGlicywKCQkgICMgYnV0IG5lZWQgdG8gbGluayBhZ2FpbnN0IHNoYXJl
ZAoJCSAgZXZhbCBkZXBsaWJyYXJ5X25hbWVzPWAke1NFRH0gLW4gLWUgJ3MvXmxpYnJhcnlfbmFt
ZXM9XCguKlwpJC9cMS9wJyAkZGVwbGliYAoJCSAgaWYgdGVzdCAtbiAiJGRlcGxpYnJhcnlfbmFt
ZXMiIDsgdGhlbgoJCSAgICBmb3IgdG1wIGluICRkZXBsaWJyYXJ5X25hbWVzIDsgZG8KCQkgICAg
ICBkZXBkZXBsPSR0bXAKCQkgICAgZG9uZQoJCSAgICBpZiB0ZXN0IC1mICIkcGF0aC8kZGVwZGVw
bCIgOyB0aGVuCgkJICAgICAgZGVwZGVwbD0iJHBhdGgvJGRlcGRlcGwiCgkJICAgIGZpCgkJICAg
ICMgZG8gbm90IGFkZCBwYXRocyB3aGljaCBhcmUgYWxyZWFkeSB0aGVyZQoJCSAgICBjYXNlICIg
JG5ld2xpYl9zZWFyY2hfcGF0aCAiIGluCgkJICAgICoiICRwYXRoICIqKSA7OwoJCSAgICAqKSBu
ZXdsaWJfc2VhcmNoX3BhdGg9IiRuZXdsaWJfc2VhcmNoX3BhdGggJHBhdGgiOzsKCQkgICAgZXNh
YwoJCSAgZmkKCQkgIHBhdGg9IiIKCQkgIDs7CgkJKikKCQkgIHBhdGg9Ii1MJHBhdGgiCgkJICA7
OwoJCWVzYWMKCQk7OwoJICAgICAgLWwqKQoJCWNhc2UgJGhvc3QgaW4KCQkqLSotZGFyd2luKikK
CQkgICMgQWdhaW4sIHdlIG9ubHkgd2FudCB0byBsaW5rIGFnYWluc3Qgc2hhcmVkIGxpYnJhcmll
cwoJCSAgZXZhbCB0bXBfbGlicz1gJGVjaG8gIlgkZGVwbGliIiB8ICRYc2VkIC1lICJzLF5cLWws
LCJgCgkJICBmb3IgdG1wIGluICRuZXdsaWJfc2VhcmNoX3BhdGggOyBkbwoJCSAgICBpZiB0ZXN0
IC1mICIkdG1wL2xpYiR0bXBfbGlicy5keWxpYiIgOyB0aGVuCgkJICAgICAgZXZhbCBkZXBkZXBs
PSIkdG1wL2xpYiR0bXBfbGlicy5keWxpYiIKCQkgICAgICBicmVhawoJCSAgICBmaQoJCSAgZG9u
ZQoJCSAgcGF0aD0iIgoJCSAgOzsKCQkqKSBjb250aW51ZSA7OwoJCWVzYWMKCQk7OwoJICAgICAg
KikgY29udGludWUgOzsKCSAgICAgIGVzYWMKCSAgICAgIGNhc2UgIiAkZGVwbGlicyAiIGluCgkg
ICAgICAqIiAkZGVwZGVwbCAiKikgOzsKCSAgICAgICopIGRlcGxpYnM9IiRkZXBkZXBsICRkZXBs
aWJzIiA7OwoJICAgICAgZXNhYwoJICAgICAgY2FzZSAiICRkZXBsaWJzICIgaW4KCSAgICAgICoi
ICRwYXRoICIqKSA7OwoJICAgICAgKikgZGVwbGlicz0iJGRlcGxpYnMgJHBhdGgiIDs7CgkgICAg
ICBlc2FjCgkgICAgZG9uZQoJICBmaSAjIGxpbmtfYWxsX2RlcGxpYnMgIT0gbm8KCWZpICMgbGlu
a21vZGUgPSBsaWIKICAgICAgZG9uZSAjIGZvciBkZXBsaWIgaW4gJGxpYnMKICAgICAgZGVwZW5k
ZW5jeV9saWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzIgogICAgICBpZiB0ZXN0ICIkcGFzcyIgPSBk
bHByZW9wZW47IHRoZW4KCSMgTGluayB0aGUgZGxwcmVvcGVuZWQgbGlicmFyaWVzIGJlZm9yZSBv
dGhlciBsaWJyYXJpZXMKCWZvciBkZXBsaWIgaW4gJHNhdmVfZGVwbGliczsgZG8KCSAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCWRvbmUKICAgICAgZmkKICAgICAgaWYgdGVzdCAiJHBhc3Mi
ICE9IGRsb3BlbjsgdGhlbgoJaWYgdGVzdCAiJHBhc3MiICE9IGNvbnY7IHRoZW4KCSAgIyBNYWtl
IHN1cmUgbGliX3NlYXJjaF9wYXRoIGNvbnRhaW5zIG9ubHkgdW5pcXVlIGRpcmVjdG9yaWVzLgoJ
ICBsaWJfc2VhcmNoX3BhdGg9CgkgIGZvciBkaXIgaW4gJG5ld2xpYl9zZWFyY2hfcGF0aDsgZG8K
CSAgICBjYXNlICIkbGliX3NlYXJjaF9wYXRoICIgaW4KCSAgICAqIiAkZGlyICIqKSA7OwoJICAg
ICopIGxpYl9zZWFyY2hfcGF0aD0iJGxpYl9zZWFyY2hfcGF0aCAkZGlyIiA7OwoJICAgIGVzYWMK
CSAgZG9uZQoJICBuZXdsaWJfc2VhcmNoX3BhdGg9CglmaQoKCWlmIHRlc3QgIiRsaW5rbW9kZSwk
cGFzcyIgIT0gInByb2csbGluayI7IHRoZW4KCSAgdmFycz0iZGVwbGlicyIKCWVsc2UKCSAgdmFy
cz0iY29tcGlsZV9kZXBsaWJzIGZpbmFsaXplX2RlcGxpYnMiCglmaQoJZm9yIHZhciBpbiAkdmFy
cyBkZXBlbmRlbmN5X2xpYnM7IGRvCgkgICMgQWRkIGxpYnJhcmllcyB0byAkdmFyIGluIHJldmVy
c2Ugb3JkZXIKCSAgZXZhbCB0bXBfbGlicz1cIlwkJHZhclwiCgkgIG5ld19saWJzPQoJICBmb3Ig
ZGVwbGliIGluICR0bXBfbGliczsgZG8KCSAgICAjIEZJWE1FOiBQZWRhbnRpY2FsbHksIHRoaXMg
aXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBzbwoJICAgICMgICAgICAgIHRoYXQgc29tZSBuYXN0
eSBkZXBlbmRlbmN5IGxvb3AgaXNuJ3QgYWNjaWRlbnRhbGx5CgkgICAgIyAgICAgICAgYnJva2Vu
OgoJICAgICNuZXdfbGlicz0iJGRlcGxpYiAkbmV3X2xpYnMiCgkgICAgIyBQcmFnbWF0aWNhbGx5
LCB0aGlzIHNlZW1zIHRvIGNhdXNlIHZlcnkgZmV3IHByb2JsZW1zIGluCgkgICAgIyBwcmFjdGlj
ZToKCSAgICBjYXNlICRkZXBsaWIgaW4KCSAgICAtTCopIG5ld19saWJzPSIkZGVwbGliICRuZXdf
bGlicyIgOzsKCSAgICAtUiopIDs7CgkgICAgKikKCSAgICAgICMgQW5kIGhlcmUgaXMgdGhlIHJl
YXNvbjogd2hlbiBhIGxpYnJhcnkgYXBwZWFycyBtb3JlCgkgICAgICAjIHRoYW4gb25jZSBhcyBh
biBleHBsaWNpdCBkZXBlbmRlbmNlIG9mIGEgbGlicmFyeSwgb3IKCSAgICAgICMgaXMgaW1wbGlj
aXRseSBsaW5rZWQgaW4gbW9yZSB0aGFuIG9uY2UgYnkgdGhlCgkgICAgICAjIGNvbXBpbGVyLCBp
dCBpcyBjb25zaWRlcmVkIHNwZWNpYWwsIGFuZCBtdWx0aXBsZQoJICAgICAgIyBvY2N1cnJlbmNl
cyB0aGVyZW9mIGFyZSBub3QgcmVtb3ZlZC4gIENvbXBhcmUgdGhpcwoJICAgICAgIyB3aXRoIGhh
dmluZyB0aGUgc2FtZSBsaWJyYXJ5IGJlaW5nIGxpc3RlZCBhcyBhCgkgICAgICAjIGRlcGVuZGVu
Y3kgb2YgbXVsdGlwbGUgb3RoZXIgbGlicmFyaWVzOiBpbiB0aGlzIGNhc2UsCgkgICAgICAjIHdl
IGtub3cgKHBlZGFudGljYWxseSwgd2UgYXNzdW1lKSB0aGUgbGlicmFyeSBkb2VzIG5vdAoJICAg
ICAgIyBuZWVkIHRvIGJlIGxpc3RlZCBtb3JlIHRoYW4gb25jZSwgc28gd2Uga2VlcCBvbmx5IHRo
ZQoJICAgICAgIyBsYXN0IGNvcHkuICBUaGlzIGlzIG5vdCBhbHdheXMgcmlnaHQsIGJ1dCBpdCBp
cyByYXJlCgkgICAgICAjIGVub3VnaCB0aGF0IHdlIHJlcXVpcmUgdXNlcnMgdGhhdCByZWFsbHkg
bWVhbiB0byBwbGF5CgkgICAgICAjIHN1Y2ggdW5wb3J0YWJsZSBsaW5raW5nIHRyaWNrcyB0byBs
aW5rIHRoZSBsaWJyYXJ5CgkgICAgICAjIHVzaW5nIC1XbCwtbG5hbWUsIHNvIHRoYXQgbGlidG9v
bCBkb2VzIG5vdCBjb25zaWRlciBpdAoJICAgICAgIyBmb3IgZHVwbGljYXRlIHJlbW92YWwuCgkg
ICAgICBjYXNlICIgJHNwZWNpYWxkZXBsaWJzICIgaW4KCSAgICAgICoiICRkZXBsaWIgIiopIG5l
d19saWJzPSIkZGVwbGliICRuZXdfbGlicyIgOzsKCSAgICAgICopCgkJY2FzZSAiICRuZXdfbGli
cyAiIGluCgkJKiIgJGRlcGxpYiAiKikgOzsKCQkqKSBuZXdfbGlicz0iJGRlcGxpYiAkbmV3X2xp
YnMiIDs7CgkJZXNhYwoJCTs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZG9u
ZQoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAkbmV3X2xpYnM7IGRvCgkgICAgY2FzZSAk
ZGVwbGliIGluCgkgICAgLUwqKQoJICAgICAgY2FzZSAiICR0bXBfbGlicyAiIGluCgkgICAgICAq
IiAkZGVwbGliICIqKSA7OwoJICAgICAgKikgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGliIiA7
OwoJICAgICAgZXNhYwoJICAgICAgOzsKCSAgICAqKSB0bXBfbGlicz0iJHRtcF9saWJzICRkZXBs
aWIiIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIGV2YWwgJHZhcj1cIiR0bXBfbGlic1wiCglkb25l
ICMgZm9yIHZhcgogICAgICBmaQogICAgICAjIExhc3Qgc3RlcDogcmVtb3ZlIHJ1bnRpbWUgbGli
cyBmcm9tIGRlcGVuZGVuY3lfbGlicwogICAgICAjICh0aGV5IHN0YXkgaW4gZGVwbGlicykKICAg
ICAgdG1wX2xpYnM9CiAgICAgIGZvciBpIGluICRkZXBlbmRlbmN5X2xpYnMgOyBkbwoJY2FzZSAi
ICRwcmVkZXBzICRwb3N0ZGVwcyAkY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoICIgaW4KCSoiICRp
ICIqKQoJICBpPSIiCgkgIDs7Cgllc2FjCglpZiB0ZXN0IC1uICIkaSIgOyB0aGVuCgkgIHRtcF9s
aWJzPSIkdG1wX2xpYnMgJGkiCglmaQogICAgICBkb25lCiAgICAgIGRlcGVuZGVuY3lfbGlicz0k
dG1wX2xpYnMKICAgIGRvbmUgIyBmb3IgcGFzcwogICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHBy
b2c7IHRoZW4KICAgICAgZGxmaWxlcz0iJG5ld2RsZmlsZXMiCiAgICAgIGRscHJlZmlsZXM9IiRu
ZXdkbHByZWZpbGVzIgogICAgZmkKCiAgICBjYXNlICRsaW5rbW9kZSBpbgogICAgb2xkbGliKQog
ICAgICBpZiB0ZXN0IC1uICIkZGVwbGlicyI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5p
bmc6IFxgLWwnIGFuZCBcYC1MJyBhcmUgaWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAg
ZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNl
bGYiICE9IG5vOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1kbG9wZW4nIGlz
IGlnbm9yZWQgZm9yIGFyY2hpdmVzIiAxPiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIk
cnBhdGgiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1ycGF0aCcgaXMgaWdu
b3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiR4cnBh
dGgiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1SJyBpcyBpZ25vcmVkIGZv
ciBhcmNoaXZlcyIgMT4mMgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHZpbmZvIjsgdGhl
bgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtdmVyc2lvbi1pbmZvLy12ZXJzaW9uLW51
bWJlcicgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRl
c3QgLW4gIiRyZWxlYXNlIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtcmVs
ZWFzZScgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRl
c3QgLW4gIiRleHBvcnRfc3ltYm9scyIgfHwgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzX3JlZ2V4
IjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtZXhwb3J0LXN5bWJvbHMnIGlz
IGlnbm9yZWQgZm9yIGFyY2hpdmVzIiAxPiYyCiAgICAgIGZpCgogICAgICAjIE5vdyBzZXQgdGhl
IHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcgb2xkIGxpYnJhcmllcy4KICAgICAgYnVpbGRfbGlidG9v
bF9saWJzPW5vCiAgICAgIG9sZGxpYnM9IiRvdXRwdXQiCiAgICAgIG9ianM9IiRvYmpzJG9sZF9k
ZXBsaWJzIgogICAgICA7OwoKICAgIGxpYikKICAgICAgIyBNYWtlIHN1cmUgd2Ugb25seSBnZW5l
cmF0ZSBsaWJyYXJpZXMgb2YgdGhlIGZvcm0gYGxpYk5BTUUubGEnLgogICAgICBjYXNlICRvdXRw
dXRuYW1lIGluCiAgICAgIGxpYiopCgluYW1lPWAkZWNobyAiWCRvdXRwdXRuYW1lIiB8ICRYc2Vk
IC1lICdzL1wubGEkLy8nIC1lICdzL15saWIvLydgCglldmFsIHNoYXJlZF9leHQ9XCIkc2hyZXh0
X2NtZHNcIgoJZXZhbCBsaWJuYW1lPVwiJGxpYm5hbWVfc3BlY1wiCgk7OwogICAgICAqKQoJaWYg
dGVzdCAiJG1vZHVsZSIgPSBubzsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiBsaWJ0b29sIGxp
YnJhcnkgXGAkb3V0cHV0JyBtdXN0IGJlZ2luIHdpdGggXGBsaWInIiAxPiYyCgkgICRlY2hvICIk
aGVscCIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCWZpCglpZiB0ZXN0ICIkbmVlZF9saWJf
cHJlZml4IiAhPSBubzsgdGhlbgoJICAjIEFkZCB0aGUgImxpYiIgcHJlZml4IGZvciBtb2R1bGVz
IGlmIHJlcXVpcmVkCgkgIG5hbWU9YCRlY2hvICJYJG91dHB1dG5hbWUiIHwgJFhzZWQgLWUgJ3Mv
XC5sYSQvLydgCgkgIGV2YWwgc2hhcmVkX2V4dD1cIiRzaHJleHRfY21kc1wiCgkgIGV2YWwgbGli
bmFtZT1cIiRsaWJuYW1lX3NwZWNcIgoJZWxzZQoJICBsaWJuYW1lPWAkZWNobyAiWCRvdXRwdXRu
YW1lIiB8ICRYc2VkIC1lICdzL1wubGEkLy8nYAoJZmkKCTs7CiAgICAgIGVzYWMKCiAgICAgIGlm
IHRlc3QgLW4gIiRvYmpzIjsgdGhlbgoJaWYgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAh
PSBwYXNzX2FsbDsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgYnVpbGQgbGlidG9v
bCBsaWJyYXJ5IFxgJG91dHB1dCcgZnJvbSBub24tbGlidG9vbCBvYmplY3RzIG9uIHRoaXMgaG9z
dDokb2JqcyIgMj4mMQoJICBleGl0ICRFWElUX0ZBSUxVUkUKCWVsc2UKCSAgJGVjaG8KCSAgJGVj
aG8gIioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBzaGFyZWQgbGlicmFyeSAkb3V0cHV0IGFnYWlu
c3QgdGhlIG5vbi1saWJ0b29sIgoJICAkZWNobyAiKioqIG9iamVjdHMgJG9ianMgaXMgbm90IHBv
cnRhYmxlISIKCSAgbGlib2Jqcz0iJGxpYm9ianMgJG9ianMiCglmaQogICAgICBmaQoKICAgICAg
aWYgdGVzdCAiJGRsc2VsZiIgIT0gbm87IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6
IFxgLWRsb3BlbiBzZWxmJyBpcyBpZ25vcmVkIGZvciBsaWJ0b29sIGxpYnJhcmllcyIgMT4mMgog
ICAgICBmaQoKICAgICAgc2V0IGR1bW15ICRycGF0aAogICAgICBpZiB0ZXN0ICIkIyIgLWd0IDI7
IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGlnbm9yaW5nIG11bHRpcGxlIFxgLXJw
YXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IiAxPiYyCiAgICAgIGZpCiAgICAgIGluc3RhbGxf
bGliZGlyPSIkMiIKCiAgICAgIG9sZGxpYnM9CiAgICAgIGlmIHRlc3QgLXogIiRycGF0aCI7IHRo
ZW4KCWlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCgkgICMgQnVpbGRp
bmcgYSBsaWJ0b29sIGNvbnZlbmllbmNlIGxpYnJhcnkuCgkgICMgU29tZSBjb21waWxlcnMgaGF2
ZSBwcm9ibGVtcyB3aXRoIGEgYC5hbCcgZXh0ZW5zaW9uIHNvCgkgICMgY29udmVuaWVuY2UgbGli
cmFyaWVzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGV4dGVuc2lvbiBhbgoJICAjIGFyY2hpdmUgbm9y
bWFsbHkgd291bGQuCgkgIG9sZGxpYnM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLiRsaWJleHQg
JG9sZGxpYnMiCgkgIGJ1aWxkX2xpYnRvb2xfbGlicz1jb252ZW5pZW5jZQoJICBidWlsZF9vbGRf
bGlicz15ZXMKCWZpCgoJaWYgdGVzdCAtbiAiJHZpbmZvIjsgdGhlbgoJICAkZWNobyAiJG1vZGVu
YW1lOiB3YXJuaW5nOiBcYC12ZXJzaW9uLWluZm8vLXZlcnNpb24tbnVtYmVyJyBpcyBpZ25vcmVk
IGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMiIDE+JjIKCWZpCgoJaWYgdGVzdCAtbiAiJHJlbGVh
c2UiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJlbGVhc2UnIGlzIGln
bm9yZWQgZm9yIGNvbnZlbmllbmNlIGxpYnJhcmllcyIgMT4mMgoJZmkKICAgICAgZWxzZQoKCSMg
UGFyc2UgdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gYXJndW1lbnQuCglzYXZlX2lmcz0iJElGUyI7
IElGUz0nOicKCXNldCBkdW1teSAkdmluZm8gMCAwIDAKCUlGUz0iJHNhdmVfaWZzIgoKCWlmIHRl
c3QgLW4gIiQ4IjsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiB0b28gbWFueSBwYXJhbWV0ZXJz
IHRvIFxgLXZlcnNpb24taW5mbyciIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4aXQg
JEVYSVRfRkFJTFVSRQoJZmkKCgkjIGNvbnZlcnQgYWJzb2x1dGUgdmVyc2lvbiBudW1iZXJzIHRv
IGxpYnRvb2wgYWdlcwoJIyB0aGlzIHJldGFpbnMgY29tcGF0aWJpbGl0eSB3aXRoIC5sYSBmaWxl
cyBhbmQgYXR0ZW1wdHMKCSMgdG8gbWFrZSB0aGUgY29kZSBiZWxvdyBhIGJpdCBtb3JlIGNvbXBy
ZWhlbnNpYmxlCgoJY2FzZSAkdmluZm9fbnVtYmVyIGluCgl5ZXMpCgkgIG51bWJlcl9tYWpvcj0i
JDIiCgkgIG51bWJlcl9taW5vcj0iJDMiCgkgIG51bWJlcl9yZXZpc2lvbj0iJDQiCgkgICMKCSAg
IyBUaGVyZSBhcmUgcmVhbGx5IG9ubHkgdHdvIGtpbmRzIC0tIHRob3NlIHRoYXQKCSAgIyB1c2Ug
dGhlIGN1cnJlbnQgcmV2aXNpb24gYXMgdGhlIG1ham9yIHZlcnNpb24KCSAgIyBhbmQgdGhvc2Ug
dGhhdCBzdWJ0cmFjdCBhZ2UgYW5kIHVzZSBhZ2UgYXMKCSAgIyBhIG1pbm9yIHZlcnNpb24uICBC
dXQsIHRoZW4gdGhlcmUgaXMgaXJpeAoJICAjIHdoaWNoIGhhcyBhbiBleHRyYSAxIGFkZGVkIGp1
c3QgZm9yIGZ1bgoJICAjCgkgIGNhc2UgJHZlcnNpb25fdHlwZSBpbgoJICBkYXJ3aW58bGludXh8
b3NmfHdpbmRvd3MpCgkgICAgY3VycmVudD1gZXhwciAkbnVtYmVyX21ham9yICsgJG51bWJlcl9t
aW5vcmAKCSAgICBhZ2U9IiRudW1iZXJfbWlub3IiCgkgICAgcmV2aXNpb249IiRudW1iZXJfcmV2
aXNpb24iCgkgICAgOzsKCSAgZnJlZWJzZC1hb3V0fGZyZWVic2QtZWxmfHN1bm9zKQoJICAgIGN1
cnJlbnQ9IiRudW1iZXJfbWFqb3IiCgkgICAgcmV2aXNpb249IiRudW1iZXJfbWlub3IiCgkgICAg
YWdlPSIwIgoJICAgIDs7CgkgIGlyaXh8bm9uc3RvcHV4KQoJICAgIGN1cnJlbnQ9YGV4cHIgJG51
bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IgLSAxYAoJICAgIGFnZT0iJG51bWJlcl9taW5vciIK
CSAgICByZXZpc2lvbj0iJG51bWJlcl9taW5vciIKCSAgICA7OwoJICBlc2FjCgkgIDs7CglubykK
CSAgY3VycmVudD0iJDIiCgkgIHJldmlzaW9uPSIkMyIKCSAgYWdlPSIkNCIKCSAgOzsKCWVzYWMK
CgkjIENoZWNrIHRoYXQgZWFjaCBvZiB0aGUgdGhpbmdzIGFyZSB2YWxpZCBudW1iZXJzLgoJY2Fz
ZSAkY3VycmVudCBpbgoJWzAtOV0qKSA7OwoJKikKCSAgJGVjaG8gIiRtb2RlbmFtZTogQ1VSUkVO
VCBcYCRjdXJyZW50JyBpcyBub3QgYSBub25uZWdhdGl2ZSBpbnRlZ2VyIiAxPiYyCgkgICRlY2hv
ICIkbW9kZW5hbWU6IFxgJHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1hdGlvbiIg
MT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgOzsKCWVzYWMKCgljYXNlICRyZXZpc2lvbiBp
bgoJWzAtOV0qKSA7OwoJKikKCSAgJGVjaG8gIiRtb2RlbmFtZTogUkVWSVNJT04gXGAkcmV2aXNp
b24nIGlzIG5vdCBhIG5vbm5lZ2F0aXZlIGludGVnZXIiIDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFt
ZTogXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIiAxPiYyCgkgIGV4
aXQgJEVYSVRfRkFJTFVSRQoJICA7OwoJZXNhYwoKCWNhc2UgJGFnZSBpbgoJWzAtOV0qKSA7OwoJ
KikKCSAgJGVjaG8gIiRtb2RlbmFtZTogQUdFIFxgJGFnZScgaXMgbm90IGEgbm9ubmVnYXRpdmUg
aW50ZWdlciIgMT4mMgoJICAkZWNobyAiJG1vZGVuYW1lOiBcYCR2aW5mbycgaXMgbm90IHZhbGlk
IHZlcnNpb24gaW5mb3JtYXRpb24iIDE+JjIKCSAgZXhpdCAkRVhJVF9GQUlMVVJFCgkgIDs7Cgll
c2FjCgoJaWYgdGVzdCAiJGFnZSIgLWd0ICIkY3VycmVudCI7IHRoZW4KCSAgJGVjaG8gIiRtb2Rl
bmFtZTogQUdFIFxgJGFnZScgaXMgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50IGludGVyZmFjZSBu
dW1iZXIgXGAkY3VycmVudCciIDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkdmluZm8nIGlz
IG5vdCB2YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVS
RQoJZmkKCgkjIENhbGN1bGF0ZSB0aGUgdmVyc2lvbiB2YXJpYWJsZXMuCgltYWpvcj0KCXZlcnN1
ZmZpeD0KCXZlcnN0cmluZz0KCWNhc2UgJHZlcnNpb25fdHlwZSBpbgoJbm9uZSkgOzsKCglkYXJ3
aW4pCgkgICMgTGlrZSBMaW51eCwgYnV0IHdpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBhdmFpbGFi
bGUgaW4KCSAgIyB2ZXJzdHJpbmcgZm9yIGNvZGluZyBpdCBpbnRvIHRoZSBsaWJyYXJ5IGhlYWRl
cgoJICBtYWpvcj0uYGV4cHIgJGN1cnJlbnQgLSAkYWdlYAoJICB2ZXJzdWZmaXg9IiRtYWpvci4k
YWdlLiRyZXZpc2lvbiIKCSAgIyBEYXJ3aW4gbGQgZG9lc24ndCBsaWtlIDAgZm9yIHRoZXNlIG9w
dGlvbnMuLi4KCSAgbWlub3JfY3VycmVudD1gZXhwciAkY3VycmVudCArIDFgCgkgIHZlcnN0cmlu
Zz0iJHt3bH0tY29tcGF0aWJpbGl0eV92ZXJzaW9uICR7d2x9JG1pbm9yX2N1cnJlbnQgJHt3bH0t
Y3VycmVudF92ZXJzaW9uICR7d2x9JG1pbm9yX2N1cnJlbnQuJHJldmlzaW9uIgoJICA7OwoKCWZy
ZWVic2QtYW91dCkKCSAgbWFqb3I9Ii4kY3VycmVudCIKCSAgdmVyc3VmZml4PSIuJGN1cnJlbnQu
JHJldmlzaW9uIjsKCSAgOzsKCglmcmVlYnNkLWVsZikKCSAgbWFqb3I9Ii4kY3VycmVudCIKCSAg
dmVyc3VmZml4PSIuJGN1cnJlbnQiOwoJICA7OwoKCWlyaXggfCBub25zdG9wdXgpCgkgIG1ham9y
PWBleHByICRjdXJyZW50IC0gJGFnZSArIDFgCgoJICBjYXNlICR2ZXJzaW9uX3R5cGUgaW4KCSAg
ICBub25zdG9wdXgpIHZlcnN0cmluZ19wcmVmaXg9bm9uc3RvcHV4IDs7CgkgICAgKikgICAgICAg
ICB2ZXJzdHJpbmdfcHJlZml4PXNnaSA7OwoJICBlc2FjCgkgIHZlcnN0cmluZz0iJHZlcnN0cmlu
Z19wcmVmaXgkbWFqb3IuJHJldmlzaW9uIgoKCSAgIyBBZGQgaW4gYWxsIHRoZSBpbnRlcmZhY2Vz
IHRoYXQgd2UgYXJlIGNvbXBhdGlibGUgd2l0aC4KCSAgbG9vcD0kcmV2aXNpb24KCSAgd2hpbGUg
dGVzdCAiJGxvb3AiIC1uZSAwOyBkbwoJICAgIGlmYWNlPWBleHByICRyZXZpc2lvbiAtICRsb29w
YAoJICAgIGxvb3A9YGV4cHIgJGxvb3AgLSAxYAoJICAgIHZlcnN0cmluZz0iJHZlcnN0cmluZ19w
cmVmaXgkbWFqb3IuJGlmYWNlOiR2ZXJzdHJpbmciCgkgIGRvbmUKCgkgICMgQmVmb3JlIHRoaXMg
cG9pbnQsICRtYWpvciBtdXN0IG5vdCBjb250YWluIGAuJy4KCSAgbWFqb3I9LiRtYWpvcgoJICB2
ZXJzdWZmaXg9IiRtYWpvci4kcmV2aXNpb24iCgkgIDs7CgoJbGludXgpCgkgIG1ham9yPS5gZXhw
ciAkY3VycmVudCAtICRhZ2VgCgkgIHZlcnN1ZmZpeD0iJG1ham9yLiRhZ2UuJHJldmlzaW9uIgoJ
ICA7OwoKCW9zZikKCSAgbWFqb3I9LmBleHByICRjdXJyZW50IC0gJGFnZWAKCSAgdmVyc3VmZml4
PSIuJGN1cnJlbnQuJGFnZS4kcmV2aXNpb24iCgkgIHZlcnN0cmluZz0iJGN1cnJlbnQuJGFnZS4k
cmV2aXNpb24iCgoJICAjIEFkZCBpbiBhbGwgdGhlIGludGVyZmFjZXMgdGhhdCB3ZSBhcmUgY29t
cGF0aWJsZSB3aXRoLgoJICBsb29wPSRhZ2UKCSAgd2hpbGUgdGVzdCAiJGxvb3AiIC1uZSAwOyBk
bwoJICAgIGlmYWNlPWBleHByICRjdXJyZW50IC0gJGxvb3BgCgkgICAgbG9vcD1gZXhwciAkbG9v
cCAtIDFgCgkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nOiR7aWZhY2V9LjAiCgkgIGRvbmUKCgkg
ICMgTWFrZSBleGVjdXRhYmxlcyBkZXBlbmQgb24gb3VyIGN1cnJlbnQgdmVyc2lvbi4KCSAgdmVy
c3RyaW5nPSIkdmVyc3RyaW5nOiR7Y3VycmVudH0uMCIKCSAgOzsKCglzdW5vcykKCSAgbWFqb3I9
Ii4kY3VycmVudCIKCSAgdmVyc3VmZml4PSIuJGN1cnJlbnQuJHJldmlzaW9uIgoJICA7OwoKCXdp
bmRvd3MpCgkgICMgVXNlICctJyByYXRoZXIgdGhhbiAnLicsIHNpbmNlIHdlIG9ubHkgd2FudCBv
bmUKCSAgIyBleHRlbnNpb24gb24gRE9TIDguMyBmaWxlc3lzdGVtcy4KCSAgbWFqb3I9YGV4cHIg
JGN1cnJlbnQgLSAkYWdlYAoJICB2ZXJzdWZmaXg9Ii0kbWFqb3IiCgkgIDs7CgoJKikKCSAgJGVj
aG8gIiRtb2RlbmFtZTogdW5rbm93biBsaWJyYXJ5IHZlcnNpb24gdHlwZSBcYCR2ZXJzaW9uX3R5
cGUnIiAxPiYyCgkgICRlY2hvICJGYXRhbCBjb25maWd1cmF0aW9uIGVycm9yLiAgU2VlIHRoZSAk
UEFDS0FHRSBkb2NzIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgMT4mMgoJICBleGl0ICRFWElUX0ZB
SUxVUkUKCSAgOzsKCWVzYWMKCgkjIENsZWFyIHRoZSB2ZXJzaW9uIGluZm8gaWYgd2UgZGVmYXVs
dGVkLCBhbmQgdGhleSBzcGVjaWZpZWQgYSByZWxlYXNlLgoJaWYgdGVzdCAteiAiJHZpbmZvIiAm
JiB0ZXN0IC1uICIkcmVsZWFzZSI7IHRoZW4KCSAgbWFqb3I9CgkgIGNhc2UgJHZlcnNpb25fdHlw
ZSBpbgoJICBkYXJ3aW4pCgkgICAgIyB3ZSBjYW4ndCBjaGVjayBmb3IgIjAuMCIgaW4gYXJjaGl2
ZV9jbWRzIGR1ZSB0byBxdW90aW5nCgkgICAgIyBwcm9ibGVtcywgc28gd2UgcmVzZXQgaXQgY29t
cGxldGVseQoJICAgIHZlcnN0cmluZz0KCSAgICA7OwoJICAqKQoJICAgIHZlcnN0cmluZz0iMC4w
IgoJICAgIDs7CgkgIGVzYWMKCSAgaWYgdGVzdCAiJG5lZWRfdmVyc2lvbiIgPSBubzsgdGhlbgoJ
ICAgIHZlcnN1ZmZpeD0KCSAgZWxzZQoJICAgIHZlcnN1ZmZpeD0iLjAuMCIKCSAgZmkKCWZpCgoJ
IyBSZW1vdmUgdmVyc2lvbiBpbmZvIGZyb20gbmFtZSBpZiB2ZXJzaW9uaW5nIHNob3VsZCBiZSBh
dm9pZGVkCglpZiB0ZXN0ICIkYXZvaWRfdmVyc2lvbiIgPSB5ZXMgJiYgdGVzdCAiJG5lZWRfdmVy
c2lvbiIgPSBubzsgdGhlbgoJICBtYWpvcj0KCSAgdmVyc3VmZml4PQoJICB2ZXJzdHJpbmc9IiIK
CWZpCgoJIyBDaGVjayB0byBzZWUgaWYgdGhlIGFyY2hpdmUgd2lsbCBoYXZlIHVuZGVmaW5lZCBz
eW1ib2xzLgoJaWYgdGVzdCAiJGFsbG93X3VuZGVmaW5lZCIgPSB5ZXM7IHRoZW4KCSAgaWYgdGVz
dCAiJGFsbG93X3VuZGVmaW5lZF9mbGFnIiA9IHVuc3VwcG9ydGVkOyB0aGVuCgkgICAgJGVjaG8g
IiRtb2RlbmFtZTogd2FybmluZzogdW5kZWZpbmVkIHN5bWJvbHMgbm90IGFsbG93ZWQgaW4gJGhv
c3Qgc2hhcmVkIGxpYnJhcmllcyIgMT4mMgoJICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJICAg
IGJ1aWxkX29sZF9saWJzPXllcwoJICBmaQoJZWxzZQoJICAjIERvbid0IGFsbG93IHVuZGVmaW5l
ZCBzeW1ib2xzLgoJICBhbGxvd191bmRlZmluZWRfZmxhZz0iJG5vX3VuZGVmaW5lZF9mbGFnIgoJ
ZmkKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgIiRtb2RlIiAhPSByZWxpbms7IHRoZW4KCSMgUmVt
b3ZlIG91ciBvdXRwdXRzLCBidXQgZG9uJ3QgcmVtb3ZlIG9iamVjdCBmaWxlcyBzaW5jZSB0aGV5
CgkjIG1heSBoYXZlIGJlZW4gY3JlYXRlZCB3aGVuIGNvbXBpbGluZyBQSUMgb2JqZWN0cy4KCXJl
bW92ZWxpc3Q9Cgl0ZW1wcmVtb3ZlbGlzdD1gJGVjaG8gIiRvdXRwdXRfb2JqZGlyLyoiYAoJZm9y
IHAgaW4gJHRlbXByZW1vdmVsaXN0OyBkbwoJICBjYXNlICRwIGluCgkgICAgKi4kb2JqZXh0KQoJ
ICAgICAgIDs7CgkgICAgJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUgfCAkb3V0cHV0X29iamRp
ci8kbGlibmFtZS4qIHwgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfSR7cmVsZWFzZX0uKikKCSAg
ICAgICBpZiB0ZXN0ICJYJHByZWNpb3VzX2ZpbGVzX3JlZ2V4IiAhPSAiWCI7IHRoZW4KCSAgICAg
ICAgIGlmIGVjaG8gJHAgfCAkRUdSRVAgLWUgIiRwcmVjaW91c19maWxlc19yZWdleCIgPi9kZXYv
bnVsbCAyPiYxCgkgICAgICAgICB0aGVuCgkJICAgY29udGludWUKCQkgZmkKCSAgICAgICBmaQoJ
ICAgICAgIHJlbW92ZWxpc3Q9IiRyZW1vdmVsaXN0ICRwIgoJICAgICAgIDs7CgkgICAgKikgOzsK
CSAgZXNhYwoJZG9uZQoJaWYgdGVzdCAtbiAiJHJlbW92ZWxpc3QiOyB0aGVuCgkgICRzaG93ICIk
e3JtfXIgJHJlbW92ZWxpc3QiCgkgICRydW4gJHtybX1yICRyZW1vdmVsaXN0CglmaQogICAgICBm
aQoKICAgICAgIyBOb3cgc2V0IHRoZSB2YXJpYWJsZXMgZm9yIGJ1aWxkaW5nIG9sZCBsaWJyYXJp
ZXMuCiAgICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXMgJiYgdGVzdCAiJGJ1aWxk
X2xpYnRvb2xfbGlicyIgIT0gY29udmVuaWVuY2UgOyB0aGVuCglvbGRsaWJzPSIkb2xkbGlicyAk
b3V0cHV0X29iamRpci8kbGlibmFtZS4kbGliZXh0IgoKCSMgVHJhbnNmb3JtIC5sbyBmaWxlcyB0
byAubyBmaWxlcy4KCW9sZG9ianM9IiRvYmpzICJgJGVjaG8gIlgkbGlib2JqcyIgfCAkU1AyTkwg
fCAkWHNlZCAtZSAnL1wuJyR7bGliZXh0fSckL2QnIC1lICIkbG8ybyIgfCAkTkwyU1BgCiAgICAg
IGZpCgogICAgICAjIEVsaW1pbmF0ZSBhbGwgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzLgogICAgICBm
b3IgcGF0aCBpbiAkbm90aW5zdF9wYXRoOyBkbwoJbGliX3NlYXJjaF9wYXRoPWAkZWNobyAiJGxp
Yl9zZWFyY2hfcGF0aCAiIHwgJHtTRUR9IC1lICdzJSAkcGF0aCAlICVnJ2AKCWRlcGxpYnM9YCRl
Y2hvICIkZGVwbGlicyAiIHwgJHtTRUR9IC1lICdzJSAtTCRwYXRoICUgJWcnYAoJZGVwZW5kZW5j
eV9saWJzPWAkZWNobyAiJGRlcGVuZGVuY3lfbGlicyAiIHwgJHtTRUR9IC1lICdzJSAtTCRwYXRo
ICUgJWcnYAogICAgICBkb25lCgogICAgICBpZiB0ZXN0IC1uICIkeHJwYXRoIjsgdGhlbgoJIyBJ
ZiB0aGUgdXNlciBzcGVjaWZpZWQgYW55IHJwYXRoIGZsYWdzLCB0aGVuIGFkZCB0aGVtLgoJdGVt
cF94cnBhdGg9Cglmb3IgbGliZGlyIGluICR4cnBhdGg7IGRvCgkgIHRlbXBfeHJwYXRoPSIkdGVt
cF94cnBhdGggLVIkbGliZGlyIgoJICBjYXNlICIkZmluYWxpemVfcnBhdGggIiBpbgoJICAqIiAk
bGliZGlyICIqKSA7OwoJICAqKSBmaW5hbGl6ZV9ycGF0aD0iJGZpbmFsaXplX3JwYXRoICRsaWJk
aXIiIDs7CgkgIGVzYWMKCWRvbmUKCWlmIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiICE9IHll
cyB8fCB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVuCgkgIGRlcGVuZGVuY3lfbGli
cz0iJHRlbXBfeHJwYXRoICRkZXBlbmRlbmN5X2xpYnMiCglmaQogICAgICBmaQoKICAgICAgIyBN
YWtlIHN1cmUgZGxmaWxlcyBjb250YWlucyBvbmx5IHVuaXF1ZSBmaWxlcyB0aGF0IHdvbid0IGJl
IGRscHJlb3BlbmVkCiAgICAgIG9sZF9kbGZpbGVzPSIkZGxmaWxlcyIKICAgICAgZGxmaWxlcz0K
ICAgICAgZm9yIGxpYiBpbiAkb2xkX2RsZmlsZXM7IGRvCgljYXNlICIgJGRscHJlZmlsZXMgJGRs
ZmlsZXMgIiBpbgoJKiIgJGxpYiAiKikgOzsKCSopIGRsZmlsZXM9IiRkbGZpbGVzICRsaWIiIDs7
Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgICMgTWFrZSBzdXJlIGRscHJlZmlsZXMgY29udGFpbnMg
b25seSB1bmlxdWUgZmlsZXMKICAgICAgb2xkX2RscHJlZmlsZXM9IiRkbHByZWZpbGVzIgogICAg
ICBkbHByZWZpbGVzPQogICAgICBmb3IgbGliIGluICRvbGRfZGxwcmVmaWxlczsgZG8KCWNhc2Ug
IiRkbHByZWZpbGVzICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBkbHByZWZpbGVzPSIkZGxwcmVm
aWxlcyAkbGliIiA7OwoJZXNhYwogICAgICBkb25lCgogICAgICBpZiB0ZXN0ICIkYnVpbGRfbGli
dG9vbF9saWJzIiA9IHllczsgdGhlbgoJaWYgdGVzdCAtbiAiJHJwYXRoIjsgdGhlbgoJICBjYXNl
ICRob3N0IGluCgkgICotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1v
czIqIHwgKi0qLWJlb3MqKQoJICAgICMgdGhlc2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZl
IGEgYyBsaWJyYXJ5IChhcyBzdWNoKSEKCSAgICA7OwoJICAqLSotcmhhcHNvZHkqIHwgKi0qLWRh
cndpbjEuWzAxMl0pCgkgICAgIyBSaGFwc29keSBDIGxpYnJhcnkgaXMgaW4gdGhlIFN5c3RlbSBm
cmFtZXdvcmsKCSAgICBkZXBsaWJzPSIkZGVwbGlicyAtZnJhbWV3b3JrIFN5c3RlbSIKCSAgICA7
OwoJICAqLSotbmV0YnNkKikKCSAgICAjIERvbid0IGxpbmsgd2l0aCBsaWJjIHVudGlsIHRoZSBh
Lm91dCBsZC5zbyBpcyBmaXhlZC4KCSAgICA7OwoJICAqLSotb3BlbmJzZCogfCAqLSotZnJlZWJz
ZCopCgkgICAgIyBEbyBub3QgaW5jbHVkZSBsaWJjIGR1ZSB0byB1cyBoYXZpbmcgbGliYy9saWJj
X3IuCgkgICAgdGVzdCAiWCRhcmciID0gIlgtbGMiICYmIGNvbnRpbnVlCgkgICAgOzsKIAkgICop
CgkgICAgIyBBZGQgbGliYyB0byBkZXBsaWJzIG9uIGFsbCBvdGhlciBzeXN0ZW1zIGlmIG5lY2Vz
c2FyeS4KCSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9uZWVkX2xjIiA9ICJ5ZXMiOyB0aGVu
CgkgICAgICBkZXBsaWJzPSIkZGVwbGlicyAtbGMiCgkgICAgZmkKCSAgICA7OwoJICBlc2FjCglm
aQoKCSMgVHJhbnNmb3JtIGRlcGxpYnMgaW50byBvbmx5IGRlcGxpYnMgdGhhdCBjYW4gYmUgbGlu
a2VkIGluIHNoYXJlZC4KCW5hbWVfc2F2ZT0kbmFtZQoJbGlibmFtZV9zYXZlPSRsaWJuYW1lCgly
ZWxlYXNlX3NhdmU9JHJlbGVhc2UKCXZlcnN1ZmZpeF9zYXZlPSR2ZXJzdWZmaXgKCW1ham9yX3Nh
dmU9JG1ham9yCgkjIEknbSBub3Qgc3VyZSBpZiBJJ20gdHJlYXRpbmcgdGhlIHJlbGVhc2UgY29y
cmVjdGx5LiAgSSB0aGluawoJIyByZWxlYXNlIHNob3VsZCBzaG93IHVwIGluIHRoZSAtbCAoaWUg
LWxnbXA1KSBzbyB3ZSBkb24ndCB3YW50IHRvCgkjIGFkZCBpdCBpbiB0d2ljZS4gIElzIHRoYXQg
Y29ycmVjdD8KCXJlbGVhc2U9IiIKCXZlcnN1ZmZpeD0iIgoJbWFqb3I9IiIKCW5ld2RlcGxpYnM9
Cglkcm9wcGVkZGVwcz1ubwoJY2FzZSAkZGVwbGlic19jaGVja19tZXRob2QgaW4KCXBhc3NfYWxs
KQoJICAjIERvbid0IGNoZWNrIGZvciBzaGFyZWQvc3RhdGljLiAgRXZlcnl0aGluZyB3b3Jrcy4K
CSAgIyBUaGlzIG1pZ2h0IGJlIGEgbGl0dGxlIG5haXZlLiAgV2UgbWlnaHQgd2FudCB0byBjaGVj
awoJICAjIHdoZXRoZXIgdGhlIGxpYnJhcnkgZXhpc3RzIG9yIG5vdC4gIEJ1dCB0aGlzIGlzIG9u
CgkgICMgb3NmMyAmIG9zZjQgYW5kIEknbSBub3QgcmVhbGx5IHN1cmUuLi4gSnVzdAoJICAjIGlt
cGxlbWVudGluZyB3aGF0IHdhcyBhbHJlYWR5IHRoZSBiZWhhdmlvci4KCSAgbmV3ZGVwbGlicz0k
ZGVwbGlicwoJICA7OwoJdGVzdF9jb21waWxlKQoJICAjIFRoaXMgY29kZSBzdHJlc3NlcyB0aGUg
ImxpYnJhcmllcyBhcmUgcHJvZ3JhbXMiIHBhcmFkaWdtIHRvIGl0cwoJICAjIGxpbWl0cy4gTWF5
YmUgZXZlbiBicmVha3MgaXQuICBXZSBjb21waWxlIGEgcHJvZ3JhbSwgbGlua2luZyBpdAoJICAj
IGFnYWluc3QgdGhlIGRlcGxpYnMgYXMgYSBwcm94eSBmb3IgdGhlIGxpYnJhcnkuICBUaGVuIHdl
IGNhbiBjaGVjawoJICAjIHdoZXRoZXIgdGhleSBsaW5rZWQgaW4gc3RhdGljYWxseSBvciBkeW5h
bWljYWxseSB3aXRoIGxkZC4KCSAgJHJtIGNvbmZ0ZXN0LmMKCSAgY2F0ID4gY29uZnRlc3QuYyA8
PEVPRgoJICBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0KRU9GCgkgICRybSBjb25mdGVzdAoJICAk
TFRDQyAtbyBjb25mdGVzdCBjb25mdGVzdC5jICRkZXBsaWJzCgkgIGlmIHRlc3QgIiQ/IiAtZXEg
MCA7IHRoZW4KCSAgICBsZGRfb3V0cHV0PWBsZGQgY29uZnRlc3RgCgkgICAgZm9yIGkgaW4gJGRl
cGxpYnM7IGRvCgkgICAgICBuYW1lPSJgZXhwciAkaSA6ICctbFwoLipcKSdgIgoJICAgICAgIyBJ
ZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEgLUwgYXJndW1lbnQuCiAgICAg
ICAgICAgICAgaWYgdGVzdCAiJG5hbWUiICE9ICIiICYmIHRlc3QgIiRuYW1lIiAtbmUgIjAiOyB0
aGVuCgkJaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMi
ID0gIlh5ZXMiIDsgdGhlbgoJCSAgY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAiIGluCgkJICAq
IiAkaSAiKikKCQkgICAgbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMgJGkiCgkJICAgIGk9IiIKCQkg
ICAgOzsKCQkgIGVzYWMKCSAgICAgICAgZmkKCQlpZiB0ZXN0IC1uICIkaSIgOyB0aGVuCgkJICBs
aWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9zcGVjXCJgCgkJICBkZXBsaWJfbWF0Y2hl
cz1gZXZhbCBcXCRlY2hvIFwiJGxpYnJhcnlfbmFtZXNfc3BlY1wiYAoJCSAgc2V0IGR1bW15ICRk
ZXBsaWJfbWF0Y2hlcwoJCSAgZGVwbGliX21hdGNoPSQyCgkJICBpZiB0ZXN0IGBleHByICIkbGRk
X291dHB1dCIgOiAiLiokZGVwbGliX21hdGNoImAgLW5lIDAgOyB0aGVuCgkJICAgIG5ld2RlcGxp
YnM9IiRuZXdkZXBsaWJzICRpIgoJCSAgZWxzZQoJCSAgICBkcm9wcGVkZGVwcz15ZXMKCQkgICAg
JGVjaG8KCQkgICAgJGVjaG8gIioqKiBXYXJuaW5nOiBkeW5hbWljIGxpbmtlciBkb2VzIG5vdCBh
Y2NlcHQgbmVlZGVkIGxpYnJhcnkgJGkuIgoJCSAgICAkZWNobyAiKioqIEkgaGF2ZSB0aGUgY2Fw
YWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIK
CQkgICAgJGVjaG8gIioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25s
eSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkJICAgICRlY2hvICIqKiogc2hhcmVkIHZlcnNpb24g
b2YgdGhlIGxpYnJhcnksIHdoaWNoIEkgYmVsaWV2ZSB5b3UgZG8gbm90IGhhdmUiCgkJICAgICRl
Y2hvICIqKiogYmVjYXVzZSBhIHRlc3RfY29tcGlsZSBkaWQgcmV2ZWFsIHRoYXQgdGhlIGxpbmtl
ciBkaWQgbm90IHVzZSBpdCBmb3IiCgkJICAgICRlY2hvICIqKiogaXRzIGR5bmFtaWMgZGVwZW5k
ZW5jeSBsaXN0IHRoYXQgcHJvZ3JhbXMgZ2V0IHJlc29sdmVkIHdpdGggYXQgcnVudGltZS4iCgkJ
ICBmaQoJCWZpCgkgICAgICBlbHNlCgkJbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMgJGkiCgkgICAg
ICBmaQoJICAgIGRvbmUKCSAgZWxzZQoJICAgICMgRXJyb3Igb2NjdXJyZWQgaW4gdGhlIGZpcnN0
IGNvbXBpbGUuICBMZXQncyB0cnkgdG8gc2FsdmFnZQoJICAgICMgdGhlIHNpdHVhdGlvbjogQ29t
cGlsZSBhIHNlcGFyYXRlIHByb2dyYW0gZm9yIGVhY2ggbGlicmFyeS4KCSAgICBmb3IgaSBpbiAk
ZGVwbGliczsgZG8KCSAgICAgIG5hbWU9ImBleHByICRpIDogJy1sXCguKlwpJ2AiCgkgICAgICAj
IElmICRuYW1lIGlzIGVtcHR5IHdlIGFyZSBvcGVyYXRpbmcgb24gYSAtTCBhcmd1bWVudC4KICAg
ICAgICAgICAgICBpZiB0ZXN0ICIkbmFtZSIgIT0gIiIgJiYgdGVzdCAiJG5hbWUiICE9ICIwIjsg
dGhlbgoJCSRybSBjb25mdGVzdAoJCSRMVENDIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGkKCQkj
IERpZCBpdCB3b3JrPwoJCWlmIHRlc3QgIiQ/IiAtZXEgMCA7IHRoZW4KCQkgIGxkZF9vdXRwdXQ9
YGxkZCBjb25mdGVzdGAKCQkgIGlmIHRlc3QgIlgkYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3Rh
dGljX3J1bnRpbWVzIiA9ICJYeWVzIiA7IHRoZW4KCQkgICAgY2FzZSAiICRwcmVkZXBzICRwb3N0
ZGVwcyAiIGluCgkJICAgICoiICRpICIqKQoJCSAgICAgIG5ld2RlcGxpYnM9IiRuZXdkZXBsaWJz
ICRpIgoJCSAgICAgIGk9IiIKCQkgICAgICA7OwoJCSAgICBlc2FjCgkJICBmaQoJCSAgaWYgdGVz
dCAtbiAiJGkiIDsgdGhlbgoJCSAgICBsaWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9z
cGVjXCJgCgkJICAgIGRlcGxpYl9tYXRjaGVzPWBldmFsIFxcJGVjaG8gXCIkbGlicmFyeV9uYW1l
c19zcGVjXCJgCgkJICAgIHNldCBkdW1teSAkZGVwbGliX21hdGNoZXMKCQkgICAgZGVwbGliX21h
dGNoPSQyCgkJICAgIGlmIHRlc3QgYGV4cHIgIiRsZGRfb3V0cHV0IiA6ICIuKiRkZXBsaWJfbWF0
Y2giYCAtbmUgMCA7IHRoZW4KCQkgICAgICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKCQkg
ICAgZWxzZQoJCSAgICAgIGRyb3BwZWRkZXBzPXllcwoJCSAgICAgICRlY2hvCgkJICAgICAgJGVj
aG8gIioqKiBXYXJuaW5nOiBkeW5hbWljIGxpbmtlciBkb2VzIG5vdCBhY2NlcHQgbmVlZGVkIGxp
YnJhcnkgJGkuIgoJCSAgICAgICRlY2hvICIqKiogSSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1h
a2UgdGhhdCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgbGluayBpbiB3aGVuIgoJCSAgICAgICRlY2hv
ICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBp
ZiB5b3UgaGF2ZSBhIgoJCSAgICAgICRlY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxp
YnJhcnksIHdoaWNoIHlvdSBkbyBub3QgYXBwZWFyIHRvIGhhdmUiCgkJICAgICAgJGVjaG8gIioq
KiBiZWNhdXNlIGEgdGVzdF9jb21waWxlIGRpZCByZXZlYWwgdGhhdCB0aGUgbGlua2VyIGRpZCBu
b3QgdXNlIHRoaXMgb25lIgoJCSAgICAgICRlY2hvICIqKiogYXMgYSBkeW5hbWljIGRlcGVuZGVu
Y3kgdGhhdCBwcm9ncmFtcyBjYW4gZ2V0IHJlc29sdmVkIHdpdGggYXQgcnVudGltZS4iCgkJICAg
IGZpCgkJICBmaQoJCWVsc2UKCQkgIGRyb3BwZWRkZXBzPXllcwoJCSAgJGVjaG8KCQkgICRlY2hv
ICIqKiogV2FybmluZyEgIExpYnJhcnkgJGkgaXMgbmVlZGVkIGJ5IHRoaXMgbGlicmFyeSBidXQg
SSB3YXMgbm90IGFibGUgdG8iCgkJICAkZWNobyAiKioqICBtYWtlIGl0IGxpbmsgaW4hICBZb3Ug
d2lsbCBwcm9iYWJseSBuZWVkIHRvIGluc3RhbGwgaXQgb3Igc29tZSIKCQkgICRlY2hvICIqKiog
bGlicmFyeSB0aGF0IGl0IGRlcGVuZHMgb24gYmVmb3JlIHRoaXMgbGlicmFyeSB3aWxsIGJlIGZ1
bGx5IgoJCSAgJGVjaG8gIioqKiBmdW5jdGlvbmFsLiAgSW5zdGFsbGluZyBpdCBiZWZvcmUgY29u
dGludWluZyB3b3VsZCBiZSBldmVuIGJldHRlci4iCgkJZmkKCSAgICAgIGVsc2UKCQluZXdkZXBs
aWJzPSIkbmV3ZGVwbGlicyAkaSIKCSAgICAgIGZpCgkgICAgZG9uZQoJICBmaQoJICA7OwoJZmls
ZV9tYWdpYyopCgkgIHNldCBkdW1teSAkZGVwbGlic19jaGVja19tZXRob2QKCSAgZmlsZV9tYWdp
Y19yZWdleD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMiBcKC4qXCkiYAoJICBm
b3IgYV9kZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgICAgbmFtZT0iYGV4cHIgJGFfZGVwbGliIDog
Jy1sXCguKlwpJ2AiCgkgICAgIyBJZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9u
IGEgLUwgYXJndW1lbnQuCiAgICAgICAgICAgIGlmIHRlc3QgIiRuYW1lIiAhPSAiIiAmJiB0ZXN0
ICAiJG5hbWUiICE9ICIwIjsgdGhlbgoJICAgICAgaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xp
YnNfd2l0aF9zdGF0aWNfcnVudGltZXMiID0gIlh5ZXMiIDsgdGhlbgoJCWNhc2UgIiAkcHJlZGVw
cyAkcG9zdGRlcHMgIiBpbgoJCSoiICRhX2RlcGxpYiAiKikKCQkgIG5ld2RlcGxpYnM9IiRuZXdk
ZXBsaWJzICRhX2RlcGxpYiIKCQkgIGFfZGVwbGliPSIiCgkJICA7OwoJCWVzYWMKCSAgICAgIGZp
CgkgICAgICBpZiB0ZXN0IC1uICIkYV9kZXBsaWIiIDsgdGhlbgoJCWxpYm5hbWU9YGV2YWwgXFwk
ZWNobyBcIiRsaWJuYW1lX3NwZWNcImAKCQlmb3IgaSBpbiAkbGliX3NlYXJjaF9wYXRoICRzeXNf
bGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aDsgZG8KCQkgIHBvdGVudGlhbF9saWJz
PWBscyAkaS8kbGlibmFtZVsuLV0qIDI+L2Rldi9udWxsYAoJCSAgZm9yIHBvdGVudF9saWIgaW4g
JHBvdGVudGlhbF9saWJzOyBkbwoJCSAgICAgICMgRm9sbG93IHNvZnQgbGlua3MuCgkJICAgICAg
aWYgbHMgLWxMZCAiJHBvdGVudF9saWIiIDI+L2Rldi9udWxsIFwKCQkJIHwgZ3JlcCAiIC0+ICIg
Pi9kZXYvbnVsbDsgdGhlbgoJCQljb250aW51ZQoJCSAgICAgIGZpCgkJICAgICAgIyBUaGUgc3Rh
dGVtZW50IGFib3ZlIHRyaWVzIHRvIGF2b2lkIGVudGVyaW5nIGFuCgkJICAgICAgIyBlbmRsZXNz
IGxvb3AgYmVsb3csIGluIGNhc2Ugb2YgY3ljbGljIGxpbmtzLgoJCSAgICAgICMgV2UgbWlnaHQg
c3RpbGwgZW50ZXIgYW4gZW5kbGVzcyBsb29wLCBzaW5jZSBhIGxpbmsKCQkgICAgICAjIGxvb3Ag
Y2FuIGJlIGNsb3NlZCB3aGlsZSB3ZSBmb2xsb3cgbGlua3MsCgkJICAgICAgIyBidXQgc28gd2hh
dD8KCQkgICAgICBwb3RsaWI9IiRwb3RlbnRfbGliIgoJCSAgICAgIHdoaWxlIHRlc3QgLWggIiRw
b3RsaWIiIDI+L2Rldi9udWxsOyBkbwoJCQlwb3RsaWJsaW5rPWBscyAtbGQgJHBvdGxpYiB8ICR7
U0VEfSAncy8uKiAtPiAvLydgCgkJCWNhc2UgJHBvdGxpYmxpbmsgaW4KCQkJW1xcL10qIHwgW0Et
WmEtel06W1xcL10qKSBwb3RsaWI9IiRwb3RsaWJsaW5rIjs7CgkJCSopIHBvdGxpYj1gJGVjaG8g
IlgkcG90bGliIiB8ICRYc2VkIC1lICdzLFteL10qJCwsJ2AiJHBvdGxpYmxpbmsiOzsKCQkJZXNh
YwoJCSAgICAgIGRvbmUKCQkgICAgICAjIEl0IGlzIG9rIHRvIGxpbmsgYWdhaW5zdCBhbiBhcmNo
aXZlIHdoZW4KCQkgICAgICAjIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkuCgkJICAgICAgaWYg
JEFSIC10ICRwb3RsaWIgPiAvZGV2L251bGwgMj4mMTsgdGhlbgoJCSAgICAgICAgbmV3ZGVwbGli
cz0iJG5ld2RlcGxpYnMgJGFfZGVwbGliIgoJCSAgICAgICAgYV9kZXBsaWI9IiIKCQkgICAgICAg
IGJyZWFrIDIKCQkgICAgICBmaQoJCSAgICAgIGlmIGV2YWwgJGZpbGVfbWFnaWNfY21kIFwiXCRw
b3RsaWJcIiAyPi9kZXYvbnVsbCBcCgkJCSB8ICR7U0VEfSAxMHEgXAoJCQkgfCAkRUdSRVAgIiRm
aWxlX21hZ2ljX3JlZ2V4IiA+IC9kZXYvbnVsbDsgdGhlbgoJCQluZXdkZXBsaWJzPSIkbmV3ZGVw
bGlicyAkYV9kZXBsaWIiCgkJCWFfZGVwbGliPSIiCgkJCWJyZWFrIDIKCQkgICAgICBmaQoJCSAg
ZG9uZQoJCWRvbmUKCSAgICAgIGZpCgkgICAgICBpZiB0ZXN0IC1uICIkYV9kZXBsaWIiIDsgdGhl
bgoJCWRyb3BwZWRkZXBzPXllcwoJCSRlY2hvCgkJJGVjaG8gIioqKiBXYXJuaW5nOiBsaW5rZXIg
cGF0aCBkb2VzIG5vdCBoYXZlIHJlYWwgZmlsZSBmb3IgbGlicmFyeSAkYV9kZXBsaWIuIgoJCSRl
Y2hvICIqKiogSSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2UgdGhhdCBsaWJyYXJ5IGF1dG9t
YXRpY2FsbHkgbGluayBpbiB3aGVuIgoJCSRlY2hvICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJy
YXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2ZSBhIgoJCSRlY2hvICIqKiog
c2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBub3QgYXBwZWFyIHRv
IGhhdmUiCgkJJGVjaG8gIioqKiBiZWNhdXNlIEkgZGlkIGNoZWNrIHRoZSBsaW5rZXIgcGF0aCBs
b29raW5nIGZvciBhIGZpbGUgc3RhcnRpbmciCgkJaWYgdGVzdCAteiAiJHBvdGxpYiIgOyB0aGVu
CgkJICAkZWNobyAiKioqIHdpdGggJGxpYm5hbWUgYnV0IG5vIGNhbmRpZGF0ZXMgd2VyZSBmb3Vu
ZC4gKC4uLmZvciBmaWxlIG1hZ2ljIHRlc3QpIgoJCWVsc2UKCQkgICRlY2hvICIqKiogd2l0aCAk
bGlibmFtZSBhbmQgbm9uZSBvZiB0aGUgY2FuZGlkYXRlcyBwYXNzZWQgYSBmaWxlIGZvcm1hdCB0
ZXN0IgoJCSAgJGVjaG8gIioqKiB1c2luZyBhIGZpbGUgbWFnaWMuIExhc3QgZmlsZSBjaGVja2Vk
OiAkcG90bGliIgoJCWZpCgkgICAgICBmaQoJICAgIGVsc2UKCSAgICAgICMgQWRkIGEgLUwgYXJn
dW1lbnQuCgkgICAgICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIiCgkgICAgZmkK
CSAgZG9uZSAjIEdvbmUgdGhyb3VnaCBhbGwgZGVwbGlicy4KCSAgOzsKCW1hdGNoX3BhdHRlcm4q
KQoJICBzZXQgZHVtbXkgJGRlcGxpYnNfY2hlY2tfbWV0aG9kCgkgIG1hdGNoX3BhdHRlcm5fcmVn
ZXg9YGV4cHIgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgOiAiJDIgXCguKlwpImAKCSAgZm9yIGFf
ZGVwbGliIGluICRkZXBsaWJzOyBkbwoJICAgIG5hbWU9ImBleHByICRhX2RlcGxpYiA6ICctbFwo
LipcKSdgIgoJICAgICMgSWYgJG5hbWUgaXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1M
IGFyZ3VtZW50LgoJICAgIGlmIHRlc3QgLW4gIiRuYW1lIiAmJiB0ZXN0ICIkbmFtZSIgIT0gIjAi
OyB0aGVuCgkgICAgICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19y
dW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAiIGlu
CgkJKiIgJGFfZGVwbGliICIqKQoJCSAgbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMgJGFfZGVwbGli
IgoJCSAgYV9kZXBsaWI9IiIKCQkgIDs7CgkJZXNhYwoJICAgICAgZmkKCSAgICAgIGlmIHRlc3Qg
LW4gIiRhX2RlcGxpYiIgOyB0aGVuCgkJbGlibmFtZT1gZXZhbCBcXCRlY2hvIFwiJGxpYm5hbWVf
c3BlY1wiYAoJCWZvciBpIGluICRsaWJfc2VhcmNoX3BhdGggJHN5c19saWJfc2VhcmNoX3BhdGgg
JHNobGliX3NlYXJjaF9wYXRoOyBkbwoJCSAgcG90ZW50aWFsX2xpYnM9YGxzICRpLyRsaWJuYW1l
Wy4tXSogMj4vZGV2L251bGxgCgkJICBmb3IgcG90ZW50X2xpYiBpbiAkcG90ZW50aWFsX2xpYnM7
IGRvCgkJICAgIHBvdGxpYj0iJHBvdGVudF9saWIiICMgc2VlIHN5bWxpbmstY2hlY2sgYWJvdmUg
aW4gZmlsZV9tYWdpYyB0ZXN0CgkJICAgIGlmIGV2YWwgJGVjaG8gXCIkcG90ZW50X2xpYlwiIDI+
L2Rldi9udWxsIFwKCQkgICAgICAgIHwgJHtTRUR9IDEwcSBcCgkJICAgICAgICB8ICRFR1JFUCAi
JG1hdGNoX3BhdHRlcm5fcmVnZXgiID4gL2Rldi9udWxsOyB0aGVuCgkJICAgICAgbmV3ZGVwbGli
cz0iJG5ld2RlcGxpYnMgJGFfZGVwbGliIgoJCSAgICAgIGFfZGVwbGliPSIiCgkJICAgICAgYnJl
YWsgMgoJCSAgICBmaQoJCSAgZG9uZQoJCWRvbmUKCSAgICAgIGZpCgkgICAgICBpZiB0ZXN0IC1u
ICIkYV9kZXBsaWIiIDsgdGhlbgoJCWRyb3BwZWRkZXBzPXllcwoJCSRlY2hvCgkJJGVjaG8gIioq
KiBXYXJuaW5nOiBsaW5rZXIgcGF0aCBkb2VzIG5vdCBoYXZlIHJlYWwgZmlsZSBmb3IgbGlicmFy
eSAkYV9kZXBsaWIuIgoJCSRlY2hvICIqKiogSSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2Ug
dGhhdCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgbGluayBpbiB3aGVuIgoJCSRlY2hvICIqKiogeW91
IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2
ZSBhIgoJCSRlY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlv
dSBkbyBub3QgYXBwZWFyIHRvIGhhdmUiCgkJJGVjaG8gIioqKiBiZWNhdXNlIEkgZGlkIGNoZWNr
IHRoZSBsaW5rZXIgcGF0aCBsb29raW5nIGZvciBhIGZpbGUgc3RhcnRpbmciCgkJaWYgdGVzdCAt
eiAiJHBvdGxpYiIgOyB0aGVuCgkJICAkZWNobyAiKioqIHdpdGggJGxpYm5hbWUgYnV0IG5vIGNh
bmRpZGF0ZXMgd2VyZSBmb3VuZC4gKC4uLmZvciByZWdleCBwYXR0ZXJuIHRlc3QpIgoJCWVsc2UK
CQkgICRlY2hvICIqKiogd2l0aCAkbGlibmFtZSBhbmQgbm9uZSBvZiB0aGUgY2FuZGlkYXRlcyBw
YXNzZWQgYSBmaWxlIGZvcm1hdCB0ZXN0IgoJCSAgJGVjaG8gIioqKiB1c2luZyBhIHJlZ2V4IHBh
dHRlcm4uIExhc3QgZmlsZSBjaGVja2VkOiAkcG90bGliIgoJCWZpCgkgICAgICBmaQoJICAgIGVs
c2UKCSAgICAgICMgQWRkIGEgLUwgYXJndW1lbnQuCgkgICAgICBuZXdkZXBsaWJzPSIkbmV3ZGVw
bGlicyAkYV9kZXBsaWIiCgkgICAgZmkKCSAgZG9uZSAjIEdvbmUgdGhyb3VnaCBhbGwgZGVwbGli
cy4KCSAgOzsKCW5vbmUgfCB1bmtub3duIHwgKikKCSAgbmV3ZGVwbGlicz0iIgoJICB0bXBfZGVw
bGlicz1gJGVjaG8gIlggJGRlcGxpYnMiIHwgJFhzZWQgLWUgJ3MvIC1sYyQvLycgXAoJICAgIC1l
ICdzLyAtW0xSXVteIF0qLy9nJ2AKCSAgaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xpYnNfd2l0
aF9zdGF0aWNfcnVudGltZXMiID0gIlh5ZXMiIDsgdGhlbgoJICAgIGZvciBpIGluICRwcmVkZXBz
ICRwb3N0ZGVwcyA7IGRvCgkgICAgICAjIGNhbid0IHVzZSBYc2VkIGJlbG93LCBiZWNhdXNlICRp
IG1pZ2h0IGNvbnRhaW4gJy8nCgkgICAgICB0bXBfZGVwbGlicz1gJGVjaG8gIlggJHRtcF9kZXBs
aWJzIiB8ICR7U0VEfSAtZSAiMXMsXlgsLCIgLWUgInMsJGksLCJgCgkgICAgZG9uZQoJICBmaQoJ
ICBpZiAkZWNobyAiWCAkdG1wX2RlcGxpYnMiIHwgJFhzZWQgLWUgJ3MvWyAJXS8vZycgXAoJICAg
IHwgZ3JlcCAuID4vZGV2L251bGw7IHRoZW4KCSAgICAkZWNobwoJICAgIGlmIHRlc3QgIlgkZGVw
bGlic19jaGVja19tZXRob2QiID0gIlhub25lIjsgdGhlbgoJICAgICAgJGVjaG8gIioqKiBXYXJu
aW5nOiBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2llcyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlz
IHBsYXRmb3JtLiIKCSAgICBlbHNlCgkgICAgICAkZWNobyAiKioqIFdhcm5pbmc6IGludGVyLWxp
YnJhcnkgZGVwZW5kZW5jaWVzIGFyZSBub3Qga25vd24gdG8gYmUgc3VwcG9ydGVkLiIKCSAgICBm
aQoJICAgICRlY2hvICIqKiogQWxsIGRlY2xhcmVkIGludGVyLWxpYnJhcnkgZGVwZW5kZW5jaWVz
IGFyZSBiZWluZyBkcm9wcGVkLiIKCSAgICBkcm9wcGVkZGVwcz15ZXMKCSAgZmkKCSAgOzsKCWVz
YWMKCXZlcnN1ZmZpeD0kdmVyc3VmZml4X3NhdmUKCW1ham9yPSRtYWpvcl9zYXZlCglyZWxlYXNl
PSRyZWxlYXNlX3NhdmUKCWxpYm5hbWU9JGxpYm5hbWVfc2F2ZQoJbmFtZT0kbmFtZV9zYXZlCgoJ
Y2FzZSAkaG9zdCBpbgoJKi0qLXJoYXBzb2R5KiB8ICotKi1kYXJ3aW4xLlswMTJdKQoJICAjIE9u
IFJoYXBzb2R5IHJlcGxhY2UgdGhlIEMgbGlicmFyeSBpcyB0aGUgU3lzdGVtIGZyYW1ld29yawoJ
ICBuZXdkZXBsaWJzPWAkZWNobyAiWCAkbmV3ZGVwbGlicyIgfCAkWHNlZCAtZSAncy8gLWxjIC8g
LWZyYW1ld29yayBTeXN0ZW0gLydgCgkgIDs7Cgllc2FjCgoJaWYgdGVzdCAiJGRyb3BwZWRkZXBz
IiA9IHllczsgdGhlbgoJICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgoJICAgICRlY2hv
CgkgICAgJGVjaG8gIioqKiBXYXJuaW5nOiBsaWJ0b29sIGNvdWxkIG5vdCBzYXRpc2Z5IGFsbCBk
ZWNsYXJlZCBpbnRlci1saWJyYXJ5IgoJICAgICRlY2hvICIqKiogZGVwZW5kZW5jaWVzIG9mIG1v
ZHVsZSAkbGlibmFtZS4gIFRoZXJlZm9yZSwgbGlidG9vbCB3aWxsIGNyZWF0ZSIKCSAgICAkZWNo
byAiKioqIGEgc3RhdGljIG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayBhcyBsb25nIGFzIHRoZSBk
bG9wZW5pbmciCgkgICAgJGVjaG8gIioqKiBhcHBsaWNhdGlvbiBpcyBsaW5rZWQgd2l0aCB0aGUg
LWRsb3BlbiBmbGFnLiIKCSAgICBpZiB0ZXN0IC16ICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhl
bgoJICAgICAgJGVjaG8KCSAgICAgICRlY2hvICIqKiogSG93ZXZlciwgdGhpcyB3b3VsZCBvbmx5
IHdvcmsgaWYgbGlidG9vbCB3YXMgYWJsZSB0byBleHRyYWN0IHN5bWJvbCIKCSAgICAgICRlY2hv
ICIqKiogbGlzdHMgZnJvbSBhIHByb2dyYW0sIHVzaW5nIFxgbm0nIG9yIGVxdWl2YWxlbnQsIGJ1
dCBsaWJ0b29sIGNvdWxkIgoJICAgICAgJGVjaG8gIioqKiBub3QgZmluZCBzdWNoIGEgcHJvZ3Jh
bS4gIFNvLCB0aGlzIG1vZHVsZSBpcyBwcm9iYWJseSB1c2VsZXNzLiIKCSAgICAgICRlY2hvICIq
KiogXGBubScgZnJvbSBHTlUgYmludXRpbHMgYW5kIGEgZnVsbCByZWJ1aWxkIG1heSBoZWxwLiIK
CSAgICBmaQoJICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBubzsgdGhlbgoJICAgICAg
b2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCSAgICAgIGJ1aWxkX2xp
YnRvb2xfbGlicz1tb2R1bGUKCSAgICAgIGJ1aWxkX29sZF9saWJzPXllcwoJICAgIGVsc2UKCSAg
ICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJICAgIGZpCgkgIGVsc2UKCSAgICAkZWNobyAiKioq
IFRoZSBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2llcyB0aGF0IGhhdmUgYmVlbiBkcm9wcGVkIGhl
cmUgd2lsbCBiZSIKCSAgICAkZWNobyAiKioqIGF1dG9tYXRpY2FsbHkgYWRkZWQgd2hlbmV2ZXIg
YSBwcm9ncmFtIGlzIGxpbmtlZCB3aXRoIHRoaXMgbGlicmFyeSIKCSAgICAkZWNobyAiKioqIG9y
IGlzIGRlY2xhcmVkIHRvIC1kbG9wZW4gaXQuIgoKCSAgICBpZiB0ZXN0ICIkYWxsb3dfdW5kZWZp
bmVkIiA9IG5vOyB0aGVuCgkgICAgICAkZWNobwoJICAgICAgJGVjaG8gIioqKiBTaW5jZSB0aGlz
IGxpYnJhcnkgbXVzdCBub3QgY29udGFpbiB1bmRlZmluZWQgc3ltYm9scywiCgkgICAgICAkZWNo
byAiKioqIGJlY2F1c2UgZWl0aGVyIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHRoZW0g
b3IiCgkgICAgICAkZWNobyAiKioqIGl0IHdhcyBleHBsaWNpdGx5IHJlcXVlc3RlZCB3aXRoIC1u
by11bmRlZmluZWQsIgoJICAgICAgJGVjaG8gIioqKiBsaWJ0b29sIHdpbGwgb25seSBjcmVhdGUg
YSBzdGF0aWMgdmVyc2lvbiBvZiBpdC4iCgkgICAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMi
ID0gbm87IHRoZW4KCQlvbGRsaWJzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS4kbGliZXh0IgoJ
CWJ1aWxkX2xpYnRvb2xfbGlicz1tb2R1bGUKCQlidWlsZF9vbGRfbGlicz15ZXMKCSAgICAgIGVs
c2UKCQlidWlsZF9saWJ0b29sX2xpYnM9bm8KCSAgICAgIGZpCgkgICAgZmkKCSAgZmkKCWZpCgkj
IERvbmUgY2hlY2tpbmcgZGVwbGlicyEKCWRlcGxpYnM9JG5ld2RlcGxpYnMKICAgICAgZmkKCiAg
ICAgICMgQWxsIHRoZSBsaWJyYXJ5LXNwZWNpZmljIHZhcmlhYmxlcyAoaW5zdGFsbF9saWJkaXIg
aXMgc2V0IGFib3ZlKS4KICAgICAgbGlicmFyeV9uYW1lcz0KICAgICAgb2xkX2xpYnJhcnk9CiAg
ICAgIGRsbmFtZT0KCiAgICAgICMgVGVzdCBhZ2Fpbiwgd2UgbWF5IGhhdmUgZGVjaWRlZCBub3Qg
dG8gYnVpbGQgaXQgYW55IG1vcmUKICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIg
PSB5ZXM7IHRoZW4KCWlmIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiID0geWVzOyB0aGVuCgkg
ICMgSGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aHMKCSAgaGFyZGNvZGVfbGliZGlycz0KCSAgZGVw
X3JwYXRoPQoJICBycGF0aD0iJGZpbmFsaXplX3JwYXRoIgoJICB0ZXN0ICIkbW9kZSIgIT0gcmVs
aW5rICYmIHJwYXRoPSIkY29tcGlsZV9ycGF0aCRycGF0aCIKCSAgZm9yIGxpYmRpciBpbiAkcnBh
dGg7IGRvCgkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVu
CgkgICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCQlp
ZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCQkgIGhhcmRjb2RlX2xpYmRpcnM9
IiRsaWJkaXIiCgkJZWxzZQoJCSAgIyBKdXN0IGFjY3VtdWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJz
LgoJCSAgY2FzZSAkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgaW4KCQkgICoiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiKikKCQkgICAgOzsKCQkgICopCgkJ
ICAgIGhhcmRjb2RlX2xpYmRpcnM9IiRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2RlX2xpYmRpcl9z
ZXBhcmF0b3IkbGliZGlyIgoJCSAgICA7OwoJCSAgZXNhYwoJCWZpCgkgICAgICBlbHNlCgkJZXZh
bCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoJCWRlcF9ycGF0aD0iJGRlcF9y
cGF0aCAkZmxhZyIKCSAgICAgIGZpCgkgICAgZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0
aGVuCgkgICAgICBjYXNlICIkcGVybV9ycGF0aCAiIGluCgkgICAgICAqIiAkbGliZGlyICIqKSA7
OwoJICAgICAgKikgcGVybV9ycGF0aD0iJHBlcm1fcnBhdGggJGxpYmRpciIgOzsKCSAgICAgIGVz
YWMKCSAgICBmaQoJICBkb25lCgkgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxpYmRpcnMg
aW50byB0aGUgcnBhdGguCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9y
IiAmJgoJICAgICB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICBsaWJkaXI9
IiRoYXJkY29kZV9saWJkaXJzIgoJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxh
Z19zcGVjX2xkIjsgdGhlbgoJICAgICAgZXZhbCBkZXBfcnBhdGg9XCIkaGFyZGNvZGVfbGliZGly
X2ZsYWdfc3BlY19sZFwiCgkgICAgZWxzZQoJICAgICAgZXZhbCBkZXBfcnBhdGg9XCIkaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkgICAgZmkKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJHJ1bnBh
dGhfdmFyIiAmJiB0ZXN0IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KCSAgICAjIFdlIHNob3VsZCBz
ZXQgdGhlIHJ1bnBhdGhfdmFyLgoJICAgIHJwYXRoPQoJICAgIGZvciBkaXIgaW4gJHBlcm1fcnBh
dGg7IGRvCgkgICAgICBycGF0aD0iJHJwYXRoJGRpcjoiCgkgICAgZG9uZQoJICAgIGV2YWwgIiRy
dW5wYXRoX3Zhcj0nJHJwYXRoXCQkcnVucGF0aF92YXInOyBleHBvcnQgJHJ1bnBhdGhfdmFyIgoJ
ICBmaQoJICB0ZXN0IC1uICIkZGVwX3JwYXRoIiAmJiBkZXBsaWJzPSIkZGVwX3JwYXRoICRkZXBs
aWJzIgoJZmkKCglzaGxpYnBhdGg9IiRmaW5hbGl6ZV9zaGxpYnBhdGgiCgl0ZXN0ICIkbW9kZSIg
IT0gcmVsaW5rICYmIHNobGlicGF0aD0iJGNvbXBpbGVfc2hsaWJwYXRoJHNobGlicGF0aCIKCWlm
IHRlc3QgLW4gIiRzaGxpYnBhdGgiOyB0aGVuCgkgIGV2YWwgIiRzaGxpYnBhdGhfdmFyPSckc2hs
aWJwYXRoXCQkc2hsaWJwYXRoX3Zhcic7IGV4cG9ydCAkc2hsaWJwYXRoX3ZhciIKCWZpCgoJIyBH
ZXQgdGhlIHJlYWwgYW5kIGxpbmsgbmFtZXMgb2YgdGhlIGxpYnJhcnkuCglldmFsIHNoYXJlZF9l
eHQ9XCIkc2hyZXh0X2NtZHNcIgoJZXZhbCBsaWJyYXJ5X25hbWVzPVwiJGxpYnJhcnlfbmFtZXNf
c3BlY1wiCglzZXQgZHVtbXkgJGxpYnJhcnlfbmFtZXMKCXJlYWxuYW1lPSIkMiIKCXNoaWZ0OyBz
aGlmdAoKCWlmIHRlc3QgLW4gIiRzb25hbWVfc3BlYyI7IHRoZW4KCSAgZXZhbCBzb25hbWU9XCIk
c29uYW1lX3NwZWNcIgoJZWxzZQoJICBzb25hbWU9IiRyZWFsbmFtZSIKCWZpCglpZiB0ZXN0IC16
ICIkZGxuYW1lIjsgdGhlbgoJICBkbG5hbWU9JHNvbmFtZQoJZmkKCglsaWI9IiRvdXRwdXRfb2Jq
ZGlyLyRyZWFsbmFtZSIKCWZvciBsaW5rCglkbwoJICBsaW5rbmFtZXM9IiRsaW5rbmFtZXMgJGxp
bmsiCglkb25lCgoJIyBVc2Ugc3RhbmRhcmQgb2JqZWN0cyBpZiB0aGV5IGFyZSBwaWMKCXRlc3Qg
LXogIiRwaWNfZmxhZyIgJiYgbGlib2Jqcz1gJGVjaG8gIlgkbGlib2JqcyIgfCAkU1AyTkwgfCAk
WHNlZCAtZSAiJGxvMm8iIHwgJE5MMlNQYAoKCSMgUHJlcGFyZSB0aGUgbGlzdCBvZiBleHBvcnRl
ZCBzeW1ib2xzCglpZiB0ZXN0IC16ICIkZXhwb3J0X3N5bWJvbHMiOyB0aGVuCgkgIGlmIHRlc3Qg
IiRhbHdheXNfZXhwb3J0X3N5bWJvbHMiID0geWVzIHx8IHRlc3QgLW4gIiRleHBvcnRfc3ltYm9s
c19yZWdleCI7IHRoZW4KCSAgICAkc2hvdyAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAk
bGlibmFtZS5sYSciCgkgICAgZXhwb3J0X3N5bWJvbHM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1l
LmV4cCIKCSAgICAkcnVuICRybSAkZXhwb3J0X3N5bWJvbHMKCSAgICBjbWRzPSRleHBvcnRfc3lt
Ym9sc19jbWRzCgkgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCgkgICAgZm9yIGNtZCBpbiAk
Y21kczsgZG8KCSAgICAgIElGUz0iJHNhdmVfaWZzIgoJICAgICAgZXZhbCBjbWQ9XCIkY21kXCIK
CSAgICAgIGlmIGxlbj1gZXhwciAiWCRjbWQiIDogIi4qImAgJiYKCSAgICAgICB0ZXN0ICIkbGVu
IiAtbGUgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRfbGVuIiAtbGUgLTE7IHRoZW4K
CSAgICAgICAgJHNob3cgIiRjbWQiCgkgICAgICAgICRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAk
PwoJICAgICAgICBza2lwcGVkX2V4cG9ydD1mYWxzZQoJICAgICAgZWxzZQoJICAgICAgICAjIFRo
ZSBjb21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgdG8gZXhlY3V0ZSBpbiBvbmUgc3RlcC4KCSAgICAg
ICAgJHNob3cgInVzaW5nIHJlbG9hZGFibGUgb2JqZWN0IGZpbGUgZm9yIGV4cG9ydCBsaXN0Li4u
IgoJICAgICAgICBza2lwcGVkX2V4cG9ydD06CgkgICAgICBmaQoJICAgIGRvbmUKCSAgICBJRlM9
IiRzYXZlX2lmcyIKCSAgICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiOyB0aGVu
CgkgICAgICAkc2hvdyAiJEVHUkVQIC1lIFwiJGV4cG9ydF9zeW1ib2xzX3JlZ2V4XCIgXCIkZXhw
b3J0X3N5bWJvbHNcIiA+IFwiJHtleHBvcnRfc3ltYm9sc31UXCIiCgkgICAgICAkcnVuIGV2YWwg
JyRFR1JFUCAtZSAiJGV4cG9ydF9zeW1ib2xzX3JlZ2V4IiAiJGV4cG9ydF9zeW1ib2xzIiA+ICIk
e2V4cG9ydF9zeW1ib2xzfVQiJwoJICAgICAgJHNob3cgIiRtdiBcIiR7ZXhwb3J0X3N5bWJvbHN9
VFwiIFwiJGV4cG9ydF9zeW1ib2xzXCIiCgkgICAgICAkcnVuIGV2YWwgJyRtdiAiJHtleHBvcnRf
c3ltYm9sc31UIiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICBmaQoJICBmaQoJZmkKCglpZiB0ZXN0
IC1uICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRpbmNsdWRlX2V4cHN5bXMiOyB0aGVu
CgkgICRydW4gZXZhbCAnJGVjaG8gIlgkaW5jbHVkZV9leHBzeW1zIiB8ICRTUDJOTCA+PiAiJGV4
cG9ydF9zeW1ib2xzIicKCWZpCgoJdG1wX2RlcGxpYnM9Cglmb3IgdGVzdF9kZXBsaWIgaW4gJGRl
cGxpYnM7IGRvCgkJY2FzZSAiICRjb252ZW5pZW5jZSAiIGluCgkJKiIgJHRlc3RfZGVwbGliICIq
KSA7OwoJCSopCgkJCXRtcF9kZXBsaWJzPSIkdG1wX2RlcGxpYnMgJHRlc3RfZGVwbGliIgoJCQk7
OwoJCWVzYWMKCWRvbmUKCWRlcGxpYnM9IiR0bXBfZGVwbGlicyIKCglpZiB0ZXN0IC1uICIkY29u
dmVuaWVuY2UiOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7
IHRoZW4KCSAgICBzYXZlX2xpYm9ianM9JGxpYm9ianMKCSAgICBldmFsIGxpYm9ianM9XCJcJGxp
Ym9ianMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjXCIKCSAgZWxzZQoJICAgIGdlbnRvcD0iJG91
dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgICAgZ2VuZXJhdGVkPSIkZ2VuZXJhdGVkICRn
ZW50b3AiCgoJICAgIGZ1bmNfZXh0cmFjdF9hcmNoaXZlcyAkZ2VudG9wICRjb252ZW5pZW5jZQoJ
ICAgIGxpYm9ianM9IiRsaWJvYmpzICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNfcmVzdWx0IgoJICBm
aQoJZmkKCQoJaWYgdGVzdCAiJHRocmVhZF9zYWZlIiA9IHllcyAmJiB0ZXN0IC1uICIkdGhyZWFk
X3NhZmVfZmxhZ19zcGVjIjsgdGhlbgoJICBldmFsIGZsYWc9XCIkdGhyZWFkX3NhZmVfZmxhZ19z
cGVjXCIKCSAgbGlua2VyX2ZsYWdzPSIkbGlua2VyX2ZsYWdzICRmbGFnIgoJZmkKCgkjIE1ha2Ug
YSBiYWNrdXAgb2YgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgd2hlbiByZWxpbmtpbmcKCWlmIHRl
c3QgIiRtb2RlIiA9IHJlbGluazsgdGhlbgoJICAkcnVuIGV2YWwgJyhjZCAkb3V0cHV0X29iamRp
ciAmJiAkcm0gJHtyZWFsbmFtZX1VICYmICRtdiAkcmVhbG5hbWUgJHtyZWFsbmFtZX1VKScgfHwg
ZXhpdCAkPwoJZmkKCgkjIERvIGVhY2ggb2YgdGhlIGFyY2hpdmUgY29tbWFuZHMuCglpZiB0ZXN0
ICIkbW9kdWxlIiA9IHllcyAmJiB0ZXN0IC1uICIkbW9kdWxlX2NtZHMiIDsgdGhlbgoJICBpZiB0
ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRtb2R1bGVfZXhwc3ltX2NtZHMi
OyB0aGVuCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIkbW9kdWxlX2V4cHN5bV9jbWRzXCIKCSAgICBj
bWRzPSRtb2R1bGVfZXhwc3ltX2NtZHMKCSAgZWxzZQoJICAgIGV2YWwgdGVzdF9jbWRzPVwiJG1v
ZHVsZV9jbWRzXCIKCSAgICBjbWRzPSRtb2R1bGVfY21kcwoJICBmaQoJZWxzZQoJaWYgdGVzdCAt
biAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkYXJjaGl2ZV9leHBzeW1fY21kcyI7IHRo
ZW4KCSAgZXZhbCB0ZXN0X2NtZHM9XCIkYXJjaGl2ZV9leHBzeW1fY21kc1wiCgkgIGNtZHM9JGFy
Y2hpdmVfZXhwc3ltX2NtZHMKCWVsc2UKCSAgZXZhbCB0ZXN0X2NtZHM9XCIkYXJjaGl2ZV9jbWRz
XCIKCSAgY21kcz0kYXJjaGl2ZV9jbWRzCgkgIGZpCglmaQoKCWlmIHRlc3QgIlgkc2tpcHBlZF9l
eHBvcnQiICE9ICJYOiIgJiYgbGVuPWBleHByICJYJHRlc3RfY21kcyIgOiAiLioiYCAmJgoJICAg
dGVzdCAiJGxlbiIgLWxlICIkbWF4X2NtZF9sZW4iIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxl
IC0xOyB0aGVuCgkgIDoKCWVsc2UKCSAgIyBUaGUgY29tbWFuZCBsaW5lIGlzIHRvbyBsb25nIHRv
IGxpbmsgaW4gb25lIHN0ZXAsIGxpbmsgcGllY2V3aXNlLgoJICAkZWNobyAiY3JlYXRpbmcgcmVs
b2FkYWJsZSBvYmplY3QgZmlsZXMuLi4iCgoJICAjIFNhdmUgdGhlIHZhbHVlIG9mICRvdXRwdXQg
YW5kICRsaWJvYmpzIGJlY2F1c2Ugd2Ugd2FudCB0bwoJICAjIHVzZSB0aGVtIGxhdGVyLiAgSWYg
d2UgaGF2ZSB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgd2UKCSAgIyB3YW50IHRvIHVzZSBzYXZl
X2xpYm9ianMgYXMgaXQgd2FzIGJlZm9yZQoJICAjIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIHdh
cyBleHBhbmRlZCwgYmVjYXVzZSB3ZSBjYW4ndAoJICAjIGFzc3VtZSB0aGUgbGlua2VyIHVuZGVy
c3RhbmRzIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjLgoJICAjIFRoaXMgbWF5IGhhdmUgdG8gYmUg
cmV2aXNpdGVkLCBpbiBjYXNlIHRvbyBtYW55CgkgICMgY29udmVuaWVuY2UgbGlicmFyaWVzIGdl
dCBsaW5rZWQgaW4gYW5kIGVuZCB1cCBleGNlZWRpbmcKCSAgIyB0aGUgc3BlYy4KCSAgaWYgdGVz
dCAteiAiJGNvbnZlbmllbmNlIiB8fCB0ZXN0IC16ICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMi
OyB0aGVuCgkgICAgc2F2ZV9saWJvYmpzPSRsaWJvYmpzCgkgIGZpCgkgIHNhdmVfb3V0cHV0PSRv
dXRwdXQKCgkgICMgQ2xlYXIgdGhlIHJlbG9hZGFibGUgb2JqZWN0IGNyZWF0aW9uIGNvbW1hbmQg
cXVldWUgYW5kCgkgICMgaW5pdGlhbGl6ZSBrIHRvIG9uZS4KCSAgdGVzdF9jbWRzPQoJICBjb25j
YXRfY21kcz0KCSAgb2JqbGlzdD0KCSAgZGVsZmlsZXM9CgkgIGxhc3Rfcm9iaj0KCSAgaz0xCgkg
IG91dHB1dD0kb3V0cHV0X29iamRpci8kc2F2ZV9vdXRwdXQtJHtrfS4kb2JqZXh0CgkgICMgTG9v
cCBvdmVyIHRoZSBsaXN0IG9mIG9iamVjdHMgdG8gYmUgbGlua2VkLgoJICBmb3Igb2JqIGluICRz
YXZlX2xpYm9ianMKCSAgZG8KCSAgICBldmFsIHRlc3RfY21kcz1cIiRyZWxvYWRfY21kcyAkb2Jq
bGlzdCAkbGFzdF9yb2JqXCIKCSAgICBpZiB0ZXN0ICJYJG9iamxpc3QiID0gWCB8fAoJICAgICAg
IHsgbGVuPWBleHByICJYJHRlc3RfY21kcyIgOiAiLioiYCAmJgoJCSB0ZXN0ICIkbGVuIiAtbGUg
IiRtYXhfY21kX2xlbiI7IH07IHRoZW4KCSAgICAgIG9iamxpc3Q9IiRvYmpsaXN0ICRvYmoiCgkg
ICAgZWxzZQoJICAgICAgIyBUaGUgY29tbWFuZCAkdGVzdF9jbWRzIGlzIGFsbW9zdCB0b28gbG9u
ZywgYWRkIGEKCSAgICAgICMgY29tbWFuZCB0byB0aGUgcXVldWUuCgkgICAgICBpZiB0ZXN0ICIk
ayIgLWVxIDEgOyB0aGVuCgkJIyBUaGUgZmlyc3QgZmlsZSBkb2Vzbid0IGhhdmUgYSBwcmV2aW91
cyBjb21tYW5kIHRvIGFkZC4KCQlldmFsIGNvbmNhdF9jbWRzPVwiJHJlbG9hZF9jbWRzICRvYmps
aXN0ICRsYXN0X3JvYmpcIgoJICAgICAgZWxzZQoJCSMgQWxsIHN1YnNlcXVlbnQgcmVsb2FkYWJs
ZSBvYmplY3QgZmlsZXMgd2lsbCBsaW5rIGluCgkJIyB0aGUgbGFzdCBvbmUgY3JlYXRlZC4KCQll
dmFsIGNvbmNhdF9jbWRzPVwiXCRjb25jYXRfY21kc34kcmVsb2FkX2NtZHMgJG9iamxpc3QgJGxh
c3Rfcm9ialwiCgkgICAgICBmaQoJICAgICAgbGFzdF9yb2JqPSRvdXRwdXRfb2JqZGlyLyRzYXZl
X291dHB1dC0ke2t9LiRvYmpleHQKCSAgICAgIGs9YGV4cHIgJGsgKyAxYAoJICAgICAgb3V0cHV0
PSRvdXRwdXRfb2JqZGlyLyRzYXZlX291dHB1dC0ke2t9LiRvYmpleHQKCSAgICAgIG9iamxpc3Q9
JG9iagoJICAgICAgbGVuPTEKCSAgICBmaQoJICBkb25lCgkgICMgSGFuZGxlIHRoZSByZW1haW5p
bmcgb2JqZWN0cyBieSBjcmVhdGluZyBvbmUgbGFzdAoJICAjIHJlbG9hZGFibGUgb2JqZWN0IGZp
bGUuICBBbGwgc3Vic2VxdWVudCByZWxvYWRhYmxlIG9iamVjdAoJICAjIGZpbGVzIHdpbGwgbGlu
ayBpbiB0aGUgbGFzdCBvbmUgY3JlYXRlZC4KCSAgdGVzdCAteiAiJGNvbmNhdF9jbWRzIiB8fCBj
b25jYXRfY21kcz0kY29uY2F0X2NtZHN+CgkgIGV2YWwgY29uY2F0X2NtZHM9XCJcJHtjb25jYXRf
Y21kc30kcmVsb2FkX2NtZHMgJG9iamxpc3QgJGxhc3Rfcm9ialwiCgoJICBpZiAke3NraXBwZWRf
ZXhwb3J0LWZhbHNlfTsgdGhlbgoJICAgICRzaG93ICJnZW5lcmF0aW5nIHN5bWJvbCBsaXN0IGZv
ciBcYCRsaWJuYW1lLmxhJyIKCSAgICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJGxp
Ym5hbWUuZXhwIgoJICAgICRydW4gJHJtICRleHBvcnRfc3ltYm9scwoJICAgIGxpYm9ianM9JG91
dHB1dAoJICAgICMgQXBwZW5kIHRoZSBjb21tYW5kIHRvIGNyZWF0ZSB0aGUgZXhwb3J0IGZpbGUu
CgkgICAgZXZhbCBjb25jYXRfY21kcz1cIlwkY29uY2F0X2NtZHN+JGV4cG9ydF9zeW1ib2xzX2Nt
ZHNcIgogICAgICAgICAgZmkKCgkgICMgU2V0IHVwIGEgY29tbWFuZCB0byByZW1vdmUgdGhlIHJl
bG9hZGFsZSBvYmplY3QgZmlsZXMKCSAgIyBhZnRlciB0aGV5IGFyZSB1c2VkLgoJICBpPTAKCSAg
d2hpbGUgdGVzdCAiJGkiIC1sdCAiJGsiCgkgIGRvCgkgICAgaT1gZXhwciAkaSArIDFgCgkgICAg
ZGVsZmlsZXM9IiRkZWxmaWxlcyAkb3V0cHV0X29iamRpci8kc2F2ZV9vdXRwdXQtJHtpfS4kb2Jq
ZXh0IgoJICBkb25lCgoJICAkZWNobyAiY3JlYXRpbmcgYSB0ZW1wb3JhcnkgcmVsb2FkYWJsZSBv
YmplY3QgZmlsZTogJG91dHB1dCIKCgkgICMgTG9vcCB0aHJvdWdoIHRoZSBjb21tYW5kcyBnZW5l
cmF0ZWQgYWJvdmUgYW5kIGV4ZWN1dGUgdGhlbS4KCSAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34n
CgkgIGZvciBjbWQgaW4gJGNvbmNhdF9jbWRzOyBkbwoJICAgIElGUz0iJHNhdmVfaWZzIgoJICAg
ICRzaG93ICIkY21kIgoJICAgICRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwoJICBkb25lCgkg
IElGUz0iJHNhdmVfaWZzIgoKCSAgbGlib2Jqcz0kb3V0cHV0CgkgICMgUmVzdG9yZSB0aGUgdmFs
dWUgb2Ygb3V0cHV0LgoJICBvdXRwdXQ9JHNhdmVfb3V0cHV0CgoJICBpZiB0ZXN0IC1uICIkY29u
dmVuaWVuY2UiICYmIHRlc3QgLW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KCSAg
ICBldmFsIGxpYm9ianM9XCJcJGxpYm9ianMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjXCIKCSAg
ZmkKCSAgIyBFeHBhbmQgdGhlIGxpYnJhcnkgbGlua2luZyBjb21tYW5kcyBhZ2FpbiB0byByZXNl
dCB0aGUKCSAgIyB2YWx1ZSBvZiAkbGlib2JqcyBmb3IgcGllY2V3aXNlIGxpbmtpbmcuCgoJICAj
IERvIGVhY2ggb2YgdGhlIGFyY2hpdmUgY29tbWFuZHMuCgkgIGlmIHRlc3QgIiRtb2R1bGUiID0g
eWVzICYmIHRlc3QgLW4gIiRtb2R1bGVfY21kcyIgOyB0aGVuCgkgICAgaWYgdGVzdCAtbiAiJGV4
cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkbW9kdWxlX2V4cHN5bV9jbWRzIjsgdGhlbgoJICAg
ICAgY21kcz0kbW9kdWxlX2V4cHN5bV9jbWRzCgkgICAgZWxzZQoJICAgICAgY21kcz0kbW9kdWxl
X2NtZHMKCSAgICBmaQoJICBlbHNlCgkgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyIgJiYg
dGVzdCAtbiAiJGFyY2hpdmVfZXhwc3ltX2NtZHMiOyB0aGVuCgkgICAgY21kcz0kYXJjaGl2ZV9l
eHBzeW1fY21kcwoJICBlbHNlCgkgICAgY21kcz0kYXJjaGl2ZV9jbWRzCgkgICAgZmkKCSAgZmkK
CgkgICMgQXBwZW5kIHRoZSBjb21tYW5kIHRvIHJlbW92ZSB0aGUgcmVsb2FkYWJsZSBvYmplY3Qg
ZmlsZXMKCSAgIyB0byB0aGUganVzdC1yZXNldCAkY21kcy4KCSAgZXZhbCBjbWRzPVwiXCRjbWRz
flwkcm0gJGRlbGZpbGVzXCIKCWZpCglzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCWZvciBjbWQg
aW4gJGNtZHM7IGRvCgkgIElGUz0iJHNhdmVfaWZzIgoJICBldmFsIGNtZD1cIiRjbWRcIgoJICAk
c2hvdyAiJGNtZCIKCSAgJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/Cglkb25lCglJRlM9IiRz
YXZlX2lmcyIKCgkjIFJlc3RvcmUgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgYW5kIGV4aXQKCWlm
IHRlc3QgIiRtb2RlIiA9IHJlbGluazsgdGhlbgoJICAkcnVuIGV2YWwgJyhjZCAkb3V0cHV0X29i
amRpciAmJiAkcm0gJHtyZWFsbmFtZX1UICYmICRtdiAkcmVhbG5hbWUgJHtyZWFsbmFtZX1UICYm
ICRtdiAiJHJlYWxuYW1lIlUgJHJlYWxuYW1lKScgfHwgZXhpdCAkPwoJICBleGl0ICRFWElUX1NV
Q0NFU1MKCWZpCgoJIyBDcmVhdGUgbGlua3MgdG8gdGhlIHJlYWwgbGlicmFyeS4KCWZvciBsaW5r
bmFtZSBpbiAkbGlua25hbWVzOyBkbwoJICBpZiB0ZXN0ICIkcmVhbG5hbWUiICE9ICIkbGlua25h
bWUiOyB0aGVuCgkgICAgJHNob3cgIihjZCAkb3V0cHV0X29iamRpciAmJiAkcm0gJGxpbmtuYW1l
ICYmICRMTl9TICRyZWFsbmFtZSAkbGlua25hbWUpIgoJICAgICRydW4gZXZhbCAnKGNkICRvdXRw
dXRfb2JqZGlyICYmICRybSAkbGlua25hbWUgJiYgJExOX1MgJHJlYWxuYW1lICRsaW5rbmFtZSkn
IHx8IGV4aXQgJD8KCSAgZmkKCWRvbmUKCgkjIElmIC1tb2R1bGUgb3IgLWV4cG9ydC1keW5hbWlj
IHdhcyBzcGVjaWZpZWQsIHNldCB0aGUgZGxuYW1lLgoJaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXMg
fHwgdGVzdCAiJGV4cG9ydF9keW5hbWljIiA9IHllczsgdGhlbgoJICAjIE9uIGFsbCBrbm93biBv
cGVyYXRpbmcgc3lzdGVtcywgdGhlc2UgYXJlIGlkZW50aWNhbC4KCSAgZGxuYW1lPSIkc29uYW1l
IgoJZmkKICAgICAgZmkKICAgICAgOzsKCiAgICBvYmopCiAgICAgIGlmIHRlc3QgLW4gIiRkZXBs
aWJzIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtbCcgYW5kIFxgLUwnIGFy
ZSBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIk
ZGxmaWxlcyRkbHByZWZpbGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJJGVjaG8g
IiRtb2RlbmFtZTogd2FybmluZzogXGAtZGxvcGVuJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAx
PiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkcnBhdGgiOyB0aGVuCgkkZWNobyAiJG1v
ZGVuYW1lOiB3YXJuaW5nOiBcYC1ycGF0aCcgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgog
ICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHhycGF0aCI7IHRoZW4KCSRlY2hvICIkbW9kZW5h
bWU6IHdhcm5pbmc6IFxgLVInIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKICAgICAgZmkK
CiAgICAgIGlmIHRlc3QgLW4gIiR2aW5mbyI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5p
bmc6IFxgLXZlcnNpb24taW5mbycgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgogICAgICBm
aQoKICAgICAgaWYgdGVzdCAtbiAiJHJlbGVhc2UiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3
YXJuaW5nOiBcYC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCiAgICAgIGZp
CgogICAgICBjYXNlICRvdXRwdXQgaW4KICAgICAgKi5sbykKCWlmIHRlc3QgLW4gIiRvYmpzJG9s
ZF9kZXBsaWJzIjsgdGhlbgoJICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgYnVpbGQgbGlicmFy
eSBvYmplY3QgXGAkb3V0cHV0JyBmcm9tIG5vbi1saWJ0b29sIG9iamVjdHMiIDE+JjIKCSAgZXhp
dCAkRVhJVF9GQUlMVVJFCglmaQoJbGlib2JqPSIkb3V0cHV0IgoJb2JqPWAkZWNobyAiWCRvdXRw
dXQiIHwgJFhzZWQgLWUgIiRsbzJvImAKCTs7CiAgICAgICopCglsaWJvYmo9CglvYmo9IiRvdXRw
dXQiCgk7OwogICAgICBlc2FjCgogICAgICAjIERlbGV0ZSB0aGUgb2xkIG9iamVjdHMuCiAgICAg
ICRydW4gJHJtICRvYmogJGxpYm9iagoKICAgICAgIyBPYmplY3RzIGZyb20gY29udmVuaWVuY2Ug
bGlicmFyaWVzLiAgVGhpcyBhc3N1bWVzCiAgICAgICMgc2luZ2xlLXZlcnNpb24gY29udmVuaWVu
Y2UgbGlicmFyaWVzLiAgV2hlbmV2ZXIgd2UgY3JlYXRlCiAgICAgICMgZGlmZmVyZW50IG9uZXMg
Zm9yIFBJQy9ub24tUElDLCB0aGlzIHdlJ2xsIGhhdmUgdG8gZHVwbGljYXRlCiAgICAgICMgdGhl
IGV4dHJhY3Rpb24uCiAgICAgIHJlbG9hZF9jb252X29ianM9CiAgICAgIGdlbnRvcD0KICAgICAg
IyByZWxvYWRfY21kcyBydW5zICRMRCBkaXJlY3RseSwgc28gbGV0IHVzIGdldCByaWQgb2YKICAg
ICAgIyAtV2wgZnJvbSB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYwogICAgICB3bD0KCiAgICAgIGlm
IHRlc3QgLW4gIiRjb252ZW5pZW5jZSI7IHRoZW4KCWlmIHRlc3QgLW4gIiR3aG9sZV9hcmNoaXZl
X2ZsYWdfc3BlYyI7IHRoZW4KCSAgZXZhbCByZWxvYWRfY29udl9vYmpzPVwiXCRyZWxvYWRfb2Jq
cyAkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNcIgoJZWxzZQoJICBnZW50b3A9IiRvdXRwdXRfb2Jq
ZGlyLyR7b2JqfXgiCgkgIGdlbmVyYXRlZD0iJGdlbmVyYXRlZCAkZ2VudG9wIgoKCSAgZnVuY19l
eHRyYWN0X2FyY2hpdmVzICRnZW50b3AgJGNvbnZlbmllbmNlCgkgIHJlbG9hZF9jb252X29ianM9
IiRyZWxvYWRfb2JqcyAkZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jlc3VsdCIKCWZpCiAgICAgIGZp
CgogICAgICAjIENyZWF0ZSB0aGUgb2xkLXN0eWxlIG9iamVjdC4KICAgICAgcmVsb2FkX29ianM9
IiRvYmpzJG9sZF9kZXBsaWJzICJgJGVjaG8gIlgkbGlib2JqcyIgfCAkU1AyTkwgfCAkWHNlZCAt
ZSAnL1wuJyR7bGliZXh0fSQnL2QnIC1lICcvXC5saWIkL2QnIC1lICIkbG8ybyIgfCAkTkwyU1Bg
IiAkcmVsb2FkX2NvbnZfb2JqcyIgIyMjIHRlc3RzdWl0ZTogc2tpcCBuZXN0ZWQgcXVvdGluZyB0
ZXN0CgogICAgICBvdXRwdXQ9IiRvYmoiCiAgICAgIGNtZHM9JHJlbG9hZF9jbWRzCiAgICAgIHNh
dmVfaWZzPSIkSUZTIjsgSUZTPSd+JwogICAgICBmb3IgY21kIGluICRjbWRzOyBkbwoJSUZTPSIk
c2F2ZV9pZnMiCglldmFsIGNtZD1cIiRjbWRcIgoJJHNob3cgIiRjbWQiCgkkcnVuIGV2YWwgIiRj
bWQiIHx8IGV4aXQgJD8KICAgICAgZG9uZQogICAgICBJRlM9IiRzYXZlX2lmcyIKCiAgICAgICMg
RXhpdCBpZiB3ZSBhcmVuJ3QgZG9pbmcgYSBsaWJyYXJ5IG9iamVjdCBmaWxlLgogICAgICBpZiB0
ZXN0IC16ICIkbGlib2JqIjsgdGhlbgoJaWYgdGVzdCAtbiAiJGdlbnRvcCI7IHRoZW4KCSAgJHNo
b3cgIiR7cm19ciAkZ2VudG9wIgoJICAkcnVuICR7cm19ciAkZ2VudG9wCglmaQoKCWV4aXQgJEVY
SVRfU1VDQ0VTUwogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIg
IT0geWVzOyB0aGVuCglpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJICAkc2hvdyAiJHtybX1y
ICRnZW50b3AiCgkgICRydW4gJHtybX1yICRnZW50b3AKCWZpCgoJIyBDcmVhdGUgYW4gaW52YWxp
ZCBsaWJ0b29sIG9iamVjdCBpZiBubyBQSUMsIHNvIHRoYXQgd2UgZG9uJ3QKCSMgYWNjaWRlbnRh
bGx5IGxpbmsgaXQgaW50byBhIHByb2dyYW0uCgkjICRzaG93ICJlY2hvIHRpbWVzdGFtcCA+ICRs
aWJvYmoiCgkjICRydW4gZXZhbCAiZWNobyB0aW1lc3RhbXAgPiAkbGlib2JqIiB8fCBleGl0ICQ/
CglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRwaWNfZmxh
ZyIgfHwgdGVzdCAiJHBpY19tb2RlIiAhPSBkZWZhdWx0OyB0aGVuCgkjIE9ubHkgZG8gY29tbWFu
ZHMgaWYgd2UgcmVhbGx5IGhhdmUgZGlmZmVyZW50IFBJQyBvYmplY3RzLgoJcmVsb2FkX29ianM9
IiRsaWJvYmpzICRyZWxvYWRfY29udl9vYmpzIgoJb3V0cHV0PSIkbGlib2JqIgoJY21kcz0kcmVs
b2FkX2NtZHMKCXNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJZm9yIGNtZCBpbiAkY21kczsgZG8K
CSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGV2YWwgY21kPVwiJGNtZFwiCgkgICRzaG93ICIkY21kIgoJ
ICAkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KCWRvbmUKCUlGUz0iJHNhdmVfaWZzIgogICAg
ICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGdlbnRvcCI7IHRoZW4KCSRzaG93ICIke3JtfXIgJGdl
bnRvcCIKCSRydW4gJHtybX1yICRnZW50b3AKICAgICAgZmkKCiAgICAgIGV4aXQgJEVYSVRfU1VD
Q0VTUwogICAgICA7OwoKICAgIHByb2cpCiAgICAgIGNhc2UgJGhvc3QgaW4KCSpjeWd3aW4qKSBv
dXRwdXQ9YCRlY2hvICRvdXRwdXQgfCAke1NFRH0gLWUgJ3MsLmV4ZSQsLDtzLCQsLmV4ZSwnYCA7
OwogICAgICBlc2FjCiAgICAgIGlmIHRlc3QgLW4gIiR2aW5mbyI7IHRoZW4KCSRlY2hvICIkbW9k
ZW5hbWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5mbycgaXMgaWdub3JlZCBmb3IgcHJvZ3JhbXMi
IDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRyZWxlYXNlIjsgdGhlbgoJJGVjaG8g
IiRtb2RlbmFtZTogd2FybmluZzogXGAtcmVsZWFzZScgaXMgaWdub3JlZCBmb3IgcHJvZ3JhbXMi
IDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgIiRwcmVsb2FkIiA9IHllczsgdGhlbgoJaWYg
dGVzdCAiJGRsb3Blbl9zdXBwb3J0IiA9IHVua25vd24gJiYgdGVzdCAiJGRsb3Blbl9zZWxmIiA9
IHVua25vd24gJiYKCSAgIHRlc3QgIiRkbG9wZW5fc2VsZl9zdGF0aWMiID0gdW5rbm93bjsgdGhl
bgoJICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYEFDX0xJQlRPT0xfRExPUEVOJyBub3Qg
dXNlZC4gQXNzdW1pbmcgbm8gZGxvcGVuIHN1cHBvcnQuIgoJZmkKICAgICAgZmkKCiAgICAgIGNh
c2UgJGhvc3QgaW4KICAgICAgKi0qLXJoYXBzb2R5KiB8ICotKi1kYXJ3aW4xLlswMTJdKQoJIyBP
biBSaGFwc29keSByZXBsYWNlIHRoZSBDIGxpYnJhcnkgaXMgdGhlIFN5c3RlbSBmcmFtZXdvcmsK
CWNvbXBpbGVfZGVwbGlicz1gJGVjaG8gIlggJGNvbXBpbGVfZGVwbGlicyIgfCAkWHNlZCAtZSAn
cy8gLWxjIC8gLWZyYW1ld29yayBTeXN0ZW0gLydgCglmaW5hbGl6ZV9kZXBsaWJzPWAkZWNobyAi
WCAkZmluYWxpemVfZGVwbGlicyIgfCAkWHNlZCAtZSAncy8gLWxjIC8gLWZyYW1ld29yayBTeXN0
ZW0gLydgCgk7OwogICAgICBlc2FjCgogICAgICBjYXNlICRob3N0IGluCiAgICAgICpkYXJ3aW4q
KQogICAgICAgICMgRG9uJ3QgYWxsb3cgbGF6eSBsaW5raW5nLCBpdCBicmVha3MgQysrIGdsb2Jh
bCBjb25zdHJ1Y3RvcnMKICAgICAgICBpZiB0ZXN0ICIkdGFnbmFtZSIgPSBDWFggOyB0aGVuCiAg
ICAgICAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICR7d2x9LWJpbmRfYXRfbG9h
ZCIKICAgICAgICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAke3dsfS1iaW5k
X2F0X2xvYWQiCiAgICAgICAgZmkKICAgICAgICA7OwogICAgICBlc2FjCgogICAgICBjb21waWxl
X2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGNvbXBpbGVfZGVwbGlicyIKICAgICAgZmluYWxp
emVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJGZpbmFsaXplX2RlcGxpYnMiCgogICAgICBp
ZiB0ZXN0IC1uICIkcnBhdGgkeHJwYXRoIjsgdGhlbgoJIyBJZiB0aGUgdXNlciBzcGVjaWZpZWQg
YW55IHJwYXRoIGZsYWdzLCB0aGVuIGFkZCB0aGVtLgoJZm9yIGxpYmRpciBpbiAkcnBhdGggJHhy
cGF0aDsgZG8KCSAgIyBUaGlzIGlzIHRoZSBtYWdpYyB0byB1c2UgLXJwYXRoLgoJICBjYXNlICIk
ZmluYWxpemVfcnBhdGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBmaW5hbGl6ZV9y
cGF0aD0iJGZpbmFsaXplX3JwYXRoICRsaWJkaXIiIDs7CgkgIGVzYWMKCWRvbmUKICAgICAgZmkK
CiAgICAgICMgTm93IGhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGhzCiAgICAgIHJwYXRoPQogICAg
ICBoYXJkY29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRm
aW5hbGl6ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
IjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4K
CSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2Rl
X2xpYmRpcnM9IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUgdGhl
IHVuaXF1ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRo
YXJkY29kZV9saWJkaXJzJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgaW4KCSAgICAgICoiJGhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii
KikKCQk7OwoJICAgICAgKikKCQloYXJkY29kZV9saWJkaXJzPSIkaGFyZGNvZGVfbGliZGlycyRo
YXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGxpYmRpciIKCQk7OwoJICAgICAgZXNhYwoJICAgIGZp
CgkgIGVsc2UKCSAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkg
ICAgcnBhdGg9IiRycGF0aCAkZmxhZyIKCSAgZmkKCWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFy
IjsgdGhlbgoJICBjYXNlICIkcGVybV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7Cgkg
ICopIHBlcm1fcnBhdGg9IiRwZXJtX3JwYXRoICRsaWJkaXIiIDs7CgkgIGVzYWMKCWZpCgljYXNl
ICRob3N0IGluCgkqLSotY3lnd2luKiB8ICotKi1taW5ndyogfCAqLSotcHczMiogfCAqLSotb3My
KikKCSAgY2FzZSA6JGRsbHNlYXJjaHBhdGg6IGluCgkgICoiOiRsaWJkaXI6IiopIDs7CgkgICop
IGRsbHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hwYXRoOiRsaWJkaXIiOzsKCSAgZXNhYwoJICA7OwoJ
ZXNhYwogICAgICBkb25lCiAgICAgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxpYmRpcnMg
aW50byB0aGUgcnBhdGguCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJh
dG9yIiAmJgoJIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoJbGliZGlyPSIkaGFy
ZGNvZGVfbGliZGlycyIKCWV2YWwgcnBhdGg9XCIgJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNc
IgogICAgICBmaQogICAgICBjb21waWxlX3JwYXRoPSIkcnBhdGgiCgogICAgICBycGF0aD0KICAg
ICAgaGFyZGNvZGVfbGliZGlycz0KICAgICAgZm9yIGxpYmRpciBpbiAkZmluYWxpemVfcnBhdGg7
IGRvCglpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KCSAgaWYg
dGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCgkgICAgaWYgdGVzdCAt
eiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCgkgICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGli
ZGlyIgoJICAgIGVsc2UKCSAgICAgICMgSnVzdCBhY2N1bXVsYXRlIHRoZSB1bmlxdWUgbGliZGly
cy4KCSAgICAgIGNhc2UgJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkaGFyZGNvZGVfbGliZGly
cyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIGluCgkgICAgICAqIiRoYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yJGxpYmRpciRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIiopCgkJOzsKCSAgICAg
ICopCgkJaGFyZGNvZGVfbGliZGlycz0iJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvciRsaWJkaXIiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICBlbHNlCgkgICAg
ZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoJICAgIHJwYXRoPSIkcnBh
dGggJGZsYWciCgkgIGZpCgllbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KCSAgY2Fz
ZSAiJGZpbmFsaXplX3Blcm1fcnBhdGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBm
aW5hbGl6ZV9wZXJtX3JwYXRoPSIkZmluYWxpemVfcGVybV9ycGF0aCAkbGliZGlyIiA7OwoJICBl
c2FjCglmaQogICAgICBkb25lCiAgICAgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxpYmRp
cnMgaW50byB0aGUgcnBhdGguCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2Vw
YXJhdG9yIiAmJgoJIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoJbGliZGlyPSIk
aGFyZGNvZGVfbGliZGlycyIKCWV2YWwgcnBhdGg9XCIgJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3Nw
ZWNcIgogICAgICBmaQogICAgICBmaW5hbGl6ZV9ycGF0aD0iJHJwYXRoIgoKICAgICAgaWYgdGVz
dCAtbiAiJGxpYm9ianMiICYmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KCSMg
VHJhbnNmb3JtIGFsbCB0aGUgbGlicmFyeSBvYmplY3RzIGludG8gc3RhbmRhcmQgb2JqZWN0cy4K
CWNvbXBpbGVfY29tbWFuZD1gJGVjaG8gIlgkY29tcGlsZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRY
c2VkIC1lICIkbG8ybyIgfCAkTkwyU1BgCglmaW5hbGl6ZV9jb21tYW5kPWAkZWNobyAiWCRmaW5h
bGl6ZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRYc2VkIC1lICIkbG8ybyIgfCAkTkwyU1BgCiAgICAg
IGZpCgogICAgICBkbHN5bXM9CiAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMi
IHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCglpZiB0ZXN0IC1uICIkTk0iICYmIHRlc3Qg
LW4gIiRnbG9iYWxfc3ltYm9sX3BpcGUiOyB0aGVuCgkgIGRsc3ltcz0iJHtvdXRwdXRuYW1lfVMu
YyIKCWVsc2UKCSAgJGVjaG8gIiRtb2RlbmFtZTogbm90IGNvbmZpZ3VyZWQgdG8gZXh0cmFjdCBn
bG9iYWwgc3ltYm9scyBmcm9tIGRscHJlb3BlbmVkIGZpbGVzIiAxPiYyCglmaQogICAgICBmaQoK
ICAgICAgaWYgdGVzdCAtbiAiJGRsc3ltcyI7IHRoZW4KCWNhc2UgJGRsc3ltcyBpbgoJIiIpIDs7
CgkqLmMpCgkgICMgRGlzY292ZXIgdGhlIG5saXN0IG9mIGVhY2ggb2YgdGhlIGRsZmlsZXMuCgkg
IG5saXN0PSIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9Lm5tIgoKCSAgJHNob3cgIiRybSAk
bmxpc3QgJHtubGlzdH1TICR7bmxpc3R9VCIKCSAgJHJ1biAkcm0gIiRubGlzdCIgIiR7bmxpc3R9
UyIgIiR7bmxpc3R9VCIKCgkgICMgUGFyc2UgdGhlIG5hbWUgbGlzdCBpbnRvIGEgc291cmNlIGZp
bGUuCgkgICRzaG93ICJjcmVhdGluZyAkb3V0cHV0X29iamRpci8kZGxzeW1zIgoKCSAgdGVzdCAt
eiAiJHJ1biIgJiYgJGVjaG8gPiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyIgIlwKLyogJGRsc3lt
cyAtIHN5bWJvbCByZXNvbHV0aW9uIHRhYmxlIGZvciBcYCRvdXRwdXRuYW1lJyBkbHN5bSBlbXVs
YXRpb24uICovCi8qIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAkVkVSU0lP
TiRUSU1FU1RBTVAgKi8KCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gXCJDXCIgewojZW5kaWYK
Ci8qIFByZXZlbnQgdGhlIG9ubHkga2luZCBvZiBkZWNsYXJhdGlvbiBjb25mbGljdHMgd2UgY2Fu
IG1ha2UuICovCiNkZWZpbmUgbHRfcHJlbG9hZGVkX3N5bWJvbHMgc29tZV9vdGhlcl9zeW1ib2wK
Ci8qIEV4dGVybmFsIHN5bWJvbCBkZWNsYXJhdGlvbnMgZm9yIHRoZSBjb21waWxlci4gKi9cCiIK
CgkgIGlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVuCgkgICAgJHNob3cgImdlbmVyYXRpbmcg
c3ltYm9sIGxpc3QgZm9yIFxgJG91dHB1dCciCgoJICAgIHRlc3QgLXogIiRydW4iICYmICRlY2hv
ICc6IEBQUk9HUkFNQCAnID4gIiRubGlzdCIKCgkgICAgIyBBZGQgb3VyIG93biBwcm9ncmFtIG9i
amVjdHMgdG8gdGhlIHN5bWJvbCBsaXN0LgoJICAgIHByb2dmaWxlcz1gJGVjaG8gIlgkb2JqcyRv
bGRfZGVwbGlicyIgfCAkU1AyTkwgfCAkWHNlZCAtZSAiJGxvMm8iIHwgJE5MMlNQYAoJICAgIGZv
ciBhcmcgaW4gJHByb2dmaWxlczsgZG8KCSAgICAgICRzaG93ICJleHRyYWN0aW5nIGdsb2JhbCBD
IHN5bWJvbHMgZnJvbSBcYCRhcmcnIgoJICAgICAgJHJ1biBldmFsICIkTk0gJGFyZyB8ICRnbG9i
YWxfc3ltYm9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgZG9uZQoKCSAgICBpZiB0ZXN0IC1uICIk
ZXhjbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICAgJHJ1biBldmFsICckRUdSRVAgLXYgIiAoJGV4
Y2x1ZGVfZXhwc3ltcykkIiAiJG5saXN0IiA+ICIkbmxpc3QiVCcKCSAgICAgICRydW4gZXZhbCAn
JG12ICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1uICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiOyB0aGVuCgkgICAgICAkcnVuIGV2YWwgJyRFR1JFUCAtZSAiJGV4cG9y
dF9zeW1ib2xzX3JlZ2V4IiAiJG5saXN0IiA+ICIkbmxpc3QiVCcKCSAgICAgICRydW4gZXZhbCAn
JG12ICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICBmaQoKCSAgICAjIFByZXBhcmUgdGhlIGxpc3Qg
b2YgZXhwb3J0ZWQgc3ltYm9scwoJICAgIGlmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRo
ZW4KCSAgICAgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kb3V0cHV0LmV4cCIKCSAg
ICAgICRydW4gJHJtICRleHBvcnRfc3ltYm9scwoJICAgICAgJHJ1biBldmFsICIke1NFRH0gLW4g
LWUgJy9eOiBAUFJPR1JBTUAkL2QnIC1lICdzL14uKiBcKC4qXCkkL1wxL3AnICInPCAiJG5saXN0
IiA+ICIkZXhwb3J0X3N5bWJvbHMiJwoJICAgIGVsc2UKCSAgICAgICRydW4gZXZhbCAiJHtTRUR9
IC1lICdzL1woW11bLipeJF1cKS9cXFwxL2cnIC1lICdzL14vIC8nIC1lICdzLyQvJC8nIicgPCAi
JGV4cG9ydF9zeW1ib2xzIiA+ICIkb3V0cHV0X29iamRpci8kb3V0cHV0LmV4cCInCgkgICAgICAk
cnVuIGV2YWwgJ2dyZXAgLWYgIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXQuZXhwIiA8ICIkbmxpc3Qi
ID4gIiRubGlzdCJUJwoJICAgICAgJHJ1biBldmFsICdtdiAiJG5saXN0IlQgIiRubGlzdCInCgkg
ICAgZmkKCSAgZmkKCgkgIGZvciBhcmcgaW4gJGRscHJlZmlsZXM7IGRvCgkgICAgJHNob3cgImV4
dHJhY3RpbmcgZ2xvYmFsIEMgc3ltYm9scyBmcm9tIFxgJGFyZyciCgkgICAgbmFtZT1gJGVjaG8g
IiRhcmciIHwgJHtTRUR9IC1lICdzJV4uKi8lJSdgCgkgICAgJHJ1biBldmFsICckZWNobyAiOiAk
bmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICRydW4gZXZhbCAiJE5NICRhcmcgfCAkZ2xvYmFsX3N5
bWJvbF9waXBlID4+ICckbmxpc3QnIgoJICBkb25lCgoJICBpZiB0ZXN0IC16ICIkcnVuIjsgdGhl
bgoJICAgICMgTWFrZSBzdXJlIHdlIGhhdmUgYXQgbGVhc3QgYW4gZW1wdHkgZmlsZS4KCSAgICB0
ZXN0IC1mICIkbmxpc3QiIHx8IDogPiAiJG5saXN0IgoKCSAgICBpZiB0ZXN0IC1uICIkZXhjbHVk
ZV9leHBzeW1zIjsgdGhlbgoJICAgICAgJEVHUkVQIC12ICIgKCRleGNsdWRlX2V4cHN5bXMpJCIg
IiRubGlzdCIgPiAiJG5saXN0IlQKCSAgICAgICRtdiAiJG5saXN0IlQgIiRubGlzdCIKCSAgICBm
aQoKCSAgICAjIFRyeSBzb3J0aW5nIGFuZCB1bmlxdWlmeWluZyB0aGUgb3V0cHV0LgoJICAgIGlm
IGdyZXAgLXYgIl46ICIgPCAiJG5saXN0IiB8CgkJaWYgc29ydCAtayAzIDwvZGV2L251bGwgPi9k
ZXYvbnVsbCAyPiYxOyB0aGVuCgkJICBzb3J0IC1rIDMKCQllbHNlCgkJICBzb3J0ICsyCgkJZmkg
fAoJCXVuaXEgPiAiJG5saXN0IlM7IHRoZW4KCSAgICAgIDoKCSAgICBlbHNlCgkgICAgICBncmVw
IC12ICJeOiAiIDwgIiRubGlzdCIgPiAiJG5saXN0IlMKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1m
ICIkbmxpc3QiUzsgdGhlbgoJICAgICAgZXZhbCAiJGdsb2JhbF9zeW1ib2xfdG9fY2RlY2wiJyA8
ICIkbmxpc3QiUyA+PiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyInCgkgICAgZWxzZQoJICAgICAg
JGVjaG8gJy8qIE5PTkUgKi8nID4+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIgoJICAgIGZpCgoJ
ICAgICRlY2hvID4+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIiAiXAoKI3VuZGVmIGx0X3ByZWxv
YWRlZF9zeW1ib2xzCgojaWYgZGVmaW5lZCAoX19TVERDX18pICYmIF9fU1REQ19fCiMgZGVmaW5l
IGx0X3B0ciB2b2lkICoKI2Vsc2UKIyBkZWZpbmUgbHRfcHRyIGNoYXIgKgojIGRlZmluZSBjb25z
dAojZW5kaWYKCi8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xz
LiAqLwpjb25zdCBzdHJ1Y3QgewogIGNvbnN0IGNoYXIgKm5hbWU7CiAgbHRfcHRyIGFkZHJlc3M7
Cn0KbHRfcHJlbG9hZGVkX3N5bWJvbHNbXSA9CntcCiIKCgkgICAgZXZhbCAiJGdsb2JhbF9zeW1i
b2xfdG9fY19uYW1lX2FkZHJlc3MiIDwgIiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRkbHN5
bXMiCgoJICAgICRlY2hvID4+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIiAiXAogIHswLCAobHRf
cHRyKSAwfQp9OwoKLyogVGhpcyB3b3JrcyBhcm91bmQgYSBwcm9ibGVtIGluIEZyZWVCU0QgbGlu
a2VyICovCiNpZmRlZiBGUkVFQlNEX1dPUktBUk9VTkQKc3RhdGljIGNvbnN0IHZvaWQgKmx0X3By
ZWxvYWRlZF9zZXR1cCgpIHsKICByZXR1cm4gbHRfcHJlbG9hZGVkX3N5bWJvbHM7Cn0KI2VuZGlm
CgojaWZkZWYgX19jcGx1c3BsdXMKfQojZW5kaWZcCiIKCSAgZmkKCgkgIHBpY19mbGFnX2Zvcl9z
eW10YWJsZT0KCSAgY2FzZSAkaG9zdCBpbgoJICAjIGNvbXBpbGluZyB0aGUgc3ltYm9sIHRhYmxl
IGZpbGUgd2l0aCBwaWNfZmxhZyB3b3JrcyBhcm91bmQKCSAgIyBhIEZyZWVCU0QgYnVnIHRoYXQg
Y2F1c2VzIHByb2dyYW1zIHRvIGNyYXNoIHdoZW4gLWxtIGlzCgkgICMgbGlua2VkIGJlZm9yZSBh
bnkgb3RoZXIgUElDIG9iamVjdC4gIEJ1dCB3ZSBtdXN0IG5vdCB1c2UKCSAgIyBwaWNfZmxhZyB3
aGVuIGxpbmtpbmcgd2l0aCAtc3RhdGljLiAgVGhlIHByb2JsZW0gZXhpc3RzIGluCgkgICMgRnJl
ZUJTRCAyLjIuNiBhbmQgaXMgZml4ZWQgaW4gRnJlZUJTRCAzLjEuCgkgICotKi1mcmVlYnNkMip8
Ki0qLWZyZWVic2QzLjAqfCotKi1mcmVlYnNkZWxmMy4wKikKCSAgICBjYXNlICIkY29tcGlsZV9j
b21tYW5kICIgaW4KCSAgICAqIiAtc3RhdGljICIqKSA7OwoJICAgICopIHBpY19mbGFnX2Zvcl9z
eW10YWJsZT0iICRwaWNfZmxhZyAtREZSRUVCU0RfV09SS0FST1VORCI7OwoJICAgIGVzYWM7OwoJ
ICAqLSotaHB1eCopCgkgICAgY2FzZSAiJGNvbXBpbGVfY29tbWFuZCAiIGluCgkgICAgKiIgLXN0
YXRpYyAiKikgOzsKCSAgICAqKSBwaWNfZmxhZ19mb3Jfc3ltdGFibGU9IiAkcGljX2ZsYWciOzsK
CSAgICBlc2FjCgkgIGVzYWMKCgkgICMgTm93IGNvbXBpbGUgdGhlIGR5bmFtaWMgc3ltYm9sIGZp
bGUuCgkgICRzaG93ICIoY2QgJG91dHB1dF9vYmpkaXIgJiYgJExUQ0MgLWMkbm9fYnVpbHRpbl9m
bGFnJHBpY19mbGFnX2Zvcl9zeW10YWJsZSBcIiRkbHN5bXNcIikiCgkgICRydW4gZXZhbCAnKGNk
ICRvdXRwdXRfb2JqZGlyICYmICRMVENDIC1jJG5vX2J1aWx0aW5fZmxhZyRwaWNfZmxhZ19mb3Jf
c3ltdGFibGUgIiRkbHN5bXMiKScgfHwgZXhpdCAkPwoKCSAgIyBDbGVhbiB1cCB0aGUgZ2VuZXJh
dGVkIGZpbGVzLgoJICAkc2hvdyAiJHJtICRvdXRwdXRfb2JqZGlyLyRkbHN5bXMgJG5saXN0ICR7
bmxpc3R9UyAke25saXN0fVQiCgkgICRydW4gJHJtICIkb3V0cHV0X29iamRpci8kZGxzeW1zIiAi
JG5saXN0IiAiJHtubGlzdH1TIiAiJHtubGlzdH1UIgoKCSAgIyBUcmFuc2Zvcm0gdGhlIHN5bWJv
bCBmaWxlIGludG8gdGhlIGNvcnJlY3QgbmFtZS4KCSAgY29tcGlsZV9jb21tYW5kPWAkZWNobyAi
WCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRvdXRwdXRfb2JqZGly
LyR7b3V0cHV0bmFtZX1TLiR7b2JqZXh0fSUiYAoJICBmaW5hbGl6ZV9jb21tYW5kPWAkZWNobyAi
WCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUkb3V0cHV0X29iamRp
ci8ke291dHB1dG5hbWV9Uy4ke29iamV4dH0lImAKCSAgOzsKCSopCgkgICRlY2hvICIkbW9kZW5h
bWU6IHVua25vd24gc3VmZml4IGZvciBcYCRkbHN5bXMnIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJ
TFVSRQoJICA7OwoJZXNhYwogICAgICBlbHNlCgkjIFdlIGtlZXAgZ29pbmcganVzdCBpbiBjYXNl
IHRoZSB1c2VyIGRpZG4ndCByZWZlciB0bwoJIyBsdF9wcmVsb2FkZWRfc3ltYm9scy4gIFRoZSBs
aW5rZXIgd2lsbCBmYWlsIGlmIGdsb2JhbF9zeW1ib2xfcGlwZQoJIyByZWFsbHkgd2FzIHJlcXVp
cmVkLgoKCSMgTnVsbGlmeSB0aGUgc3ltYm9sIGZpbGUuCgljb21waWxlX2NvbW1hbmQ9YCRlY2hv
ICJYJGNvbXBpbGVfY29tbWFuZCIgfCAkWHNlZCAtZSAicyUgQFNZTUZJTEVAJSUiYAoJZmluYWxp
emVfY29tbWFuZD1gJGVjaG8gIlgkZmluYWxpemVfY29tbWFuZCIgfCAkWHNlZCAtZSAicyUgQFNZ
TUZJTEVAJSUiYAogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJG5lZWRfcmVsaW5rIiA9IG5vIHx8
IHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllczsgdGhlbgoJIyBSZXBsYWNlIHRoZSBv
dXRwdXQgZmlsZSBzcGVjaWZpY2F0aW9uLgoJY29tcGlsZV9jb21tYW5kPWAkZWNobyAiWCRjb21w
aWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0IiclZydgCglsaW5r
X2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0aCIKCgkjIFdlIGhhdmUgbm8g
dW5pbnN0YWxsZWQgbGlicmFyeSBkZXBlbmRlbmNpZXMsIHNvIGZpbmFsaXplIHJpZ2h0IG5vdy4K
CSRzaG93ICIkbGlua19jb21tYW5kIgoJJHJ1biBldmFsICIkbGlua19jb21tYW5kIgoJc3RhdHVz
PSQ/CgoJIyBEZWxldGUgdGhlIGdlbmVyYXRlZCBmaWxlcy4KCWlmIHRlc3QgLW4gIiRkbHN5bXMi
OyB0aGVuCgkgICRzaG93ICIkcm0gJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpl
eHR9IgoJICAkcnVuICRybSAiJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9
IgoJZmkKCglleGl0ICRzdGF0dXMKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBh
dGhfdmFyIjsgdGhlbgoJIyBXZSBzaG91bGQgc2V0IHRoZSBzaGxpYnBhdGhfdmFyCglycGF0aD0K
CWZvciBkaXIgaW4gJHRlbXBfcnBhdGg7IGRvCgkgIGNhc2UgJGRpciBpbgoJICBbXFwvXSogfCBb
QS1aYS16XTpbXFwvXSopCgkgICAgIyBBYnNvbHV0ZSBwYXRoLgoJICAgIHJwYXRoPSIkcnBhdGgk
ZGlyOiIKCSAgICA7OwoJICAqKQoJICAgICMgUmVsYXRpdmUgcGF0aDogYWRkIGEgdGhpc2RpciBl
bnRyeS4KCSAgICBycGF0aD0iJHJwYXRoXCR0aGlzZGlyLyRkaXI6IgoJICAgIDs7CgkgIGVzYWMK
CWRvbmUKCXRlbXBfcnBhdGg9IiRycGF0aCIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRj
b21waWxlX3NobGlicGF0aCRmaW5hbGl6ZV9zaGxpYnBhdGgiOyB0aGVuCgljb21waWxlX2NvbW1h
bmQ9IiRzaGxpYnBhdGhfdmFyPVwiJGNvbXBpbGVfc2hsaWJwYXRoJGZpbmFsaXplX3NobGlicGF0
aFwkJHNobGlicGF0aF92YXJcIiAkY29tcGlsZV9jb21tYW5kIgogICAgICBmaQogICAgICBpZiB0
ZXN0IC1uICIkZmluYWxpemVfc2hsaWJwYXRoIjsgdGhlbgoJZmluYWxpemVfY29tbWFuZD0iJHNo
bGlicGF0aF92YXI9XCIkZmluYWxpemVfc2hsaWJwYXRoXCQkc2hsaWJwYXRoX3ZhclwiICRmaW5h
bGl6ZV9jb21tYW5kIgogICAgICBmaQoKICAgICAgY29tcGlsZV92YXI9CiAgICAgIGZpbmFsaXpl
X3Zhcj0KICAgICAgaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJaWYgdGVzdCAtbiAi
JHBlcm1fcnBhdGgiOyB0aGVuCgkgICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVucGF0aF92YXIuCgkg
IHJwYXRoPQoJICBmb3IgZGlyIGluICRwZXJtX3JwYXRoOyBkbwoJICAgIHJwYXRoPSIkcnBhdGgk
ZGlyOiIKCSAgZG9uZQoJICBjb21waWxlX3Zhcj0iJHJ1bnBhdGhfdmFyPVwiJHJwYXRoXCQkcnVu
cGF0aF92YXJcIiAiCglmaQoJaWYgdGVzdCAtbiAiJGZpbmFsaXplX3Blcm1fcnBhdGgiOyB0aGVu
CgkgICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVucGF0aF92YXIuCgkgIHJwYXRoPQoJICBmb3IgZGly
IGluICRmaW5hbGl6ZV9wZXJtX3JwYXRoOyBkbwoJICAgIHJwYXRoPSIkcnBhdGgkZGlyOiIKCSAg
ZG9uZQoJICBmaW5hbGl6ZV92YXI9IiRydW5wYXRoX3Zhcj1cIiRycGF0aFwkJHJ1bnBhdGhfdmFy
XCIgIgoJZmkKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgIiRub19pbnN0YWxsIiA9IHllczsgdGhl
bgoJIyBXZSBkb24ndCBuZWVkIHRvIGNyZWF0ZSBhIHdyYXBwZXIgc2NyaXB0LgoJbGlua19jb21t
YW5kPSIkY29tcGlsZV92YXIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiCgkjIFJlcGxh
Y2UgdGhlIG91dHB1dCBmaWxlIHNwZWNpZmljYXRpb24uCglsaW5rX2NvbW1hbmQ9YCRlY2hvICJY
JGxpbmtfY29tbWFuZCIgfCAkWHNlZCAtZSAncyVAT1VUUFVUQCUnIiRvdXRwdXQiJyVnJ2AKCSMg
RGVsZXRlIHRoZSBvbGQgb3V0cHV0IGZpbGUuCgkkcnVuICRybSAkb3V0cHV0CgkjIExpbmsgdGhl
IGV4ZWN1dGFibGUgYW5kIGV4aXQKCSRzaG93ICIkbGlua19jb21tYW5kIgoJJHJ1biBldmFsICIk
bGlua19jb21tYW5kIiB8fCBleGl0ICQ/CglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkKCiAg
ICAgIGlmIHRlc3QgIiRoYXJkY29kZV9hY3Rpb24iID0gcmVsaW5rOyB0aGVuCgkjIEZhc3QgaW5z
dGFsbGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQKCWxpbmtfY29tbWFuZD0iJGNvbXBpbGVfdmFyJGNv
bXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoJcmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92
YXIkZmluYWxpemVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCgkkZWNobyAiJG1vZGVuYW1lOiB3
YXJuaW5nOiB0aGlzIHBsYXRmb3JtIGRvZXMgbm90IGxpa2UgdW5pbnN0YWxsZWQgc2hhcmVkIGxp
YnJhcmllcyIgMT4mMgoJJGVjaG8gIiRtb2RlbmFtZTogXGAkb3V0cHV0JyB3aWxsIGJlIHJlbGlu
a2VkIGR1cmluZyBpbnN0YWxsYXRpb24iIDE+JjIKICAgICAgZWxzZQoJaWYgdGVzdCAiJGZhc3Rf
aW5zdGFsbCIgIT0gbm87IHRoZW4KCSAgbGlua19jb21tYW5kPSIkZmluYWxpemVfdmFyJGNvbXBp
bGVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCSAgaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5
ZXM7IHRoZW4KCSAgICByZWxpbmtfY29tbWFuZD1gJGVjaG8gIlgkY29tcGlsZV92YXIkY29tcGls
ZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiIHwgJFhzZWQgLWUgJ3MlQE9VVFBVVEAlXCRwcm9nZGly
L1wkZmlsZSVnJ2AKCSAgZWxzZQoJICAgICMgZmFzdF9pbnN0YWxsIGlzIHNldCB0byBuZWVkbGVz
cwoJICAgIHJlbGlua19jb21tYW5kPQoJICBmaQoJZWxzZQoJICBsaW5rX2NvbW1hbmQ9IiRjb21w
aWxlX3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0aCIKCSAgcmVsaW5rX2NvbW1hbmQ9
IiRmaW5hbGl6ZV92YXIkZmluYWxpemVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCWZpCiAgICAg
IGZpCgogICAgICAjIFJlcGxhY2UgdGhlIG91dHB1dCBmaWxlIHNwZWNpZmljYXRpb24uCiAgICAg
IGxpbmtfY29tbWFuZD1gJGVjaG8gIlgkbGlua19jb21tYW5kIiB8ICRYc2VkIC1lICdzJUBPVVRQ
VVRAJSciJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUiJyVnJ2AKCiAgICAgICMgRGVsZXRlIHRo
ZSBvbGQgb3V0cHV0IGZpbGVzLgogICAgICAkcnVuICRybSAkb3V0cHV0ICRvdXRwdXRfb2JqZGly
LyRvdXRwdXRuYW1lICRvdXRwdXRfb2JqZGlyL2x0LSRvdXRwdXRuYW1lCgogICAgICAkc2hvdyAi
JGxpbmtfY29tbWFuZCIKICAgICAgJHJ1biBldmFsICIkbGlua19jb21tYW5kIiB8fCBleGl0ICQ/
CgogICAgICAjIE5vdyBjcmVhdGUgdGhlIHdyYXBwZXIgc2NyaXB0LgogICAgICAkc2hvdyAiY3Jl
YXRpbmcgJG91dHB1dCIKCiAgICAgICMgUXVvdGUgdGhlIHJlbGluayBjb21tYW5kIGZvciBzaGlw
cGluZy4KICAgICAgaWYgdGVzdCAtbiAiJHJlbGlua19jb21tYW5kIjsgdGhlbgoJIyBQcmVzZXJ2
ZSBhbnkgdmFyaWFibGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlvcgoJZm9yIHZh
ciBpbiAkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms7IGRvCgkgIGlmIGV2YWwgdGVzdCAteiBc
IlwkeyR2YXIrc2V0fVwiOyB0aGVuCgkgICAgcmVsaW5rX2NvbW1hbmQ9InsgdGVzdCAteiBcIlwk
eyR2YXIrc2V0fVwiIHx8IHVuc2V0ICR2YXIgfHwgeyAkdmFyPTsgZXhwb3J0ICR2YXI7IH07IH07
ICRyZWxpbmtfY29tbWFuZCIKCSAgZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2YXI7IHRlc3QgLXog
IiR2YXJfdmFsdWUiOyB0aGVuCgkgICAgcmVsaW5rX2NvbW1hbmQ9IiR2YXI9OyBleHBvcnQgJHZh
cjsgJHJlbGlua19jb21tYW5kIgoJICBlbHNlCgkgICAgdmFyX3ZhbHVlPWAkZWNobyAiWCR2YXJf
dmFsdWUiIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAoJICAgIHJlbGlua19jb21tYW5k
PSIkdmFyPVwiJHZhcl92YWx1ZVwiOyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJICBm
aQoJZG9uZQoJcmVsaW5rX2NvbW1hbmQ9IihjZCBgcHdkYDsgJHJlbGlua19jb21tYW5kKSIKCXJl
bGlua19jb21tYW5kPWAkZWNobyAiWCRyZWxpbmtfY29tbWFuZCIgfCAkWHNlZCAtZSAiJHNlZF9x
dW90ZV9zdWJzdCJgCiAgICAgIGZpCgogICAgICAjIFF1b3RlICRlY2hvIGZvciBzaGlwcGluZy4K
ICAgICAgaWYgdGVzdCAiWCRlY2hvIiA9ICJYJFNIRUxMICRwcm9ncGF0aCAtLWZhbGxiYWNrLWVj
aG8iOyB0aGVuCgljYXNlICRwcm9ncGF0aCBpbgoJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSBx
ZWNobz0iJFNIRUxMICRwcm9ncGF0aCAtLWZhbGxiYWNrLWVjaG8iOzsKCSopIHFlY2hvPSIkU0hF
TEwgYHB3ZGAvJHByb2dwYXRoIC0tZmFsbGJhY2stZWNobyI7OwoJZXNhYwoJcWVjaG89YCRlY2hv
ICJYJHFlY2hvIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgICAgZWxzZQoJcWVj
aG89YCRlY2hvICJYJGVjaG8iIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBm
aQoKICAgICAgIyBPbmx5IGFjdHVhbGx5IGRvIHRoaW5ncyBpZiBvdXIgcnVuIGNvbW1hbmQgaXMg
bm9uLW51bGwuCiAgICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCgkjIHdpbjMyIHdpbGwgdGhp
bmsgdGhlIHNjcmlwdCBpcyBhIGJpbmFyeSBpZiBpdCBoYXMKCSMgYSAuZXhlIHN1ZmZpeCwgc28g
d2Ugc3RyaXAgaXQgb2ZmIGhlcmUuCgljYXNlICRvdXRwdXQgaW4KCSAgKi5leGUpIG91dHB1dD1g
JGVjaG8gJG91dHB1dHwke1NFRH0gJ3MsLmV4ZSQsLCdgIDs7Cgllc2FjCgkjIHRlc3QgZm9yIGN5
Z3dpbiBiZWNhdXNlIG12IGZhaWxzIHcvbyAuZXhlIGV4dGVuc2lvbnMKCWNhc2UgJGhvc3QgaW4K
CSAgKmN5Z3dpbiopCgkgICAgZXhlZXh0PS5leGUKCSAgICBvdXRwdXRuYW1lPWAkZWNobyAkb3V0
cHV0bmFtZXwke1NFRH0gJ3MsLmV4ZSQsLCdgIDs7CgkgICopIGV4ZWV4dD0gOzsKCWVzYWMKCWNh
c2UgJGhvc3QgaW4KCSAgKmN5Z3dpbiogfCAqbWluZ3cqICkKCSAgICBjd3JhcHBlcnNvdXJjZT1g
JGVjaG8gJHtvYmpkaXJ9L2x0LSR7b3V0cHV0fS5jYAoJICAgIGN3cmFwcGVyPWAkZWNobyAke291
dHB1dH0uZXhlYAoJICAgICRybSAkY3dyYXBwZXJzb3VyY2UgJGN3cmFwcGVyCgkgICAgdHJhcCAi
JHJtICRjd3JhcHBlcnNvdXJjZSAkY3dyYXBwZXI7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1
CgoJICAgIGNhdCA+ICRjd3JhcHBlcnNvdXJjZSA8PEVPRgoKLyogJGN3cmFwcGVyc291cmNlIC0g
dGVtcG9yYXJ5IHdyYXBwZXIgZXhlY3V0YWJsZSBmb3IgJG9iamRpci8kb3V0cHV0bmFtZQogICBH
ZW5lcmF0ZWQgYnkgJFBST0dSQU0gLSBHTlUgJFBBQ0tBR0UgJFZFUlNJT04kVElNRVNUQU1QCgog
ICBUaGUgJG91dHB1dCBwcm9ncmFtIGNhbm5vdCBiZSBkaXJlY3RseSBleGVjdXRlZCB1bnRpbCBh
bGwgdGhlIGxpYnRvb2wKICAgbGlicmFyaWVzIHRoYXQgaXQgZGVwZW5kcyBvbiBhcmUgaW5zdGFs
bGVkLgoKICAgVGhpcyB3cmFwcGVyIGV4ZWN1dGFibGUgc2hvdWxkIG5ldmVyIGJlIG1vdmVkIG91
dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgogICBJZiBpdCBpcywgaXQgd2lsbCBub3Qgb3BlcmF0
ZSBjb3JyZWN0bHkuCgogICBDdXJyZW50bHksIGl0IHNpbXBseSBleGVjcyB0aGUgd3JhcHBlciAq
c2NyaXB0KiAiL2Jpbi9zaCAkb3V0cHV0IiwKICAgYnV0IGNvdWxkIGV2ZW50dWFsbHkgYWJzb3Ji
IGFsbCBvZiB0aGUgc2NyaXB0cyBmdW5jdGlvbmFsaXR5IGFuZAogICBleGVjICRvYmpkaXIvJG91
dHB1dG5hbWUgZGlyZWN0bHkuCiovCkVPRgoJICAgIGNhdCA+PiAkY3dyYXBwZXJzb3VyY2U8PCJF
T0YiCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDx1bmlz
dGQuaD4KI2luY2x1ZGUgPG1hbGxvYy5oPgojaW5jbHVkZSA8c3RkYXJnLmg+CiNpbmNsdWRlIDxh
c3NlcnQuaD4KCiNpZiBkZWZpbmVkKFBBVEhfTUFYKQojIGRlZmluZSBMVF9QQVRITUFYIFBBVEhf
TUFYCiNlbGlmIGRlZmluZWQoTUFYUEFUSExFTikKIyBkZWZpbmUgTFRfUEFUSE1BWCBNQVhQQVRI
TEVOCiNlbHNlCiMgZGVmaW5lIExUX1BBVEhNQVggMTAyNAojZW5kaWYKCiNpZm5kZWYgRElSX1NF
UEFSQVRPUgojZGVmaW5lIERJUl9TRVBBUkFUT1IgJy8nCiNlbmRpZgoKI2lmIGRlZmluZWQgKF9X
SU4zMikgfHwgZGVmaW5lZCAoX19NU0RPU19fKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pIHx8IFwK
ICBkZWZpbmVkIChfX09TMl9fKQojZGVmaW5lIEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNCiNp
Zm5kZWYgRElSX1NFUEFSQVRPUl8yCiNkZWZpbmUgRElSX1NFUEFSQVRPUl8yICdcXCcKI2VuZGlm
CiNlbmRpZgoKI2lmbmRlZiBESVJfU0VQQVJBVE9SXzIKIyBkZWZpbmUgSVNfRElSX1NFUEFSQVRP
UihjaCkgKChjaCkgPT0gRElSX1NFUEFSQVRPUikKI2Vsc2UgLyogRElSX1NFUEFSQVRPUl8yICov
CiMgZGVmaW5lIElTX0RJUl9TRVBBUkFUT1IoY2gpIFwKICAgICAgICAoKChjaCkgPT0gRElSX1NF
UEFSQVRPUikgfHwgKChjaCkgPT0gRElSX1NFUEFSQVRPUl8yKSkKI2VuZGlmIC8qIERJUl9TRVBB
UkFUT1JfMiAqLwoKI2RlZmluZSBYTUFMTE9DKHR5cGUsIG51bSkgICAgICAoKHR5cGUgKikgeG1h
bGxvYyAoKG51bSkgKiBzaXplb2YodHlwZSkpKQojZGVmaW5lIFhGUkVFKHN0YWxlKSBkbyB7IFwK
ICBpZiAoc3RhbGUpIHsgZnJlZSAoKHZvaWQgKikgc3RhbGUpOyBzdGFsZSA9IDA7IH0gXAp9IHdo
aWxlICgwKQoKY29uc3QgY2hhciAqcHJvZ3JhbV9uYW1lID0gTlVMTDsKCnZvaWQgKiB4bWFsbG9j
IChzaXplX3QgbnVtKTsKY2hhciAqIHhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZyk7CmNoYXIg
KiBiYXNlbmFtZSAoY29uc3QgY2hhciAqbmFtZSk7CmNoYXIgKiBmbnF1YWxpZnkoY29uc3QgY2hh
ciAqcGF0aCk7CmNoYXIgKiBzdHJlbmR6YXAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXQpOwp2
b2lkIGx0X2ZhdGFsIChjb25zdCBjaGFyICptZXNzYWdlLCAuLi4pOwoKaW50Cm1haW4gKGludCBh
cmdjLCBjaGFyICphcmd2W10pCnsKICBjaGFyICoqbmV3YXJnejsKICBpbnQgaTsKCiAgcHJvZ3Jh
bV9uYW1lID0gKGNoYXIgKikgeHN0cmR1cCAoKGNoYXIgKikgYmFzZW5hbWUgKGFyZ3ZbMF0pKTsK
ICBuZXdhcmd6ID0gWE1BTExPQyhjaGFyICosIGFyZ2MrMik7CkVPRgoKCSAgICBjYXQgPj4gJGN3
cmFwcGVyc291cmNlIDw8RU9GCiAgbmV3YXJnelswXSA9ICIkU0hFTEwiOwpFT0YKCgkgICAgY2F0
ID4+ICRjd3JhcHBlcnNvdXJjZSA8PCJFT0YiCiAgbmV3YXJnelsxXSA9IGZucXVhbGlmeShhcmd2
WzBdKTsKICAvKiB3ZSBrbm93IHRoZSBzY3JpcHQgaGFzIHRoZSBzYW1lIG5hbWUsIHdpdGhvdXQg
dGhlIC5leGUgKi8KICAvKiBzbyBtYWtlIHN1cmUgbmV3YXJnelsxXSBkb2Vzbid0IGVuZCBpbiAu
ZXhlICovCiAgc3RyZW5kemFwKG5ld2FyZ3pbMV0sIi5leGUiKTsKICBmb3IgKGkgPSAxOyBpIDwg
YXJnYzsgaSsrKQogICAgbmV3YXJneltpKzFdID0geHN0cmR1cChhcmd2W2ldKTsKICBuZXdhcmd6
W2FyZ2MrMV0gPSBOVUxMOwpFT0YKCgkgICAgY2F0ID4+ICRjd3JhcHBlcnNvdXJjZSA8PEVPRgog
IGV4ZWN2KCIkU0hFTEwiLG5ld2FyZ3opOwpFT0YKCgkgICAgY2F0ID4+ICRjd3JhcHBlcnNvdXJj
ZSA8PCJFT0YiCn0KCnZvaWQgKgp4bWFsbG9jIChzaXplX3QgbnVtKQp7CiAgdm9pZCAqIHAgPSAo
dm9pZCAqKSBtYWxsb2MgKG51bSk7CiAgaWYgKCFwKQogICAgbHRfZmF0YWwgKCJNZW1vcnkgZXho
YXVzdGVkIik7CgogIHJldHVybiBwOwp9CgpjaGFyICoKeHN0cmR1cCAoY29uc3QgY2hhciAqc3Ry
aW5nKQp7CiAgcmV0dXJuIHN0cmluZyA/IHN0cmNweSAoKGNoYXIgKikgeG1hbGxvYyAoc3RybGVu
IChzdHJpbmcpICsgMSksIHN0cmluZykgOiBOVUxMCjsKfQoKY2hhciAqCmJhc2VuYW1lIChjb25z
dCBjaGFyICpuYW1lKQp7CiAgY29uc3QgY2hhciAqYmFzZTsKCiNpZiBkZWZpbmVkIChIQVZFX0RP
U19CQVNFRF9GSUxFX1NZU1RFTSkKICAvKiBTa2lwIG92ZXIgdGhlIGRpc2sgbmFtZSBpbiBNU0RP
UyBwYXRobmFtZXMuICovCiAgaWYgKGlzYWxwaGEgKG5hbWVbMF0pICYmIG5hbWVbMV0gPT0gJzon
KQogICAgbmFtZSArPSAyOwojZW5kaWYKCiAgZm9yIChiYXNlID0gbmFtZTsgKm5hbWU7IG5hbWUr
KykKICAgIGlmIChJU19ESVJfU0VQQVJBVE9SICgqbmFtZSkpCiAgICAgIGJhc2UgPSBuYW1lICsg
MTsKICByZXR1cm4gKGNoYXIgKikgYmFzZTsKfQoKY2hhciAqCmZucXVhbGlmeShjb25zdCBjaGFy
ICpwYXRoKQp7CiAgc2l6ZV90IHNpemU7CiAgY2hhciAqcDsKICBjaGFyIHRtcFtMVF9QQVRITUFY
ICsgMV07CgogIGFzc2VydChwYXRoICE9IE5VTEwpOwoKICAvKiBJcyBpdCBxdWFsaWZpZWQgYWxy
ZWFkeT8gKi8KI2lmIGRlZmluZWQgKEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogIGlmIChp
c2FscGhhIChwYXRoWzBdKSAmJiBwYXRoWzFdID09ICc6JykKICAgIHJldHVybiB4c3RyZHVwIChw
YXRoKTsKI2VuZGlmCiAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKHBhdGhbMF0pKQogICAgcmV0dXJu
IHhzdHJkdXAgKHBhdGgpOwoKICAvKiBwcmVwZW5kIHRoZSBjdXJyZW50IGRpcmVjdG9yeSAqLwog
IC8qIGRvZXNuJ3QgaGFuZGxlICd+JyAqLwogIGlmIChnZXRjd2QgKHRtcCwgTFRfUEFUSE1BWCkg
PT0gTlVMTCkKICAgIGx0X2ZhdGFsICgiZ2V0Y3dkIGZhaWxlZCIpOwogIHNpemUgPSBzdHJsZW4o
dG1wKSArIDEgKyBzdHJsZW4ocGF0aCkgKyAxOyAvKiArMiBmb3IgJy8nIGFuZCAnXDAnICovCiAg
cCA9IFhNQUxMT0MoY2hhciwgc2l6ZSk7CiAgc3ByaW50ZihwLCAiJXMlYyVzIiwgdG1wLCBESVJf
U0VQQVJBVE9SLCBwYXRoKTsKICByZXR1cm4gcDsKfQoKY2hhciAqCnN0cmVuZHphcChjaGFyICpz
dHIsIGNvbnN0IGNoYXIgKnBhdCkKewogIHNpemVfdCBsZW4sIHBhdGxlbjsKCiAgYXNzZXJ0KHN0
ciAhPSBOVUxMKTsKICBhc3NlcnQocGF0ICE9IE5VTEwpOwoKICBsZW4gPSBzdHJsZW4oc3RyKTsK
ICBwYXRsZW4gPSBzdHJsZW4ocGF0KTsKCiAgaWYgKHBhdGxlbiA8PSBsZW4pCiAgewogICAgc3Ry
ICs9IGxlbiAtIHBhdGxlbjsKICAgIGlmIChzdHJjbXAoc3RyLCBwYXQpID09IDApCiAgICAgICpz
dHIgPSAnXDAnOwogIH0KICByZXR1cm4gc3RyOwp9CgpzdGF0aWMgdm9pZApsdF9lcnJvcl9jb3Jl
IChpbnQgZXhpdF9zdGF0dXMsIGNvbnN0IGNoYXIgKiBtb2RlLAogICAgICAgICAgY29uc3QgY2hh
ciAqIG1lc3NhZ2UsIHZhX2xpc3QgYXApCnsKICBmcHJpbnRmIChzdGRlcnIsICIlczogJXM6ICIs
IHByb2dyYW1fbmFtZSwgbW9kZSk7CiAgdmZwcmludGYgKHN0ZGVyciwgbWVzc2FnZSwgYXApOwog
IGZwcmludGYgKHN0ZGVyciwgIi5cbiIpOwoKICBpZiAoZXhpdF9zdGF0dXMgPj0gMCkKICAgIGV4
aXQgKGV4aXRfc3RhdHVzKTsKfQoKdm9pZApsdF9mYXRhbCAoY29uc3QgY2hhciAqbWVzc2FnZSwg
Li4uKQp7CiAgdmFfbGlzdCBhcDsKICB2YV9zdGFydCAoYXAsIG1lc3NhZ2UpOwogIGx0X2Vycm9y
X2NvcmUgKEVYSVRfRkFJTFVSRSwgIkZBVEFMIiwgbWVzc2FnZSwgYXApOwogIHZhX2VuZCAoYXAp
Owp9CkVPRgoJICAjIHdlIHNob3VsZCByZWFsbHkgdXNlIGEgYnVpbGQtcGxhdGZvcm0gc3BlY2lm
aWMgY29tcGlsZXIKCSAgIyBoZXJlLCBidXQgT1RPSCwgdGhlIHdyYXBwZXJzIChzaGVsbCBzY3Jp
cHQgYW5kIHRoaXMgQyBvbmUpCgkgICMgYXJlIG9ubHkgdXNlZnVsIGlmIHlvdSB3YW50IHRvIGV4
ZWN1dGUgdGhlICJyZWFsIiBiaW5hcnkuCgkgICMgU2luY2UgdGhlICJyZWFsIiBiaW5hcnkgaXMg
YnVpbHQgZm9yICRob3N0LCB0aGVuIHRoaXMKCSAgIyB3cmFwcGVyIG1pZ2h0IGFzIHdlbGwgYmUg
YnVpbHQgZm9yICRob3N0LCB0b28uCgkgICRydW4gJExUQ0MgLXMgLW8gJGN3cmFwcGVyICRjd3Jh
cHBlcnNvdXJjZQoJICA7OwoJZXNhYwoJJHJtICRvdXRwdXQKCXRyYXAgIiRybSAkb3V0cHV0OyBl
eGl0ICRFWElUX0ZBSUxVUkUiIDEgMiAxNQoKCSRlY2hvID4gJG91dHB1dCAiXAojISAkU0hFTEwK
CiMgJG91dHB1dCAtIHRlbXBvcmFyeSB3cmFwcGVyIHNjcmlwdCBmb3IgJG9iamRpci8kb3V0cHV0
bmFtZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1F
U1RBTVAKIwojIFRoZSAkb3V0cHV0IHByb2dyYW0gY2Fubm90IGJlIGRpcmVjdGx5IGV4ZWN1dGVk
IHVudGlsIGFsbCB0aGUgbGlidG9vbAojIGxpYnJhcmllcyB0aGF0IGl0IGRlcGVuZHMgb24gYXJl
IGluc3RhbGxlZC4KIwojIFRoaXMgd3JhcHBlciBzY3JpcHQgc2hvdWxkIG5ldmVyIGJlIG1vdmVk
IG91dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgojIElmIGl0IGlzLCBpdCB3aWxsIG5vdCBvcGVy
YXRlIGNvcnJlY3RseS4KCiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVz
dCBxdW90aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVycyB0aGF0IGFyZSBz
dGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3RyaW5ncy4KWHNlZD0nJHtTRUR9IC1l
IDFzL15YLy8nCnNlZF9xdW90ZV9zdWJzdD0nJHNlZF9xdW90ZV9zdWJzdCcKCiMgVGhlIEhQLVVY
IGtzaCBhbmQgUE9TSVggc2hlbGwgcHJpbnQgdGhlIHRhcmdldCBkaXJlY3RvcnkgdG8gc3Rkb3V0
CiMgaWYgQ0RQQVRIIGlzIHNldC4KKHVuc2V0IENEUEFUSCkgPi9kZXYvbnVsbCAyPiYxICYmIHVu
c2V0IENEUEFUSAoKcmVsaW5rX2NvbW1hbmQ9XCIkcmVsaW5rX2NvbW1hbmRcIgoKIyBUaGlzIGVu
dmlyb25tZW50IHZhcmlhYmxlIGRldGVybWluZXMgb3VyIG9wZXJhdGlvbiBtb2RlLgppZiB0ZXN0
IFwiXCRsaWJ0b29sX2luc3RhbGxfbWFnaWNcIiA9IFwiJG1hZ2ljXCI7IHRoZW4KICAjIGluc3Rh
bGwgbW9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIHZhcmlhYmxlOgogIG5vdGluc3RfZGVwbGlicz0n
JG5vdGluc3RfZGVwbGlicycKZWxzZQogICMgV2hlbiB3ZSBhcmUgc291cmNlZCBpbiBleGVjdXRl
IG1vZGUsIFwkZmlsZSBhbmQgXCRlY2hvIGFyZSBhbHJlYWR5IHNldC4KICBpZiB0ZXN0IFwiXCRs
aWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVuCiAgICBlY2hvPVwiJHFl
Y2hvXCIKICAgIGZpbGU9XCJcJDBcIgogICAgIyBNYWtlIHN1cmUgZWNobyB3b3Jrcy4KICAgIGlm
IHRlc3QgXCJYXCQxXCIgPSBYLS1uby1yZWV4ZWM7IHRoZW4KICAgICAgIyBEaXNjYXJkIHRoZSAt
LW5vLXJlZXhlYyBmbGFnLCBhbmQgY29udGludWUuCiAgICAgIHNoaWZ0CiAgICBlbGlmIHRlc3Qg
XCJYXGAoXCRlY2hvICdcdCcpIDI+L2Rldi9udWxsXGBcIiA9ICdYXHQnOyB0aGVuCiAgICAgICMg
WWlwcGVlLCBcJGVjaG8gd29ya3MhCiAgICAgIDoKICAgIGVsc2UKICAgICAgIyBSZXN0YXJ0IHVu
ZGVyIHRoZSBjb3JyZWN0IHNoZWxsLCBhbmQgdGhlbiBtYXliZSBcJGVjaG8gd2lsbCB3b3JrLgog
ICAgICBleGVjICRTSEVMTCBcIlwkMFwiIC0tbm8tcmVleGVjIFwkezErXCJcJEBcIn0KICAgIGZp
CiAgZmlcCiIKCSRlY2hvID4+ICRvdXRwdXQgIlwKCiAgIyBGaW5kIHRoZSBkaXJlY3RvcnkgdGhh
dCB0aGlzIHNjcmlwdCBsaXZlcyBpbi4KICB0aGlzZGlyPVxgXCRlY2hvIFwiWFwkZmlsZVwiIHwg
XCRYc2VkIC1lICdzJS9bXi9dKiQlJSdcYAogIHRlc3QgXCJ4XCR0aGlzZGlyXCIgPSBcInhcJGZp
bGVcIiAmJiB0aGlzZGlyPS4KCiAgIyBGb2xsb3cgc3ltYm9saWMgbGlua3MgdW50aWwgd2UgZ2V0
IHRvIHRoZSByZWFsIHRoaXNkaXIuCiAgZmlsZT1cYGxzIC1sZCBcIlwkZmlsZVwiIHwgJHtTRUR9
IC1uICdzLy4qLT4gLy9wJ1xgCiAgd2hpbGUgdGVzdCAtbiBcIlwkZmlsZVwiOyBkbwogICAgZGVz
dGRpcj1cYFwkZWNobyBcIlhcJGZpbGVcIiB8IFwkWHNlZCAtZSAncyUvW14vXSpcJCUlJ1xgCgog
ICAgIyBJZiB0aGVyZSB3YXMgYSBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGNoYW5nZSB0aGlz
ZGlyLgogICAgaWYgdGVzdCBcInhcJGRlc3RkaXJcIiAhPSBcInhcJGZpbGVcIjsgdGhlbgogICAg
ICBjYXNlIFwiXCRkZXN0ZGlyXCIgaW4KICAgICAgW1xcXFwvXSogfCBbQS1aYS16XTpbXFxcXC9d
KikgdGhpc2Rpcj1cIlwkZGVzdGRpclwiIDs7CiAgICAgICopIHRoaXNkaXI9XCJcJHRoaXNkaXIv
XCRkZXN0ZGlyXCIgOzsKICAgICAgZXNhYwogICAgZmkKCiAgICBmaWxlPVxgXCRlY2hvIFwiWFwk
ZmlsZVwiIHwgXCRYc2VkIC1lICdzJV4uKi8lJSdcYAogICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhp
c2Rpci9cJGZpbGVcIiB8ICR7U0VEfSAtbiAncy8uKi0+IC8vcCdcYAogIGRvbmUKCiAgIyBUcnkg
dG8gZ2V0IHRoZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZS4KICBhYnNkaXI9XGBjZCBcIlwkdGhp
c2RpclwiICYmIHB3ZFxgCiAgdGVzdCAtbiBcIlwkYWJzZGlyXCIgJiYgdGhpc2Rpcj1cIlwkYWJz
ZGlyXCIKIgoKCWlmIHRlc3QgIiRmYXN0X2luc3RhbGwiID0geWVzOyB0aGVuCgkgICRlY2hvID4+
ICRvdXRwdXQgIlwKICBwcm9ncmFtPWx0LSckb3V0cHV0bmFtZSckZXhlZXh0CiAgcHJvZ2Rpcj1c
IlwkdGhpc2Rpci8kb2JqZGlyXCIKCiAgaWYgdGVzdCAhIC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiIHx8IFxcCiAgICAgeyBmaWxlPVxgbHMgLTFkdCBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiBc
IlwkcHJvZ2Rpci8uLi9cJHByb2dyYW1cIiAyPi9kZXYvbnVsbCB8ICR7U0VEfSAxcVxgOyBcXAog
ICAgICAgdGVzdCBcIlhcJGZpbGVcIiAhPSBcIlhcJHByb2dkaXIvXCRwcm9ncmFtXCI7IH07IHRo
ZW4KCiAgICBmaWxlPVwiXCRcJC1cJHByb2dyYW1cIgoKICAgIGlmIHRlc3QgISAtZCBcIlwkcHJv
Z2RpclwiOyB0aGVuCiAgICAgICRta2RpciBcIlwkcHJvZ2RpclwiCiAgICBlbHNlCiAgICAgICRy
bSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgogICAgZmkiCgoJICAkZWNobyA+PiAkb3V0cHV0ICJcCgog
ICAgIyByZWxpbmsgZXhlY3V0YWJsZSBpZiBuZWNlc3NhcnkKICAgIGlmIHRlc3QgLW4gXCJcJHJl
bGlua19jb21tYW5kXCI7IHRoZW4KICAgICAgaWYgcmVsaW5rX2NvbW1hbmRfb3V0cHV0PVxgZXZh
bCBcJHJlbGlua19jb21tYW5kIDI+JjFcYDsgdGhlbiA6CiAgICAgIGVsc2UKCSRlY2hvIFwiXCRy
ZWxpbmtfY29tbWFuZF9vdXRwdXRcIiA+JjIKCSRybSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgoJZXhp
dCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCiAgICBmaQoKICAgICRtdiBcIlwkcHJvZ2Rpci9cJGZp
bGVcIiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiAyPi9kZXYvbnVsbCB8fAogICAgeyAkcm0gXCJc
JHByb2dkaXIvXCRwcm9ncmFtXCI7CiAgICAgICRtdiBcIlwkcHJvZ2Rpci9cJGZpbGVcIiBcIlwk
cHJvZ2Rpci9cJHByb2dyYW1cIjsgfQogICAgJHJtIFwiXCRwcm9nZGlyL1wkZmlsZVwiCiAgZmki
CgllbHNlCgkgICRlY2hvID4+ICRvdXRwdXQgIlwKICBwcm9ncmFtPSckb3V0cHV0bmFtZScKICBw
cm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJcIgoiCglmaQoKCSRlY2hvID4+ICRvdXRwdXQgIlwK
CiAgaWYgdGVzdCAtZiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIjsgdGhlbiIKCgkjIEV4cG9ydCBv
dXIgc2hsaWJwYXRoX3ZhciBpZiB3ZSBoYXZlIG9uZS4KCWlmIHRlc3QgIiRzaGxpYnBhdGhfb3Zl
cnJpZGVzX3J1bnBhdGgiID0geWVzICYmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0
IC1uICIkdGVtcF9ycGF0aCI7IHRoZW4KCSAgJGVjaG8gPj4gJG91dHB1dCAiXAogICAgIyBBZGQg
b3VyIG93biBsaWJyYXJ5IHBhdGggdG8gJHNobGlicGF0aF92YXIKICAgICRzaGxpYnBhdGhfdmFy
PVwiJHRlbXBfcnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIKCiAgICAjIFNvbWUgc3lzdGVtcyBjYW5u
b3QgY29wZSB3aXRoIGNvbG9uLXRlcm1pbmF0ZWQgJHNobGlicGF0aF92YXIKICAgICMgVGhlIHNl
Y29uZCBjb2xvbiBpcyBhIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIEJlT1MgUjQgc2VkCiAgICAk
c2hsaWJwYXRoX3Zhcj1cYFwkZWNobyBcIlhcJCRzaGxpYnBhdGhfdmFyXCIgfCBcJFhzZWQgLWUg
J3MvOjoqXCQvLydcYAoKICAgIGV4cG9ydCAkc2hsaWJwYXRoX3ZhcgoiCglmaQoKCSMgZml4dXAg
dGhlIGRsbCBzZWFyY2hwYXRoIGlmIHdlIG5lZWQgdG8uCglpZiB0ZXN0IC1uICIkZGxsc2VhcmNo
cGF0aCI7IHRoZW4KCSAgJGVjaG8gPj4gJG91dHB1dCAiXAogICAgIyBBZGQgdGhlIGRsbCBzZWFy
Y2ggcGF0aCBjb21wb25lbnRzIHRvIHRoZSBleGVjdXRhYmxlIFBBVEgKICAgIFBBVEg9JGRsbHNl
YXJjaHBhdGg6XCRQQVRICiIKCWZpCgoJJGVjaG8gPj4gJG91dHB1dCAiXAogICAgaWYgdGVzdCBc
IlwkbGlidG9vbF9leGVjdXRlX21hZ2ljXCIgIT0gXCIkbWFnaWNcIjsgdGhlbgogICAgICAjIFJ1
biB0aGUgYWN0dWFsIHByb2dyYW0gd2l0aCBvdXIgYXJndW1lbnRzLgoiCgljYXNlICRob3N0IGlu
CgkjIEJhY2tzbGFzaGVzIHNlcGFyYXRlIGRpcmVjdG9yaWVzIG9uIHBsYWluIHdpbmRvd3MKCSot
Ki1taW5ndyB8ICotKi1vczIqKQoJICAkZWNobyA+PiAkb3V0cHV0ICJcCiAgICAgIGV4ZWMgXCRw
cm9nZGlyXFxcXFwkcHJvZ3JhbSBcJHsxK1wiXCRAXCJ9CiIKCSAgOzsKCgkqKQoJICAkZWNobyA+
PiAkb3V0cHV0ICJcCiAgICAgIGV4ZWMgXCRwcm9nZGlyL1wkcHJvZ3JhbSBcJHsxK1wiXCRAXCJ9
CiIKCSAgOzsKCWVzYWMKCSRlY2hvID4+ICRvdXRwdXQgIlwKICAgICAgXCRlY2hvIFwiXCQwOiBj
YW5ub3QgZXhlYyBcJHByb2dyYW0gXCR7MStcIlwkQFwifVwiCiAgICAgIGV4aXQgJEVYSVRfRkFJ
TFVSRQogICAgZmkKICBlbHNlCiAgICAjIFRoZSBwcm9ncmFtIGRvZXNuJ3QgZXhpc3QuCiAgICBc
JGVjaG8gXCJcJDA6IGVycm9yOiBcJHByb2dkaXIvXCRwcm9ncmFtIGRvZXMgbm90IGV4aXN0XCIg
MT4mMgogICAgXCRlY2hvIFwiVGhpcyBzY3JpcHQgaXMganVzdCBhIHdyYXBwZXIgZm9yIFwkcHJv
Z3JhbS5cIiAxPiYyCiAgICAkZWNobyBcIlNlZSB0aGUgJFBBQ0tBR0UgZG9jdW1lbnRhdGlvbiBm
b3IgbW9yZSBpbmZvcm1hdGlvbi5cIiAxPiYyCiAgICBleGl0ICRFWElUX0ZBSUxVUkUKICBmaQpm
aVwKIgoJY2htb2QgK3ggJG91dHB1dAogICAgICBmaQogICAgICBleGl0ICRFWElUX1NVQ0NFU1MK
ICAgICAgOzsKICAgIGVzYWMKCiAgICAjIFNlZSBpZiB3ZSBuZWVkIHRvIGJ1aWxkIGFuIG9sZC1m
YXNoaW9uZWQgYXJjaGl2ZS4KICAgIGZvciBvbGRsaWIgaW4gJG9sZGxpYnM7IGRvCgogICAgICBp
ZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IGNvbnZlbmllbmNlOyB0aGVuCglvbGRvYmpz
PSIkbGlib2Jqc19zYXZlIgoJYWRkbGlicz0iJGNvbnZlbmllbmNlIgoJYnVpbGRfbGlidG9vbF9s
aWJzPW5vCiAgICAgIGVsc2UKCWlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0gbW9kdWxl
OyB0aGVuCgkgIG9sZG9ianM9IiRsaWJvYmpzX3NhdmUiCgkgIGJ1aWxkX2xpYnRvb2xfbGlicz1u
bwoJZWxzZQoJICBvbGRvYmpzPSIkb2xkX2RlcGxpYnMgJG5vbl9waWNfb2JqZWN0cyIKCWZpCglh
ZGRsaWJzPSIkb2xkX2NvbnZlbmllbmNlIgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGFk
ZGxpYnMiOyB0aGVuCglnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX14IgoJZ2Vu
ZXJhdGVkPSIkZ2VuZXJhdGVkICRnZW50b3AiCgoJZnVuY19leHRyYWN0X2FyY2hpdmVzICRnZW50
b3AgJGFkZGxpYnMKCW9sZG9ianM9IiRvbGRvYmpzICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNfcmVz
dWx0IgogICAgICBmaQoKICAgICAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIGFyY2hpdmUgY29t
bWFuZHMuCiAgICAgIGlmIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzIiAmJiB0
ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgogICAgICAgY21kcz0kb2xkX2Fy
Y2hpdmVfZnJvbV9uZXdfY21kcwogICAgICBlbHNlCglldmFsIGNtZHM9XCIkb2xkX2FyY2hpdmVf
Y21kc1wiCgoJaWYgbGVuPWBleHByICJYJGNtZHMiIDogIi4qImAgJiYKCSAgICAgdGVzdCAiJGxl
biIgLWxlICIkbWF4X2NtZF9sZW4iIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxlIC0xOyB0aGVu
CgkgIGNtZHM9JG9sZF9hcmNoaXZlX2NtZHMKCWVsc2UKCSAgIyB0aGUgY29tbWFuZCBsaW5lIGlz
IHRvbyBsb25nIHRvIGxpbmsgaW4gb25lIHN0ZXAsIGxpbmsgaW4gcGFydHMKCSAgJGVjaG8gInVz
aW5nIHBpZWNld2lzZSBhcmNoaXZlIGxpbmtpbmcuLi4iCgkgIHNhdmVfUkFOTElCPSRSQU5MSUIK
CSAgUkFOTElCPToKCSAgb2JqbGlzdD0KCSAgY29uY2F0X2NtZHM9CgkgIHNhdmVfb2xkb2Jqcz0k
b2xkb2JqcwoJICAjIEdOVSBhciAyLjEwKyB3YXMgY2hhbmdlZCB0byBtYXRjaCBQT1NJWDsgdGh1
cyBubyBwYXRocyBhcmUKCSAgIyBlbmNvZGVkIGludG8gYXJjaGl2ZXMuICBUaGlzIG1ha2VzICdh
ciByJyBtYWxmdW5jdGlvbiBpbgoJICAjIHRoaXMgcGllY2V3aXNlIGxpbmtpbmcgY2FzZSB3aGVu
ZXZlciBjb25mbGljdGluZyBvYmplY3QKCSAgIyBuYW1lcyBhcHBlYXIgaW4gZGlzdGluY3QgYXIg
Y2FsbHM7IGNoZWNrLCB3YXJuIGFuZCBjb21wZW5zYXRlLgoJICAgIGlmIChmb3Igb2JqIGluICRz
YXZlX29sZG9ianMKCSAgICBkbwoJICAgICAgJGVjaG8gIlgkb2JqIiB8ICRYc2VkIC1lICdzJV4u
Ki8lJScKCSAgICBkb25lIHwgc29ydCB8IHNvcnQgLXVjID4vZGV2L251bGwgMj4mMSk7IHRoZW4K
CSAgICA6CgkgIGVsc2UKCSAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBvYmplY3QgbmFt
ZSBjb25mbGljdHM7IG92ZXJyaWRpbmcgQVJfRkxBR1MgdG8gJ2NxJyIgMT4mMgoJICAgICRlY2hv
ICIkbW9kZW5hbWU6IHdhcm5pbmc6IHRvIGVuc3VyZSB0aGF0IFBPU0lYLWNvbXBhdGlibGUgYXIg
d2lsbCB3b3JrIiAxPiYyCgkgICAgQVJfRkxBR1M9Y3EKCSAgZmkKCSAgIyBJcyB0aGVyZSBhIGJl
dHRlciB3YXkgb2YgZmluZGluZyB0aGUgbGFzdCBvYmplY3QgaW4gdGhlIGxpc3Q/CgkgIGZvciBv
YmogaW4gJHNhdmVfb2xkb2JqcwoJICBkbwoJICAgIGxhc3Rfb2xkb2JqPSRvYmoKCSAgZG9uZQoJ
ICBmb3Igb2JqIGluICRzYXZlX29sZG9ianMKCSAgZG8KCSAgICBvbGRvYmpzPSIkb2JqbGlzdCAk
b2JqIgoJICAgIG9iamxpc3Q9IiRvYmpsaXN0ICRvYmoiCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIk
b2xkX2FyY2hpdmVfY21kc1wiCgkgICAgaWYgbGVuPWBleHByICJYJHRlc3RfY21kcyIgOiAiLioi
YCAmJgoJICAgICAgIHRlc3QgIiRsZW4iIC1sZSAiJG1heF9jbWRfbGVuIjsgdGhlbgoJICAgICAg
OgoJICAgIGVsc2UKCSAgICAgICMgdGhlIGFib3ZlIGNvbW1hbmQgc2hvdWxkIGJlIHVzZWQgYmVm
b3JlIGl0IGdldHMgdG9vIGxvbmcKCSAgICAgIG9sZG9ianM9JG9iamxpc3QKCSAgICAgIGlmIHRl
c3QgIiRvYmoiID0gIiRsYXN0X29sZG9iaiIgOyB0aGVuCgkgICAgICAgIFJBTkxJQj0kc2F2ZV9S
QU5MSUIKCSAgICAgIGZpCgkgICAgICB0ZXN0IC16ICIkY29uY2F0X2NtZHMiIHx8IGNvbmNhdF9j
bWRzPSRjb25jYXRfY21kc34KCSAgICAgIGV2YWwgY29uY2F0X2NtZHM9XCJcJHtjb25jYXRfY21k
c30kb2xkX2FyY2hpdmVfY21kc1wiCgkgICAgICBvYmpsaXN0PQoJICAgIGZpCgkgIGRvbmUKCSAg
UkFOTElCPSRzYXZlX1JBTkxJQgoJICBvbGRvYmpzPSRvYmpsaXN0CgkgIGlmIHRlc3QgIlgkb2xk
b2JqcyIgPSAiWCIgOyB0aGVuCgkgICAgZXZhbCBjbWRzPVwiXCRjb25jYXRfY21kc1wiCgkgIGVs
c2UKCSAgICBldmFsIGNtZHM9XCJcJGNvbmNhdF9jbWRzflwkb2xkX2FyY2hpdmVfY21kc1wiCgkg
IGZpCglmaQogICAgICBmaQogICAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKICAgICAgZm9y
IGNtZCBpbiAkY21kczsgZG8KICAgICAgICBldmFsIGNtZD1cIiRjbWRcIgoJSUZTPSIkc2F2ZV9p
ZnMiCgkkc2hvdyAiJGNtZCIKCSRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwogICAgICBkb25l
CiAgICAgIElGUz0iJHNhdmVfaWZzIgogICAgZG9uZQoKICAgIGlmIHRlc3QgLW4gIiRnZW5lcmF0
ZWQiOyB0aGVuCiAgICAgICRzaG93ICIke3JtfXIkZ2VuZXJhdGVkIgogICAgICAkcnVuICR7cm19
ciRnZW5lcmF0ZWQKICAgIGZpCgogICAgIyBOb3cgY3JlYXRlIHRoZSBsaWJ0b29sIGFyY2hpdmUu
CiAgICBjYXNlICRvdXRwdXQgaW4KICAgICoubGEpCiAgICAgIG9sZF9saWJyYXJ5PQogICAgICB0
ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzICYmIG9sZF9saWJyYXJ5PSIkbGlibmFtZS4kbGli
ZXh0IgogICAgICAkc2hvdyAiY3JlYXRpbmcgJG91dHB1dCIKCiAgICAgICMgUHJlc2VydmUgYW55
IHZhcmlhYmxlcyB0aGF0IG1heSBhZmZlY3QgY29tcGlsZXIgYmVoYXZpb3IKICAgICAgZm9yIHZh
ciBpbiAkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms7IGRvCglpZiBldmFsIHRlc3QgLXogXCJc
JHskdmFyK3NldH1cIjsgdGhlbgoJICByZWxpbmtfY29tbWFuZD0ieyB0ZXN0IC16IFwiXCR7JHZh
citzZXR9XCIgfHwgdW5zZXQgJHZhciB8fCB7ICR2YXI9OyBleHBvcnQgJHZhcjsgfTsgfTsgJHJl
bGlua19jb21tYW5kIgoJZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2YXI7IHRlc3QgLXogIiR2YXJf
dmFsdWUiOyB0aGVuCgkgIHJlbGlua19jb21tYW5kPSIkdmFyPTsgZXhwb3J0ICR2YXI7ICRyZWxp
bmtfY29tbWFuZCIKCWVsc2UKCSAgdmFyX3ZhbHVlPWAkZWNobyAiWCR2YXJfdmFsdWUiIHwgJFhz
ZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAoJICByZWxpbmtfY29tbWFuZD0iJHZhcj1cIiR2YXJf
dmFsdWVcIjsgZXhwb3J0ICR2YXI7ICRyZWxpbmtfY29tbWFuZCIKCWZpCiAgICAgIGRvbmUKICAg
ICAgIyBRdW90ZSB0aGUgbGluayBjb21tYW5kIGZvciBzaGlwcGluZy4KICAgICAgcmVsaW5rX2Nv
bW1hbmQ9IihjZCBgcHdkYDsgJFNIRUxMICRwcm9ncGF0aCAkcHJlc2VydmVfYXJncyAtLW1vZGU9
cmVsaW5rICRsaWJ0b29sX2FyZ3MgQGluc3RfcHJlZml4X2RpckApIgogICAgICByZWxpbmtfY29t
bWFuZD1gJGVjaG8gIlgkcmVsaW5rX2NvbW1hbmQiIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vi
c3QiYAogICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfYXV0b21hdGljIiA9IHllcyA7IHRoZW4KCXJl
bGlua19jb21tYW5kPQogICAgICBmaQoKCiAgICAgICMgT25seSBjcmVhdGUgdGhlIG91dHB1dCBp
ZiBub3QgYSBkcnkgcnVuLgogICAgICBpZiB0ZXN0IC16ICIkcnVuIjsgdGhlbgoJZm9yIGluc3Rh
bGxlZCBpbiBubyB5ZXM7IGRvCgkgIGlmIHRlc3QgIiRpbnN0YWxsZWQiID0geWVzOyB0aGVuCgkg
ICAgaWYgdGVzdCAteiAiJGluc3RhbGxfbGliZGlyIjsgdGhlbgoJICAgICAgYnJlYWsKCSAgICBm
aQoJICAgIG91dHB1dD0iJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUiaQoJICAgICMgUmVwbGFj
ZSBhbGwgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMgd2l0aCB0aGUgaW5zdGFsbGVkIG9u
ZXMKCSAgICBuZXdkZXBlbmRlbmN5X2xpYnM9CgkgICAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5j
eV9saWJzOyBkbwoJICAgICAgY2FzZSAkZGVwbGliIGluCgkgICAgICAqLmxhKQoJCW5hbWU9YCRl
Y2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJCWV2YWwgbGliZGlyPWAke1NF
RH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRkZXBsaWJgCgkJaWYgdGVzdCAteiAi
JGxpYmRpciI7IHRoZW4KCQkgICRlY2hvICIkbW9kZW5hbWU6IFxgJGRlcGxpYicgaXMgbm90IGEg
dmFsaWQgbGlidG9vbCBhcmNoaXZlIiAxPiYyCgkJICBleGl0ICRFWElUX0ZBSUxVUkUKCQlmaQoJ
CSMgV2UgZG8gbm90IHdhbnQgcG9ydGFnZSdzIGluc3RhbGwgcm9vdCAoJEQpIHByZXNlbnQuICBD
aGVjayBvbmx5IGZvcgoJCSMgdGhpcyBpZiB0aGUgLmxhIGlzIGJlaW5nIGluc3RhbGxlZC4KCQlp
ZiB0ZXN0ICIkaW5zdGFsbGVkIiA9IHllcyAmJiB0ZXN0ICIkRCI7IHRoZW4KCQkgIGV2YWwgbXlu
ZXdkZXBlbmRlbmN5X2xpYj1gZWNobyAiJGxpYmRpci8kbmFtZSIgfHNlZCAtZSAiczokRDo6ZyIg
LWUgJ3M6Ly86LzpnJ2AKCQllbHNlCgkJICBteW5ld2RlcGVuZGVuY3lfbGliPSIkbGliZGlyLyRu
YW1lIgoJCWZpCgkJIyBEbyBub3QgYWRkIGR1cGxpY2F0ZXMKCQlpZiB0ZXN0ICIkbXluZXdkZXBl
bmRlbmN5X2xpYiI7IHRoZW4KCQkgIG15X2xpdHRsZV9uaW5qYV9mb29fMT1gZWNobyAkbmV3ZGVw
ZW5kZW5jeV9saWJzIHwkRUdSRVAgLWUgIiRteW5ld2RlcGVuZGVuY3lfbGliImAKCQkgIGlmIHRl
c3QgLXogIiRteV9saXR0bGVfbmluamFfZm9vXzEiOyB0aGVuCgkJICAgIG5ld2RlcGVuZGVuY3lf
bGlicz0iJG5ld2RlcGVuZGVuY3lfbGlicyAkbXluZXdkZXBlbmRlbmN5X2xpYiIKCQkgIGZpCgkJ
ZmkKCQk7OwoJCSAgKikKCQlpZiB0ZXN0ICIkaW5zdGFsbGVkIiA9IHllczsgdGhlbgoJCSAgIyBS
YXRoZXIgdXNlIFM9V09SS0RJUiBpZiBvdXIgdmVyc2lvbiBvZiBwb3J0YWdlIHN1cHBvcnRzIGl0
LgoJCSAgIyBUaGlzIGlzIGJlY2F1c2Ugc29tZSBlYnVpbGQgKGdjYykgZG8gbm90IHVzZSAkUyBh
cyBidWlsZHJvb3QuCgkJICBpZiB0ZXN0ICIkUFdPUktESVIiOyB0aGVuCgkJICAgIFM9IiRQV09S
S0RJUiIKCQkgIGZpCgkJICAjIFdlIGRvIG5vdCB3YW50IHBvcnRhZ2UncyBidWlsZCByb290ICgk
UykgcHJlc2VudC4KCQkgIG15X2xpdHRsZV9uaW5qYV9mb29fMj1gZWNobyAkZGVwbGliIHwkRUdS
RVAgLWUgIiRTImAKCQkgIGlmIHRlc3QgLW4gIiRteV9saXR0bGVfbmluamFfZm9vXzIiICYmIHRl
c3QgIiRTIjsgdGhlbgoJCSAgICBteW5ld2RlcGVuZGVuY3lfbGliPSIiCgkJICAjIFdlIGRvIG5v
dCB3YW50IHBvcnRhZ2UncyBpbnN0YWxsIHJvb3QgKCREKSBwcmVzZW50LgoJCSAgbXlfbGl0dGxl
X25pbmphX2Zvb18zPWBlY2hvICRkZXBsaWIgfCRFR1JFUCAtZSAiJEQiYAoJCSAgZWxpZiB0ZXN0
IC1uICIkbXlfbGl0dGxlX25pbmphX2Zvb18zIiAmJiB0ZXN0ICIkRCI7IHRoZW4KCQkgICAgZXZh
bCBteW5ld2RlcGVuZGVuY3lfbGliPWBlY2hvICIkZGVwbGliIiB8c2VkIC1lICJzOiREOjpnIiAt
ZSAnczovLzovOmcnYAoJCSAgZWxzZQoJCSAgICBteW5ld2RlcGVuZGVuY3lfbGliPSIkZGVwbGli
IgoJCSAgZmkKCQllbHNlCgkJICBteW5ld2RlcGVuZGVuY3lfbGliPSIkZGVwbGliIgoJCWZpCgkJ
IyBEbyBub3QgYWRkIGR1cGxpY2F0ZXMKCQlpZiB0ZXN0ICIkbXluZXdkZXBlbmRlbmN5X2xpYiI7
IHRoZW4KCQkgIG15X2xpdHRsZV9uaW5qYV9mb29fND1gZWNobyAkbmV3ZGVwZW5kZW5jeV9saWJz
IHwkRUdSRVAgLWUgIiRteW5ld2RlcGVuZGVuY3lfbGliImAKCQkgIGlmIHRlc3QgLXogIiRteV9s
aXR0bGVfbmluamFfZm9vXzQiOyB0aGVuCgkJCW5ld2RlcGVuZGVuY3lfbGlicz0iJG5ld2RlcGVu
ZGVuY3lfbGlicyAkbXluZXdkZXBlbmRlbmN5X2xpYiIKCQkgIGZpCgkJZmkKCQk7OwoJICAgICAg
ZXNhYwoJICAgIGRvbmUKCSAgICBkZXBlbmRlbmN5X2xpYnM9IiRuZXdkZXBlbmRlbmN5X2xpYnMi
CgkgICAgbmV3ZGxmaWxlcz0KCSAgICBmb3IgbGliIGluICRkbGZpbGVzOyBkbwoJICAgICAgbmFt
ZT1gJGVjaG8gIlgkbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgkgICAgICBldmFsIGxpYmRp
cj1gJHtTRUR9IC1uIC1lICdzL15saWJkaXI9XCguKlwpJC9cMS9wJyAkbGliYAoJICAgICAgaWYg
dGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCQkkZWNobyAiJG1vZGVuYW1lOiBcYCRsaWInIGlzIG5v
dCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIgMT4mMgoJCWV4aXQgJEVYSVRfRkFJTFVSRQoJICAg
ICAgZmkKCSAgICAgIG5ld2RsZmlsZXM9IiRuZXdkbGZpbGVzICRsaWJkaXIvJG5hbWUiCgkgICAg
ZG9uZQoJICAgIGRsZmlsZXM9IiRuZXdkbGZpbGVzIgoJICAgIG5ld2RscHJlZmlsZXM9CgkgICAg
Zm9yIGxpYiBpbiAkZGxwcmVmaWxlczsgZG8KCSAgICAgIG5hbWU9YCRlY2hvICJYJGxpYiIgfCAk
WHNlZCAtZSAncyVeLiovJSUnYAoJICAgICAgZXZhbCBsaWJkaXI9YCR7U0VEfSAtbiAtZSAncy9e
bGliZGlyPVwoLipcKSQvXDEvcCcgJGxpYmAKCSAgICAgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0
aGVuCgkJJGVjaG8gIiRtb2RlbmFtZTogXGAkbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFy
Y2hpdmUiIDE+JjIKCQlleGl0ICRFWElUX0ZBSUxVUkUKCSAgICAgIGZpCgkgICAgICBuZXdkbHBy
ZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyAkbGliZGlyLyRuYW1lIgoJICAgIGRvbmUKCSAgICBkbHBy
ZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyIKCSAgZWxzZQoJICAgIG5ld2RsZmlsZXM9CgkgICAgZm9y
IGxpYiBpbiAkZGxmaWxlczsgZG8KCSAgICAgIGNhc2UgJGxpYiBpbgoJCVtcXC9dKiB8IFtBLVph
LXpdOltcXC9dKikgYWJzPSIkbGliIiA7OwoJCSopIGFicz1gcHdkYCIvJGxpYiIgOzsKCSAgICAg
IGVzYWMKCSAgICAgIG5ld2RsZmlsZXM9IiRuZXdkbGZpbGVzICRhYnMiCgkgICAgZG9uZQoJICAg
IGRsZmlsZXM9IiRuZXdkbGZpbGVzIgoJICAgIG5ld2RscHJlZmlsZXM9CgkgICAgZm9yIGxpYiBp
biAkZGxwcmVmaWxlczsgZG8KCSAgICAgIGNhc2UgJGxpYiBpbgoJCVtcXC9dKiB8IFtBLVphLXpd
OltcXC9dKikgYWJzPSIkbGliIiA7OwoJCSopIGFicz1gcHdkYCIvJGxpYiIgOzsKCSAgICAgIGVz
YWMKCSAgICAgIG5ld2RscHJlZmlsZXM9IiRuZXdkbHByZWZpbGVzICRhYnMiCgkgICAgZG9uZQoJ
ICAgIGRscHJlZmlsZXM9IiRuZXdkbHByZWZpbGVzIgoJICBmaQoJICAkcm0gJG91dHB1dAoJICAj
IHBsYWNlIGRsbmFtZSBpbiBjb3JyZWN0IHBvc2l0aW9uIGZvciBjeWd3aW4KCSAgdGRsbmFtZT0k
ZGxuYW1lCgkgIGNhc2UgJGhvc3QsJG91dHB1dCwkaW5zdGFsbGVkLCRtb2R1bGUsJGRsbmFtZSBp
bgoJICAgICpjeWd3aW4qLCpsYWkseWVzLG5vLCouZGxsIHwgKm1pbmd3KiwqbGFpLHllcyxubywq
LmRsbCkgdGRsbmFtZT0uLi9iaW4vJGRsbmFtZSA7OwoJICBlc2FjCgkgICMgRG8gbm90IGFkZCBk
dXBsaWNhdGVzCgkgIGlmIHRlc3QgIiRpbnN0YWxsZWQiID0geWVzICYmIHRlc3QgIiREIjsgdGhl
bgoJICAgIGluc3RhbGxfbGliZGlyPWBlY2hvICIkaW5zdGFsbF9saWJkaXIiIHxzZWQgLWUgInM6
JEQ6OmciIC1lICdzOi8vOi86ZydgCgkgIGZpCgkgICRlY2hvID4gJG91dHB1dCAiXAojICRvdXRw
dXRuYW1lIC0gYSBsaWJ0b29sIGxpYnJhcnkgZmlsZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAt
IEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RBTVAKIwojIFBsZWFzZSBETyBOT1QgZGVsZXRl
IHRoaXMgZmlsZSEKIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgdGhlIGxpYnJhcnkuCgoj
IFRoZSBuYW1lIHRoYXQgd2UgY2FuIGRsb3BlbigzKS4KZGxuYW1lPSckdGRsbmFtZScKCiMgTmFt
ZXMgb2YgdGhpcyBsaWJyYXJ5LgpsaWJyYXJ5X25hbWVzPSckbGlicmFyeV9uYW1lcycKCiMgVGhl
IG5hbWUgb2YgdGhlIHN0YXRpYyBhcmNoaXZlLgpvbGRfbGlicmFyeT0nJG9sZF9saWJyYXJ5JwoK
IyBMaWJyYXJpZXMgdGhhdCB0aGlzIG9uZSBkZXBlbmRzIHVwb24uCmRlcGVuZGVuY3lfbGlicz0n
JGRlcGVuZGVuY3lfbGlicycKCiMgVmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgJGxpYm5hbWUuCmN1
cnJlbnQ9JGN1cnJlbnQKYWdlPSRhZ2UKcmV2aXNpb249JHJldmlzaW9uCgojIElzIHRoaXMgYW4g
YWxyZWFkeSBpbnN0YWxsZWQgbGlicmFyeT8KaW5zdGFsbGVkPSRpbnN0YWxsZWQKCiMgU2hvdWxk
IHdlIHdhcm4gYWJvdXQgcG9ydGFiaWxpdHkgd2hlbiBsaW5raW5nIGFnYWluc3QgLW1vZHVsZXM/
CnNob3VsZG5vdGxpbms9JG1vZHVsZQoKIyBGaWxlcyB0byBkbG9wZW4vZGxwcmVvcGVuCmRsb3Bl
bj0nJGRsZmlsZXMnCmRscHJlb3Blbj0nJGRscHJlZmlsZXMnCgojIERpcmVjdG9yeSB0aGF0IHRo
aXMgbGlicmFyeSBuZWVkcyB0byBiZSBpbnN0YWxsZWQgaW46CmxpYmRpcj0nJGluc3RhbGxfbGli
ZGlyJyIKCSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSBubyAmJiB0ZXN0ICIkbmVlZF9yZWxpbmsi
ID0geWVzOyB0aGVuCgkgICAgJGVjaG8gPj4gJG91dHB1dCAiXApyZWxpbmtfY29tbWFuZD1cIiRy
ZWxpbmtfY29tbWFuZFwiIgoJICBmaQoJZG9uZQogICAgICBmaQoKICAgICAgIyBEbyBhIHN5bWJv
bGljIGxpbmsgc28gdGhhdCB0aGUgbGlidG9vbCBhcmNoaXZlIGNhbiBiZSBmb3VuZCBpbgogICAg
ICAjIExEX0xJQlJBUllfUEFUSCBiZWZvcmUgdGhlIHByb2dyYW0gaXMgaW5zdGFsbGVkLgogICAg
ICAkc2hvdyAiKGNkICRvdXRwdXRfb2JqZGlyICYmICRybSAkb3V0cHV0bmFtZSAmJiAkTE5fUyAu
Li8kb3V0cHV0bmFtZSAkb3V0cHV0bmFtZSkiCiAgICAgICRydW4gZXZhbCAnKGNkICRvdXRwdXRf
b2JqZGlyICYmICRybSAkb3V0cHV0bmFtZSAmJiAkTE5fUyAuLi8kb3V0cHV0bmFtZSAkb3V0cHV0
bmFtZSknIHx8IGV4aXQgJD8KICAgICAgOzsKICAgIGVzYWMKICAgIGV4aXQgJEVYSVRfU1VDQ0VT
UwogICAgOzsKCiAgIyBsaWJ0b29sIGluc3RhbGwgbW9kZQogIGluc3RhbGwpCiAgICBtb2RlbmFt
ZT0iJG1vZGVuYW1lOiBpbnN0YWxsIgoKICAgICMgVGhlcmUgbWF5IGJlIGFuIG9wdGlvbmFsIHNo
KDEpIGFyZ3VtZW50IGF0IHRoZSBiZWdpbm5pbmcgb2YKICAgICMgaW5zdGFsbF9wcm9nIChlc3Bl
Y2lhbGx5IG9uIFdpbmRvd3MgTlQpLgogICAgaWYgdGVzdCAiJG5vbm9wdCIgPSAiJFNIRUxMIiB8
fCB0ZXN0ICIkbm9ub3B0IiA9IC9iaW4vc2ggfHwKICAgICAgICMgQWxsb3cgdGhlIHVzZSBvZiBH
TlUgc2h0b29sJ3MgaW5zdGFsbCBjb21tYW5kLgogICAgICAgJGVjaG8gIlgkbm9ub3B0IiB8ICRY
c2VkIHwgZ3JlcCBzaHRvb2wgPiAvZGV2L251bGw7IHRoZW4KICAgICAgIyBBZXN0aGV0aWNhbGx5
IHF1b3RlIGl0LgogICAgICBhcmc9YCRlY2hvICJYJG5vbm9wdCIgfCAkWHNlZCAtZSAiJHNlZF9x
dW90ZV9zdWJzdCJgCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAqW1xbXH5cI1xeXCZcKlwoXClc
e1x9XHxcO1w8XD5cP1wnXCBcCV0qfCpdKikKCWFyZz0iXCIkYXJnXCIiCgk7OwogICAgICBlc2Fj
CiAgICAgIGluc3RhbGxfcHJvZz0iJGFyZyAiCiAgICAgIGFyZz0iJDEiCiAgICAgIHNoaWZ0CiAg
ICBlbHNlCiAgICAgIGluc3RhbGxfcHJvZz0KICAgICAgYXJnPSIkbm9ub3B0IgogICAgZmkKCiAg
ICAjIFRoZSByZWFsIGZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSB0aGUgbmFtZSBvZiB0aGUgaW5z
dGFsbGF0aW9uIHByb2dyYW0uCiAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgaXQuCiAgICBhcmc9
YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCiAgICBjYXNlICRh
cmcgaW4KICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQog
ICAgICBhcmc9IlwiJGFyZ1wiIgogICAgICA7OwogICAgZXNhYwogICAgaW5zdGFsbF9wcm9nPSIk
aW5zdGFsbF9wcm9nJGFyZyIKCiAgICAjIFdlIG5lZWQgdG8gYWNjZXB0IGF0IGxlYXN0IGFsbCB0
aGUgQlNEIGluc3RhbGwgZmxhZ3MuCiAgICBkZXN0PQogICAgZmlsZXM9CiAgICBvcHRzPQogICAg
cHJldj0KICAgIGluc3RhbGxfdHlwZT0KICAgIGlzZGlyPW5vCiAgICBzdHJpcG1lPQogICAgZm9y
IGFyZwogICAgZG8KICAgICAgaWYgdGVzdCAtbiAiJGRlc3QiOyB0aGVuCglmaWxlcz0iJGZpbGVz
ICRkZXN0IgoJZGVzdD0iJGFyZyIKCWNvbnRpbnVlCiAgICAgIGZpCgogICAgICBjYXNlICRhcmcg
aW4KICAgICAgLWQpIGlzZGlyPXllcyA7OwogICAgICAtZikgcHJldj0iLWYiIDs7CiAgICAgIC1n
KSBwcmV2PSItZyIgOzsKICAgICAgLW0pIHByZXY9Ii1tIiA7OwogICAgICAtbykgcHJldj0iLW8i
IDs7CiAgICAgIC1zKQoJc3RyaXBtZT0iIC1zIgoJY29udGludWUKCTs7CiAgICAgIC0qKSA7OwoK
ICAgICAgKikKCSMgSWYgdGhlIHByZXZpb3VzIG9wdGlvbiBuZWVkZWQgYW4gYXJndW1lbnQsIHRo
ZW4gc2tpcCBpdC4KCWlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgoJICBwcmV2PQoJZWxzZQoJICBk
ZXN0PSIkYXJnIgoJICBjb250aW51ZQoJZmkKCTs7CiAgICAgIGVzYWMKCiAgICAgICMgQWVzdGhl
dGljYWxseSBxdW90ZSB0aGUgYXJndW1lbnQuCiAgICAgIGFyZz1gJGVjaG8gIlgkYXJnIiB8ICRY
c2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgICAgY2FzZSAkYXJnIGluCiAgICAgICpbXFtc
flwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQoJYXJnPSJcIiRhcmdcIiIK
CTs7CiAgICAgIGVzYWMKICAgICAgaW5zdGFsbF9wcm9nPSIkaW5zdGFsbF9wcm9nICRhcmciCiAg
ICBkb25lCgogICAgaWYgdGVzdCAteiAiJGluc3RhbGxfcHJvZyI7IHRoZW4KICAgICAgJGVjaG8g
IiRtb2RlbmFtZTogeW91IG11c3Qgc3BlY2lmeSBhbiBpbnN0YWxsIHByb2dyYW0iIDE+JjIKICAg
ICAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogICAgZmkKCiAg
ICBpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4KICAgICAgJGVjaG8gIiRtb2RlbmFtZTogdGhlIFxg
JHByZXYnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIgMT4mMgogICAgICAkZWNobyAiJGhl
bHAiIDE+JjIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICBmaQoKICAgIGlmIHRlc3QgLXog
IiRmaWxlcyI7IHRoZW4KICAgICAgaWYgdGVzdCAteiAiJGRlc3QiOyB0aGVuCgkkZWNobyAiJG1v
ZGVuYW1lOiBubyBmaWxlIG9yIGRlc3RpbmF0aW9uIHNwZWNpZmllZCIgMT4mMgogICAgICBlbHNl
CgkkZWNobyAiJG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGEgZGVzdGluYXRpb24iIDE+JjIK
ICAgICAgZmkKICAgICAgJGVjaG8gIiRoZWxwIiAxPiYyCiAgICAgIGV4aXQgJEVYSVRfRkFJTFVS
RQogICAgZmkKCiAgICAjIFN0cmlwIGFueSB0cmFpbGluZyBzbGFzaCBmcm9tIHRoZSBkZXN0aW5h
dGlvbi4KICAgIGRlc3Q9YCRlY2hvICJYJGRlc3QiIHwgJFhzZWQgLWUgJ3MlLyQlJSdgCgogICAg
IyBDaGVjayB0byBzZWUgdGhhdCB0aGUgZGVzdGluYXRpb24gaXMgYSBkaXJlY3RvcnkuCiAgICB0
ZXN0IC1kICIkZGVzdCIgJiYgaXNkaXI9eWVzCiAgICBpZiB0ZXN0ICIkaXNkaXIiID0geWVzOyB0
aGVuCiAgICAgIGRlc3RkaXI9IiRkZXN0IgogICAgICBkZXN0bmFtZT0KICAgIGVsc2UKICAgICAg
ZGVzdGRpcj1gJGVjaG8gIlgkZGVzdCIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAogICAgICB0
ZXN0ICJYJGRlc3RkaXIiID0gIlgkZGVzdCIgJiYgZGVzdGRpcj0uCiAgICAgIGRlc3RuYW1lPWAk
ZWNobyAiWCRkZXN0IiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgogICAgICAjIE5vdCBhIGRpcmVj
dG9yeSwgc28gY2hlY2sgdG8gc2VlIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgZmlsZSBzcGVjaWZp
ZWQuCiAgICAgIHNldCBkdW1teSAkZmlsZXMKICAgICAgaWYgdGVzdCAiJCMiIC1ndCAyOyB0aGVu
CgkkZWNobyAiJG1vZGVuYW1lOiBcYCRkZXN0JyBpcyBub3QgYSBkaXJlY3RvcnkiIDE+JjIKCSRl
Y2hvICIkaGVscCIgMT4mMgoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCiAgICBmaQogICAg
Y2FzZSAkZGVzdGRpciBpbgogICAgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7OwogICAgKikK
ICAgICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbwoJY2FzZSAkZmlsZSBpbgoJKi5sbykgOzsKCSop
CgkgICRlY2hvICIkbW9kZW5hbWU6IFxgJGRlc3RkaXInIG11c3QgYmUgYW4gYWJzb2x1dGUgZGly
ZWN0b3J5IG5hbWUiIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJ
TFVSRQoJICA7OwoJZXNhYwogICAgICBkb25lCiAgICAgIDs7CiAgICBlc2FjCgogICAgIyBUaGlz
IHZhcmlhYmxlIHRlbGxzIHdyYXBwZXIgc2NyaXB0cyBqdXN0IHRvIHNldCB2YXJpYWJsZXMgcmF0
aGVyCiAgICAjIHRoYW4gcnVubmluZyB0aGVpciBwcm9ncmFtcy4KICAgIGxpYnRvb2xfaW5zdGFs
bF9tYWdpYz0iJG1hZ2ljIgoKICAgIHN0YXRpY2xpYnM9CiAgICBmdXR1cmVfbGliZGlycz0KICAg
IGN1cnJlbnRfbGliZGlycz0KICAgIGZvciBmaWxlIGluICRmaWxlczsgZG8KCiAgICAgICMgRG8g
ZWFjaCBpbnN0YWxsYXRpb24uCiAgICAgIGNhc2UgJGZpbGUgaW4KICAgICAgKi4kbGliZXh0KQoJ
IyBEbyB0aGUgc3RhdGljIGxpYnJhcmllcyBsYXRlci4KCXN0YXRpY2xpYnM9IiRzdGF0aWNsaWJz
ICRmaWxlIgoJOzsKCiAgICAgICoubGEpCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5
IGlzIGEgbGlidG9vbCBhcmNoaXZlLgoJaWYgKCR7U0VEfSAtZSAnMnEnICRmaWxlIHwgZ3JlcCAi
XiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4gOgoJZWxz
ZQoJICAkZWNobyAiJG1vZGVuYW1lOiBcYCRmaWxlJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFy
Y2hpdmUiIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJ
ZmkKCglsaWJyYXJ5X25hbWVzPQoJb2xkX2xpYnJhcnk9CglyZWxpbmtfY29tbWFuZD0KCSMgSWYg
dGhlcmUgaXMgbm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgoJY2FzZSAkZmls
ZSBpbgoJKi8qIHwgKlxcKikgLiAkZmlsZSA7OwoJKikgLiAuLyRmaWxlIDs7Cgllc2FjCgoJIyBB
ZGQgdGhlIGxpYmRpciB0byBjdXJyZW50X2xpYmRpcnMgaWYgaXQgaXMgdGhlIGRlc3RpbmF0aW9u
LgoJaWYgdGVzdCAiWCRkZXN0ZGlyIiA9ICJYJGxpYmRpciI7IHRoZW4KCSAgY2FzZSAiJGN1cnJl
bnRfbGliZGlycyAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIGN1cnJlbnRfbGliZGly
cz0iJGN1cnJlbnRfbGliZGlycyAkbGliZGlyIiA7OwoJICBlc2FjCgllbHNlCgkgICMgTm90ZSB0
aGUgbGliZGlyIGFzIGEgZnV0dXJlIGxpYmRpci4KCSAgY2FzZSAiJGZ1dHVyZV9saWJkaXJzICIg
aW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikgZnV0dXJlX2xpYmRpcnM9IiRmdXR1cmVfbGli
ZGlycyAkbGliZGlyIiA7OwoJICBlc2FjCglmaQoKCWRpcj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNl
ZCAtZSAncyUvW14vXSokJSUnYC8KCXRlc3QgIlgkZGlyIiA9ICJYJGZpbGUvIiAmJiBkaXI9Cglk
aXI9IiRkaXIkb2JqZGlyIgoKCWlmIHRlc3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAg
IyBEZXRlcm1pbmUgdGhlIHByZWZpeCB0aGUgdXNlciBoYXMgYXBwbGllZCB0byBvdXIgZnV0dXJl
IGRpci4KCSAgaW5zdF9wcmVmaXhfZGlyPWAkZWNobyAiJGRlc3RkaXIiIHwgJFNFRCAicyUkbGli
ZGlyXCQlJSJgCgoJICAjIERvbid0IGFsbG93IHRoZSB1c2VyIHRvIHBsYWNlIHVzIG91dHNpZGUg
b2Ygb3VyIGV4cGVjdGVkCgkgICMgbG9jYXRpb24gYi9jIHRoaXMgcHJldmVudHMgZmluZGluZyBk
ZXBlbmRlbnQgbGlicmFyaWVzIHRoYXQKCSAgIyBhcmUgaW5zdGFsbGVkIHRvIHRoZSBzYW1lIHBy
ZWZpeC4KCSAgIyBBdCBwcmVzZW50LCB0aGlzIGNoZWNrIGRvZXNuJ3QgYWZmZWN0IHdpbmRvd3Mg
LmRsbCdzIHRoYXQKCSAgIyBhcmUgaW5zdGFsbGVkIGludG8gJGxpYmRpci8uLi9iaW4gKGN1cnJl
bnRseSwgdGhhdCB3b3JrcyBmaW5lKQoJICAjIGJ1dCBpdCdzIHNvbWV0aGluZyB0byBrZWVwIGFu
IGV5ZSBvbi4KCSAgaWYgdGVzdCAiJGluc3RfcHJlZml4X2RpciIgPSAiJGRlc3RkaXIiOyB0aGVu
CgkgICAgJGVjaG8gIiRtb2RlbmFtZTogZXJyb3I6IGNhbm5vdCBpbnN0YWxsIFxgJGZpbGUnIHRv
IGEgZGlyZWN0b3J5IG5vdCBlbmRpbmcgaW4gJGxpYmRpciIgMT4mMgoJICAgIGV4aXQgJEVYSVRf
RkFJTFVSRQoJICBmaQoKCSAgaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7IHRoZW4KCSAg
ICAjIFN0aWNrIHRoZSBpbnN0X3ByZWZpeF9kaXIgZGF0YSBpbnRvIHRoZSBsaW5rIGNvbW1hbmQu
CgkgICAgcmVsaW5rX2NvbW1hbmQ9YCRlY2hvICIkcmVsaW5rX2NvbW1hbmQiIHwgJFNFRCAicyVA
aW5zdF9wcmVmaXhfZGlyQCUtaW5zdC1wcmVmaXgtZGlyICRpbnN0X3ByZWZpeF9kaXIlImAKCSAg
ZWxzZQoJICAgIHJlbGlua19jb21tYW5kPWAkZWNobyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQg
InMlQGluc3RfcHJlZml4X2RpckAlJSJgCgkgIGZpCgoJICAkZWNobyAiJG1vZGVuYW1lOiB3YXJu
aW5nOiByZWxpbmtpbmcgXGAkZmlsZSciIDE+JjIKCSAgJHNob3cgIiRyZWxpbmtfY29tbWFuZCIK
CSAgaWYgJHJ1biBldmFsICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuIDoKCSAgZWxzZQoJICAgICRl
Y2hvICIkbW9kZW5hbWU6IGVycm9yOiByZWxpbmsgXGAkZmlsZScgd2l0aCB0aGUgYWJvdmUgY29t
bWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdCIgMT4mMgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJ
ICBmaQoJZmkKCgkjIFNlZSB0aGUgbmFtZXMgb2YgdGhlIHNoYXJlZCBsaWJyYXJ5LgoJc2V0IGR1
bW15ICRsaWJyYXJ5X25hbWVzCglpZiB0ZXN0IC1uICIkMiI7IHRoZW4KCSAgcmVhbG5hbWU9IiQy
IgoJICBzaGlmdAoJICBzaGlmdAoKCSAgc3JjbmFtZT0iJHJlYWxuYW1lIgoJICB0ZXN0IC1uICIk
cmVsaW5rX2NvbW1hbmQiICYmIHNyY25hbWU9IiRyZWFsbmFtZSJUCgoJICAjIEluc3RhbGwgdGhl
IHNoYXJlZCBsaWJyYXJ5IGFuZCBidWlsZCB0aGUgc3ltbGlua3MuCgkgICRzaG93ICIkaW5zdGFs
bF9wcm9nICRkaXIvJHNyY25hbWUgJGRlc3RkaXIvJHJlYWxuYW1lIgoJICAkcnVuIGV2YWwgIiRp
bnN0YWxsX3Byb2cgJGRpci8kc3JjbmFtZSAkZGVzdGRpci8kcmVhbG5hbWUiIHx8IGV4aXQgJD8K
CSAgaWYgdGVzdCAtbiAiJHN0cmlwbWUiICYmIHRlc3QgLW4gIiRzdHJpcGxpYiI7IHRoZW4KCSAg
ICAkc2hvdyAiJHN0cmlwbGliICRkZXN0ZGlyLyRyZWFsbmFtZSIKCSAgICAkcnVuIGV2YWwgIiRz
dHJpcGxpYiAkZGVzdGRpci8kcmVhbG5hbWUiIHx8IGV4aXQgJD8KCSAgZmkKCgkgIGlmIHRlc3Qg
IiQjIiAtZ3QgMDsgdGhlbgoJICAgICMgRGVsZXRlIHRoZSBvbGQgc3ltbGlua3MsIGFuZCBjcmVh
dGUgbmV3IG9uZXMuCgkgICAgZm9yIGxpbmtuYW1lCgkgICAgZG8KCSAgICAgIGlmIHRlc3QgIiRs
aW5rbmFtZSIgIT0gIiRyZWFsbmFtZSI7IHRoZW4KCQkkc2hvdyAiKGNkICRkZXN0ZGlyICYmICRy
bSAkbGlua25hbWUgJiYgJExOX1MgJHJlYWxuYW1lICRsaW5rbmFtZSkiCgkJJHJ1biBldmFsICIo
Y2QgJGRlc3RkaXIgJiYgJHJtICRsaW5rbmFtZSAmJiAkTE5fUyAkcmVhbG5hbWUgJGxpbmtuYW1l
KSIKCSAgICAgIGZpCgkgICAgZG9uZQoJICBmaQoKCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhl
IHBvc3RpbnN0YWxsIGNvbW1hbmRzLgoJICBsaWI9IiRkZXN0ZGlyLyRyZWFsbmFtZSIKCSAgY21k
cz0kcG9zdGluc3RhbGxfY21kcwoJICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCSAgZm9yIGNt
ZCBpbiAkY21kczsgZG8KCSAgICBJRlM9IiRzYXZlX2lmcyIKCSAgICBldmFsIGNtZD1cIiRjbWRc
IgoJICAgICRzaG93ICIkY21kIgoJICAgICRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwoJICBk
b25lCgkgIElGUz0iJHNhdmVfaWZzIgoJZmkKCgkjIEluc3RhbGwgdGhlIHBzZXVkby1saWJyYXJ5
IGZvciBpbmZvcm1hdGlvbiBwdXJwb3Nlcy4KCW5hbWU9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQg
LWUgJ3MlXi4qLyUlJ2AKCWluc3RuYW1lPSIkZGlyLyRuYW1lImkKCSRzaG93ICIkaW5zdGFsbF9w
cm9nICRpbnN0bmFtZSAkZGVzdGRpci8kbmFtZSIKCSRydW4gZXZhbCAiJGluc3RhbGxfcHJvZyAk
aW5zdG5hbWUgJGRlc3RkaXIvJG5hbWUiIHx8IGV4aXQgJD8KCgkjIE1heWJlIGluc3RhbGwgdGhl
IHN0YXRpYyBsaWJyYXJ5LCB0b28uCgl0ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIHN0YXRpY2xp
YnM9IiRzdGF0aWNsaWJzICRkaXIvJG9sZF9saWJyYXJ5IgoJOzsKCiAgICAgICoubG8pCgkjIElu
c3RhbGwgKGkuZS4gY29weSkgYSBsaWJ0b29sIG9iamVjdC4KCgkjIEZpZ3VyZSBvdXQgZGVzdGlu
YXRpb24gZmlsZSBuYW1lLCBpZiBpdCB3YXNuJ3QgYWxyZWFkeSBzcGVjaWZpZWQuCglpZiB0ZXN0
IC1uICIkZGVzdG5hbWUiOyB0aGVuCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVzdG5hbWUiCgll
bHNlCgkgIGRlc3RmaWxlPWAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgkg
IGRlc3RmaWxlPSIkZGVzdGRpci8kZGVzdGZpbGUiCglmaQoKCSMgRGVkdWNlIHRoZSBuYW1lIG9m
IHRoZSBkZXN0aW5hdGlvbiBvbGQtc3R5bGUgb2JqZWN0IGZpbGUuCgljYXNlICRkZXN0ZmlsZSBp
bgoJKi5sbykKCSAgc3RhdGljZGVzdD1gJGVjaG8gIlgkZGVzdGZpbGUiIHwgJFhzZWQgLWUgIiRs
bzJvImAKCSAgOzsKCSouJG9iamV4dCkKCSAgc3RhdGljZGVzdD0iJGRlc3RmaWxlIgoJICBkZXN0
ZmlsZT0KCSAgOzsKCSopCgkgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBjb3B5IGEgbGlidG9v
bCBvYmplY3QgdG8gXGAkZGVzdGZpbGUnIiAxPiYyCgkgICRlY2hvICIkaGVscCIgMT4mMgoJICBl
eGl0ICRFWElUX0ZBSUxVUkUKCSAgOzsKCWVzYWMKCgkjIEluc3RhbGwgdGhlIGxpYnRvb2wgb2Jq
ZWN0IGlmIHJlcXVlc3RlZC4KCWlmIHRlc3QgLW4gIiRkZXN0ZmlsZSI7IHRoZW4KCSAgJHNob3cg
IiRpbnN0YWxsX3Byb2cgJGZpbGUgJGRlc3RmaWxlIgoJICAkcnVuIGV2YWwgIiRpbnN0YWxsX3By
b2cgJGZpbGUgJGRlc3RmaWxlIiB8fCBleGl0ICQ/CglmaQoKCSMgSW5zdGFsbCB0aGUgb2xkIG9i
amVjdCBpZiBlbmFibGVkLgoJaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgoJ
ICAjIERlZHVjZSB0aGUgbmFtZSBvZiB0aGUgb2xkLXN0eWxlIG9iamVjdCBmaWxlLgoJICBzdGF0
aWNvYmo9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQgLWUgIiRsbzJvImAKCgkgICRzaG93ICIkaW5z
dGFsbF9wcm9nICRzdGF0aWNvYmogJHN0YXRpY2Rlc3QiCgkgICRydW4gZXZhbCAiJGluc3RhbGxf
cHJvZyBcJHN0YXRpY29iaiBcJHN0YXRpY2Rlc3QiIHx8IGV4aXQgJD8KCWZpCglleGl0ICRFWElU
X1NVQ0NFU1MKCTs7CgogICAgICAqKQoJIyBGaWd1cmUgb3V0IGRlc3RpbmF0aW9uIGZpbGUgbmFt
ZSwgaWYgaXQgd2Fzbid0IGFscmVhZHkgc3BlY2lmaWVkLgoJaWYgdGVzdCAtbiAiJGRlc3RuYW1l
IjsgdGhlbgoJICBkZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgoJZWxzZQoJICBkZXN0Zmls
ZT1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJICBkZXN0ZmlsZT0iJGRl
c3RkaXIvJGRlc3RmaWxlIgoJZmkKCgkjIElmIHRoZSBmaWxlIGlzIG1pc3NpbmcsIGFuZCB0aGVy
ZSBpcyBhIC5leGUgb24gdGhlIGVuZCwgc3RyaXAgaXQKCSMgYmVjYXVzZSBpdCBpcyBtb3N0IGxp
a2VseSBhIGxpYnRvb2wgc2NyaXB0IHdlIGFjdHVhbGx5IHdhbnQgdG8KCSMgaW5zdGFsbAoJc3Ry
aXBwZWRfZXh0PSIiCgljYXNlICRmaWxlIGluCgkgICouZXhlKQoJICAgIGlmIHRlc3QgISAtZiAi
JGZpbGUiOyB0aGVuCgkgICAgICBmaWxlPWAkZWNobyAkZmlsZXwke1NFRH0gJ3MsLmV4ZSQsLCdg
CgkgICAgICBzdHJpcHBlZF9leHQ9Ii5leGUiCgkgICAgZmkKCSAgICA7OwoJZXNhYwoKCSMgRG8g
YSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIHJlYWxseSBhIGxpYnRvb2wgcHJvZ3JhbS4KCWNhc2Ug
JGhvc3QgaW4KCSpjeWd3aW4qfCptaW5ndyopCgkgICAgd3JhcHBlcj1gJGVjaG8gJGZpbGUgfCAk
e1NFRH0gLWUgJ3MsLmV4ZSQsLCdgCgkgICAgOzsKCSopCgkgICAgd3JhcHBlcj0kZmlsZQoJICAg
IDs7Cgllc2FjCglpZiAoJHtTRUR9IC1lICc0cScgJHdyYXBwZXIgfCBncmVwICJeIyBHZW5lcmF0
ZWQgYnkgLiokUEFDS0FHRSIpPi9kZXYvbnVsbCAyPiYxOyB0aGVuCgkgIG5vdGluc3RfZGVwbGli
cz0KCSAgcmVsaW5rX2NvbW1hbmQ9CgoJICAjIFRvIGluc3VyZSB0aGF0ICJmb28iIGlzIHNvdXJj
ZWQsIGFuZCBub3QgImZvby5leGUiLAoJICAjIGZpbmVzZSB0aGUgY3lnd2luL01TWVMgc3lzdGVt
IGJ5IGV4cGxpY2l0bHkgc291cmNpbmcgImZvby4iCgkgICMgd2hpY2ggZGlzYWxsb3dzIHRoZSBh
dXRvbWF0aWMtYXBwZW5kLS5leGUgYmVoYXZpb3IuCgkgIGNhc2UgJGJ1aWxkIGluCgkgICpjeWd3
aW4qIHwgKm1pbmd3Kikgd3JhcHBlcmRvdD0ke3dyYXBwZXJ9LiA7OwoJICAqKSB3cmFwcGVyZG90
PSR7d3JhcHBlcn0gOzsKCSAgZXNhYwoJICAjIElmIHRoZXJlIGlzIG5vIGRpcmVjdG9yeSBjb21w
b25lbnQsIHRoZW4gYWRkIG9uZS4KCSAgY2FzZSAkZmlsZSBpbgoJICAqLyogfCAqXFwqKSAuICR7
d3JhcHBlcmRvdH0gOzsKCSAgKikgLiAuLyR7d3JhcHBlcmRvdH0gOzsKCSAgZXNhYwoKCSAgIyBD
aGVjayB0aGUgdmFyaWFibGVzIHRoYXQgc2hvdWxkIGhhdmUgYmVlbiBzZXQuCgkgIGlmIHRlc3Qg
LXogIiRub3RpbnN0X2RlcGxpYnMiOyB0aGVuCgkgICAgJGVjaG8gIiRtb2RlbmFtZTogaW52YWxp
ZCBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IFxgJHdyYXBwZXInIiAxPiYyCgkgICAgZXhpdCAkRVhJ
VF9GQUlMVVJFCgkgIGZpCgoJICBmaW5hbGl6ZT15ZXMKCSAgZm9yIGxpYiBpbiAkbm90aW5zdF9k
ZXBsaWJzOyBkbwoJICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgZWFjaCBsaWJyYXJ5IGlzIGluc3Rh
bGxlZC4KCSAgICBsaWJkaXI9CgkgICAgaWYgdGVzdCAtZiAiJGxpYiI7IHRoZW4KCSAgICAgICMg
SWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgoJICAgICAg
Y2FzZSAkbGliIGluCgkgICAgICAqLyogfCAqXFwqKSAuICRsaWIgOzsKCSAgICAgICopIC4gLi8k
bGliIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAgICBsaWJmaWxlPSIkbGliZGlyLyJgJGVjaG8g
IlgkbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJWcnYCAjIyMgdGVzdHN1aXRlOiBza2lwIG5lc3Rl
ZCBxdW90aW5nIHRlc3QKCSAgICBpZiB0ZXN0IC1uICIkbGliZGlyIiAmJiB0ZXN0ICEgLWYgIiRs
aWJmaWxlIjsgdGhlbgoJICAgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAkbGliJyBo
YXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIFxgJGxpYmRpciciIDE+JjIKCSAgICAgIGZpbmFsaXpl
PW5vCgkgICAgZmkKCSAgZG9uZQoKCSAgcmVsaW5rX2NvbW1hbmQ9CgkgICMgVG8gaW5zdXJlIHRo
YXQgImZvbyIgaXMgc291cmNlZCwgYW5kIG5vdCAiZm9vLmV4ZSIsCgkgICMgZmluZXNlIHRoZSBj
eWd3aW4vTVNZUyBzeXN0ZW0gYnkgZXhwbGljaXRseSBzb3VyY2luZyAiZm9vLiIKCSAgIyB3aGlj
aCBkaXNhbGxvd3MgdGhlIGF1dG9tYXRpYy1hcHBlbmQtLmV4ZSBiZWhhdmlvci4KCSAgY2FzZSAk
YnVpbGQgaW4KCSAgKmN5Z3dpbiogfCAqbWluZ3cqKSB3cmFwcGVyZG90PSR7d3JhcHBlcn0uIDs7
CgkgICopIHdyYXBwZXJkb3Q9JHt3cmFwcGVyfSA7OwoJICBlc2FjCgkgICMgSWYgdGhlcmUgaXMg
bm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgoJICBjYXNlICRmaWxlIGluCgkg
ICovKiB8ICpcXCopIC4gJHt3cmFwcGVyZG90fSA7OwoJICAqKSAuIC4vJHt3cmFwcGVyZG90fSA7
OwoJICBlc2FjCgoJICBvdXRwdXRuYW1lPQoJICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IG5v
ICYmIHRlc3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAgICBpZiB0ZXN0ICIkZmluYWxp
emUiID0geWVzICYmIHRlc3QgLXogIiRydW4iOyB0aGVuCgkgICAgICB0bXBkaXI9Ii90bXAiCgkg
ICAgICB0ZXN0IC1uICIkVE1QRElSIiAmJiB0bXBkaXI9IiRUTVBESVIiCgkgICAgICB0bXBkaXI9
IiR0bXBkaXIvbGlidG9vbC0kJCIKCSAgICAgIHNhdmVfdW1hc2s9YHVtYXNrYAoJICAgICAgdW1h
c2sgMDA3NwoJICAgICAgaWYgJG1rZGlyICIkdG1wZGlyIjsgdGhlbgoJICAgICAgICB1bWFzayAk
c2F2ZV91bWFzawoJICAgICAgZWxzZQoJICAgICAgICB1bWFzayAkc2F2ZV91bWFzawoJCSRlY2hv
ICIkbW9kZW5hbWU6IGVycm9yOiBjYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBkaXJlY3RvcnkgXGAk
dG1wZGlyJyIgMT4mMgoJCWNvbnRpbnVlCgkgICAgICBmaQoJICAgICAgZmlsZT1gJGVjaG8gIlgk
ZmlsZSRzdHJpcHBlZF9leHQiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCSAgICAgIG91dHB1dG5h
bWU9IiR0bXBkaXIvJGZpbGUiCgkgICAgICAjIFJlcGxhY2UgdGhlIG91dHB1dCBmaWxlIHNwZWNp
ZmljYXRpb24uCgkgICAgICByZWxpbmtfY29tbWFuZD1gJGVjaG8gIlgkcmVsaW5rX2NvbW1hbmQi
IHwgJFhzZWQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0bmFtZSInJWcnYAoKCSAgICAgICRzaG93
ICIkcmVsaW5rX2NvbW1hbmQiCgkgICAgICBpZiAkcnVuIGV2YWwgIiRyZWxpbmtfY29tbWFuZCI7
IHRoZW4gOgoJICAgICAgZWxzZQoJCSRlY2hvICIkbW9kZW5hbWU6IGVycm9yOiByZWxpbmsgXGAk
ZmlsZScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdCIgMT4mMgoJ
CSR7cm19ciAiJHRtcGRpciIKCQljb250aW51ZQoJICAgICAgZmkKCSAgICAgIGZpbGU9IiRvdXRw
dXRuYW1lIgoJICAgIGVsc2UKCSAgICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5v
dCByZWxpbmsgXGAkZmlsZSciIDE+JjIKCSAgICBmaQoJICBlbHNlCgkgICAgIyBJbnN0YWxsIHRo
ZSBiaW5hcnkgdGhhdCB3ZSBjb21waWxlZCBlYXJsaWVyLgoJICAgIGZpbGU9YCRlY2hvICJYJGZp
bGUkc3RyaXBwZWRfZXh0IiB8ICRYc2VkIC1lICJzJVwoW14vXSpcKSQlJG9iamRpci9cMSUiYAoJ
ICBmaQoJZmkKCgkjIHJlbW92ZSAuZXhlIHNpbmNlIGN5Z3dpbiAvdXNyL2Jpbi9pbnN0YWxsIHdp
bGwgYXBwZW5kIGFub3RoZXIKCSMgb25lIGFueXdheXMKCWNhc2UgJGluc3RhbGxfcHJvZywkaG9z
dCBpbgoJKi91c3IvYmluL2luc3RhbGwqLCpjeWd3aW4qKQoJICBjYXNlICRmaWxlOiRkZXN0Zmls
ZSBpbgoJICAqLmV4ZToqLmV4ZSkKCSAgICAjIHRoaXMgaXMgb2sKCSAgICA7OwoJICAqLmV4ZToq
KQoJICAgIGRlc3RmaWxlPSRkZXN0ZmlsZS5leGUKCSAgICA7OwoJICAqOiouZXhlKQoJICAgIGRl
c3RmaWxlPWAkZWNobyAkZGVzdGZpbGUgfCAke1NFRH0gLWUgJ3MsLmV4ZSQsLCdgCgkgICAgOzsK
CSAgZXNhYwoJICA7OwoJZXNhYwoJJHNob3cgIiRpbnN0YWxsX3Byb2ckc3RyaXBtZSAkZmlsZSAk
ZGVzdGZpbGUiCgkkcnVuIGV2YWwgIiRpbnN0YWxsX3Byb2dcJHN0cmlwbWUgXCRmaWxlIFwkZGVz
dGZpbGUiIHx8IGV4aXQgJD8KCXRlc3QgLW4gIiRvdXRwdXRuYW1lIiAmJiAke3JtfXIgIiR0bXBk
aXIiCgk7OwogICAgICBlc2FjCiAgICBkb25lCgogICAgZm9yIGZpbGUgaW4gJHN0YXRpY2xpYnM7
IGRvCiAgICAgIG5hbWU9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCiAg
ICAgICMgU2V0IHVwIHRoZSByYW5saWIgcGFyYW1ldGVycy4KICAgICAgb2xkbGliPSIkZGVzdGRp
ci8kbmFtZSIKCiAgICAgICRzaG93ICIkaW5zdGFsbF9wcm9nICRmaWxlICRvbGRsaWIiCiAgICAg
ICRydW4gZXZhbCAiJGluc3RhbGxfcHJvZyBcJGZpbGUgXCRvbGRsaWIiIHx8IGV4aXQgJD8KCiAg
ICAgIGlmIHRlc3QgLW4gIiRzdHJpcG1lIiAmJiB0ZXN0IC1uICIkb2xkX3N0cmlwbGliIjsgdGhl
bgoJJHNob3cgIiRvbGRfc3RyaXBsaWIgJG9sZGxpYiIKCSRydW4gZXZhbCAiJG9sZF9zdHJpcGxp
YiAkb2xkbGliIiB8fCBleGl0ICQ/CiAgICAgIGZpCgogICAgICAjIERvIGVhY2ggY29tbWFuZCBp
biB0aGUgcG9zdGluc3RhbGwgY29tbWFuZHMuCiAgICAgIGNtZHM9JG9sZF9wb3N0aW5zdGFsbF9j
bWRzCiAgICAgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwogICAgICBmb3IgY21kIGluICRjbWRz
OyBkbwoJSUZTPSIkc2F2ZV9pZnMiCglldmFsIGNtZD1cIiRjbWRcIgoJJHNob3cgIiRjbWQiCgkk
cnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KICAgICAgZG9uZQogICAgICBJRlM9IiRzYXZlX2lm
cyIKICAgIGRvbmUKCiAgICBpZiB0ZXN0IC1uICIkZnV0dXJlX2xpYmRpcnMiOyB0aGVuCiAgICAg
ICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IHJlbWVtYmVyIHRvIHJ1biBcYCRwcm9nbmFtZSAt
LWZpbmlzaCRmdXR1cmVfbGliZGlycyciIDE+JjIKICAgIGZpCgogICAgaWYgdGVzdCAtbiAiJGN1
cnJlbnRfbGliZGlycyI7IHRoZW4KICAgICAgIyBNYXliZSBqdXN0IGRvIGEgZHJ5IHJ1bi4KICAg
ICAgdGVzdCAtbiAiJHJ1biIgJiYgY3VycmVudF9saWJkaXJzPSIgLW4kY3VycmVudF9saWJkaXJz
IgogICAgICBleGVjX2NtZD0nJFNIRUxMICRwcm9ncGF0aCAkcHJlc2VydmVfYXJncyAtLWZpbmlz
aCRjdXJyZW50X2xpYmRpcnMnCiAgICBlbHNlCiAgICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwogICAg
ZmkKICAgIDs7CgogICMgbGlidG9vbCBmaW5pc2ggbW9kZQogIGZpbmlzaCkKICAgIG1vZGVuYW1l
PSIkbW9kZW5hbWU6IGZpbmlzaCIKICAgIGxpYmRpcnM9IiRub25vcHQiCiAgICBhZG1pbmNtZHM9
CgogICAgaWYgdGVzdCAtbiAiJGZpbmlzaF9jbWRzJGZpbmlzaF9ldmFsIiAmJiB0ZXN0IC1uICIk
bGliZGlycyI7IHRoZW4KICAgICAgZm9yIGRpcgogICAgICBkbwoJbGliZGlycz0iJGxpYmRpcnMg
JGRpciIKICAgICAgZG9uZQoKICAgICAgZm9yIGxpYmRpciBpbiAkbGliZGlyczsgZG8KCWlmIHRl
c3QgLW4gIiRmaW5pc2hfY21kcyI7IHRoZW4KCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIGZp
bmlzaCBjb21tYW5kcy4KCSAgY21kcz0kZmluaXNoX2NtZHMKCSAgc2F2ZV9pZnM9IiRJRlMiOyBJ
RlM9J34nCgkgIGZvciBjbWQgaW4gJGNtZHM7IGRvCgkgICAgSUZTPSIkc2F2ZV9pZnMiCgkgICAg
ZXZhbCBjbWQ9XCIkY21kXCIKCSAgICAkc2hvdyAiJGNtZCIKCSAgICAkcnVuIGV2YWwgIiRjbWQi
IHx8IGFkbWluY21kcz0iJGFkbWluY21kcwogICAgICAgJGNtZCIKCSAgZG9uZQoJICBJRlM9IiRz
YXZlX2lmcyIKCWZpCglpZiB0ZXN0IC1uICIkZmluaXNoX2V2YWwiOyB0aGVuCgkgICMgRG8gdGhl
IHNpbmdsZSBmaW5pc2hfZXZhbC4KCSAgZXZhbCBjbWRzPVwiJGZpbmlzaF9ldmFsXCIKCSAgJHJ1
biBldmFsICIkY21kcyIgfHwgYWRtaW5jbWRzPSIkYWRtaW5jbWRzCiAgICAgICAkY21kcyIKCWZp
CiAgICAgIGRvbmUKICAgIGZpCgogICAgIyBFeGl0IGhlcmUgaWYgdGhleSB3YW50ZWQgc2lsZW50
IG1vZGUuCiAgICB0ZXN0ICIkc2hvdyIgPSA6ICYmIGV4aXQgJEVYSVRfU1VDQ0VTUwoKICAgICRl
Y2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIgogICAgJGVjaG8gIkxpYnJhcmllcyBoYXZlIGJlZW4gaW5zdGFs
bGVkIGluOiIKICAgIGZvciBsaWJkaXIgaW4gJGxpYmRpcnM7IGRvCiAgICAgICRlY2hvICIgICAk
bGliZGlyIgogICAgZG9uZQogICAgJGVjaG8KICAgICRlY2hvICJJZiB5b3UgZXZlciBoYXBwZW4g
dG8gd2FudCB0byBsaW5rIGFnYWluc3QgaW5zdGFsbGVkIGxpYnJhcmllcyIKICAgICRlY2hvICJp
biBhIGdpdmVuIGRpcmVjdG9yeSwgTElCRElSLCB5b3UgbXVzdCBlaXRoZXIgdXNlIGxpYnRvb2ws
IGFuZCIKICAgICRlY2hvICJzcGVjaWZ5IHRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBsaWJyYXJ5
LCBvciB1c2UgdGhlIFxgLUxMSUJESVInIgogICAgJGVjaG8gImZsYWcgZHVyaW5nIGxpbmtpbmcg
YW5kIGRvIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOiIKICAgIGlmIHRlc3QgLW4gIiRz
aGxpYnBhdGhfdmFyIjsgdGhlbgogICAgICAkZWNobyAiICAgLSBhZGQgTElCRElSIHRvIHRoZSBc
YCRzaGxpYnBhdGhfdmFyJyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKICAgICAgJGVjaG8gIiAgICAg
ZHVyaW5nIGV4ZWN1dGlvbiIKICAgIGZpCiAgICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0
aGVuCiAgICAgICRlY2hvICIgICAtIGFkZCBMSUJESVIgdG8gdGhlIFxgJHJ1bnBhdGhfdmFyJyBl
bnZpcm9ubWVudCB2YXJpYWJsZSIKICAgICAgJGVjaG8gIiAgICAgZHVyaW5nIGxpbmtpbmciCiAg
ICBmaQogICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCiAg
ICAgIGxpYmRpcj1MSUJESVIKICAgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFn
X3NwZWNcIgoKICAgICAgJGVjaG8gIiAgIC0gdXNlIHRoZSBcYCRmbGFnJyBsaW5rZXIgZmxhZyIK
ICAgIGZpCiAgICBpZiB0ZXN0IC1uICIkYWRtaW5jbWRzIjsgdGhlbgogICAgICAkZWNobyAiICAg
LSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgcnVuIHRoZXNlIGNvbW1hbmRzOiRhZG1p
bmNtZHMiCiAgICBmaQogICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNvbmY7IHRoZW4KICAgICAg
JGVjaG8gIiAgIC0gaGF2ZSB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yIGFkZCBMSUJESVIgdG8g
XGAvZXRjL2xkLnNvLmNvbmYnIgogICAgZmkKICAgICRlY2hvCiAgICAkZWNobyAiU2VlIGFueSBv
cGVyYXRpbmcgc3lzdGVtIGRvY3VtZW50YXRpb24gYWJvdXQgc2hhcmVkIGxpYnJhcmllcyBmb3Ii
CiAgICAkZWNobyAibW9yZSBpbmZvcm1hdGlvbiwgc3VjaCBhcyB0aGUgbGQoMSkgYW5kIGxkLnNv
KDgpIG1hbnVhbCBwYWdlcy4iCiAgICAkZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKICAgIGV4aXQgJEVY
SVRfU1VDQ0VTUwogICAgOzsKCiAgIyBsaWJ0b29sIGV4ZWN1dGUgbW9kZQogIGV4ZWN1dGUpCiAg
ICBtb2RlbmFtZT0iJG1vZGVuYW1lOiBleGVjdXRlIgoKICAgICMgVGhlIGZpcnN0IGFyZ3VtZW50
IGlzIHRoZSBjb21tYW5kIG5hbWUuCiAgICBjbWQ9IiRub25vcHQiCiAgICBpZiB0ZXN0IC16ICIk
Y21kIjsgdGhlbgogICAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGEgQ09N
TUFORCIgMT4mMgogICAgICAkZWNobyAiJGhlbHAiCiAgICAgIGV4aXQgJEVYSVRfRkFJTFVSRQog
ICAgZmkKCiAgICAjIEhhbmRsZSAtZGxvcGVuIGZsYWdzIGltbWVkaWF0ZWx5LgogICAgZm9yIGZp
bGUgaW4gJGV4ZWN1dGVfZGxmaWxlczsgZG8KICAgICAgaWYgdGVzdCAhIC1mICIkZmlsZSI7IHRo
ZW4KCSRlY2hvICIkbW9kZW5hbWU6IFxgJGZpbGUnIGlzIG5vdCBhIGZpbGUiIDE+JjIKCSRlY2hv
ICIkaGVscCIgMT4mMgoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAgICBkaXI9CiAg
ICAgIGNhc2UgJGZpbGUgaW4KICAgICAgKi5sYSkKCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhpcyBy
ZWFsbHkgaXMgYSBsaWJ0b29sIGFyY2hpdmUuCglpZiAoJHtTRUR9IC1lICcycScgJGZpbGUgfCBn
cmVwICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6
CgllbHNlCgkgICRlY2hvICIkbW9kZW5hbWU6IFxgJGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9v
bCBhcmNoaXZlIiAxPiYyCgkgICRlY2hvICIkaGVscCIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxV
UkUKCWZpCgoJIyBSZWFkIHRoZSBsaWJ0b29sIGxpYnJhcnkuCglkbG5hbWU9CglsaWJyYXJ5X25h
bWVzPQoKCSMgSWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25l
LgoJY2FzZSAkZmlsZSBpbgoJKi8qIHwgKlxcKikgLiAkZmlsZSA7OwoJKikgLiAuLyRmaWxlIDs7
Cgllc2FjCgoJIyBTa2lwIHRoaXMgbGlicmFyeSBpZiBpdCBjYW5ub3QgYmUgZGxvcGVuZWQuCglp
ZiB0ZXN0IC16ICIkZGxuYW1lIjsgdGhlbgoJICAjIFdhcm4gaWYgaXQgd2FzIGEgc2hhcmVkIGxp
YnJhcnkuCgkgIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIiAmJiAkZWNobyAiJG1vZGVuYW1lOiB3
YXJuaW5nOiBcYCRmaWxlJyB3YXMgbm90IGxpbmtlZCB3aXRoIFxgLWV4cG9ydC1keW5hbWljJyIK
CSAgY29udGludWUKCWZpCgoJZGlyPWAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJS9bXi9d
KiQlJSdgCgl0ZXN0ICJYJGRpciIgPSAiWCRmaWxlIiAmJiBkaXI9LgoKCWlmIHRlc3QgLWYgIiRk
aXIvJG9iamRpci8kZGxuYW1lIjsgdGhlbgoJICBkaXI9IiRkaXIvJG9iamRpciIKCWVsc2UKCSAg
JGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGZpbmQgXGAkZGxuYW1lJyBpbiBcYCRkaXInIG9yIFxg
JGRpci8kb2JqZGlyJyIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCWZpCgk7OwoKICAgICAg
Ki5sbykKCSMgSnVzdCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSAubG8gZmlsZS4K
CWRpcj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAoJdGVzdCAiWCRk
aXIiID0gIlgkZmlsZSIgJiYgZGlyPS4KCTs7CgogICAgICAqKQoJJGVjaG8gIiRtb2RlbmFtZTog
d2FybmluZyBcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG5vbi1saWJ0b29sIGxpYnJhcmllcyBh
bmQgb2JqZWN0cyIgMT4mMgoJY29udGludWUKCTs7CiAgICAgIGVzYWMKCiAgICAgICMgR2V0IHRo
ZSBhYnNvbHV0ZSBwYXRobmFtZS4KICAgICAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAogICAg
ICB0ZXN0IC1uICIkYWJzZGlyIiAmJiBkaXI9IiRhYnNkaXIiCgogICAgICAjIE5vdyBhZGQgdGhl
IGRpcmVjdG9yeSB0byBzaGxpYnBhdGhfdmFyLgogICAgICBpZiBldmFsICJ0ZXN0IC16IFwiXCQk
c2hsaWJwYXRoX3ZhclwiIjsgdGhlbgoJZXZhbCAiJHNobGlicGF0aF92YXI9XCJcJGRpclwiIgog
ICAgICBlbHNlCglldmFsICIkc2hsaWJwYXRoX3Zhcj1cIlwkZGlyOlwkJHNobGlicGF0aF92YXJc
IiIKICAgICAgZmkKICAgIGRvbmUKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMgd3JhcHBlciBz
Y3JpcHRzIGp1c3QgdG8gc2V0IHNobGlicGF0aF92YXIKICAgICMgcmF0aGVyIHRoYW4gcnVubmlu
ZyB0aGVpciBwcm9ncmFtcy4KICAgIGxpYnRvb2xfZXhlY3V0ZV9tYWdpYz0iJG1hZ2ljIgoKICAg
ICMgQ2hlY2sgaWYgYW55IG9mIHRoZSBhcmd1bWVudHMgaXMgYSB3cmFwcGVyIHNjcmlwdC4KICAg
IGFyZ3M9CiAgICBmb3IgZmlsZQogICAgZG8KICAgICAgY2FzZSAkZmlsZSBpbgogICAgICAtKikg
OzsKICAgICAgKikKCSMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIHJlYWxseSBhIGxpYnRv
b2wgcHJvZ3JhbS4KCWlmICgke1NFRH0gLWUgJzRxJyAkZmlsZSB8IGdyZXAgIl4jIEdlbmVyYXRl
ZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCgkgICMgSWYgdGhlcmUgaXMg
bm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgoJICBjYXNlICRmaWxlIGluCgkg
ICovKiB8ICpcXCopIC4gJGZpbGUgOzsKCSAgKikgLiAuLyRmaWxlIDs7CgkgIGVzYWMKCgkgICMg
VHJhbnNmb3JtIGFyZyB0byB3cmFwcGVkIG5hbWUuCgkgIGZpbGU9IiRwcm9nZGlyLyRwcm9ncmFt
IgoJZmkKCTs7CiAgICAgIGVzYWMKICAgICAgIyBRdW90ZSBhcmd1bWVudHMgKHRvIHByZXNlcnZl
IHNoZWxsIG1ldGFjaGFyYWN0ZXJzKS4KICAgICAgZmlsZT1gJGVjaG8gIlgkZmlsZSIgfCAkWHNl
ZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCiAgICAgIGFyZ3M9IiRhcmdzIFwiJGZpbGVcIiIKICAg
IGRvbmUKCiAgICBpZiB0ZXN0IC16ICIkcnVuIjsgdGhlbgogICAgICBpZiB0ZXN0IC1uICIkc2hs
aWJwYXRoX3ZhciI7IHRoZW4KCSMgRXhwb3J0IHRoZSBzaGxpYnBhdGhfdmFyLgoJZXZhbCAiZXhw
b3J0ICRzaGxpYnBhdGhfdmFyIgogICAgICBmaQoKICAgICAgIyBSZXN0b3JlIHNhdmVkIGVudmly
b25tZW50IHZhcmlhYmxlcwogICAgICBpZiB0ZXN0ICIke3NhdmVfTENfQUxMK3NldH0iID0gc2V0
OyB0aGVuCglMQ19BTEw9IiRzYXZlX0xDX0FMTCI7IGV4cG9ydCBMQ19BTEwKICAgICAgZmkKICAg
ICAgaWYgdGVzdCAiJHtzYXZlX0xBTkcrc2V0fSIgPSBzZXQ7IHRoZW4KCUxBTkc9IiRzYXZlX0xB
TkciOyBleHBvcnQgTEFORwogICAgICBmaQoKICAgICAgIyBOb3cgcHJlcGFyZSB0byBhY3R1YWxs
eSBleGVjIHRoZSBjb21tYW5kLgogICAgICBleGVjX2NtZD0iXCRjbWQkYXJncyIKICAgIGVsc2UK
ICAgICAgIyBEaXNwbGF5IHdoYXQgd291bGQgYmUgZG9uZS4KICAgICAgaWYgdGVzdCAtbiAiJHNo
bGlicGF0aF92YXIiOyB0aGVuCglldmFsICJcJGVjaG8gXCJcJHNobGlicGF0aF92YXI9XCQkc2hs
aWJwYXRoX3ZhclwiIgoJJGVjaG8gImV4cG9ydCAkc2hsaWJwYXRoX3ZhciIKICAgICAgZmkKICAg
ICAgJGVjaG8gIiRjbWQkYXJncyIKICAgICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICBmaQogICAg
OzsKCiAgIyBsaWJ0b29sIGNsZWFuIGFuZCB1bmluc3RhbGwgbW9kZQogIGNsZWFuIHwgdW5pbnN0
YWxsKQogICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogJG1vZGUiCiAgICBybT0iJG5vbm9wdCIKICAg
IGZpbGVzPQogICAgcm1mb3JjZT0KICAgIGV4aXRfc3RhdHVzPTAKCiAgICAjIFRoaXMgdmFyaWFi
bGUgdGVsbHMgd3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHZhcmlhYmxlcyByYXRoZXIKICAg
ICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9pbnN0YWxsX21hZ2lj
PSIkbWFnaWMiCgogICAgZm9yIGFyZwogICAgZG8KICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1m
KSBybT0iJHJtICRhcmciOyBybWZvcmNlPXllcyA7OwogICAgICAtKikgcm09IiRybSAkYXJnIiA7
OwogICAgICAqKSBmaWxlcz0iJGZpbGVzICRhcmciIDs7CiAgICAgIGVzYWMKICAgIGRvbmUKCiAg
ICBpZiB0ZXN0IC16ICIkcm0iOyB0aGVuCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0
IHNwZWNpZnkgYW4gUk0gcHJvZ3JhbSIgMT4mMgogICAgICAkZWNobyAiJGhlbHAiIDE+JjIKICAg
ICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICBmaQoKICAgIHJtZGlycz0KCiAgICBvcmlnb2JqZGly
PSIkb2JqZGlyIgogICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbwogICAgICBkaXI9YCRlY2hvICJY
JGZpbGUiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKICAgICAgaWYgdGVzdCAiWCRkaXIiID0g
IlgkZmlsZSI7IHRoZW4KCWRpcj0uCglvYmpkaXI9IiRvcmlnb2JqZGlyIgogICAgICBlbHNlCglv
YmpkaXI9IiRkaXIvJG9yaWdvYmpkaXIiCiAgICAgIGZpCiAgICAgIG5hbWU9YCRlY2hvICJYJGZp
bGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKICAgICAgdGVzdCAiJG1vZGUiID0gdW5pbnN0YWxs
ICYmIG9iamRpcj0iJGRpciIKCiAgICAgICMgUmVtZW1iZXIgb2JqZGlyIGZvciByZW1vdmFsIGxh
dGVyLCBiZWluZyBjYXJlZnVsIHRvIGF2b2lkIGR1cGxpY2F0ZXMKICAgICAgaWYgdGVzdCAiJG1v
ZGUiID0gY2xlYW47IHRoZW4KCWNhc2UgIiAkcm1kaXJzICIgaW4KCSAgKiIgJG9iamRpciAiKikg
OzsKCSAgKikgcm1kaXJzPSIkcm1kaXJzICRvYmpkaXIiIDs7Cgllc2FjCiAgICAgIGZpCgogICAg
ICAjIERvbid0IGVycm9yIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QgYW5kIHJtIC1mIHdhcyB1
c2VkLgogICAgICBpZiAodGVzdCAtTCAiJGZpbGUiKSA+L2Rldi9udWxsIDI+JjEgXAoJfHwgKHRl
c3QgLWggIiRmaWxlIikgPi9kZXYvbnVsbCAyPiYxIFwKCXx8IHRlc3QgLWYgIiRmaWxlIjsgdGhl
bgoJOgogICAgICBlbGlmIHRlc3QgLWQgIiRmaWxlIjsgdGhlbgoJZXhpdF9zdGF0dXM9MQoJY29u
dGludWUKICAgICAgZWxpZiB0ZXN0ICIkcm1mb3JjZSIgPSB5ZXM7IHRoZW4KCWNvbnRpbnVlCiAg
ICAgIGZpCgogICAgICBybWZpbGVzPSIkZmlsZSIKCiAgICAgIGNhc2UgJG5hbWUgaW4KICAgICAg
Ki5sYSkKCSMgUG9zc2libHkgYSBsaWJ0b29sIGFyY2hpdmUsIHNvIHZlcmlmeSBpdC4KCWlmICgk
e1NFRH0gLWUgJzJxJyAkZmlsZSB8IGdyZXAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikg
Pi9kZXYvbnVsbCAyPiYxOyB0aGVuCgkgIC4gJGRpci8kbmFtZQoKCSAgIyBEZWxldGUgdGhlIGxp
YnRvb2wgbGlicmFyaWVzIGFuZCBzeW1saW5rcy4KCSAgZm9yIG4gaW4gJGxpYnJhcnlfbmFtZXM7
IGRvCgkgICAgcm1maWxlcz0iJHJtZmlsZXMgJG9iamRpci8kbiIKCSAgZG9uZQoJICB0ZXN0IC1u
ICIkb2xkX2xpYnJhcnkiICYmIHJtZmlsZXM9IiRybWZpbGVzICRvYmpkaXIvJG9sZF9saWJyYXJ5
IgoJICB0ZXN0ICIkbW9kZSIgPSBjbGVhbiAmJiBybWZpbGVzPSIkcm1maWxlcyAkb2JqZGlyLyRu
YW1lICRvYmpkaXIvJHtuYW1lfWkiCgoJICBpZiB0ZXN0ICIkbW9kZSIgPSB1bmluc3RhbGw7IHRo
ZW4KCSAgICBpZiB0ZXN0IC1uICIkbGlicmFyeV9uYW1lcyI7IHRoZW4KCSAgICAgICMgRG8gZWFj
aCBjb21tYW5kIGluIHRoZSBwb3N0dW5pbnN0YWxsIGNvbW1hbmRzLgoJICAgICAgY21kcz0kcG9z
dHVuaW5zdGFsbF9jbWRzCgkgICAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCSAgICAgIGZv
ciBjbWQgaW4gJGNtZHM7IGRvCgkJSUZTPSIkc2F2ZV9pZnMiCgkJZXZhbCBjbWQ9XCIkY21kXCIK
CQkkc2hvdyAiJGNtZCIKCQkkcnVuIGV2YWwgIiRjbWQiCgkJaWYgdGVzdCAiJD8iIC1uZSAwICYm
IHRlc3QgIiRybWZvcmNlIiAhPSB5ZXM7IHRoZW4KCQkgIGV4aXRfc3RhdHVzPTEKCQlmaQoJICAg
ICAgZG9uZQoJICAgICAgSUZTPSIkc2F2ZV9pZnMiCgkgICAgZmkKCgkgICAgaWYgdGVzdCAtbiAi
JG9sZF9saWJyYXJ5IjsgdGhlbgoJICAgICAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIG9sZF9w
b3N0dW5pbnN0YWxsIGNvbW1hbmRzLgoJICAgICAgY21kcz0kb2xkX3Bvc3R1bmluc3RhbGxfY21k
cwoJICAgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCgkgICAgICBmb3IgY21kIGluICRjbWRz
OyBkbwoJCUlGUz0iJHNhdmVfaWZzIgoJCWV2YWwgY21kPVwiJGNtZFwiCgkJJHNob3cgIiRjbWQi
CgkJJHJ1biBldmFsICIkY21kIgoJCWlmIHRlc3QgIiQ/IiAtbmUgMCAmJiB0ZXN0ICIkcm1mb3Jj
ZSIgIT0geWVzOyB0aGVuCgkJICBleGl0X3N0YXR1cz0xCgkJZmkKCSAgICAgIGRvbmUKCSAgICAg
IElGUz0iJHNhdmVfaWZzIgoJICAgIGZpCgkgICAgIyBGSVhNRTogc2hvdWxkIHJlaW5zdGFsbCB0
aGUgYmVzdCByZW1haW5pbmcgc2hhcmVkIGxpYnJhcnkuCgkgIGZpCglmaQoJOzsKCiAgICAgICou
bG8pCgkjIFBvc3NpYmx5IGEgbGlidG9vbCBvYmplY3QsIHNvIHZlcmlmeSBpdC4KCWlmICgke1NF
RH0gLWUgJzJxJyAkZmlsZSB8IGdyZXAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikgPi9k
ZXYvbnVsbCAyPiYxOyB0aGVuCgoJICAjIFJlYWQgdGhlIC5sbyBmaWxlCgkgIC4gJGRpci8kbmFt
ZQoKCSAgIyBBZGQgUElDIG9iamVjdCB0byB0aGUgbGlzdCBvZiBmaWxlcyB0byByZW1vdmUuCgkg
IGlmIHRlc3QgLW4gIiRwaWNfb2JqZWN0IiBcCgkgICAgICYmIHRlc3QgIiRwaWNfb2JqZWN0IiAh
PSBub25lOyB0aGVuCgkgICAgcm1maWxlcz0iJHJtZmlsZXMgJGRpci8kcGljX29iamVjdCIKCSAg
ZmkKCgkgICMgQWRkIG5vbi1QSUMgb2JqZWN0IHRvIHRoZSBsaXN0IG9mIGZpbGVzIHRvIHJlbW92
ZS4KCSAgaWYgdGVzdCAtbiAiJG5vbl9waWNfb2JqZWN0IiBcCgkgICAgICYmIHRlc3QgIiRub25f
cGljX29iamVjdCIgIT0gbm9uZTsgdGhlbgoJICAgIHJtZmlsZXM9IiRybWZpbGVzICRkaXIvJG5v
bl9waWNfb2JqZWN0IgoJICBmaQoJZmkKCTs7CgogICAgICAqKQoJaWYgdGVzdCAiJG1vZGUiID0g
Y2xlYW4gOyB0aGVuCgkgIG5vZXhlbmFtZT0kbmFtZQoJICBjYXNlICRmaWxlIGluCgkgICouZXhl
KQoJICAgIGZpbGU9YCRlY2hvICRmaWxlfCR7U0VEfSAncywuZXhlJCwsJ2AKCSAgICBub2V4ZW5h
bWU9YCRlY2hvICRuYW1lfCR7U0VEfSAncywuZXhlJCwsJ2AKCSAgICAjICRmaWxlIHdpdGggLmV4
ZSBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHJtZmlsZXMsCgkgICAgIyBhZGQgJGZpbGUgd2l0
aG91dCAuZXhlCgkgICAgcm1maWxlcz0iJHJtZmlsZXMgJGZpbGUiCgkgICAgOzsKCSAgZXNhYwoJ
ICAjIERvIGEgdGVzdCB0byBzZWUgaWYgdGhpcyBpcyBhIGxpYnRvb2wgcHJvZ3JhbS4KCSAgaWYg
KCR7U0VEfSAtZSAnNHEnICRmaWxlIHwgZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0Ui
KSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCSAgICByZWxpbmtfY29tbWFuZD0KCSAgICAuICRkaXIv
JG5vZXhlbmFtZQoKCSAgICAjIG5vdGUgJG5hbWUgc3RpbGwgY29udGFpbnMgLmV4ZSBpZiBpdCB3
YXMgaW4gJGZpbGUgb3JpZ2luYWxseQoJICAgICMgYXMgZG9lcyB0aGUgdmVyc2lvbiBvZiAkZmls
ZSB0aGF0IHdhcyBhZGRlZCBpbnRvICRybWZpbGVzCgkgICAgcm1maWxlcz0iJHJtZmlsZXMgJG9i
amRpci8kbmFtZSAkb2JqZGlyLyR7bmFtZX1TLiR7b2JqZXh0fSIKCSAgICBpZiB0ZXN0ICIkZmFz
dF9pbnN0YWxsIiA9IHllcyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkgICAg
ICBybWZpbGVzPSIkcm1maWxlcyAkb2JqZGlyL2x0LSRuYW1lIgoJICAgIGZpCgkgICAgaWYgdGVz
dCAiWCRub2V4ZW5hbWUiICE9ICJYJG5hbWUiIDsgdGhlbgoJICAgICAgcm1maWxlcz0iJHJtZmls
ZXMgJG9iamRpci9sdC0ke25vZXhlbmFtZX0uYyIKCSAgICBmaQoJICBmaQoJZmkKCTs7CiAgICAg
IGVzYWMKICAgICAgJHNob3cgIiRybSAkcm1maWxlcyIKICAgICAgJHJ1biAkcm0gJHJtZmlsZXMg
fHwgZXhpdF9zdGF0dXM9MQogICAgZG9uZQogICAgb2JqZGlyPSIkb3JpZ29iamRpciIKCiAgICAj
IFRyeSB0byByZW1vdmUgdGhlICR7b2JqZGlyfXMgaW4gdGhlIGRpcmVjdG9yaWVzIHdoZXJlIHdl
IGRlbGV0ZWQgZmlsZXMKICAgIGZvciBkaXIgaW4gJHJtZGlyczsgZG8KICAgICAgaWYgdGVzdCAt
ZCAiJGRpciI7IHRoZW4KCSRzaG93ICJybWRpciAkZGlyIgoJJHJ1biBybWRpciAkZGlyID4vZGV2
L251bGwgMj4mMQogICAgICBmaQogICAgZG9uZQoKICAgIGV4aXQgJGV4aXRfc3RhdHVzCiAgICA7
OwoKICAiIikKICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYSBNT0RFIiAx
PiYyCiAgICAkZWNobyAiJGdlbmVyaWNfaGVscCIgMT4mMgogICAgZXhpdCAkRVhJVF9GQUlMVVJF
CiAgICA7OwogIGVzYWMKCiAgaWYgdGVzdCAteiAiJGV4ZWNfY21kIjsgdGhlbgogICAgJGVjaG8g
IiRtb2RlbmFtZTogaW52YWxpZCBvcGVyYXRpb24gbW9kZSBcYCRtb2RlJyIgMT4mMgogICAgJGVj
aG8gIiRnZW5lcmljX2hlbHAiIDE+JjIKICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogIGZpCmZpICMg
dGVzdCAteiAiJHNob3dfaGVscCIKCmlmIHRlc3QgLW4gIiRleGVjX2NtZCI7IHRoZW4KICBldmFs
IGV4ZWMgJGV4ZWNfY21kCiAgZXhpdCAkRVhJVF9GQUlMVVJFCmZpCgojIFdlIG5lZWQgdG8gZGlz
cGxheSBoZWxwIGZvciBlYWNoIG9mIHRoZSBtb2Rlcy4KY2FzZSAkbW9kZSBpbgoiIikgJGVjaG8g
XAoiVXNhZ2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiBbTU9ERS1BUkddLi4uCgpQcm92aWRlIGdl
bmVyYWxpemVkIGxpYnJhcnktYnVpbGRpbmcgc3VwcG9ydCBzZXJ2aWNlcy4KCiAgICAtLWNvbmZp
ZyAgICAgICAgICBzaG93IGFsbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwogICAgLS1kZWJ1ZyAg
ICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugc2hlbGwgdHJhY2luZwotbiwgLS1kcnktcnVuICAgICAg
ICAgZGlzcGxheSBjb21tYW5kcyB3aXRob3V0IG1vZGlmeWluZyBhbnkgZmlsZXMKICAgIC0tZmVh
dHVyZXMgICAgICAgIGRpc3BsYXkgYmFzaWMgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBhbmQg
ZXhpdAogICAgLS1maW5pc2ggICAgICAgICAgc2FtZSBhcyBcYC0tbW9kZT1maW5pc2gnCiAgICAt
LWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBtZXNzYWdlIGFuZCBleGl0CiAgICAt
LW1vZGU9TU9ERSAgICAgICB1c2Ugb3BlcmF0aW9uIG1vZGUgTU9ERSBbZGVmYXVsdD1pbmZlcnJl
ZCBmcm9tIE1PREUtQVJHU10KICAgIC0tcXVpZXQgICAgICAgICAgIHNhbWUgYXMgXGAtLXNpbGVu
dCcKICAgIC0tc2lsZW50ICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uYWwgbWVzc2Fn
ZXMKICAgIC0tdGFnPVRBRyAgICAgICAgIHVzZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBmcm9t
IHRhZyBUQUcKICAgIC0tdmVyc2lvbiAgICAgICAgIHByaW50IHZlcnNpb24gaW5mb3JtYXRpb24K
Ck1PREUgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKCiAgICAgIGNsZWFuICAgICAgICAg
ICByZW1vdmUgZmlsZXMgZnJvbSB0aGUgYnVpbGQgZGlyZWN0b3J5CiAgICAgIGNvbXBpbGUgICAg
ICAgICBjb21waWxlIGEgc291cmNlIGZpbGUgaW50byBhIGxpYnRvb2wgb2JqZWN0CiAgICAgIGV4
ZWN1dGUgICAgICAgICBhdXRvbWF0aWNhbGx5IHNldCBsaWJyYXJ5IHBhdGgsIHRoZW4gcnVuIGEg
cHJvZ3JhbQogICAgICBmaW5pc2ggICAgICAgICAgY29tcGxldGUgdGhlIGluc3RhbGxhdGlvbiBv
ZiBsaWJ0b29sIGxpYnJhcmllcwogICAgICBpbnN0YWxsICAgICAgICAgaW5zdGFsbCBsaWJyYXJp
ZXMgb3IgZXhlY3V0YWJsZXMKICAgICAgbGluayAgICAgICAgICAgIGNyZWF0ZSBhIGxpYnJhcnkg
b3IgYW4gZXhlY3V0YWJsZQogICAgICB1bmluc3RhbGwgICAgICAgcmVtb3ZlIGxpYnJhcmllcyBm
cm9tIGFuIGluc3RhbGxlZCBkaXJlY3RvcnkKCk1PREUtQVJHUyB2YXJ5IGRlcGVuZGluZyBvbiB0
aGUgTU9ERS4gIFRyeSBcYCRtb2RlbmFtZSAtLWhlbHAgLS1tb2RlPU1PREUnIGZvcgphIG1vcmUg
ZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgTU9ERS4KClJlcG9ydCBidWdzIHRvIDxidWctbGlidG9v
bEBnbnUub3JnPi4iCiAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgOzsKCmNsZWFuKQogICRlY2hvIFwK
IlVzYWdlOiAkbW9kZW5hbWUgW09QVElPTl0uLi4gLS1tb2RlPWNsZWFuIFJNIFtSTS1PUFRJT05d
Li4uIEZJTEUuLi4KClJlbW92ZSBmaWxlcyBmcm9tIHRoZSBidWlsZCBkaXJlY3RvcnkuCgpSTSBp
cyB0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSB0byB1c2UgdG8gZGVsZXRlIGZpbGVzIGFzc29jaWF0
ZWQgd2l0aCBlYWNoIEZJTEUKKHR5cGljYWxseSBcYC9iaW4vcm0nKS4gIFJNLU9QVElPTlMgYXJl
IG9wdGlvbnMgKHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBhc3NlZAp0byBSTS4KCklmIEZJTEUgaXMg
YSBsaWJ0b29sIGxpYnJhcnksIG9iamVjdCBvciBwcm9ncmFtLCBhbGwgdGhlIGZpbGVzIGFzc29j
aWF0ZWQKd2l0aCBpdCBhcmUgZGVsZXRlZC4gT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlz
IGRlbGV0ZWQgdXNpbmcgUk0uIgogIDs7Cgpjb21waWxlKQogICRlY2hvIFwKIlVzYWdlOiAkbW9k
ZW5hbWUgW09QVElPTl0uLi4gLS1tb2RlPWNvbXBpbGUgQ09NUElMRS1DT01NQU5ELi4uIFNPVVJD
RUZJTEUKCkNvbXBpbGUgYSBzb3VyY2UgZmlsZSBpbnRvIGEgbGlidG9vbCBsaWJyYXJ5IG9iamVj
dC4KClRoaXMgbW9kZSBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgoK
ICAtbyBPVVRQVVQtRklMRSAgICBzZXQgdGhlIG91dHB1dCBmaWxlIG5hbWUgdG8gT1VUUFVULUZJ
TEUKICAtcHJlZmVyLXBpYyAgICAgICB0cnkgdG8gYnVpbGRpbmcgUElDIG9iamVjdHMgb25seQog
IC1wcmVmZXItbm9uLXBpYyAgIHRyeSB0byBidWlsZGluZyBub24tUElDIG9iamVjdHMgb25seQog
IC1zdGF0aWMgICAgICAgICAgIGFsd2F5cyBidWlsZCBhIFxgLm8nIGZpbGUgc3VpdGFibGUgZm9y
IHN0YXRpYyBsaW5raW5nCgpDT01QSUxFLUNPTU1BTkQgaXMgYSBjb21tYW5kIHRvIGJlIHVzZWQg
aW4gY3JlYXRpbmcgYSBcYHN0YW5kYXJkJyBvYmplY3QgZmlsZQpmcm9tIHRoZSBnaXZlbiBTT1VS
Q0VGSUxFLgoKVGhlIG91dHB1dCBmaWxlIG5hbWUgaXMgZGV0ZXJtaW5lZCBieSByZW1vdmluZyB0
aGUgZGlyZWN0b3J5IGNvbXBvbmVudCBmcm9tClNPVVJDRUZJTEUsIHRoZW4gc3Vic3RpdHV0aW5n
IHRoZSBDIHNvdXJjZSBjb2RlIHN1ZmZpeCBcYC5jJyB3aXRoIHRoZQpsaWJyYXJ5IG9iamVjdCBz
dWZmaXgsIFxgLmxvJy4iCiAgOzsKCmV4ZWN1dGUpCiAgJGVjaG8gXAoiVXNhZ2U6ICRtb2RlbmFt
ZSBbT1BUSU9OXS4uLiAtLW1vZGU9ZXhlY3V0ZSBDT01NQU5EIFtBUkdTXS4uLgoKQXV0b21hdGlj
YWxseSBzZXQgbGlicmFyeSBwYXRoLCB0aGVuIHJ1biBhIHByb2dyYW0uCgpUaGlzIG1vZGUgYWNj
ZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9uczoKCiAgLWRsb3BlbiBGSUxFICAg
ICAgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBGSUxFIHRvIHRoZSBsaWJyYXJ5IHBhdGgK
ClRoaXMgbW9kZSBzZXRzIHRoZSBsaWJyYXJ5IHBhdGggZW52aXJvbm1lbnQgdmFyaWFibGUgYWNj
b3JkaW5nIHRvIFxgLWRsb3BlbicKZmxhZ3MuCgpJZiBhbnkgb2YgdGhlIEFSR1MgYXJlIGxpYnRv
b2wgZXhlY3V0YWJsZSB3cmFwcGVycywgdGhlbiB0aGV5IGFyZSB0cmFuc2xhdGVkCmludG8gdGhl
aXIgY29ycmVzcG9uZGluZyB1bmluc3RhbGxlZCBiaW5hcnksIGFuZCBhbnkgb2YgdGhlaXIgcmVx
dWlyZWQgbGlicmFyeQpkaXJlY3RvcmllcyBhcmUgYWRkZWQgdG8gdGhlIGxpYnJhcnkgcGF0aC4K
ClRoZW4sIENPTU1BTkQgaXMgZXhlY3V0ZWQsIHdpdGggQVJHUyBhcyBhcmd1bWVudHMuIgogIDs7
CgpmaW5pc2gpCiAgJGVjaG8gXAoiVXNhZ2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9
ZmluaXNoIFtMSUJESVJdLi4uCgpDb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9uIG9mIGxpYnRvb2wg
bGlicmFyaWVzLgoKRWFjaCBMSUJESVIgaXMgYSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyBsaWJ0
b29sIGxpYnJhcmllcy4KClRoZSBjb21tYW5kcyB0aGF0IHRoaXMgbW9kZSBleGVjdXRlcyBtYXkg
cmVxdWlyZSBzdXBlcnVzZXIgcHJpdmlsZWdlcy4gIFVzZQp0aGUgXGAtLWRyeS1ydW4nIG9wdGlv
biBpZiB5b3UganVzdCB3YW50IHRvIHNlZSB3aGF0IHdvdWxkIGJlIGV4ZWN1dGVkLiIKICA7OwoK
aW5zdGFsbCkKICAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1p
bnN0YWxsIElOU1RBTEwtQ09NTUFORC4uLgoKSW5zdGFsbCBleGVjdXRhYmxlcyBvciBsaWJyYXJp
ZXMuCgpJTlNUQUxMLUNPTU1BTkQgaXMgdGhlIGluc3RhbGxhdGlvbiBjb21tYW5kLiAgVGhlIGZp
cnN0IGNvbXBvbmVudCBzaG91bGQgYmUKZWl0aGVyIHRoZSBcYGluc3RhbGwnIG9yIFxgY3AnIHBy
b2dyYW0uCgpUaGUgcmVzdCBvZiB0aGUgY29tcG9uZW50cyBhcmUgaW50ZXJwcmV0ZWQgYXMgYXJn
dW1lbnRzIHRvIHRoYXQgY29tbWFuZCAob25seQpCU0QtY29tcGF0aWJsZSBpbnN0YWxsIG9wdGlv
bnMgYXJlIHJlY29nbml6ZWQpLiIKICA7OwoKbGluaykKICAkZWNobyBcCiJVc2FnZTogJG1vZGVu
YW1lIFtPUFRJT05dLi4uIC0tbW9kZT1saW5rIExJTkstQ09NTUFORC4uLgoKTGluayBvYmplY3Qg
ZmlsZXMgb3IgbGlicmFyaWVzIHRvZ2V0aGVyIHRvIGZvcm0gYW5vdGhlciBsaWJyYXJ5LCBvciB0
bwpjcmVhdGUgYW4gZXhlY3V0YWJsZSBwcm9ncmFtLgoKTElOSy1DT01NQU5EIGlzIGEgY29tbWFu
ZCB1c2luZyB0aGUgQyBjb21waWxlciB0aGF0IHlvdSB3b3VsZCB1c2UgdG8gY3JlYXRlCmEgcHJv
Z3JhbSBmcm9tIHNldmVyYWwgb2JqZWN0IGZpbGVzLgoKVGhlIGZvbGxvd2luZyBjb21wb25lbnRz
IG9mIExJTkstQ09NTUFORCBhcmUgdHJlYXRlZCBzcGVjaWFsbHk6CgogIC1hbGwtc3RhdGljICAg
ICAgIGRvIG5vdCBkbyBhbnkgZHluYW1pYyBsaW5raW5nIGF0IGFsbAogIC1hdm9pZC12ZXJzaW9u
ICAgIGRvIG5vdCBhZGQgYSB2ZXJzaW9uIHN1ZmZpeCBpZiBwb3NzaWJsZQogIC1kbG9wZW4gRklM
RSAgICAgIFxgLWRscHJlb3BlbicgRklMRSBpZiBpdCBjYW5ub3QgYmUgZGxvcGVuZWQgYXQgcnVu
dGltZQogIC1kbHByZW9wZW4gRklMRSAgIGxpbmsgaW4gRklMRSBhbmQgYWRkIGl0cyBzeW1ib2xz
IHRvIGx0X3ByZWxvYWRlZF9zeW1ib2xzCiAgLWV4cG9ydC1keW5hbWljICAgYWxsb3cgc3ltYm9s
cyBmcm9tIE9VVFBVVC1GSUxFIHRvIGJlIHJlc29sdmVkIHdpdGggZGxzeW0oMykKICAtZXhwb3J0
LXN5bWJvbHMgU1lNRklMRQoJCSAgICB0cnkgdG8gZXhwb3J0IG9ubHkgdGhlIHN5bWJvbHMgbGlz
dGVkIGluIFNZTUZJTEUKICAtZXhwb3J0LXN5bWJvbHMtcmVnZXggUkVHRVgKCQkgICAgdHJ5IHRv
IGV4cG9ydCBvbmx5IHRoZSBzeW1ib2xzIG1hdGNoaW5nIFJFR0VYCiAgLUxMSUJESVIgICAgICAg
ICAgc2VhcmNoIExJQkRJUiBmb3IgcmVxdWlyZWQgaW5zdGFsbGVkIGxpYnJhcmllcwogIC1sTkFN
RSAgICAgICAgICAgIE9VVFBVVC1GSUxFIHJlcXVpcmVzIHRoZSBpbnN0YWxsZWQgbGlicmFyeSBs
aWJOQU1FCiAgLW1vZHVsZSAgICAgICAgICAgYnVpbGQgYSBsaWJyYXJ5IHRoYXQgY2FuIGRsb3Bl
bmVkCiAgLW5vLWZhc3QtaW5zdGFsbCAgZGlzYWJsZSB0aGUgZmFzdC1pbnN0YWxsIG1vZGUKICAt
bm8taW5zdGFsbCAgICAgICBsaW5rIGEgbm90LWluc3RhbGxhYmxlIGV4ZWN1dGFibGUKICAtbm8t
dW5kZWZpbmVkICAgICBkZWNsYXJlIHRoYXQgYSBsaWJyYXJ5IGRvZXMgbm90IHJlZmVyIHRvIGV4
dGVybmFsIHN5bWJvbHMKICAtbyBPVVRQVVQtRklMRSAgICBjcmVhdGUgT1VUUFVULUZJTEUgZnJv
bSB0aGUgc3BlY2lmaWVkIG9iamVjdHMKICAtb2JqZWN0bGlzdCBGSUxFICBVc2UgYSBsaXN0IG9m
IG9iamVjdCBmaWxlcyBmb3VuZCBpbiBGSUxFIHRvIHNwZWNpZnkgb2JqZWN0cwogIC1wcmVjaW91
cy1maWxlcy1yZWdleCBSRUdFWAogICAgICAgICAgICAgICAgICAgIGRvbid0IHJlbW92ZSBvdXRw
dXQgZmlsZXMgbWF0Y2hpbmcgUkVHRVgKICAtcmVsZWFzZSBSRUxFQVNFICBzcGVjaWZ5IHBhY2th
Z2UgcmVsZWFzZSBpbmZvcm1hdGlvbgogIC1ycGF0aCBMSUJESVIgICAgIHRoZSBjcmVhdGVkIGxp
YnJhcnkgd2lsbCBldmVudHVhbGx5IGJlIGluc3RhbGxlZCBpbiBMSUJESVIKICAtUlsgXUxJQkRJ
UiAgICAgICBhZGQgTElCRElSIHRvIHRoZSBydW50aW1lIHBhdGggb2YgcHJvZ3JhbXMgYW5kIGxp
YnJhcmllcwogIC1zdGF0aWMgICAgICAgICAgIGRvIG5vdCBkbyBhbnkgZHluYW1pYyBsaW5raW5n
IG9mIGxpYnRvb2wgbGlicmFyaWVzCiAgLXZlcnNpb24taW5mbyBDVVJSRU5UWzpSRVZJU0lPTls6
QUdFXV0KCQkgICAgc3BlY2lmeSBsaWJyYXJ5IHZlcnNpb24gaW5mbyBbZWFjaCB2YXJpYWJsZSBk
ZWZhdWx0cyB0byAwXQoKQWxsIG90aGVyIG9wdGlvbnMgKGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0
aCBcYC0nKSBhcmUgaWdub3JlZC4KCkV2ZXJ5IG90aGVyIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMg
YSBmaWxlbmFtZS4gIEZpbGVzIGVuZGluZyBpbiBcYC5sYScgYXJlCnRyZWF0ZWQgYXMgdW5pbnN0
YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMsIG90aGVyIGZpbGVzIGFyZSBzdGFuZGFyZCBvciBsaWJy
YXJ5Cm9iamVjdCBmaWxlcy4KCklmIHRoZSBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxhJywgdGhl
biBhIGxpYnRvb2wgbGlicmFyeSBpcyBjcmVhdGVkLApvbmx5IGxpYnJhcnkgb2JqZWN0cyAoXGAu
bG8nIGZpbGVzKSBtYXkgYmUgc3BlY2lmaWVkLCBhbmQgXGAtcnBhdGgnIGlzCnJlcXVpcmVkLCBl
eGNlcHQgd2hlbiBjcmVhdGluZyBhIGNvbnZlbmllbmNlIGxpYnJhcnkuCgpJZiBPVVRQVVQtRklM
RSBlbmRzIGluIFxgLmEnIG9yIFxgLmxpYicsIHRoZW4gYSBzdGFuZGFyZCBsaWJyYXJ5IGlzIGNy
ZWF0ZWQKdXNpbmcgXGBhcicgYW5kIFxgcmFubGliJywgb3Igb24gV2luZG93cyB1c2luZyBcYGxp
YicuCgpJZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxvJyBvciBcYC4ke29iamV4dH0nLCB0aGVu
IGEgcmVsb2FkYWJsZSBvYmplY3QgZmlsZQppcyBjcmVhdGVkLCBvdGhlcndpc2UgYW4gZXhlY3V0
YWJsZSBwcm9ncmFtIGlzIGNyZWF0ZWQuIgogIDs7Cgp1bmluc3RhbGwpCiAgJGVjaG8gXAoiVXNh
Z2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9dW5pbnN0YWxsIFJNIFtSTS1PUFRJT05d
Li4uIEZJTEUuLi4KClJlbW92ZSBsaWJyYXJpZXMgZnJvbSBhbiBpbnN0YWxsYXRpb24gZGlyZWN0
b3J5LgoKUk0gaXMgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0gdG8gdXNlIHRvIGRlbGV0ZSBmaWxl
cyBhc3NvY2lhdGVkIHdpdGggZWFjaCBGSUxFCih0eXBpY2FsbHkgXGAvYmluL3JtJykuICBSTS1P
UFRJT05TIGFyZSBvcHRpb25zIChzdWNoIGFzIFxgLWYnKSB0byBiZSBwYXNzZWQKdG8gUk0uCgpJ
ZiBGSUxFIGlzIGEgbGlidG9vbCBsaWJyYXJ5LCBhbGwgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0
aCBpdCBhcmUgZGVsZXRlZC4KT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRlbGV0ZWQg
dXNpbmcgUk0uIgogIDs7CgoqKQogICRlY2hvICIkbW9kZW5hbWU6IGludmFsaWQgb3BlcmF0aW9u
IG1vZGUgXGAkbW9kZSciIDE+JjIKICAkZWNobyAiJGhlbHAiIDE+JjIKICBleGl0ICRFWElUX0ZB
SUxVUkUKICA7Owplc2FjCgokZWNobwokZWNobyAiVHJ5IFxgJG1vZGVuYW1lIC0taGVscCcgZm9y
IG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgb3RoZXIgbW9kZXMuIgoKZXhpdCAkRVhJVF9TVUNDRVNT
CgojIFRoZSBUQUdzIGJlbG93IGFyZSBkZWZpbmVkIHN1Y2ggdGhhdCB3ZSBuZXZlciBnZXQgaW50
byBhIHNpdHVhdGlvbgojIGluIHdoaWNoIHdlIGRpc2FibGUgYm90aCBraW5kcyBvZiBsaWJyYXJp
ZXMuICBHaXZlbiBjb25mbGljdGluZwojIGNob2ljZXMsIHdlIGdvIGZvciBhIHN0YXRpYyBsaWJy
YXJ5LCB0aGF0IGlzIHRoZSBtb3N0IHBvcnRhYmxlLAojIHNpbmNlIHdlIGNhbid0IHRlbGwgd2hl
dGhlciBzaGFyZWQgbGlicmFyaWVzIHdlcmUgZGlzYWJsZWQgYmVjYXVzZQojIHRoZSB1c2VyIGFz
a2VkIGZvciB0aGF0IG9yIGJlY2F1c2UgdGhlIHBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9ydAojIHRo
ZW0uICBUaGlzIGlzIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQgb24gQUlYLCBiZWNhdXNlIHdlIGRv
bid0CiMgc3VwcG9ydCBoYXZpbmcgYm90aCBzdGF0aWMgYW5kIHNoYXJlZCBsaWJyYXJpZXMgZW5h
YmxlZCBhdCB0aGUgc2FtZQojIHRpbWUgb24gdGhhdCBwbGF0Zm9ybSwgc28gd2UgZGVmYXVsdCB0
byBhIHNoYXJlZC1vbmx5IGNvbmZpZ3VyYXRpb24uCiMgSWYgYSBkaXNhYmxlLXNoYXJlZCB0YWcg
aXMgZ2l2ZW4sIHdlJ2xsIGZhbGxiYWNrIHRvIGEgc3RhdGljLW9ubHkKIyBjb25maWd1cmF0aW9u
LiAgQnV0IHdlJ2xsIG5ldmVyIGdvIGZyb20gc3RhdGljLW9ubHkgdG8gc2hhcmVkLW9ubHkuCgoj
ICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IGRpc2FibGUtc2hhcmVkCmJ1aWxkX2xpYnRv
b2xfbGlicz1ubwpidWlsZF9vbGRfbGlicz15ZXMKIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJ
RzogZGlzYWJsZS1zaGFyZWQKCiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogZGlzYWJs
ZS1zdGF0aWMKYnVpbGRfb2xkX2xpYnM9YGNhc2UgJGJ1aWxkX2xpYnRvb2xfbGlicyBpbiB5ZXMp
ICRlY2hvIG5vOzsgKikgJGVjaG8geWVzOzsgZXNhY2AKIyAjIyMgRU5EIExJQlRPT0wgVEFHIENP
TkZJRzogZGlzYWJsZS1zdGF0aWMKCiMgTG9jYWwgVmFyaWFibGVzOgojIG1vZGU6c2hlbGwtc2Ny
aXB0CiMgc2gtaW5kZW50YXRpb246MgojIEVuZDoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09O
RklHOiBDWFgKCiMgTGlidG9vbCB3YXMgY29uZmlndXJlZCBvbiBob3N0IHdhYzoKCiMgU2hlbGwg
dG8gdXNlIHdoZW4gaW52b2tpbmcgc2hlbGwgc2NyaXB0cy4KU0hFTEw9Ii9iaW4vc2giCgojIFdo
ZXRoZXIgb3Igbm90IHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbGli
cz15ZXMKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4KYnVpbGRf
b2xkX2xpYnM9eWVzCgojIFdoZXRoZXIgb3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNo
YXJlZCBsaWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbmVlZF9sYz1ubwoKIyBXaGV0aGVyIG9yIG5v
dCB0byBkaXNhbGxvdyBzaGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljCmFs
bG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBXaGV0aGVyIG9yIG5v
dCB0byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb24uCmZhc3RfaW5zdGFsbD15ZXMKCiMg
VGhlIGhvc3Qgc3lzdGVtLgpob3N0X2FsaWFzPWk2ODYtcGMtbGludXgtZ251Cmhvc3Q9aTY4Ni1w
Yy1saW51eC1nbnUKCiMgQW4gZWNobyBwcm9ncmFtIHRoYXQgZG9lcyBub3QgaW50ZXJwcmV0IGJh
Y2tzbGFzaGVzLgplY2hvPSJlY2hvIgoKIyBUaGUgYXJjaGl2ZXIuCkFSPSJhciIKQVJfRkxBR1M9
ImNydSIKCiMgQSBDIGNvbXBpbGVyLgpMVENDPSJpNjg2LXBjLWxpbnV4LWdudS1nY2MiCgojIEEg
bGFuZ3VhZ2Utc3BlY2lmaWMgY29tcGlsZXIuCkNDPSJpNjg2LXBjLWxpbnV4LWdudS1nKysiCgoj
IElzIHRoZSBjb21waWxlciB0aGUgR05VIEMgY29tcGlsZXI/CndpdGhfZ2NjPXllcwoKIyBBbiBF
UkUgbWF0Y2hlci4KRUdSRVA9ImdyZXAgLUUiCgojIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBs
aWJyYXJpZXMuCkxEPSIvdXNyL2k2ODYtcGMtbGludXgtZ251L2Jpbi9sZCIKCiMgV2hldGhlciB3
ZSBuZWVkIGhhcmQgb3Igc29mdCBsaW5rcy4KTE5fUz0ibG4gLXMiCgojIEEgQlNELWNvbXBhdGli
bGUgbm0gcHJvZ3JhbS4KTk09Im5tIgoKIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbQpTVFJJ
UD0ic3RyaXAiCgojIFVzZWQgdG8gZXhhbWluZSBsaWJyYXJpZXMgd2hlbiBmaWxlX21hZ2ljX2Nt
ZCBiZWdpbnMgImZpbGUiCk1BR0lDX0NNRD1maWxlCgojIFVzZWQgb24gY3lnd2luOiBETEwgY3Jl
YXRpb24gcHJvZ3JhbS4KRExMVE9PTD0iZGxsdG9vbCIKCiMgVXNlZCBvbiBjeWd3aW46IG9iamVj
dCBkdW1wZXIuCk9CSkRVTVA9Im9iamR1bXAiCgojIFVzZWQgb24gY3lnd2luOiBhc3NlbWJsZXIu
CkFTPSJhcyIKCiMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBv
cmFyeSBsaWJ0b29sIGZpbGVzLgpvYmpkaXI9LmxpYnMKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRh
YmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJl
bG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgSG93IHRvIHBhc3MgYSBsaW5r
ZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9Ii1XbCwiCgojIE9iamVjdCBmaWxlIHN1
ZmZpeCAobm9ybWFsbHkgIm8iKS4Kb2JqZXh0PSJvIgoKIyBPbGQgYXJjaGl2ZSBzdWZmaXggKG5v
cm1hbGx5ICJhIikuCmxpYmV4dD0iYSIKCiMgU2hhcmVkIGxpYnJhcnkgc3VmZml4IChub3JtYWxs
eSAiLnNvIikuCnNocmV4dF9jbWRzPScuc28nCgojIEV4ZWN1dGFibGUgZmlsZSBzdWZmaXggKG5v
cm1hbGx5ICIiKS4KZXhlZXh0PSIiCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3MgZm9yIGJ1
aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9IiAtZlBJQyAtRFBJQyIKcGljX21vZGU9
ZGVmYXVsdAoKIyBXaGF0IGlzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhIGNvbW1hbmQ/Cm1heF9j
bWRfbGVuPTMyNzY4CgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBh
bmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIE11c3Qgd2UgbG9jayBmaWxlcyB3
aGVuIGRvaW5nIGNvbXBpbGF0aW9uID8KbmVlZF9sb2Nrcz0ibm8iCgojIERvIHdlIG5lZWQgdGhl
IGxpYiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5lZWRfbGliX3ByZWZpeD1ubwoKIyBEbyB3ZSBuZWVk
IGEgdmVyc2lvbiBmb3IgbGlicmFyaWVzPwpuZWVkX3ZlcnNpb249bm8KCiMgV2hldGhlciBkbG9w
ZW4gaXMgc3VwcG9ydGVkLgpkbG9wZW5fc3VwcG9ydD15ZXMKCiMgV2hldGhlciBkbG9wZW4gb2Yg
cHJvZ3JhbXMgaXMgc3VwcG9ydGVkLgpkbG9wZW5fc2VsZj15ZXMKCiMgV2hldGhlciBkbG9wZW4g
b2Ygc3RhdGljYWxseSBsaW5rZWQgcHJvZ3JhbXMgaXMgc3VwcG9ydGVkLgpkbG9wZW5fc2VsZl9z
dGF0aWM9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxp
bmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVp
bHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8tYnVpbHRpbiIKCiMgQ29tcGls
ZXIgZmxhZyB0byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19z
cGVjPSJcJHt3bH0tLWV4cG9ydC1keW5hbWljIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRl
IHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxh
Z19zcGVjPSJcJHt3bH0tLXdob2xlLWFyY2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0tbm8td2hv
bGUtYXJjaGl2ZSIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSB0aHJlYWQtc2FmZSBvYmpl
Y3RzLgp0aHJlYWRfc2FmZV9mbGFnX3NwZWM9IiIKCiMgTGlicmFyeSB2ZXJzaW9uaW5nIHR5cGUu
CnZlcnNpb25fdHlwZT1saW51eAoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1lIHByZWZpeC4KbGli
bmFtZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2YgYXJjaGl2ZSBuYW1lcy4gIEZpcnN0IG5h
bWUgaXMgdGhlIHJlYWwgb25lLCB0aGUgcmVzdCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBp
cyB0aGUgb25lIHRoYXQgdGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRS4KbGlicmFyeV9uYW1l
c19zcGVjPSJcJHtsaWJuYW1lfVwke3JlbGVhc2V9XCR7c2hhcmVkX2V4dH1cJHZlcnN1ZmZpeCBc
JHtsaWJuYW1lfVwke3JlbGVhc2V9XCR7c2hhcmVkX2V4dH1cJG1ham9yIFwkbGlibmFtZVwke3No
YXJlZF9leHR9IgoKIyBUaGUgY29kZWQgbmFtZSBvZiB0aGUgbGlicmFyeSwgaWYgZGlmZmVyZW50
IGZyb20gdGhlIHJlYWwgbmFtZS4Kc29uYW1lX3NwZWM9Ilwke2xpYm5hbWV9XCR7cmVsZWFzZX1c
JHtzaGFyZWRfZXh0fVwkbWFqb3IiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW5kIGluc3Rh
bGwgYW4gb2xkLXN0eWxlIGFyY2hpdmUuClJBTkxJQj0icmFubGliIgpvbGRfYXJjaGl2ZV9jbWRz
PSJcJEFSIFwkQVJfRkxBR1MgXCRvbGRsaWJcJG9sZG9ianNcJG9sZF9kZXBsaWJzflwkUkFOTElC
IFwkb2xkbGliIgpvbGRfcG9zdGluc3RhbGxfY21kcz0iXCRSQU5MSUIgXCRvbGRsaWJ+Y2htb2Qg
NjQ0IFwkb2xkbGliIgpvbGRfcG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIENyZWF0ZSBhbiBvbGQt
c3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3
X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsg
aW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21k
cz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGEgc2hhcmVkIGFyY2hp
dmUuCmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIC1ub3N0ZGxpYiBcJHByZWRlcF9vYmplY3Rz
IFwkbGlib2JqcyBcJGRlcGxpYnMgXCRwb3N0ZGVwX29iamVjdHMgXCRjb21waWxlcl9mbGFncyBc
JHt3bH0tc29uYW1lIFwkd2xcJHNvbmFtZSAtbyBcJGxpYiIKYXJjaGl2ZV9leHBzeW1fY21kcz0i
XCRDQyAtc2hhcmVkIC1ub3N0ZGxpYiBcJHByZWRlcF9vYmplY3RzIFwkbGlib2JqcyBcJGRlcGxp
YnMgXCRwb3N0ZGVwX29iamVjdHMgXCRjb21waWxlcl9mbGFncyBcJHt3bH0tc29uYW1lIFwkd2xc
JHNvbmFtZSBcJHt3bH0tcmV0YWluLXN5bWJvbHMtZmlsZSBcJHdsXCRleHBvcnRfc3ltYm9scyAt
byBcJGxpYiIKcG9zdGluc3RhbGxfY21kcz0iIgpwb3N0dW5pbnN0YWxsX2NtZHM9IiIKCiMgQ29t
bWFuZHMgdXNlZCB0byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSAoYXNzdW1lZCBzYW1lIGFzIGFi
b3ZlIGlmIGVtcHR5KQptb2R1bGVfY21kcz0iIgptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgQ29t
bWFuZHMgdG8gc3RyaXAgbGlicmFyaWVzLgpvbGRfc3RyaXBsaWI9InN0cmlwIC0tc3RyaXAtZGVi
dWciCnN0cmlwbGliPSJzdHJpcCAtLXN0cmlwLXVubmVlZGVkIgoKIyBEZXBlbmRlbmNpZXMgdG8g
cGxhY2UgYmVmb3JlIHRoZSBvYmplY3RzIGJlaW5nIGxpbmtlZCB0byBjcmVhdGUgYQojIHNoYXJl
ZCBsaWJyYXJ5LgpwcmVkZXBfb2JqZWN0cz0iL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4
LWdudS8zLjMuNS8uLi8uLi8uLi9jcnRpLm8gL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4
LWdudS8zLjMuNS9jcnRiZWdpblMubyIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGFmdGVyIHRo
ZSBvYmplY3RzIGJlaW5nIGxpbmtlZCB0byBjcmVhdGUgYQojIHNoYXJlZCBsaWJyYXJ5Lgpwb3N0
ZGVwX29iamVjdHM9Ii91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4zLjUvY3J0
ZW5kUy5vIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4zLjUvLi4vLi4vLi4v
Y3J0bi5vIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIHRoZSBvYmplY3RzIGJlaW5n
IGxpbmtlZCB0byBjcmVhdGUgYQojIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBzPSIiCgojIERlcGVu
ZGVuY2llcyB0byBwbGFjZSBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8gY3JlYXRl
IGEKIyBzaGFyZWQgbGlicmFyeS4KcG9zdGRlcHM9Ii1sc3RkYysrIC1sbSAtbGdjY19zIC1sYyAt
bGdjY19zIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGludGVybmFsbHkgYnkgdGhl
IGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9z
ZWFyY2hfcGF0aD0iLUwvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMy41IC1M
L3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjMuNS8uLi8uLi8uLi8uLi9pNjg2
LXBjLWxpbnV4LWdudS9saWIgLUwvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMu
My41Ly4uLy4uLy4uIgoKIyBNZXRob2QgdG8gY2hlY2sgd2hldGhlciBkZXBlbmRlbnQgbGlicmFy
aWVzIGFyZSBzaGFyZWQgb2JqZWN0cy4KZGVwbGlic19jaGVja19tZXRob2Q9InBhc3NfYWxsIgoK
IyBDb21tYW5kIHRvIHVzZSB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID09IGZpbGVfbWFnaWMu
CmZpbGVfbWFnaWNfY21kPSJcJE1BR0lDX0NNRCIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQg
bGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVm
aW5lZF9mbGFnPSIiCgojIEZsYWcgdGhhdCBmb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5v
X3VuZGVmaW5lZF9mbGFnPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gZmluaXNoIGEgbGlidG9vbCBs
aWJyYXJ5IGluc3RhbGxhdGlvbiBpbiBhIGRpcmVjdG9yeS4KZmluaXNoX2NtZHM9IlBBVEg9XFxc
IlxcXCRQQVRIOi9zYmluXFxcIiBsZGNvbmZpZyAtbiBcJGxpYmRpciIKCiMgU2FtZSBhcyBhYm92
ZSwgYnV0IGEgc2luZ2xlIHNjcmlwdCBmcmFnbWVudCB0byBiZSBldmFsZWQgYnV0IG5vdCBzaG93
bi4KZmluaXNoX2V2YWw9IiIKCiMgVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBwcm9kdWNlIGEg
bGlzdGluZyBvZiByYXcgc3ltYm9scyBhbmQgQyBuYW1lcy4KZ2xvYmFsX3N5bWJvbF9waXBlPSJz
ZWQgLW4gLWUgJ3MvXi4qWyAJXVxcKFtBQkNER0lSU1RXXVtBQkNER0lSU1RXXSpcXClbIAldWyAJ
XSpcXChcXClcXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXFwpXCQvXFwxIFxcMlxcMyBcXDMvcCci
CgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgcHJvcGVyIEMgZGVjbGFyYXRpb24K
Z2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL14uIC4qIFxcKC4qXFwpXCQvZXh0
ZXJuIGludCBcXDE7L3AnIgoKIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFt
ZSBhZGRyZXNzIHBhaXIKZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0ic2VkIC1uIC1l
ICdzL146IFxcKFteIF0qXFwpIFwkLyAge1xcXCJcXDFcXFwiLCAobHRfcHRyKSAwfSwvcCcgLWUg
J3MvXltCQ0RFR1JTVF0gXFwoW14gXSpcXCkgXFwoW14gXSpcXClcJC8gIHtcIlxcMlwiLCAobHRf
cHRyKSBcXCZcXDJ9LC9wJyIKCiMgVGhpcyBpcyB0aGUgc2hhcmVkIGxpYnJhcnkgcnVudGltZSBw
YXRoIHZhcmlhYmxlLgpydW5wYXRoX3Zhcj1MRF9SVU5fUEFUSAoKIyBUaGlzIGlzIHRoZSBzaGFy
ZWQgbGlicmFyeSBwYXRoIHZhcmlhYmxlLgpzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAoK
IyBJcyBzaGxpYnBhdGggc2VhcmNoZWQgYmVmb3JlIHRoZSBoYXJkLWNvZGVkIGxpYnJhcnkgc2Vh
cmNoIHBhdGg/CnNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD1ubwoKIyBIb3cgdG8gaGFyZGNv
ZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVfYWN0
aW9uPWltbWVkaWF0ZQoKIyBXaGV0aGVyIHdlIHNob3VsZCBoYXJkY29kZSBsaWJyYXJ5IHBhdGhz
IGludG8gbGlicmFyaWVzLgpoYXJkY29kZV9pbnRvX2xpYnM9eWVzCgojIEZsYWcgdG8gaGFyZGNv
ZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5IGR1cmluZyBsaW5raW5nLgojIFRoaXMgbXVzdCB3b3Jr
IGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3Bl
Yz0iXCR7d2x9LS1ycGF0aCBcJHt3bH1cJGxpYmRpciIKCiMgSWYgbGQgaXMgdXNlZCB3aGVuIGxp
bmtpbmcsIGZsYWcgdG8gaGFyZGNvZGUgJGxpYmRpciBpbnRvCiMgYSBiaW5hcnkgZHVyaW5nIGxp
bmtpbmcuIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzCiMgbm90IGV4aXN0Lgpo
YXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSIiCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmds
ZSAtcnBhdGggZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yPSIiCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgRElSL2xpYk5BTUUgZHVyaW5nIGxp
bmtpbmcgaGFyZGNvZGVzIERJUiBpbnRvIHRoZQojIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X2RpcmVjdD1ubwoKIyBTZXQgdG8geWVzIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBs
aW5raW5nIGhhcmRjb2RlcyBESVIgaW50byB0aGUKIyByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29k
ZV9taW51c19MPW5vCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVy
aW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUiBpbnRvCiMgdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byB5ZXMgaWYgYnVpbGRpbmcgYSBzaGFyZWQg
bGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIgaW50byB0aGUgbGlicmFyeQojIGFu
ZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZCBhZ2FpbnN0
IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9bm8KCiMgVmFyaWFibGVzIHdob3NlIHZhbHVlcyBzaG91
bGQgYmUgc2F2ZWQgaW4gbGlidG9vbCB3cmFwcGVyIHNjcmlwdHMgYW5kCiMgcmVzdG9yZWQgYXQg
cmVsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSJQQVRIIExEX0xJQlJBUllf
UEFUSCBMRF9SVU5fUEFUSCBHQ0NfRVhFQ19QUkVGSVggQ09NUElMRVJfUEFUSCBMSUJSQVJZX1BB
VEgiCgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0
cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11bmtub3duCgojIENvbXBp
bGUtdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcwpzeXNfbGliX3NlYXJjaF9w
YXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIiCgojIFJ1bi10aW1lIHN5c3Rl
bSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzCnN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIv
bGliIC91c3IvbGliIgoKIyBGaXggdGhlIHNoZWxsIHZhcmlhYmxlICRzcmNmaWxlIGZvciB0aGUg
Y29tcGlsZXIuCmZpeF9zcmNmaWxlX3BhdGg9IiIKCiMgU2V0IHRvIHllcyBpZiBleHBvcnRlZCBz
eW1ib2xzIGFyZSByZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBjb21t
YW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9IlwkTk0g
XCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGdsb2JhbF9zeW1ib2xfcGlwZSB8IFwkU0VEICdz
Ly4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3ltYm9scyIKCiMgVGhlIGNvbW1hbmRz
IHRvIGV4dHJhY3QgdGhlIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20gYSBzaGFyZWQgYXJjaGl2
ZS4KZXh0cmFjdF9leHBzeW1zX2NtZHM9IiIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUg
bGlzdGVkIGluIHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSIiCgojIFN5
bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgoj
ICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBDWFgKCiMgIyMjIEJFR0lOIExJQlRPT0wgVEFH
IENPTkZJRzogRjc3CgojIExpYnRvb2wgd2FzIGNvbmZpZ3VyZWQgb24gaG9zdCB3YWM6CgojIFNo
ZWxsIHRvIHVzZSB3aGVuIGludm9raW5nIHNoZWxsIHNjcmlwdHMuClNIRUxMPSIvYmluL3NoIgoK
IyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29s
X2xpYnM9eWVzCgojIFdoZXRoZXIgb3Igbm90IHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMuCmJ1
aWxkX29sZF9saWJzPXllcwoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGlu
ZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9bm8KCiMgV2hldGhlciBv
ciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRp
YwphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9bm8KCiMgV2hldGhlciBv
ciBub3QgdG8gb3B0aW1pemUgZm9yIGZhc3QgaW5zdGFsbGF0aW9uLgpmYXN0X2luc3RhbGw9eWVz
CgojIFRoZSBob3N0IHN5c3RlbS4KaG9zdF9hbGlhcz1pNjg2LXBjLWxpbnV4LWdudQpob3N0PWk2
ODYtcGMtbGludXgtZ251CgojIEFuIGVjaG8gcHJvZ3JhbSB0aGF0IGRvZXMgbm90IGludGVycHJl
dCBiYWNrc2xhc2hlcy4KZWNobz0iZWNobyIKCiMgVGhlIGFyY2hpdmVyLgpBUj0iYXIiCkFSX0ZM
QUdTPSJjcnUiCgojIEEgQyBjb21waWxlci4KTFRDQz0iaTY4Ni1wYy1saW51eC1nbnUtZ2NjIgoK
IyBBIGxhbmd1YWdlLXNwZWNpZmljIGNvbXBpbGVyLgpDQz0iaTY4Ni1wYy1saW51eC1nbnUtZzc3
IgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBDIGNvbXBpbGVyPwp3aXRoX2djYz15ZXMKCiMg
QW4gRVJFIG1hdGNoZXIuCkVHUkVQPSJncmVwIC1FIgoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVp
bGQgbGlicmFyaWVzLgpMRD0iL3Vzci9pNjg2LXBjLWxpbnV4LWdudS9iaW4vbGQiCgojIFdoZXRo
ZXIgd2UgbmVlZCBoYXJkIG9yIHNvZnQgbGlua3MuCkxOX1M9ImxuIC1zIgoKIyBBIEJTRC1jb21w
YXRpYmxlIG5tIHByb2dyYW0uCk5NPSJubSIKCiMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0K
U1RSSVA9InN0cmlwIgoKIyBVc2VkIHRvIGV4YW1pbmUgbGlicmFyaWVzIHdoZW4gZmlsZV9tYWdp
Y19jbWQgYmVnaW5zICJmaWxlIgpNQUdJQ19DTUQ9ZmlsZQoKIyBVc2VkIG9uIGN5Z3dpbjogRExM
IGNyZWF0aW9uIHByb2dyYW0uCkRMTFRPT0w9ImRsbHRvb2wiCgojIFVzZWQgb24gY3lnd2luOiBv
YmplY3QgZHVtcGVyLgpPQkpEVU1QPSJvYmpkdW1wIgoKIyBVc2VkIG9uIGN5Z3dpbjogYXNzZW1i
bGVyLgpBUz0iYXMiCgojIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0
ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4Kb2JqZGlyPS5saWJzCgojIEhvdyB0byBjcmVhdGUgcmVs
b2FkYWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSIgLXIiCnJlbG9hZF9jbWRzPSJcJExE
XCRyZWxvYWRfZmxhZyAtbyBcJG91dHB1dFwkcmVsb2FkX29ianMiCgojIEhvdyB0byBwYXNzIGEg
bGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSItV2wsIgoKIyBPYmplY3QgZmls
ZSBzdWZmaXggKG5vcm1hbGx5ICJvIikuCm9iamV4dD0ibyIKCiMgT2xkIGFyY2hpdmUgc3VmZml4
IChub3JtYWxseSAiYSIpLgpsaWJleHQ9ImEiCgojIFNoYXJlZCBsaWJyYXJ5IHN1ZmZpeCAobm9y
bWFsbHkgIi5zbyIpLgpzaHJleHRfY21kcz0nLnNvJwoKIyBFeGVjdXRhYmxlIGZpbGUgc3VmZml4
IChub3JtYWxseSAiIikuCmV4ZWV4dD0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZv
ciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIgLWZQSUMiCnBpY19tb2RlPWRl
ZmF1bHQKCiMgV2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYSBjb21tYW5kPwptYXhfY21k
X2xlbj0zMjc2OAoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5k
IC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nfbz0ieWVzIgoKIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hl
biBkb2luZyBjb21waWxhdGlvbiA/Cm5lZWRfbG9ja3M9Im5vIgoKIyBEbyB3ZSBuZWVkIHRoZSBs
aWIgcHJlZml4IGZvciBtb2R1bGVzPwpuZWVkX2xpYl9wcmVmaXg9bm8KCiMgRG8gd2UgbmVlZCBh
IHZlcnNpb24gZm9yIGxpYnJhcmllcz8KbmVlZF92ZXJzaW9uPW5vCgojIFdoZXRoZXIgZGxvcGVu
IGlzIHN1cHBvcnRlZC4KZGxvcGVuX3N1cHBvcnQ9eWVzCgojIFdoZXRoZXIgZGxvcGVuIG9mIHBy
b2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9eWVzCgojIFdoZXRoZXIgZGxvcGVuIG9m
IHN0YXRpY2FsbHkgbGlua2VkIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGZfc3Rh
dGljPXllcwoKIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgpsaW5r
X3N0YXRpY19mbGFnPSItc3RhdGljIgoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0
aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxv
dyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSJcJHt3bH0tLWV4
cG9ydC1keW5hbWljIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3Rz
IGRpcmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0t
LXdob2xlLWFyY2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIKCiMg
Q29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSB0aHJlYWQtc2FmZSBvYmplY3RzLgp0aHJlYWRfc2Fm
ZV9mbGFnX3NwZWM9IiIKCiMgTGlicmFyeSB2ZXJzaW9uaW5nIHR5cGUuCnZlcnNpb25fdHlwZT1s
aW51eAoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1lIHByZWZpeC4KbGlibmFtZV9zcGVjPSJsaWJc
JG5hbWUiCgojIExpc3Qgb2YgYXJjaGl2ZSBuYW1lcy4gIEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwg
b25lLCB0aGUgcmVzdCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25lIHRoYXQg
dGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRS4KbGlicmFyeV9uYW1lc19zcGVjPSJcJHtsaWJu
YW1lfVwke3JlbGVhc2V9XCR7c2hhcmVkX2V4dH1cJHZlcnN1ZmZpeCBcJHtsaWJuYW1lfVwke3Jl
bGVhc2V9XCR7c2hhcmVkX2V4dH1cJG1ham9yIFwkbGlibmFtZVwke3NoYXJlZF9leHR9IgoKIyBU
aGUgY29kZWQgbmFtZSBvZiB0aGUgbGlicmFyeSwgaWYgZGlmZmVyZW50IGZyb20gdGhlIHJlYWwg
bmFtZS4Kc29uYW1lX3NwZWM9Ilwke2xpYm5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fVwk
bWFqb3IiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW5kIGluc3RhbGwgYW4gb2xkLXN0eWxl
IGFyY2hpdmUuClJBTkxJQj0icmFubGliIgpvbGRfYXJjaGl2ZV9jbWRzPSJcJEFSIFwkQVJfRkxB
R1MgXCRvbGRsaWJcJG9sZG9ianNcJG9sZF9kZXBsaWJzflwkUkFOTElCIFwkb2xkbGliIgpvbGRf
cG9zdGluc3RhbGxfY21kcz0iXCRSQU5MSUIgXCRvbGRsaWJ+Y2htb2QgNjQ0IFwkb2xkbGliIgpv
bGRfcG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBm
cm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3Jl
YXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNo
YXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5k
cyB1c2VkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21k
cz0iXCRDQyAtc2hhcmVkIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyBcJHt3
bH0tc29uYW1lIFwkd2xcJHNvbmFtZSAtbyBcJGxpYiIKYXJjaGl2ZV9leHBzeW1fY21kcz0iXCRl
Y2hvIFxcXCJ7IGdsb2JhbDpcXFwiID4gXCRvdXRwdXRfb2JqZGlyL1wkbGlibmFtZS52ZXJ+CmNh
dCBcJGV4cG9ydF9zeW1ib2xzIHwgc2VkIC1lIFxcXCJzL1xcXFwoLipcXFxcKS9cXFxcMTsvXFxc
IiA+PiBcJG91dHB1dF9vYmpkaXIvXCRsaWJuYW1lLnZlcn4KXCRlY2hvIFxcXCJsb2NhbDogKjsg
fTtcXFwiID4+IFwkb3V0cHV0X29iamRpci9cJGxpYm5hbWUudmVyfgogICAgICAgIFwkQ0MgLXNo
YXJlZCBcJGxpYm9ianMgXCRkZXBsaWJzIFwkY29tcGlsZXJfZmxhZ3MgXCR7d2x9LXNvbmFtZSBc
JHdsXCRzb25hbWUgXCR7d2x9LXZlcnNpb24tc2NyaXB0IFwke3dsfVwkb3V0cHV0X29iamRpci9c
JGxpYm5hbWUudmVyIC1vIFwkbGliIgpwb3N0aW5zdGFsbF9jbWRzPSIiCnBvc3R1bmluc3RhbGxf
Y21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIChhc3N1
bWVkIHNhbWUgYXMgYWJvdmUgaWYgZW1wdHkpCm1vZHVsZV9jbWRzPSIiCm1vZHVsZV9leHBzeW1f
Y21kcz0iIgoKIyBDb21tYW5kcyB0byBzdHJpcCBsaWJyYXJpZXMuCm9sZF9zdHJpcGxpYj0ic3Ry
aXAgLS1zdHJpcC1kZWJ1ZyIKc3RyaXBsaWI9InN0cmlwIC0tc3RyaXAtdW5uZWVkZWQiCgojIERl
cGVuZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvIGNy
ZWF0ZSBhCiMgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCgojIERlcGVuZGVuY2ll
cyB0byBwbGFjZSBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8gY3JlYXRlIGEKIyBz
aGFyZWQgbGlicmFyeS4KcG9zdGRlcF9vYmplY3RzPSIiCgojIERlcGVuZGVuY2llcyB0byBwbGFj
ZSBiZWZvcmUgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvIGNyZWF0ZSBhCiMgc2hhcmVkIGxp
YnJhcnkuCnByZWRlcHM9IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGFmdGVyIHRoZSBvYmpl
Y3RzIGJlaW5nIGxpbmtlZCB0byBjcmVhdGUgYQojIHNoYXJlZCBsaWJyYXJ5Lgpwb3N0ZGVwcz0i
IgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGludGVybmFsbHkgYnkgdGhlIGNvbXBp
bGVyIHdoZW4gbGlua2luZwojIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hf
cGF0aD0iIgoKIyBNZXRob2QgdG8gY2hlY2sgd2hldGhlciBkZXBlbmRlbnQgbGlicmFyaWVzIGFy
ZSBzaGFyZWQgb2JqZWN0cy4KZGVwbGlic19jaGVja19tZXRob2Q9InBhc3NfYWxsIgoKIyBDb21t
YW5kIHRvIHVzZSB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID09IGZpbGVfbWFnaWMuCmZpbGVf
bWFnaWNfY21kPSJcJE1BR0lDX0NNRCIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQgbGlicmFy
aWVzIHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9m
bGFnPSIiCgojIEZsYWcgdGhhdCBmb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5vX3VuZGVm
aW5lZF9mbGFnPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gZmluaXNoIGEgbGlidG9vbCBsaWJyYXJ5
IGluc3RhbGxhdGlvbiBpbiBhIGRpcmVjdG9yeS4KZmluaXNoX2NtZHM9IlBBVEg9XFxcIlxcXCRQ
QVRIOi9zYmluXFxcIiBsZGNvbmZpZyAtbiBcJGxpYmRpciIKCiMgU2FtZSBhcyBhYm92ZSwgYnV0
IGEgc2luZ2xlIHNjcmlwdCBmcmFnbWVudCB0byBiZSBldmFsZWQgYnV0IG5vdCBzaG93bi4KZmlu
aXNoX2V2YWw9IiIKCiMgVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBwcm9kdWNlIGEgbGlzdGlu
ZyBvZiByYXcgc3ltYm9scyBhbmQgQyBuYW1lcy4KZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4g
LWUgJ3MvXi4qWyAJXVxcKFtBQkNER0lSU1RXXVtBQkNER0lSU1RXXSpcXClbIAldWyAJXSpcXChc
XClcXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXFwpXCQvXFwxIFxcMlxcMyBcXDMvcCciCgojIFRy
YW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgcHJvcGVyIEMgZGVjbGFyYXRpb24KZ2xvYmFs
X3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL14uIC4qIFxcKC4qXFwpXCQvZXh0ZXJuIGlu
dCBcXDE7L3AnIgoKIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRy
ZXNzIHBhaXIKZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0ic2VkIC1uIC1lICdzL146
IFxcKFteIF0qXFwpIFwkLyAge1xcXCJcXDFcXFwiLCAobHRfcHRyKSAwfSwvcCcgLWUgJ3MvXltC
Q0RFR1JTVF0gXFwoW14gXSpcXCkgXFwoW14gXSpcXClcJC8gIHtcIlxcMlwiLCAobHRfcHRyKSBc
XCZcXDJ9LC9wJyIKCiMgVGhpcyBpcyB0aGUgc2hhcmVkIGxpYnJhcnkgcnVudGltZSBwYXRoIHZh
cmlhYmxlLgpydW5wYXRoX3Zhcj1MRF9SVU5fUEFUSAoKIyBUaGlzIGlzIHRoZSBzaGFyZWQgbGli
cmFyeSBwYXRoIHZhcmlhYmxlLgpzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAoKIyBJcyBz
aGxpYnBhdGggc2VhcmNoZWQgYmVmb3JlIHRoZSBoYXJkLWNvZGVkIGxpYnJhcnkgc2VhcmNoIHBh
dGg/CnNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD1ubwoKIyBIb3cgdG8gaGFyZGNvZGUgYSBz
aGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPWlt
bWVkaWF0ZQoKIyBXaGV0aGVyIHdlIHNob3VsZCBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8g
bGlicmFyaWVzLgpoYXJkY29kZV9pbnRvX2xpYnM9eWVzCgojIEZsYWcgdG8gaGFyZGNvZGUgJGxp
YmRpciBpbnRvIGEgYmluYXJ5IGR1cmluZyBsaW5raW5nLgojIFRoaXMgbXVzdCB3b3JrIGV2ZW4g
aWYgJGxpYmRpciBkb2VzIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iXCR7
d2x9LS1ycGF0aCBcJHt3bH1cJGxpYmRpciIKCiMgSWYgbGQgaXMgdXNlZCB3aGVuIGxpbmtpbmcs
IGZsYWcgdG8gaGFyZGNvZGUgJGxpYmRpciBpbnRvCiMgYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcu
IFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzCiMgbm90IGV4aXN0LgpoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjX2xkPSIiCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmdsZSAtcnBh
dGggZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJh
dG9yPSIiCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgRElSL2xpYk5BTUUgZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzIERJUiBpbnRvIHRoZQojIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2RpcmVj
dD1ubwoKIyBTZXQgdG8geWVzIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5n
IGhhcmRjb2RlcyBESVIgaW50byB0aGUKIyByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51
c19MPW5vCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxp
bmtpbmcgaGFyZGNvZGVzIERJUiBpbnRvCiMgdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X3NobGlicGF0aF92YXI9dW5zdXBwb3J0ZWQKCiMgU2V0IHRvIHllcyBpZiBidWlsZGluZyBhIHNo
YXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVzIERJUiBpbnRvIHRoZSBsaWJyYXJ5
CiMgYW5kIGFsbCBzdWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkIGFn
YWluc3QgaXQuCmhhcmRjb2RlX2F1dG9tYXRpYz1ubwoKIyBWYXJpYWJsZXMgd2hvc2UgdmFsdWVz
IHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0cyBhbmQKIyByZXN0b3Jl
ZCBhdCByZWxpbmsgdGltZS4KdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9IlBBVEggTERfTElC
UkFSWV9QQVRIIExEX1JVTl9QQVRIIEdDQ19FWEVDX1BSRUZJWCBDT01QSUxFUl9QQVRIIExJQlJB
UllfUEFUSCIKCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBh
bGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPXVua25vd24KCiMg
Q29tcGlsZS10aW1lIHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzCnN5c19saWJfc2Vh
cmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiAvdXNyL2xvY2FsL2xpYiIKCiMgUnVuLXRpbWUg
c3lzdGVtIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMKc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3Nw
ZWM9Ii9saWIgL3Vzci9saWIiCgojIEZpeCB0aGUgc2hlbGwgdmFyaWFibGUgJHNyY2ZpbGUgZm9y
IHRoZSBjb21waWxlci4KZml4X3NyY2ZpbGVfcGF0aD0iIgoKIyBTZXQgdG8geWVzIGlmIGV4cG9y
dGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhl
IGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0i
XCROTSBcJGxpYm9ianMgXCRjb252ZW5pZW5jZSB8IFwkZ2xvYmFsX3N5bWJvbF9waXBlIHwgXCRT
RUQgJ3MvLiogLy8nIHwgc29ydCB8IHVuaXEgPiBcJGV4cG9ydF9zeW1ib2xzIgoKIyBUaGUgY29t
bWFuZHMgdG8gZXh0cmFjdCB0aGUgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBh
cmNoaXZlLgpleHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5v
dCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9Il9H
TE9CQUxfT0ZGU0VUX1RBQkxFXyIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9y
dGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6IEY3
NwoK
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50784</attachid>
            <date>2005-02-08 15:05 0000</date>
            <desc>/usr/bin/libtool for rep-gtk problem</desc>
            <filename>libtool</filename>
            <type>text/plain</type>
            <data encoding="base64">IyEgL2Jpbi9zaAoKIyBsaWJ0b29sVCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWls
ZGluZyBzdXBwb3J0IHNlcnZpY2VzLgojIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5ICAoR05V
IGxpYnRvb2wgMS41LjEwKQojIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBi
ZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KIwojIENvcHlyaWdodCAoQykgMTk5NiwgMTk5Nywg
MTk5OCwgMTk5OSwgMjAwMCwgMjAwMQojIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoj
CiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2w6CiMgT3JpZ2luYWxseSBieSBHb3Jk
b24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKIwojIFRoaXMgcHJvZ3Jh
bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiMgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJv
Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIElu
Yy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBV
U0EuCiMKIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSwgaWYgeW91CiMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dy
YW0gdGhhdCBjb250YWlucyBhCiMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1
dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKIyB0aGUgc2FtZSBkaXN0cmlidXRpb24g
dGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCgojIEEgc2Vk
IHByb2dyYW0gdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuClNFRD0iL2Jpbi9zZWQiCgoj
IFNlZCB0aGF0IGhlbHBzIHVzIGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIGVjaG8oMSkg
b3B0aW9ucyBsaWtlIC1uLgpYc2VkPSIvYmluL3NlZCAtZSBzL15YLy8iCgojIFRoZSBIUC1VWCBr
c2ggYW5kIFBPU0lYIHNoZWxsIHByaW50IHRoZSB0YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dAoj
IGlmIENEUEFUSCBpcyBzZXQuCih1bnNldCBDRFBBVEgpID4vZGV2L251bGwgMj4mMSAmJiB1bnNl
dCBDRFBBVEgKCiMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbnMgc3VwcG9y
dGVkIGJ5IHRoaXMgc2NyaXB0LgphdmFpbGFibGVfdGFncz0iIENYWCIKCiMgIyMjIEJFR0lOIExJ
QlRPT0wgQ09ORklHCgojIExpYnRvb2wgd2FzIGNvbmZpZ3VyZWQgb24gaG9zdCBnZW50b286Cgoj
IFNoZWxsIHRvIHVzZSB3aGVuIGludm9raW5nIHNoZWxsIHNjcmlwdHMuClNIRUxMPSIvYmluL3No
IgoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0
b29sX2xpYnM9eWVzCgojIFdoZXRoZXIgb3Igbm90IHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMu
CmJ1aWxkX29sZF9saWJzPXllcwoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZvciBidWls
ZGluZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9bm8KCiMgV2hldGhl
ciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0
YXRpYwphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9bm8KCiMgV2hldGhl
ciBvciBub3QgdG8gb3B0aW1pemUgZm9yIGZhc3QgaW5zdGFsbGF0aW9uLgpmYXN0X2luc3RhbGw9
eWVzCgojIFRoZSBob3N0IHN5c3RlbS4KaG9zdF9hbGlhcz1pMzg2LXBjLWxpbnV4LWdudQpob3N0
PWkzODYtcGMtbGludXgtZ251CgojIEFuIGVjaG8gcHJvZ3JhbSB0aGF0IGRvZXMgbm90IGludGVy
cHJldCBiYWNrc2xhc2hlcy4KZWNobz0iZWNobyIKCiMgVGhlIGFyY2hpdmVyLgpBUj0iYXIiCkFS
X0ZMQUdTPSJjcnUiCgojIEEgQyBjb21waWxlci4KTFRDQz0iaTM4Ni1wYy1saW51eC1nbnUtZ2Nj
IgoKIyBBIGxhbmd1YWdlLXNwZWNpZmljIGNvbXBpbGVyLgpDQz0iaTM4Ni1wYy1saW51eC1nbnUt
Z2NjIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBDIGNvbXBpbGVyPwp3aXRoX2djYz15ZXMK
CiMgQW4gRVJFIG1hdGNoZXIuCkVHUkVQPSJncmVwIC1FIgoKIyBUaGUgbGlua2VyIHVzZWQgdG8g
YnVpbGQgbGlicmFyaWVzLgpMRD0iL3Vzci9pMzg2LXBjLWxpbnV4LWdudS9iaW4vbGQiCgojIFdo
ZXRoZXIgd2UgbmVlZCBoYXJkIG9yIHNvZnQgbGlua3MuCkxOX1M9ImxuIC1zIgoKIyBBIEJTRC1j
b21wYXRpYmxlIG5tIHByb2dyYW0uCk5NPSJubSIKCiMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dy
YW0KU1RSSVA9InN0cmlwIgoKIyBVc2VkIHRvIGV4YW1pbmUgbGlicmFyaWVzIHdoZW4gZmlsZV9t
YWdpY19jbWQgYmVnaW5zICJmaWxlIgpNQUdJQ19DTUQ9ZmlsZQoKIyBVc2VkIG9uIGN5Z3dpbjog
RExMIGNyZWF0aW9uIHByb2dyYW0uCkRMTFRPT0w9ImRsbHRvb2wiCgojIFVzZWQgb24gY3lnd2lu
OiBvYmplY3QgZHVtcGVyLgpPQkpEVU1QPSJvYmpkdW1wIgoKIyBVc2VkIG9uIGN5Z3dpbjogYXNz
ZW1ibGVyLgpBUz0iYXMiCgojIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlu
cyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4Kb2JqZGlyPS5saWJzCgojIEhvdyB0byBjcmVhdGUg
cmVsb2FkYWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSIgLXIiCnJlbG9hZF9jbWRzPSJc
JExEXCRyZWxvYWRfZmxhZyAtbyBcJG91dHB1dFwkcmVsb2FkX29ianMiCgojIEhvdyB0byBwYXNz
IGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSItV2wsIgoKIyBPYmplY3Qg
ZmlsZSBzdWZmaXggKG5vcm1hbGx5ICJvIikuCm9iamV4dD0ibyIKCiMgT2xkIGFyY2hpdmUgc3Vm
Zml4IChub3JtYWxseSAiYSIpLgpsaWJleHQ9ImEiCgojIFNoYXJlZCBsaWJyYXJ5IHN1ZmZpeCAo
bm9ybWFsbHkgIi5zbyIpLgpzaHJleHRfY21kcz0nLnNvJwoKIyBFeGVjdXRhYmxlIGZpbGUgc3Vm
Zml4IChub3JtYWxseSAiIikuCmV4ZWV4dD0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdz
IGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIgLWZQSUMgLURQSUMiCnBp
Y19tb2RlPWRlZmF1bHQKCiMgV2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYSBjb21tYW5k
PwptYXhfY21kX2xlbj0zMjc2OAoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1cHBv
cnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nfbz0ieWVzIgoKIyBNdXN0IHdlIGxvY2sg
ZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbiA/Cm5lZWRfbG9ja3M9Im5vIgoKIyBEbyB3ZSBu
ZWVkIHRoZSBsaWIgcHJlZml4IGZvciBtb2R1bGVzPwpuZWVkX2xpYl9wcmVmaXg9bm8KCiMgRG8g
d2UgbmVlZCBhIHZlcnNpb24gZm9yIGxpYnJhcmllcz8KbmVlZF92ZXJzaW9uPW5vCgojIFdoZXRo
ZXIgZGxvcGVuIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3N1cHBvcnQ9eWVzCgojIFdoZXRoZXIgZGxv
cGVuIG9mIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9eWVzCgojIFdoZXRoZXIg
ZGxvcGVuIG9mIHN0YXRpY2FsbHkgbGlua2VkIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVu
X3NlbGZfc3RhdGljPXllcwoKIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5r
aW5nLgpsaW5rX3N0YXRpY19mbGFnPSItc3RhdGljIgoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4g
b2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9IiAtZm5vLWJ1aWx0aW4iCgoj
IENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMuCmV4cG9ydF9keW5hbWlj
X2ZsYWdfc3BlYz0iXCR7d2x9LS1leHBvcnQtZHluYW1pYyIKCiMgQ29tcGlsZXIgZmxhZyB0byBn
ZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNo
aXZlX2ZsYWdfc3BlYz0iXCR7d2x9LS13aG9sZS1hcmNoaXZlXCRjb252ZW5pZW5jZSBcJHt3bH0t
LW5vLXdob2xlLWFyY2hpdmUiCgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgdGhyZWFkLXNh
ZmUgb2JqZWN0cy4KdGhyZWFkX3NhZmVfZmxhZ19zcGVjPSIiCgojIExpYnJhcnkgdmVyc2lvbmlu
ZyB0eXBlLgp2ZXJzaW9uX3R5cGU9bGludXgKCiMgRm9ybWF0IG9mIGxpYnJhcnkgbmFtZSBwcmVm
aXguCmxpYm5hbWVfc3BlYz0ibGliXCRuYW1lIgoKIyBMaXN0IG9mIGFyY2hpdmUgbmFtZXMuICBG
aXJzdCBuYW1lIGlzIHRoZSByZWFsIG9uZSwgdGhlIHJlc3QgYXJlIGxpbmtzLgojIFRoZSBsYXN0
IG5hbWUgaXMgdGhlIG9uZSB0aGF0IHRoZSBsaW5rZXIgZmluZHMgd2l0aCAtbE5BTUUuCmxpYnJh
cnlfbmFtZXNfc3BlYz0iXCR7bGlibmFtZX1cJHtyZWxlYXNlfVwke3NoYXJlZF9leHR9XCR2ZXJz
dWZmaXggXCR7bGlibmFtZX1cJHtyZWxlYXNlfVwke3NoYXJlZF9leHR9XCRtYWpvciBcJGxpYm5h
bWVcJHtzaGFyZWRfZXh0fSIKCiMgVGhlIGNvZGVkIG5hbWUgb2YgdGhlIGxpYnJhcnksIGlmIGRp
ZmZlcmVudCBmcm9tIHRoZSByZWFsIG5hbWUuCnNvbmFtZV9zcGVjPSJcJHtsaWJuYW1lfVwke3Jl
bGVhc2V9XCR7c2hhcmVkX2V4dH1cJG1ham9yIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFu
ZCBpbnN0YWxsIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpSQU5MSUI9InJhbmxpYiIKb2xkX2FyY2hp
dmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzXCRvbGRfZGVwbGlic35c
JFJBTkxJQiBcJG9sZGxpYiIKb2xkX3Bvc3RpbnN0YWxsX2NtZHM9IlwkUkFOTElCIFwkb2xkbGli
fmNobW9kIDY0NCBcJG9sZGxpYiIKb2xkX3Bvc3R1bmluc3RhbGxfY21kcz0iIgoKIyBDcmVhdGUg
YW4gb2xkLXN0eWxlIGFyY2hpdmUgZnJvbSBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9m
cm9tX25ld19jbWRzPSIiCgojIENyZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUgYXJjaGl2ZSB0
byBsaW5rIGluc3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9leHBz
eW1zX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbmQgaW5zdGFsbCBhIHNoYXJl
ZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9IlwkQ0MgLXNoYXJlZCBcJGxpYm9ianMgXCRkZXBsaWJz
IFwkY29tcGlsZXJfZmxhZ3MgXCR7d2x9LXNvbmFtZSBcJHdsXCRzb25hbWUgLW8gXCRsaWIiCmFy
Y2hpdmVfZXhwc3ltX2NtZHM9IlwkZWNobyBcXFwieyBnbG9iYWw6XFxcIiA+IFwkb3V0cHV0X29i
amRpci9cJGxpYm5hbWUudmVyfgpjYXQgXCRleHBvcnRfc3ltYm9scyB8IHNlZCAtZSBcXFwicy9c
XFxcKC4qXFxcXCkvXFxcXDE7L1xcXCIgPj4gXCRvdXRwdXRfb2JqZGlyL1wkbGlibmFtZS52ZXJ+
ClwkZWNobyBcXFwibG9jYWw6ICo7IH07XFxcIiA+PiBcJG91dHB1dF9vYmpkaXIvXCRsaWJuYW1l
LnZlcn4KICAgICAgICBcJENDIC1zaGFyZWQgXCRsaWJvYmpzIFwkZGVwbGlicyBcJGNvbXBpbGVy
X2ZsYWdzIFwke3dsfS1zb25hbWUgXCR3bFwkc29uYW1lIFwke3dsfS12ZXJzaW9uLXNjcmlwdCBc
JHt3bH1cJG91dHB1dF9vYmpkaXIvXCRsaWJuYW1lLnZlciAtbyBcJGxpYiIKcG9zdGluc3RhbGxf
Y21kcz0iIgpwb3N0dW5pbnN0YWxsX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBh
IGxvYWRhYmxlIG1vZHVsZSAoYXNzdW1lZCBzYW1lIGFzIGFib3ZlIGlmIGVtcHR5KQptb2R1bGVf
Y21kcz0iIgptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgQ29tbWFuZHMgdG8gc3RyaXAgbGlicmFy
aWVzLgpvbGRfc3RyaXBsaWI9InN0cmlwIC0tc3RyaXAtZGVidWciCnN0cmlwbGliPSJzdHJpcCAt
LXN0cmlwLXVubmVlZGVkIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIHRoZSBvYmpl
Y3RzIGJlaW5nIGxpbmtlZCB0byBjcmVhdGUgYQojIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBfb2Jq
ZWN0cz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcg
bGlua2VkIHRvIGNyZWF0ZSBhCiMgc2hhcmVkIGxpYnJhcnkuCnBvc3RkZXBfb2JqZWN0cz0iIgoK
IyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIHRoZSBvYmplY3RzIGJlaW5nIGxpbmtlZCB0
byBjcmVhdGUgYQojIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBzPSIiCgojIERlcGVuZGVuY2llcyB0
byBwbGFjZSBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8gY3JlYXRlIGEKIyBzaGFy
ZWQgbGlicmFyeS4KcG9zdGRlcHM9IiIKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNlZCBp
bnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5
Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9IiIKCiMgTWV0aG9kIHRvIGNoZWNrIHdoZXRoZXIg
ZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVkIG9iamVjdHMuCmRlcGxpYnNfY2hlY2tfbWV0
aG9kPSJwYXNzX2FsbCIKCiMgQ29tbWFuZCB0byB1c2Ugd2hlbiBkZXBsaWJzX2NoZWNrX21ldGhv
ZCA9PSBmaWxlX21hZ2ljLgpmaWxlX21hZ2ljX2NtZD0iXCRNQUdJQ19DTUQiCgojIEZsYWcgdGhh
dCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1
aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRoYXQgZm9yY2VzIG5vIHVuZGVm
aW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGZp
bmlzaCBhIGxpYnRvb2wgbGlicmFyeSBpbnN0YWxsYXRpb24gaW4gYSBkaXJlY3RvcnkuCmZpbmlz
aF9jbWRzPSJQQVRIPVxcXCJcXFwkUEFUSDovc2JpblxcXCIgbGRjb25maWcgLW4gXCRsaWJkaXIi
CgojIFNhbWUgYXMgYWJvdmUsIGJ1dCBhIHNpbmdsZSBzY3JpcHQgZnJhZ21lbnQgdG8gYmUgZXZh
bGVkIGJ1dCBub3Qgc2hvd24uCmZpbmlzaF9ldmFsPSIiCgojIFRha2UgdGhlIG91dHB1dCBvZiBu
bSBhbmQgcHJvZHVjZSBhIGxpc3Rpbmcgb2YgcmF3IHN5bWJvbHMgYW5kIEMgbmFtZXMuCmdsb2Jh
bF9zeW1ib2xfcGlwZT0ic2VkIC1uIC1lICdzL14uKlsgCV1cXChbQUJDREdJUlNUV11bQUJDREdJ
UlNUV10qXFwpWyAJXVsgCV0qXFwoXFwpXFwoW19BLVphLXpdW19BLVphLXowLTldKlxcKVwkL1xc
MSBcXDJcXDMgXFwzL3AnIgoKIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIHByb3Bl
ciBDIGRlY2xhcmF0aW9uCmdsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eLiAu
KiBcXCguKlxcKVwkL2V4dGVybiBpbnQgXFwxOy9wJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQg
b2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyCmdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2Fk
ZHJlc3M9InNlZCAtbiAtZSAncy9eOiBcXChbXiBdKlxcKSBcJC8gIHtcXFwiXFwxXFxcIiwgKGx0
X3B0cikgMH0sL3AnIC1lICdzL15bQkNERUdSU1RdIFxcKFteIF0qXFwpIFxcKFteIF0qXFwpXCQv
ICB7XCJcXDJcIiwgKGx0X3B0cikgXFwmXFwyfSwvcCciCgojIFRoaXMgaXMgdGhlIHNoYXJlZCBs
aWJyYXJ5IHJ1bnRpbWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9TERfUlVOX1BBVEgKCiMg
VGhpcyBpcyB0aGUgc2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hsaWJwYXRoX3Zhcj1M
RF9MSUJSQVJZX1BBVEgKCiMgSXMgc2hsaWJwYXRoIHNlYXJjaGVkIGJlZm9yZSB0aGUgaGFyZC1j
b2RlZCBsaWJyYXJ5IHNlYXJjaCBwYXRoPwpzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9bm8K
CiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFi
bGUuCmhhcmRjb2RlX2FjdGlvbj1pbW1lZGlhdGUKCiMgV2hldGhlciB3ZSBzaG91bGQgaGFyZGNv
ZGUgbGlicmFyeSBwYXRocyBpbnRvIGxpYnJhcmllcy4KaGFyZGNvZGVfaW50b19saWJzPXllcwoK
IyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4K
IyBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QuCmhhcmRjb2Rl
X2xpYmRpcl9mbGFnX3NwZWM9Ilwke3dsfS0tcnBhdGggXCR7d2x9XCRsaWJkaXIiCgojIElmIGxk
IGlzIHVzZWQgd2hlbiBsaW5raW5nLCBmbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50bwojIGEg
YmluYXJ5IGR1cmluZyBsaW5raW5nLiBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9l
cwojIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0iIgoKIyBXaGV0aGVy
IHdlIG5lZWQgYSBzaW5nbGUgLXJwYXRoIGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4K
aGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0iIgoKIyBTZXQgdG8geWVzIGlmIHVzaW5nIERJUi9s
aWJOQU1FIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIgaW50byB0aGUKIyByZXN1bHRpbmcg
YmluYXJ5LgpoYXJkY29kZV9kaXJlY3Q9bm8KCiMgU2V0IHRvIHllcyBpZiB1c2luZyB0aGUgLUxE
SVIgZmxhZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSIGludG8gdGhlCiMgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD1ubwoKIyBTZXQgdG8geWVzIGlmIHVzaW5nIFNITElC
UEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIgaW50bwojIHRoZSByZXN1
bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9zaGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCgojIFNldCB0
byB5ZXMgaWYgYnVpbGRpbmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2Rl
cyBESVIgaW50byB0aGUgbGlicmFyeQojIGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMgYW5k
IGV4ZWN1dGFibGVzIGxpbmtlZCBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9bm8KCiMg
VmFyaWFibGVzIHdob3NlIHZhbHVlcyBzaG91bGQgYmUgc2F2ZWQgaW4gbGlidG9vbCB3cmFwcGVy
IHNjcmlwdHMgYW5kCiMgcmVzdG9yZWQgYXQgcmVsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZlZF9m
b3JfcmVsaW5rPSJQQVRIICBMRF9SVU5fUEFUSCBHQ0NfRVhFQ19QUkVGSVggQ09NUElMRVJfUEFU
SCBMSUJSQVJZX1BBVEgiCgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFn
YWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11bmtu
b3duCgojIENvbXBpbGUtdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcwpzeXNf
bGliX3NlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIiCgojIFJ1
bi10aW1lIHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzCnN5c19saWJfZGxzZWFyY2hf
cGF0aF9zcGVjPSIvbGliIC91c3IvbGliIgoKIyBGaXggdGhlIHNoZWxsIHZhcmlhYmxlICRzcmNm
aWxlIGZvciB0aGUgY29tcGlsZXIuCmZpeF9zcmNmaWxlX3BhdGg9IiIKCiMgU2V0IHRvIHllcyBp
ZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5v
CgojIFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1ib2xz
X2NtZHM9IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGdsb2JhbF9zeW1ib2xfcGlw
ZSB8IFwkU0VEICdzLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3ltYm9scyIKCiMg
VGhlIGNvbW1hbmRzIHRvIGV4dHJhY3QgdGhlIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20gYSBz
aGFyZWQgYXJjaGl2ZS4KZXh0cmFjdF9leHBzeW1zX2NtZHM9IiIKCiMgU3ltYm9scyB0aGF0IHNo
b3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBz
eW1zPSJfR0xPQkFMX09GRlNFVF9UQUJMRV8iCgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBi
ZSBleHBvcnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgojICMjIyBFTkQgTElCVE9PTCBDT05GSUcK
CiMgbHRtYWluLnNoIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBsaWJyYXJ5LWJ1aWxkaW5nIHN1cHBv
cnQgc2VydmljZXMuCiMgTk9URTogQ2hhbmdpbmcgdGhpcyBmaWxlIHdpbGwgbm90IGFmZmVjdCBh
bnl0aGluZyB1bnRpbCB5b3UgcmVydW4gY29uZmlndXJlLgojCiMgQ29weXJpZ2h0IChDKSAxOTk2
LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0CiMgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuCiMgT3JpZ2luYWxseSBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29y
ZEBnbnUuYWkubWl0LmVkdT4sIDE5OTYKIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwg
YnV0CiMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCiMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgojCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiMKIyBBcyBhIHNwZWNp
YWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CiMg
ZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBh
CiMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGlu
Y2x1ZGUgaXQgdW5kZXIKIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNl
IGZvciB0aGUgcmVzdCBvZiB0aGF0IHByb2dyYW0uCgpiYXNlbmFtZT0icyxeLiovLCxnIgoKIyBX
b3JrIGFyb3VuZCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGlzc3VlIG9uIElSSVggNi41LiBPbiBJ
UklYIDYuNCssIHNoCiMgaXMga3NoIGJ1dCB3aGVuIHRoZSBzaGVsbCBpcyBpbnZva2VkIGFzICJz
aCIgYW5kIHRoZSBjdXJyZW50IHZhbHVlIG9mCiMgdGhlIF9YUEcgZW52aXJvbm1lbnQgdmFyaWFi
bGUgaXMgbm90IGVxdWFsIHRvIDEgKG9uZSksIHRoZSBzcGVjaWFsCiMgcG9zaXRpb25hbCBwYXJh
bWV0ZXIgJDAsIHdpdGhpbiBhIGZ1bmN0aW9uIGNhbGwsIGlzIHRoZSBuYW1lIG9mIHRoZQojIGZ1
bmN0aW9uLgpwcm9ncGF0aD0iJDAiCgojIGRlZmluZSBTRUQgZm9yIGhpc3RvcmljIGx0Y29uZmln
J3MgZ2VuZXJhdGVkIGJ5IExpYnRvb2wgMS4zCnRlc3QgLXogIiRTRUQiICYmIFNFRD1zZWQKCiMg
VGhlIG5hbWUgb2YgdGhpcyBwcm9ncmFtOgpwcm9nbmFtZT1gZWNobyAiJHByb2dwYXRoIiB8ICRT
RUQgJGJhc2VuYW1lYAptb2RlbmFtZT0iJHByb2duYW1lIgoKIyBHbG9iYWwgdmFyaWFibGVzOgpF
WElUX1NVQ0NFU1M9MApFWElUX0ZBSUxVUkU9MQoKUFJPR1JBTT1sdG1haW4uc2gKUEFDS0FHRT1s
aWJ0b29sClZFUlNJT049MS41LjEwClRJTUVTVEFNUD0iICgxLjEyMjAuMi4xMzEgMjAwNC8wOS8x
OSAxMjo0Njo1NikiCgojIFNlZSBpZiB3ZSBhcmUgcnVubmluZyBvbiB6c2gsIGFuZCBzZXQgdGhl
IG9wdGlvbnMgd2hpY2ggYWxsb3cgb3VyCiMgY29tbWFuZHMgdGhyb3VnaCB3aXRob3V0IHJlbW92
YWwgb2YgXCBlc2NhcGVzLgppZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iIDsgdGhlbgog
IHNldG9wdCBOT19HTE9CX1NVQlNUCmZpCgojIENoZWNrIHRoYXQgd2UgaGF2ZSBhIHdvcmtpbmcg
JGVjaG8uCmlmIHRlc3QgIlgkMSIgPSBYLS1uby1yZWV4ZWM7IHRoZW4KICAjIERpc2NhcmQgdGhl
IC0tbm8tcmVleGVjIGZsYWcsIGFuZCBjb250aW51ZS4KICBzaGlmdAplbGlmIHRlc3QgIlgkMSIg
PSBYLS1mYWxsYmFjay1lY2hvOyB0aGVuCiAgIyBBdm9pZCBpbmxpbmUgZG9jdW1lbnQgaGVyZSwg
aXQgbWF5IGJlIGxlZnQgb3ZlcgogIDoKZWxpZiB0ZXN0ICJYYCgkZWNobyAnXHQnKSAyPi9kZXYv
bnVsbGAiID0gJ1hcdCc7IHRoZW4KICAjIFlpcHBlZSwgJGVjaG8gd29ya3MhCiAgOgplbHNlCiAg
IyBSZXN0YXJ0IHVuZGVyIHRoZSBjb3JyZWN0IHNoZWxsLCBhbmQgdGhlbiBtYXliZSAkZWNobyB3
aWxsIHdvcmsuCiAgZXhlYyAkU0hFTEwgIiRwcm9ncGF0aCIgLS1uby1yZWV4ZWMgJHsxKyIkQCJ9
CmZpCgppZiB0ZXN0ICJYJDEiID0gWC0tZmFsbGJhY2stZWNobzsgdGhlbgogICMgdXNlZCBhcyBm
YWxsYmFjayBlY2hvCiAgc2hpZnQKICBjYXQgPDxFT0YKJCoKRU9GCiAgZXhpdCAkRVhJVF9TVUND
RVNTCmZpCgpkZWZhdWx0X21vZGU9CmhlbHA9IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAnIGZvciBt
b3JlIGluZm9ybWF0aW9uLiIKbWFnaWM9IiUlJU1BR0lDIHZhcmlhYmxlJSUlIgpta2Rpcj0ibWtk
aXIiCm12PSJtdiAtZiIKcm09InJtIC1mIgoKIyBTZWQgc3Vic3RpdHV0aW9uIHRoYXQgaGVscHMg
dXMgZG8gcm9idXN0IHF1b3RpbmcuICBJdCBiYWNrc2xhc2hpZmllcwojIG1ldGFjaGFyYWN0ZXJz
IHRoYXQgYXJlIHN0aWxsIGFjdGl2ZSB3aXRoaW4gZG91YmxlLXF1b3RlZCBzdHJpbmdzLgpYc2Vk
PSIke1NFRH0iJyAtZSAxcy9eWC8vJwpzZWRfcXVvdGVfc3Vic3Q9J3MvXChbXFxgXFwiJFxcXFxd
XCkvXFxcMS9nJwojIHRlc3QgRUJDRElDIG9yIEFTQ0lJCmNhc2UgYGVjaG8gQXx0ciBBICdcMzAx
J2AgaW4KIEEpICMgRUJDRElDIGJhc2VkIHN5c3RlbQogIFNQMk5MPSJ0ciAnXDEwMCcgJ1xuJyIK
ICBOTDJTUD0idHIgJ1xyXG4nICdcMTAwXDEwMCciCiAgOzsKICopICMgQXNzdW1lIEFTQ0lJIGJh
c2VkIHN5c3RlbQogIFNQMk5MPSJ0ciAnXDA0MCcgJ1wwMTInIgogIE5MMlNQPSJ0ciAnXDAxNVww
MTInICdcMDQwXDA0MCciCiAgOzsKZXNhYwoKIyBOTFMgbnVpc2FuY2VzLgojIE9ubHkgc2V0IExB
TkcgYW5kIExDX0FMTCB0byBDIGlmIGFscmVhZHkgc2V0LgojIFRoZXNlIG11c3Qgbm90IGJlIHNl
dCB1bmNvbmRpdGlvbmFsbHkgYmVjYXVzZSBub3QgYWxsIHN5c3RlbXMgdW5kZXJzdGFuZAojIGUu
Zy4gTEFORz1DIChub3RhYmx5IFNDTykuCiMgV2Ugc2F2ZSB0aGUgb2xkIHZhbHVlcyB0byByZXN0
b3JlIGR1cmluZyBleGVjdXRlIG1vZGUuCmlmIHRlc3QgIiR7TENfQUxMK3NldH0iID0gc2V0OyB0
aGVuCiAgc2F2ZV9MQ19BTEw9IiRMQ19BTEwiOyBMQ19BTEw9QzsgZXhwb3J0IExDX0FMTApmaQpp
ZiB0ZXN0ICIke0xBTkcrc2V0fSIgPSBzZXQ7IHRoZW4KICBzYXZlX0xBTkc9IiRMQU5HIjsgTEFO
Rz1DOyBleHBvcnQgTEFORwpmaQoKIyBNYWtlIHN1cmUgSUZTIGhhcyBhIHNlbnNpYmxlIGRlZmF1
bHQKOiAke0lGUz0iIAkKIn0KCmlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllcyAm
JiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiICE9IHllczsgdGhlbgogICRlY2hvICIkbW9kZW5hbWU6
IG5vdCBjb25maWd1cmVkIHRvIGJ1aWxkIGFueSBraW5kIG9mIGxpYnJhcnkiIDE+JjIKICAkZWNo
byAiRmF0YWwgY29uZmlndXJhdGlvbiBlcnJvci4gIFNlZSB0aGUgJFBBQ0tBR0UgZG9jcyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbi4iIDE+JjIKICBleGl0ICRFWElUX0ZBSUxVUkUKZmkKCiMgR2xvYmFs
IHZhcmlhYmxlcy4KbW9kZT0kZGVmYXVsdF9tb2RlCm5vbm9wdD0KcHJldj0KcHJldm9wdD0KcnVu
PQpzaG93PSIkZWNobyIKc2hvd19oZWxwPQpleGVjdXRlX2RsZmlsZXM9CmxvMm89InMvXFwubG9c
JC8uJHtvYmpleHR9LyIKbzJsbz0icy9cXC4ke29iamV4dH1cJC8ubG8vIgoKaWYgdGVzdCAteiAi
JG1heF9jbWRfbGVuIjsgdGhlbgogIGk9MAogIHRlc3RyaW5nPSJBQkNEIgogIG5ld19yZXN1bHQ9
CiAgCiAgIyBJZiB0ZXN0IGlzIG5vdCBhIHNoZWxsIGJ1aWx0LWluLCB3ZSdsbCBwcm9iYWJseSBl
bmQgdXAgY29tcHV0aW5nIGEKICAjIG1heGltdW0gbGVuZ3RoIHRoYXQgaXMgb25seSBoYWxmIG9m
IHRoZSBhY3R1YWwgbWF4aW11bSBsZW5ndGgsIGJ1dAogICMgd2UgY2FuJ3QgdGVsbC4KICB3aGls
ZSAodGVzdCAiWCJgJFNIRUxMICQwIC0tZmFsbGJhY2stZWNobyAiWCR0ZXN0cmluZyIgMj4vZGV2
L251bGxgIFwKICAgICAgICAgICAgID0gIlhYJHRlc3RyaW5nIikgPi9kZXYvbnVsbCAyPiYxICYm
CiAgICAgICAgICBuZXdfcmVzdWx0PWBleHByICJYJHRlc3RyaW5nIiA6ICIuKiIgMj4mMWAgJiYK
ICAgICAgICAgIG1heF9jbWRfbGVuPSIkbmV3X3Jlc3VsdCIgJiYKICAgICAgICAgIHRlc3QgIiRp
IiAhPSAxNyAjIDEvMiBNQiBzaG91bGQgYmUgZW5vdWdoCiAgZG8KICAgIGk9YGV4cHIgJGkgKyAx
YAogICAgdGVzdHJpbmc9IiR0ZXN0cmluZyR0ZXN0cmluZyIKICBkb25lCiAgdGVzdHJpbmc9CiAg
IyBBZGQgYSBzaWduaWZpY2FudCBzYWZldHkgZmFjdG9yIGJlY2F1c2UgQysrIGNvbXBpbGVycyBj
YW4gdGFjayBvbiBtYXNzaXZlCiAgIyBhbW91bnRzIG9mIGFkZGl0aW9uYWwgYXJndW1lbnRzIGJl
Zm9yZSBwYXNzaW5nIHRoZW0gdG8gdGhlIGxpbmtlci4KICAjIEl0IGFwcGVhcnMgYXMgdGhvdWdo
IDEvMiBpcyBhIHVzYWJsZSB2YWx1ZS4KICBtYXhfY21kX2xlbj1gZXhwciAkbWF4X2NtZF9sZW4g
XC8gMmAKZmkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTaGVsbCBm
dW5jdGlvbiBkZWZpbml0aW9uczoKIyBUaGlzIHNlZW1zIHRvIGJlIHRoZSBiZXN0IHBsYWNlIGZv
ciB0aGVtCgojIGZ1bmNfd2luMzJfbGliaWQgYXJnCiMgcmV0dXJuIHRoZSBsaWJyYXJ5IHR5cGUg
b2YgZmlsZSAnYXJnJwojCiMgTmVlZCBhIGxvdCBvZiBnb28gdG8gaGFuZGxlICpib3RoKiBETExz
IGFuZCBpbXBvcnQgbGlicwojIEhhcyB0byBiZSBhIHNoZWxsIGZ1bmN0aW9uIGluIG9yZGVyIHRv
ICdlYXQnIHRoZSBhcmd1bWVudAojIHRoYXQgaXMgc3VwcGxpZWQgd2hlbiAkZmlsZV9tYWdpY19j
b21tYW5kIGlzIGNhbGxlZC4KZnVuY193aW4zMl9saWJpZCAoKSB7CiAgd2luMzJfbGliaWRfdHlw
ZT0idW5rbm93biIKICB3aW4zMl9maWxlcmVzPWBmaWxlIC1MICQxIDI+L2Rldi9udWxsYAogIGNh
c2UgJHdpbjMyX2ZpbGVyZXMgaW4KICAqYXJcIGFyY2hpdmVcIGltcG9ydFwgbGlicmFyeSopICMg
ZGVmaW5pdGVseSBpbXBvcnQKICAgIHdpbjMyX2xpYmlkX3R5cGU9Ing4NiBhcmNoaXZlIGltcG9y
dCIKICAgIDs7CiAgKmFyXCBhcmNoaXZlKikgIyBjb3VsZCBiZSBhbiBpbXBvcnQsIG9yIHN0YXRp
YwogICAgaWYgZXZhbCAkT0JKRFVNUCAtZiAkMSB8ICRTRUQgLWUgJzEwcScgMj4vZGV2L251bGwg
fCBcCiAgICAgICRFR1JFUCAtZSAnZmlsZSBmb3JtYXQgcGUtaTM4NiguKmFyY2hpdGVjdHVyZTog
aTM4Nik/JyA+L2Rldi9udWxsIDsgdGhlbgogICAgICB3aW4zMl9ubXJlcz1gZXZhbCAkTk0gLWYg
cG9zaXggLUEgJDEgfCBcCglzZWQgLW4gLWUgJzEsMTAwey8gSSAve3g7L2ltcG9ydC8he3MvXi9p
bXBvcnQvO2g7cDt9O3g7fTt9J2AKICAgICAgaWYgdGVzdCAiWCR3aW4zMl9ubXJlcyIgPSAiWGlt
cG9ydCIgOyB0aGVuCiAgICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0
IgogICAgICBlbHNlCiAgICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgc3RhdGlj
IgogICAgICBmaQogICAgZmkKICAgIDs7CiAgKkRMTCopCiAgICB3aW4zMl9saWJpZF90eXBlPSJ4
ODYgRExMIgogICAgOzsKICAqZXhlY3V0YWJsZSopICMgYnV0IHNoZWxsIHNjcmlwdHMgYXJlICJl
eGVjdXRhYmxlIiB0b28uLi4KICAgIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KICAgICpNU1wgV2lu
ZG93c1wgUEVcIEludGVsKikKICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IERMTCIKICAgICAg
OzsKICAgIGVzYWMKICAgIDs7CiAgZXNhYwogICRlY2hvICR3aW4zMl9saWJpZF90eXBlCn0KCgoj
IGZ1bmNfaW5mZXJfdGFnIGFyZwojIEluZmVyIHRhZ2dlZCBjb25maWd1cmF0aW9uIHRvIHVzZSBp
ZiBhbnkgYXJlIGF2YWlsYWJsZSBhbmQKIyBpZiBvbmUgd2Fzbid0IGNob3NlbiB2aWEgdGhlICIt
LXRhZyIgY29tbWFuZCBsaW5lIG9wdGlvbi4KIyBPbmx5IGF0dGVtcHQgdGhpcyBpZiB0aGUgY29t
cGlsZXIgaW4gdGhlIGJhc2UgY29tcGlsZQojIGNvbW1hbmQgZG9lc24ndCBtYXRjaCB0aGUgZGVm
YXVsdCBjb21waWxlci4KIyBhcmcgaXMgdXN1YWxseSBvZiB0aGUgZm9ybSAnZ2NjIC4uLicKZnVu
Y19pbmZlcl90YWcgKCkgewogICAgaWYgdGVzdCAtbiAiJGF2YWlsYWJsZV90YWdzIiAmJiB0ZXN0
IC16ICIkdGFnbmFtZSI7IHRoZW4KICAgICAgQ0NfcXVvdGVkPQogICAgICBmb3IgYXJnIGluICRD
QzsgZG8KCWNhc2UgJGFyZyBpbgoJICAqW1xbXH5cI1xeXCZcKlwoXClce1x9XHxcO1w8XD5cP1wn
XCBcCV0qfCpdKnwiIikKCSAgYXJnPSJcIiRhcmdcIiIKCSAgOzsKCWVzYWMKCUNDX3F1b3RlZD0i
JENDX3F1b3RlZCAkYXJnIgogICAgICBkb25lCiAgICAgIGNhc2UgJEAgaW4KICAgICAgIyBCbGFu
a3MgaW4gdGhlIGNvbW1hbmQgbWF5IGhhdmUgYmVlbiBzdHJpcHBlZCBieSB0aGUgY2FsbGluZyBz
aGVsbCwKICAgICAgIyBidXQgbm90IGZyb20gdGhlIENDIGVudmlyb25tZW50IHZhcmlhYmxlIHdo
ZW4gY29uZmlndXJlIHdhcyBydW4uCiAgICAgICIgJENDICIqIHwgIiRDQyAiKiB8ICIgYCRlY2hv
ICRDQ2AgIiogfCAiYCRlY2hvICRDQ2AgIiogfCAiICRDQ19xdW90ZWQiKiB8ICIkQ0NfcXVvdGVk
ICIqIHwgIiBgJGVjaG8gJENDX3F1b3RlZGAgIiogfCAiYCRlY2hvICRDQ19xdW90ZWRgICIqKSA7
OwogICAgICAjIEJsYW5rcyBhdCB0aGUgc3RhcnQgb2YgJGJhc2VfY29tcGlsZSB3aWxsIGNhdXNl
IHRoaXMgdG8gZmFpbAogICAgICAjIGlmIHdlIGRvbid0IGNoZWNrIGZvciB0aGVtIGFzIHdlbGwu
CiAgICAgICopCglmb3IgeiBpbiAkYXZhaWxhYmxlX3RhZ3M7IGRvCgkgIGlmIGdyZXAgIl4jICMj
IyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICR6JCIgPCAiJHByb2dwYXRoIiA+IC9kZXYvbnVs
bDsgdGhlbgoJICAgICMgRXZhbHVhdGUgdGhlIGNvbmZpZ3VyYXRpb24uCgkgICAgZXZhbCAiYCR7
U0VEfSAtbiAtZSAnL14jICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICckeickLywvXiMg
IyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6ICckeickL3AnIDwgJHByb2dwYXRoYCIKCSAgICBD
Q19xdW90ZWQ9CgkgICAgZm9yIGFyZyBpbiAkQ0M7IGRvCgkgICAgIyBEb3VibGUtcXVvdGUgYXJn
cyBjb250YWluaW5nIG90aGVyIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLgoJICAgIGNhc2UgJGFyZyBp
bgoJICAgICAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIp
CgkgICAgICBhcmc9IlwiJGFyZ1wiIgoJICAgICAgOzsKCSAgICBlc2FjCgkgICAgQ0NfcXVvdGVk
PSIkQ0NfcXVvdGVkICRhcmciCgkgIGRvbmUKCSAgICAjIHVzZXIgc29tZXRpbWVzIGRvZXMgQ0M9
PEhPU1Q+LWdjYyBzbyB3ZSBuZWVkIHRvIG1hdGNoIHRoYXQgdG8gJ2djYycKCSAgICB0cmltZWRj
Yz1gZWNobyAke0NDfSB8ICRTRUQgLWUgInMvJHtob3N0fS0vL2ciYAoJICAgICMgYW5kIHNvbWV0
aW1lcyBsaWJ0b29sIGhhcyBDQz08SE9TVD4tZ2NjIGJ1dCB1c2VyIGRvZXMgQ0M9Z2NjCgkgICAg
ZXh0ZW5kY2M9JHtob3N0fS0ke0NDfQoJICAgIGNhc2UgIiRAICIgaW4KCSAgICAgICJnY2MgIiog
fCAiIGdjYyAiKiB8ICIke2hvc3R9LWdjYyAiKiB8ICIgJHtob3N0fS1nY2MgIiopCgkgICAgICB0
YWduYW1lPUNDCgkgICAgICBicmVhayA7OwoJICAgICAgIiR0cmltZWRjYyAiKiB8ICIgJHRyaW1l
ZGNjICIqIHwgImAkZWNobyAkdHJpbWVkY2NgICIqIHwgIiBgJGVjaG8gJHRyaW1lZGNjYCAiKnxc
CgkgICAgICAiJGV4dGVuZGNjICIqIHwgIiAkZXh0ZW5kY2MgIiogfCAiYCRlY2hvICRleHRlbmRj
Y2AgIiogfCAiIGAkZWNobyAkZXh0ZW5kY2NgICIqfFwKCSAgICAgICIgJENDICIqIHwgIiRDQyAi
KiB8ICIgYCRlY2hvICRDQ2AgIiogfCAiYCRlY2hvICRDQ2AgIiogfCAiICRDQ19xdW90ZWQiKiB8
ICIkQ0NfcXVvdGVkICIqIHwgIiBgJGVjaG8gJENDX3F1b3RlZGAgIiogfCAiYCRlY2hvICRDQ19x
dW90ZWRgICIqKQoJICAgICAgIyBUaGUgY29tcGlsZXIgaW4gdGhlIGJhc2UgY29tcGlsZSBjb21t
YW5kIG1hdGNoZXMKCSAgICAgICMgdGhlIG9uZSBpbiB0aGUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24u
CgkgICAgICAjIEFzc3VtZSB0aGlzIGlzIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbiB3ZSB3YW50
LgoJICAgICAgdGFnbmFtZT0kegoJICAgICAgYnJlYWsKCSAgICAgIDs7CgkgICAgZXNhYwoJICBm
aQoJZG9uZQoJIyBJZiAkdGFnbmFtZSBzdGlsbCBpc24ndCBzZXQsIHRoZW4gbm8gdGFnZ2VkIGNv
bmZpZ3VyYXRpb24KCSMgd2FzIGZvdW5kIGFuZCBsZXQgdGhlIHVzZXIga25vdyB0aGF0IHRoZSAi
LS10YWciIGNvbW1hbmQKCSMgbGluZSBvcHRpb24gbXVzdCBiZSB1c2VkLgoJaWYgdGVzdCAteiAi
JHRhZ25hbWUiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IHVuYWJsZSB0byBpbmZlciB0YWdn
ZWQgY29uZmlndXJhdGlvbiIKCSAgJGVjaG8gIiRtb2RlbmFtZTogc3BlY2lmeSBhIHRhZyB3aXRo
IFxgLS10YWcnIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQojICAgICAgICBlbHNlCiMgICAg
ICAgICAgJGVjaG8gIiRtb2RlbmFtZTogdXNpbmcgJHRhZ25hbWUgdGFnZ2VkIGNvbmZpZ3VyYXRp
b24iCglmaQoJOzsKICAgICAgZXNhYwogICAgZmkKfQoKCiMgZnVuY19leHRyYWN0X2FyY2hpdmVz
IGdlbnRvcCBvbGRsaWIgLi4uCmZ1bmNfZXh0cmFjdF9hcmNoaXZlcyAoKSB7CiAgICBteV9nZW50
b3A9IiQxIjsgc2hpZnQKICAgIG15X29sZGxpYnM9JHsxKyIkQCJ9CiAgICBteV9vbGRvYmpzPSIi
CiAgICBteV94bGliPSIiCiAgICBteV94YWJzPSIiCiAgICBteV94ZGlyPSIiCiAgICBteV9zdGF0
dXM9IiIKCiAgICAkc2hvdyAiJHtybX1yICRteV9nZW50b3AiCiAgICAkcnVuICR7cm19ciAiJG15
X2dlbnRvcCIKICAgICRzaG93ICIkbWtkaXIgJG15X2dlbnRvcCIKICAgICRydW4gJG1rZGlyICIk
bXlfZ2VudG9wIgogICAgbXlfc3RhdHVzPSQ/CiAgICBpZiB0ZXN0ICIkbXlfc3RhdHVzIiAtbmUg
MCAmJiB0ZXN0ICEgLWQgIiRteV9nZW50b3AiOyB0aGVuCiAgICAgIGV4aXQgJG15X3N0YXR1cwog
ICAgZmkKCiAgICBmb3IgbXlfeGxpYiBpbiAkbXlfb2xkbGliczsgZG8KICAgICAgIyBFeHRyYWN0
IHRoZSBvYmplY3RzLgogICAgICBjYXNlICRteV94bGliIGluCglbXFwvXSogfCBbQS1aYS16XTpb
XFwvXSopIG15X3hhYnM9IiRteV94bGliIiA7OwoJKikgbXlfeGFicz1gcHdkYCIvJG15X3hsaWIi
IDs7CiAgICAgIGVzYWMKICAgICAgbXlfeGxpYj1gJGVjaG8gIlgkbXlfeGxpYiIgfCAkWHNlZCAt
ZSAncyVeLiovJSUnYAogICAgICBteV94ZGlyPSIkbXlfZ2VudG9wLyRteV94bGliIgoKICAgICAg
JHNob3cgIiR7cm19ciAkbXlfeGRpciIKICAgICAgJHJ1biAke3JtfXIgIiRteV94ZGlyIgogICAg
ICAkc2hvdyAiJG1rZGlyICRteV94ZGlyIgogICAgICAkcnVuICRta2RpciAiJG15X3hkaXIiCiAg
ICAgIHN0YXR1cz0kPwogICAgICBpZiB0ZXN0ICIkc3RhdHVzIiAtbmUgMCAmJiB0ZXN0ICEgLWQg
IiRteV94ZGlyIjsgdGhlbgoJZXhpdCAkc3RhdHVzCiAgICAgIGZpCiAgICAgIGNhc2UgJGhvc3Qg
aW4KICAgICAgKi1kYXJ3aW4qKQoJJHNob3cgIkV4dHJhY3RpbmcgJG15X3hhYnMiCgkjIERvIG5v
dCBib3RoZXIgZG9pbmcgYW55dGhpbmcgaWYganVzdCBhIGRyeSBydW4KCWlmIHRlc3QgLXogIiRy
dW4iOyB0aGVuCgkgIGRhcndpbl9vcmlnX2Rpcj1gcHdkYAoJICBjZCAkbXlfeGRpciB8fCBleGl0
ICQ/CgkgIGRhcndpbl9hcmNoaXZlPSRteV94YWJzCgkgIGRhcndpbl9jdXJkaXI9YHB3ZGAKCSAg
ZGFyd2luX2Jhc2VfYXJjaGl2ZT1gYmFzZW5hbWUgJGRhcndpbl9hcmNoaXZlYAoJICBkYXJ3aW5f
YXJjaGVzPWBsaXBvIC1pbmZvICIkZGFyd2luX2FyY2hpdmUiIDI+L2Rldi9udWxsIHwgJEVHUkVQ
IEFyY2hpdGVjdHVyZXMgMj4vZGV2L251bGxgCgkgIGlmIHRlc3QgLW4gIiRkYXJ3aW5fYXJjaGVz
IjsgdGhlbiAKCSAgICBkYXJ3aW5fYXJjaGVzPWBlY2hvICIkZGFyd2luX2FyY2hlcyIgfCAkU0VE
IC1lICdzLy4qYXJlOi8vJ2AKCSAgICBkYXJ3aW5fYXJjaD0KCSAgICAkc2hvdyAiJGRhcndpbl9i
YXNlX2FyY2hpdmUgaGFzIG11bHRpcGxlIGFyY2hpdGVjdHVyZXMgJGRhcndpbl9hcmNoZXMiCgkg
ICAgZm9yIGRhcndpbl9hcmNoIGluICAkZGFyd2luX2FyY2hlcyA7IGRvCgkgICAgICBta2RpciAt
cCAidW5mYXQtJCQvJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKCSAgICAg
IGxpcG8gLXRoaW4gJGRhcndpbl9hcmNoIC1vdXRwdXQgInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2Vf
YXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0vJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIgIiR7ZGFyd2lu
X2FyY2hpdmV9IgoJICAgICAgIyBSZW1vdmUgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIGZyb20gdGhl
IHRoaW4gZmlsZXMuCgkgICAgICAkQVIgLWQgInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2
ZX0tJHtkYXJ3aW5fYXJjaH0vJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIgX18uU1lNREVGIDI+L2Rl
di9udWxsIHx8IHRydWUKCSAgICAgICRBUiAtZCAidW5mYXQtJCQvJHtkYXJ3aW5fYmFzZV9hcmNo
aXZlfS0ke2Rhcndpbl9hcmNofS8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9IiBfXy5TWU1ERUZcIFNP
UlRFRCAyPi9kZXYvbnVsbCB8fCB0cnVlCgkgICAgICBjZCAidW5mYXQtJCQvJHtkYXJ3aW5fYmFz
ZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKCSAgICAgICRBUiAteG8gIiR7ZGFyd2luX2Jhc2Vf
YXJjaGl2ZX0iCgkgICAgICBybSAiJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKCSAgICAgIGNkICIk
ZGFyd2luX2N1cmRpciIKCSAgICBkb25lICMgJGRhcndpbl9hcmNoZXMKICAgICAgIyMgT2theSBu
b3cgd2UgaGF2ZSBhIGJ1bmNoIG9mIHRoaW4gb2JqZWN0cywgZ290dGEgZmF0dGVuIHRoZW0gdXAg
OikKCSAgICBkYXJ3aW5fZmlsZWxpc3Q9YGZpbmQgdW5mYXQtJCQgLXR5cGUgZiB8IHhhcmdzIGJh
c2VuYW1lIHwgc29ydCAtdSB8ICROTDJTUGAKCSAgICBkYXJ3aW5fZmlsZT0KCSAgICBkYXJ3aW5f
ZmlsZXM9CgkgICAgZm9yIGRhcndpbl9maWxlIGluICRkYXJ3aW5fZmlsZWxpc3Q7IGRvCgkgICAg
ICBkYXJ3aW5fZmlsZXM9YGZpbmQgdW5mYXQtJCQgLW5hbWUgJGRhcndpbl9maWxlIC1wcmludCB8
ICROTDJTUGAKCSAgICAgIGxpcG8gLWNyZWF0ZSAtb3V0cHV0ICIkZGFyd2luX2ZpbGUiICRkYXJ3
aW5fZmlsZXMKCSAgICBkb25lICMgJGRhcndpbl9maWxlbGlzdAoJICAgIHJtIC1yZiB1bmZhdC0k
JAoJICAgIGNkICIkZGFyd2luX29yaWdfZGlyIgoJICBlbHNlCgkgICAgY2QgJGRhcndpbl9vcmln
X2RpcgoJICAgIChjZCAkbXlfeGRpciAmJiAkQVIgeCAkbXlfeGFicykgfHwgZXhpdCAkPwoJICBm
aSAjICRkYXJ3aW5fYXJjaGVzCglmaSAjICRydW4KICAgICAgOzsKICAgICAgKikKCSMgV2Ugd2ls
bCBleHRyYWN0IHNlcGFyYXRlbHkganVzdCB0aGUgY29uZmxpY3RpbmcgbmFtZXMgYW5kIHdlIHdp
bGwKCSMgbm8gbG9uZ2VyIHRvdWNoIGFueSB1bmlxdWUgbmFtZXMuIEl0IGlzIGZhc3RlciB0byBs
ZWF2ZSB0aGVzZQoJIyBleHRyYWN0IGF1dG9tYXRpY2FsbHkgYnkgJEFSIGluIG9uZSBydW4uCgkk
c2hvdyAiKGNkICRteV94ZGlyICYmICRBUiB4ICRteV94YWJzKSIKCSRydW4gZXZhbCAiKGNkIFwk
bXlfeGRpciAmJiAkQVIgeCBcJG15X3hhYnMpIiB8fCBleGl0ICQ/CglpZiAoJEFSIHQgIiRteV94
YWJzIiB8IHNvcnQgfCBzb3J0IC11YyA+L2Rldi9udWxsIDI+JjEpOyB0aGVuCgkgIDoKCWVsc2UK
CSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogb2JqZWN0IG5hbWUgY29uZmxpY3RzOyByZW5h
bWluZyBvYmplY3QgZmlsZXMiIDE+JjIKCSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogdG8g
ZW5zdXJlIHRoYXQgdGhleSB3aWxsIG5vdCBvdmVyd3JpdGUiIDE+JjIKCSAgJEFSIHQgIiRteV94
YWJzIiB8IHNvcnQgfCB1bmlxIC1jZCB8IHdoaWxlIHJlYWQgLXIgY291bnQgbmFtZQoJICBkbwoJ
ICAgIGk9MQoJICAgIHdoaWxlIHRlc3QgIiRpIiAtbGUgIiRjb3VudCIKCSAgICBkbwoJICAgICAg
IyBQdXQgb3VyICRpIGJlZm9yZSBhbnkgZmlyc3QgZG90IChleHRlbnNpb24pCgkgICAgICAjIE5l
dmVyIG92ZXJ3cml0ZSBhbnkgZmlsZQoJICAgICAgbmFtZV90bz0iJG5hbWUiCgkgICAgICB3aGls
ZSB0ZXN0ICJYJG5hbWVfdG8iID0gIlgkbmFtZSIgfHwgdGVzdCAtZiAiJG15X3hkaXIvJG5hbWVf
dG8iCgkgICAgICBkbwoJCW5hbWVfdG89YCRlY2hvICJYJG5hbWVfdG8iIHwgJFhzZWQgLWUgInMv
XChbXi5dKlwpL1wxLSRpLyJgCgkgICAgICBkb25lCgkgICAgICAkc2hvdyAiKGNkICRteV94ZGly
ICYmICRBUiB4TiAkaSAkbXlfeGFicyAnJG5hbWUnICYmICRtdiAnJG5hbWUnICckbmFtZV90bycp
IgoJICAgICAgJHJ1biBldmFsICIoY2QgXCRteV94ZGlyICYmICRBUiB4TiAkaSBcJG15X3hhYnMg
JyRuYW1lJyAmJiAkbXYgJyRuYW1lJyAnJG5hbWVfdG8nKSIgfHwgZXhpdCAkPwoJICAgICAgaT1g
ZXhwciAkaSArIDFgCgkgICAgZG9uZQoJICBkb25lCglmaQoJOzsKICAgICAgZXNhYwogICAgICBt
eV9vbGRvYmpzPSIkbXlfb2xkb2JqcyAiYGZpbmQgJG15X3hkaXIgLW5hbWUgXCouJG9iamV4dCAt
cHJpbnQgLW8gLW5hbWUgXCoubG8gLXByaW50IHwgJE5MMlNQYAogICAgZG9uZQoKICAgIGZ1bmNf
ZXh0cmFjdF9hcmNoaXZlc19yZXN1bHQ9IiRteV9vbGRvYmpzIgp9CiMgRW5kIG9mIFNoZWxsIGZ1
bmN0aW9uIGRlZmluaXRpb25zCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
CiMgRGFyd2luIHN1Y2tzCmV2YWwgc3RkX3NocmV4dD1cIiRzaHJleHRfY21kc1wiCgojIFBhcnNl
IG91ciBjb21tYW5kIGxpbmUgb3B0aW9ucyBvbmNlLCB0aG9yb3VnaGx5Lgp3aGlsZSB0ZXN0ICIk
IyIgLWd0IDAKZG8KICBhcmc9IiQxIgogIHNoaWZ0CgogIGNhc2UgJGFyZyBpbgogIC0qPSopIG9w
dGFyZz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzL1stX2EtekEtWjAtOV0qPS8vJ2AgOzsK
ICAqKSBvcHRhcmc9IDs7CiAgZXNhYwoKICAjIElmIHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZHMg
YW4gYXJndW1lbnQsIGFzc2lnbiBpdC4KICBpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4KICAgIGNh
c2UgJHByZXYgaW4KICAgIGV4ZWN1dGVfZGxmaWxlcykKICAgICAgZXhlY3V0ZV9kbGZpbGVzPSIk
ZXhlY3V0ZV9kbGZpbGVzICRhcmciCiAgICAgIDs7CiAgICB0YWcpCiAgICAgIHRhZ25hbWU9IiRh
cmciCiAgICAgIHByZXNlcnZlX2FyZ3M9IiR7cHJlc2VydmVfYXJnc309JGFyZyIKCiAgICAgICMg
Q2hlY2sgd2hldGhlciB0YWduYW1lIGNvbnRhaW5zIG9ubHkgdmFsaWQgY2hhcmFjdGVycwogICAg
ICBjYXNlICR0YWduYW1lIGluCiAgICAgICpbIS1fQS1aYS16MC05LC9dKikKCSRlY2hvICIkcHJv
Z25hbWU6IGludmFsaWQgdGFnIG5hbWU6ICR0YWduYW1lIiAxPiYyCglleGl0ICRFWElUX0ZBSUxV
UkUKCTs7CiAgICAgIGVzYWMKCiAgICAgIGNhc2UgJHRhZ25hbWUgaW4KICAgICAgQ0MpCgkjIERv
bid0IHRlc3QgZm9yIHRoZSAiZGVmYXVsdCIgQyB0YWcsIGFzIHdlIGtub3csIGl0J3MgdGhlcmUs
IGJ1dAoJIyBub3Qgc3BlY2lhbGx5IG1hcmtlZC4KCTs7CiAgICAgICopCglpZiBncmVwICJeIyAj
IyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAkdGFnbmFtZSQiIDwgIiRwcm9ncGF0aCIgPiAv
ZGV2L251bGw7IHRoZW4KCSAgdGFnbGlzdD0iJHRhZ2xpc3QgJHRhZ25hbWUiCgkgICMgRXZhbHVh
dGUgdGhlIGNvbmZpZ3VyYXRpb24uCgkgIGV2YWwgImAke1NFRH0gLW4gLWUgJy9eIyAjIyMgQkVH
SU4gTElCVE9PTCBUQUcgQ09ORklHOiAnJHRhZ25hbWUnJC8sL14jICMjIyBFTkQgTElCVE9PTCBU
QUcgQ09ORklHOiAnJHRhZ25hbWUnJC9wJyA8ICRwcm9ncGF0aGAiCgllbHNlCgkgICRlY2hvICIk
cHJvZ25hbWU6IGlnbm9yaW5nIHVua25vd24gdGFnICR0YWduYW1lIiAxPiYyCglmaQoJOzsKICAg
ICAgZXNhYwogICAgICA7OwogICAgKikKICAgICAgZXZhbCAiJHByZXY9XCRhcmciCiAgICAgIDs7
CiAgICBlc2FjCgogICAgcHJldj0KICAgIHByZXZvcHQ9CiAgICBjb250aW51ZQogIGZpCgogICMg
SGF2ZSB3ZSBzZWVuIGEgbm9uLW9wdGlvbmFsIGFyZ3VtZW50IHlldD8KICBjYXNlICRhcmcgaW4K
ICAtLWhlbHApCiAgICBzaG93X2hlbHA9eWVzCiAgICA7OwoKICAtLXZlcnNpb24pCiAgICAkZWNo
byAiJFBST0dSQU0gKEdOVSAkUEFDS0FHRSkgJFZFUlNJT04kVElNRVNUQU1QIgogICAgJGVjaG8K
ICAgICRlY2hvICJDb3B5cmlnaHQgKEMpIDIwMDMgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiIKICAgICRlY2hvICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZv
ciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTyIKICAgICRlY2hvICJ3YXJyYW50eTsg
bm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4iCiAgICBleGl0ICRFWElUX1NVQ0NFU1MKICAgIDs7CgogIC0tY29uZmlnKQogICAg
JHtTRUR9IC1lICcxLC9eIyAjIyMgQkVHSU4gTElCVE9PTCBDT05GSUcvZCcgLWUgJy9eIyAjIyMg
RU5EIExJQlRPT0wgQ09ORklHLywkZCcgJHByb2dwYXRoCiAgICAjIE5vdyBwcmludCB0aGUgY29u
ZmlndXJhdGlvbnMgZm9yIHRoZSB0YWdzLgogICAgZm9yIHRhZ25hbWUgaW4gJHRhZ2xpc3Q7IGRv
CiAgICAgICR7U0VEfSAtbiAtZSAiL14jICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICR0
YWduYW1lJC8sL14jICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiAkdGFnbmFtZSQvcCIgPCAi
JHByb2dwYXRoIgogICAgZG9uZQogICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICA7OwoKICAtLWRl
YnVnKQogICAgJGVjaG8gIiRwcm9nbmFtZTogZW5hYmxpbmcgc2hlbGwgdHJhY2UgbW9kZSIKICAg
IHNldCAteAogICAgcHJlc2VydmVfYXJncz0iJHByZXNlcnZlX2FyZ3MgJGFyZyIKICAgIDs7Cgog
IC0tZHJ5LXJ1biB8IC1uKQogICAgcnVuPToKICAgIDs7CgogIC0tZmVhdHVyZXMpCiAgICAkZWNo
byAiaG9zdDogJGhvc3QiCiAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsg
dGhlbgogICAgICAkZWNobyAiZW5hYmxlIHNoYXJlZCBsaWJyYXJpZXMiCiAgICBlbHNlCiAgICAg
ICRlY2hvICJkaXNhYmxlIHNoYXJlZCBsaWJyYXJpZXMiCiAgICBmaQogICAgaWYgdGVzdCAiJGJ1
aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICAkZWNobyAiZW5hYmxlIHN0YXRpYyBsaWJy
YXJpZXMiCiAgICBlbHNlCiAgICAgICRlY2hvICJkaXNhYmxlIHN0YXRpYyBsaWJyYXJpZXMiCiAg
ICBmaQogICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICA7OwoKICAtLWZpbmlzaCkgbW9kZT0iZmlu
aXNoIiA7OwoKICAtLW1vZGUpIHByZXZvcHQ9Ii0tbW9kZSIgcHJldj1tb2RlIDs7CiAgLS1tb2Rl
PSopIG1vZGU9IiRvcHRhcmciIDs7CgogIC0tcHJlc2VydmUtZHVwLWRlcHMpIGR1cGxpY2F0ZV9k
ZXBzPSJ5ZXMiIDs7CgogIC0tcXVpZXQgfCAtLXNpbGVudCkKICAgIHNob3c9OgogICAgcHJlc2Vy
dmVfYXJncz0iJHByZXNlcnZlX2FyZ3MgJGFyZyIKICAgIDs7CgogIC0tdGFnKSBwcmV2b3B0PSIt
LXRhZyIgcHJldj10YWcgOzsKICAtLXRhZz0qKQogICAgc2V0IHRhZyAiJG9wdGFyZyIgJHsxKyIk
QCJ9CiAgICBzaGlmdAogICAgcHJldj10YWcKICAgIHByZXNlcnZlX2FyZ3M9IiRwcmVzZXJ2ZV9h
cmdzIC0tdGFnIgogICAgOzsKCiAgLWRsb3BlbikKICAgIHByZXZvcHQ9Ii1kbG9wZW4iCiAgICBw
cmV2PWV4ZWN1dGVfZGxmaWxlcwogICAgOzsKCiAgLSopCiAgICAkZWNobyAiJG1vZGVuYW1lOiB1
bnJlY29nbml6ZWQgb3B0aW9uIFxgJGFyZyciIDE+JjIKICAgICRlY2hvICIkaGVscCIgMT4mMgog
ICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICA7OwoKICAqKQogICAgbm9ub3B0PSIkYXJnIgogICAg
YnJlYWsKICAgIDs7CiAgZXNhYwpkb25lCgppZiB0ZXN0IC1uICIkcHJldm9wdCI7IHRoZW4KICAk
ZWNobyAiJG1vZGVuYW1lOiBvcHRpb24gXGAkcHJldm9wdCcgcmVxdWlyZXMgYW4gYXJndW1lbnQi
IDE+JjIKICAkZWNobyAiJGhlbHAiIDE+JjIKICBleGl0ICRFWElUX0ZBSUxVUkUKZmkKCiMgSWYg
dGhpcyB2YXJpYWJsZSBpcyBzZXQgaW4gYW55IG9mIHRoZSBhY3Rpb25zLCB0aGUgY29tbWFuZCBp
biBpdAojIHdpbGwgYmUgZXhlY2VkIGF0IHRoZSBlbmQuICBUaGlzIHByZXZlbnRzIGhlcmUtZG9j
dW1lbnRzIGZyb20gYmVpbmcKIyBsZWZ0IG92ZXIgYnkgc2hlbGxzLgpleGVjX2NtZD0KCmlmIHRl
c3QgLXogIiRzaG93X2hlbHAiOyB0aGVuCgogICMgSW5mZXIgdGhlIG9wZXJhdGlvbiBtb2RlLgog
IGlmIHRlc3QgLXogIiRtb2RlIjsgdGhlbgogICAgJGVjaG8gIioqKiBXYXJuaW5nOiBpbmZlcnJp
bmcgdGhlIG1vZGUgb2Ygb3BlcmF0aW9uIGlzIGRlcHJlY2F0ZWQuIiAxPiYyCiAgICAkZWNobyAi
KioqIEZ1dHVyZSB2ZXJzaW9ucyBvZiBMaWJ0b29sIHdpbGwgcmVxdWlyZSAtbW9kZT1NT0RFIGJl
IHNwZWNpZmllZC4iIDE+JjIKICAgIGNhc2UgJG5vbm9wdCBpbgogICAgKmNjIHwgY2MqIHwgKisr
IHwgZ2NjKiB8ICotZ2NjKiB8IGcrKyogfCB4bGMqKQogICAgICBtb2RlPWxpbmsKICAgICAgZm9y
IGFyZwogICAgICBkbwoJY2FzZSAkYXJnIGluCgktYykKCSAgIG1vZGU9Y29tcGlsZQoJICAgYnJl
YWsKCSAgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAgICAgOzsKICAgICpkYiB8ICpkYnggfCAqc3Ry
YWNlIHwgKnRydXNzKQogICAgICBtb2RlPWV4ZWN1dGUKICAgICAgOzsKICAgICppbnN0YWxsKnxj
cHxtdikKICAgICAgbW9kZT1pbnN0YWxsCiAgICAgIDs7CiAgICAqcm0pCiAgICAgIG1vZGU9dW5p
bnN0YWxsCiAgICAgIDs7CiAgICAqKQogICAgICAjIElmIHdlIGhhdmUgbm8gbW9kZSwgYnV0IGRs
ZmlsZXMgd2VyZSBzcGVjaWZpZWQsIHRoZW4gZG8gZXhlY3V0ZSBtb2RlLgogICAgICB0ZXN0IC1u
ICIkZXhlY3V0ZV9kbGZpbGVzIiAmJiBtb2RlPWV4ZWN1dGUKCiAgICAgICMgSnVzdCB1c2UgdGhl
IGRlZmF1bHQgb3BlcmF0aW9uIG1vZGUuCiAgICAgIGlmIHRlc3QgLXogIiRtb2RlIjsgdGhlbgoJ
aWYgdGVzdCAtbiAiJG5vbm9wdCI7IHRoZW4KCSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzog
Y2Fubm90IGluZmVyIG9wZXJhdGlvbiBtb2RlIGZyb20gXGAkbm9ub3B0JyIgMT4mMgoJZWxzZQoJ
ICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBjYW5ub3QgaW5mZXIgb3BlcmF0aW9uIG1vZGUg
d2l0aG91dCBNT0RFLUFSR1MiIDE+JjIKCWZpCiAgICAgIGZpCiAgICAgIDs7CiAgICBlc2FjCiAg
ZmkKCiAgIyBPbmx5IGV4ZWN1dGUgbW9kZSBpcyBhbGxvd2VkIHRvIGhhdmUgLWRsb3BlbiBmbGFn
cy4KICBpZiB0ZXN0IC1uICIkZXhlY3V0ZV9kbGZpbGVzIiAmJiB0ZXN0ICIkbW9kZSIgIT0gZXhl
Y3V0ZTsgdGhlbgogICAgJGVjaG8gIiRtb2RlbmFtZTogdW5yZWNvZ25pemVkIG9wdGlvbiBcYC1k
bG9wZW4nIiAxPiYyCiAgICAkZWNobyAiJGhlbHAiIDE+JjIKICAgIGV4aXQgJEVYSVRfRkFJTFVS
RQogIGZpCgogICMgQ2hhbmdlIHRoZSBoZWxwIG1lc3NhZ2UgdG8gYSBtb2RlLXNwZWNpZmljIG9u
ZS4KICBnZW5lcmljX2hlbHA9IiRoZWxwIgogIGhlbHA9IlRyeSBcYCRtb2RlbmFtZSAtLWhlbHAg
LS1tb2RlPSRtb2RlJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCgogICMgVGhlc2UgbW9kZXMgYXJl
IGluIG9yZGVyIG9mIGV4ZWN1dGlvbiBmcmVxdWVuY3kgc28gdGhhdCB0aGV5IHJ1biBxdWlja2x5
LgogIGNhc2UgJG1vZGUgaW4KICAjIGxpYnRvb2wgY29tcGlsZSBtb2RlCiAgY29tcGlsZSkKICAg
IG1vZGVuYW1lPSIkbW9kZW5hbWU6IGNvbXBpbGUiCiAgICAjIEdldCB0aGUgY29tcGlsYXRpb24g
Y29tbWFuZCBhbmQgdGhlIHNvdXJjZSBmaWxlLgogICAgYmFzZV9jb21waWxlPQogICAgc3JjZmls
ZT0iJG5vbm9wdCIgICMgIGFsd2F5cyBrZWVwIGEgbm9uLWVtcHR5IHZhbHVlIGluICJzcmNmaWxl
IgogICAgc3VwcHJlc3Nfb3B0PXllcwogICAgc3VwcHJlc3Nfb3V0cHV0PQogICAgYXJnX21vZGU9
bm9ybWFsCiAgICBsaWJvYmo9CiAgICBsYXRlcj0KCiAgICBmb3IgYXJnCiAgICBkbwogICAgICBj
YXNlICIkYXJnX21vZGUiIGluCiAgICAgIGFyZyAgKQoJIyBkbyBub3QgImNvbnRpbnVlIi4gIElu
c3RlYWQsIGFkZCB0aGlzIHRvIGJhc2VfY29tcGlsZQoJbGFzdGFyZz0iJGFyZyIKCWFyZ19tb2Rl
PW5vcm1hbAoJOzsKCiAgICAgIHRhcmdldCApCglsaWJvYmo9IiRhcmciCglhcmdfbW9kZT1ub3Jt
YWwKCWNvbnRpbnVlCgk7OwoKICAgICAgbm9ybWFsICkKCSMgQWNjZXB0IGFueSBjb21tYW5kLWxp
bmUgb3B0aW9ucy4KCWNhc2UgJGFyZyBpbgoJLW8pCgkgIGlmIHRlc3QgLW4gIiRsaWJvYmoiIDsg
dGhlbgoJICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBjYW5ub3Qgc3BlY2lmeSBcYC1vJyBtb3Jl
IHRoYW4gb25jZSIgMT4mMgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICBmaQoJICBhcmdfbW9k
ZT10YXJnZXQKCSAgY29udGludWUKCSAgOzsKCgktc3RhdGljIHwgLXByZWZlci1waWMgfCAtcHJl
ZmVyLW5vbi1waWMpCgkgIGxhdGVyPSIkbGF0ZXIgJGFyZyIKCSAgY29udGludWUKCSAgOzsKCgkt
bm8tc3VwcHJlc3MpCgkgIHN1cHByZXNzX29wdD1ubwoJICBjb250aW51ZQoJICA7OwoKCS1YY29t
cGlsZXIpCgkgIGFyZ19tb2RlPWFyZyAgIyAgdGhlIG5leHQgb25lIGdvZXMgaW50byB0aGUgImJh
c2VfY29tcGlsZSIgYXJnIGxpc3QKCSAgY29udGludWUgICAgICAjICBUaGUgY3VycmVudCAic3Jj
ZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0YWluZWQgb3IKCSAgOzsgICAgICAgICAgICAjICByZXBs
YWNlZCBsYXRlci4gIEkgd291bGQgZ3Vlc3MgdGhhdCB3b3VsZCBiZSBhIGJ1Zy4KCgktV2MsKikK
CSAgYXJncz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICJzL14tV2MsLy8iYAoJICBsYXN0YXJn
PQoJICBzYXZlX2lmcz0iJElGUyI7IElGUz0nLCcKIAkgIGZvciBhcmcgaW4gJGFyZ3M7IGRvCgkg
ICAgSUZTPSIkc2F2ZV9pZnMiCgoJICAgICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFpbmluZyBv
dGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KCSAgICAjIE1hbnkgQm91cm5lIHNoZWxscyBjYW5u
b3QgaGFuZGxlIGNsb3NlIGJyYWNrZXRzIGNvcnJlY3RseQoJICAgICMgaW4gc2NhbiBzZXRzLCBz
byB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCgkgICAgY2FzZSAkYXJnIGluCgkgICAgICAqW1xb
XH5cI1xeXCZcKlwoXClce1x9XHxcO1w8XD5cP1wnXCBcCV0qfCpdKnwiIikKCSAgICAgIGFyZz0i
XCIkYXJnXCIiCgkgICAgICA7OwoJICAgIGVzYWMKCSAgICBsYXN0YXJnPSIkbGFzdGFyZyAkYXJn
IgoJICBkb25lCgkgIElGUz0iJHNhdmVfaWZzIgoJICBsYXN0YXJnPWAkZWNobyAiWCRsYXN0YXJn
IiB8ICRYc2VkIC1lICJzL14gLy8iYAoKCSAgIyBBZGQgdGhlIGFyZ3VtZW50cyB0byBiYXNlX2Nv
bXBpbGUuCgkgIGJhc2VfY29tcGlsZT0iJGJhc2VfY29tcGlsZSAkbGFzdGFyZyIKCSAgY29udGlu
dWUKCSAgOzsKCgkqICkKCSAgIyBBY2NlcHQgdGhlIGN1cnJlbnQgYXJndW1lbnQgYXMgdGhlIHNv
dXJjZSBmaWxlLgoJICAjIFRoZSBwcmV2aW91cyAic3JjZmlsZSIgYmVjb21lcyB0aGUgY3VycmVu
dCBhcmd1bWVudC4KCSAgIwoJICBsYXN0YXJnPSIkc3JjZmlsZSIKCSAgc3JjZmlsZT0iJGFyZyIK
CSAgOzsKCWVzYWMgICMgIGNhc2UgJGFyZwoJOzsKICAgICAgZXNhYyAgICAjICBjYXNlICRhcmdf
bW9kZQoKICAgICAgIyBBZXN0aGV0aWNhbGx5IHF1b3RlIHRoZSBwcmV2aW91cyBhcmd1bWVudC4K
ICAgICAgbGFzdGFyZz1gJGVjaG8gIlgkbGFzdGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9z
dWJzdCJgCgogICAgICBjYXNlICRsYXN0YXJnIGluCiAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3Mg
Y29udGFpbmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KICAgICAgIyBNYW55IEJvdXJu
ZSBzaGVsbHMgY2Fubm90IGhhbmRsZSBjbG9zZSBicmFja2V0cyBjb3JyZWN0bHkKICAgICAgIyBp
biBzY2FuIHNldHMsIHNvIHdlIHNwZWNpZnkgaXQgc2VwYXJhdGVseS4KICAgICAgKltcW1x+XCNc
XlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCglsYXN0YXJnPSJcIiRsYXN0
YXJnXCIiCgk7OwogICAgICBlc2FjCgogICAgICBiYXNlX2NvbXBpbGU9IiRiYXNlX2NvbXBpbGUg
JGxhc3RhcmciCiAgICBkb25lICMgZm9yIGFyZwoKICAgIGNhc2UgJGFyZ19tb2RlIGluCiAgICBh
cmcpCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYW4gYXJndW1lbnQg
Zm9yIC1YY29tcGlsZSIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIDs7CiAgICB0YXJn
ZXQpCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYSB0YXJnZXQgd2l0
aCBcYC1vJyIgMT4mMgogICAgICBleGl0ICRFWElUX0ZBSUxVUkUKICAgICAgOzsKICAgICopCiAg
ICAgICMgR2V0IHRoZSBuYW1lIG9mIHRoZSBsaWJyYXJ5IG9iamVjdC4KICAgICAgWyAteiAiJGxp
Ym9iaiIgXSAmJiBsaWJvYmo9YCRlY2hvICJYJHNyY2ZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUl
J2AKICAgICAgOzsKICAgIGVzYWMKCiAgICAjIFJlY29nbml6ZSBzZXZlcmFsIGRpZmZlcmVudCBm
aWxlIHN1ZmZpeGVzLgogICAgIyBJZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBp
cyByZXBsYWNlZCB3aXRoIGZpbGUubG8KICAgIHhmb3JtPSdbY0NGU2lmbXNvXScKICAgIGNhc2Ug
JGxpYm9iaiBpbgogICAgKi5hZGEpIHhmb3JtPWFkYSA7OwogICAgKi5hZGIpIHhmb3JtPWFkYiA7
OwogICAgKi5hZHMpIHhmb3JtPWFkcyA7OwogICAgKi5hc20pIHhmb3JtPWFzbSA7OwogICAgKi5j
KyspIHhmb3JtPWMrKyA7OwogICAgKi5jYykgeGZvcm09Y2MgOzsKICAgICouaWkpIHhmb3JtPWlp
IDs7CiAgICAqLmNsYXNzKSB4Zm9ybT1jbGFzcyA7OwogICAgKi5jcHApIHhmb3JtPWNwcCA7Owog
ICAgKi5jeHgpIHhmb3JtPWN4eCA7OwogICAgKi5mOTApIHhmb3JtPWY5MCA7OwogICAgKi5mb3Ip
IHhmb3JtPWZvciA7OwogICAgKi5qYXZhKSB4Zm9ybT1qYXZhIDs7CiAgICBlc2FjCgogICAgbGli
b2JqPWAkZWNobyAiWCRsaWJvYmoiIHwgJFhzZWQgLWUgInMvXC4keGZvcm0kLy5sby8iYAoKICAg
IGNhc2UgJGxpYm9iaiBpbgogICAgKi5sbykgb2JqPWAkZWNobyAiWCRsaWJvYmoiIHwgJFhzZWQg
LWUgIiRsbzJvImAgOzsKICAgICopCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBkZXRl
cm1pbmUgbmFtZSBvZiBsaWJyYXJ5IG9iamVjdCBmcm9tIFxgJGxpYm9iaiciIDE+JjIKICAgICAg
ZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIDs7CiAgICBlc2FjCgogICAgZnVuY19pbmZlcl90YWcg
JGJhc2VfY29tcGlsZQoKICAgIGZvciBhcmcgaW4gJGxhdGVyOyBkbwogICAgICBjYXNlICRhcmcg
aW4KICAgICAgLXN0YXRpYykKCWJ1aWxkX29sZF9saWJzPXllcwoJY29udGludWUKCTs7CgogICAg
ICAtcHJlZmVyLXBpYykKCXBpY19tb2RlPXllcwoJY29udGludWUKCTs7CgogICAgICAtcHJlZmVy
LW5vbi1waWMpCglwaWNfbW9kZT1ubwoJY29udGludWUKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUK
CiAgICBvYmpuYW1lPWAkZWNobyAiWCRvYmoiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKICAgIHhk
aXI9YCRlY2hvICJYJG9iaiIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAogICAgaWYgdGVzdCAi
WCR4ZGlyIiA9ICJYJG9iaiI7IHRoZW4KICAgICAgeGRpcj0KICAgIGVsc2UKICAgICAgeGRpcj0k
eGRpci8KICAgIGZpCiAgICBsb2JqPSR7eGRpcn0kb2JqZGlyLyRvYmpuYW1lCgogICAgaWYgdGVz
dCAteiAiJGJhc2VfY29tcGlsZSI7IHRoZW4KICAgICAgJGVjaG8gIiRtb2RlbmFtZTogeW91IG11
c3Qgc3BlY2lmeSBhIGNvbXBpbGF0aW9uIGNvbW1hbmQiIDE+JjIKICAgICAgJGVjaG8gIiRoZWxw
IiAxPiYyCiAgICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogICAgZmkKCiAgICAjIERlbGV0ZSBhbnkg
bGVmdG92ZXIgbGlicmFyeSBvYmplY3RzLgogICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9
IHllczsgdGhlbgogICAgICByZW1vdmVsaXN0PSIkb2JqICRsb2JqICRsaWJvYmogJHtsaWJvYmp9
VCIKICAgIGVsc2UKICAgICAgcmVtb3ZlbGlzdD0iJGxvYmogJGxpYm9iaiAke2xpYm9ian1UIgog
ICAgZmkKCiAgICAkcnVuICRybSAkcmVtb3ZlbGlzdAogICAgdHJhcCAiJHJ1biAkcm0gJHJlbW92
ZWxpc3Q7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1CgogICAgIyBPbiBDeWd3aW4gdGhlcmUn
cyBubyAicmVhbCIgUElDIGZsYWcgc28gd2UgbXVzdCBidWlsZCBib3RoIG9iamVjdCB0eXBlcwog
ICAgY2FzZSAkaG9zdF9vcyBpbgogICAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgb3MyKikK
ICAgICAgcGljX21vZGU9ZGVmYXVsdAogICAgICA7OwogICAgZXNhYwogICAgaWYgdGVzdCAiJHBp
Y19tb2RlIiA9IG5vICYmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgIT0gcGFzc19hbGw7
IHRoZW4KICAgICAgIyBub24tUElDIGNvZGUgaW4gc2hhcmVkIGxpYnJhcmllcyBpcyBub3Qgc3Vw
cG9ydGVkCiAgICAgIHBpY19tb2RlPWRlZmF1bHQKICAgIGZpCgogICAgIyBDYWxjdWxhdGUgdGhl
IGZpbGVuYW1lIG9mIHRoZSBvdXRwdXQgb2JqZWN0IGlmIGNvbXBpbGVyIGRvZXMKICAgICMgbm90
IHN1cHBvcnQgLW8gd2l0aCAtYwogICAgaWYgdGVzdCAiJGNvbXBpbGVyX2NfbyIgPSBubzsgdGhl
bgogICAgICBvdXRwdXRfb2JqPWAkZWNobyAiWCRzcmNmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8l
JScgLWUgJ3MlXC5bXi5dKiQlJSdgLiR7b2JqZXh0fQogICAgICBsb2NrZmlsZT0iJG91dHB1dF9v
YmoubG9jayIKICAgICAgcmVtb3ZlbGlzdD0iJHJlbW92ZWxpc3QgJG91dHB1dF9vYmogJGxvY2tm
aWxlIgogICAgICB0cmFwICIkcnVuICRybSAkcmVtb3ZlbGlzdDsgZXhpdCAkRVhJVF9GQUlMVVJF
IiAxIDIgMTUKICAgIGVsc2UKICAgICAgb3V0cHV0X29iaj0KICAgICAgbmVlZF9sb2Nrcz1ubwog
ICAgICBsb2NrZmlsZT0KICAgIGZpCgogICAgIyBMb2NrIHRoaXMgY3JpdGljYWwgc2VjdGlvbiBp
ZiBpdCBpcyBuZWVkZWQKICAgICMgV2UgdXNlIHRoaXMgc2NyaXB0IGZpbGUgdG8gbWFrZSB0aGUg
bGluaywgaXQgYXZvaWRzIGNyZWF0aW5nIGEgbmV3IGZpbGUKICAgIGlmIHRlc3QgIiRuZWVkX2xv
Y2tzIiA9IHllczsgdGhlbgogICAgICB1bnRpbCAkcnVuIGxuICIkc3JjZmlsZSIgIiRsb2NrZmls
ZSIgMj4vZGV2L251bGw7IGRvCgkkc2hvdyAiV2FpdGluZyBmb3IgJGxvY2tmaWxlIHRvIGJlIHJl
bW92ZWQiCglzbGVlcCAyCiAgICAgIGRvbmUKICAgIGVsaWYgdGVzdCAiJG5lZWRfbG9ja3MiID0g
d2FybjsgdGhlbgogICAgICBpZiB0ZXN0IC1mICIkbG9ja2ZpbGUiOyB0aGVuCgkkZWNobyAiXAoq
KiogRVJST1IsICRsb2NrZmlsZSBleGlzdHMgYW5kIGNvbnRhaW5zOgpgY2F0ICRsb2NrZmlsZSAy
Pi9kZXYvbnVsbGAKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNzIGlzIHRyeWlu
ZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGlidG9vbCBjb3Vs
ZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQp5b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBv
cnQgXGAtYycgYW5kIFxgLW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlzIGNvbXBpbGF0
aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0ZXIKYXZvaWQg
cGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBvciBnZXQgYSBiZXR0
ZXIKY29tcGlsZXIuIgoKCSRydW4gJHJtICRyZW1vdmVsaXN0CglleGl0ICRFWElUX0ZBSUxVUkUK
ICAgICAgZmkKICAgICAgJGVjaG8gJHNyY2ZpbGUgPiAiJGxvY2tmaWxlIgogICAgZmkKCiAgICBp
ZiB0ZXN0IC1uICIkZml4X3NyY2ZpbGVfcGF0aCI7IHRoZW4KICAgICAgZXZhbCBzcmNmaWxlPVwi
JGZpeF9zcmNmaWxlX3BhdGhcIgogICAgZmkKCiAgICAkcnVuICRybSAiJGxpYm9iaiIgIiR7bGli
b2JqfVQiCgogICAgIyBDcmVhdGUgYSBsaWJ0b29sIG9iamVjdCBmaWxlIChhbmFsb2dvdXMgdG8g
YSAiLmxhIiBmaWxlKSwKICAgICMgYnV0IGRvbid0IGNyZWF0ZSBpdCBpZiB3ZSdyZSBkb2luZyBh
IGRyeSBydW4uCiAgICB0ZXN0IC16ICIkcnVuIiAmJiBjYXQgPiAke2xpYm9ian1UIDw8RU9GCiMg
JGxpYm9iaiAtIGEgbGlidG9vbCBvYmplY3QgZmlsZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAt
IEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RBTVAKIwojIFBsZWFzZSBETyBOT1QgZGVsZXRl
IHRoaXMgZmlsZSEKIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgdGhlIGxpYnJhcnkuCgoj
IE5hbWUgb2YgdGhlIFBJQyBvYmplY3QuCkVPRgoKICAgICMgT25seSBidWlsZCBhIFBJQyBvYmpl
Y3QgaWYgd2UgYXJlIGJ1aWxkaW5nIGxpYnRvb2wgbGlicmFyaWVzLgogICAgaWYgdGVzdCAiJGJ1
aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KICAgICAgIyBXaXRob3V0IHRoaXMgYXNzaWdu
bWVudCwgYmFzZV9jb21waWxlIGdldHMgZW1wdGllZC4KICAgICAgZmJzZF9oaWRlb3VzX3NoX2J1
Zz0kYmFzZV9jb21waWxlCgogICAgICBpZiB0ZXN0ICIkcGljX21vZGUiICE9IG5vOyB0aGVuCglj
b21tYW5kPSIkYmFzZV9jb21waWxlICRzcmNmaWxlICRwaWNfZmxhZyIKICAgICAgZWxzZQoJIyBE
b24ndCBidWlsZCBQSUMgY29kZQoJY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkc3JjZmlsZSIKICAg
ICAgZmkKCiAgICAgIGlmIHRlc3QgISAtZCAiJHt4ZGlyfSRvYmpkaXIiOyB0aGVuCgkkc2hvdyAi
JG1rZGlyICR7eGRpcn0kb2JqZGlyIgoJJHJ1biAkbWtkaXIgJHt4ZGlyfSRvYmpkaXIKCXN0YXR1
cz0kPwoJaWYgdGVzdCAiJHN0YXR1cyIgLW5lIDAgJiYgdGVzdCAhIC1kICIke3hkaXJ9JG9iamRp
ciI7IHRoZW4KCSAgZXhpdCAkc3RhdHVzCglmaQogICAgICBmaQoKICAgICAgaWYgdGVzdCAteiAi
JG91dHB1dF9vYmoiOyB0aGVuCgkjIFBsYWNlIFBJQyBvYmplY3RzIGluICRvYmpkaXIKCWNvbW1h
bmQ9IiRjb21tYW5kIC1vICRsb2JqIgogICAgICBmaQoKICAgICAgJHJ1biAkcm0gIiRsb2JqIiAi
JG91dHB1dF9vYmoiCgogICAgICAkc2hvdyAiJGNvbW1hbmQiCiAgICAgIGlmICRydW4gZXZhbCAi
JGNvbW1hbmQiOyB0aGVuIDoKICAgICAgZWxzZQoJdGVzdCAtbiAiJG91dHB1dF9vYmoiICYmICRy
dW4gJHJtICRyZW1vdmVsaXN0CglleGl0ICRFWElUX0ZBSUxVUkUKICAgICAgZmkKCiAgICAgIGlm
IHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm4gJiYKCSB0ZXN0ICJYYGNhdCAkbG9ja2ZpbGUgMj4v
ZGV2L251bGxgIiAhPSAiWCRzcmNmaWxlIjsgdGhlbgoJJGVjaG8gIlwKKioqIEVSUk9SLCAkbG9j
a2ZpbGUgY29udGFpbnM6CmBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYAoKYnV0IGl0IHNob3Vs
ZCBjb250YWluOgokc3JjZmlsZQoKVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3Mg
aXMgdHJ5aW5nIHRvIHVzZSB0aGUgc2FtZQp0ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0
b29sIGNvdWxkIG5vdCB3b3JrIGFyb3VuZCBpdCBiZWNhdXNlCnlvdXIgY29tcGlsZXIgZG9lcyBu
b3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIuICBJZiB5b3UKcmVwZWF0IHRoaXMg
Y29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRl
cgphdm9pZCBwYXJhbGxlbCBidWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdl
dCBhIGJldHRlcgpjb21waWxlci4iCgoJJHJ1biAkcm0gJHJlbW92ZWxpc3QKCWV4aXQgJEVYSVRf
RkFJTFVSRQogICAgICBmaQoKICAgICAgIyBKdXN0IG1vdmUgdGhlIG9iamVjdCBpZiBuZWVkZWQs
IHRoZW4gZ28gb24gdG8gY29tcGlsZSB0aGUgbmV4dCBvbmUKICAgICAgaWYgdGVzdCAtbiAiJG91
dHB1dF9vYmoiICYmIHRlc3QgIlgkb3V0cHV0X29iaiIgIT0gIlgkbG9iaiI7IHRoZW4KCSRzaG93
ICIkbXYgJG91dHB1dF9vYmogJGxvYmoiCglpZiAkcnVuICRtdiAkb3V0cHV0X29iaiAkbG9iajsg
dGhlbiA6CgllbHNlCgkgIGVycm9yPSQ/CgkgICRydW4gJHJtICRyZW1vdmVsaXN0CgkgIGV4aXQg
JGVycm9yCglmaQogICAgICBmaQoKICAgICAgIyBBcHBlbmQgdGhlIG5hbWUgb2YgdGhlIFBJQyBv
YmplY3QgdG8gdGhlIGxpYnRvb2wgb2JqZWN0IGZpbGUuCiAgICAgIHRlc3QgLXogIiRydW4iICYm
IGNhdCA+PiAke2xpYm9ian1UIDw8RU9GCnBpY19vYmplY3Q9JyRvYmpkaXIvJG9iam5hbWUnCgpF
T0YKCiAgICAgICMgQWxsb3cgZXJyb3IgbWVzc2FnZXMgb25seSBmcm9tIHRoZSBmaXJzdCBjb21w
aWxhdGlvbi4KICAgICAgaWYgdGVzdCAiJHN1cHByZXNzX29wdCIgPSB5ZXM7IHRoZW4KICAgICAg
ICBzdXBwcmVzc19vdXRwdXQ9JyA+L2Rldi9udWxsIDI+JjEnCiAgICAgIGZpCiAgICBlbHNlCiAg
ICAgICMgTm8gUElDIG9iamVjdCBzbyBpbmRpY2F0ZSBpdCBkb2Vzbid0IGV4aXN0IGluIHRoZSBs
aWJ0b29sCiAgICAgICMgb2JqZWN0IGZpbGUuCiAgICAgIHRlc3QgLXogIiRydW4iICYmIGNhdCA+
PiAke2xpYm9ian1UIDw8RU9GCnBpY19vYmplY3Q9bm9uZQoKRU9GCiAgICBmaQoKICAgICMgT25s
eSBidWlsZCBhIHBvc2l0aW9uLWRlcGVuZGVudCBvYmplY3QgaWYgd2UgYnVpbGQgb2xkIGxpYnJh
cmllcy4KICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KICAgICAgaWYg
dGVzdCAiJHBpY19tb2RlIiAhPSB5ZXM7IHRoZW4KCSMgRG9uJ3QgYnVpbGQgUElDIGNvZGUKCWNv
bW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHNyY2ZpbGUiCiAgICAgIGVsc2UKCWNvbW1hbmQ9IiRiYXNl
X2NvbXBpbGUgJHNyY2ZpbGUgJHBpY19mbGFnIgogICAgICBmaQogICAgICBpZiB0ZXN0ICIkY29t
cGlsZXJfY19vIiA9IHllczsgdGhlbgoJY29tbWFuZD0iJGNvbW1hbmQgLW8gJG9iaiIKICAgICAg
ZmkKCiAgICAgICMgU3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGlmIHdlIGFscmVhZHkgZGlkIGEg
UElDIGNvbXBpbGF0aW9uLgogICAgICBjb21tYW5kPSIkY29tbWFuZCRzdXBwcmVzc19vdXRwdXQi
CiAgICAgICRydW4gJHJtICIkb2JqIiAiJG91dHB1dF9vYmoiCiAgICAgICRzaG93ICIkY29tbWFu
ZCIKICAgICAgaWYgJHJ1biBldmFsICIkY29tbWFuZCI7IHRoZW4gOgogICAgICBlbHNlCgkkcnVu
ICRybSAkcmVtb3ZlbGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAgICBpZiB0
ZXN0ICIkbmVlZF9sb2NrcyIgPSB3YXJuICYmCgkgdGVzdCAiWGBjYXQgJGxvY2tmaWxlIDI+L2Rl
di9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KCSRlY2hvICJcCioqKiBFUlJPUiwgJGxvY2tm
aWxlIGNvbnRhaW5zOgpgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAKCmJ1dCBpdCBzaG91bGQg
Y29udGFpbjoKJHNyY2ZpbGUKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNzIGlz
IHRyeWluZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGlidG9v
bCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQp5b3VyIGNvbXBpbGVyIGRvZXMgbm90
IHN1cHBvcnQgXGAtYycgYW5kIFxgLW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlzIGNv
bXBpbGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0ZXIK
YXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBvciBnZXQg
YSBiZXR0ZXIKY29tcGlsZXIuIgoKCSRydW4gJHJtICRyZW1vdmVsaXN0CglleGl0ICRFWElUX0ZB
SUxVUkUKICAgICAgZmkKCiAgICAgICMgSnVzdCBtb3ZlIHRoZSBvYmplY3QgaWYgbmVlZGVkCiAg
ICAgIGlmIHRlc3QgLW4gIiRvdXRwdXRfb2JqIiAmJiB0ZXN0ICJYJG91dHB1dF9vYmoiICE9ICJY
JG9iaiI7IHRoZW4KCSRzaG93ICIkbXYgJG91dHB1dF9vYmogJG9iaiIKCWlmICRydW4gJG12ICRv
dXRwdXRfb2JqICRvYmo7IHRoZW4gOgoJZWxzZQoJICBlcnJvcj0kPwoJICAkcnVuICRybSAkcmVt
b3ZlbGlzdAoJICBleGl0ICRlcnJvcgoJZmkKICAgICAgZmkKCiAgICAgICMgQXBwZW5kIHRoZSBu
YW1lIG9mIHRoZSBub24tUElDIG9iamVjdCB0aGUgbGlidG9vbCBvYmplY3QgZmlsZS4KICAgICAg
IyBPbmx5IGFwcGVuZCBpZiB0aGUgbGlidG9vbCBvYmplY3QgZmlsZSBleGlzdHMuCiAgICAgIHRl
c3QgLXogIiRydW4iICYmIGNhdCA+PiAke2xpYm9ian1UIDw8RU9GCiMgTmFtZSBvZiB0aGUgbm9u
LVBJQyBvYmplY3QuCm5vbl9waWNfb2JqZWN0PSckb2JqbmFtZScKCkVPRgogICAgZWxzZQogICAg
ICAjIEFwcGVuZCB0aGUgbmFtZSBvZiB0aGUgbm9uLVBJQyBvYmplY3QgdGhlIGxpYnRvb2wgb2Jq
ZWN0IGZpbGUuCiAgICAgICMgT25seSBhcHBlbmQgaWYgdGhlIGxpYnRvb2wgb2JqZWN0IGZpbGUg
ZXhpc3RzLgogICAgICB0ZXN0IC16ICIkcnVuIiAmJiBjYXQgPj4gJHtsaWJvYmp9VCA8PEVPRgoj
IE5hbWUgb2YgdGhlIG5vbi1QSUMgb2JqZWN0Lgpub25fcGljX29iamVjdD1ub25lCgpFT0YKICAg
IGZpCgogICAgJHJ1biAkbXYgIiR7bGlib2JqfVQiICIke2xpYm9ian0iCgogICAgIyBVbmxvY2sg
dGhlIGNyaXRpY2FsIHNlY3Rpb24gaWYgaXQgd2FzIGxvY2tlZAogICAgaWYgdGVzdCAiJG5lZWRf
bG9ja3MiICE9IG5vOyB0aGVuCiAgICAgICRydW4gJHJtICIkbG9ja2ZpbGUiCiAgICBmaQoKICAg
IGV4aXQgJEVYSVRfU1VDQ0VTUwogICAgOzsKCiAgIyBsaWJ0b29sIGxpbmsgbW9kZQogIGxpbmsg
fCByZWxpbmspCiAgICBtb2RlbmFtZT0iJG1vZGVuYW1lOiBsaW5rIgogICAgY2FzZSAkaG9zdCBp
bgogICAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiopCiAg
ICAgICMgSXQgaXMgaW1wb3NzaWJsZSB0byBsaW5rIGEgZGxsIHdpdGhvdXQgdGhpcyBzZXR0aW5n
LCBhbmQKICAgICAgIyB3ZSBzaG91bGRuJ3QgZm9yY2UgdGhlIG1ha2VmaWxlIG1haW50YWluZXIg
dG8gZmlndXJlIG91dAogICAgICAjIHdoaWNoIHN5c3RlbSB3ZSBhcmUgY29tcGlsaW5nIGZvciBp
biBvcmRlciB0byBwYXNzIGFuIGV4dHJhCiAgICAgICMgZmxhZyBmb3IgZXZlcnkgbGlidG9vbCBp
bnZvY2F0aW9uLgogICAgICAjIGFsbG93X3VuZGVmaW5lZD1ubwoKICAgICAgIyBGSVhNRTogVW5m
b3J0dW5hdGVseSwgdGhlcmUgYXJlIHByb2JsZW1zIHdpdGggdGhlIGFib3ZlIHdoZW4gdHJ5aW5n
CiAgICAgICMgdG8gbWFrZSBhIGRsbCB3aGljaCBoYXMgdW5kZWZpbmVkIHN5bWJvbHMsIGluIHdo
aWNoIGNhc2Ugbm90CiAgICAgICMgZXZlbiBhIHN0YXRpYyBsaWJyYXJ5IGlzIGJ1aWx0LiAgRm9y
IG5vdywgd2UgbmVlZCB0byBzcGVjaWZ5CiAgICAgICMgLW5vLXVuZGVmaW5lZCBvbiB0aGUgbGli
dG9vbCBsaW5rIGxpbmUgd2hlbiB3ZSBjYW4gYmUgY2VydGFpbgogICAgICAjIHRoYXQgYWxsIHN5
bWJvbHMgYXJlIHNhdGlzZmllZCwgb3RoZXJ3aXNlIHdlIGdldCBhIHN0YXRpYyBsaWJyYXJ5Lgog
ICAgICBhbGxvd191bmRlZmluZWQ9eWVzCiAgICAgIDs7CiAgICAqKQogICAgICBhbGxvd191bmRl
ZmluZWQ9eWVzCiAgICAgIDs7CiAgICBlc2FjCiAgICBsaWJ0b29sX2FyZ3M9IiRub25vcHQiCiAg
ICBiYXNlX2NvbXBpbGU9IiRub25vcHQgJEAiCiAgICBjb21waWxlX2NvbW1hbmQ9IiRub25vcHQi
CiAgICBmaW5hbGl6ZV9jb21tYW5kPSIkbm9ub3B0IgoKICAgIGNvbXBpbGVfcnBhdGg9CiAgICBm
aW5hbGl6ZV9ycGF0aD0KICAgIGNvbXBpbGVfc2hsaWJwYXRoPQogICAgZmluYWxpemVfc2hsaWJw
YXRoPQogICAgY29udmVuaWVuY2U9CiAgICBvbGRfY29udmVuaWVuY2U9CiAgICBkZXBsaWJzPQog
ICAgb2xkX2RlcGxpYnM9CiAgICBjb21waWxlcl9mbGFncz0KICAgIGxpbmtlcl9mbGFncz0KICAg
IGRsbHNlYXJjaHBhdGg9CiAgICBsaWJfc2VhcmNoX3BhdGg9YHB3ZGAKICAgIGluc3RfcHJlZml4
X2Rpcj0KCiAgICBhdm9pZF92ZXJzaW9uPW5vCiAgICBkbGZpbGVzPQogICAgZGxwcmVmaWxlcz0K
ICAgIGRsc2VsZj1ubwogICAgZXhwb3J0X2R5bmFtaWM9bm8KICAgIGV4cG9ydF9zeW1ib2xzPQog
ICAgZXhwb3J0X3N5bWJvbHNfcmVnZXg9CiAgICBnZW5lcmF0ZWQ9CiAgICBsaWJvYmpzPQogICAg
bHRsaWJzPQogICAgbW9kdWxlPW5vCiAgICBub19pbnN0YWxsPW5vCiAgICBvYmpzPQogICAgbm9u
X3BpY19vYmplY3RzPQogICAgcHJlY2lvdXNfZmlsZXNfcmVnZXg9CiAgICBwcmVmZXJfc3RhdGlj
X2xpYnM9bm8KICAgIHByZWxvYWQ9bm8KICAgIHByZXY9CiAgICBwcmV2YXJnPQogICAgcmVsZWFz
ZT0KICAgIHJwYXRoPQogICAgeHJwYXRoPQogICAgcGVybV9ycGF0aD0KICAgIHRlbXBfcnBhdGg9
CiAgICB0aHJlYWRfc2FmZT1ubwogICAgdmluZm89CiAgICB2aW5mb19udW1iZXI9bm8KCiAgICBm
dW5jX2luZmVyX3RhZyAkYmFzZV9jb21waWxlCgogICAgIyBXZSBuZWVkIHRvIGtub3cgLXN0YXRp
YywgdG8gZ2V0IHRoZSByaWdodCBvdXRwdXQgZmlsZW5hbWVzLgogICAgZm9yIGFyZwogICAgZG8K
ICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1hbGwtc3RhdGljIHwgLXN0YXRpYykKCWlmIHRlc3Qg
IlgkYXJnIiA9ICJYLWFsbC1zdGF0aWMiOyB0aGVuCgkgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29s
X2xpYnMiID0geWVzICYmIHRlc3QgLXogIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICAgICRl
Y2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNvbXBsZXRlIHN0YXRpYyBsaW5raW5nIGlzIGltcG9z
c2libGUgaW4gdGhpcyBjb25maWd1cmF0aW9uIiAxPiYyCgkgIGZpCgkgIGlmIHRlc3QgLW4gIiRs
aW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICAgIGRsb3Blbl9zZWxmPSRkbG9wZW5fc2VsZl9zdGF0
aWMKCSAgZmkKCWVsc2UKCSAgaWYgdGVzdCAteiAiJHBpY19mbGFnIiAmJiB0ZXN0IC1uICIkbGlu
a19zdGF0aWNfZmxhZyI7IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3NlbGZfc3RhdGlj
CgkgIGZpCglmaQoJYnVpbGRfbGlidG9vbF9saWJzPW5vCglidWlsZF9vbGRfbGlicz15ZXMKCXBy
ZWZlcl9zdGF0aWNfbGlicz15ZXMKCWJyZWFrCgk7OwogICAgICBlc2FjCiAgICBkb25lCgogICAg
IyBTZWUgaWYgb3VyIHNoYXJlZCBhcmNoaXZlcyBkZXBlbmQgb24gc3RhdGljIGFyY2hpdmVzLgog
ICAgdGVzdCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMiICYmIGJ1aWxkX29sZF9saWJz
PXllcwoKICAgICMgR28gdGhyb3VnaCB0aGUgYXJndW1lbnRzLCB0cmFuc2Zvcm1pbmcgdGhlbSBv
biB0aGUgd2F5LgogICAgd2hpbGUgdGVzdCAiJCMiIC1ndCAwOyBkbwogICAgICBhcmc9IiQxIgog
ICAgICBzaGlmdAogICAgICBjYXNlICRhcmcgaW4KICAgICAgKltcW1x+XCNcXlwmXCpcKFwpXHtc
fVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCglxYXJnPVwiYCRlY2hvICJYJGFyZyIgfCAkWHNl
ZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgXCIgIyMjIHRlc3RzdWl0ZTogc2tpcCBuZXN0ZWQgcXVv
dGluZyB0ZXN0Cgk7OwogICAgICAqKSBxYXJnPSRhcmcgOzsKICAgICAgZXNhYwogICAgICBsaWJ0
b29sX2FyZ3M9IiRsaWJ0b29sX2FyZ3MgJHFhcmciCgogICAgICAjIElmIHRoZSBwcmV2aW91cyBv
cHRpb24gbmVlZHMgYW4gYXJndW1lbnQsIGFzc2lnbiBpdC4KICAgICAgaWYgdGVzdCAtbiAiJHBy
ZXYiOyB0aGVuCgljYXNlICRwcmV2IGluCglvdXRwdXQpCgkgIGNvbXBpbGVfY29tbWFuZD0iJGNv
bXBpbGVfY29tbWFuZCBAT1VUUFVUQCIKCSAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2Nv
bW1hbmQgQE9VVFBVVEAiCgkgIDs7Cgllc2FjCgoJY2FzZSAkcHJldiBpbgoJZGxmaWxlc3xkbHBy
ZWZpbGVzKQoJICBpZiB0ZXN0ICIkcHJlbG9hZCIgPSBubzsgdGhlbgoJICAgICMgQWRkIHRoZSBz
eW1ib2wgb2JqZWN0IGludG8gdGhlIGxpbmtpbmcgY29tbWFuZHMuCgkgICAgY29tcGlsZV9jb21t
YW5kPSIkY29tcGlsZV9jb21tYW5kIEBTWU1GSUxFQCIKCSAgICBmaW5hbGl6ZV9jb21tYW5kPSIk
ZmluYWxpemVfY29tbWFuZCBAU1lNRklMRUAiCgkgICAgcHJlbG9hZD15ZXMKCSAgZmkKCSAgY2Fz
ZSAkYXJnIGluCgkgICoubGEgfCAqLmxvKSA7OyAgIyBXZSBoYW5kbGUgdGhlc2UgY2FzZXMgYmVs
b3cuCgkgIGZvcmNlKQoJICAgIGlmIHRlc3QgIiRkbHNlbGYiID0gbm87IHRoZW4KCSAgICAgIGRs
c2VsZj1uZWVkbGVzcwoJICAgICAgZXhwb3J0X2R5bmFtaWM9eWVzCgkgICAgZmkKCSAgICBwcmV2
PQoJICAgIGNvbnRpbnVlCgkgICAgOzsKCSAgc2VsZikKCSAgICBpZiB0ZXN0ICIkcHJldiIgPSBk
bHByZWZpbGVzOyB0aGVuCgkgICAgICBkbHNlbGY9eWVzCgkgICAgZWxpZiB0ZXN0ICIkcHJldiIg
PSBkbGZpbGVzICYmIHRlc3QgIiRkbG9wZW5fc2VsZiIgIT0geWVzOyB0aGVuCgkgICAgICBkbHNl
bGY9eWVzCgkgICAgZWxzZQoJICAgICAgZGxzZWxmPW5lZWRsZXNzCgkgICAgICBleHBvcnRfZHlu
YW1pYz15ZXMKCSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICAqKQoJ
ICAgIGlmIHRlc3QgIiRwcmV2IiA9IGRsZmlsZXM7IHRoZW4KCSAgICAgIGRsZmlsZXM9IiRkbGZp
bGVzICRhcmciCgkgICAgZWxzZQoJICAgICAgZGxwcmVmaWxlcz0iJGRscHJlZmlsZXMgJGFyZyIK
CSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBlc2FjCgkgIDs7Cgll
eHBzeW1zKQoJICBleHBvcnRfc3ltYm9scz0iJGFyZyIKCSAgaWYgdGVzdCAhIC1mICIkYXJnIjsg
dGhlbgoJICAgICRlY2hvICIkbW9kZW5hbWU6IHN5bWJvbCBmaWxlIFxgJGFyZycgZG9lcyBub3Qg
ZXhpc3QiCgkgICAgZXhpdCAkRVhJVF9GQUlMVVJFCgkgIGZpCgkgIHByZXY9CgkgIGNvbnRpbnVl
CgkgIDs7CglleHBzeW1zX3JlZ2V4KQoJICBleHBvcnRfc3ltYm9sc19yZWdleD0iJGFyZyIKCSAg
cHJldj0KCSAgY29udGludWUKCSAgOzsKCWluc3RfcHJlZml4KQoJICBpbnN0X3ByZWZpeF9kaXI9
IiRhcmciCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglwcmVjaW91c19yZWdleCkKCSAgcHJl
Y2lvdXNfZmlsZXNfcmVnZXg9IiRhcmciCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglyZWxl
YXNlKQoJICByZWxlYXNlPSItJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCW9iamVj
dGxpc3QpCgkgIGlmIHRlc3QgLWYgIiRhcmciOyB0aGVuCgkgICAgc2F2ZV9hcmc9JGFyZwoJICAg
IG1vcmVhcmdzPQoJICAgIGZvciBmaWwgaW4gYGNhdCAkc2F2ZV9hcmdgCgkgICAgZG8KIwkgICAg
ICBtb3JlYXJncz0iJG1vcmVhcmdzICRmaWwiCgkgICAgICBhcmc9JGZpbAoJICAgICAgIyBBIGxp
YnRvb2wtY29udHJvbGxlZCBvYmplY3QuCgoJICAgICAgIyBDaGVjayB0byBzZWUgdGhhdCB0aGlz
IHJlYWxseSBpcyBhIGxpYnRvb2wgb2JqZWN0LgoJICAgICAgaWYgKCR7U0VEfSAtZSAnMnEnICRh
cmcgfCBncmVwICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsg
dGhlbgoJCXBpY19vYmplY3Q9CgkJbm9uX3BpY19vYmplY3Q9CgoJCSMgUmVhZCB0aGUgLmxvIGZp
bGUKCQkjIElmIHRoZXJlIGlzIG5vIGRpcmVjdG9yeSBjb21wb25lbnQsIHRoZW4gYWRkIG9uZS4K
CQljYXNlICRhcmcgaW4KCQkqLyogfCAqXFwqKSAuICRhcmcgOzsKCQkqKSAuIC4vJGFyZyA7OwoJ
CWVzYWMKCgkJaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IFwKCQkgICB0ZXN0IC16ICIkbm9u
X3BpY19vYmplY3QiIHx8CgkJICAgdGVzdCAiJHBpY19vYmplY3QiID0gbm9uZSAmJiBcCgkJICAg
dGVzdCAiJG5vbl9waWNfb2JqZWN0IiA9IG5vbmU7IHRoZW4KCQkgICRlY2hvICIkbW9kZW5hbWU6
IGNhbm5vdCBmaW5kIG5hbWUgb2Ygb2JqZWN0IGZvciBcYCRhcmcnIiAxPiYyCgkJICBleGl0ICRF
WElUX0ZBSUxVUkUKCQlmaQoKCQkjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3Vt
ZW50LgoJCXhkaXI9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAoJCWlm
IHRlc3QgIlgkeGRpciIgPSAiWCRhcmciOyB0aGVuCgkJICB4ZGlyPQoJCWVsc2UKCQkgIHhkaXI9
IiR4ZGlyLyIKCQlmaQoKCQlpZiB0ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsgdGhlbgoJCSAg
IyBQcmVwZW5kIHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCQkgIHBp
Y19vYmplY3Q9IiR4ZGlyJHBpY19vYmplY3QiCgoJCSAgaWYgdGVzdCAiJHByZXYiID0gZGxmaWxl
czsgdGhlbgoJCSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0
ICIkZGxvcGVuX3N1cHBvcnQiID0geWVzOyB0aGVuCgkJICAgICAgZGxmaWxlcz0iJGRsZmlsZXMg
JHBpY19vYmplY3QiCgkJICAgICAgcHJldj0KCQkgICAgICBjb250aW51ZQoJCSAgICBlbHNlCgkJ
ICAgICAgIyBJZiBsaWJ0b29sIG9iamVjdHMgYXJlIHVuc3VwcG9ydGVkLCB0aGVuIHdlIG5lZWQg
dG8gcHJlbG9hZC4KCQkgICAgICBwcmV2PWRscHJlZmlsZXMKCQkgICAgZmkKCQkgIGZpCgoJCSAg
IyBDSEVDSyBNRTogIEkgdGhpbmsgSSBidXN0ZWQgdGhpcy4gIC1Pc3NhbWEKCQkgIGlmIHRlc3Qg
IiRwcmV2IiA9IGRscHJlZmlsZXM7IHRoZW4KCQkgICAgIyBQcmVsb2FkIHRoZSBvbGQtc3R5bGUg
b2JqZWN0LgoJCSAgICBkbHByZWZpbGVzPSIkZGxwcmVmaWxlcyAkcGljX29iamVjdCIKCQkgICAg
cHJldj0KCQkgIGZpCgoJCSAgIyBBIFBJQyBvYmplY3QuCgkJICBsaWJvYmpzPSIkbGlib2JqcyAk
cGljX29iamVjdCIKCQkgIGFyZz0iJHBpY19vYmplY3QiCgkJZmkKCgkJIyBOb24tUElDIG9iamVj
dC4KCQlpZiB0ZXN0ICIkbm9uX3BpY19vYmplY3QiICE9IG5vbmU7IHRoZW4KCQkgICMgUHJlcGVu
ZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBvYmplY3QgaXMgZm91bmQgaW4uCgkJICBub25fcGljX29i
amVjdD0iJHhkaXIkbm9uX3BpY19vYmplY3QiCgoJCSAgIyBBIHN0YW5kYXJkIG5vbi1QSUMgb2Jq
ZWN0CgkJICBub25fcGljX29iamVjdHM9IiRub25fcGljX29iamVjdHMgJG5vbl9waWNfb2JqZWN0
IgoJCSAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5v
bmUgOyB0aGVuCgkJICAgIGFyZz0iJG5vbl9waWNfb2JqZWN0IgoJCSAgZmkKCQlmaQoJICAgICAg
ZWxzZQoJCSMgT25seSBhbiBlcnJvciBpZiBub3QgZG9pbmcgYSBkcnktcnVuLgoJCWlmIHRlc3Qg
LXogIiRydW4iOyB0aGVuCgkJICAkZWNobyAiJG1vZGVuYW1lOiBcYCRhcmcnIGlzIG5vdCBhIHZh
bGlkIGxpYnRvb2wgb2JqZWN0IiAxPiYyCgkJICBleGl0ICRFWElUX0ZBSUxVUkUKCQllbHNlCgkJ
ICAjIERyeS1ydW4gY2FzZS4KCgkJICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhlIGFy
Z3VtZW50LgoJCSAgeGRpcj1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdg
CgkJICBpZiB0ZXN0ICJYJHhkaXIiID0gIlgkYXJnIjsgdGhlbgoJCSAgICB4ZGlyPQoJCSAgZWxz
ZQoJCSAgICB4ZGlyPSIkeGRpci8iCgkJICBmaQoKCQkgIHBpY19vYmplY3Q9YCRlY2hvICJYJHt4
ZGlyfSR7b2JqZGlyfS8ke2FyZ30iIHwgJFhzZWQgLWUgIiRsbzJvImAKCQkgIG5vbl9waWNfb2Jq
ZWN0PWAkZWNobyAiWCR7eGRpcn0ke2FyZ30iIHwgJFhzZWQgLWUgIiRsbzJvImAKCQkgIGxpYm9i
anM9IiRsaWJvYmpzICRwaWNfb2JqZWN0IgoJCSAgbm9uX3BpY19vYmplY3RzPSIkbm9uX3BpY19v
YmplY3RzICRub25fcGljX29iamVjdCIKCQlmaQoJICAgICAgZmkKCSAgICBkb25lCgkgIGVsc2UK
CSAgICAkZWNobyAiJG1vZGVuYW1lOiBsaW5rIGlucHV0IGZpbGUgXGAkc2F2ZV9hcmcnIGRvZXMg
bm90IGV4aXN0IgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICBmaQoJICBhcmc9JHNhdmVfYXJn
CgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglycGF0aCB8IHhycGF0aCkKCSAgIyBXZSBuZWVk
IGFuIGFic29sdXRlIHBhdGguCgkgIGNhc2UgJGFyZyBpbgoJICBbXFwvXSogfCBbQS1aYS16XTpb
XFwvXSopIDs7CgkgICopCgkgICAgJGVjaG8gIiRtb2RlbmFtZTogb25seSBhYnNvbHV0ZSBydW4t
cGF0aHMgYXJlIGFsbG93ZWQiIDE+JjIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgICA7OwoJ
ICBlc2FjCgkgIGlmIHRlc3QgIiRwcmV2IiA9IHJwYXRoOyB0aGVuCgkgICAgY2FzZSAiJHJwYXRo
ICIgaW4KCSAgICAqIiAkYXJnICIqKSA7OwoJICAgICopIHJwYXRoPSIkcnBhdGggJGFyZyIgOzsK
CSAgICBlc2FjCgkgIGVsc2UKCSAgICBjYXNlICIkeHJwYXRoICIgaW4KCSAgICAqIiAkYXJnICIq
KSA7OwoJICAgICopIHhycGF0aD0iJHhycGF0aCAkYXJnIiA7OwoJICAgIGVzYWMKCSAgZmkKCSAg
cHJldj0KCSAgY29udGludWUKCSAgOzsKCXhjb21waWxlcikKCSAgY29tcGlsZXJfZmxhZ3M9IiRj
b21waWxlcl9mbGFncyAkcWFyZyIKCSAgcHJldj0KCSAgY29tcGlsZV9jb21tYW5kPSIkY29tcGls
ZV9jb21tYW5kICRxYXJnIgoJICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAk
cWFyZyIKCSAgY29udGludWUKCSAgOzsKCXhsaW5rZXIpCgkgIGxpbmtlcl9mbGFncz0iJGxpbmtl
cl9mbGFncyAkcWFyZyIKCSAgY29tcGlsZXJfZmxhZ3M9IiRjb21waWxlcl9mbGFncyAkd2wkcWFy
ZyIKCSAgcHJldj0KCSAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICR3bCRxYXJn
IgoJICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkd2wkcWFyZyIKCSAgY29u
dGludWUKCSAgOzsKCXhjY2xpbmtlcikKCSAgbGlua2VyX2ZsYWdzPSIkbGlua2VyX2ZsYWdzICRx
YXJnIgoJICBjb21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICRxYXJnIgoJICBwcmV2PQoJ
ICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJHFhcmciCgkgIGZpbmFsaXplX2Nv
bW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRxYXJnIgoJICBjb250aW51ZQoJICA7OwoJc2hyZXh0
KQogIAkgIHNocmV4dF9jbWRzPSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJKikK
CSAgZXZhbCAiJHByZXY9XCJcJGFyZ1wiIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJZXNh
YwogICAgICBmaSAjIHRlc3QgLW4gIiRwcmV2IgoKICAgICAgcHJldmFyZz0iJGFyZyIKCiAgICAg
IGNhc2UgJGFyZyBpbgogICAgICAtYWxsLXN0YXRpYykKCWlmIHRlc3QgLW4gIiRsaW5rX3N0YXRp
Y19mbGFnIjsgdGhlbgoJICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGxpbmtf
c3RhdGljX2ZsYWciCgkgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICRsaW5r
X3N0YXRpY19mbGFnIgoJZmkKCWNvbnRpbnVlCgk7OwoKICAgICAgLWFsbG93LXVuZGVmaW5lZCkK
CSMgRklYTUU6IHJlbW92ZSB0aGlzIGZsYWcgc29tZXRpbWUgaW4gdGhlIGZ1dHVyZS4KCSRlY2hv
ICIkbW9kZW5hbWU6IFxgLWFsbG93LXVuZGVmaW5lZCcgaXMgZGVwcmVjYXRlZCBiZWNhdXNlIGl0
IGlzIHRoZSBkZWZhdWx0IiAxPiYyCgljb250aW51ZQoJOzsKCiAgICAgIC1hdm9pZC12ZXJzaW9u
KQoJYXZvaWRfdmVyc2lvbj15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWRsb3BlbikKCXByZXY9
ZGxmaWxlcwoJY29udGludWUKCTs7CgogICAgICAtZGxwcmVvcGVuKQoJcHJldj1kbHByZWZpbGVz
Cgljb250aW51ZQoJOzsKCiAgICAgIC1leHBvcnQtZHluYW1pYykKCWV4cG9ydF9keW5hbWljPXll
cwoJY29udGludWUKCTs7CgogICAgICAtZXhwb3J0LXN5bWJvbHMgfCAtZXhwb3J0LXN5bWJvbHMt
cmVnZXgpCglpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiIHx8IHRlc3QgLW4gIiRleHBvcnRf
c3ltYm9sc19yZWdleCI7IHRoZW4KCSAgJGVjaG8gIiRtb2RlbmFtZTogbW9yZSB0aGFuIG9uZSAt
ZXhwb3J0ZWQtc3ltYm9scyBhcmd1bWVudCBpcyBub3QgYWxsb3dlZCIKCSAgZXhpdCAkRVhJVF9G
QUlMVVJFCglmaQoJaWYgdGVzdCAiWCRhcmciID0gIlgtZXhwb3J0LXN5bWJvbHMiOyB0aGVuCgkg
IHByZXY9ZXhwc3ltcwoJZWxzZQoJICBwcmV2PWV4cHN5bXNfcmVnZXgKCWZpCgljb250aW51ZQoJ
OzsKCiAgICAgIC1pbnN0LXByZWZpeC1kaXIpCglwcmV2PWluc3RfcHJlZml4Cgljb250aW51ZQoJ
OzsKCiAgICAgICMgVGhlIG5hdGl2ZSBJUklYIGxpbmtlciB1bmRlcnN0YW5kcyAtTEFORzoqLCAt
TElTVDoqIGFuZCAtTE5POioKICAgICAgIyBzbywgaWYgd2Ugc2VlIHRoZXNlIGZsYWdzIGJlIGNh
cmVmdWwgbm90IHRvIHRyZWF0IHRoZW0gbGlrZSAtTAogICAgICAtTFtBLVpdW0EtWl0qOiopCglj
YXNlICR3aXRoX2djYy8kaG9zdCBpbgoJbm8vKi0qLWlyaXgqIHwgLyotKi1pcml4KikKCSAgY29t
cGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICRhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQ9
IiRmaW5hbGl6ZV9jb21tYW5kICRhcmciCgkgIDs7Cgllc2FjCgljb250aW51ZQoJOzsKCiAgICAg
IC1MKikKCWRpcj1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzL14tTC8vJ2AKCSMgV2UgbmVl
ZCBhbiBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkZGlyIGluCglbXFwvXSogfCBbQS1aYS16XTpbXFwv
XSopIDs7CgkqKQoJICBhYnNkaXI9YGNkICIkZGlyIiAmJiBwd2RgCgkgIGlmIHRlc3QgLXogIiRh
YnNkaXIiOyB0aGVuCgkgICAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGRldGVybWluZSBhYnNv
bHV0ZSBkaXJlY3RvcnkgbmFtZSBvZiBcYCRkaXInIiAxPiYyCgkgICAgZXhpdCAkRVhJVF9GQUlM
VVJFCgkgIGZpCgkgIGRpcj0iJGFic2RpciIKCSAgOzsKCWVzYWMKCWNhc2UgIiRkZXBsaWJzICIg
aW4KCSoiIC1MJGRpciAiKikgOzsKCSopCgkgIGRlcGxpYnM9IiRkZXBsaWJzIC1MJGRpciIKCSAg
bGliX3NlYXJjaF9wYXRoPSIkbGliX3NlYXJjaF9wYXRoICRkaXIiCgkgIDs7Cgllc2FjCgljYXNl
ICRob3N0IGluCgkqLSotY3lnd2luKiB8ICotKi1taW5ndyogfCAqLSotcHczMiogfCAqLSotb3My
KikKCSAgY2FzZSA6JGRsbHNlYXJjaHBhdGg6IGluCgkgICoiOiRkaXI6IiopIDs7CgkgICopIGRs
bHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hwYXRoOiRkaXIiOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJ
Y29udGludWUKCTs7CgogICAgICAtbCopCglpZiB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgfHwgdGVz
dCAiWCRhcmciID0gIlgtbG0iOyB0aGVuCgkgIGNhc2UgJGhvc3QgaW4KCSAgKi0qLWN5Z3dpbiog
fCAqLSotcHczMiogfCAqLSotYmVvcyopCgkgICAgIyBUaGVzZSBzeXN0ZW1zIGRvbid0IGFjdHVh
bGx5IGhhdmUgYSBDIG9yIG1hdGggbGlicmFyeSAoYXMgc3VjaCkKCSAgICBjb250aW51ZQoJICAg
IDs7CgkgICotKi1taW5ndyogfCAqLSotb3MyKikKCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3Qg
YWN0dWFsbHkgaGF2ZSBhIEMgbGlicmFyeSAoYXMgc3VjaCkKCSAgICB0ZXN0ICJYJGFyZyIgPSAi
WC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJICAqLSotb3BlbmJzZCogfCAqLSotZnJlZWJzZCop
CgkgICAgIyBEbyBub3QgaW5jbHVkZSBsaWJjIGR1ZSB0byB1cyBoYXZpbmcgbGliYy9saWJjX3Iu
CgkgICAgdGVzdCAiWCRhcmciID0gIlgtbGMiICYmIGNvbnRpbnVlCgkgICAgOzsKCSAgKi0qLXJo
YXBzb2R5KiB8ICotKi1kYXJ3aW4xLlswMTJdKQoJICAgICMgUmhhcHNvZHkgQyBhbmQgbWF0aCBs
aWJyYXJpZXMgYXJlIGluIHRoZSBTeXN0ZW0gZnJhbWV3b3JrCgkgICAgZGVwbGlicz0iJGRlcGxp
YnMgLWZyYW1ld29yayBTeXN0ZW0iCgkgICAgY29udGludWUKCSAgZXNhYwoJZWxpZiB0ZXN0ICJY
JGFyZyIgPSAiWC1sY19yIjsgdGhlbgoJIGNhc2UgJGhvc3QgaW4KCSAqLSotb3BlbmJzZCogfCAq
LSotZnJlZWJzZCopCgkgICAjIERvIG5vdCBpbmNsdWRlIGxpYmNfciBkaXJlY3RseSwgdXNlIC1w
dGhyZWFkIGZsYWcuCgkgICBjb250aW51ZQoJICAgOzsKCSBlc2FjCglmaQoJZGVwbGlicz0iJGRl
cGxpYnMgJGFyZyIKCWNvbnRpbnVlCgk7OwoKICAgICAtbXR8LW10aHJlYWRzfC1rdGhyZWFkfC1L
dGhyZWFkfC1wdGhyZWFkfC1wdGhyZWFkc3wtLXRocmVhZC1zYWZlKQoJZGVwbGlicz0iJGRlcGxp
YnMgJGFyZyIKCWNvbnRpbnVlCgk7OwoKICAgICAgLW1vZHVsZSkKCW1vZHVsZT15ZXMKCWNvbnRp
bnVlCgk7OwoKICAgICAgIyBnY2MgLW0qIGFyZ3VtZW50cyBzaG91bGQgYmUgcGFzc2VkIHRvIHRo
ZSBsaW5rZXIgdmlhICRjb21waWxlcl9mbGFncwogICAgICAjIGluIG9yZGVyIHRvIHBhc3MgYXJj
aGl0ZWN0dXJlIGluZm9ybWF0aW9uIHRvIHRoZSBsaW5rZXIKICAgICAgIyAoZS5nLiAzMiB2cyA2
NC1iaXQpLiAgVGhpcyBtYXkgYWxzbyBiZSBhY2NvbXBsaXNoZWQgdmlhIC1XbCwtbWZvbwogICAg
ICAjIGJ1dCB0aGlzIGlzIG5vdCByZWxpYWJsZSB3aXRoIGdjYyBiZWNhdXNlIGdjYyBtYXkgdXNl
IC1tZm9vIHRvCiAgICAgICMgc2VsZWN0IGEgZGlmZmVyZW50IGxpbmtlciwgZGlmZmVyZW50IGxp
YnJhcmllcywgZXRjLCB3aGlsZQogICAgICAjIC1XbCwtbWZvbyBzaW1wbHkgcGFzc2VzIC1tZm9v
IHRvIHRoZSBsaW5rZXIuCiAgICAgIC1tKikKCSMgVW5rbm93biBhcmd1bWVudHMgaW4gYm90aCBm
aW5hbGl6ZV9jb21tYW5kIGFuZCBjb21waWxlX2NvbW1hbmQgbmVlZAoJIyB0byBiZSBhZXN0aGV0
aWNhbGx5IHF1b3RlZCBiZWNhdXNlIHRoZXkgYXJlIGV2YWxlZCBsYXRlci4KCWFyZz1gJGVjaG8g
IlgkYXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKCWNhc2UgJGFyZyBpbgoJKltc
W1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCgkgIGFyZz0iXCIk
YXJnXCIiCgkgIDs7Cgllc2FjCiAgICAgICAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21t
YW5kICRhcmciCiAgICAgICAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJGFy
ZyIKICAgICAgICBpZiB0ZXN0ICIkd2l0aF9nY2MiID0gInllcyIgOyB0aGVuCiAgICAgICAgICBj
b21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICRhcmciCiAgICAgICAgZmkKICAgICAgICBj
b250aW51ZQogICAgICAgIDs7CgogICAgICAtc2hyZXh0KQoJcHJldj1zaHJleHQKCWNvbnRpbnVl
Cgk7OwoKICAgICAgLW5vLWZhc3QtaW5zdGFsbCkKCWZhc3RfaW5zdGFsbD1ubwoJY29udGludWUK
CTs7CgogICAgICAtbm8taW5zdGFsbCkKCWNhc2UgJGhvc3QgaW4KCSotKi1jeWd3aW4qIHwgKi0q
LW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqKQoJICAjIFRoZSBQQVRIIGhhY2tlcnkgaW4g
d3JhcHBlciBzY3JpcHRzIGlzIHJlcXVpcmVkIG9uIFdpbmRvd3MKCSAgIyBpbiBvcmRlciBmb3Ig
dGhlIGxvYWRlciB0byBmaW5kIGFueSBkbGxzIGl0IG5lZWRzLgoJICAkZWNobyAiJG1vZGVuYW1l
OiB3YXJuaW5nOiBcYC1uby1pbnN0YWxsJyBpcyBpZ25vcmVkIGZvciAkaG9zdCIgMT4mMgoJICAk
ZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBhc3N1bWluZyBcYC1uby1mYXN0LWluc3RhbGwnIGlu
c3RlYWQiIDE+JjIKCSAgZmFzdF9pbnN0YWxsPW5vCgkgIDs7CgkqKSBub19pbnN0YWxsPXllcyA7
OwoJZXNhYwoJY29udGludWUKCTs7CgogICAgICAtbm8tdW5kZWZpbmVkKQoJYWxsb3dfdW5kZWZp
bmVkPW5vCgljb250aW51ZQoJOzsKCiAgICAgIC1vYmplY3RsaXN0KQoJcHJldj1vYmplY3RsaXN0
Cgljb250aW51ZQoJOzsKCiAgICAgIC1vKSBwcmV2PW91dHB1dCA7OwoKICAgICAgLXByZWNpb3Vz
LWZpbGVzLXJlZ2V4KQoJcHJldj1wcmVjaW91c19yZWdleAoJY29udGludWUKCTs7CgogICAgICAt
cmVsZWFzZSkKCXByZXY9cmVsZWFzZQoJY29udGludWUKCTs7CgogICAgICAtcnBhdGgpCglwcmV2
PXJwYXRoCgljb250aW51ZQoJOzsKCiAgICAgIC1SKQoJcHJldj14cnBhdGgKCWNvbnRpbnVlCgk7
OwoKICAgICAgLVIqKQoJZGlyPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgJ3MvXi1SLy8nYAoJ
IyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgljYXNlICRkaXIgaW4KCVtcXC9dKiB8IFtBLVph
LXpdOltcXC9dKikgOzsKCSopCgkgICRlY2hvICIkbW9kZW5hbWU6IG9ubHkgYWJzb2x1dGUgcnVu
LXBhdGhzIGFyZSBhbGxvd2VkIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICA7OwoJZXNh
YwoJY2FzZSAiJHhycGF0aCAiIGluCgkqIiAkZGlyICIqKSA7OwoJKikgeHJwYXRoPSIkeHJwYXRo
ICRkaXIiIDs7Cgllc2FjCgljb250aW51ZQoJOzsKCiAgICAgIC1zdGF0aWMpCgkjIFRoZSBlZmZl
Y3RzIG9mIC1zdGF0aWMgYXJlIGRlZmluZWQgaW4gYSBwcmV2aW91cyBsb29wLgoJIyBXZSB1c2Vk
IHRvIGRvIHRoZSBzYW1lIGFzIC1hbGwtc3RhdGljIG9uIHBsYXRmb3JtcyB0aGF0CgkjIGRpZG4n
dCBoYXZlIGEgUElDIGZsYWcsIGJ1dCB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSBlZmZlY3RzCgkj
IHdvdWxkIGJlIGVxdWl2YWxlbnQgd2FzIHdyb25nLiAgSXQgd291bGQgYnJlYWsgb24gYXQgbGVh
c3QKCSMgRGlnaXRhbCBVbml4IGFuZCBBSVguCgljb250aW51ZQoJOzsKCiAgICAgIC10aHJlYWQt
c2FmZSkKCXRocmVhZF9zYWZlPXllcwoJY29udGludWUKCTs7CgogICAgICAtdmVyc2lvbi1pbmZv
KQoJcHJldj12aW5mbwoJY29udGludWUKCTs7CiAgICAgIC12ZXJzaW9uLW51bWJlcikKCXByZXY9
dmluZm8KCXZpbmZvX251bWJlcj15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLVdjLCopCglhcmdz
PWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiIC1lICdzL14tV2Ms
Ly8nYAoJYXJnPQoJc2F2ZV9pZnM9IiRJRlMiOyBJRlM9JywnCglmb3IgZmxhZyBpbiAkYXJnczsg
ZG8KCSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGNhc2UgJGZsYWcgaW4KCSAgICAqW1xbXH5cI1xeXCZc
KlwoXClce1x9XHxcO1w8XD5cP1wnXCBcCV0qfCpdKnwiIikKCSAgICBmbGFnPSJcIiRmbGFnXCIi
CgkgICAgOzsKCSAgZXNhYwoJICBhcmc9IiRhcmcgJHdsJGZsYWciCgkgIGNvbXBpbGVyX2ZsYWdz
PSIkY29tcGlsZXJfZmxhZ3MgJGZsYWciCglkb25lCglJRlM9IiRzYXZlX2lmcyIKCWFyZz1gJGVj
aG8gIlgkYXJnIiB8ICRYc2VkIC1lICJzL14gLy8iYAoJOzsKCiAgICAgIC1XbCwqKQoJYXJncz1g
JGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0IiAtZSAncy9eLVdsLC8v
J2AKCWFyZz0KCXNhdmVfaWZzPSIkSUZTIjsgSUZTPScsJwoJZm9yIGZsYWcgaW4gJGFyZ3M7IGRv
CgkgIElGUz0iJHNhdmVfaWZzIgoJICBjYXNlICRmbGFnIGluCgkgICAgKltcW1x+XCNcXlwmXCpc
KFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCgkgICAgZmxhZz0iXCIkZmxhZ1wiIgoJ
ICAgIDs7CgkgIGVzYWMKCSAgYXJnPSIkYXJnICR3bCRmbGFnIgoJICBjb21waWxlcl9mbGFncz0i
JGNvbXBpbGVyX2ZsYWdzICR3bCRmbGFnIgoJICBsaW5rZXJfZmxhZ3M9IiRsaW5rZXJfZmxhZ3Mg
JGZsYWciCglkb25lCglJRlM9IiRzYXZlX2lmcyIKCWFyZz1gJGVjaG8gIlgkYXJnIiB8ICRYc2Vk
IC1lICJzL14gLy8iYAoJOzsKCiAgICAgIC1YY29tcGlsZXIpCglwcmV2PXhjb21waWxlcgoJY29u
dGludWUKCTs7CgogICAgICAtWGxpbmtlcikKCXByZXY9eGxpbmtlcgoJY29udGludWUKCTs7Cgog
ICAgICAtWENDbGlua2VyKQoJcHJldj14Y2NsaW5rZXIKCWNvbnRpbnVlCgk7OwoKICAgICAgLUt0
aHJlYWQgfCAtbXRocmVhZHMgfCAtbXQgfCAtcHRocmVhZCB8IC1wdGhyZWFkcyB8IC10aHJlYWRz
IHwgLXF0aHJlYWRlZCB8IC1rdGhyZWFkICkKICAgICAgICBjb21waWxlcl9mbGFncz0iJGNvbXBp
bGVyX2ZsYWdzICRhcmciCiAgICAgICAgY29udGludWUKICAgICAgICA7OwoKICAgICAgIyBTb21l
IG90aGVyIGNvbXBpbGVyIGZsYWcuCiAgICAgIC0qIHwgKyopCgkjIFVua25vd24gYXJndW1lbnRz
IGluIGJvdGggZmluYWxpemVfY29tbWFuZCBhbmQgY29tcGlsZV9jb21tYW5kIG5lZWQKCSMgdG8g
YmUgYWVzdGhldGljYWxseSBxdW90ZWQgYmVjYXVzZSB0aGV5IGFyZSBldmFsZWQgbGF0ZXIuCglh
cmc9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCgljYXNlICRh
cmcgaW4KCSpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIiKQoJ
ICBhcmc9IlwiJGFyZ1wiIgoJICA7OwoJZXNhYwoJOzsKCiAgICAgICouJG9iamV4dCkKCSMgQSBz
dGFuZGFyZCBvYmplY3QuCglvYmpzPSIkb2JqcyAkYXJnIgoJOzsKCiAgICAgICoubG8pCgkjIEEg
bGlidG9vbC1jb250cm9sbGVkIG9iamVjdC4KCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVh
bGx5IGlzIGEgbGlidG9vbCBvYmplY3QuCglpZiAoJHtTRUR9IC1lICcycScgJGFyZyB8IGdyZXAg
Il4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCgkgIHBp
Y19vYmplY3Q9CgkgIG5vbl9waWNfb2JqZWN0PQoKCSAgIyBSZWFkIHRoZSAubG8gZmlsZQoJICAj
IElmIHRoZXJlIGlzIG5vIGRpcmVjdG9yeSBjb21wb25lbnQsIHRoZW4gYWRkIG9uZS4KCSAgY2Fz
ZSAkYXJnIGluCgkgICovKiB8ICpcXCopIC4gJGFyZyA7OwoJICAqKSAuIC4vJGFyZyA7OwoJICBl
c2FjCgoJICBpZiB0ZXN0IC16ICIkcGljX29iamVjdCIgfHwgXAoJICAgICB0ZXN0IC16ICIkbm9u
X3BpY19vYmplY3QiIHx8CgkgICAgIHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5vbmUgJiYgXAoJICAg
ICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhlbgoJICAgICRlY2hvICIkbW9kZW5h
bWU6IGNhbm5vdCBmaW5kIG5hbWUgb2Ygb2JqZWN0IGZvciBcYCRhcmcnIiAxPiYyCgkgICAgZXhp
dCAkRVhJVF9GQUlMVVJFCgkgIGZpCgoJICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhl
IGFyZ3VtZW50LgoJICB4ZGlyPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUl
J2AKCSAgaWYgdGVzdCAiWCR4ZGlyIiA9ICJYJGFyZyI7IHRoZW4KCSAgICB4ZGlyPQogCSAgZWxz
ZQoJICAgIHhkaXI9IiR4ZGlyLyIKCSAgZmkKCgkgIGlmIHRlc3QgIiRwaWNfb2JqZWN0IiAhPSBu
b25lOyB0aGVuCgkgICAgIyBQcmVwZW5kIHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBm
b3VuZCBpbi4KCSAgICBwaWNfb2JqZWN0PSIkeGRpciRwaWNfb2JqZWN0IgoKCSAgICBpZiB0ZXN0
ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVuCgkgICAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9s
aWJzIiA9IHllcyAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0geWVzOyB0aGVuCgkJZGxmaWxl
cz0iJGRsZmlsZXMgJHBpY19vYmplY3QiCgkJcHJldj0KCQljb250aW51ZQoJICAgICAgZWxzZQoJ
CSMgSWYgbGlidG9vbCBvYmplY3RzIGFyZSB1bnN1cHBvcnRlZCwgdGhlbiB3ZSBuZWVkIHRvIHBy
ZWxvYWQuCgkJcHJldj1kbHByZWZpbGVzCgkgICAgICBmaQoJICAgIGZpCgoJICAgICMgQ0hFQ0sg
TUU6ICBJIHRoaW5rIEkgYnVzdGVkIHRoaXMuICAtT3NzYW1hCgkgICAgaWYgdGVzdCAiJHByZXYi
ID0gZGxwcmVmaWxlczsgdGhlbgoJICAgICAgIyBQcmVsb2FkIHRoZSBvbGQtc3R5bGUgb2JqZWN0
LgoJICAgICAgZGxwcmVmaWxlcz0iJGRscHJlZmlsZXMgJHBpY19vYmplY3QiCgkgICAgICBwcmV2
PQoJICAgIGZpCgoJICAgICMgQSBQSUMgb2JqZWN0LgoJICAgIGxpYm9ianM9IiRsaWJvYmpzICRw
aWNfb2JqZWN0IgoJICAgIGFyZz0iJHBpY19vYmplY3QiCgkgIGZpCgoJICAjIE5vbi1QSUMgb2Jq
ZWN0LgoJICBpZiB0ZXN0ICIkbm9uX3BpY19vYmplY3QiICE9IG5vbmU7IHRoZW4KCSAgICAjIFBy
ZXBlbmQgdGhlIHN1YmRpcmVjdG9yeSB0aGUgb2JqZWN0IGlzIGZvdW5kIGluLgoJICAgIG5vbl9w
aWNfb2JqZWN0PSIkeGRpciRub25fcGljX29iamVjdCIKCgkgICAgIyBBIHN0YW5kYXJkIG5vbi1Q
SUMgb2JqZWN0CgkgICAgbm9uX3BpY19vYmplY3RzPSIkbm9uX3BpY19vYmplY3RzICRub25fcGlj
X29iamVjdCIKCSAgICBpZiB0ZXN0IC16ICIkcGljX29iamVjdCIgfHwgdGVzdCAiJHBpY19vYmpl
Y3QiID0gbm9uZSA7IHRoZW4KCSAgICAgIGFyZz0iJG5vbl9waWNfb2JqZWN0IgoJICAgIGZpCgkg
IGZpCgllbHNlCgkgICMgT25seSBhbiBlcnJvciBpZiBub3QgZG9pbmcgYSBkcnktcnVuLgoJICBp
ZiB0ZXN0IC16ICIkcnVuIjsgdGhlbgoJICAgICRlY2hvICIkbW9kZW5hbWU6IFxgJGFyZycgaXMg
bm90IGEgdmFsaWQgbGlidG9vbCBvYmplY3QiIDE+JjIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUK
CSAgZWxzZQoJICAgICMgRHJ5LXJ1biBjYXNlLgoKCSAgICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5
IGZyb20gdGhlIGFyZ3VtZW50LgoJICAgIHhkaXI9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAn
cyUvW14vXSokJSUnYAoJICAgIGlmIHRlc3QgIlgkeGRpciIgPSAiWCRhcmciOyB0aGVuCgkgICAg
ICB4ZGlyPQoJICAgIGVsc2UKCSAgICAgIHhkaXI9IiR4ZGlyLyIKCSAgICBmaQoKCSAgICBwaWNf
b2JqZWN0PWAkZWNobyAiWCR7eGRpcn0ke29iamRpcn0vJHthcmd9IiB8ICRYc2VkIC1lICIkbG8y
byJgCgkgICAgbm9uX3BpY19vYmplY3Q9YCRlY2hvICJYJHt4ZGlyfSR7YXJnfSIgfCAkWHNlZCAt
ZSAiJGxvMm8iYAoJICAgIGxpYm9ianM9IiRsaWJvYmpzICRwaWNfb2JqZWN0IgoJICAgIG5vbl9w
aWNfb2JqZWN0cz0iJG5vbl9waWNfb2JqZWN0cyAkbm9uX3BpY19vYmplY3QiCgkgIGZpCglmaQoJ
OzsKCiAgICAgICouJGxpYmV4dCkKCSMgQW4gYXJjaGl2ZS4KCWRlcGxpYnM9IiRkZXBsaWJzICRh
cmciCglvbGRfZGVwbGlicz0iJG9sZF9kZXBsaWJzICRhcmciCgljb250aW51ZQoJOzsKCiAgICAg
ICoubGEpCgkjIEEgbGlidG9vbC1jb250cm9sbGVkIGxpYnJhcnkuCgoJaWYgdGVzdCAiJHByZXYi
ID0gZGxmaWxlczsgdGhlbgoJICAjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRs
b3Blbi4KCSAgZGxmaWxlcz0iJGRsZmlsZXMgJGFyZyIKCSAgcHJldj0KCWVsaWYgdGVzdCAiJHBy
ZXYiID0gZGxwcmVmaWxlczsgdGhlbgoJICAjIFRoZSBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0
aCAtZGxwcmVvcGVuLgoJICBkbHByZWZpbGVzPSIkZGxwcmVmaWxlcyAkYXJnIgoJICBwcmV2PQoJ
ZWxzZQoJICBkZXBsaWJzPSIkZGVwbGlicyAkYXJnIgoJZmkKCWNvbnRpbnVlCgk7OwoKICAgICAg
IyBTb21lIG90aGVyIGNvbXBpbGVyIGFyZ3VtZW50LgogICAgICAqKQoJIyBVbmtub3duIGFyZ3Vt
ZW50cyBpbiBib3RoIGZpbmFsaXplX2NvbW1hbmQgYW5kIGNvbXBpbGVfY29tbWFuZCBuZWVkCgkj
IHRvIGJlIGFlc3RoZXRpY2FsbHkgcXVvdGVkIGJlY2F1c2UgdGhleSBhcmUgZXZhbGVkIGxhdGVy
LgoJYXJnPWAkZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAoJY2Fz
ZSAkYXJnIGluCgkqW1xbXH5cI1xeXCZcKlwoXClce1x9XHxcO1w8XD5cP1wnXCBcCV0qfCpdKnwi
IikKCSAgYXJnPSJcIiRhcmdcIiIKCSAgOzsKCWVzYWMKCTs7CiAgICAgIGVzYWMgIyBhcmcKCiAg
ICAgICMgTm93IGFjdHVhbGx5IHN1YnN0aXR1dGUgdGhlIGFyZ3VtZW50IGludG8gdGhlIGNvbW1h
bmRzLgogICAgICBpZiB0ZXN0IC1uICIkYXJnIjsgdGhlbgoJY29tcGlsZV9jb21tYW5kPSIkY29t
cGlsZV9jb21tYW5kICRhcmciCglmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAk
YXJnIgogICAgICBmaQogICAgZG9uZSAjIGFyZ3VtZW50IHBhcnNpbmcgbG9vcAoKICAgIGlmIHRl
c3QgLW4gIiRwcmV2IjsgdGhlbgogICAgICAkZWNobyAiJG1vZGVuYW1lOiB0aGUgXGAkcHJldmFy
Zycgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IiAxPiYyCiAgICAgICRlY2hvICIkaGVscCIg
MT4mMgogICAgICBleGl0ICRFWElUX0ZBSUxVUkUKICAgIGZpCgogICAgaWYgdGVzdCAiJGV4cG9y
dF9keW5hbWljIiA9IHllcyAmJiB0ZXN0IC1uICIkZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjIjsg
dGhlbgogICAgICBldmFsIGFyZz1cIiRleHBvcnRfZHluYW1pY19mbGFnX3NwZWNcIgogICAgICBj
b21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGFyZyIKICAgICAgZmluYWxpemVfY29t
bWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJGFyZyIKICAgIGZpCgogICAgb2xkbGlicz0KICAgICMg
Y2FsY3VsYXRlIHRoZSBuYW1lIG9mIHRoZSBmaWxlLCB3aXRob3V0IGl0cyBkaXJlY3RvcnkKICAg
IG91dHB1dG5hbWU9YCRlY2hvICJYJG91dHB1dCIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAogICAg
bGlib2Jqc19zYXZlPSIkbGlib2JqcyIKCiAgICBpZiB0ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7
IHRoZW4KICAgICAgIyBnZXQgdGhlIGRpcmVjdG9yaWVzIGxpc3RlZCBpbiAkc2hsaWJwYXRoX3Zh
cgogICAgICBldmFsIHNobGliX3NlYXJjaF9wYXRoPVxgXCRlY2hvIFwiWFwkeyRzaGxpYnBhdGhf
dmFyfVwiIFx8IFwkWHNlZCAtZSBcJ3MvOi8gL2dcJ1xgCiAgICBlbHNlCiAgICAgIHNobGliX3Nl
YXJjaF9wYXRoPQogICAgZmkKICAgIGV2YWwgc3lzX2xpYl9zZWFyY2hfcGF0aD1cIiRzeXNfbGli
X3NlYXJjaF9wYXRoX3NwZWNcIgogICAgZXZhbCBzeXNfbGliX2Rsc2VhcmNoX3BhdGg9XCIkc3lz
X2xpYl9kbHNlYXJjaF9wYXRoX3NwZWNcIgoKICAgIG91dHB1dF9vYmpkaXI9YCRlY2hvICJYJG91
dHB1dCIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAogICAgaWYgdGVzdCAiWCRvdXRwdXRfb2Jq
ZGlyIiA9ICJYJG91dHB1dCI7IHRoZW4KICAgICAgb3V0cHV0X29iamRpcj0iJG9iamRpciIKICAg
IGVsc2UKICAgICAgb3V0cHV0X29iamRpcj0iJG91dHB1dF9vYmpkaXIvJG9iamRpciIKICAgIGZp
CiAgICAjIENyZWF0ZSB0aGUgb2JqZWN0IGRpcmVjdG9yeS4KICAgIGlmIHRlc3QgISAtZCAiJG91
dHB1dF9vYmpkaXIiOyB0aGVuCiAgICAgICRzaG93ICIkbWtkaXIgJG91dHB1dF9vYmpkaXIiCiAg
ICAgICRydW4gJG1rZGlyICRvdXRwdXRfb2JqZGlyCiAgICAgIHN0YXR1cz0kPwogICAgICBpZiB0
ZXN0ICIkc3RhdHVzIiAtbmUgMCAmJiB0ZXN0ICEgLWQgIiRvdXRwdXRfb2JqZGlyIjsgdGhlbgoJ
ZXhpdCAkc3RhdHVzCiAgICAgIGZpCiAgICBmaQoKICAgICMgRGV0ZXJtaW5lIHRoZSB0eXBlIG9m
IG91dHB1dAogICAgY2FzZSAkb3V0cHV0IGluCiAgICAiIikKICAgICAgJGVjaG8gIiRtb2RlbmFt
ZTogeW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQgZmlsZSIgMT4mMgogICAgICAkZWNobyAiJGhl
bHAiIDE+JjIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIDs7CiAgICAqLiRsaWJleHQp
IGxpbmttb2RlPW9sZGxpYiA7OwogICAgKi5sbyB8ICouJG9iamV4dCkgbGlua21vZGU9b2JqIDs7
CiAgICAqLmxhKSBsaW5rbW9kZT1saWIgOzsKICAgICopIGxpbmttb2RlPXByb2cgOzsgIyBBbnl0
aGluZyBlbHNlIHNob3VsZCBiZSBhIHByb2dyYW0uCiAgICBlc2FjCgogICAgY2FzZSAkaG9zdCBp
bgogICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKnB3MzIqKQogICAgICAjIGRvbid0IGVsaW1pbmF0
ZSBkdXBsaWNhdGlvbnMgaW4gJHBvc3RkZXBzIGFuZCAkcHJlZGVwcwogICAgICBkdXBsaWNhdGVf
Y29tcGlsZXJfZ2VuZXJhdGVkX2RlcHM9eWVzCiAgICAgIDs7CiAgICAqKQogICAgICBkdXBsaWNh
dGVfY29tcGlsZXJfZ2VuZXJhdGVkX2RlcHM9JGR1cGxpY2F0ZV9kZXBzCiAgICAgIDs7CiAgICBl
c2FjCiAgICBzcGVjaWFsZGVwbGlicz0KCiAgICBsaWJzPQogICAgIyBGaW5kIGFsbCBpbnRlcmRl
cGVuZGVudCBkZXBsaWJzIGJ5IHNlYXJjaGluZyBmb3IgbGlicmFyaWVzCiAgICAjIHRoYXQgYXJl
IGxpbmtlZCBtb3JlIHRoYW4gb25jZSAoZS5nLiAtbGEgLWxiIC1sYSkKICAgIGZvciBkZXBsaWIg
aW4gJGRlcGxpYnM7IGRvCiAgICAgIGlmIHRlc3QgIlgkZHVwbGljYXRlX2RlcHMiID0gIlh5ZXMi
IDsgdGhlbgoJY2FzZSAiJGxpYnMgIiBpbgoJKiIgJGRlcGxpYiAiKikgc3BlY2lhbGRlcGxpYnM9
IiRzcGVjaWFsZGVwbGlicyAkZGVwbGliIiA7OwoJZXNhYwogICAgICBmaQogICAgICBsaWJzPSIk
bGlicyAkZGVwbGliIgogICAgZG9uZQoKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWI7IHRo
ZW4KICAgICAgbGlicz0iJHByZWRlcHMgJGxpYnMgJGNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aCAk
cG9zdGRlcHMiCgogICAgICAjIENvbXB1dGUgbGlicmFyaWVzIHRoYXQgYXJlIGxpc3RlZCBtb3Jl
IHRoYW4gb25jZSBpbiAkcHJlZGVwcwogICAgICAjICRwb3N0ZGVwcyBhbmQgbWFyayB0aGVtIGFz
IHNwZWNpYWwgKGkuZS4sIHdob3NlIGR1cGxpY2F0ZXMgYXJlCiAgICAgICMgbm90IHRvIGJlIGVs
aW1pbmF0ZWQpLgogICAgICBwcmVfcG9zdF9kZXBzPQogICAgICBpZiB0ZXN0ICJYJGR1cGxpY2F0
ZV9jb21waWxlcl9nZW5lcmF0ZWRfZGVwcyIgPSAiWHllcyIgOyB0aGVuCglmb3IgcHJlX3Bvc3Rf
ZGVwIGluICRwcmVkZXBzICRwb3N0ZGVwczsgZG8KCSAgY2FzZSAiJHByZV9wb3N0X2RlcHMgIiBp
bgoJICAqIiAkcHJlX3Bvc3RfZGVwICIqKSBzcGVjaWFsZGVwbGlicz0iJHNwZWNpYWxkZXBsaWJz
ICRwcmVfcG9zdF9kZXBzIiA7OwoJICBlc2FjCgkgIHByZV9wb3N0X2RlcHM9IiRwcmVfcG9zdF9k
ZXBzICRwcmVfcG9zdF9kZXAiCglkb25lCiAgICAgIGZpCiAgICAgIHByZV9wb3N0X2RlcHM9CiAg
ICBmaQoKICAgIGRlcGxpYnM9CiAgICBuZXdkZXBlbmRlbmN5X2xpYnM9CiAgICBuZXdsaWJfc2Vh
cmNoX3BhdGg9CiAgICBuZWVkX3JlbGluaz1ubyAjIHdoZXRoZXIgd2UncmUgbGlua2luZyBhbnkg
dW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKICAgIG5vdGluc3RfZGVwbGlicz0gIyBub3Qt
aW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCiAgICBub3RpbnN0X3BhdGg9ICMgcGF0aHMgdGhh
dCBjb250YWluIG5vdC1pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKICAgIGNhc2UgJGxpbmtt
b2RlIGluCiAgICBsaWIpCglwYXNzZXM9ImNvbnYgbGluayIKCWZvciBmaWxlIGluICRkbGZpbGVz
ICRkbHByZWZpbGVzOyBkbwoJICBjYXNlICRmaWxlIGluCgkgICoubGEpIDs7CgkgICopCgkgICAg
JGVjaG8gIiRtb2RlbmFtZTogbGlicmFyaWVzIGNhbiBcYC1kbG9wZW4nIG9ubHkgbGlidG9vbCBs
aWJyYXJpZXM6ICRmaWxlIiAxPiYyCgkgICAgZXhpdCAkRVhJVF9GQUlMVVJFCgkgICAgOzsKCSAg
ZXNhYwoJZG9uZQoJOzsKICAgIHByb2cpCgljb21waWxlX2RlcGxpYnM9CglmaW5hbGl6ZV9kZXBs
aWJzPQoJYWxsZGVwbGlicz1ubwoJbmV3ZGxmaWxlcz0KCW5ld2RscHJlZmlsZXM9CglwYXNzZXM9
ImNvbnYgc2NhbiBkbG9wZW4gZGxwcmVvcGVuIGxpbmsiCgk7OwogICAgKikgIHBhc3Nlcz0iY29u
diIKCTs7CiAgICBlc2FjCiAgICBmb3IgcGFzcyBpbiAkcGFzc2VzOyBkbwogICAgICBpZiB0ZXN0
ICIkbGlua21vZGUsJHBhc3MiID0gImxpYixsaW5rIiB8fAoJIHRlc3QgIiRsaW5rbW9kZSwkcGFz
cyIgPSAicHJvZyxzY2FuIjsgdGhlbgoJbGlicz0iJGRlcGxpYnMiCglkZXBsaWJzPQogICAgICBm
aQogICAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJY2FzZSAkcGFzcyBpbgoJ
ZGxvcGVuKSBsaWJzPSIkZGxmaWxlcyIgOzsKCWRscHJlb3BlbikgbGlicz0iJGRscHJlZmlsZXMi
IDs7CglsaW5rKSBsaWJzPSIkZGVwbGlicyAlREVQTElCUyUgJGRlcGVuZGVuY3lfbGlicyIgOzsK
CWVzYWMKICAgICAgZmkKICAgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxvcGVuOyB0aGVuCgkjIENv
bGxlY3QgZGxwcmVvcGVuZWQgbGlicmFyaWVzCglzYXZlX2RlcGxpYnM9IiRkZXBsaWJzIgoJZGVw
bGlicz0KICAgICAgZmkKICAgICAgZm9yIGRlcGxpYiBpbiAkbGliczsgZG8KCWxpYj0KCWZvdW5k
PW5vCgljYXNlICRkZXBsaWIgaW4KCS1tdHwtbXRocmVhZHN8LWt0aHJlYWR8LUt0aHJlYWR8LXB0
aHJlYWR8LXB0aHJlYWRzfC0tdGhyZWFkLXNhZmUpCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFz
cyIgPSAicHJvZyxsaW5rIjsgdGhlbgoJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29t
cGlsZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2Rl
cGxpYnMiCgkgIGVsc2UKCSAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICBmaQoJICBj
b250aW51ZQoJICA7OwoJLWwqKQoJICBpZiB0ZXN0ICIkbGlua21vZGUiICE9IGxpYiAmJiB0ZXN0
ICIkbGlua21vZGUiICE9IHByb2c7IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5n
OiBcYC1sJyBpcyBpZ25vcmVkIGZvciBhcmNoaXZlcy9vYmplY3RzIiAxPiYyCgkgICAgY29udGlu
dWUKCSAgZmkKCSAgaWYgdGVzdCAiJHBhc3MiID0gY29udjsgdGhlbgoJICAgIGRlcGxpYnM9IiRk
ZXBsaWIgJGRlcGxpYnMiCgkgICAgY29udGludWUKCSAgZmkKCSAgbmFtZT1gJGVjaG8gIlgkZGVw
bGliIiB8ICRYc2VkIC1lICdzL14tbC8vJ2AKCSAgZm9yIHNlYXJjaGRpciBpbiAkbmV3bGliX3Nl
YXJjaF9wYXRoICRsaWJfc2VhcmNoX3BhdGggJHN5c19saWJfc2VhcmNoX3BhdGggJHNobGliX3Nl
YXJjaF9wYXRoOyBkbwoJICAgIGZvciBzZWFyY2hfZXh0IGluIC5sYSAkc3RkX3NocmV4dCAuc28g
LmE7IGRvCgkgICAgICAjIFNlYXJjaCB0aGUgbGlidG9vbCBsaWJyYXJ5CgkgICAgICBsaWI9IiRz
ZWFyY2hkaXIvbGliJHtuYW1lfSR7c2VhcmNoX2V4dH0iCgkgICAgICBpZiB0ZXN0IC1mICIkbGli
IjsgdGhlbgoJCWlmIHRlc3QgIiRzZWFyY2hfZXh0IiA9ICIubGEiOyB0aGVuCgkJICBmb3VuZD15
ZXMKCQllbHNlCgkJICBmb3VuZD1ubwoJCWZpCgkJYnJlYWsgMgoJICAgICAgZmkKCSAgICBkb25l
CgkgIGRvbmUKCSAgaWYgdGVzdCAiJGZvdW5kIiAhPSB5ZXM7IHRoZW4KCSAgICAjIGRlcGxpYiBk
b2Vzbid0IHNlZW0gdG8gYmUgYSBsaWJ0b29sIGxpYnJhcnkKCSAgICBpZiB0ZXN0ICIkbGlua21v
ZGUsJHBhc3MiID0gInByb2csbGluayI7IHRoZW4KCSAgICAgIGNvbXBpbGVfZGVwbGlicz0iJGRl
cGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJICAgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAk
ZmluYWxpemVfZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBs
aWJzIgoJICAgICAgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiAmJiBuZXdkZXBlbmRlbmN5X2xpYnM9
IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIKCSAgICBmaQoJICAgIGNvbnRpbnVlCgkgIGVs
c2UgIyBkZXBsaWIgaXMgYSBsaWJ0b29sIGxpYnJhcnkKCSAgICAjIElmICRhbGxvd19saWJ0b29s
X2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMgJiYgJGRlcGxpYiBpcyBhIHN0ZGxpYiwKCSAgICAj
IFdlIG5lZWQgdG8gZG8gc29tZSBzcGVjaWFsIHRoaW5ncyBoZXJlLCBhbmQgbm90IGxhdGVyLgoJ
ICAgIGlmIHRlc3QgIlgkYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzIiA9
ICJYeWVzIiA7IHRoZW4KCSAgICAgIGNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBpbgoJICAg
ICAgKiIgJGRlcGxpYiAiKikKCQlpZiAoJHtTRUR9IC1lICcycScgJGxpYiB8CiAgICAgICAgICAg
ICAgICAgICAgZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+L2Rldi9udWxsIDI+
JjE7IHRoZW4KCQkgIGxpYnJhcnlfbmFtZXM9CgkJICBvbGRfbGlicmFyeT0KCQkgIGNhc2UgJGxp
YiBpbgoJCSAgKi8qIHwgKlxcKikgLiAkbGliIDs7CgkJICAqKSAuIC4vJGxpYiA7OwoJCSAgZXNh
YwoJCSAgZm9yIGwgaW4gJG9sZF9saWJyYXJ5ICRsaWJyYXJ5X25hbWVzOyBkbwoJCSAgICBsbD0i
JGwiCgkJICBkb25lCgkJICBpZiB0ZXN0ICJYJGxsIiA9ICJYJG9sZF9saWJyYXJ5IiA7IHRoZW4g
IyBvbmx5IHN0YXRpYyB2ZXJzaW9uIGF2YWlsYWJsZQoJCSAgICBmb3VuZD1ubwoJCSAgICBsYWRp
cj1gJGVjaG8gIlgkbGliIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCgkJICAgIHRlc3QgIlgk
bGFkaXIiID0gIlgkbGliIiAmJiBsYWRpcj0iLiIKCQkgICAgbGliPSRsYWRpci8kb2xkX2xpYnJh
cnkKCQkgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkJ
ICAgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkJICAgICAg
ZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVwbGlicyIKCQkgICAgZWxzZQoJ
CSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkJICAgICAgdGVzdCAiJGxpbmttb2Rl
IiA9IGxpYiAmJiBuZXdkZXBlbmRlbmN5X2xpYnM9IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGli
cyIKCQkgICAgZmkKCQkgICAgY29udGludWUKCQkgIGZpCgkJZmkKCSAgICAgICAgOzsKCSAgICAg
ICopIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAgZmkKCSAgOzsgIyAtbAoJLUwqKQoJICBjYXNl
ICRsaW5rbW9kZSBpbgoJICBsaWIpCgkgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAg
ICB0ZXN0ICIkcGFzcyIgPSBjb252ICYmIGNvbnRpbnVlCgkgICAgbmV3ZGVwZW5kZW5jeV9saWJz
PSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMiCgkgICAgbmV3bGliX3NlYXJjaF9wYXRoPSIk
bmV3bGliX3NlYXJjaF9wYXRoICJgJGVjaG8gIlgkZGVwbGliIiB8ICRYc2VkIC1lICdzL14tTC8v
J2AKCSAgICA7OwoJICBwcm9nKQoJICAgIGlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAg
ICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgICBjb250aW51ZQoJICAgIGZpCgkg
ICAgaWYgdGVzdCAiJHBhc3MiID0gc2NhbjsgdGhlbgoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAk
ZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICBjb21waWxlX2RlcGxpYnM9IiRkZXBsaWIgJGNvbXBp
bGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2Rl
cGxpYnMiCgkgICAgZmkKCSAgICBuZXdsaWJfc2VhcmNoX3BhdGg9IiRuZXdsaWJfc2VhcmNoX3Bh
dGggImAkZWNobyAiWCRkZXBsaWIiIHwgJFhzZWQgLWUgJ3MvXi1MLy8nYAoJICAgIDs7CgkgICop
CgkgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtTCcgaXMgaWdub3JlZCBmb3IgYXJj
aGl2ZXMvb2JqZWN0cyIgMT4mMgoJICAgIDs7CgkgIGVzYWMgIyBsaW5rbW9kZQoJICBjb250aW51
ZQoJICA7OyAjIC1MCgktUiopCgkgIGlmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRoZW4KCSAgICBk
aXI9YCRlY2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAncy9eLVIvLydgCgkgICAgIyBNYWtlIHN1
cmUgdGhlIHhycGF0aCBjb250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAgICBjYXNl
ICIkeHJwYXRoICIgaW4KCSAgICAqIiAkZGlyICIqKSA7OwoJICAgICopIHhycGF0aD0iJHhycGF0
aCAkZGlyIiA7OwoJICAgIGVzYWMKCSAgZmkKCSAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIK
CSAgY29udGludWUKCSAgOzsKCSoubGEpIGxpYj0iJGRlcGxpYiIgOzsKCSouJGxpYmV4dCkKCSAg
aWYgdGVzdCAiJHBhc3MiID0gY29udjsgdGhlbgoJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxp
YnMiCgkgICAgY29udGludWUKCSAgZmkKCSAgY2FzZSAkbGlua21vZGUgaW4KCSAgbGliKQoJICAg
IHZhbGlkX2FfbGliPW5vCgkgICAgY2FzZSAkZGVwbGlic19jaGVja19tZXRob2QgaW4KCSAgICAg
IG1hdGNoX3BhdHRlcm4qKQoJCXNldCBkdW1teSAkZGVwbGlic19jaGVja19tZXRob2QKCSAgICAg
ICAgbWF0Y2hfcGF0dGVybl9yZWdleD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIk
MiBcKC4qXCkiYAoJCWlmIGV2YWwgJGVjaG8gXCIkZGVwbGliXCIgMj4vZGV2L251bGwgXAoJCSAg
ICB8ICRTRUQgMTBxIFwKCQkgICAgfCAkRUdSRVAgIiRtYXRjaF9wYXR0ZXJuX3JlZ2V4IiA+IC9k
ZXYvbnVsbDsgdGhlbgoJCSAgdmFsaWRfYV9saWI9eWVzCgkJZmkKCQk7OwoJICAgICAgcGFzc19h
bGwpCgkJdmFsaWRfYV9saWI9eWVzCgkJOzsKICAgICAgICAgICAgZXNhYwoJICAgIGlmIHRlc3Qg
IiR2YWxpZF9hX2xpYiIgIT0geWVzOyB0aGVuCgkgICAgICAkZWNobwoJICAgICAgJGVjaG8gIioq
KiBXYXJuaW5nOiBUcnlpbmcgdG8gbGluayB3aXRoIHN0YXRpYyBsaWIgYXJjaGl2ZSAkZGVwbGli
LiIKCSAgICAgICRlY2hvICIqKiogSSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2UgdGhhdCBs
aWJyYXJ5IGF1dG9tYXRpY2FsbHkgbGluayBpbiB3aGVuIgoJICAgICAgJGVjaG8gIioqKiB5b3Ug
bGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlvdSBoYXZl
IGEiCgkgICAgICAkZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCB3aGlj
aCB5b3UgZG8gbm90IGFwcGVhciB0byBoYXZlIgoJICAgICAgJGVjaG8gIioqKiBiZWNhdXNlIHRo
ZSBmaWxlIGV4dGVuc2lvbnMgLiRsaWJleHQgb2YgdGhpcyBhcmd1bWVudCBtYWtlcyBtZSBiZWxp
ZXZlIgoJICAgICAgJGVjaG8gIioqKiB0aGF0IGl0IGlzIGp1c3QgYSBzdGF0aWMgYXJjaGl2ZSB0
aGF0IEkgc2hvdWxkIG5vdCB1c2VkIGhlcmUuIgoJICAgIGVsc2UKCSAgICAgICRlY2hvCgkgICAg
ICAkZWNobyAiKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5ICRvdXRwdXQg
YWdhaW5zdCB0aGUiCgkgICAgICAkZWNobyAiKioqIHN0YXRpYyBsaWJyYXJ5ICRkZXBsaWIgaXMg
bm90IHBvcnRhYmxlISIKCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgZmkK
CSAgICBjb250aW51ZQoJICAgIDs7CgkgIHByb2cpCgkgICAgaWYgdGVzdCAiJHBhc3MiICE9IGxp
bms7IHRoZW4KCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgZWxzZQoJICAg
ICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5h
bGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGZpCgkgICAgY29u
dGludWUKCSAgICA7OwoJICBlc2FjICMgbGlua21vZGUKCSAgOzsgIyAqLiRsaWJleHQKCSoubG8g
fCAqLiRvYmpleHQpCgkgIGlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgICBkZXBsaWJz
PSIkZGVwbGliICRkZXBsaWJzIgoJICBlbGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVu
CgkgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVuIHx8IHRlc3QgIiRkbG9wZW5fc3VwcG9y
dCIgIT0geWVzIHx8IHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0gbm87IHRoZW4KCSAgICAg
ICMgSWYgdGhlcmUgaXMgbm8gZGxvcGVuIHN1cHBvcnQgb3Igd2UncmUgbGlua2luZyBzdGF0aWNh
bGx5LAoJICAgICAgIyB3ZSBuZWVkIHRvIHByZWxvYWQuCgkgICAgICBuZXdkbHByZWZpbGVzPSIk
bmV3ZGxwcmVmaWxlcyAkZGVwbGliIgoJICAgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRj
b21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6
ZV9kZXBsaWJzIgoJICAgIGVsc2UKCSAgICAgIG5ld2RsZmlsZXM9IiRuZXdkbGZpbGVzICRkZXBs
aWIiCgkgICAgZmkKCSAgZmkKCSAgY29udGludWUKCSAgOzsKCSVERVBMSUJTJSkKCSAgYWxsZGVw
bGlicz15ZXMKCSAgY29udGludWUKCSAgOzsKCWVzYWMgIyBjYXNlICRkZXBsaWIKCWlmIHRlc3Qg
IiRmb3VuZCIgPSB5ZXMgfHwgdGVzdCAtZiAiJGxpYiI7IHRoZW4gOgoJZWxzZQoJICAkZWNobyAi
JG1vZGVuYW1lOiBjYW5ub3QgZmluZCB0aGUgbGlicmFyeSBcYCRsaWInIiAxPiYyCgkgIGV4aXQg
JEVYSVRfRkFJTFVSRQoJZmkKCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEg
bGlidG9vbCBhcmNoaXZlLgoJaWYgKCR7U0VEfSAtZSAnMnEnICRsaWIgfCBncmVwICJeIyBHZW5l
cmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CgllbHNlCgkgICRl
Y2hvICIkbW9kZW5hbWU6IFxgJGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIiAx
PiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJZmkKCglsYWRpcj1gJGVjaG8gIlgkbGliIiB8ICRY
c2VkIC1lICdzJS9bXi9dKiQlJSdgCgl0ZXN0ICJYJGxhZGlyIiA9ICJYJGxpYiIgJiYgbGFkaXI9
Ii4iCgoJZGxuYW1lPQoJZGxvcGVuPQoJZGxwcmVvcGVuPQoJbGliZGlyPQoJbGlicmFyeV9uYW1l
cz0KCW9sZF9saWJyYXJ5PQoJIyBJZiB0aGUgbGlicmFyeSB3YXMgaW5zdGFsbGVkIHdpdGggYW4g
b2xkIHJlbGVhc2Ugb2YgbGlidG9vbCwKCSMgaXQgd2lsbCBub3QgcmVkZWZpbmUgdmFyaWFibGVz
IGluc3RhbGxlZCwgb3Igc2hvdWxkbm90bGluawoJaW5zdGFsbGVkPXllcwoJc2hvdWxkbm90bGlu
az1ubwoKCSMgUmVhZCB0aGUgLmxhIGZpbGUKCWNhc2UgJGxpYiBpbgoJKi8qIHwgKlxcKikgLiAk
bGliIDs7CgkqKSAuIC4vJGxpYiA7OwoJZXNhYwoKCWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIg
PSAibGliLGxpbmsiIHx8CgkgICB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csc2NhbiIg
fHwKCSAgIHsgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nICYmIHRlc3QgIiRsaW5rbW9kZSIgIT0g
bGliOyB9OyB0aGVuCgkgIHRlc3QgLW4gIiRkbG9wZW4iICYmIGRsZmlsZXM9IiRkbGZpbGVzICRk
bG9wZW4iCgkgIHRlc3QgLW4gIiRkbHByZW9wZW4iICYmIGRscHJlZmlsZXM9IiRkbHByZWZpbGVz
ICRkbHByZW9wZW4iCglmaQoKCWlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgIyBPbmx5
IGNoZWNrIGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMKCSAgZGVwbGlicz0iJGxpYiAkZGVwbGli
cyIKCSAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCSAgICBpZiB0ZXN0IC16ICIkb2xkX2xp
YnJhcnkiOyB0aGVuCgkgICAgICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgZmluZCBuYW1lIG9m
IGxpbmsgbGlicmFyeSBmb3IgXGAkbGliJyIgMT4mMgoJICAgICAgZXhpdCAkRVhJVF9GQUlMVVJF
CgkgICAgZmkKCSAgICAjIEl0IGlzIGEgbGlidG9vbCBjb252ZW5pZW5jZSBsaWJyYXJ5LCBzbyBh
ZGQgaW4gaXRzIG9iamVjdHMuCgkgICAgY29udmVuaWVuY2U9IiRjb252ZW5pZW5jZSAkbGFkaXIv
JG9iamRpci8kb2xkX2xpYnJhcnkiCgkgICAgb2xkX2NvbnZlbmllbmNlPSIkb2xkX2NvbnZlbmll
bmNlICRsYWRpci8kb2JqZGlyLyRvbGRfbGlicmFyeSIKCSAgICB0bXBfbGlicz0KCSAgICBmb3Ig
ZGVwbGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRk
ZXBsaWJzIgogICAgICAgICAgICAgIGlmIHRlc3QgIlgkZHVwbGljYXRlX2RlcHMiID0gIlh5ZXMi
IDsgdGhlbgoJICAgICAgICBjYXNlICIkdG1wX2xpYnMgIiBpbgoJICAgICAgICAqIiAkZGVwbGli
ICIqKSBzcGVjaWFsZGVwbGlicz0iJHNwZWNpYWxkZXBsaWJzICRkZXBsaWIiIDs7CgkgICAgICAg
IGVzYWMKICAgICAgICAgICAgICBmaQoJICAgICAgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGli
IgoJICAgIGRvbmUKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUiICE9IHByb2cgJiYgdGVzdCAiJGxp
bmttb2RlIiAhPSBsaWI7IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiBcYCRsaWInIGlzIG5v
dCBhIGNvbnZlbmllbmNlIGxpYnJhcnkiIDE+JjIKCSAgICBleGl0ICRFWElUX0ZBSUxVUkUKCSAg
ZmkKCSAgY29udGludWUKCWZpICMgJHBhc3MgPSBjb252CgoKCSMgR2V0IHRoZSBuYW1lIG9mIHRo
ZSBsaWJyYXJ5IHdlIGxpbmsgYWdhaW5zdC4KCWxpbmtsaWI9Cglmb3IgbCBpbiAkb2xkX2xpYnJh
cnkgJGxpYnJhcnlfbmFtZXM7IGRvCgkgIGxpbmtsaWI9IiRsIgoJZG9uZQoJaWYgdGVzdCAteiAi
JGxpbmtsaWIiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBmaW5kIG5hbWUgb2Yg
bGluayBsaWJyYXJ5IGZvciBcYCRsaWInIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJZmkK
CgkjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRsb3Blbi4KCWlmIHRlc3QgIiRw
YXNzIiA9IGRsb3BlbjsgdGhlbgoJICBpZiB0ZXN0IC16ICIkbGliZGlyIjsgdGhlbgoJICAgICRl
Y2hvICIkbW9kZW5hbWU6IGNhbm5vdCAtZGxvcGVuIGEgY29udmVuaWVuY2UgbGlicmFyeTogXGAk
bGliJyIgMT4mMgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICBmaQoJICBpZiB0ZXN0IC16ICIk
ZGxuYW1lIiB8fAoJICAgICB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiICE9IHllcyB8fAoJICAgICB0
ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgIyBJZiB0aGVyZSBpcyBu
byBkbG5hbWUsIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdlJ3JlIGxpbmtpbmcKCSAgICAjIHN0YXRp
Y2FsbHksIHdlIG5lZWQgdG8gcHJlbG9hZC4gIFdlIGFsc28gbmVlZCB0byBwcmVsb2FkIGFueQoJ
ICAgICMgZGVwZW5kZW50IGxpYnJhcmllcyBzbyBsaWJsdGRsJ3MgZGVwbGliIHByZWxvYWRlciBk
b2Vzbid0CgkgICAgIyBib21iIG91dCBpbiB0aGUgbG9hZCBkZXBsaWJzIHBoYXNlLgoJICAgIGRs
cHJlZmlsZXM9IiRkbHByZWZpbGVzICRsaWIgJGRlcGVuZGVuY3lfbGlicyIKCSAgZWxzZQoJICAg
IG5ld2RsZmlsZXM9IiRuZXdkbGZpbGVzICRsaWIiCgkgIGZpCgkgIGNvbnRpbnVlCglmaSAjICRw
YXNzID0gZGxvcGVuCgoJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgljYXNlICRsYWRpciBp
bgoJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSBhYnNfbGFkaXI9IiRsYWRpciIgOzsKCSopCgkg
IGFic19sYWRpcj1gY2QgIiRsYWRpciIgJiYgcHdkYAoJICBpZiB0ZXN0IC16ICIkYWJzX2xhZGly
IjsgdGhlbgoJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5vdCBkZXRlcm1pbmUg
YWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkbGFkaXInIiAxPiYyCgkgICAgJGVjaG8gIiRt
b2RlbmFtZTogcGFzc2luZyBpdCBsaXRlcmFsbHkgdG8gdGhlIGxpbmtlciwgYWx0aG91Z2ggaXQg
bWlnaHQgZmFpbCIgMT4mMgoJICAgIGFic19sYWRpcj0iJGxhZGlyIgoJICBmaQoJICA7OwoJZXNh
YwoJbGFuYW1lPWAkZWNobyAiWCRsaWIiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCgkjIEZpbmQg
dGhlIHJlbGV2YW50IG9iamVjdCBkaXJlY3RvcnkgYW5kIGxpYnJhcnkgbmFtZS4KCWlmIHRlc3Qg
IlgkaW5zdGFsbGVkIiA9IFh5ZXM7IHRoZW4KCSAgaWYgdGVzdCAhIC1mICIkbGliZGlyLyRsaW5r
bGliIiAmJiB0ZXN0IC1mICIkYWJzX2xhZGlyLyRsaW5rbGliIjsgdGhlbgoJICAgICRlY2hvICIk
bW9kZW5hbWU6IHdhcm5pbmc6IGxpYnJhcnkgXGAkbGliJyB3YXMgbW92ZWQuIiAxPiYyCgkgICAg
ZGlyPSIkbGFkaXIiCgkgICAgYWJzZGlyPSIkYWJzX2xhZGlyIgoJICAgIGxpYmRpcj0iJGFic19s
YWRpciIKCSAgZWxzZQoJICAgIGRpcj0iJGxpYmRpciIKCSAgICBhYnNkaXI9IiRsaWJkaXIiCgkg
IGZpCgllbHNlCgkgIGlmIHRlc3QgISAtZiAiJGxhZGlyLyRvYmpkaXIvJGxpbmtsaWIiICYmIHRl
c3QgLWYgIiRhYnNfbGFkaXIvJGxpbmtsaWIiOyB0aGVuCgkgICAgZGlyPSIkbGFkaXIiCgkgICAg
YWJzZGlyPSIkYWJzX2xhZGlyIgoJICAgICMgUmVtb3ZlIHRoaXMgc2VhcmNoIHBhdGggbGF0ZXIK
CSAgICBub3RpbnN0X3BhdGg9IiRub3RpbnN0X3BhdGggJGFic19sYWRpciIKCSAgZWxzZQoJICAg
IGRpcj0iJGxhZGlyLyRvYmpkaXIiCgkgICAgYWJzZGlyPSIkYWJzX2xhZGlyLyRvYmpkaXIiCgkg
ICAgIyBSZW1vdmUgdGhpcyBzZWFyY2ggcGF0aCBsYXRlcgoJICAgIG5vdGluc3RfcGF0aD0iJG5v
dGluc3RfcGF0aCAkYWJzX2xhZGlyIgoJICBmaQoJZmkgIyAkaW5zdGFsbGVkID0geWVzCgluYW1l
PWAkZWNobyAiWCRsYW5hbWUiIHwgJFhzZWQgLWUgJ3MvXC5sYSQvLycgLWUgJ3MvXmxpYi8vJ2AK
CgkjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRscHJlb3Blbi4KCWlmIHRlc3Qg
IiRwYXNzIiA9IGRscHJlb3BlbjsgdGhlbgoJICBpZiB0ZXN0IC16ICIkbGliZGlyIjsgdGhlbgoJ
ICAgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCAtZGxwcmVvcGVuIGEgY29udmVuaWVuY2UgbGli
cmFyeTogXGAkbGliJyIgMT4mMgoJICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICBmaQoJICAjIFBy
ZWZlciB1c2luZyBhIHN0YXRpYyBsaWJyYXJ5IChzbyB0aGF0IG5vIHNpbGx5IF9EWU5BTUlDIHN5
bWJvbHMKCSAgIyBhcmUgcmVxdWlyZWQgdG8gbGluaykuCgkgIGlmIHRlc3QgLW4gIiRvbGRfbGli
cmFyeSI7IHRoZW4KCSAgICBuZXdkbHByZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyAkZGlyLyRvbGRf
bGlicmFyeSIKCSAgIyBPdGhlcndpc2UsIHVzZSB0aGUgZGxuYW1lLCBzbyB0aGF0IGx0X2Rsb3Bl
biBmaW5kcyBpdC4KCSAgZWxpZiB0ZXN0IC1uICIkZGxuYW1lIjsgdGhlbgoJICAgIG5ld2RscHJl
ZmlsZXM9IiRuZXdkbHByZWZpbGVzICRkaXIvJGRsbmFtZSIKCSAgZWxzZQoJICAgIG5ld2RscHJl
ZmlsZXM9IiRuZXdkbHByZWZpbGVzICRkaXIvJGxpbmtsaWIiCgkgIGZpCglmaSAjICRwYXNzID0g
ZGxwcmVvcGVuCgoJaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCSAgIyBMaW5rIHRoZSBjb252
ZW5pZW5jZSBsaWJyYXJ5CgkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWI7IHRoZW4KCSAgICBk
ZXBsaWJzPSIkZGlyLyRvbGRfbGlicmFyeSAkZGVwbGlicyIKCSAgZWxpZiB0ZXN0ICIkbGlua21v
ZGUsJHBhc3MiID0gInByb2csbGluayI7IHRoZW4KCSAgICBjb21waWxlX2RlcGxpYnM9IiRkaXIv
JG9sZF9saWJyYXJ5ICRjb21waWxlX2RlcGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iJGRp
ci8kb2xkX2xpYnJhcnkgJGZpbmFsaXplX2RlcGxpYnMiCgkgIGVsc2UKCSAgICBkZXBsaWJzPSIk
bGliICRkZXBsaWJzIiAjIHVzZWQgZm9yIHByb2csc2NhbiBwYXNzCgkgIGZpCgkgIGNvbnRpbnVl
CglmaQoKCglpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyAmJiB0ZXN0ICIkcGFzcyIgIT0gbGlu
azsgdGhlbgoJICBuZXdsaWJfc2VhcmNoX3BhdGg9IiRuZXdsaWJfc2VhcmNoX3BhdGggJGxhZGly
IgoJICBkZXBsaWJzPSIkbGliICRkZXBsaWJzIgoKCSAgbGlua2FsbGRlcGxpYnM9bm8KCSAgaWYg
dGVzdCAiJGxpbmtfYWxsX2RlcGxpYnMiICE9IG5vIHx8IHRlc3QgLXogIiRsaWJyYXJ5X25hbWVz
IiB8fAoJICAgICB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgbGlu
a2FsbGRlcGxpYnM9eWVzCgkgIGZpCgoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAkZGVw
ZW5kZW5jeV9saWJzOyBkbwoJICAgIGNhc2UgJGRlcGxpYiBpbgoJICAgIC1MKikgbmV3bGliX3Nl
YXJjaF9wYXRoPSIkbmV3bGliX3NlYXJjaF9wYXRoICJgJGVjaG8gIlgkZGVwbGliIiB8ICRYc2Vk
IC1lICdzL14tTC8vJ2A7OyAjIyMgdGVzdHN1aXRlOiBza2lwIG5lc3RlZCBxdW90aW5nIHRlc3QK
CSAgICBlc2FjCgkgICAgIyBOZWVkIHRvIGxpbmsgYWdhaW5zdCBhbGwgZGVwZW5kZW5jeV9saWJz
PwoJICAgIGlmIHRlc3QgIiRsaW5rYWxsZGVwbGlicyIgPSB5ZXM7IHRoZW4KCSAgICAgIGRlcGxp
YnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgIyBOZWVkIHRvIGhhcmRjb2Rl
IHNoYXJlZCBsaWJyYXJ5IHBhdGhzCgkgICAgICAjIG9yL2FuZCBsaW5rIGFnYWluc3Qgc3RhdGlj
IGxpYnJhcmllcwoJICAgICAgbmV3ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBlbmRl
bmN5X2xpYnMiCgkgICAgZmkKCSAgICBpZiB0ZXN0ICJYJGR1cGxpY2F0ZV9kZXBzIiA9ICJYeWVz
IiA7IHRoZW4KCSAgICAgIGNhc2UgIiR0bXBfbGlicyAiIGluCgkgICAgICAqIiAkZGVwbGliICIq
KSBzcGVjaWFsZGVwbGlicz0iJHNwZWNpYWxkZXBsaWJzICRkZXBsaWIiIDs7CgkgICAgICBlc2Fj
CgkgICAgZmkKCSAgICB0bXBfbGlicz0iJHRtcF9saWJzICRkZXBsaWIiCgkgIGRvbmUgIyBmb3Ig
ZGVwbGliCgkgIGNvbnRpbnVlCglmaSAjICRsaW5rbW9kZSA9IHByb2cuLi4KCglpZiB0ZXN0ICIk
bGlua21vZGUsJHBhc3MiID0gInByb2csbGluayI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJGxpYnJh
cnlfbmFtZXMiICYmCgkgICAgIHsgdGVzdCAiJHByZWZlcl9zdGF0aWNfbGlicyIgPSBubyB8fCB0
ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB9OyB0aGVuCgkgICAgIyBXZSBuZWVkIHRvIGhhcmRjb2Rl
IHRoZSBsaWJyYXJ5IHBhdGgKCSAgICBpZiB0ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7IHRoZW4K
CSAgICAgICMgTWFrZSBzdXJlIHRoZSBycGF0aCBjb250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rv
cmllcy4KCSAgICAgIGNhc2UgIiR0ZW1wX3JwYXRoICIgaW4KCSAgICAgICoiICRkaXIgIiopIDs7
CgkgICAgICAqIiAkYWJzZGlyICIqKSA7OwoJICAgICAgKikgdGVtcF9ycGF0aD0iJHRlbXBfcnBh
dGggJGRpciIgOzsKCSAgICAgIGVzYWMKCSAgICBmaQoKCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJy
YXJ5IHBhdGguCgkgICAgIyBTa2lwIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGluIHRoZSBzeXN0ZW0g
ZGVmYXVsdCBydW4tdGltZQoJICAgICMgc2VhcmNoIHBhdGguCgkgICAgY2FzZSAiICRzeXNfbGli
X2Rsc2VhcmNoX3BhdGggIiBpbgoJICAgICoiICRhYnNkaXIgIiopIDs7CgkgICAgKikKCSAgICAg
IGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4KCSAgICAgICoiICRhYnNkaXIgIiopIDs7CgkgICAg
ICAqKSBjb21waWxlX3JwYXRoPSIkY29tcGlsZV9ycGF0aCAkYWJzZGlyIgoJICAgICAgZXNhYwoJ
ICAgICAgOzsKCSAgICBlc2FjCgkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBp
bgoJICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgKikKCSAgICAgIGNhc2UgIiRmaW5hbGl6ZV9y
cGF0aCAiIGluCgkgICAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICAgKikgZmluYWxpemVfcnBh
dGg9IiRmaW5hbGl6ZV9ycGF0aCAkbGliZGlyIgoJICAgICAgZXNhYwoJICAgICAgOzsKCSAgICBl
c2FjCgkgIGZpICMgJGxpbmttb2RlLCRwYXNzID0gcHJvZyxsaW5rLi4uCgoJICBpZiB0ZXN0ICIk
YWxsZGVwbGlicyIgPSB5ZXMgJiYKCSAgICAgeyB0ZXN0ICIkZGVwbGlic19jaGVja19tZXRob2Qi
ID0gcGFzc19hbGwgfHwKCSAgICAgICB7IHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVz
ICYmCgkJIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgfTsgfTsgdGhlbgoJICAgICMgV2Ugb25s
eSBuZWVkIHRvIHNlYXJjaCBmb3Igc3RhdGljIGxpYnJhcmllcwoJICAgIGNvbnRpbnVlCgkgIGZp
CglmaQoKCWxpbmtfc3RhdGljPW5vICMgV2hldGhlciB0aGUgZGVwbGliIHdpbGwgYmUgbGlua2Vk
IHN0YXRpY2FsbHkKCWlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIiAmJgoJICAgeyB0ZXN0ICIk
cHJlZmVyX3N0YXRpY19saWJzIiA9IG5vIHx8IHRlc3QgLXogIiRvbGRfbGlicmFyeSI7IH07IHRo
ZW4KCSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSBubzsgdGhlbgoJICAgIG5vdGluc3RfZGVwbGli
cz0iJG5vdGluc3RfZGVwbGlicyAkbGliIgoJICAgIG5lZWRfcmVsaW5rPXllcwoJICBmaQoJICAj
IFRoaXMgaXMgYSBzaGFyZWQgbGlicmFyeQoKCSAgIyBXYXJuIGFib3V0IHBvcnRhYmlsaXR5LCBj
YW4ndCBsaW5rIGFnYWluc3QgLW1vZHVsZSdzIG9uCgkgICMgc29tZSBzeXN0ZW1zIChkYXJ3aW4p
CgkgIGlmIHRlc3QgIiRzaG91bGRub3RsaW5rIiA9IHllcyAmJiB0ZXN0ICIkcGFzcyIgPSBsaW5r
IDsgdGhlbgoJICAgICRlY2hvCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4K
CSAgICAgICRlY2hvICIqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJsZSAkb3V0cHV0
IGFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVsZSIKCSAgICBlbHNlCgkgICAgICAkZWNobyAiKioq
IFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5ICRvdXRwdXQgYWdhaW5zdCB0aGUg
bG9hZGFibGUgbW9kdWxlIgoJICAgIGZpCgkgICAgJGVjaG8gIioqKiAkbGlua2xpYiBpcyBub3Qg
cG9ydGFibGUhIgoJICBmaQoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliICYmCgkgICAgIHRl
c3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiID0geWVzOyB0aGVuCgkgICAgIyBIYXJkY29kZSB0aGUg
bGlicmFyeSBwYXRoLgoJICAgICMgU2tpcCBkaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgc3lz
dGVtIGRlZmF1bHQgcnVuLXRpbWUKCSAgICAjIHNlYXJjaCBwYXRoLgoJICAgIGNhc2UgIiAkc3lz
X2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KCSAgICAqIiAkYWJzZGlyICIqKSA7OwoJICAgICopCgkg
ICAgICBjYXNlICIkY29tcGlsZV9ycGF0aCAiIGluCgkgICAgICAqIiAkYWJzZGlyICIqKSA7OwoJ
ICAgICAgKikgY29tcGlsZV9ycGF0aD0iJGNvbXBpbGVfcnBhdGggJGFic2RpciIKCSAgICAgIGVz
YWMKCSAgICAgIDs7CgkgICAgZXNhYwoJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRo
ICIgaW4KCSAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICopCgkgICAgICBjYXNlICIkZmluYWxp
emVfcnBhdGggIiBpbgoJICAgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAgICopIGZpbmFsaXpl
X3JwYXRoPSIkZmluYWxpemVfcnBhdGggJGxpYmRpciIKCSAgICAgIGVzYWMKCSAgICAgIDs7Cgkg
ICAgZXNhYwoJICBmaQoKCSAgaWYgdGVzdCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19j
bWRzIjsgdGhlbgoJICAgICMgZmlndXJlIG91dCB0aGUgc29uYW1lCgkgICAgc2V0IGR1bW15ICRs
aWJyYXJ5X25hbWVzCgkgICAgcmVhbG5hbWU9IiQyIgoJICAgIHNoaWZ0OyBzaGlmdAoJICAgIGxp
Ym5hbWU9YGV2YWwgXFwkZWNobyBcIiRsaWJuYW1lX3NwZWNcImAKCSAgICAjIHVzZSBkbG5hbWUg
aWYgd2UgZ290IGl0LiBpdCdzIHBlcmZlY3RseSBnb29kLCBubz8KCSAgICBpZiB0ZXN0IC1uICIk
ZGxuYW1lIjsgdGhlbgoJICAgICAgc29uYW1lPSIkZGxuYW1lIgoJICAgIGVsaWYgdGVzdCAtbiAi
JHNvbmFtZV9zcGVjIjsgdGhlbgoJICAgICAgIyBibGVoIHdpbmRvd3MKCSAgICAgIGNhc2UgJGhv
c3QgaW4KCSAgICAgICpjeWd3aW4qIHwgbWluZ3cqKQoJCW1ham9yPWBleHByICRjdXJyZW50IC0g
JGFnZWAKCQl2ZXJzdWZmaXg9Ii0kbWFqb3IiCgkJOzsKCSAgICAgIGVzYWMKCSAgICAgIGV2YWwg
c29uYW1lPVwiJHNvbmFtZV9zcGVjXCIKCSAgICBlbHNlCgkgICAgICBzb25hbWU9IiRyZWFsbmFt
ZSIKCSAgICBmaQoKCSAgICAjIE1ha2UgYSBuZXcgbmFtZSBmb3IgdGhlIGV4dHJhY3RfZXhwc3lt
c19jbWRzIHRvIHVzZQoJICAgIHNvcm9vdD0iJHNvbmFtZSIKCSAgICBzb25hbWU9YCRlY2hvICRz
b3Jvb3QgfCAke1NFRH0gLWUgJ3MvXi4qXC8vLydgCgkgICAgbmV3bGliPSJsaWJpbXAtYCRlY2hv
ICRzb25hbWUgfCAke1NFRH0gJ3MvXmxpYi8vO3MvXC5kbGwkLy8nYC5hIgoKCSAgICAjIElmIHRo
ZSBsaWJyYXJ5IGhhcyBubyBleHBvcnQgbGlzdCwgdGhlbiBjcmVhdGUgb25lIG5vdwoJICAgIGlm
IHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRzb25hbWUtZGVmIjsgdGhlbiA6CgkgICAgZWxzZQoJ
ICAgICAgJHNob3cgImV4dHJhY3RpbmcgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBcYCRzb25h
bWUnIgoJICAgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCgkgICAgICBjbWRzPSRleHRyYWN0
X2V4cHN5bXNfY21kcwoJICAgICAgZm9yIGNtZCBpbiAkY21kczsgZG8KCQlJRlM9IiRzYXZlX2lm
cyIKCQlldmFsIGNtZD1cIiRjbWRcIgoJCSRzaG93ICIkY21kIgoJCSRydW4gZXZhbCAiJGNtZCIg
fHwgZXhpdCAkPwoJICAgICAgZG9uZQoJICAgICAgSUZTPSIkc2F2ZV9pZnMiCgkgICAgZmkKCgkg
ICAgIyBDcmVhdGUgJG5ld2xpYgoJICAgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRuZXds
aWIiOyB0aGVuIDo7IGVsc2UKCSAgICAgICRzaG93ICJnZW5lcmF0aW5nIGltcG9ydCBsaWJyYXJ5
IGZvciBcYCRzb25hbWUnIgoJICAgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCgkgICAgICBj
bWRzPSRvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcwoJICAgICAgZm9yIGNtZCBpbiAkY21k
czsgZG8KCQlJRlM9IiRzYXZlX2lmcyIKCQlldmFsIGNtZD1cIiRjbWRcIgoJCSRzaG93ICIkY21k
IgoJCSRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwoJICAgICAgZG9uZQoJICAgICAgSUZTPSIk
c2F2ZV9pZnMiCgkgICAgZmkKCSAgICAjIG1ha2Ugc3VyZSB0aGUgbGlicmFyeSB2YXJpYWJsZXMg
YXJlIHBvaW50aW5nIHRvIHRoZSBuZXcgbGlicmFyeQoJICAgIGRpcj0kb3V0cHV0X29iamRpcgoJ
ICAgIGxpbmtsaWI9JG5ld2xpYgoJICBmaSAjIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX2V4
cHN5bXNfY21kcyIKCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nIHx8IHRlc3QgIiRtb2Rl
IiAhPSByZWxpbms7IHRoZW4KCSAgICBhZGRfc2hsaWJwYXRoPQoJICAgIGFkZF9kaXI9CgkgICAg
YWRkPQoJICAgIGxpYl9saW5rZWQ9eWVzCgkgICAgY2FzZSAkaGFyZGNvZGVfYWN0aW9uIGluCgkg
ICAgaW1tZWRpYXRlIHwgdW5zdXBwb3J0ZWQpCgkgICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGly
ZWN0IiA9IG5vOyB0aGVuCgkJYWRkPSIkZGlyLyRsaW5rbGliIgoJCWNhc2UgJGhvc3QgaW4KCQkg
ICotKi1zY28zLjJ2NSogKSBhZGRfZGlyPSItTCRkaXIiIDs7CgkJICAqLSotZGFyd2luKiApCgkJ
ICAgICMgaWYgdGhlIGxpYiBpcyBhIG1vZHVsZSB0aGVuIHdlIGNhbiBub3QgbGluayBhZ2FpbnN0
CgkJICAgICMgaXQsIHNvbWVvbmUgaXMgaWdub3JpbmcgdGhlIG5ldyB3YXJuaW5ncyBJIGFkZGVk
CgkJICAgIGlmIC91c3IvYmluL2ZpbGUgLUwgJGFkZCAyPiAvZGV2L251bGwgfCAkRUdSRVAgImJ1
bmRsZSIgPi9kZXYvbnVsbCA7IHRoZW4KCQkgICAgICAkZWNobyAiKiogV2FybmluZywgbGliICRs
aW5rbGliIGlzIGEgbW9kdWxlLCBub3QgYSBzaGFyZWQgbGlicmFyeSIKCQkgICAgICBpZiB0ZXN0
IC16ICIkb2xkX2xpYnJhcnkiIDsgdGhlbgoJCSAgICAgICAgJGVjaG8KCQkgICAgICAgICRlY2hv
ICIqKiBBbmQgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgc3RhdGljIGFyY2hpdmUgYXZhaWxh
YmxlIgoJCSAgICAgICAgJGVjaG8gIioqIFRoZSBsaW5rIHdpbGwgcHJvYmFibHkgZmFpbCwgc29y
cnkiCgkJICAgICAgZWxzZQoJCSAgICAgICAgYWRkPSIkZGlyLyRvbGRfbGlicmFyeSIKCQkgICAg
ICBmaQoJCSAgICBmaQoJCWVzYWMKCSAgICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX21pbnVzX0wi
ID0gbm87IHRoZW4KCQljYXNlICRob3N0IGluCgkJKi0qLXN1bm9zKikgYWRkX3NobGlicGF0aD0i
JGRpciIgOzsKCQllc2FjCgkJYWRkX2Rpcj0iLUwkZGlyIgoJCWFkZD0iLWwkbmFtZSIKCSAgICAg
IGVsaWYgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0gbm87IHRoZW4KCQlhZGRfc2hs
aWJwYXRoPSIkZGlyIgoJCWFkZD0iLWwkbmFtZSIKCSAgICAgIGVsc2UKCQlsaWJfbGlua2VkPW5v
CgkgICAgICBmaQoJICAgICAgOzsKCSAgICByZWxpbmspCgkgICAgICBpZiB0ZXN0ICIkaGFyZGNv
ZGVfZGlyZWN0IiA9IHllczsgdGhlbgoJCWFkZD0iJGRpci8kbGlua2xpYiIKCSAgICAgIGVsaWYg
dGVzdCAiJGhhcmRjb2RlX21pbnVzX0wiID0geWVzOyB0aGVuCgkJYWRkX2Rpcj0iLUwkZGlyIgoJ
CSMgVHJ5IGxvb2tpbmcgZmlyc3QgaW4gdGhlIGxvY2F0aW9uIHdlJ3JlIGJlaW5nIGluc3RhbGxl
ZCB0by4KCQlpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgoJCSAgY2FzZSAiJGxp
YmRpciIgaW4KCQkgICAgW1xcL10qKQoJCSAgICAgIGFkZF9kaXI9IiRhZGRfZGlyIC1MJGluc3Rf
cHJlZml4X2RpciRsaWJkaXIiCgkJICAgICAgOzsKCQkgIGVzYWMKCQlmaQoJCWFkZD0iLWwkbmFt
ZSIKCSAgICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0aGVu
CgkJYWRkX3NobGlicGF0aD0iJGRpciIKCQlhZGQ9Ii1sJG5hbWUiCgkgICAgICBlbHNlCgkJbGli
X2xpbmtlZD1ubwoJICAgICAgZmkKCSAgICAgIDs7CgkgICAgKikgbGliX2xpbmtlZD1ubyA7OwoJ
ICAgIGVzYWMKCgkgICAgaWYgdGVzdCAiJGxpYl9saW5rZWQiICE9IHllczsgdGhlbgoJICAgICAg
JGVjaG8gIiRtb2RlbmFtZTogY29uZmlndXJhdGlvbiBlcnJvcjogdW5zdXBwb3J0ZWQgaGFyZGNv
ZGUgcHJvcGVydGllcyIKCSAgICAgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICAgIGZpCgoJICAgIGlm
IHRlc3QgLW4gIiRhZGRfc2hsaWJwYXRoIjsgdGhlbgoJICAgICAgY2FzZSA6JGNvbXBpbGVfc2hs
aWJwYXRoOiBpbgoJICAgICAgKiI6JGFkZF9zaGxpYnBhdGg6IiopIDs7CgkgICAgICAqKSBjb21w
aWxlX3NobGlicGF0aD0iJGNvbXBpbGVfc2hsaWJwYXRoJGFkZF9zaGxpYnBhdGg6IiA7OwoJICAg
ICAgZXNhYwoJICAgIGZpCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCSAg
ICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBjb21waWxlX2RlcGxpYnM9IiRhZGRfZGlyICRjb21w
aWxlX2RlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBjb21waWxlX2RlcGxpYnM9IiRh
ZGQgJGNvbXBpbGVfZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICB0ZXN0IC1uICIkYWRkX2RpciIg
JiYgZGVwbGlicz0iJGFkZF9kaXIgJGRlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBk
ZXBsaWJzPSIkYWRkICRkZXBsaWJzIgoJICAgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIg
IT0geWVzICYmIFwKCQkgdGVzdCAiJGhhcmRjb2RlX21pbnVzX0wiICE9IHllcyAmJiBcCgkJIHRl
c3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHllczsgdGhlbgoJCWNhc2UgOiRmaW5hbGl6
ZV9zaGxpYnBhdGg6IGluCgkJKiI6JGxpYmRpcjoiKikgOzsKCQkqKSBmaW5hbGl6ZV9zaGxpYnBh
dGg9IiRmaW5hbGl6ZV9zaGxpYnBhdGgkbGliZGlyOiIgOzsKCQllc2FjCgkgICAgICBmaQoJICAg
IGZpCgkgIGZpCgoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyB8fCB0ZXN0ICIkbW9kZSIg
PSByZWxpbms7IHRoZW4KCSAgICBhZGRfc2hsaWJwYXRoPQoJICAgIGFkZF9kaXI9CgkgICAgYWRk
PQoJICAgICMgRmluYWxpemUgY29tbWFuZCBmb3IgYm90aCBpcyBzaW1wbGU6IGp1c3QgaGFyZGNv
ZGUgaXQuCgkgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXM7IHRoZW4KCSAgICAg
IGFkZD0iJGxpYmRpci8kbGlua2xpYiIKCSAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9taW51c19M
IiA9IHllczsgdGhlbgoJICAgICAgYWRkX2Rpcj0iLUwkbGliZGlyIgoJICAgICAgYWRkPSItbCRu
YW1lIgoJICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0aGVu
CgkgICAgICBjYXNlIDokZmluYWxpemVfc2hsaWJwYXRoOiBpbgoJICAgICAgKiI6JGxpYmRpcjoi
KikgOzsKCSAgICAgICopIGZpbmFsaXplX3NobGlicGF0aD0iJGZpbmFsaXplX3NobGlicGF0aCRs
aWJkaXI6IiA7OwoJICAgICAgZXNhYwoJICAgICAgYWRkPSItbCRuYW1lIgoJICAgIGVsaWYgdGVz
dCAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgPSB5ZXM7IHRoZW4KCSAgICAgIGlmIHRlc3QgLW4gIiRp
bnN0X3ByZWZpeF9kaXIiICYmCgkJIHRlc3QgLWYgIiRpbnN0X3ByZWZpeF9kaXIkbGliZGlyLyRs
aW5rbGliIiA7IHRoZW4KCSAgICAgICAgYWRkPSIkaW5zdF9wcmVmaXhfZGlyJGxpYmRpci8kbGlu
a2xpYiIKCSAgICAgIGVsc2UKCSAgICAgICAgYWRkPSIkbGliZGlyLyRsaW5rbGliIgoJICAgICAg
ZmkKCSAgICBlbHNlCgkgICAgICAjIFdlIGNhbm5vdCBzZWVtIHRvIGhhcmRjb2RlIGl0LCBndWVz
cyB3ZSdsbCBmYWtlIGl0LgoJICAgICAgYWRkX2Rpcj0iLUwkbGliZGlyIgoJICAgICAgIyBUcnkg
bG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgoJ
ICAgICAgaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7IHRoZW4KCQljYXNlICIkbGliZGly
IiBpbgoJCSAgW1xcL10qKQoJCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9k
aXIkbGliZGlyIgoJCSAgICA7OwoJCWVzYWMKCSAgICAgIGZpCgkgICAgICBhZGQ9Ii1sJG5hbWUi
CgkgICAgZmkKCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCSAgICAgIHRl
c3QgLW4gIiRhZGRfZGlyIiAmJiBmaW5hbGl6ZV9kZXBsaWJzPSIkYWRkX2RpciAkZmluYWxpemVf
ZGVwbGlicyIKCSAgICAgIHRlc3QgLW4gIiRhZGQiICYmIGZpbmFsaXplX2RlcGxpYnM9IiRhZGQg
JGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgdGVzdCAtbiAiJGFkZF9kaXIiICYm
IGRlcGxpYnM9IiRhZGRfZGlyICRkZXBsaWJzIgoJICAgICAgdGVzdCAtbiAiJGFkZCIgJiYgZGVw
bGlicz0iJGFkZCAkZGVwbGlicyIKCSAgICBmaQoJICBmaQoJZWxpZiB0ZXN0ICIkbGlua21vZGUi
ID0gcHJvZzsgdGhlbgoJICAjIEhlcmUgd2UgYXNzdW1lIHRoYXQgb25lIG9mIGhhcmRjb2RlX2Rp
cmVjdCBvciBoYXJkY29kZV9taW51c19MCgkgICMgaXMgbm90IHVuc3VwcG9ydGVkLiAgVGhpcyBp
cyB2YWxpZCBvbiBhbGwga25vd24gc3RhdGljIGFuZAoJICAjIHNoYXJlZCBwbGF0Zm9ybXMuCgkg
IGlmIHRlc3QgIiRoYXJkY29kZV9kaXJlY3QiICE9IHVuc3VwcG9ydGVkOyB0aGVuCgkgICAgdGVz
dCAtbiAiJG9sZF9saWJyYXJ5IiAmJiBsaW5rbGliPSIkb2xkX2xpYnJhcnkiCgkgICAgY29tcGls
ZV9kZXBsaWJzPSIkZGlyLyRsaW5rbGliICRjb21waWxlX2RlcGxpYnMiCgkgICAgZmluYWxpemVf
ZGVwbGlicz0iJGRpci8kbGlua2xpYiAkZmluYWxpemVfZGVwbGlicyIKCSAgZWxzZQoJICAgIGNv
bXBpbGVfZGVwbGlicz0iLWwkbmFtZSAtTCRkaXIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICBmaW5h
bGl6ZV9kZXBsaWJzPSItbCRuYW1lIC1MJGRpciAkZmluYWxpemVfZGVwbGlicyIKCSAgZmkKCWVs
aWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCSAgIyBOb3QgYSBzaGFy
ZWQgbGlicmFyeQoJICBpZiB0ZXN0ICIkZGVwbGlic19jaGVja19tZXRob2QiICE9IHBhc3NfYWxs
OyB0aGVuCgkgICAgIyBXZSdyZSB0cnlpbmcgbGluayBhIHNoYXJlZCBsaWJyYXJ5IGFnYWluc3Qg
YSBzdGF0aWMgb25lCgkgICAgIyBidXQgdGhlIHN5c3RlbSBkb2Vzbid0IHN1cHBvcnQgaXQuCgoJ
ICAgICMgSnVzdCBwcmludCBhIHdhcm5pbmcgYW5kIGFkZCB0aGUgbGlicmFyeSB0byBkZXBlbmRl
bmN5X2xpYnMgc28KCSAgICAjIHRoYXQgdGhlIHByb2dyYW0gY2FuIGJlIGxpbmtlZCBhZ2FpbnN0
IHRoZSBzdGF0aWMgbGlicmFyeS4KCSAgICAkZWNobwoJICAgICRlY2hvICIqKiogV2FybmluZzog
VGhpcyBzeXN0ZW0gY2FuIG5vdCBsaW5rIHRvIHN0YXRpYyBsaWIgYXJjaGl2ZSAkbGliLiIKCSAg
ICAkZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFyeSBh
dXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKCSAgICAkZWNobyAiKioqIHlvdSBsaW5rIHRvIHRo
aXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCSAgICAk
ZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCB3aGljaCB5b3UgZG8gbm90
IGFwcGVhciB0byBoYXZlLiIKCSAgICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgoJICAg
ICAgJGVjaG8gIioqKiBCdXQgYXMgeW91IHRyeSB0byBidWlsZCBhIG1vZHVsZSBsaWJyYXJ5LCBs
aWJ0b29sIHdpbGwgc3RpbGwgY3JlYXRlICIKCSAgICAgICRlY2hvICIqKiogYSBzdGF0aWMgbW9k
dWxlLCB0aGF0IHNob3VsZCB3b3JrIGFzIGxvbmcgYXMgdGhlIGRsb3BlbmluZyBhcHBsaWNhdGlv
biIKCSAgICAgICRlY2hvICIqKiogaXMgbGlua2VkIHdpdGggdGhlIC1kbG9wZW4gZmxhZyB0byBy
ZXNvbHZlIHN5bWJvbHMgYXQgcnVudGltZS4iCgkgICAgICBpZiB0ZXN0IC16ICIkZ2xvYmFsX3N5
bWJvbF9waXBlIjsgdGhlbgoJCSRlY2hvCgkJJGVjaG8gIioqKiBIb3dldmVyLCB0aGlzIHdvdWxk
IG9ubHkgd29yayBpZiBsaWJ0b29sIHdhcyBhYmxlIHRvIGV4dHJhY3Qgc3ltYm9sIgoJCSRlY2hv
ICIqKiogbGlzdHMgZnJvbSBhIHByb2dyYW0sIHVzaW5nIFxgbm0nIG9yIGVxdWl2YWxlbnQsIGJ1
dCBsaWJ0b29sIGNvdWxkIgoJCSRlY2hvICIqKiogbm90IGZpbmQgc3VjaCBhIHByb2dyYW0uICBT
bywgdGhpcyBtb2R1bGUgaXMgcHJvYmFibHkgdXNlbGVzcy4iCgkJJGVjaG8gIioqKiBcYG5tJyBm
cm9tIEdOVSBiaW51dGlscyBhbmQgYSBmdWxsIHJlYnVpbGQgbWF5IGhlbHAuIgoJICAgICAgZmkK
CSAgICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBubzsgdGhlbgoJCWJ1aWxkX2xpYnRv
b2xfbGlicz1tb2R1bGUKCQlidWlsZF9vbGRfbGlicz15ZXMKCSAgICAgIGVsc2UKCQlidWlsZF9s
aWJ0b29sX2xpYnM9bm8KCSAgICAgIGZpCgkgICAgZmkKCSAgZWxzZQoJICAgIGNvbnZlbmllbmNl
PSIkY29udmVuaWVuY2UgJGRpci8kb2xkX2xpYnJhcnkiCgkgICAgb2xkX2NvbnZlbmllbmNlPSIk
b2xkX2NvbnZlbmllbmNlICRkaXIvJG9sZF9saWJyYXJ5IgoJICAgIGRlcGxpYnM9IiRkaXIvJG9s
ZF9saWJyYXJ5ICRkZXBsaWJzIgoJICAgIGxpbmtfc3RhdGljPXllcwoJICBmaQoJZmkgIyBsaW5r
IHNoYXJlZC9zdGF0aWMgbGlicmFyeT8KCglpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliOyB0aGVu
CgkgIGlmIHRlc3QgLW4gIiRkZXBlbmRlbmN5X2xpYnMiICYmCgkgICAgIHsgdGVzdCAiJGhhcmRj
b2RlX2ludG9fbGlicyIgIT0geWVzIHx8CgkgICAgICAgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9
IHllcyB8fAoJICAgICAgIHRlc3QgIiRsaW5rX3N0YXRpYyIgPSB5ZXM7IH07IHRoZW4KCSAgICAj
IEV4dHJhY3QgLVIgZnJvbSBkZXBlbmRlbmN5X2xpYnMKCSAgICB0ZW1wX2RlcGxpYnM9CgkgICAg
Zm9yIGxpYmRpciBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgICAgY2FzZSAkbGliZGlyIGlu
CgkgICAgICAtUiopIHRlbXBfeHJwYXRoPWAkZWNobyAiWCRsaWJkaXIiIHwgJFhzZWQgLWUgJ3Mv
Xi1SLy8nYAoJCSAgIGNhc2UgIiAkeHJwYXRoICIgaW4KCQkgICAqIiAkdGVtcF94cnBhdGggIiop
IDs7CgkJICAgKikgeHJwYXRoPSIkeHJwYXRoICR0ZW1wX3hycGF0aCI7OwoJCSAgIGVzYWM7OwoJ
ICAgICAgKikgdGVtcF9kZXBsaWJzPSIkdGVtcF9kZXBsaWJzICRsaWJkaXIiOzsKCSAgICAgIGVz
YWMKCSAgICBkb25lCgkgICAgZGVwZW5kZW5jeV9saWJzPSIkdGVtcF9kZXBsaWJzIgoJICBmaQoK
CSAgbmV3bGliX3NlYXJjaF9wYXRoPSIkbmV3bGliX3NlYXJjaF9wYXRoICRhYnNkaXIiCgkgICMg
TGluayBhZ2FpbnN0IHRoaXMgbGlicmFyeQoJICB0ZXN0ICIkbGlua19zdGF0aWMiID0gbm8gJiYg
bmV3ZGVwZW5kZW5jeV9saWJzPSIkYWJzX2xhZGlyLyRsYW5hbWUgJG5ld2RlcGVuZGVuY3lfbGli
cyIKCSAgIyAuLi4gYW5kIGl0cyBkZXBlbmRlbmN5X2xpYnMKCSAgdG1wX2xpYnM9CgkgIGZvciBk
ZXBsaWIgaW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBuZXdkZXBlbmRlbmN5X2xpYnM9IiRk
ZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIKCSAgICBpZiB0ZXN0ICJYJGR1cGxpY2F0ZV9kZXBz
IiA9ICJYeWVzIiA7IHRoZW4KCSAgICAgIGNhc2UgIiR0bXBfbGlicyAiIGluCgkgICAgICAqIiAk
ZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicz0iJHNwZWNpYWxkZXBsaWJzICRkZXBsaWIiIDs7Cgkg
ICAgICBlc2FjCgkgICAgZmkKCSAgICB0bXBfbGlicz0iJHRtcF9saWJzICRkZXBsaWIiCgkgIGRv
bmUKCgkgIGlmIHRlc3QgIiRsaW5rX2FsbF9kZXBsaWJzIiAhPSBubzsgdGhlbgoJICAgICMgQWRk
IHRoZSBzZWFyY2ggcGF0aHMgb2YgYWxsIGRlcGVuZGVuY3kgbGlicmFyaWVzCgkgICAgZm9yIGRl
cGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgICAgY2FzZSAkZGVwbGliIGluCgkgICAg
ICAtTCopIHBhdGg9IiRkZXBsaWIiIDs7CgkgICAgICAqLmxhKQoJCWRpcj1gJGVjaG8gIlgkZGVw
bGliIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCgkJdGVzdCAiWCRkaXIiID0gIlgkZGVwbGli
IiAmJiBkaXI9Ii4iCgkJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgkJY2FzZSAkZGlyIGlu
CgkJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSBhYnNkaXI9IiRkaXIiIDs7CgkJKikKCQkgIGFi
c2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAKCQkgIGlmIHRlc3QgLXogIiRhYnNkaXIiOyB0aGVuCgkJ
ICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5vdCBkZXRlcm1pbmUgYWJzb2x1dGUg
ZGlyZWN0b3J5IG5hbWUgb2YgXGAkZGlyJyIgMT4mMgoJCSAgICBhYnNkaXI9IiRkaXIiCgkJICBm
aQoJCSAgOzsKCQllc2FjCgkJaWYgZ3JlcCAiXmluc3RhbGxlZD1ubyIgJGRlcGxpYiA+IC9kZXYv
bnVsbDsgdGhlbgoJCSAgcGF0aD0iJGFic2Rpci8kb2JqZGlyIgoJCWVsc2UKCQkgIGV2YWwgbGli
ZGlyPWAke1NFRH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRkZXBsaWJgCgkJICBp
ZiB0ZXN0IC16ICIkbGliZGlyIjsgdGhlbgoJCSAgICAkZWNobyAiJG1vZGVuYW1lOiBcYCRkZXBs
aWInIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIgMT4mMgoJCSAgICBleGl0ICRFWElU
X0ZBSUxVUkUKCQkgIGZpCgkJICBpZiB0ZXN0ICIkYWJzZGlyIiAhPSAiJGxpYmRpciI7IHRoZW4K
CQkgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAkZGVwbGliJyBzZWVtcyB0byBiZSBt
b3ZlZCIgMT4mMgoJCSAgZmkKCQkgIHBhdGg9IiRhYnNkaXIiCgkJZmkKCQlkZXBkZXBsPQoJCWNh
c2UgJGhvc3QgaW4KCQkqLSotZGFyd2luKikKCQkgICMgd2UgZG8gbm90IHdhbnQgdG8gbGluayBh
Z2FpbnN0IHN0YXRpYyBsaWJzLAoJCSAgIyBidXQgbmVlZCB0byBsaW5rIGFnYWluc3Qgc2hhcmVk
CgkJICBldmFsIGRlcGxpYnJhcnlfbmFtZXM9YCR7U0VEfSAtbiAtZSAncy9ebGlicmFyeV9uYW1l
cz1cKC4qXCkkL1wxL3AnICRkZXBsaWJgCgkJICBpZiB0ZXN0IC1uICIkZGVwbGlicmFyeV9uYW1l
cyIgOyB0aGVuCgkJICAgIGZvciB0bXAgaW4gJGRlcGxpYnJhcnlfbmFtZXMgOyBkbwoJCSAgICAg
IGRlcGRlcGw9JHRtcAoJCSAgICBkb25lCgkJICAgIGlmIHRlc3QgLWYgIiRwYXRoLyRkZXBkZXBs
IiA7IHRoZW4KCQkgICAgICBkZXBkZXBsPSIkcGF0aC8kZGVwZGVwbCIKCQkgICAgZmkKCQkgICAg
IyBkbyBub3QgYWRkIHBhdGhzIHdoaWNoIGFyZSBhbHJlYWR5IHRoZXJlCgkJICAgIGNhc2UgIiAk
bmV3bGliX3NlYXJjaF9wYXRoICIgaW4KCQkgICAgKiIgJHBhdGggIiopIDs7CgkJICAgICopIG5l
d2xpYl9zZWFyY2hfcGF0aD0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkcGF0aCI7OwoJCSAgICBlc2Fj
CgkJICBmaQoJCSAgcGF0aD0iIgoJCSAgOzsKCQkqKQoJCSAgcGF0aD0iLUwkcGF0aCIKCQkgIDs7
CgkJZXNhYwoJCTs7CgkgICAgICAtbCopCgkJY2FzZSAkaG9zdCBpbgoJCSotKi1kYXJ3aW4qKQoJ
CSAgIyBBZ2Fpbiwgd2Ugb25seSB3YW50IHRvIGxpbmsgYWdhaW5zdCBzaGFyZWQgbGlicmFyaWVz
CgkJICBldmFsIHRtcF9saWJzPWAkZWNobyAiWCRkZXBsaWIiIHwgJFhzZWQgLWUgInMsXlwtbCws
ImAKCQkgIGZvciB0bXAgaW4gJG5ld2xpYl9zZWFyY2hfcGF0aCA7IGRvCgkJICAgIGlmIHRlc3Qg
LWYgIiR0bXAvbGliJHRtcF9saWJzLmR5bGliIiA7IHRoZW4KCQkgICAgICBldmFsIGRlcGRlcGw9
IiR0bXAvbGliJHRtcF9saWJzLmR5bGliIgoJCSAgICAgIGJyZWFrCgkJICAgIGZpCgkJICBkb25l
CgkJICBwYXRoPSIiCgkJICA7OwoJCSopIGNvbnRpbnVlIDs7CgkJZXNhYwoJCTs7CgkgICAgICAq
KSBjb250aW51ZSA7OwoJICAgICAgZXNhYwoJICAgICAgY2FzZSAiICRkZXBsaWJzICIgaW4KCSAg
ICAgICoiICRkZXBkZXBsICIqKSA7OwoJICAgICAgKikgZGVwbGlicz0iJGRlcGRlcGwgJGRlcGxp
YnMiIDs7CgkgICAgICBlc2FjCgkgICAgICBjYXNlICIgJGRlcGxpYnMgIiBpbgoJICAgICAgKiIg
JHBhdGggIiopIDs7CgkgICAgICAqKSBkZXBsaWJzPSIkZGVwbGlicyAkcGF0aCIgOzsKCSAgICAg
IGVzYWMKCSAgICBkb25lCgkgIGZpICMgbGlua19hbGxfZGVwbGlicyAhPSBubwoJZmkgIyBsaW5r
bW9kZSA9IGxpYgogICAgICBkb25lICMgZm9yIGRlcGxpYiBpbiAkbGlicwogICAgICBkZXBlbmRl
bmN5X2xpYnM9IiRuZXdkZXBlbmRlbmN5X2xpYnMiCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRs
cHJlb3BlbjsgdGhlbgoJIyBMaW5rIHRoZSBkbHByZW9wZW5lZCBsaWJyYXJpZXMgYmVmb3JlIG90
aGVyIGxpYnJhcmllcwoJZm9yIGRlcGxpYiBpbiAkc2F2ZV9kZXBsaWJzOyBkbwoJICBkZXBsaWJz
PSIkZGVwbGliICRkZXBsaWJzIgoJZG9uZQogICAgICBmaQogICAgICBpZiB0ZXN0ICIkcGFzcyIg
IT0gZGxvcGVuOyB0aGVuCglpZiB0ZXN0ICIkcGFzcyIgIT0gY29udjsgdGhlbgoJICAjIE1ha2Ug
c3VyZSBsaWJfc2VhcmNoX3BhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMuCgkg
IGxpYl9zZWFyY2hfcGF0aD0KCSAgZm9yIGRpciBpbiAkbmV3bGliX3NlYXJjaF9wYXRoOyBkbwoJ
ICAgIGNhc2UgIiRsaWJfc2VhcmNoX3BhdGggIiBpbgoJICAgICoiICRkaXIgIiopIDs7CgkgICAg
KikgbGliX3NlYXJjaF9wYXRoPSIkbGliX3NlYXJjaF9wYXRoICRkaXIiIDs7CgkgICAgZXNhYwoJ
ICBkb25lCgkgIG5ld2xpYl9zZWFyY2hfcGF0aD0KCWZpCgoJaWYgdGVzdCAiJGxpbmttb2RlLCRw
YXNzIiAhPSAicHJvZyxsaW5rIjsgdGhlbgoJICB2YXJzPSJkZXBsaWJzIgoJZWxzZQoJICB2YXJz
PSJjb21waWxlX2RlcGxpYnMgZmluYWxpemVfZGVwbGlicyIKCWZpCglmb3IgdmFyIGluICR2YXJz
IGRlcGVuZGVuY3lfbGliczsgZG8KCSAgIyBBZGQgbGlicmFyaWVzIHRvICR2YXIgaW4gcmV2ZXJz
ZSBvcmRlcgoJICBldmFsIHRtcF9saWJzPVwiXCQkdmFyXCIKCSAgbmV3X2xpYnM9CgkgIGZvciBk
ZXBsaWIgaW4gJHRtcF9saWJzOyBkbwoJICAgICMgRklYTUU6IFBlZGFudGljYWxseSwgdGhpcyBp
cyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIHNvCgkgICAgIyAgICAgICAgdGhhdCBzb21lIG5hc3R5
IGRlcGVuZGVuY3kgbG9vcCBpc24ndCBhY2NpZGVudGFsbHkKCSAgICAjICAgICAgICBicm9rZW46
CgkgICAgI25ld19saWJzPSIkZGVwbGliICRuZXdfbGlicyIKCSAgICAjIFByYWdtYXRpY2FsbHks
IHRoaXMgc2VlbXMgdG8gY2F1c2UgdmVyeSBmZXcgcHJvYmxlbXMgaW4KCSAgICAjIHByYWN0aWNl
OgoJICAgIGNhc2UgJGRlcGxpYiBpbgoJICAgIC1MKikgbmV3X2xpYnM9IiRkZXBsaWIgJG5ld19s
aWJzIiA7OwoJICAgIC1SKikgOzsKCSAgICAqKQoJICAgICAgIyBBbmQgaGVyZSBpcyB0aGUgcmVh
c29uOiB3aGVuIGEgbGlicmFyeSBhcHBlYXJzIG1vcmUKCSAgICAgICMgdGhhbiBvbmNlIGFzIGFu
IGV4cGxpY2l0IGRlcGVuZGVuY2Ugb2YgYSBsaWJyYXJ5LCBvcgoJICAgICAgIyBpcyBpbXBsaWNp
dGx5IGxpbmtlZCBpbiBtb3JlIHRoYW4gb25jZSBieSB0aGUKCSAgICAgICMgY29tcGlsZXIsIGl0
IGlzIGNvbnNpZGVyZWQgc3BlY2lhbCwgYW5kIG11bHRpcGxlCgkgICAgICAjIG9jY3VycmVuY2Vz
IHRoZXJlb2YgYXJlIG5vdCByZW1vdmVkLiAgQ29tcGFyZSB0aGlzCgkgICAgICAjIHdpdGggaGF2
aW5nIHRoZSBzYW1lIGxpYnJhcnkgYmVpbmcgbGlzdGVkIGFzIGEKCSAgICAgICMgZGVwZW5kZW5j
eSBvZiBtdWx0aXBsZSBvdGhlciBsaWJyYXJpZXM6IGluIHRoaXMgY2FzZSwKCSAgICAgICMgd2Ug
a25vdyAocGVkYW50aWNhbGx5LCB3ZSBhc3N1bWUpIHRoZSBsaWJyYXJ5IGRvZXMgbm90CgkgICAg
ICAjIG5lZWQgdG8gYmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNlLCBzbyB3ZSBrZWVwIG9ubHkgdGhl
CgkgICAgICAjIGxhc3QgY29weS4gIFRoaXMgaXMgbm90IGFsd2F5cyByaWdodCwgYnV0IGl0IGlz
IHJhcmUKCSAgICAgICMgZW5vdWdoIHRoYXQgd2UgcmVxdWlyZSB1c2VycyB0aGF0IHJlYWxseSBt
ZWFuIHRvIHBsYXkKCSAgICAgICMgc3VjaCB1bnBvcnRhYmxlIGxpbmtpbmcgdHJpY2tzIHRvIGxp
bmsgdGhlIGxpYnJhcnkKCSAgICAgICMgdXNpbmcgLVdsLC1sbmFtZSwgc28gdGhhdCBsaWJ0b29s
IGRvZXMgbm90IGNvbnNpZGVyIGl0CgkgICAgICAjIGZvciBkdXBsaWNhdGUgcmVtb3ZhbC4KCSAg
ICAgIGNhc2UgIiAkc3BlY2lhbGRlcGxpYnMgIiBpbgoJICAgICAgKiIgJGRlcGxpYiAiKikgbmV3
X2xpYnM9IiRkZXBsaWIgJG5ld19saWJzIiA7OwoJICAgICAgKikKCQljYXNlICIgJG5ld19saWJz
ICIgaW4KCQkqIiAkZGVwbGliICIqKSA7OwoJCSopIG5ld19saWJzPSIkZGVwbGliICRuZXdfbGli
cyIgOzsKCQllc2FjCgkJOzsKCSAgICAgIGVzYWMKCSAgICAgIDs7CgkgICAgZXNhYwoJICBkb25l
CgkgIHRtcF9saWJzPQoJICBmb3IgZGVwbGliIGluICRuZXdfbGliczsgZG8KCSAgICBjYXNlICRk
ZXBsaWIgaW4KCSAgICAtTCopCgkgICAgICBjYXNlICIgJHRtcF9saWJzICIgaW4KCSAgICAgICoi
ICRkZXBsaWIgIiopIDs7CgkgICAgICAqKSB0bXBfbGlicz0iJHRtcF9saWJzICRkZXBsaWIiIDs7
CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAgICopIHRtcF9saWJzPSIkdG1wX2xpYnMgJGRlcGxp
YiIgOzsKCSAgICBlc2FjCgkgIGRvbmUKCSAgZXZhbCAkdmFyPVwiJHRtcF9saWJzXCIKCWRvbmUg
IyBmb3IgdmFyCiAgICAgIGZpCiAgICAgICMgTGFzdCBzdGVwOiByZW1vdmUgcnVudGltZSBsaWJz
IGZyb20gZGVwZW5kZW5jeV9saWJzCiAgICAgICMgKHRoZXkgc3RheSBpbiBkZXBsaWJzKQogICAg
ICB0bXBfbGlicz0KICAgICAgZm9yIGkgaW4gJGRlcGVuZGVuY3lfbGlicyA7IGRvCgljYXNlICIg
JHByZWRlcHMgJHBvc3RkZXBzICRjb21waWxlcl9saWJfc2VhcmNoX3BhdGggIiBpbgoJKiIgJGkg
IiopCgkgIGk9IiIKCSAgOzsKCWVzYWMKCWlmIHRlc3QgLW4gIiRpIiA7IHRoZW4KCSAgdG1wX2xp
YnM9IiR0bXBfbGlicyAkaSIKCWZpCiAgICAgIGRvbmUKICAgICAgZGVwZW5kZW5jeV9saWJzPSR0
bXBfbGlicwogICAgZG9uZSAjIGZvciBwYXNzCiAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJv
ZzsgdGhlbgogICAgICBkbGZpbGVzPSIkbmV3ZGxmaWxlcyIKICAgICAgZGxwcmVmaWxlcz0iJG5l
d2RscHJlZmlsZXMiCiAgICBmaQoKICAgIGNhc2UgJGxpbmttb2RlIGluCiAgICBvbGRsaWIpCiAg
ICAgIGlmIHRlc3QgLW4gIiRkZXBsaWJzIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2Fybmlu
ZzogXGAtbCcgYW5kIFxgLUwnIGFyZSBpZ25vcmVkIGZvciBhcmNoaXZlcyIgMT4mMgogICAgICBm
aQoKICAgICAgaWYgdGVzdCAtbiAiJGRsZmlsZXMkZGxwcmVmaWxlcyIgfHwgdGVzdCAiJGRsc2Vs
ZiIgIT0gbm87IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLWRsb3BlbicgaXMg
aWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRy
cGF0aCI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJwYXRoJyBpcyBpZ25v
cmVkIGZvciBhcmNoaXZlcyIgMT4mMgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHhycGF0
aCI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLVInIGlzIGlnbm9yZWQgZm9y
IGFyY2hpdmVzIiAxPiYyCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkdmluZm8iOyB0aGVu
CgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC12ZXJzaW9uLWluZm8vLXZlcnNpb24tbnVt
YmVyJyBpcyBpZ25vcmVkIGZvciBhcmNoaXZlcyIgMT4mMgogICAgICBmaQoKICAgICAgaWYgdGVz
dCAtbiAiJHJlbGVhc2UiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1yZWxl
YXNlJyBpcyBpZ25vcmVkIGZvciBhcmNoaXZlcyIgMT4mMgogICAgICBmaQoKICAgICAgaWYgdGVz
dCAtbiAiJGV4cG9ydF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgi
OyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1leHBvcnQtc3ltYm9scycgaXMg
aWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKICAgICAgZmkKCiAgICAgICMgTm93IHNldCB0aGUg
dmFyaWFibGVzIGZvciBidWlsZGluZyBvbGQgbGlicmFyaWVzLgogICAgICBidWlsZF9saWJ0b29s
X2xpYnM9bm8KICAgICAgb2xkbGlicz0iJG91dHB1dCIKICAgICAgb2Jqcz0iJG9ianMkb2xkX2Rl
cGxpYnMiCiAgICAgIDs7CgogICAgbGliKQogICAgICAjIE1ha2Ugc3VyZSB3ZSBvbmx5IGdlbmVy
YXRlIGxpYnJhcmllcyBvZiB0aGUgZm9ybSBgbGliTkFNRS5sYScuCiAgICAgIGNhc2UgJG91dHB1
dG5hbWUgaW4KICAgICAgbGliKikKCW5hbWU9YCRlY2hvICJYJG91dHB1dG5hbWUiIHwgJFhzZWQg
LWUgJ3MvXC5sYSQvLycgLWUgJ3MvXmxpYi8vJ2AKCWV2YWwgc2hhcmVkX2V4dD1cIiRzaHJleHRf
Y21kc1wiCglldmFsIGxpYm5hbWU9XCIkbGlibmFtZV9zcGVjXCIKCTs7CiAgICAgICopCglpZiB0
ZXN0ICIkbW9kdWxlIiA9IG5vOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IGxpYnRvb2wgbGli
cmFyeSBcYCRvdXRwdXQnIG11c3QgYmVnaW4gd2l0aCBcYGxpYiciIDE+JjIKCSAgJGVjaG8gIiRo
ZWxwIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJZmkKCWlmIHRlc3QgIiRuZWVkX2xpYl9w
cmVmaXgiICE9IG5vOyB0aGVuCgkgICMgQWRkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXMg
aWYgcmVxdWlyZWQKCSAgbmFtZT1gJGVjaG8gIlgkb3V0cHV0bmFtZSIgfCAkWHNlZCAtZSAncy9c
LmxhJC8vJ2AKCSAgZXZhbCBzaGFyZWRfZXh0PVwiJHNocmV4dF9jbWRzXCIKCSAgZXZhbCBsaWJu
YW1lPVwiJGxpYm5hbWVfc3BlY1wiCgllbHNlCgkgIGxpYm5hbWU9YCRlY2hvICJYJG91dHB1dG5h
bWUiIHwgJFhzZWQgLWUgJ3MvXC5sYSQvLydgCglmaQoJOzsKICAgICAgZXNhYwoKICAgICAgaWYg
dGVzdCAtbiAiJG9ianMiOyB0aGVuCglpZiB0ZXN0ICIkZGVwbGlic19jaGVja19tZXRob2QiICE9
IHBhc3NfYWxsOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBidWlsZCBsaWJ0b29s
IGxpYnJhcnkgXGAkb3V0cHV0JyBmcm9tIG5vbi1saWJ0b29sIG9iamVjdHMgb24gdGhpcyBob3N0
OiRvYmpzIiAyPiYxCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJZWxzZQoJICAkZWNobwoJICAkZWNo
byAiKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5ICRvdXRwdXQgYWdhaW5z
dCB0aGUgbm9uLWxpYnRvb2wiCgkgICRlY2hvICIqKiogb2JqZWN0cyAkb2JqcyBpcyBub3QgcG9y
dGFibGUhIgoJICBsaWJvYmpzPSIkbGlib2JqcyAkb2JqcyIKCWZpCiAgICAgIGZpCgogICAgICBp
ZiB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzog
XGAtZGxvcGVuIHNlbGYnIGlzIGlnbm9yZWQgZm9yIGxpYnRvb2wgbGlicmFyaWVzIiAxPiYyCiAg
ICAgIGZpCgogICAgICBzZXQgZHVtbXkgJHJwYXRoCiAgICAgIGlmIHRlc3QgIiQjIiAtZ3QgMjsg
dGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogaWdub3JpbmcgbXVsdGlwbGUgXGAtcnBh
dGgncyBmb3IgYSBsaWJ0b29sIGxpYnJhcnkiIDE+JjIKICAgICAgZmkKICAgICAgaW5zdGFsbF9s
aWJkaXI9IiQyIgoKICAgICAgb2xkbGlicz0KICAgICAgaWYgdGVzdCAteiAiJHJwYXRoIjsgdGhl
bgoJaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCSAgIyBCdWlsZGlu
ZyBhIGxpYnRvb2wgY29udmVuaWVuY2UgbGlicmFyeS4KCSAgIyBTb21lIGNvbXBpbGVycyBoYXZl
IHByb2JsZW1zIHdpdGggYSBgLmFsJyBleHRlbnNpb24gc28KCSAgIyBjb252ZW5pZW5jZSBsaWJy
YXJpZXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgZXh0ZW5zaW9uIGFuCgkgICMgYXJjaGl2ZSBub3Jt
YWxseSB3b3VsZC4KCSAgb2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCAk
b2xkbGlicyIKCSAgYnVpbGRfbGlidG9vbF9saWJzPWNvbnZlbmllbmNlCgkgIGJ1aWxkX29sZF9s
aWJzPXllcwoJZmkKCglpZiB0ZXN0IC1uICIkdmluZm8iOyB0aGVuCgkgICRlY2hvICIkbW9kZW5h
bWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5mby8tdmVyc2lvbi1udW1iZXInIGlzIGlnbm9yZWQg
Zm9yIGNvbnZlbmllbmNlIGxpYnJhcmllcyIgMT4mMgoJZmkKCglpZiB0ZXN0IC1uICIkcmVsZWFz
ZSI7IHRoZW4KCSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtcmVsZWFzZScgaXMgaWdu
b3JlZCBmb3IgY29udmVuaWVuY2UgbGlicmFyaWVzIiAxPiYyCglmaQogICAgICBlbHNlCgoJIyBQ
YXJzZSB0aGUgdmVyc2lvbiBpbmZvcm1hdGlvbiBhcmd1bWVudC4KCXNhdmVfaWZzPSIkSUZTIjsg
SUZTPSc6JwoJc2V0IGR1bW15ICR2aW5mbyAwIDAgMAoJSUZTPSIkc2F2ZV9pZnMiCgoJaWYgdGVz
dCAtbiAiJDgiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IHRvbyBtYW55IHBhcmFtZXRlcnMg
dG8gXGAtdmVyc2lvbi1pbmZvJyIgMT4mMgoJICAkZWNobyAiJGhlbHAiIDE+JjIKCSAgZXhpdCAk
RVhJVF9GQUlMVVJFCglmaQoKCSMgY29udmVydCBhYnNvbHV0ZSB2ZXJzaW9uIG51bWJlcnMgdG8g
bGlidG9vbCBhZ2VzCgkjIHRoaXMgcmV0YWlucyBjb21wYXRpYmlsaXR5IHdpdGggLmxhIGZpbGVz
IGFuZCBhdHRlbXB0cwoJIyB0byBtYWtlIHRoZSBjb2RlIGJlbG93IGEgYml0IG1vcmUgY29tcHJl
aGVuc2libGUKCgljYXNlICR2aW5mb19udW1iZXIgaW4KCXllcykKCSAgbnVtYmVyX21ham9yPSIk
MiIKCSAgbnVtYmVyX21pbm9yPSIkMyIKCSAgbnVtYmVyX3JldmlzaW9uPSIkNCIKCSAgIwoJICAj
IFRoZXJlIGFyZSByZWFsbHkgb25seSB0d28ga2luZHMgLS0gdGhvc2UgdGhhdAoJICAjIHVzZSB0
aGUgY3VycmVudCByZXZpc2lvbiBhcyB0aGUgbWFqb3IgdmVyc2lvbgoJICAjIGFuZCB0aG9zZSB0
aGF0IHN1YnRyYWN0IGFnZSBhbmQgdXNlIGFnZSBhcwoJICAjIGEgbWlub3IgdmVyc2lvbi4gIEJ1
dCwgdGhlbiB0aGVyZSBpcyBpcml4CgkgICMgd2hpY2ggaGFzIGFuIGV4dHJhIDEgYWRkZWQganVz
dCBmb3IgZnVuCgkgICMKCSAgY2FzZSAkdmVyc2lvbl90eXBlIGluCgkgIGRhcndpbnxsaW51eHxv
c2Z8d2luZG93cykKCSAgICBjdXJyZW50PWBleHByICRudW1iZXJfbWFqb3IgKyAkbnVtYmVyX21p
bm9yYAoJICAgIGFnZT0iJG51bWJlcl9taW5vciIKCSAgICByZXZpc2lvbj0iJG51bWJlcl9yZXZp
c2lvbiIKCSAgICA7OwoJICBmcmVlYnNkLWFvdXR8ZnJlZWJzZC1lbGZ8c3Vub3MpCgkgICAgY3Vy
cmVudD0iJG51bWJlcl9tYWpvciIKCSAgICByZXZpc2lvbj0iJG51bWJlcl9taW5vciIKCSAgICBh
Z2U9IjAiCgkgICAgOzsKCSAgaXJpeHxub25zdG9wdXgpCgkgICAgY3VycmVudD1gZXhwciAkbnVt
YmVyX21ham9yICsgJG51bWJlcl9taW5vciAtIDFgCgkgICAgYWdlPSIkbnVtYmVyX21pbm9yIgoJ
ICAgIHJldmlzaW9uPSIkbnVtYmVyX21pbm9yIgoJICAgIDs7CgkgIGVzYWMKCSAgOzsKCW5vKQoJ
ICBjdXJyZW50PSIkMiIKCSAgcmV2aXNpb249IiQzIgoJICBhZ2U9IiQ0IgoJICA7OwoJZXNhYwoK
CSMgQ2hlY2sgdGhhdCBlYWNoIG9mIHRoZSB0aGluZ3MgYXJlIHZhbGlkIG51bWJlcnMuCgljYXNl
ICRjdXJyZW50IGluCglbMC05XSopIDs7CgkqKQoJICAkZWNobyAiJG1vZGVuYW1lOiBDVVJSRU5U
IFxgJGN1cnJlbnQnIGlzIG5vdCBhIG5vbm5lZ2F0aXZlIGludGVnZXIiIDE+JjIKCSAgJGVjaG8g
IiRtb2RlbmFtZTogXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIiAx
PiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJICA7OwoJZXNhYwoKCWNhc2UgJHJldmlzaW9uIGlu
CglbMC05XSopIDs7CgkqKQoJICAkZWNobyAiJG1vZGVuYW1lOiBSRVZJU0lPTiBcYCRyZXZpc2lv
bicgaXMgbm90IGEgbm9ubmVnYXRpdmUgaW50ZWdlciIgMT4mMgoJICAkZWNobyAiJG1vZGVuYW1l
OiBcYCR2aW5mbycgaXMgbm90IHZhbGlkIHZlcnNpb24gaW5mb3JtYXRpb24iIDE+JjIKCSAgZXhp
dCAkRVhJVF9GQUlMVVJFCgkgIDs7Cgllc2FjCgoJY2FzZSAkYWdlIGluCglbMC05XSopIDs7Cgkq
KQoJICAkZWNobyAiJG1vZGVuYW1lOiBBR0UgXGAkYWdlJyBpcyBub3QgYSBub25uZWdhdGl2ZSBp
bnRlZ2VyIiAxPiYyCgkgICRlY2hvICIkbW9kZW5hbWU6IFxgJHZpbmZvJyBpcyBub3QgdmFsaWQg
dmVyc2lvbiBpbmZvcm1hdGlvbiIgMT4mMgoJICBleGl0ICRFWElUX0ZBSUxVUkUKCSAgOzsKCWVz
YWMKCglpZiB0ZXN0ICIkYWdlIiAtZ3QgIiRjdXJyZW50IjsgdGhlbgoJICAkZWNobyAiJG1vZGVu
YW1lOiBBR0UgXGAkYWdlJyBpcyBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnQgaW50ZXJmYWNlIG51
bWJlciBcYCRjdXJyZW50JyIgMT4mMgoJICAkZWNobyAiJG1vZGVuYW1lOiBcYCR2aW5mbycgaXMg
bm90IHZhbGlkIHZlcnNpb24gaW5mb3JtYXRpb24iIDE+JjIKCSAgZXhpdCAkRVhJVF9GQUlMVVJF
CglmaQoKCSMgQ2FsY3VsYXRlIHRoZSB2ZXJzaW9uIHZhcmlhYmxlcy4KCW1ham9yPQoJdmVyc3Vm
Zml4PQoJdmVyc3RyaW5nPQoJY2FzZSAkdmVyc2lvbl90eXBlIGluCglub25lKSA7OwoKCWRhcndp
bikKCSAgIyBMaWtlIExpbnV4LCBidXQgd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIGF2YWlsYWJs
ZSBpbgoJICAjIHZlcnN0cmluZyBmb3IgY29kaW5nIGl0IGludG8gdGhlIGxpYnJhcnkgaGVhZGVy
CgkgIG1ham9yPS5gZXhwciAkY3VycmVudCAtICRhZ2VgCgkgIHZlcnN1ZmZpeD0iJG1ham9yLiRh
Z2UuJHJldmlzaW9uIgoJICAjIERhcndpbiBsZCBkb2Vzbid0IGxpa2UgMCBmb3IgdGhlc2Ugb3B0
aW9ucy4uLgoJICBtaW5vcl9jdXJyZW50PWBleHByICRjdXJyZW50ICsgMWAKCSAgdmVyc3RyaW5n
PSIke3dsfS1jb21wYXRpYmlsaXR5X3ZlcnNpb24gJHt3bH0kbWlub3JfY3VycmVudCAke3dsfS1j
dXJyZW50X3ZlcnNpb24gJHt3bH0kbWlub3JfY3VycmVudC4kcmV2aXNpb24iCgkgIDs7CgoJZnJl
ZWJzZC1hb3V0KQoJICBtYWpvcj0iLiRjdXJyZW50IgoJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4k
cmV2aXNpb24iOwoJICA7OwoKCWZyZWVic2QtZWxmKQoJICBtYWpvcj0iLiRjdXJyZW50IgoJICB2
ZXJzdWZmaXg9Ii4kY3VycmVudCI7CgkgIDs7CgoJaXJpeCB8IG5vbnN0b3B1eCkKCSAgbWFqb3I9
YGV4cHIgJGN1cnJlbnQgLSAkYWdlICsgMWAKCgkgIGNhc2UgJHZlcnNpb25fdHlwZSBpbgoJICAg
IG5vbnN0b3B1eCkgdmVyc3RyaW5nX3ByZWZpeD1ub25zdG9wdXggOzsKCSAgICAqKSAgICAgICAg
IHZlcnN0cmluZ19wcmVmaXg9c2dpIDs7CgkgIGVzYWMKCSAgdmVyc3RyaW5nPSIkdmVyc3RyaW5n
X3ByZWZpeCRtYWpvci4kcmV2aXNpb24iCgoJICAjIEFkZCBpbiBhbGwgdGhlIGludGVyZmFjZXMg
dGhhdCB3ZSBhcmUgY29tcGF0aWJsZSB3aXRoLgoJICBsb29wPSRyZXZpc2lvbgoJICB3aGlsZSB0
ZXN0ICIkbG9vcCIgLW5lIDA7IGRvCgkgICAgaWZhY2U9YGV4cHIgJHJldmlzaW9uIC0gJGxvb3Bg
CgkgICAgbG9vcD1gZXhwciAkbG9vcCAtIDFgCgkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nX3By
ZWZpeCRtYWpvci4kaWZhY2U6JHZlcnN0cmluZyIKCSAgZG9uZQoKCSAgIyBCZWZvcmUgdGhpcyBw
b2ludCwgJG1ham9yIG11c3Qgbm90IGNvbnRhaW4gYC4nLgoJICBtYWpvcj0uJG1ham9yCgkgIHZl
cnN1ZmZpeD0iJG1ham9yLiRyZXZpc2lvbiIKCSAgOzsKCglsaW51eCkKCSAgbWFqb3I9LmBleHBy
ICRjdXJyZW50IC0gJGFnZWAKCSAgdmVyc3VmZml4PSIkbWFqb3IuJGFnZS4kcmV2aXNpb24iCgkg
IDs7CgoJb3NmKQoJICBtYWpvcj0uYGV4cHIgJGN1cnJlbnQgLSAkYWdlYAoJICB2ZXJzdWZmaXg9
Ii4kY3VycmVudC4kYWdlLiRyZXZpc2lvbiIKCSAgdmVyc3RyaW5nPSIkY3VycmVudC4kYWdlLiRy
ZXZpc2lvbiIKCgkgICMgQWRkIGluIGFsbCB0aGUgaW50ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21w
YXRpYmxlIHdpdGguCgkgIGxvb3A9JGFnZQoJICB3aGlsZSB0ZXN0ICIkbG9vcCIgLW5lIDA7IGRv
CgkgICAgaWZhY2U9YGV4cHIgJGN1cnJlbnQgLSAkbG9vcGAKCSAgICBsb29wPWBleHByICRsb29w
IC0gMWAKCSAgICB2ZXJzdHJpbmc9IiR2ZXJzdHJpbmc6JHtpZmFjZX0uMCIKCSAgZG9uZQoKCSAg
IyBNYWtlIGV4ZWN1dGFibGVzIGRlcGVuZCBvbiBvdXIgY3VycmVudCB2ZXJzaW9uLgoJICB2ZXJz
dHJpbmc9IiR2ZXJzdHJpbmc6JHtjdXJyZW50fS4wIgoJICA7OwoKCXN1bm9zKQoJICBtYWpvcj0i
LiRjdXJyZW50IgoJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kcmV2aXNpb24iCgkgIDs7CgoJd2lu
ZG93cykKCSAgIyBVc2UgJy0nIHJhdGhlciB0aGFuICcuJywgc2luY2Ugd2Ugb25seSB3YW50IG9u
ZQoJICAjIGV4dGVuc2lvbiBvbiBET1MgOC4zIGZpbGVzeXN0ZW1zLgoJICBtYWpvcj1gZXhwciAk
Y3VycmVudCAtICRhZ2VgCgkgIHZlcnN1ZmZpeD0iLSRtYWpvciIKCSAgOzsKCgkqKQoJICAkZWNo
byAiJG1vZGVuYW1lOiB1bmtub3duIGxpYnJhcnkgdmVyc2lvbiB0eXBlIFxgJHZlcnNpb25fdHlw
ZSciIDE+JjIKCSAgJGVjaG8gIkZhdGFsIGNvbmZpZ3VyYXRpb24gZXJyb3IuICBTZWUgdGhlICRQ
QUNLQUdFIGRvY3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJ
TFVSRQoJICA7OwoJZXNhYwoKCSMgQ2xlYXIgdGhlIHZlcnNpb24gaW5mbyBpZiB3ZSBkZWZhdWx0
ZWQsIGFuZCB0aGV5IHNwZWNpZmllZCBhIHJlbGVhc2UuCglpZiB0ZXN0IC16ICIkdmluZm8iICYm
IHRlc3QgLW4gIiRyZWxlYXNlIjsgdGhlbgoJICBtYWpvcj0KCSAgY2FzZSAkdmVyc2lvbl90eXBl
IGluCgkgIGRhcndpbikKCSAgICAjIHdlIGNhbid0IGNoZWNrIGZvciAiMC4wIiBpbiBhcmNoaXZl
X2NtZHMgZHVlIHRvIHF1b3RpbmcKCSAgICAjIHByb2JsZW1zLCBzbyB3ZSByZXNldCBpdCBjb21w
bGV0ZWx5CgkgICAgdmVyc3RyaW5nPQoJICAgIDs7CgkgICopCgkgICAgdmVyc3RyaW5nPSIwLjAi
CgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVuCgkg
ICAgdmVyc3VmZml4PQoJICBlbHNlCgkgICAgdmVyc3VmZml4PSIuMC4wIgoJICBmaQoJZmkKCgkj
IFJlbW92ZSB2ZXJzaW9uIGluZm8gZnJvbSBuYW1lIGlmIHZlcnNpb25pbmcgc2hvdWxkIGJlIGF2
b2lkZWQKCWlmIHRlc3QgIiRhdm9pZF92ZXJzaW9uIiA9IHllcyAmJiB0ZXN0ICIkbmVlZF92ZXJz
aW9uIiA9IG5vOyB0aGVuCgkgIG1ham9yPQoJICB2ZXJzdWZmaXg9CgkgIHZlcnN0cmluZz0iIgoJ
ZmkKCgkjIENoZWNrIHRvIHNlZSBpZiB0aGUgYXJjaGl2ZSB3aWxsIGhhdmUgdW5kZWZpbmVkIHN5
bWJvbHMuCglpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9IHllczsgdGhlbgoJICBpZiB0ZXN0
ICIkYWxsb3dfdW5kZWZpbmVkX2ZsYWciID0gdW5zdXBwb3J0ZWQ7IHRoZW4KCSAgICAkZWNobyAi
JG1vZGVuYW1lOiB3YXJuaW5nOiB1bmRlZmluZWQgc3ltYm9scyBub3QgYWxsb3dlZCBpbiAkaG9z
dCBzaGFyZWQgbGlicmFyaWVzIiAxPiYyCgkgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAg
YnVpbGRfb2xkX2xpYnM9eWVzCgkgIGZpCgllbHNlCgkgICMgRG9uJ3QgYWxsb3cgdW5kZWZpbmVk
IHN5bWJvbHMuCgkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPSIkbm9fdW5kZWZpbmVkX2ZsYWciCglm
aQogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJG1vZGUiICE9IHJlbGluazsgdGhlbgoJIyBSZW1v
dmUgb3VyIG91dHB1dHMsIGJ1dCBkb24ndCByZW1vdmUgb2JqZWN0IGZpbGVzIHNpbmNlIHRoZXkK
CSMgbWF5IGhhdmUgYmVlbiBjcmVhdGVkIHdoZW4gY29tcGlsaW5nIFBJQyBvYmplY3RzLgoJcmVt
b3ZlbGlzdD0KCXRlbXByZW1vdmVsaXN0PWAkZWNobyAiJG91dHB1dF9vYmpkaXIvKiJgCglmb3Ig
cCBpbiAkdGVtcHJlbW92ZWxpc3Q7IGRvCgkgIGNhc2UgJHAgaW4KCSAgICAqLiRvYmpleHQpCgkg
ICAgICAgOzsKCSAgICAkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSB8ICRvdXRwdXRfb2JqZGly
LyRsaWJuYW1lLiogfCAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9JHtyZWxlYXNlfS4qKQoJICAg
ICAgIGlmIHRlc3QgIlgkcHJlY2lvdXNfZmlsZXNfcmVnZXgiICE9ICJYIjsgdGhlbgoJICAgICAg
ICAgaWYgZWNobyAkcCB8ICRFR1JFUCAtZSAiJHByZWNpb3VzX2ZpbGVzX3JlZ2V4IiA+L2Rldi9u
dWxsIDI+JjEKCSAgICAgICAgIHRoZW4KCQkgICBjb250aW51ZQoJCSBmaQoJICAgICAgIGZpCgkg
ICAgICAgcmVtb3ZlbGlzdD0iJHJlbW92ZWxpc3QgJHAiCgkgICAgICAgOzsKCSAgICAqKSA7OwoJ
ICBlc2FjCglkb25lCglpZiB0ZXN0IC1uICIkcmVtb3ZlbGlzdCI7IHRoZW4KCSAgJHNob3cgIiR7
cm19ciAkcmVtb3ZlbGlzdCIKCSAgJHJ1biAke3JtfXIgJHJlbW92ZWxpc3QKCWZpCiAgICAgIGZp
CgogICAgICAjIE5vdyBzZXQgdGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcgb2xkIGxpYnJhcmll
cy4KICAgICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllcyAmJiB0ZXN0ICIkYnVpbGRf
bGlidG9vbF9saWJzIiAhPSBjb252ZW5pZW5jZSA7IHRoZW4KCW9sZGxpYnM9IiRvbGRsaWJzICRv
dXRwdXRfb2JqZGlyLyRsaWJuYW1lLiRsaWJleHQiCgoJIyBUcmFuc2Zvcm0gLmxvIGZpbGVzIHRv
IC5vIGZpbGVzLgoJb2xkb2Jqcz0iJG9ianMgImAkZWNobyAiWCRsaWJvYmpzIiB8ICRTUDJOTCB8
ICRYc2VkIC1lICcvXC4nJHtsaWJleHR9JyQvZCcgLWUgIiRsbzJvIiB8ICROTDJTUGAKICAgICAg
ZmkKCiAgICAgICMgRWxpbWluYXRlIGFsbCB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMuCiAgICAgIGZv
ciBwYXRoIGluICRub3RpbnN0X3BhdGg7IGRvCglsaWJfc2VhcmNoX3BhdGg9YCRlY2hvICIkbGli
X3NlYXJjaF9wYXRoICIgfCAke1NFRH0gLWUgJ3MlICRwYXRoICUgJWcnYAoJZGVwbGlicz1gJGVj
aG8gIiRkZXBsaWJzICIgfCAke1NFRH0gLWUgJ3MlIC1MJHBhdGggJSAlZydgCglkZXBlbmRlbmN5
X2xpYnM9YCRlY2hvICIkZGVwZW5kZW5jeV9saWJzICIgfCAke1NFRH0gLWUgJ3MlIC1MJHBhdGgg
JSAlZydgCiAgICAgIGRvbmUKCiAgICAgIGlmIHRlc3QgLW4gIiR4cnBhdGgiOyB0aGVuCgkjIElm
IHRoZSB1c2VyIHNwZWNpZmllZCBhbnkgcnBhdGggZmxhZ3MsIHRoZW4gYWRkIHRoZW0uCgl0ZW1w
X3hycGF0aD0KCWZvciBsaWJkaXIgaW4gJHhycGF0aDsgZG8KCSAgdGVtcF94cnBhdGg9IiR0ZW1w
X3hycGF0aCAtUiRsaWJkaXIiCgkgIGNhc2UgIiRmaW5hbGl6ZV9ycGF0aCAiIGluCgkgICoiICRs
aWJkaXIgIiopIDs7CgkgICopIGZpbmFsaXplX3JwYXRoPSIkZmluYWxpemVfcnBhdGggJGxpYmRp
ciIgOzsKCSAgZXNhYwoJZG9uZQoJaWYgdGVzdCAiJGhhcmRjb2RlX2ludG9fbGlicyIgIT0geWVz
IHx8IHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KCSAgZGVwZW5kZW5jeV9saWJz
PSIkdGVtcF94cnBhdGggJGRlcGVuZGVuY3lfbGlicyIKCWZpCiAgICAgIGZpCgogICAgICAjIE1h
a2Ugc3VyZSBkbGZpbGVzIGNvbnRhaW5zIG9ubHkgdW5pcXVlIGZpbGVzIHRoYXQgd29uJ3QgYmUg
ZGxwcmVvcGVuZWQKICAgICAgb2xkX2RsZmlsZXM9IiRkbGZpbGVzIgogICAgICBkbGZpbGVzPQog
ICAgICBmb3IgbGliIGluICRvbGRfZGxmaWxlczsgZG8KCWNhc2UgIiAkZGxwcmVmaWxlcyAkZGxm
aWxlcyAiIGluCgkqIiAkbGliICIqKSA7OwoJKikgZGxmaWxlcz0iJGRsZmlsZXMgJGxpYiIgOzsK
CWVzYWMKICAgICAgZG9uZQoKICAgICAgIyBNYWtlIHN1cmUgZGxwcmVmaWxlcyBjb250YWlucyBv
bmx5IHVuaXF1ZSBmaWxlcwogICAgICBvbGRfZGxwcmVmaWxlcz0iJGRscHJlZmlsZXMiCiAgICAg
IGRscHJlZmlsZXM9CiAgICAgIGZvciBsaWIgaW4gJG9sZF9kbHByZWZpbGVzOyBkbwoJY2FzZSAi
JGRscHJlZmlsZXMgIiBpbgoJKiIgJGxpYiAiKikgOzsKCSopIGRscHJlZmlsZXM9IiRkbHByZWZp
bGVzICRsaWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0
b29sX2xpYnMiID0geWVzOyB0aGVuCglpZiB0ZXN0IC1uICIkcnBhdGgiOyB0aGVuCgkgIGNhc2Ug
JGhvc3QgaW4KCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9z
MiogfCAqLSotYmVvcyopCgkgICAgIyB0aGVzZSBzeXN0ZW1zIGRvbid0IGFjdHVhbGx5IGhhdmUg
YSBjIGxpYnJhcnkgKGFzIHN1Y2gpIQoJICAgIDs7CgkgICotKi1yaGFwc29keSogfCAqLSotZGFy
d2luMS5bMDEyXSkKCSAgICAjIFJoYXBzb2R5IEMgbGlicmFyeSBpcyBpbiB0aGUgU3lzdGVtIGZy
YW1ld29yawoJICAgIGRlcGxpYnM9IiRkZXBsaWJzIC1mcmFtZXdvcmsgU3lzdGVtIgoJICAgIDs7
CgkgICotKi1uZXRic2QqKQoJICAgICMgRG9uJ3QgbGluayB3aXRoIGxpYmMgdW50aWwgdGhlIGEu
b3V0IGxkLnNvIGlzIGZpeGVkLgoJICAgIDs7CgkgICotKi1vcGVuYnNkKiB8ICotKi1mcmVlYnNk
KikKCSAgICAjIERvIG5vdCBpbmNsdWRlIGxpYmMgZHVlIHRvIHVzIGhhdmluZyBsaWJjL2xpYmNf
ci4KCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAgICA7OwogCSAgKikK
CSAgICAjIEFkZCBsaWJjIHRvIGRlcGxpYnMgb24gYWxsIG90aGVyIHN5c3RlbXMgaWYgbmVjZXNz
YXJ5LgoJICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX25lZWRfbGMiID0gInllcyI7IHRoZW4K
CSAgICAgIGRlcGxpYnM9IiRkZXBsaWJzIC1sYyIKCSAgICBmaQoJICAgIDs7CgkgIGVzYWMKCWZp
CgoJIyBUcmFuc2Zvcm0gZGVwbGlicyBpbnRvIG9ubHkgZGVwbGlicyB0aGF0IGNhbiBiZSBsaW5r
ZWQgaW4gc2hhcmVkLgoJbmFtZV9zYXZlPSRuYW1lCglsaWJuYW1lX3NhdmU9JGxpYm5hbWUKCXJl
bGVhc2Vfc2F2ZT0kcmVsZWFzZQoJdmVyc3VmZml4X3NhdmU9JHZlcnN1ZmZpeAoJbWFqb3Jfc2F2
ZT0kbWFqb3IKCSMgSSdtIG5vdCBzdXJlIGlmIEknbSB0cmVhdGluZyB0aGUgcmVsZWFzZSBjb3Jy
ZWN0bHkuICBJIHRoaW5rCgkjIHJlbGVhc2Ugc2hvdWxkIHNob3cgdXAgaW4gdGhlIC1sIChpZSAt
bGdtcDUpIHNvIHdlIGRvbid0IHdhbnQgdG8KCSMgYWRkIGl0IGluIHR3aWNlLiAgSXMgdGhhdCBj
b3JyZWN0PwoJcmVsZWFzZT0iIgoJdmVyc3VmZml4PSIiCgltYWpvcj0iIgoJbmV3ZGVwbGlicz0K
CWRyb3BwZWRkZXBzPW5vCgljYXNlICRkZXBsaWJzX2NoZWNrX21ldGhvZCBpbgoJcGFzc19hbGwp
CgkgICMgRG9uJ3QgY2hlY2sgZm9yIHNoYXJlZC9zdGF0aWMuICBFdmVyeXRoaW5nIHdvcmtzLgoJ
ICAjIFRoaXMgbWlnaHQgYmUgYSBsaXR0bGUgbmFpdmUuICBXZSBtaWdodCB3YW50IHRvIGNoZWNr
CgkgICMgd2hldGhlciB0aGUgbGlicmFyeSBleGlzdHMgb3Igbm90LiAgQnV0IHRoaXMgaXMgb24K
CSAgIyBvc2YzICYgb3NmNCBhbmQgSSdtIG5vdCByZWFsbHkgc3VyZS4uLiBKdXN0CgkgICMgaW1w
bGVtZW50aW5nIHdoYXQgd2FzIGFscmVhZHkgdGhlIGJlaGF2aW9yLgoJICBuZXdkZXBsaWJzPSRk
ZXBsaWJzCgkgIDs7Cgl0ZXN0X2NvbXBpbGUpCgkgICMgVGhpcyBjb2RlIHN0cmVzc2VzIHRoZSAi
bGlicmFyaWVzIGFyZSBwcm9ncmFtcyIgcGFyYWRpZ20gdG8gaXRzCgkgICMgbGltaXRzLiBNYXli
ZSBldmVuIGJyZWFrcyBpdC4gIFdlIGNvbXBpbGUgYSBwcm9ncmFtLCBsaW5raW5nIGl0CgkgICMg
YWdhaW5zdCB0aGUgZGVwbGlicyBhcyBhIHByb3h5IGZvciB0aGUgbGlicmFyeS4gIFRoZW4gd2Ug
Y2FuIGNoZWNrCgkgICMgd2hldGhlciB0aGV5IGxpbmtlZCBpbiBzdGF0aWNhbGx5IG9yIGR5bmFt
aWNhbGx5IHdpdGggbGRkLgoJICAkcm0gY29uZnRlc3QuYwoJICBjYXQgPiBjb25mdGVzdC5jIDw8
RU9GCgkgIGludCBtYWluKCkgeyByZXR1cm4gMDsgfQpFT0YKCSAgJHJtIGNvbmZ0ZXN0CgkgICRM
VENDIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGRlcGxpYnMKCSAgaWYgdGVzdCAiJD8iIC1lcSAw
IDsgdGhlbgoJICAgIGxkZF9vdXRwdXQ9YGxkZCBjb25mdGVzdGAKCSAgICBmb3IgaSBpbiAkZGVw
bGliczsgZG8KCSAgICAgIG5hbWU9ImBleHByICRpIDogJy1sXCguKlwpJ2AiCgkgICAgICAjIElm
ICRuYW1lIGlzIGVtcHR5IHdlIGFyZSBvcGVyYXRpbmcgb24gYSAtTCBhcmd1bWVudC4KICAgICAg
ICAgICAgICBpZiB0ZXN0ICIkbmFtZSIgIT0gIiIgJiYgdGVzdCAiJG5hbWUiIC1uZSAiMCI7IHRo
ZW4KCQlpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIg
PSAiWHllcyIgOyB0aGVuCgkJICBjYXNlICIgJHByZWRlcHMgJHBvc3RkZXBzICIgaW4KCQkgICoi
ICRpICIqKQoJCSAgICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKCQkgICAgaT0iIgoJCSAg
ICA7OwoJCSAgZXNhYwoJICAgICAgICBmaQoJCWlmIHRlc3QgLW4gIiRpIiA7IHRoZW4KCQkgIGxp
Ym5hbWU9YGV2YWwgXFwkZWNobyBcIiRsaWJuYW1lX3NwZWNcImAKCQkgIGRlcGxpYl9tYXRjaGVz
PWBldmFsIFxcJGVjaG8gXCIkbGlicmFyeV9uYW1lc19zcGVjXCJgCgkJICBzZXQgZHVtbXkgJGRl
cGxpYl9tYXRjaGVzCgkJICBkZXBsaWJfbWF0Y2g9JDIKCQkgIGlmIHRlc3QgYGV4cHIgIiRsZGRf
b3V0cHV0IiA6ICIuKiRkZXBsaWJfbWF0Y2giYCAtbmUgMCA7IHRoZW4KCQkgICAgbmV3ZGVwbGli
cz0iJG5ld2RlcGxpYnMgJGkiCgkJICBlbHNlCgkJICAgIGRyb3BwZWRkZXBzPXllcwoJCSAgICAk
ZWNobwoJCSAgICAkZWNobyAiKioqIFdhcm5pbmc6IGR5bmFtaWMgbGlua2VyIGRvZXMgbm90IGFj
Y2VwdCBuZWVkZWQgbGlicmFyeSAkaS4iCgkJICAgICRlY2hvICIqKiogSSBoYXZlIHRoZSBjYXBh
YmlsaXR5IHRvIG1ha2UgdGhhdCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgbGluayBpbiB3aGVuIgoJ
CSAgICAkZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5
IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQkgICAgJGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBv
ZiB0aGUgbGlicmFyeSwgd2hpY2ggSSBiZWxpZXZlIHlvdSBkbyBub3QgaGF2ZSIKCQkgICAgJGVj
aG8gIioqKiBiZWNhdXNlIGEgdGVzdF9jb21waWxlIGRpZCByZXZlYWwgdGhhdCB0aGUgbGlua2Vy
IGRpZCBub3QgdXNlIGl0IGZvciIKCQkgICAgJGVjaG8gIioqKiBpdHMgZHluYW1pYyBkZXBlbmRl
bmN5IGxpc3QgdGhhdCBwcm9ncmFtcyBnZXQgcmVzb2x2ZWQgd2l0aCBhdCBydW50aW1lLiIKCQkg
IGZpCgkJZmkKCSAgICAgIGVsc2UKCQluZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKCSAgICAg
IGZpCgkgICAgZG9uZQoJICBlbHNlCgkgICAgIyBFcnJvciBvY2N1cnJlZCBpbiB0aGUgZmlyc3Qg
Y29tcGlsZS4gIExldCdzIHRyeSB0byBzYWx2YWdlCgkgICAgIyB0aGUgc2l0dWF0aW9uOiBDb21w
aWxlIGEgc2VwYXJhdGUgcHJvZ3JhbSBmb3IgZWFjaCBsaWJyYXJ5LgoJICAgIGZvciBpIGluICRk
ZXBsaWJzOyBkbwoJICAgICAgbmFtZT0iYGV4cHIgJGkgOiAnLWxcKC4qXCknYCIKCSAgICAgICMg
SWYgJG5hbWUgaXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1MIGFyZ3VtZW50LgogICAg
ICAgICAgICAgIGlmIHRlc3QgIiRuYW1lIiAhPSAiIiAmJiB0ZXN0ICIkbmFtZSIgIT0gIjAiOyB0
aGVuCgkJJHJtIGNvbmZ0ZXN0CgkJJExUQ0MgLW8gY29uZnRlc3QgY29uZnRlc3QuYyAkaQoJCSMg
RGlkIGl0IHdvcms/CgkJaWYgdGVzdCAiJD8iIC1lcSAwIDsgdGhlbgoJCSAgbGRkX291dHB1dD1g
bGRkIGNvbmZ0ZXN0YAoJCSAgaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0
aWNfcnVudGltZXMiID0gIlh5ZXMiIDsgdGhlbgoJCSAgICBjYXNlICIgJHByZWRlcHMgJHBvc3Rk
ZXBzICIgaW4KCQkgICAgKiIgJGkgIiopCgkJICAgICAgbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMg
JGkiCgkJICAgICAgaT0iIgoJCSAgICAgIDs7CgkJICAgIGVzYWMKCQkgIGZpCgkJICBpZiB0ZXN0
IC1uICIkaSIgOyB0aGVuCgkJICAgIGxpYm5hbWU9YGV2YWwgXFwkZWNobyBcIiRsaWJuYW1lX3Nw
ZWNcImAKCQkgICAgZGVwbGliX21hdGNoZXM9YGV2YWwgXFwkZWNobyBcIiRsaWJyYXJ5X25hbWVz
X3NwZWNcImAKCQkgICAgc2V0IGR1bW15ICRkZXBsaWJfbWF0Y2hlcwoJCSAgICBkZXBsaWJfbWF0
Y2g9JDIKCQkgICAgaWYgdGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRj
aCJgIC1uZSAwIDsgdGhlbgoJCSAgICAgIG5ld2RlcGxpYnM9IiRuZXdkZXBsaWJzICRpIgoJCSAg
ICBlbHNlCgkJICAgICAgZHJvcHBlZGRlcHM9eWVzCgkJICAgICAgJGVjaG8KCQkgICAgICAkZWNo
byAiKioqIFdhcm5pbmc6IGR5bmFtaWMgbGlua2VyIGRvZXMgbm90IGFjY2VwdCBuZWVkZWQgbGli
cmFyeSAkaS4iCgkJICAgICAgJGVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFr
ZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkJICAgICAgJGVjaG8g
IioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlm
IHlvdSBoYXZlIGEiCgkJICAgICAgJGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGli
cmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSIKCQkgICAgICAkZWNobyAiKioq
IGJlY2F1c2UgYSB0ZXN0X2NvbXBpbGUgZGlkIHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5v
dCB1c2UgdGhpcyBvbmUiCgkJICAgICAgJGVjaG8gIioqKiBhcyBhIGR5bmFtaWMgZGVwZW5kZW5j
eSB0aGF0IHByb2dyYW1zIGNhbiBnZXQgcmVzb2x2ZWQgd2l0aCBhdCBydW50aW1lLiIKCQkgICAg
ZmkKCQkgIGZpCgkJZWxzZQoJCSAgZHJvcHBlZGRlcHM9eWVzCgkJICAkZWNobwoJCSAgJGVjaG8g
IioqKiBXYXJuaW5nISAgTGlicmFyeSAkaSBpcyBuZWVkZWQgYnkgdGhpcyBsaWJyYXJ5IGJ1dCBJ
IHdhcyBub3QgYWJsZSB0byIKCQkgICRlY2hvICIqKiogIG1ha2UgaXQgbGluayBpbiEgIFlvdSB3
aWxsIHByb2JhYmx5IG5lZWQgdG8gaW5zdGFsbCBpdCBvciBzb21lIgoJCSAgJGVjaG8gIioqKiBs
aWJyYXJ5IHRoYXQgaXQgZGVwZW5kcyBvbiBiZWZvcmUgdGhpcyBsaWJyYXJ5IHdpbGwgYmUgZnVs
bHkiCgkJICAkZWNobyAiKioqIGZ1bmN0aW9uYWwuICBJbnN0YWxsaW5nIGl0IGJlZm9yZSBjb250
aW51aW5nIHdvdWxkIGJlIGV2ZW4gYmV0dGVyLiIKCQlmaQoJICAgICAgZWxzZQoJCW5ld2RlcGxp
YnM9IiRuZXdkZXBsaWJzICRpIgoJICAgICAgZmkKCSAgICBkb25lCgkgIGZpCgkgIDs7CglmaWxl
X21hZ2ljKikKCSAgc2V0IGR1bW15ICRkZXBsaWJzX2NoZWNrX21ldGhvZAoJICBmaWxlX21hZ2lj
X3JlZ2V4PWBleHByICIkZGVwbGlic19jaGVja19tZXRob2QiIDogIiQyIFwoLipcKSJgCgkgIGZv
ciBhX2RlcGxpYiBpbiAkZGVwbGliczsgZG8KCSAgICBuYW1lPSJgZXhwciAkYV9kZXBsaWIgOiAn
LWxcKC4qXCknYCIKCSAgICAjIElmICRuYW1lIGlzIGVtcHR5IHdlIGFyZSBvcGVyYXRpbmcgb24g
YSAtTCBhcmd1bWVudC4KICAgICAgICAgICAgaWYgdGVzdCAiJG5hbWUiICE9ICIiICYmIHRlc3Qg
ICIkbmFtZSIgIT0gIjAiOyB0aGVuCgkgICAgICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGli
c193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJY2FzZSAiICRwcmVkZXBz
ICRwb3N0ZGVwcyAiIGluCgkJKiIgJGFfZGVwbGliICIqKQoJCSAgbmV3ZGVwbGlicz0iJG5ld2Rl
cGxpYnMgJGFfZGVwbGliIgoJCSAgYV9kZXBsaWI9IiIKCQkgIDs7CgkJZXNhYwoJICAgICAgZmkK
CSAgICAgIGlmIHRlc3QgLW4gIiRhX2RlcGxpYiIgOyB0aGVuCgkJbGlibmFtZT1gZXZhbCBcXCRl
Y2hvIFwiJGxpYm5hbWVfc3BlY1wiYAoJCWZvciBpIGluICRsaWJfc2VhcmNoX3BhdGggJHN5c19s
aWJfc2VhcmNoX3BhdGggJHNobGliX3NlYXJjaF9wYXRoOyBkbwoJCSAgcG90ZW50aWFsX2xpYnM9
YGxzICRpLyRsaWJuYW1lWy4tXSogMj4vZGV2L251bGxgCgkJICBmb3IgcG90ZW50X2xpYiBpbiAk
cG90ZW50aWFsX2xpYnM7IGRvCgkJICAgICAgIyBGb2xsb3cgc29mdCBsaW5rcy4KCQkgICAgICBp
ZiBscyAtbExkICIkcG90ZW50X2xpYiIgMj4vZGV2L251bGwgXAoJCQkgfCBncmVwICIgLT4gIiA+
L2Rldi9udWxsOyB0aGVuCgkJCWNvbnRpbnVlCgkJICAgICAgZmkKCQkgICAgICAjIFRoZSBzdGF0
ZW1lbnQgYWJvdmUgdHJpZXMgdG8gYXZvaWQgZW50ZXJpbmcgYW4KCQkgICAgICAjIGVuZGxlc3Mg
bG9vcCBiZWxvdywgaW4gY2FzZSBvZiBjeWNsaWMgbGlua3MuCgkJICAgICAgIyBXZSBtaWdodCBz
dGlsbCBlbnRlciBhbiBlbmRsZXNzIGxvb3AsIHNpbmNlIGEgbGluawoJCSAgICAgICMgbG9vcCBj
YW4gYmUgY2xvc2VkIHdoaWxlIHdlIGZvbGxvdyBsaW5rcywKCQkgICAgICAjIGJ1dCBzbyB3aGF0
PwoJCSAgICAgIHBvdGxpYj0iJHBvdGVudF9saWIiCgkJICAgICAgd2hpbGUgdGVzdCAtaCAiJHBv
dGxpYiIgMj4vZGV2L251bGw7IGRvCgkJCXBvdGxpYmxpbms9YGxzIC1sZCAkcG90bGliIHwgJHtT
RUR9ICdzLy4qIC0+IC8vJ2AKCQkJY2FzZSAkcG90bGlibGluayBpbgoJCQlbXFwvXSogfCBbQS1a
YS16XTpbXFwvXSopIHBvdGxpYj0iJHBvdGxpYmxpbmsiOzsKCQkJKikgcG90bGliPWAkZWNobyAi
WCRwb3RsaWIiIHwgJFhzZWQgLWUgJ3MsW14vXSokLCwnYCIkcG90bGlibGluayI7OwoJCQllc2Fj
CgkJICAgICAgZG9uZQoJCSAgICAgICMgSXQgaXMgb2sgdG8gbGluayBhZ2FpbnN0IGFuIGFyY2hp
dmUgd2hlbgoJCSAgICAgICMgYnVpbGRpbmcgYSBzaGFyZWQgbGlicmFyeS4KCQkgICAgICBpZiAk
QVIgLXQgJHBvdGxpYiA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCgkJICAgICAgICBuZXdkZXBsaWJz
PSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIiCgkJICAgICAgICBhX2RlcGxpYj0iIgoJCSAgICAgICAg
YnJlYWsgMgoJCSAgICAgIGZpCgkJICAgICAgaWYgZXZhbCAkZmlsZV9tYWdpY19jbWQgXCJcJHBv
dGxpYlwiIDI+L2Rldi9udWxsIFwKCQkJIHwgJHtTRUR9IDEwcSBcCgkJCSB8ICRFR1JFUCAiJGZp
bGVfbWFnaWNfcmVnZXgiID4gL2Rldi9udWxsOyB0aGVuCgkJCW5ld2RlcGxpYnM9IiRuZXdkZXBs
aWJzICRhX2RlcGxpYiIKCQkJYV9kZXBsaWI9IiIKCQkJYnJlYWsgMgoJCSAgICAgIGZpCgkJICBk
b25lCgkJZG9uZQoJICAgICAgZmkKCSAgICAgIGlmIHRlc3QgLW4gIiRhX2RlcGxpYiIgOyB0aGVu
CgkJZHJvcHBlZGRlcHM9eWVzCgkJJGVjaG8KCQkkZWNobyAiKioqIFdhcm5pbmc6IGxpbmtlciBw
YXRoIGRvZXMgbm90IGhhdmUgcmVhbCBmaWxlIGZvciBsaWJyYXJ5ICRhX2RlcGxpYi4iCgkJJGVj
aG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21h
dGljYWxseSBsaW5rIGluIHdoZW4iCgkJJGVjaG8gIioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJh
cnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkJJGVjaG8gIioqKiBz
aGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIgdG8g
aGF2ZSIKCQkkZWNobyAiKioqIGJlY2F1c2UgSSBkaWQgY2hlY2sgdGhlIGxpbmtlciBwYXRoIGxv
b2tpbmcgZm9yIGEgZmlsZSBzdGFydGluZyIKCQlpZiB0ZXN0IC16ICIkcG90bGliIiA7IHRoZW4K
CQkgICRlY2hvICIqKiogd2l0aCAkbGlibmFtZSBidXQgbm8gY2FuZGlkYXRlcyB3ZXJlIGZvdW5k
LiAoLi4uZm9yIGZpbGUgbWFnaWMgdGVzdCkiCgkJZWxzZQoJCSAgJGVjaG8gIioqKiB3aXRoICRs
aWJuYW1lIGFuZCBub25lIG9mIHRoZSBjYW5kaWRhdGVzIHBhc3NlZCBhIGZpbGUgZm9ybWF0IHRl
c3QiCgkJICAkZWNobyAiKioqIHVzaW5nIGEgZmlsZSBtYWdpYy4gTGFzdCBmaWxlIGNoZWNrZWQ6
ICRwb3RsaWIiCgkJZmkKCSAgICAgIGZpCgkgICAgZWxzZQoJICAgICAgIyBBZGQgYSAtTCBhcmd1
bWVudC4KCSAgICAgIG5ld2RlcGxpYnM9IiRuZXdkZXBsaWJzICRhX2RlcGxpYiIKCSAgICBmaQoJ
ICBkb25lICMgR29uZSB0aHJvdWdoIGFsbCBkZXBsaWJzLgoJICA7OwoJbWF0Y2hfcGF0dGVybiop
CgkgIHNldCBkdW1teSAkZGVwbGlic19jaGVja19tZXRob2QKCSAgbWF0Y2hfcGF0dGVybl9yZWdl
eD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMiBcKC4qXCkiYAoJICBmb3IgYV9k
ZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgICAgbmFtZT0iYGV4cHIgJGFfZGVwbGliIDogJy1sXCgu
KlwpJ2AiCgkgICAgIyBJZiAkbmFtZSBpcyBlbXB0eSB3ZSBhcmUgb3BlcmF0aW5nIG9uIGEgLUwg
YXJndW1lbnQuCgkgICAgaWYgdGVzdCAtbiAiJG5hbWUiICYmIHRlc3QgIiRuYW1lIiAhPSAiMCI7
IHRoZW4KCSAgICAgIGlmIHRlc3QgIlgkYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1
bnRpbWVzIiA9ICJYeWVzIiA7IHRoZW4KCQljYXNlICIgJHByZWRlcHMgJHBvc3RkZXBzICIgaW4K
CQkqIiAkYV9kZXBsaWIgIiopCgkJICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIi
CgkJICBhX2RlcGxpYj0iIgoJCSAgOzsKCQllc2FjCgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAt
biAiJGFfZGVwbGliIiA7IHRoZW4KCQlsaWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9z
cGVjXCJgCgkJZm9yIGkgaW4gJGxpYl9zZWFyY2hfcGF0aCAkc3lzX2xpYl9zZWFyY2hfcGF0aCAk
c2hsaWJfc2VhcmNoX3BhdGg7IGRvCgkJICBwb3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5hbWVb
Li1dKiAyPi9kZXYvbnVsbGAKCQkgIGZvciBwb3RlbnRfbGliIGluICRwb3RlbnRpYWxfbGliczsg
ZG8KCQkgICAgcG90bGliPSIkcG90ZW50X2xpYiIgIyBzZWUgc3ltbGluay1jaGVjayBhYm92ZSBp
biBmaWxlX21hZ2ljIHRlc3QKCQkgICAgaWYgZXZhbCAkZWNobyBcIiRwb3RlbnRfbGliXCIgMj4v
ZGV2L251bGwgXAoJCSAgICAgICAgfCAke1NFRH0gMTBxIFwKCQkgICAgICAgIHwgJEVHUkVQICIk
bWF0Y2hfcGF0dGVybl9yZWdleCIgPiAvZGV2L251bGw7IHRoZW4KCQkgICAgICBuZXdkZXBsaWJz
PSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIiCgkJICAgICAgYV9kZXBsaWI9IiIKCQkgICAgICBicmVh
ayAyCgkJICAgIGZpCgkJICBkb25lCgkJZG9uZQoJICAgICAgZmkKCSAgICAgIGlmIHRlc3QgLW4g
IiRhX2RlcGxpYiIgOyB0aGVuCgkJZHJvcHBlZGRlcHM9eWVzCgkJJGVjaG8KCQkkZWNobyAiKioq
IFdhcm5pbmc6IGxpbmtlciBwYXRoIGRvZXMgbm90IGhhdmUgcmVhbCBmaWxlIGZvciBsaWJyYXJ5
ICRhX2RlcGxpYi4iCgkJJGVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0
aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkJJGVjaG8gIioqKiB5b3Ug
bGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlvdSBoYXZl
IGEiCgkJJGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91
IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSIKCQkkZWNobyAiKioqIGJlY2F1c2UgSSBkaWQgY2hlY2sg
dGhlIGxpbmtlciBwYXRoIGxvb2tpbmcgZm9yIGEgZmlsZSBzdGFydGluZyIKCQlpZiB0ZXN0IC16
ICIkcG90bGliIiA7IHRoZW4KCQkgICRlY2hvICIqKiogd2l0aCAkbGlibmFtZSBidXQgbm8gY2Fu
ZGlkYXRlcyB3ZXJlIGZvdW5kLiAoLi4uZm9yIHJlZ2V4IHBhdHRlcm4gdGVzdCkiCgkJZWxzZQoJ
CSAgJGVjaG8gIioqKiB3aXRoICRsaWJuYW1lIGFuZCBub25lIG9mIHRoZSBjYW5kaWRhdGVzIHBh
c3NlZCBhIGZpbGUgZm9ybWF0IHRlc3QiCgkJICAkZWNobyAiKioqIHVzaW5nIGEgcmVnZXggcGF0
dGVybi4gTGFzdCBmaWxlIGNoZWNrZWQ6ICRwb3RsaWIiCgkJZmkKCSAgICAgIGZpCgkgICAgZWxz
ZQoJICAgICAgIyBBZGQgYSAtTCBhcmd1bWVudC4KCSAgICAgIG5ld2RlcGxpYnM9IiRuZXdkZXBs
aWJzICRhX2RlcGxpYiIKCSAgICBmaQoJICBkb25lICMgR29uZSB0aHJvdWdoIGFsbCBkZXBsaWJz
LgoJICA7OwoJbm9uZSB8IHVua25vd24gfCAqKQoJICBuZXdkZXBsaWJzPSIiCgkgIHRtcF9kZXBs
aWJzPWAkZWNobyAiWCAkZGVwbGlicyIgfCAkWHNlZCAtZSAncy8gLWxjJC8vJyBcCgkgICAgLWUg
J3MvIC1bTFJdW14gXSovL2cnYAoJICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRo
X3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkgICAgZm9yIGkgaW4gJHByZWRlcHMg
JHBvc3RkZXBzIDsgZG8KCSAgICAgICMgY2FuJ3QgdXNlIFhzZWQgYmVsb3csIGJlY2F1c2UgJGkg
bWlnaHQgY29udGFpbiAnLycKCSAgICAgIHRtcF9kZXBsaWJzPWAkZWNobyAiWCAkdG1wX2RlcGxp
YnMiIHwgJHtTRUR9IC1lICIxcyxeWCwsIiAtZSAicywkaSwsImAKCSAgICBkb25lCgkgIGZpCgkg
IGlmICRlY2hvICJYICR0bXBfZGVwbGlicyIgfCAkWHNlZCAtZSAncy9bIAldLy9nJyBcCgkgICAg
fCBncmVwIC4gPi9kZXYvbnVsbDsgdGhlbgoJICAgICRlY2hvCgkgICAgaWYgdGVzdCAiWCRkZXBs
aWJzX2NoZWNrX21ldGhvZCIgPSAiWG5vbmUiOyB0aGVuCgkgICAgICAkZWNobyAiKioqIFdhcm5p
bmc6IGludGVyLWxpYnJhcnkgZGVwZW5kZW5jaWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIHRoaXMg
cGxhdGZvcm0uIgoJICAgIGVsc2UKCSAgICAgICRlY2hvICIqKiogV2FybmluZzogaW50ZXItbGli
cmFyeSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB0byBiZSBzdXBwb3J0ZWQuIgoJICAgIGZp
CgkgICAgJGVjaG8gIioqKiBBbGwgZGVjbGFyZWQgaW50ZXItbGlicmFyeSBkZXBlbmRlbmNpZXMg
YXJlIGJlaW5nIGRyb3BwZWQuIgoJICAgIGRyb3BwZWRkZXBzPXllcwoJICBmaQoJICA7OwoJZXNh
YwoJdmVyc3VmZml4PSR2ZXJzdWZmaXhfc2F2ZQoJbWFqb3I9JG1ham9yX3NhdmUKCXJlbGVhc2U9
JHJlbGVhc2Vfc2F2ZQoJbGlibmFtZT0kbGlibmFtZV9zYXZlCgluYW1lPSRuYW1lX3NhdmUKCglj
YXNlICRob3N0IGluCgkqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICMgT24g
UmhhcHNvZHkgcmVwbGFjZSB0aGUgQyBsaWJyYXJ5IGlzIHRoZSBTeXN0ZW0gZnJhbWV3b3JrCgkg
IG5ld2RlcGxpYnM9YCRlY2hvICJYICRuZXdkZXBsaWJzIiB8ICRYc2VkIC1lICdzLyAtbGMgLyAt
ZnJhbWV3b3JrIFN5c3RlbSAvJ2AKCSAgOzsKCWVzYWMKCglpZiB0ZXN0ICIkZHJvcHBlZGRlcHMi
ID0geWVzOyB0aGVuCgkgIGlmIHRlc3QgIiRtb2R1bGUiID0geWVzOyB0aGVuCgkgICAgJGVjaG8K
CSAgICAkZWNobyAiKioqIFdhcm5pbmc6IGxpYnRvb2wgY291bGQgbm90IHNhdGlzZnkgYWxsIGRl
Y2xhcmVkIGludGVyLWxpYnJhcnkiCgkgICAgJGVjaG8gIioqKiBkZXBlbmRlbmNpZXMgb2YgbW9k
dWxlICRsaWJuYW1lLiAgVGhlcmVmb3JlLCBsaWJ0b29sIHdpbGwgY3JlYXRlIgoJICAgICRlY2hv
ICIqKiogYSBzdGF0aWMgbW9kdWxlLCB0aGF0IHNob3VsZCB3b3JrIGFzIGxvbmcgYXMgdGhlIGRs
b3BlbmluZyIKCSAgICAkZWNobyAiKioqIGFwcGxpY2F0aW9uIGlzIGxpbmtlZCB3aXRoIHRoZSAt
ZGxvcGVuIGZsYWcuIgoJICAgIGlmIHRlc3QgLXogIiRnbG9iYWxfc3ltYm9sX3BpcGUiOyB0aGVu
CgkgICAgICAkZWNobwoJICAgICAgJGVjaG8gIioqKiBIb3dldmVyLCB0aGlzIHdvdWxkIG9ubHkg
d29yayBpZiBsaWJ0b29sIHdhcyBhYmxlIHRvIGV4dHJhY3Qgc3ltYm9sIgoJICAgICAgJGVjaG8g
IioqKiBsaXN0cyBmcm9tIGEgcHJvZ3JhbSwgdXNpbmcgXGBubScgb3IgZXF1aXZhbGVudCwgYnV0
IGxpYnRvb2wgY291bGQiCgkgICAgICAkZWNobyAiKioqIG5vdCBmaW5kIHN1Y2ggYSBwcm9ncmFt
LiAgU28sIHRoaXMgbW9kdWxlIGlzIHByb2JhYmx5IHVzZWxlc3MuIgoJICAgICAgJGVjaG8gIioq
KiBcYG5tJyBmcm9tIEdOVSBiaW51dGlscyBhbmQgYSBmdWxsIHJlYnVpbGQgbWF5IGhlbHAuIgoJ
ICAgIGZpCgkgICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IG5vOyB0aGVuCgkgICAgICBv
bGRsaWJzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS4kbGliZXh0IgoJICAgICAgYnVpbGRfbGli
dG9vbF9saWJzPW1vZHVsZQoJICAgICAgYnVpbGRfb2xkX2xpYnM9eWVzCgkgICAgZWxzZQoJICAg
ICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgZmkKCSAgZWxzZQoJICAgICRlY2hvICIqKiog
VGhlIGludGVyLWxpYnJhcnkgZGVwZW5kZW5jaWVzIHRoYXQgaGF2ZSBiZWVuIGRyb3BwZWQgaGVy
ZSB3aWxsIGJlIgoJICAgICRlY2hvICIqKiogYXV0b21hdGljYWxseSBhZGRlZCB3aGVuZXZlciBh
IHByb2dyYW0gaXMgbGlua2VkIHdpdGggdGhpcyBsaWJyYXJ5IgoJICAgICRlY2hvICIqKiogb3Ig
aXMgZGVjbGFyZWQgdG8gLWRsb3BlbiBpdC4iCgoJICAgIGlmIHRlc3QgIiRhbGxvd191bmRlZmlu
ZWQiID0gbm87IHRoZW4KCSAgICAgICRlY2hvCgkgICAgICAkZWNobyAiKioqIFNpbmNlIHRoaXMg
bGlicmFyeSBtdXN0IG5vdCBjb250YWluIHVuZGVmaW5lZCBzeW1ib2xzLCIKCSAgICAgICRlY2hv
ICIqKiogYmVjYXVzZSBlaXRoZXIgdGhlIHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgdGhlbSBv
ciIKCSAgICAgICRlY2hvICIqKiogaXQgd2FzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIHdpdGggLW5v
LXVuZGVmaW5lZCwiCgkgICAgICAkZWNobyAiKioqIGxpYnRvb2wgd2lsbCBvbmx5IGNyZWF0ZSBh
IHN0YXRpYyB2ZXJzaW9uIG9mIGl0LiIKCSAgICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIg
PSBubzsgdGhlbgoJCW9sZGxpYnM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLiRsaWJleHQiCgkJ
YnVpbGRfbGlidG9vbF9saWJzPW1vZHVsZQoJCWJ1aWxkX29sZF9saWJzPXllcwoJICAgICAgZWxz
ZQoJCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJICAgICAgZmkKCSAgICBmaQoJICBmaQoJZmkKCSMg
RG9uZSBjaGVja2luZyBkZXBsaWJzIQoJZGVwbGlicz0kbmV3ZGVwbGlicwogICAgICBmaQoKICAg
ICAgIyBBbGwgdGhlIGxpYnJhcnktc3BlY2lmaWMgdmFyaWFibGVzIChpbnN0YWxsX2xpYmRpciBp
cyBzZXQgYWJvdmUpLgogICAgICBsaWJyYXJ5X25hbWVzPQogICAgICBvbGRfbGlicmFyeT0KICAg
ICAgZGxuYW1lPQoKICAgICAgIyBUZXN0IGFnYWluLCB3ZSBtYXkgaGF2ZSBkZWNpZGVkIG5vdCB0
byBidWlsZCBpdCBhbnkgbW9yZQogICAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9
IHllczsgdGhlbgoJaWYgdGVzdCAiJGhhcmRjb2RlX2ludG9fbGlicyIgPSB5ZXM7IHRoZW4KCSAg
IyBIYXJkY29kZSB0aGUgbGlicmFyeSBwYXRocwoJICBoYXJkY29kZV9saWJkaXJzPQoJICBkZXBf
cnBhdGg9CgkgIHJwYXRoPSIkZmluYWxpemVfcnBhdGgiCgkgIHRlc3QgIiRtb2RlIiAhPSByZWxp
bmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgoJICBmb3IgbGliZGlyIGluICRycGF0
aDsgZG8KCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4K
CSAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJCWlm
IHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoJCSAgaGFyZGNvZGVfbGliZGlycz0i
JGxpYmRpciIKCQllbHNlCgkJICAjIEp1c3QgYWNjdW11bGF0ZSB0aGUgdW5pcXVlIGxpYmRpcnMu
CgkJICBjYXNlICRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGhhcmRjb2RlX2xpYmRpcnMkaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvciBpbgoJCSAgKiIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRv
ciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQoJCSAgICA7OwoJCSAgKikKCQkg
ICAgaGFyZGNvZGVfbGliZGlycz0iJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvciRsaWJkaXIiCgkJICAgIDs7CgkJICBlc2FjCgkJZmkKCSAgICAgIGVsc2UKCQlldmFs
IGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkJZGVwX3JwYXRoPSIkZGVwX3Jw
YXRoICRmbGFnIgoJICAgICAgZmkKCSAgICBlbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRo
ZW4KCSAgICAgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KCSAgICAgICoiICRsaWJkaXIgIiopIDs7
CgkgICAgICAqKSBwZXJtX3JwYXRoPSIkcGVybV9ycGF0aCAkbGliZGlyIiA7OwoJICAgICAgZXNh
YwoJICAgIGZpCgkgIGRvbmUKCSAgIyBTdWJzdGl0dXRlIHRoZSBoYXJkY29kZWQgbGliZGlycyBp
bnRvIHRoZSBycGF0aC4KCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii
ICYmCgkgICAgIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoJICAgIGxpYmRpcj0i
JGhhcmRjb2RlX2xpYmRpcnMiCgkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFn
X3NwZWNfbGQiOyB0aGVuCgkgICAgICBldmFsIGRlcF9ycGF0aD1cIiRoYXJkY29kZV9saWJkaXJf
ZmxhZ19zcGVjX2xkXCIKCSAgICBlbHNlCgkgICAgICBldmFsIGRlcF9ycGF0aD1cIiRoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjXCIKCSAgICBmaQoJICBmaQoJICBpZiB0ZXN0IC1uICIkcnVucGF0
aF92YXIiICYmIHRlc3QgLW4gIiRwZXJtX3JwYXRoIjsgdGhlbgoJICAgICMgV2Ugc2hvdWxkIHNl
dCB0aGUgcnVucGF0aF92YXIuCgkgICAgcnBhdGg9CgkgICAgZm9yIGRpciBpbiAkcGVybV9ycGF0
aDsgZG8KCSAgICAgIHJwYXRoPSIkcnBhdGgkZGlyOiIKCSAgICBkb25lCgkgICAgZXZhbCAiJHJ1
bnBhdGhfdmFyPSckcnBhdGhcJCRydW5wYXRoX3Zhcic7IGV4cG9ydCAkcnVucGF0aF92YXIiCgkg
IGZpCgkgIHRlc3QgLW4gIiRkZXBfcnBhdGgiICYmIGRlcGxpYnM9IiRkZXBfcnBhdGggJGRlcGxp
YnMiCglmaQoKCXNobGlicGF0aD0iJGZpbmFsaXplX3NobGlicGF0aCIKCXRlc3QgIiRtb2RlIiAh
PSByZWxpbmsgJiYgc2hsaWJwYXRoPSIkY29tcGlsZV9zaGxpYnBhdGgkc2hsaWJwYXRoIgoJaWYg
dGVzdCAtbiAiJHNobGlicGF0aCI7IHRoZW4KCSAgZXZhbCAiJHNobGlicGF0aF92YXI9JyRzaGxp
YnBhdGhcJCRzaGxpYnBhdGhfdmFyJzsgZXhwb3J0ICRzaGxpYnBhdGhfdmFyIgoJZmkKCgkjIEdl
dCB0aGUgcmVhbCBhbmQgbGluayBuYW1lcyBvZiB0aGUgbGlicmFyeS4KCWV2YWwgc2hhcmVkX2V4
dD1cIiRzaHJleHRfY21kc1wiCglldmFsIGxpYnJhcnlfbmFtZXM9XCIkbGlicmFyeV9uYW1lc19z
cGVjXCIKCXNldCBkdW1teSAkbGlicmFyeV9uYW1lcwoJcmVhbG5hbWU9IiQyIgoJc2hpZnQ7IHNo
aWZ0CgoJaWYgdGVzdCAtbiAiJHNvbmFtZV9zcGVjIjsgdGhlbgoJICBldmFsIHNvbmFtZT1cIiRz
b25hbWVfc3BlY1wiCgllbHNlCgkgIHNvbmFtZT0iJHJlYWxuYW1lIgoJZmkKCWlmIHRlc3QgLXog
IiRkbG5hbWUiOyB0aGVuCgkgIGRsbmFtZT0kc29uYW1lCglmaQoKCWxpYj0iJG91dHB1dF9vYmpk
aXIvJHJlYWxuYW1lIgoJZm9yIGxpbmsKCWRvCgkgIGxpbmtuYW1lcz0iJGxpbmtuYW1lcyAkbGlu
ayIKCWRvbmUKCgkjIFVzZSBzdGFuZGFyZCBvYmplY3RzIGlmIHRoZXkgYXJlIHBpYwoJdGVzdCAt
eiAiJHBpY19mbGFnIiAmJiBsaWJvYmpzPWAkZWNobyAiWCRsaWJvYmpzIiB8ICRTUDJOTCB8ICRY
c2VkIC1lICIkbG8ybyIgfCAkTkwyU1BgCgoJIyBQcmVwYXJlIHRoZSBsaXN0IG9mIGV4cG9ydGVk
IHN5bWJvbHMKCWlmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgaWYgdGVzdCAi
JGFsd2F5c19leHBvcnRfc3ltYm9scyIgPSB5ZXMgfHwgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xz
X3JlZ2V4IjsgdGhlbgoJICAgICRzaG93ICJnZW5lcmF0aW5nIHN5bWJvbCBsaXN0IGZvciBcYCRs
aWJuYW1lLmxhJyIKCSAgICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUu
ZXhwIgoJICAgICRydW4gJHJtICRleHBvcnRfc3ltYm9scwoJICAgIGNtZHM9JGV4cG9ydF9zeW1i
b2xzX2NtZHMKCSAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCSAgICBmb3IgY21kIGluICRj
bWRzOyBkbwoJICAgICAgSUZTPSIkc2F2ZV9pZnMiCgkgICAgICBldmFsIGNtZD1cIiRjbWRcIgoJ
ICAgICAgaWYgbGVuPWBleHByICJYJGNtZCIgOiAiLioiYCAmJgoJICAgICAgIHRlc3QgIiRsZW4i
IC1sZSAiJG1heF9jbWRfbGVuIiB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgdGhlbgoJ
ICAgICAgICAkc2hvdyAiJGNtZCIKCSAgICAgICAgJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/
CgkgICAgICAgIHNraXBwZWRfZXhwb3J0PWZhbHNlCgkgICAgICBlbHNlCgkgICAgICAgICMgVGhl
IGNvbW1hbmQgbGluZSBpcyB0b28gbG9uZyB0byBleGVjdXRlIGluIG9uZSBzdGVwLgoJICAgICAg
ICAkc2hvdyAidXNpbmcgcmVsb2FkYWJsZSBvYmplY3QgZmlsZSBmb3IgZXhwb3J0IGxpc3QuLi4i
CgkgICAgICAgIHNraXBwZWRfZXhwb3J0PToKCSAgICAgIGZpCgkgICAgZG9uZQoJICAgIElGUz0i
JHNhdmVfaWZzIgoJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRoZW4K
CSAgICAgICRzaG93ICIkRUdSRVAgLWUgXCIkZXhwb3J0X3N5bWJvbHNfcmVnZXhcIiBcIiRleHBv
cnRfc3ltYm9sc1wiID4gXCIke2V4cG9ydF9zeW1ib2xzfVRcIiIKCSAgICAgICRydW4gZXZhbCAn
JEVHUkVQIC1lICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiICIkZXhwb3J0X3N5bWJvbHMiID4gIiR7
ZXhwb3J0X3N5bWJvbHN9VCInCgkgICAgICAkc2hvdyAiJG12IFwiJHtleHBvcnRfc3ltYm9sc31U
XCIgXCIkZXhwb3J0X3N5bWJvbHNcIiIKCSAgICAgICRydW4gZXZhbCAnJG12ICIke2V4cG9ydF9z
eW1ib2xzfVQiICIkZXhwb3J0X3N5bWJvbHMiJwoJICAgIGZpCgkgIGZpCglmaQoKCWlmIHRlc3Qg
LW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVzdCAtbiAiJGluY2x1ZGVfZXhwc3ltcyI7IHRoZW4K
CSAgJHJ1biBldmFsICckZWNobyAiWCRpbmNsdWRlX2V4cHN5bXMiIHwgJFNQMk5MID4+ICIkZXhw
b3J0X3N5bWJvbHMiJwoJZmkKCgl0bXBfZGVwbGlicz0KCWZvciB0ZXN0X2RlcGxpYiBpbiAkZGVw
bGliczsgZG8KCQljYXNlICIgJGNvbnZlbmllbmNlICIgaW4KCQkqIiAkdGVzdF9kZXBsaWIgIiop
IDs7CgkJKikKCQkJdG1wX2RlcGxpYnM9IiR0bXBfZGVwbGlicyAkdGVzdF9kZXBsaWIiCgkJCTs7
CgkJZXNhYwoJZG9uZQoJZGVwbGlicz0iJHRtcF9kZXBsaWJzIgoKCWlmIHRlc3QgLW4gIiRjb252
ZW5pZW5jZSI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsg
dGhlbgoJICAgIHNhdmVfbGlib2Jqcz0kbGlib2JqcwoJICAgIGV2YWwgbGlib2Jqcz1cIlwkbGli
b2JqcyAkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNcIgoJICBlbHNlCgkgICAgZ2VudG9wPSIkb3V0
cHV0X29iamRpci8ke291dHB1dG5hbWV9eCIKCSAgICBnZW5lcmF0ZWQ9IiRnZW5lcmF0ZWQgJGdl
bnRvcCIKCgkgICAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRnZW50b3AgJGNvbnZlbmllbmNlCgkg
ICAgbGlib2Jqcz0iJGxpYm9ianMgJGZ1bmNfZXh0cmFjdF9hcmNoaXZlc19yZXN1bHQiCgkgIGZp
CglmaQoJCglpZiB0ZXN0ICIkdGhyZWFkX3NhZmUiID0geWVzICYmIHRlc3QgLW4gIiR0aHJlYWRf
c2FmZV9mbGFnX3NwZWMiOyB0aGVuCgkgIGV2YWwgZmxhZz1cIiR0aHJlYWRfc2FmZV9mbGFnX3Nw
ZWNcIgoJICBsaW5rZXJfZmxhZ3M9IiRsaW5rZXJfZmxhZ3MgJGZsYWciCglmaQoKCSMgTWFrZSBh
IGJhY2t1cCBvZiB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSB3aGVuIHJlbGlua2luZwoJaWYgdGVz
dCAiJG1vZGUiID0gcmVsaW5rOyB0aGVuCgkgICRydW4gZXZhbCAnKGNkICRvdXRwdXRfb2JqZGly
ICYmICRybSAke3JlYWxuYW1lfVUgJiYgJG12ICRyZWFsbmFtZSAke3JlYWxuYW1lfVUpJyB8fCBl
eGl0ICQ/CglmaQoKCSMgRG8gZWFjaCBvZiB0aGUgYXJjaGl2ZSBjb21tYW5kcy4KCWlmIHRlc3Qg
IiRtb2R1bGUiID0geWVzICYmIHRlc3QgLW4gIiRtb2R1bGVfY21kcyIgOyB0aGVuCgkgIGlmIHRl
c3QgLW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVzdCAtbiAiJG1vZHVsZV9leHBzeW1fY21kcyI7
IHRoZW4KCSAgICBldmFsIHRlc3RfY21kcz1cIiRtb2R1bGVfZXhwc3ltX2NtZHNcIgoJICAgIGNt
ZHM9JG1vZHVsZV9leHBzeW1fY21kcwoJICBlbHNlCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIkbW9k
dWxlX2NtZHNcIgoJICAgIGNtZHM9JG1vZHVsZV9jbWRzCgkgIGZpCgllbHNlCglpZiB0ZXN0IC1u
ICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRhcmNoaXZlX2V4cHN5bV9jbWRzIjsgdGhl
bgoJICBldmFsIHRlc3RfY21kcz1cIiRhcmNoaXZlX2V4cHN5bV9jbWRzXCIKCSAgY21kcz0kYXJj
aGl2ZV9leHBzeW1fY21kcwoJZWxzZQoJICBldmFsIHRlc3RfY21kcz1cIiRhcmNoaXZlX2NtZHNc
IgoJICBjbWRzPSRhcmNoaXZlX2NtZHMKCSAgZmkKCWZpCgoJaWYgdGVzdCAiWCRza2lwcGVkX2V4
cG9ydCIgIT0gIlg6IiAmJiBsZW49YGV4cHIgIlgkdGVzdF9jbWRzIiA6ICIuKiJgICYmCgkgICB0
ZXN0ICIkbGVuIiAtbGUgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRfbGVuIiAtbGUg
LTE7IHRoZW4KCSAgOgoJZWxzZQoJICAjIFRoZSBjb21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgdG8g
bGluayBpbiBvbmUgc3RlcCwgbGluayBwaWVjZXdpc2UuCgkgICRlY2hvICJjcmVhdGluZyByZWxv
YWRhYmxlIG9iamVjdCBmaWxlcy4uLiIKCgkgICMgU2F2ZSB0aGUgdmFsdWUgb2YgJG91dHB1dCBh
bmQgJGxpYm9ianMgYmVjYXVzZSB3ZSB3YW50IHRvCgkgICMgdXNlIHRoZW0gbGF0ZXIuICBJZiB3
ZSBoYXZlIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjLCB3ZQoJICAjIHdhbnQgdG8gdXNlIHNhdmVf
bGlib2JqcyBhcyBpdCB3YXMgYmVmb3JlCgkgICMgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMgd2Fz
IGV4cGFuZGVkLCBiZWNhdXNlIHdlIGNhbid0CgkgICMgYXNzdW1lIHRoZSBsaW5rZXIgdW5kZXJz
dGFuZHMgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMuCgkgICMgVGhpcyBtYXkgaGF2ZSB0byBiZSBy
ZXZpc2l0ZWQsIGluIGNhc2UgdG9vIG1hbnkKCSAgIyBjb252ZW5pZW5jZSBsaWJyYXJpZXMgZ2V0
IGxpbmtlZCBpbiBhbmQgZW5kIHVwIGV4Y2VlZGluZwoJICAjIHRoZSBzcGVjLgoJICBpZiB0ZXN0
IC16ICIkY29udmVuaWVuY2UiIHx8IHRlc3QgLXogIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7
IHRoZW4KCSAgICBzYXZlX2xpYm9ianM9JGxpYm9ianMKCSAgZmkKCSAgc2F2ZV9vdXRwdXQ9JG91
dHB1dAoKCSAgIyBDbGVhciB0aGUgcmVsb2FkYWJsZSBvYmplY3QgY3JlYXRpb24gY29tbWFuZCBx
dWV1ZSBhbmQKCSAgIyBpbml0aWFsaXplIGsgdG8gb25lLgoJICB0ZXN0X2NtZHM9CgkgIGNvbmNh
dF9jbWRzPQoJICBvYmpsaXN0PQoJICBkZWxmaWxlcz0KCSAgbGFzdF9yb2JqPQoJICBrPTEKCSAg
b3V0cHV0PSRvdXRwdXRfb2JqZGlyLyRzYXZlX291dHB1dC0ke2t9LiRvYmpleHQKCSAgIyBMb29w
IG92ZXIgdGhlIGxpc3Qgb2Ygb2JqZWN0cyB0byBiZSBsaW5rZWQuCgkgIGZvciBvYmogaW4gJHNh
dmVfbGlib2JqcwoJICBkbwoJICAgIGV2YWwgdGVzdF9jbWRzPVwiJHJlbG9hZF9jbWRzICRvYmps
aXN0ICRsYXN0X3JvYmpcIgoJICAgIGlmIHRlc3QgIlgkb2JqbGlzdCIgPSBYIHx8CgkgICAgICAg
eyBsZW49YGV4cHIgIlgkdGVzdF9jbWRzIiA6ICIuKiJgICYmCgkJIHRlc3QgIiRsZW4iIC1sZSAi
JG1heF9jbWRfbGVuIjsgfTsgdGhlbgoJICAgICAgb2JqbGlzdD0iJG9iamxpc3QgJG9iaiIKCSAg
ICBlbHNlCgkgICAgICAjIFRoZSBjb21tYW5kICR0ZXN0X2NtZHMgaXMgYWxtb3N0IHRvbyBsb25n
LCBhZGQgYQoJICAgICAgIyBjb21tYW5kIHRvIHRoZSBxdWV1ZS4KCSAgICAgIGlmIHRlc3QgIiRr
IiAtZXEgMSA7IHRoZW4KCQkjIFRoZSBmaXJzdCBmaWxlIGRvZXNuJ3QgaGF2ZSBhIHByZXZpb3Vz
IGNvbW1hbmQgdG8gYWRkLgoJCWV2YWwgY29uY2F0X2NtZHM9XCIkcmVsb2FkX2NtZHMgJG9iamxp
c3QgJGxhc3Rfcm9ialwiCgkgICAgICBlbHNlCgkJIyBBbGwgc3Vic2VxdWVudCByZWxvYWRhYmxl
IG9iamVjdCBmaWxlcyB3aWxsIGxpbmsgaW4KCQkjIHRoZSBsYXN0IG9uZSBjcmVhdGVkLgoJCWV2
YWwgY29uY2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzfiRyZWxvYWRfY21kcyAkb2JqbGlzdCAkbGFz
dF9yb2JqXCIKCSAgICAgIGZpCgkgICAgICBsYXN0X3JvYmo9JG91dHB1dF9vYmpkaXIvJHNhdmVf
b3V0cHV0LSR7a30uJG9iamV4dAoJICAgICAgaz1gZXhwciAkayArIDFgCgkgICAgICBvdXRwdXQ9
JG91dHB1dF9vYmpkaXIvJHNhdmVfb3V0cHV0LSR7a30uJG9iamV4dAoJICAgICAgb2JqbGlzdD0k
b2JqCgkgICAgICBsZW49MQoJICAgIGZpCgkgIGRvbmUKCSAgIyBIYW5kbGUgdGhlIHJlbWFpbmlu
ZyBvYmplY3RzIGJ5IGNyZWF0aW5nIG9uZSBsYXN0CgkgICMgcmVsb2FkYWJsZSBvYmplY3QgZmls
ZS4gIEFsbCBzdWJzZXF1ZW50IHJlbG9hZGFibGUgb2JqZWN0CgkgICMgZmlsZXMgd2lsbCBsaW5r
IGluIHRoZSBsYXN0IG9uZSBjcmVhdGVkLgoJICB0ZXN0IC16ICIkY29uY2F0X2NtZHMiIHx8IGNv
bmNhdF9jbWRzPSRjb25jYXRfY21kc34KCSAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9j
bWRzfSRyZWxvYWRfY21kcyAkb2JqbGlzdCAkbGFzdF9yb2JqXCIKCgkgIGlmICR7c2tpcHBlZF9l
eHBvcnQtZmFsc2V9OyB0aGVuCgkgICAgJHNob3cgImdlbmVyYXRpbmcgc3ltYm9sIGxpc3QgZm9y
IFxgJGxpYm5hbWUubGEnIgoJICAgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kbGli
bmFtZS5leHAiCgkgICAgJHJ1biAkcm0gJGV4cG9ydF9zeW1ib2xzCgkgICAgbGlib2Jqcz0kb3V0
cHV0CgkgICAgIyBBcHBlbmQgdGhlIGNvbW1hbmQgdG8gY3JlYXRlIHRoZSBleHBvcnQgZmlsZS4K
CSAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCRjb25jYXRfY21kc34kZXhwb3J0X3N5bWJvbHNfY21k
c1wiCiAgICAgICAgICBmaQoKCSAgIyBTZXQgdXAgYSBjb21tYW5kIHRvIHJlbW92ZSB0aGUgcmVs
b2FkYWxlIG9iamVjdCBmaWxlcwoJICAjIGFmdGVyIHRoZXkgYXJlIHVzZWQuCgkgIGk9MAoJICB3
aGlsZSB0ZXN0ICIkaSIgLWx0ICIkayIKCSAgZG8KCSAgICBpPWBleHByICRpICsgMWAKCSAgICBk
ZWxmaWxlcz0iJGRlbGZpbGVzICRvdXRwdXRfb2JqZGlyLyRzYXZlX291dHB1dC0ke2l9LiRvYmpl
eHQiCgkgIGRvbmUKCgkgICRlY2hvICJjcmVhdGluZyBhIHRlbXBvcmFyeSByZWxvYWRhYmxlIG9i
amVjdCBmaWxlOiAkb3V0cHV0IgoKCSAgIyBMb29wIHRocm91Z2ggdGhlIGNvbW1hbmRzIGdlbmVy
YXRlZCBhYm92ZSBhbmQgZXhlY3V0ZSB0aGVtLgoJICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficK
CSAgZm9yIGNtZCBpbiAkY29uY2F0X2NtZHM7IGRvCgkgICAgSUZTPSIkc2F2ZV9pZnMiCgkgICAg
JHNob3cgIiRjbWQiCgkgICAgJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CgkgIGRvbmUKCSAg
SUZTPSIkc2F2ZV9pZnMiCgoJICBsaWJvYmpzPSRvdXRwdXQKCSAgIyBSZXN0b3JlIHRoZSB2YWx1
ZSBvZiBvdXRwdXQuCgkgIG91dHB1dD0kc2F2ZV9vdXRwdXQKCgkgIGlmIHRlc3QgLW4gIiRjb252
ZW5pZW5jZSIgJiYgdGVzdCAtbiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhlbgoJICAg
IGV2YWwgbGlib2Jqcz1cIlwkbGlib2JqcyAkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNcIgoJICBm
aQoJICAjIEV4cGFuZCB0aGUgbGlicmFyeSBsaW5raW5nIGNvbW1hbmRzIGFnYWluIHRvIHJlc2V0
IHRoZQoJICAjIHZhbHVlIG9mICRsaWJvYmpzIGZvciBwaWVjZXdpc2UgbGlua2luZy4KCgkgICMg
RG8gZWFjaCBvZiB0aGUgYXJjaGl2ZSBjb21tYW5kcy4KCSAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5
ZXMgJiYgdGVzdCAtbiAiJG1vZHVsZV9jbWRzIiA7IHRoZW4KCSAgICBpZiB0ZXN0IC1uICIkZXhw
b3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRtb2R1bGVfZXhwc3ltX2NtZHMiOyB0aGVuCgkgICAg
ICBjbWRzPSRtb2R1bGVfZXhwc3ltX2NtZHMKCSAgICBlbHNlCgkgICAgICBjbWRzPSRtb2R1bGVf
Y21kcwoJICAgIGZpCgkgIGVsc2UKCSAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0
ZXN0IC1uICIkYXJjaGl2ZV9leHBzeW1fY21kcyI7IHRoZW4KCSAgICBjbWRzPSRhcmNoaXZlX2V4
cHN5bV9jbWRzCgkgIGVsc2UKCSAgICBjbWRzPSRhcmNoaXZlX2NtZHMKCSAgICBmaQoJICBmaQoK
CSAgIyBBcHBlbmQgdGhlIGNvbW1hbmQgdG8gcmVtb3ZlIHRoZSByZWxvYWRhYmxlIG9iamVjdCBm
aWxlcwoJICAjIHRvIHRoZSBqdXN0LXJlc2V0ICRjbWRzLgoJICBldmFsIGNtZHM9XCJcJGNtZHN+
XCRybSAkZGVsZmlsZXNcIgoJZmkKCXNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJZm9yIGNtZCBp
biAkY21kczsgZG8KCSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGV2YWwgY21kPVwiJGNtZFwiCgkgICRz
aG93ICIkY21kIgoJICAkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KCWRvbmUKCUlGUz0iJHNh
dmVfaWZzIgoKCSMgUmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSBhbmQgZXhpdAoJaWYg
dGVzdCAiJG1vZGUiID0gcmVsaW5rOyB0aGVuCgkgICRydW4gZXZhbCAnKGNkICRvdXRwdXRfb2Jq
ZGlyICYmICRybSAke3JlYWxuYW1lfVQgJiYgJG12ICRyZWFsbmFtZSAke3JlYWxuYW1lfVQgJiYg
JG12ICIkcmVhbG5hbWUiVSAkcmVhbG5hbWUpJyB8fCBleGl0ICQ/CgkgIGV4aXQgJEVYSVRfU1VD
Q0VTUwoJZmkKCgkjIENyZWF0ZSBsaW5rcyB0byB0aGUgcmVhbCBsaWJyYXJ5LgoJZm9yIGxpbmtu
YW1lIGluICRsaW5rbmFtZXM7IGRvCgkgIGlmIHRlc3QgIiRyZWFsbmFtZSIgIT0gIiRsaW5rbmFt
ZSI7IHRoZW4KCSAgICAkc2hvdyAiKGNkICRvdXRwdXRfb2JqZGlyICYmICRybSAkbGlua25hbWUg
JiYgJExOX1MgJHJlYWxuYW1lICRsaW5rbmFtZSkiCgkgICAgJHJ1biBldmFsICcoY2QgJG91dHB1
dF9vYmpkaXIgJiYgJHJtICRsaW5rbmFtZSAmJiAkTE5fUyAkcmVhbG5hbWUgJGxpbmtuYW1lKScg
fHwgZXhpdCAkPwoJICBmaQoJZG9uZQoKCSMgSWYgLW1vZHVsZSBvciAtZXhwb3J0LWR5bmFtaWMg
d2FzIHNwZWNpZmllZCwgc2V0IHRoZSBkbG5hbWUuCglpZiB0ZXN0ICIkbW9kdWxlIiA9IHllcyB8
fCB0ZXN0ICIkZXhwb3J0X2R5bmFtaWMiID0geWVzOyB0aGVuCgkgICMgT24gYWxsIGtub3duIG9w
ZXJhdGluZyBzeXN0ZW1zLCB0aGVzZSBhcmUgaWRlbnRpY2FsLgoJICBkbG5hbWU9IiRzb25hbWUi
CglmaQogICAgICBmaQogICAgICA7OwoKICAgIG9iaikKICAgICAgaWYgdGVzdCAtbiAiJGRlcGxp
YnMiOyB0aGVuCgkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1sJyBhbmQgXGAtTCcgYXJl
IGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRk
bGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCgkkZWNobyAi
JG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+
JjIKICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRycGF0aCI7IHRoZW4KCSRlY2hvICIkbW9k
ZW5hbWU6IHdhcm5pbmc6IFxgLXJwYXRoJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCiAg
ICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkeHJwYXRoIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFt
ZTogd2FybmluZzogXGAtUicgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgogICAgICBmaQoK
ICAgICAgaWYgdGVzdCAtbiAiJHZpbmZvIjsgdGhlbgoJJGVjaG8gIiRtb2RlbmFtZTogd2Fybmlu
ZzogXGAtdmVyc2lvbi1pbmZvJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCiAgICAgIGZp
CgogICAgICBpZiB0ZXN0IC1uICIkcmVsZWFzZSI7IHRoZW4KCSRlY2hvICIkbW9kZW5hbWU6IHdh
cm5pbmc6IFxgLXJlbGVhc2UnIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKICAgICAgZmkK
CiAgICAgIGNhc2UgJG91dHB1dCBpbgogICAgICAqLmxvKQoJaWYgdGVzdCAtbiAiJG9ianMkb2xk
X2RlcGxpYnMiOyB0aGVuCgkgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBidWlsZCBsaWJyYXJ5
IG9iamVjdCBcYCRvdXRwdXQnIGZyb20gbm9uLWxpYnRvb2wgb2JqZWN0cyIgMT4mMgoJICBleGl0
ICRFWElUX0ZBSUxVUkUKCWZpCglsaWJvYmo9IiRvdXRwdXQiCglvYmo9YCRlY2hvICJYJG91dHB1
dCIgfCAkWHNlZCAtZSAiJGxvMm8iYAoJOzsKICAgICAgKikKCWxpYm9iaj0KCW9iaj0iJG91dHB1
dCIKCTs7CiAgICAgIGVzYWMKCiAgICAgICMgRGVsZXRlIHRoZSBvbGQgb2JqZWN0cy4KICAgICAg
JHJ1biAkcm0gJG9iaiAkbGlib2JqCgogICAgICAjIE9iamVjdHMgZnJvbSBjb252ZW5pZW5jZSBs
aWJyYXJpZXMuICBUaGlzIGFzc3VtZXMKICAgICAgIyBzaW5nbGUtdmVyc2lvbiBjb252ZW5pZW5j
ZSBsaWJyYXJpZXMuICBXaGVuZXZlciB3ZSBjcmVhdGUKICAgICAgIyBkaWZmZXJlbnQgb25lcyBm
b3IgUElDL25vbi1QSUMsIHRoaXMgd2UnbGwgaGF2ZSB0byBkdXBsaWNhdGUKICAgICAgIyB0aGUg
ZXh0cmFjdGlvbi4KICAgICAgcmVsb2FkX2NvbnZfb2Jqcz0KICAgICAgZ2VudG9wPQogICAgICAj
IHJlbG9hZF9jbWRzIHJ1bnMgJExEIGRpcmVjdGx5LCBzbyBsZXQgdXMgZ2V0IHJpZCBvZgogICAg
ICAjIC1XbCBmcm9tIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjCiAgICAgIHdsPQoKICAgICAgaWYg
dGVzdCAtbiAiJGNvbnZlbmllbmNlIjsgdGhlbgoJaWYgdGVzdCAtbiAiJHdob2xlX2FyY2hpdmVf
ZmxhZ19zcGVjIjsgdGhlbgoJICBldmFsIHJlbG9hZF9jb252X29ianM9XCJcJHJlbG9hZF9vYmpz
ICR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY1wiCgllbHNlCgkgIGdlbnRvcD0iJG91dHB1dF9vYmpk
aXIvJHtvYmp9eCIKCSAgZ2VuZXJhdGVkPSIkZ2VuZXJhdGVkICRnZW50b3AiCgoJICBmdW5jX2V4
dHJhY3RfYXJjaGl2ZXMgJGdlbnRvcCAkY29udmVuaWVuY2UKCSAgcmVsb2FkX2NvbnZfb2Jqcz0i
JHJlbG9hZF9vYmpzICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNfcmVzdWx0IgoJZmkKICAgICAgZmkK
CiAgICAgICMgQ3JlYXRlIHRoZSBvbGQtc3R5bGUgb2JqZWN0LgogICAgICByZWxvYWRfb2Jqcz0i
JG9ianMkb2xkX2RlcGxpYnMgImAkZWNobyAiWCRsaWJvYmpzIiB8ICRTUDJOTCB8ICRYc2VkIC1l
ICcvXC4nJHtsaWJleHR9JCcvZCcgLWUgJy9cLmxpYiQvZCcgLWUgIiRsbzJvIiB8ICROTDJTUGAi
ICRyZWxvYWRfY29udl9vYmpzIiAjIyMgdGVzdHN1aXRlOiBza2lwIG5lc3RlZCBxdW90aW5nIHRl
c3QKCiAgICAgIG91dHB1dD0iJG9iaiIKICAgICAgY21kcz0kcmVsb2FkX2NtZHMKICAgICAgc2F2
ZV9pZnM9IiRJRlMiOyBJRlM9J34nCiAgICAgIGZvciBjbWQgaW4gJGNtZHM7IGRvCglJRlM9IiRz
YXZlX2lmcyIKCWV2YWwgY21kPVwiJGNtZFwiCgkkc2hvdyAiJGNtZCIKCSRydW4gZXZhbCAiJGNt
ZCIgfHwgZXhpdCAkPwogICAgICBkb25lCiAgICAgIElGUz0iJHNhdmVfaWZzIgoKICAgICAgIyBF
eGl0IGlmIHdlIGFyZW4ndCBkb2luZyBhIGxpYnJhcnkgb2JqZWN0IGZpbGUuCiAgICAgIGlmIHRl
c3QgLXogIiRsaWJvYmoiOyB0aGVuCglpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJICAkc2hv
dyAiJHtybX1yICRnZW50b3AiCgkgICRydW4gJHtybX1yICRnZW50b3AKCWZpCgoJZXhpdCAkRVhJ
VF9TVUNDRVNTCiAgICAgIGZpCgogICAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAh
PSB5ZXM7IHRoZW4KCWlmIHRlc3QgLW4gIiRnZW50b3AiOyB0aGVuCgkgICRzaG93ICIke3JtfXIg
JGdlbnRvcCIKCSAgJHJ1biAke3JtfXIgJGdlbnRvcAoJZmkKCgkjIENyZWF0ZSBhbiBpbnZhbGlk
IGxpYnRvb2wgb2JqZWN0IGlmIG5vIFBJQywgc28gdGhhdCB3ZSBkb24ndAoJIyBhY2NpZGVudGFs
bHkgbGluayBpdCBpbnRvIGEgcHJvZ3JhbS4KCSMgJHNob3cgImVjaG8gdGltZXN0YW1wID4gJGxp
Ym9iaiIKCSMgJHJ1biBldmFsICJlY2hvIHRpbWVzdGFtcCA+ICRsaWJvYmoiIHx8IGV4aXQgJD8K
CWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHBpY19mbGFn
IiB8fCB0ZXN0ICIkcGljX21vZGUiICE9IGRlZmF1bHQ7IHRoZW4KCSMgT25seSBkbyBjb21tYW5k
cyBpZiB3ZSByZWFsbHkgaGF2ZSBkaWZmZXJlbnQgUElDIG9iamVjdHMuCglyZWxvYWRfb2Jqcz0i
JGxpYm9ianMgJHJlbG9hZF9jb252X29ianMiCglvdXRwdXQ9IiRsaWJvYmoiCgljbWRzPSRyZWxv
YWRfY21kcwoJc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCglmb3IgY21kIGluICRjbWRzOyBkbwoJ
ICBJRlM9IiRzYXZlX2lmcyIKCSAgZXZhbCBjbWQ9XCIkY21kXCIKCSAgJHNob3cgIiRjbWQiCgkg
ICRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwoJZG9uZQoJSUZTPSIkc2F2ZV9pZnMiCiAgICAg
IGZpCgogICAgICBpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJJHNob3cgIiR7cm19ciAkZ2Vu
dG9wIgoJJHJ1biAke3JtfXIgJGdlbnRvcAogICAgICBmaQoKICAgICAgZXhpdCAkRVhJVF9TVUND
RVNTCiAgICAgIDs7CgogICAgcHJvZykKICAgICAgY2FzZSAkaG9zdCBpbgoJKmN5Z3dpbiopIG91
dHB1dD1gJGVjaG8gJG91dHB1dCB8ICR7U0VEfSAtZSAncywuZXhlJCwsO3MsJCwuZXhlLCdgIDs7
CiAgICAgIGVzYWMKICAgICAgaWYgdGVzdCAtbiAiJHZpbmZvIjsgdGhlbgoJJGVjaG8gIiRtb2Rl
bmFtZTogd2FybmluZzogXGAtdmVyc2lvbi1pbmZvJyBpcyBpZ25vcmVkIGZvciBwcm9ncmFtcyIg
MT4mMgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHJlbGVhc2UiOyB0aGVuCgkkZWNobyAi
JG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBwcm9ncmFtcyIg
MT4mMgogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJHByZWxvYWQiID0geWVzOyB0aGVuCglpZiB0
ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0gdW5rbm93biAmJiB0ZXN0ICIkZGxvcGVuX3NlbGYiID0g
dW5rbm93biAmJgoJICAgdGVzdCAiJGRsb3Blbl9zZWxmX3N0YXRpYyIgPSB1bmtub3duOyB0aGVu
CgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgQUNfTElCVE9PTF9ETE9QRU4nIG5vdCB1
c2VkLiBBc3N1bWluZyBubyBkbG9wZW4gc3VwcG9ydC4iCglmaQogICAgICBmaQoKICAgICAgY2Fz
ZSAkaG9zdCBpbgogICAgICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCgkjIE9u
IFJoYXBzb2R5IHJlcGxhY2UgdGhlIEMgbGlicmFyeSBpcyB0aGUgU3lzdGVtIGZyYW1ld29yawoJ
Y29tcGlsZV9kZXBsaWJzPWAkZWNobyAiWCAkY29tcGlsZV9kZXBsaWJzIiB8ICRYc2VkIC1lICdz
LyAtbGMgLyAtZnJhbWV3b3JrIFN5c3RlbSAvJ2AKCWZpbmFsaXplX2RlcGxpYnM9YCRlY2hvICJY
ICRmaW5hbGl6ZV9kZXBsaWJzIiB8ICRYc2VkIC1lICdzLyAtbGMgLyAtZnJhbWV3b3JrIFN5c3Rl
bSAvJ2AKCTs7CiAgICAgIGVzYWMKCiAgICAgIGNhc2UgJGhvc3QgaW4KICAgICAgKmRhcndpbiop
CiAgICAgICAgIyBEb24ndCBhbGxvdyBsYXp5IGxpbmtpbmcsIGl0IGJyZWFrcyBDKysgZ2xvYmFs
IGNvbnN0cnVjdG9ycwogICAgICAgIGlmIHRlc3QgIiR0YWduYW1lIiA9IENYWCA7IHRoZW4KICAg
ICAgICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJHt3bH0tYmluZF9hdF9sb2Fk
IgogICAgICAgIGZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6ZV9jb21tYW5kICR7d2x9LWJpbmRf
YXRfbG9hZCIKICAgICAgICBmaQogICAgICAgIDs7CiAgICAgIGVzYWMKCiAgICAgIGNvbXBpbGVf
Y29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkY29tcGlsZV9kZXBsaWJzIgogICAgICBmaW5hbGl6
ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkZmluYWxpemVfZGVwbGlicyIKCiAgICAgIGlm
IHRlc3QgLW4gIiRycGF0aCR4cnBhdGgiOyB0aGVuCgkjIElmIHRoZSB1c2VyIHNwZWNpZmllZCBh
bnkgcnBhdGggZmxhZ3MsIHRoZW4gYWRkIHRoZW0uCglmb3IgbGliZGlyIGluICRycGF0aCAkeHJw
YXRoOyBkbwoJICAjIFRoaXMgaXMgdGhlIG1hZ2ljIHRvIHVzZSAtcnBhdGguCgkgIGNhc2UgIiRm
aW5hbGl6ZV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIGZpbmFsaXplX3Jw
YXRoPSIkZmluYWxpemVfcnBhdGggJGxpYmRpciIgOzsKCSAgZXNhYwoJZG9uZQogICAgICBmaQoK
ICAgICAgIyBOb3cgaGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aHMKICAgICAgcnBhdGg9CiAgICAg
IGhhcmRjb2RlX2xpYmRpcnM9CiAgICAgIGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGggJGZp
bmFsaXplX3JwYXRoOyBkbwoJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMi
OyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJ
ICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoJICAgICAgaGFyZGNvZGVf
bGliZGlycz0iJGxpYmRpciIKCSAgICBlbHNlCgkgICAgICAjIEp1c3QgYWNjdW11bGF0ZSB0aGUg
dW5pcXVlIGxpYmRpcnMuCgkgICAgICBjYXNlICRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGhh
cmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciBpbgoJICAgICAgKiIkaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIq
KQoJCTs7CgkgICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnM9IiRoYXJkY29kZV9saWJkaXJzJGhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2FjCgkgICAgZmkK
CSAgZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKCSAg
ICBycGF0aD0iJHJwYXRoICRmbGFnIgoJICBmaQoJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIi
OyB0aGVuCgkgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAg
KikgcGVybV9ycGF0aD0iJHBlcm1fcnBhdGggJGxpYmRpciIgOzsKCSAgZXNhYwoJZmkKCWNhc2Ug
JGhvc3QgaW4KCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIq
KQoJICBjYXNlIDokZGxsc2VhcmNocGF0aDogaW4KCSAgKiI6JGxpYmRpcjoiKikgOzsKCSAgKikg
ZGxsc2VhcmNocGF0aD0iJGRsbHNlYXJjaHBhdGg6JGxpYmRpciI7OwoJICBlc2FjCgkgIDs7Cgll
c2FjCiAgICAgIGRvbmUKICAgICAgIyBTdWJzdGl0dXRlIHRoZSBoYXJkY29kZWQgbGliZGlycyBp
bnRvIHRoZSBycGF0aC4KICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3IiICYmCgkgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCglsaWJkaXI9IiRoYXJk
Y29kZV9saWJkaXJzIgoJZXZhbCBycGF0aD1cIiAkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wi
CiAgICAgIGZpCiAgICAgIGNvbXBpbGVfcnBhdGg9IiRycGF0aCIKCiAgICAgIHJwYXRoPQogICAg
ICBoYXJkY29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRmaW5hbGl6ZV9ycGF0aDsg
ZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJICBpZiB0
ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCSAgICBpZiB0ZXN0IC16
ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJk
aXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJz
LgoJICAgICAgY2FzZSAkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJz
JGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgaW4KCSAgICAgICoiJGhhcmRjb2RlX2xpYmRpcl9z
ZXBhcmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiKikKCQk7OwoJICAgICAg
KikKCQloYXJkY29kZV9saWJkaXJzPSIkaGFyZGNvZGVfbGliZGlycyRoYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yJGxpYmRpciIKCQk7OwoJICAgICAgZXNhYwoJICAgIGZpCgkgIGVsc2UKCSAgICBl
dmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkgICAgcnBhdGg9IiRycGF0
aCAkZmxhZyIKCSAgZmkKCWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJICBjYXNl
ICIkZmluYWxpemVfcGVybV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIGZp
bmFsaXplX3Blcm1fcnBhdGg9IiRmaW5hbGl6ZV9wZXJtX3JwYXRoICRsaWJkaXIiIDs7CgkgIGVz
YWMKCWZpCiAgICAgIGRvbmUKICAgICAgIyBTdWJzdGl0dXRlIHRoZSBoYXJkY29kZWQgbGliZGly
cyBpbnRvIHRoZSBycGF0aC4KICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBh
cmF0b3IiICYmCgkgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCglsaWJkaXI9IiRo
YXJkY29kZV9saWJkaXJzIgoJZXZhbCBycGF0aD1cIiAkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3Bl
Y1wiCiAgICAgIGZpCiAgICAgIGZpbmFsaXplX3JwYXRoPSIkcnBhdGgiCgogICAgICBpZiB0ZXN0
IC1uICIkbGlib2JqcyIgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgoJIyBU
cmFuc2Zvcm0gYWxsIHRoZSBsaWJyYXJ5IG9iamVjdHMgaW50byBzdGFuZGFyZCBvYmplY3RzLgoJ
Y29tcGlsZV9jb21tYW5kPWAkZWNobyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFNQMk5MIHwgJFhz
ZWQgLWUgIiRsbzJvIiB8ICROTDJTUGAKCWZpbmFsaXplX2NvbW1hbmQ9YCRlY2hvICJYJGZpbmFs
aXplX2NvbW1hbmQiIHwgJFNQMk5MIHwgJFhzZWQgLWUgIiRsbzJvIiB8ICROTDJTUGAKICAgICAg
ZmkKCiAgICAgIGRsc3ltcz0KICAgICAgaWYgdGVzdCAtbiAiJGRsZmlsZXMkZGxwcmVmaWxlcyIg
fHwgdGVzdCAiJGRsc2VsZiIgIT0gbm87IHRoZW4KCWlmIHRlc3QgLW4gIiROTSIgJiYgdGVzdCAt
biAiJGdsb2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KCSAgZGxzeW1zPSIke291dHB1dG5hbWV9Uy5j
IgoJZWxzZQoJICAkZWNobyAiJG1vZGVuYW1lOiBub3QgY29uZmlndXJlZCB0byBleHRyYWN0IGds
b2JhbCBzeW1ib2xzIGZyb20gZGxwcmVvcGVuZWQgZmlsZXMiIDE+JjIKCWZpCiAgICAgIGZpCgog
ICAgICBpZiB0ZXN0IC1uICIkZGxzeW1zIjsgdGhlbgoJY2FzZSAkZGxzeW1zIGluCgkiIikgOzsK
CSouYykKCSAgIyBEaXNjb3ZlciB0aGUgbmxpc3Qgb2YgZWFjaCBvZiB0aGUgZGxmaWxlcy4KCSAg
bmxpc3Q9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX0ubm0iCgoJICAkc2hvdyAiJHJtICRu
bGlzdCAke25saXN0fVMgJHtubGlzdH1UIgoJICAkcnVuICRybSAiJG5saXN0IiAiJHtubGlzdH1T
IiAiJHtubGlzdH1UIgoKCSAgIyBQYXJzZSB0aGUgbmFtZSBsaXN0IGludG8gYSBzb3VyY2UgZmls
ZS4KCSAgJHNob3cgImNyZWF0aW5nICRvdXRwdXRfb2JqZGlyLyRkbHN5bXMiCgoJICB0ZXN0IC16
ICIkcnVuIiAmJiAkZWNobyA+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIiAiXAovKiAkZGxzeW1z
IC0gc3ltYm9sIHJlc29sdXRpb24gdGFibGUgZm9yIFxgJG91dHB1dG5hbWUnIGRsc3ltIGVtdWxh
dGlvbi4gKi8KLyogR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIC0gR05VICRQQUNLQUdFICRWRVJTSU9O
JFRJTUVTVEFNUCAqLwoKI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiBcIkNcIiB7CiNlbmRpZgoK
LyogUHJldmVudCB0aGUgb25seSBraW5kIG9mIGRlY2xhcmF0aW9uIGNvbmZsaWN0cyB3ZSBjYW4g
bWFrZS4gKi8KI2RlZmluZSBsdF9wcmVsb2FkZWRfc3ltYm9scyBzb21lX290aGVyX3N5bWJvbAoK
LyogRXh0ZXJuYWwgc3ltYm9sIGRlY2xhcmF0aW9ucyBmb3IgdGhlIGNvbXBpbGVyLiAqL1wKIgoK
CSAgaWYgdGVzdCAiJGRsc2VsZiIgPSB5ZXM7IHRoZW4KCSAgICAkc2hvdyAiZ2VuZXJhdGluZyBz
eW1ib2wgbGlzdCBmb3IgXGAkb3V0cHV0JyIKCgkgICAgdGVzdCAteiAiJHJ1biIgJiYgJGVjaG8g
JzogQFBST0dSQU1AICcgPiAiJG5saXN0IgoKCSAgICAjIEFkZCBvdXIgb3duIHByb2dyYW0gb2Jq
ZWN0cyB0byB0aGUgc3ltYm9sIGxpc3QuCgkgICAgcHJvZ2ZpbGVzPWAkZWNobyAiWCRvYmpzJG9s
ZF9kZXBsaWJzIiB8ICRTUDJOTCB8ICRYc2VkIC1lICIkbG8ybyIgfCAkTkwyU1BgCgkgICAgZm9y
IGFyZyBpbiAkcHJvZ2ZpbGVzOyBkbwoJICAgICAgJHNob3cgImV4dHJhY3RpbmcgZ2xvYmFsIEMg
c3ltYm9scyBmcm9tIFxgJGFyZyciCgkgICAgICAkcnVuIGV2YWwgIiROTSAkYXJnIHwgJGdsb2Jh
bF9zeW1ib2xfcGlwZSA+PiAnJG5saXN0JyIKCSAgICBkb25lCgoJICAgIGlmIHRlc3QgLW4gIiRl
eGNsdWRlX2V4cHN5bXMiOyB0aGVuCgkgICAgICAkcnVuIGV2YWwgJyRFR1JFUCAtdiAiICgkZXhj
bHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAgJHJ1biBldmFsICck
bXYgIiRubGlzdCJUICIkbmxpc3QiJwoJICAgIGZpCgoJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRf
c3ltYm9sc19yZWdleCI7IHRoZW4KCSAgICAgICRydW4gZXZhbCAnJEVHUkVQIC1lICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAgJHJ1biBldmFsICck
bXYgIiRubGlzdCJUICIkbmxpc3QiJwoJICAgIGZpCgoJICAgICMgUHJlcGFyZSB0aGUgbGlzdCBv
ZiBleHBvcnRlZCBzeW1ib2xzCgkgICAgaWYgdGVzdCAteiAiJGV4cG9ydF9zeW1ib2xzIjsgdGhl
bgoJICAgICAgZXhwb3J0X3N5bWJvbHM9IiRvdXRwdXRfb2JqZGlyLyRvdXRwdXQuZXhwIgoJICAg
ICAgJHJ1biAkcm0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICAkcnVuIGV2YWwgIiR7U0VEfSAtbiAt
ZSAnL146IEBQUk9HUkFNQCQvZCcgLWUgJ3MvXi4qIFwoLipcKSQvXDEvcCcgIic8ICIkbmxpc3Qi
ID4gIiRleHBvcnRfc3ltYm9scyInCgkgICAgZWxzZQoJICAgICAgJHJ1biBldmFsICIke1NFRH0g
LWUgJ3MvXChbXVsuKl4kXVwpL1xcXDEvZycgLWUgJ3MvXi8gLycgLWUgJ3MvJC8kLyciJyA8ICIk
ZXhwb3J0X3N5bWJvbHMiID4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXQuZXhwIicKCSAgICAgICRy
dW4gZXZhbCAnZ3JlcCAtZiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dC5leHAiIDwgIiRubGlzdCIg
PiAiJG5saXN0IlQnCgkgICAgICAkcnVuIGV2YWwgJ212ICIkbmxpc3QiVCAiJG5saXN0IicKCSAg
ICBmaQoJICBmaQoKCSAgZm9yIGFyZyBpbiAkZGxwcmVmaWxlczsgZG8KCSAgICAkc2hvdyAiZXh0
cmFjdGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkYXJnJyIKCSAgICBuYW1lPWAkZWNobyAi
JGFyZyIgfCAke1NFRH0gLWUgJ3MlXi4qLyUlJ2AKCSAgICAkcnVuIGV2YWwgJyRlY2hvICI6ICRu
YW1lICIgPj4gIiRubGlzdCInCgkgICAgJHJ1biBldmFsICIkTk0gJGFyZyB8ICRnbG9iYWxfc3lt
Ym9sX3BpcGUgPj4gJyRubGlzdCciCgkgIGRvbmUKCgkgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVu
CgkgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhdCBsZWFzdCBhbiBlbXB0eSBmaWxlLgoJICAgIHRl
c3QgLWYgIiRubGlzdCIgfHwgOiA+ICIkbmxpc3QiCgoJICAgIGlmIHRlc3QgLW4gIiRleGNsdWRl
X2V4cHN5bXMiOyB0aGVuCgkgICAgICAkRUdSRVAgLXYgIiAoJGV4Y2x1ZGVfZXhwc3ltcykkIiAi
JG5saXN0IiA+ICIkbmxpc3QiVAoJICAgICAgJG12ICIkbmxpc3QiVCAiJG5saXN0IgoJICAgIGZp
CgoJICAgICMgVHJ5IHNvcnRpbmcgYW5kIHVuaXF1aWZ5aW5nIHRoZSBvdXRwdXQuCgkgICAgaWYg
Z3JlcCAtdiAiXjogIiA8ICIkbmxpc3QiIHwKCQlpZiBzb3J0IC1rIDMgPC9kZXYvbnVsbCA+L2Rl
di9udWxsIDI+JjE7IHRoZW4KCQkgIHNvcnQgLWsgMwoJCWVsc2UKCQkgIHNvcnQgKzIKCQlmaSB8
CgkJdW5pcSA+ICIkbmxpc3QiUzsgdGhlbgoJICAgICAgOgoJICAgIGVsc2UKCSAgICAgIGdyZXAg
LXYgIl46ICIgPCAiJG5saXN0IiA+ICIkbmxpc3QiUwoJICAgIGZpCgoJICAgIGlmIHRlc3QgLWYg
IiRubGlzdCJTOyB0aGVuCgkgICAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19jZGVjbCInIDwg
IiRubGlzdCJTID4+ICIkb3V0cHV0X29iamRpci8kZGxzeW1zIicKCSAgICBlbHNlCgkgICAgICAk
ZWNobyAnLyogTk9ORSAqLycgPj4gIiRvdXRwdXRfb2JqZGlyLyRkbHN5bXMiCgkgICAgZmkKCgkg
ICAgJGVjaG8gPj4gIiRvdXRwdXRfb2JqZGlyLyRkbHN5bXMiICJcCgojdW5kZWYgbHRfcHJlbG9h
ZGVkX3N5bWJvbHMKCiNpZiBkZWZpbmVkIChfX1NURENfXykgJiYgX19TVERDX18KIyBkZWZpbmUg
bHRfcHRyIHZvaWQgKgojZWxzZQojIGRlZmluZSBsdF9wdHIgY2hhciAqCiMgZGVmaW5lIGNvbnN0
CiNlbmRpZgoKLyogVGhlIG1hcHBpbmcgYmV0d2VlbiBzeW1ib2wgbmFtZXMgYW5kIHN5bWJvbHMu
ICovCmNvbnN0IHN0cnVjdCB7CiAgY29uc3QgY2hhciAqbmFtZTsKICBsdF9wdHIgYWRkcmVzczsK
fQpsdF9wcmVsb2FkZWRfc3ltYm9sc1tdID0Ke1wKIgoKCSAgICBldmFsICIkZ2xvYmFsX3N5bWJv
bF90b19jX25hbWVfYWRkcmVzcyIgPCAiJG5saXN0IiA+PiAiJG91dHB1dF9vYmpkaXIvJGRsc3lt
cyIKCgkgICAgJGVjaG8gPj4gIiRvdXRwdXRfb2JqZGlyLyRkbHN5bXMiICJcCiAgezAsIChsdF9w
dHIpIDB9Cn07CgovKiBUaGlzIHdvcmtzIGFyb3VuZCBhIHByb2JsZW0gaW4gRnJlZUJTRCBsaW5r
ZXIgKi8KI2lmZGVmIEZSRUVCU0RfV09SS0FST1VORApzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJl
bG9hZGVkX3NldHVwKCkgewogIHJldHVybiBsdF9wcmVsb2FkZWRfc3ltYm9sczsKfQojZW5kaWYK
CiNpZmRlZiBfX2NwbHVzcGx1cwp9CiNlbmRpZlwKIgoJICBmaQoKCSAgcGljX2ZsYWdfZm9yX3N5
bXRhYmxlPQoJICBjYXNlICRob3N0IGluCgkgICMgY29tcGlsaW5nIHRoZSBzeW1ib2wgdGFibGUg
ZmlsZSB3aXRoIHBpY19mbGFnIHdvcmtzIGFyb3VuZAoJICAjIGEgRnJlZUJTRCBidWcgdGhhdCBj
YXVzZXMgcHJvZ3JhbXMgdG8gY3Jhc2ggd2hlbiAtbG0gaXMKCSAgIyBsaW5rZWQgYmVmb3JlIGFu
eSBvdGhlciBQSUMgb2JqZWN0LiAgQnV0IHdlIG11c3Qgbm90IHVzZQoJICAjIHBpY19mbGFnIHdo
ZW4gbGlua2luZyB3aXRoIC1zdGF0aWMuICBUaGUgcHJvYmxlbSBleGlzdHMgaW4KCSAgIyBGcmVl
QlNEIDIuMi42IGFuZCBpcyBmaXhlZCBpbiBGcmVlQlNEIDMuMS4KCSAgKi0qLWZyZWVic2QyKnwq
LSotZnJlZWJzZDMuMCp8Ki0qLWZyZWVic2RlbGYzLjAqKQoJICAgIGNhc2UgIiRjb21waWxlX2Nv
bW1hbmQgIiBpbgoJICAgICoiIC1zdGF0aWMgIiopIDs7CgkgICAgKikgcGljX2ZsYWdfZm9yX3N5
bXRhYmxlPSIgJHBpY19mbGFnIC1ERlJFRUJTRF9XT1JLQVJPVU5EIjs7CgkgICAgZXNhYzs7Cgkg
ICotKi1ocHV4KikKCSAgICBjYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4KCSAgICAqIiAtc3Rh
dGljICIqKSA7OwoJICAgICopIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyI7OwoJ
ICAgIGVzYWMKCSAgZXNhYwoKCSAgIyBOb3cgY29tcGlsZSB0aGUgZHluYW1pYyBzeW1ib2wgZmls
ZS4KCSAgJHNob3cgIihjZCAkb3V0cHV0X29iamRpciAmJiAkTFRDQyAtYyRub19idWlsdGluX2Zs
YWckcGljX2ZsYWdfZm9yX3N5bXRhYmxlIFwiJGRsc3ltc1wiKSIKCSAgJHJ1biBldmFsICcoY2Qg
JG91dHB1dF9vYmpkaXIgJiYgJExUQ0MgLWMkbm9fYnVpbHRpbl9mbGFnJHBpY19mbGFnX2Zvcl9z
eW10YWJsZSAiJGRsc3ltcyIpJyB8fCBleGl0ICQ/CgoJICAjIENsZWFuIHVwIHRoZSBnZW5lcmF0
ZWQgZmlsZXMuCgkgICRzaG93ICIkcm0gJG91dHB1dF9vYmpkaXIvJGRsc3ltcyAkbmxpc3QgJHtu
bGlzdH1TICR7bmxpc3R9VCIKCSAgJHJ1biAkcm0gIiRvdXRwdXRfb2JqZGlyLyRkbHN5bXMiICIk
bmxpc3QiICIke25saXN0fVMiICIke25saXN0fVQiCgoJICAjIFRyYW5zZm9ybSB0aGUgc3ltYm9s
IGZpbGUgaW50byB0aGUgY29ycmVjdCBuYW1lLgoJICBjb21waWxlX2NvbW1hbmQ9YCRlY2hvICJY
JGNvbXBpbGVfY29tbWFuZCIgfCAkWHNlZCAtZSAicyVAU1lNRklMRUAlJG91dHB1dF9vYmpkaXIv
JHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9JSJgCgkgIGZpbmFsaXplX2NvbW1hbmQ9YCRlY2hvICJY
JGZpbmFsaXplX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlQFNZTUZJTEVAJSRvdXRwdXRfb2JqZGly
LyR7b3V0cHV0bmFtZX1TLiR7b2JqZXh0fSUiYAoJICA7OwoJKikKCSAgJGVjaG8gIiRtb2RlbmFt
ZTogdW5rbm93biBzdWZmaXggZm9yIFxgJGRsc3ltcyciIDE+JjIKCSAgZXhpdCAkRVhJVF9GQUlM
VVJFCgkgIDs7Cgllc2FjCiAgICAgIGVsc2UKCSMgV2Uga2VlcCBnb2luZyBqdXN0IGluIGNhc2Ug
dGhlIHVzZXIgZGlkbid0IHJlZmVyIHRvCgkjIGx0X3ByZWxvYWRlZF9zeW1ib2xzLiAgVGhlIGxp
bmtlciB3aWxsIGZhaWwgaWYgZ2xvYmFsX3N5bWJvbF9waXBlCgkjIHJlYWxseSB3YXMgcmVxdWly
ZWQuCgoJIyBOdWxsaWZ5IHRoZSBzeW1ib2wgZmlsZS4KCWNvbXBpbGVfY29tbWFuZD1gJGVjaG8g
IlgkY29tcGlsZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJSBAU1lNRklMRUAlJSJgCglmaW5hbGl6
ZV9jb21tYW5kPWAkZWNobyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJSBAU1lN
RklMRUAlJSJgCiAgICAgIGZpCgogICAgICBpZiB0ZXN0ICIkbmVlZF9yZWxpbmsiID0gbm8gfHwg
dGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVuCgkjIFJlcGxhY2UgdGhlIG91
dHB1dCBmaWxlIHNwZWNpZmljYXRpb24uCgljb21waWxlX2NvbW1hbmQ9YCRlY2hvICJYJGNvbXBp
bGVfY29tbWFuZCIgfCAkWHNlZCAtZSAncyVAT1VUUFVUQCUnIiRvdXRwdXQiJyVnJ2AKCWxpbmtf
Y29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoKCSMgV2UgaGF2ZSBubyB1
bmluc3RhbGxlZCBsaWJyYXJ5IGRlcGVuZGVuY2llcywgc28gZmluYWxpemUgcmlnaHQgbm93LgoJ
JHNob3cgIiRsaW5rX2NvbW1hbmQiCgkkcnVuIGV2YWwgIiRsaW5rX2NvbW1hbmQiCglzdGF0dXM9
JD8KCgkjIERlbGV0ZSB0aGUgZ2VuZXJhdGVkIGZpbGVzLgoJaWYgdGVzdCAtbiAiJGRsc3ltcyI7
IHRoZW4KCSAgJHNob3cgIiRybSAkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9Uy4ke29iamV4
dH0iCgkgICRydW4gJHJtICIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9Uy4ke29iamV4dH0i
CglmaQoKCWV4aXQgJHN0YXR1cwogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJHNobGlicGF0
aF92YXIiOyB0aGVuCgkjIFdlIHNob3VsZCBzZXQgdGhlIHNobGlicGF0aF92YXIKCXJwYXRoPQoJ
Zm9yIGRpciBpbiAkdGVtcF9ycGF0aDsgZG8KCSAgY2FzZSAkZGlyIGluCgkgIFtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikKCSAgICAjIEFic29sdXRlIHBhdGguCgkgICAgcnBhdGg9IiRycGF0aCRk
aXI6IgoJICAgIDs7CgkgICopCgkgICAgIyBSZWxhdGl2ZSBwYXRoOiBhZGQgYSB0aGlzZGlyIGVu
dHJ5LgoJICAgIHJwYXRoPSIkcnBhdGhcJHRoaXNkaXIvJGRpcjoiCgkgICAgOzsKCSAgZXNhYwoJ
ZG9uZQoJdGVtcF9ycGF0aD0iJHJwYXRoIgogICAgICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGNv
bXBpbGVfc2hsaWJwYXRoJGZpbmFsaXplX3NobGlicGF0aCI7IHRoZW4KCWNvbXBpbGVfY29tbWFu
ZD0iJHNobGlicGF0aF92YXI9XCIkY29tcGlsZV9zaGxpYnBhdGgkZmluYWxpemVfc2hsaWJwYXRo
XCQkc2hsaWJwYXRoX3ZhclwiICRjb21waWxlX2NvbW1hbmQiCiAgICAgIGZpCiAgICAgIGlmIHRl
c3QgLW4gIiRmaW5hbGl6ZV9zaGxpYnBhdGgiOyB0aGVuCglmaW5hbGl6ZV9jb21tYW5kPSIkc2hs
aWJwYXRoX3Zhcj1cIiRmaW5hbGl6ZV9zaGxpYnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIgJGZpbmFs
aXplX2NvbW1hbmQiCiAgICAgIGZpCgogICAgICBjb21waWxlX3Zhcj0KICAgICAgZmluYWxpemVf
dmFyPQogICAgICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCglpZiB0ZXN0IC1uICIk
cGVybV9ycGF0aCI7IHRoZW4KCSAgIyBXZSBzaG91bGQgc2V0IHRoZSBydW5wYXRoX3Zhci4KCSAg
cnBhdGg9CgkgIGZvciBkaXIgaW4gJHBlcm1fcnBhdGg7IGRvCgkgICAgcnBhdGg9IiRycGF0aCRk
aXI6IgoJICBkb25lCgkgIGNvbXBpbGVfdmFyPSIkcnVucGF0aF92YXI9XCIkcnBhdGhcJCRydW5w
YXRoX3ZhclwiICIKCWZpCglpZiB0ZXN0IC1uICIkZmluYWxpemVfcGVybV9ycGF0aCI7IHRoZW4K
CSAgIyBXZSBzaG91bGQgc2V0IHRoZSBydW5wYXRoX3Zhci4KCSAgcnBhdGg9CgkgIGZvciBkaXIg
aW4gJGZpbmFsaXplX3Blcm1fcnBhdGg7IGRvCgkgICAgcnBhdGg9IiRycGF0aCRkaXI6IgoJICBk
b25lCgkgIGZpbmFsaXplX3Zhcj0iJHJ1bnBhdGhfdmFyPVwiJHJwYXRoXCQkcnVucGF0aF92YXJc
IiAiCglmaQogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJG5vX2luc3RhbGwiID0geWVzOyB0aGVu
CgkjIFdlIGRvbid0IG5lZWQgdG8gY3JlYXRlIGEgd3JhcHBlciBzY3JpcHQuCglsaW5rX2NvbW1h
bmQ9IiRjb21waWxlX3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0aCIKCSMgUmVwbGFj
ZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KCWxpbmtfY29tbWFuZD1gJGVjaG8gIlgk
bGlua19jb21tYW5kIiB8ICRYc2VkIC1lICdzJUBPVVRQVVRAJSciJG91dHB1dCInJWcnYAoJIyBE
ZWxldGUgdGhlIG9sZCBvdXRwdXQgZmlsZS4KCSRydW4gJHJtICRvdXRwdXQKCSMgTGluayB0aGUg
ZXhlY3V0YWJsZSBhbmQgZXhpdAoJJHNob3cgIiRsaW5rX2NvbW1hbmQiCgkkcnVuIGV2YWwgIiRs
aW5rX2NvbW1hbmQiIHx8IGV4aXQgJD8KCWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAg
ICAgaWYgdGVzdCAiJGhhcmRjb2RlX2FjdGlvbiIgPSByZWxpbms7IHRoZW4KCSMgRmFzdCBpbnN0
YWxsYXRpb24gaXMgbm90IHN1cHBvcnRlZAoJbGlua19jb21tYW5kPSIkY29tcGlsZV92YXIkY29t
cGlsZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiCglyZWxpbmtfY29tbWFuZD0iJGZpbmFsaXplX3Zh
ciRmaW5hbGl6ZV9jb21tYW5kJGZpbmFsaXplX3JwYXRoIgoKCSRlY2hvICIkbW9kZW5hbWU6IHdh
cm5pbmc6IHRoaXMgcGxhdGZvcm0gZG9lcyBub3QgbGlrZSB1bmluc3RhbGxlZCBzaGFyZWQgbGli
cmFyaWVzIiAxPiYyCgkkZWNobyAiJG1vZGVuYW1lOiBcYCRvdXRwdXQnIHdpbGwgYmUgcmVsaW5r
ZWQgZHVyaW5nIGluc3RhbGxhdGlvbiIgMT4mMgogICAgICBlbHNlCglpZiB0ZXN0ICIkZmFzdF9p
bnN0YWxsIiAhPSBubzsgdGhlbgoJICBsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92YXIkY29tcGls
ZV9jb21tYW5kJGZpbmFsaXplX3JwYXRoIgoJICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IHll
czsgdGhlbgoJICAgIHJlbGlua19jb21tYW5kPWAkZWNobyAiWCRjb21waWxlX3ZhciRjb21waWxl
X2NvbW1hbmQkY29tcGlsZV9ycGF0aCIgfCAkWHNlZCAtZSAncyVAT1VUUFVUQCVcJHByb2dkaXIv
XCRmaWxlJWcnYAoJICBlbHNlCgkgICAgIyBmYXN0X2luc3RhbGwgaXMgc2V0IHRvIG5lZWRsZXNz
CgkgICAgcmVsaW5rX2NvbW1hbmQ9CgkgIGZpCgllbHNlCgkgIGxpbmtfY29tbWFuZD0iJGNvbXBp
bGVfdmFyJGNvbXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoJICByZWxpbmtfY29tbWFuZD0i
JGZpbmFsaXplX3ZhciRmaW5hbGl6ZV9jb21tYW5kJGZpbmFsaXplX3JwYXRoIgoJZmkKICAgICAg
ZmkKCiAgICAgICMgUmVwbGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KICAgICAg
bGlua19jb21tYW5kPWAkZWNobyAiWCRsaW5rX2NvbW1hbmQiIHwgJFhzZWQgLWUgJ3MlQE9VVFBV
VEAlJyIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSInJWcnYAoKICAgICAgIyBEZWxldGUgdGhl
IG9sZCBvdXRwdXQgZmlsZXMuCiAgICAgICRydW4gJHJtICRvdXRwdXQgJG91dHB1dF9vYmpkaXIv
JG91dHB1dG5hbWUgJG91dHB1dF9vYmpkaXIvbHQtJG91dHB1dG5hbWUKCiAgICAgICRzaG93ICIk
bGlua19jb21tYW5kIgogICAgICAkcnVuIGV2YWwgIiRsaW5rX2NvbW1hbmQiIHx8IGV4aXQgJD8K
CiAgICAgICMgTm93IGNyZWF0ZSB0aGUgd3JhcHBlciBzY3JpcHQuCiAgICAgICRzaG93ICJjcmVh
dGluZyAkb3V0cHV0IgoKICAgICAgIyBRdW90ZSB0aGUgcmVsaW5rIGNvbW1hbmQgZm9yIHNoaXBw
aW5nLgogICAgICBpZiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkjIFByZXNlcnZl
IGFueSB2YXJpYWJsZXMgdGhhdCBtYXkgYWZmZWN0IGNvbXBpbGVyIGJlaGF2aW9yCglmb3IgdmFy
IGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KCSAgaWYgZXZhbCB0ZXN0IC16IFwi
XCR7JHZhcitzZXR9XCI7IHRoZW4KCSAgICByZWxpbmtfY29tbWFuZD0ieyB0ZXN0IC16IFwiXCR7
JHZhcitzZXR9XCIgfHwgdW5zZXQgJHZhciB8fCB7ICR2YXI9OyBleHBvcnQgJHZhcjsgfTsgfTsg
JHJlbGlua19jb21tYW5kIgoJICBlbGlmIGV2YWwgdmFyX3ZhbHVlPVwkJHZhcjsgdGVzdCAteiAi
JHZhcl92YWx1ZSI7IHRoZW4KCSAgICByZWxpbmtfY29tbWFuZD0iJHZhcj07IGV4cG9ydCAkdmFy
OyAkcmVsaW5rX2NvbW1hbmQiCgkgIGVsc2UKCSAgICB2YXJfdmFsdWU9YCRlY2hvICJYJHZhcl92
YWx1ZSIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCgkgICAgcmVsaW5rX2NvbW1hbmQ9
IiR2YXI9XCIkdmFyX3ZhbHVlXCI7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCgkgIGZp
Cglkb25lCglyZWxpbmtfY29tbWFuZD0iKGNkIGBwd2RgOyAkcmVsaW5rX2NvbW1hbmQpIgoJcmVs
aW5rX2NvbW1hbmQ9YCRlY2hvICJYJHJlbGlua19jb21tYW5kIiB8ICRYc2VkIC1lICIkc2VkX3F1
b3RlX3N1YnN0ImAKICAgICAgZmkKCiAgICAgICMgUXVvdGUgJGVjaG8gZm9yIHNoaXBwaW5nLgog
ICAgICBpZiB0ZXN0ICJYJGVjaG8iID0gIlgkU0hFTEwgJHByb2dwYXRoIC0tZmFsbGJhY2stZWNo
byI7IHRoZW4KCWNhc2UgJHByb2dwYXRoIGluCglbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIHFl
Y2hvPSIkU0hFTEwgJHByb2dwYXRoIC0tZmFsbGJhY2stZWNobyI7OwoJKikgcWVjaG89IiRTSEVM
TCBgcHdkYC8kcHJvZ3BhdGggLS1mYWxsYmFjay1lY2hvIjs7Cgllc2FjCglxZWNobz1gJGVjaG8g
IlgkcWVjaG8iIHwgJFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBlbHNlCglxZWNo
bz1gJGVjaG8gIlgkZWNobyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCiAgICAgIGZp
CgogICAgICAjIE9ubHkgYWN0dWFsbHkgZG8gdGhpbmdzIGlmIG91ciBydW4gY29tbWFuZCBpcyBu
b24tbnVsbC4KICAgICAgaWYgdGVzdCAteiAiJHJ1biI7IHRoZW4KCSMgd2luMzIgd2lsbCB0aGlu
ayB0aGUgc2NyaXB0IGlzIGEgYmluYXJ5IGlmIGl0IGhhcwoJIyBhIC5leGUgc3VmZml4LCBzbyB3
ZSBzdHJpcCBpdCBvZmYgaGVyZS4KCWNhc2UgJG91dHB1dCBpbgoJICAqLmV4ZSkgb3V0cHV0PWAk
ZWNobyAkb3V0cHV0fCR7U0VEfSAncywuZXhlJCwsJ2AgOzsKCWVzYWMKCSMgdGVzdCBmb3IgY3ln
d2luIGJlY2F1c2UgbXYgZmFpbHMgdy9vIC5leGUgZXh0ZW5zaW9ucwoJY2FzZSAkaG9zdCBpbgoJ
ICAqY3lnd2luKikKCSAgICBleGVleHQ9LmV4ZQoJICAgIG91dHB1dG5hbWU9YCRlY2hvICRvdXRw
dXRuYW1lfCR7U0VEfSAncywuZXhlJCwsJ2AgOzsKCSAgKikgZXhlZXh0PSA7OwoJZXNhYwoJY2Fz
ZSAkaG9zdCBpbgoJICAqY3lnd2luKiB8ICptaW5ndyogKQoJICAgIGN3cmFwcGVyc291cmNlPWAk
ZWNobyAke29iamRpcn0vbHQtJHtvdXRwdXR9LmNgCgkgICAgY3dyYXBwZXI9YCRlY2hvICR7b3V0
cHV0fS5leGVgCgkgICAgJHJtICRjd3JhcHBlcnNvdXJjZSAkY3dyYXBwZXIKCSAgICB0cmFwICIk
cm0gJGN3cmFwcGVyc291cmNlICRjd3JhcHBlcjsgZXhpdCAkRVhJVF9GQUlMVVJFIiAxIDIgMTUK
CgkgICAgY2F0ID4gJGN3cmFwcGVyc291cmNlIDw8RU9GCgovKiAkY3dyYXBwZXJzb3VyY2UgLSB0
ZW1wb3Jhcnkgd3JhcHBlciBleGVjdXRhYmxlIGZvciAkb2JqZGlyLyRvdXRwdXRuYW1lCiAgIEdl
bmVyYXRlZCBieSAkUFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RBTVAKCiAg
IFRoZSAkb3V0cHV0IHByb2dyYW0gY2Fubm90IGJlIGRpcmVjdGx5IGV4ZWN1dGVkIHVudGlsIGFs
bCB0aGUgbGlidG9vbAogICBsaWJyYXJpZXMgdGhhdCBpdCBkZXBlbmRzIG9uIGFyZSBpbnN0YWxs
ZWQuCgogICBUaGlzIHdyYXBwZXIgZXhlY3V0YWJsZSBzaG91bGQgbmV2ZXIgYmUgbW92ZWQgb3V0
IG9mIHRoZSBidWlsZCBkaXJlY3RvcnkuCiAgIElmIGl0IGlzLCBpdCB3aWxsIG5vdCBvcGVyYXRl
IGNvcnJlY3RseS4KCiAgIEN1cnJlbnRseSwgaXQgc2ltcGx5IGV4ZWNzIHRoZSB3cmFwcGVyICpz
Y3JpcHQqICIvYmluL3NoICRvdXRwdXQiLAogICBidXQgY291bGQgZXZlbnR1YWxseSBhYnNvcmIg
YWxsIG9mIHRoZSBzY3JpcHRzIGZ1bmN0aW9uYWxpdHkgYW5kCiAgIGV4ZWMgJG9iamRpci8kb3V0
cHV0bmFtZSBkaXJlY3RseS4KKi8KRU9GCgkgICAgY2F0ID4+ICRjd3JhcHBlcnNvdXJjZTw8IkVP
RiIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0
ZC5oPgojaW5jbHVkZSA8bWFsbG9jLmg+CiNpbmNsdWRlIDxzdGRhcmcuaD4KI2luY2x1ZGUgPGFz
c2VydC5oPgoKI2lmIGRlZmluZWQoUEFUSF9NQVgpCiMgZGVmaW5lIExUX1BBVEhNQVggUEFUSF9N
QVgKI2VsaWYgZGVmaW5lZChNQVhQQVRITEVOKQojIGRlZmluZSBMVF9QQVRITUFYIE1BWFBBVEhM
RU4KI2Vsc2UKIyBkZWZpbmUgTFRfUEFUSE1BWCAxMDI0CiNlbmRpZgoKI2lmbmRlZiBESVJfU0VQ
QVJBVE9SCiNkZWZpbmUgRElSX1NFUEFSQVRPUiAnLycKI2VuZGlmCgojaWYgZGVmaW5lZCAoX1dJ
TjMyKSB8fCBkZWZpbmVkIChfX01TRE9TX18pIHx8IGRlZmluZWQgKF9fREpHUFBfXykgfHwgXAog
IGRlZmluZWQgKF9fT1MyX18pCiNkZWZpbmUgSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0KI2lm
bmRlZiBESVJfU0VQQVJBVE9SXzIKI2RlZmluZSBESVJfU0VQQVJBVE9SXzIgJ1xcJwojZW5kaWYK
I2VuZGlmCgojaWZuZGVmIERJUl9TRVBBUkFUT1JfMgojIGRlZmluZSBJU19ESVJfU0VQQVJBVE9S
KGNoKSAoKGNoKSA9PSBESVJfU0VQQVJBVE9SKQojZWxzZSAvKiBESVJfU0VQQVJBVE9SXzIgKi8K
IyBkZWZpbmUgSVNfRElSX1NFUEFSQVRPUihjaCkgXAogICAgICAgICgoKGNoKSA9PSBESVJfU0VQ
QVJBVE9SKSB8fCAoKGNoKSA9PSBESVJfU0VQQVJBVE9SXzIpKQojZW5kaWYgLyogRElSX1NFUEFS
QVRPUl8yICovCgojZGVmaW5lIFhNQUxMT0ModHlwZSwgbnVtKSAgICAgICgodHlwZSAqKSB4bWFs
bG9jICgobnVtKSAqIHNpemVvZih0eXBlKSkpCiNkZWZpbmUgWEZSRUUoc3RhbGUpIGRvIHsgXAog
IGlmIChzdGFsZSkgeyBmcmVlICgodm9pZCAqKSBzdGFsZSk7IHN0YWxlID0gMDsgfSBcCn0gd2hp
bGUgKDApCgpjb25zdCBjaGFyICpwcm9ncmFtX25hbWUgPSBOVUxMOwoKdm9pZCAqIHhtYWxsb2Mg
KHNpemVfdCBudW0pOwpjaGFyICogeHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKTsKY2hhciAq
IGJhc2VuYW1lIChjb25zdCBjaGFyICpuYW1lKTsKY2hhciAqIGZucXVhbGlmeShjb25zdCBjaGFy
ICpwYXRoKTsKY2hhciAqIHN0cmVuZHphcChjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnBhdCk7CnZv
aWQgbHRfZmF0YWwgKGNvbnN0IGNoYXIgKm1lc3NhZ2UsIC4uLik7CgppbnQKbWFpbiAoaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkKewogIGNoYXIgKipuZXdhcmd6OwogIGludCBpOwoKICBwcm9ncmFt
X25hbWUgPSAoY2hhciAqKSB4c3RyZHVwICgoY2hhciAqKSBiYXNlbmFtZSAoYXJndlswXSkpOwog
IG5ld2FyZ3ogPSBYTUFMTE9DKGNoYXIgKiwgYXJnYysyKTsKRU9GCgoJICAgIGNhdCA+PiAkY3dy
YXBwZXJzb3VyY2UgPDxFT0YKICBuZXdhcmd6WzBdID0gIiRTSEVMTCI7CkVPRgoKCSAgICBjYXQg
Pj4gJGN3cmFwcGVyc291cmNlIDw8IkVPRiIKICBuZXdhcmd6WzFdID0gZm5xdWFsaWZ5KGFyZ3Zb
MF0pOwogIC8qIHdlIGtub3cgdGhlIHNjcmlwdCBoYXMgdGhlIHNhbWUgbmFtZSwgd2l0aG91dCB0
aGUgLmV4ZSAqLwogIC8qIHNvIG1ha2Ugc3VyZSBuZXdhcmd6WzFdIGRvZXNuJ3QgZW5kIGluIC5l
eGUgKi8KICBzdHJlbmR6YXAobmV3YXJnelsxXSwiLmV4ZSIpOwogIGZvciAoaSA9IDE7IGkgPCBh
cmdjOyBpKyspCiAgICBuZXdhcmd6W2krMV0gPSB4c3RyZHVwKGFyZ3ZbaV0pOwogIG5ld2FyZ3pb
YXJnYysxXSA9IE5VTEw7CkVPRgoKCSAgICBjYXQgPj4gJGN3cmFwcGVyc291cmNlIDw8RU9GCiAg
ZXhlY3YoIiRTSEVMTCIsbmV3YXJneik7CkVPRgoKCSAgICBjYXQgPj4gJGN3cmFwcGVyc291cmNl
IDw8IkVPRiIKfQoKdm9pZCAqCnhtYWxsb2MgKHNpemVfdCBudW0pCnsKICB2b2lkICogcCA9ICh2
b2lkICopIG1hbGxvYyAobnVtKTsKICBpZiAoIXApCiAgICBsdF9mYXRhbCAoIk1lbW9yeSBleGhh
dXN0ZWQiKTsKCiAgcmV0dXJuIHA7Cn0KCmNoYXIgKgp4c3RyZHVwIChjb25zdCBjaGFyICpzdHJp
bmcpCnsKICByZXR1cm4gc3RyaW5nID8gc3RyY3B5ICgoY2hhciAqKSB4bWFsbG9jIChzdHJsZW4g
KHN0cmluZykgKyAxKSwgc3RyaW5nKSA6IE5VTEwKOwp9CgpjaGFyICoKYmFzZW5hbWUgKGNvbnN0
IGNoYXIgKm5hbWUpCnsKICBjb25zdCBjaGFyICpiYXNlOwoKI2lmIGRlZmluZWQgKEhBVkVfRE9T
X0JBU0VEX0ZJTEVfU1lTVEVNKQogIC8qIFNraXAgb3ZlciB0aGUgZGlzayBuYW1lIGluIE1TRE9T
IHBhdGhuYW1lcy4gKi8KICBpZiAoaXNhbHBoYSAobmFtZVswXSkgJiYgbmFtZVsxXSA9PSAnOicp
CiAgICBuYW1lICs9IDI7CiNlbmRpZgoKICBmb3IgKGJhc2UgPSBuYW1lOyAqbmFtZTsgbmFtZSsr
KQogICAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKCpuYW1lKSkKICAgICAgYmFzZSA9IG5hbWUgKyAx
OwogIHJldHVybiAoY2hhciAqKSBiYXNlOwp9CgpjaGFyICoKZm5xdWFsaWZ5KGNvbnN0IGNoYXIg
KnBhdGgpCnsKICBzaXplX3Qgc2l6ZTsKICBjaGFyICpwOwogIGNoYXIgdG1wW0xUX1BBVEhNQVgg
KyAxXTsKCiAgYXNzZXJ0KHBhdGggIT0gTlVMTCk7CgogIC8qIElzIGl0IHF1YWxpZmllZCBhbHJl
YWR5PyAqLwojaWYgZGVmaW5lZCAoSEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0pCiAgaWYgKGlz
YWxwaGEgKHBhdGhbMF0pICYmIHBhdGhbMV0gPT0gJzonKQogICAgcmV0dXJuIHhzdHJkdXAgKHBh
dGgpOwojZW5kaWYKICBpZiAoSVNfRElSX1NFUEFSQVRPUiAocGF0aFswXSkpCiAgICByZXR1cm4g
eHN0cmR1cCAocGF0aCk7CgogIC8qIHByZXBlbmQgdGhlIGN1cnJlbnQgZGlyZWN0b3J5ICovCiAg
LyogZG9lc24ndCBoYW5kbGUgJ34nICovCiAgaWYgKGdldGN3ZCAodG1wLCBMVF9QQVRITUFYKSA9
PSBOVUxMKQogICAgbHRfZmF0YWwgKCJnZXRjd2QgZmFpbGVkIik7CiAgc2l6ZSA9IHN0cmxlbih0
bXApICsgMSArIHN0cmxlbihwYXRoKSArIDE7IC8qICsyIGZvciAnLycgYW5kICdcMCcgKi8KICBw
ID0gWE1BTExPQyhjaGFyLCBzaXplKTsKICBzcHJpbnRmKHAsICIlcyVjJXMiLCB0bXAsIERJUl9T
RVBBUkFUT1IsIHBhdGgpOwogIHJldHVybiBwOwp9CgpjaGFyICoKc3RyZW5kemFwKGNoYXIgKnN0
ciwgY29uc3QgY2hhciAqcGF0KQp7CiAgc2l6ZV90IGxlbiwgcGF0bGVuOwoKICBhc3NlcnQoc3Ry
ICE9IE5VTEwpOwogIGFzc2VydChwYXQgIT0gTlVMTCk7CgogIGxlbiA9IHN0cmxlbihzdHIpOwog
IHBhdGxlbiA9IHN0cmxlbihwYXQpOwoKICBpZiAocGF0bGVuIDw9IGxlbikKICB7CiAgICBzdHIg
Kz0gbGVuIC0gcGF0bGVuOwogICAgaWYgKHN0cmNtcChzdHIsIHBhdCkgPT0gMCkKICAgICAgKnN0
ciA9ICdcMCc7CiAgfQogIHJldHVybiBzdHI7Cn0KCnN0YXRpYyB2b2lkCmx0X2Vycm9yX2NvcmUg
KGludCBleGl0X3N0YXR1cywgY29uc3QgY2hhciAqIG1vZGUsCiAgICAgICAgICBjb25zdCBjaGFy
ICogbWVzc2FnZSwgdmFfbGlzdCBhcCkKewogIGZwcmludGYgKHN0ZGVyciwgIiVzOiAlczogIiwg
cHJvZ3JhbV9uYW1lLCBtb2RlKTsKICB2ZnByaW50ZiAoc3RkZXJyLCBtZXNzYWdlLCBhcCk7CiAg
ZnByaW50ZiAoc3RkZXJyLCAiLlxuIik7CgogIGlmIChleGl0X3N0YXR1cyA+PSAwKQogICAgZXhp
dCAoZXhpdF9zdGF0dXMpOwp9Cgp2b2lkCmx0X2ZhdGFsIChjb25zdCBjaGFyICptZXNzYWdlLCAu
Li4pCnsKICB2YV9saXN0IGFwOwogIHZhX3N0YXJ0IChhcCwgbWVzc2FnZSk7CiAgbHRfZXJyb3Jf
Y29yZSAoRVhJVF9GQUlMVVJFLCAiRkFUQUwiLCBtZXNzYWdlLCBhcCk7CiAgdmFfZW5kIChhcCk7
Cn0KRU9GCgkgICMgd2Ugc2hvdWxkIHJlYWxseSB1c2UgYSBidWlsZC1wbGF0Zm9ybSBzcGVjaWZp
YyBjb21waWxlcgoJICAjIGhlcmUsIGJ1dCBPVE9ILCB0aGUgd3JhcHBlcnMgKHNoZWxsIHNjcmlw
dCBhbmQgdGhpcyBDIG9uZSkKCSAgIyBhcmUgb25seSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gZXhl
Y3V0ZSB0aGUgInJlYWwiIGJpbmFyeS4KCSAgIyBTaW5jZSB0aGUgInJlYWwiIGJpbmFyeSBpcyBi
dWlsdCBmb3IgJGhvc3QsIHRoZW4gdGhpcwoJICAjIHdyYXBwZXIgbWlnaHQgYXMgd2VsbCBiZSBi
dWlsdCBmb3IgJGhvc3QsIHRvby4KCSAgJHJ1biAkTFRDQyAtcyAtbyAkY3dyYXBwZXIgJGN3cmFw
cGVyc291cmNlCgkgIDs7Cgllc2FjCgkkcm0gJG91dHB1dAoJdHJhcCAiJHJtICRvdXRwdXQ7IGV4
aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1CgoJJGVjaG8gPiAkb3V0cHV0ICJcCiMhICRTSEVMTAoK
IyAkb3V0cHV0IC0gdGVtcG9yYXJ5IHdyYXBwZXIgc2NyaXB0IGZvciAkb2JqZGlyLyRvdXRwdXRu
YW1lCiMgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIC0gR05VICRQQUNLQUdFICRWRVJTSU9OJFRJTUVT
VEFNUAojCiMgVGhlICRvdXRwdXQgcHJvZ3JhbSBjYW5ub3QgYmUgZGlyZWN0bHkgZXhlY3V0ZWQg
dW50aWwgYWxsIHRoZSBsaWJ0b29sCiMgbGlicmFyaWVzIHRoYXQgaXQgZGVwZW5kcyBvbiBhcmUg
aW5zdGFsbGVkLgojCiMgVGhpcyB3cmFwcGVyIHNjcmlwdCBzaG91bGQgbmV2ZXIgYmUgbW92ZWQg
b3V0IG9mIHRoZSBidWlsZCBkaXJlY3RvcnkuCiMgSWYgaXQgaXMsIGl0IHdpbGwgbm90IG9wZXJh
dGUgY29ycmVjdGx5LgoKIyBTZWQgc3Vic3RpdHV0aW9uIHRoYXQgaGVscHMgdXMgZG8gcm9idXN0
IHF1b3RpbmcuICBJdCBiYWNrc2xhc2hpZmllcwojIG1ldGFjaGFyYWN0ZXJzIHRoYXQgYXJlIHN0
aWxsIGFjdGl2ZSB3aXRoaW4gZG91YmxlLXF1b3RlZCBzdHJpbmdzLgpYc2VkPScke1NFRH0gLWUg
MXMvXlgvLycKc2VkX3F1b3RlX3N1YnN0PSckc2VkX3F1b3RlX3N1YnN0JwoKIyBUaGUgSFAtVVgg
a3NoIGFuZCBQT1NJWCBzaGVsbCBwcmludCB0aGUgdGFyZ2V0IGRpcmVjdG9yeSB0byBzdGRvdXQK
IyBpZiBDRFBBVEggaXMgc2V0LgoodW5zZXQgQ0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5z
ZXQgQ0RQQVRICgpyZWxpbmtfY29tbWFuZD1cIiRyZWxpbmtfY29tbWFuZFwiCgojIFRoaXMgZW52
aXJvbm1lbnQgdmFyaWFibGUgZGV0ZXJtaW5lcyBvdXIgb3BlcmF0aW9uIG1vZGUuCmlmIHRlc3Qg
XCJcJGxpYnRvb2xfaW5zdGFsbF9tYWdpY1wiID0gXCIkbWFnaWNcIjsgdGhlbgogICMgaW5zdGFs
bCBtb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgdmFyaWFibGU6CiAgbm90aW5zdF9kZXBsaWJzPSck
bm90aW5zdF9kZXBsaWJzJwplbHNlCiAgIyBXaGVuIHdlIGFyZSBzb3VyY2VkIGluIGV4ZWN1dGUg
bW9kZSwgXCRmaWxlIGFuZCBcJGVjaG8gYXJlIGFscmVhZHkgc2V0LgogIGlmIHRlc3QgXCJcJGxp
YnRvb2xfZXhlY3V0ZV9tYWdpY1wiICE9IFwiJG1hZ2ljXCI7IHRoZW4KICAgIGVjaG89XCIkcWVj
aG9cIgogICAgZmlsZT1cIlwkMFwiCiAgICAjIE1ha2Ugc3VyZSBlY2hvIHdvcmtzLgogICAgaWYg
dGVzdCBcIlhcJDFcIiA9IFgtLW5vLXJlZXhlYzsgdGhlbgogICAgICAjIERpc2NhcmQgdGhlIC0t
bm8tcmVleGVjIGZsYWcsIGFuZCBjb250aW51ZS4KICAgICAgc2hpZnQKICAgIGVsaWYgdGVzdCBc
IlhcYChcJGVjaG8gJ1x0JykgMj4vZGV2L251bGxcYFwiID0gJ1hcdCc7IHRoZW4KICAgICAgIyBZ
aXBwZWUsIFwkZWNobyB3b3JrcyEKICAgICAgOgogICAgZWxzZQogICAgICAjIFJlc3RhcnQgdW5k
ZXIgdGhlIGNvcnJlY3Qgc2hlbGwsIGFuZCB0aGVuIG1heWJlIFwkZWNobyB3aWxsIHdvcmsuCiAg
ICAgIGV4ZWMgJFNIRUxMIFwiXCQwXCIgLS1uby1yZWV4ZWMgXCR7MStcIlwkQFwifQogICAgZmkK
ICBmaVwKIgoJJGVjaG8gPj4gJG91dHB1dCAiXAoKICAjIEZpbmQgdGhlIGRpcmVjdG9yeSB0aGF0
IHRoaXMgc2NyaXB0IGxpdmVzIGluLgogIHRoaXNkaXI9XGBcJGVjaG8gXCJYXCRmaWxlXCIgfCBc
JFhzZWQgLWUgJ3MlL1teL10qJCUlJ1xgCiAgdGVzdCBcInhcJHRoaXNkaXJcIiA9IFwieFwkZmls
ZVwiICYmIHRoaXNkaXI9LgoKICAjIEZvbGxvdyBzeW1ib2xpYyBsaW5rcyB1bnRpbCB3ZSBnZXQg
dG8gdGhlIHJlYWwgdGhpc2Rpci4KICBmaWxlPVxgbHMgLWxkIFwiXCRmaWxlXCIgfCAke1NFRH0g
LW4gJ3MvLiotPiAvL3AnXGAKICB3aGlsZSB0ZXN0IC1uIFwiXCRmaWxlXCI7IGRvCiAgICBkZXN0
ZGlyPVxgXCRlY2hvIFwiWFwkZmlsZVwiIHwgXCRYc2VkIC1lICdzJS9bXi9dKlwkJSUnXGAKCiAg
ICAjIElmIHRoZXJlIHdhcyBhIGRpcmVjdG9yeSBjb21wb25lbnQsIHRoZW4gY2hhbmdlIHRoaXNk
aXIuCiAgICBpZiB0ZXN0IFwieFwkZGVzdGRpclwiICE9IFwieFwkZmlsZVwiOyB0aGVuCiAgICAg
IGNhc2UgXCJcJGRlc3RkaXJcIiBpbgogICAgICBbXFxcXC9dKiB8IFtBLVphLXpdOltcXFxcL10q
KSB0aGlzZGlyPVwiXCRkZXN0ZGlyXCIgOzsKICAgICAgKikgdGhpc2Rpcj1cIlwkdGhpc2Rpci9c
JGRlc3RkaXJcIiA7OwogICAgICBlc2FjCiAgICBmaQoKICAgIGZpbGU9XGBcJGVjaG8gXCJYXCRm
aWxlXCIgfCBcJFhzZWQgLWUgJ3MlXi4qLyUlJ1xgCiAgICBmaWxlPVxgbHMgLWxkIFwiXCR0aGlz
ZGlyL1wkZmlsZVwiIHwgJHtTRUR9IC1uICdzLy4qLT4gLy9wJ1xgCiAgZG9uZQoKICAjIFRyeSB0
byBnZXQgdGhlIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lLgogIGFic2Rpcj1cYGNkIFwiXCR0aGlz
ZGlyXCIgJiYgcHdkXGAKICB0ZXN0IC1uIFwiXCRhYnNkaXJcIiAmJiB0aGlzZGlyPVwiXCRhYnNk
aXJcIgoiCgoJaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgJGVjaG8gPj4g
JG91dHB1dCAiXAogIHByb2dyYW09bHQtJyRvdXRwdXRuYW1lJyRleGVleHQKICBwcm9nZGlyPVwi
XCR0aGlzZGlyLyRvYmpkaXJcIgoKICBpZiB0ZXN0ICEgLWYgXCJcJHByb2dkaXIvXCRwcm9ncmFt
XCIgfHwgXFwKICAgICB7IGZpbGU9XGBscyAtMWR0IFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiIFwi
XCRwcm9nZGlyLy4uL1wkcHJvZ3JhbVwiIDI+L2Rldi9udWxsIHwgJHtTRUR9IDFxXGA7IFxcCiAg
ICAgICB0ZXN0IFwiWFwkZmlsZVwiICE9IFwiWFwkcHJvZ2Rpci9cJHByb2dyYW1cIjsgfTsgdGhl
bgoKICAgIGZpbGU9XCJcJFwkLVwkcHJvZ3JhbVwiCgogICAgaWYgdGVzdCAhIC1kIFwiXCRwcm9n
ZGlyXCI7IHRoZW4KICAgICAgJG1rZGlyIFwiXCRwcm9nZGlyXCIKICAgIGVsc2UKICAgICAgJHJt
IFwiXCRwcm9nZGlyL1wkZmlsZVwiCiAgICBmaSIKCgkgICRlY2hvID4+ICRvdXRwdXQgIlwKCiAg
ICAjIHJlbGluayBleGVjdXRhYmxlIGlmIG5lY2Vzc2FyeQogICAgaWYgdGVzdCAtbiBcIlwkcmVs
aW5rX2NvbW1hbmRcIjsgdGhlbgogICAgICBpZiByZWxpbmtfY29tbWFuZF9vdXRwdXQ9XGBldmFs
IFwkcmVsaW5rX2NvbW1hbmQgMj4mMVxgOyB0aGVuIDoKICAgICAgZWxzZQoJJGVjaG8gXCJcJHJl
bGlua19jb21tYW5kX291dHB1dFwiID4mMgoJJHJtIFwiXCRwcm9nZGlyL1wkZmlsZVwiCglleGl0
ICRFWElUX0ZBSUxVUkUKICAgICAgZmkKICAgIGZpCgogICAgJG12IFwiXCRwcm9nZGlyL1wkZmls
ZVwiIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiIDI+L2Rldi9udWxsIHx8CiAgICB7ICRybSBcIlwk
cHJvZ2Rpci9cJHByb2dyYW1cIjsKICAgICAgJG12IFwiXCRwcm9nZGlyL1wkZmlsZVwiIFwiXCRw
cm9nZGlyL1wkcHJvZ3JhbVwiOyB9CiAgICAkcm0gXCJcJHByb2dkaXIvXCRmaWxlXCIKICBmaSIK
CWVsc2UKCSAgJGVjaG8gPj4gJG91dHB1dCAiXAogIHByb2dyYW09JyRvdXRwdXRuYW1lJwogIHBy
b2dkaXI9XCJcJHRoaXNkaXIvJG9iamRpclwiCiIKCWZpCgoJJGVjaG8gPj4gJG91dHB1dCAiXAoK
ICBpZiB0ZXN0IC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB0aGVuIgoKCSMgRXhwb3J0IG91
ciBzaGxpYnBhdGhfdmFyIGlmIHdlIGhhdmUgb25lLgoJaWYgdGVzdCAiJHNobGlicGF0aF9vdmVy
cmlkZXNfcnVucGF0aCIgPSB5ZXMgJiYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiICYmIHRlc3Qg
LW4gIiR0ZW1wX3JwYXRoIjsgdGhlbgoJICAkZWNobyA+PiAkb3V0cHV0ICJcCiAgICAjIEFkZCBv
dXIgb3duIGxpYnJhcnkgcGF0aCB0byAkc2hsaWJwYXRoX3ZhcgogICAgJHNobGlicGF0aF92YXI9
XCIkdGVtcF9ycGF0aFwkJHNobGlicGF0aF92YXJcIgoKICAgICMgU29tZSBzeXN0ZW1zIGNhbm5v
dCBjb3BlIHdpdGggY29sb24tdGVybWluYXRlZCAkc2hsaWJwYXRoX3ZhcgogICAgIyBUaGUgc2Vj
b25kIGNvbG9uIGlzIGEgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gQmVPUyBSNCBzZWQKICAgICRz
aGxpYnBhdGhfdmFyPVxgXCRlY2hvIFwiWFwkJHNobGlicGF0aF92YXJcIiB8IFwkWHNlZCAtZSAn
cy86OipcJC8vJ1xgCgogICAgZXhwb3J0ICRzaGxpYnBhdGhfdmFyCiIKCWZpCgoJIyBmaXh1cCB0
aGUgZGxsIHNlYXJjaHBhdGggaWYgd2UgbmVlZCB0by4KCWlmIHRlc3QgLW4gIiRkbGxzZWFyY2hw
YXRoIjsgdGhlbgoJICAkZWNobyA+PiAkb3V0cHV0ICJcCiAgICAjIEFkZCB0aGUgZGxsIHNlYXJj
aCBwYXRoIGNvbXBvbmVudHMgdG8gdGhlIGV4ZWN1dGFibGUgUEFUSAogICAgUEFUSD0kZGxsc2Vh
cmNocGF0aDpcJFBBVEgKIgoJZmkKCgkkZWNobyA+PiAkb3V0cHV0ICJcCiAgICBpZiB0ZXN0IFwi
XCRsaWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVuCiAgICAgICMgUnVu
IHRoZSBhY3R1YWwgcHJvZ3JhbSB3aXRoIG91ciBhcmd1bWVudHMuCiIKCWNhc2UgJGhvc3QgaW4K
CSMgQmFja3NsYXNoZXMgc2VwYXJhdGUgZGlyZWN0b3JpZXMgb24gcGxhaW4gd2luZG93cwoJKi0q
LW1pbmd3IHwgKi0qLW9zMiopCgkgICRlY2hvID4+ICRvdXRwdXQgIlwKICAgICAgZXhlYyBcJHBy
b2dkaXJcXFxcXCRwcm9ncmFtIFwkezErXCJcJEBcIn0KIgoJICA7OwoKCSopCgkgICRlY2hvID4+
ICRvdXRwdXQgIlwKICAgICAgZXhlYyBcJHByb2dkaXIvXCRwcm9ncmFtIFwkezErXCJcJEBcIn0K
IgoJICA7OwoJZXNhYwoJJGVjaG8gPj4gJG91dHB1dCAiXAogICAgICBcJGVjaG8gXCJcJDA6IGNh
bm5vdCBleGVjIFwkcHJvZ3JhbSBcJHsxK1wiXCRAXCJ9XCIKICAgICAgZXhpdCAkRVhJVF9GQUlM
VVJFCiAgICBmaQogIGVsc2UKICAgICMgVGhlIHByb2dyYW0gZG9lc24ndCBleGlzdC4KICAgIFwk
ZWNobyBcIlwkMDogZXJyb3I6IFwkcHJvZ2Rpci9cJHByb2dyYW0gZG9lcyBub3QgZXhpc3RcIiAx
PiYyCiAgICBcJGVjaG8gXCJUaGlzIHNjcmlwdCBpcyBqdXN0IGEgd3JhcHBlciBmb3IgXCRwcm9n
cmFtLlwiIDE+JjIKICAgICRlY2hvIFwiU2VlIHRoZSAkUEFDS0FHRSBkb2N1bWVudGF0aW9uIGZv
ciBtb3JlIGluZm9ybWF0aW9uLlwiIDE+JjIKICAgIGV4aXQgJEVYSVRfRkFJTFVSRQogIGZpCmZp
XAoiCgljaG1vZCAreCAkb3V0cHV0CiAgICAgIGZpCiAgICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwog
ICAgICA7OwogICAgZXNhYwoKICAgICMgU2VlIGlmIHdlIG5lZWQgdG8gYnVpbGQgYW4gb2xkLWZh
c2hpb25lZCBhcmNoaXZlLgogICAgZm9yIG9sZGxpYiBpbiAkb2xkbGliczsgZG8KCiAgICAgIGlm
IHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0gY29udmVuaWVuY2U7IHRoZW4KCW9sZG9ianM9
IiRsaWJvYmpzX3NhdmUiCglhZGRsaWJzPSIkY29udmVuaWVuY2UiCglidWlsZF9saWJ0b29sX2xp
YnM9bm8KICAgICAgZWxzZQoJaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBtb2R1bGU7
IHRoZW4KCSAgb2xkb2Jqcz0iJGxpYm9ianNfc2F2ZSIKCSAgYnVpbGRfbGlidG9vbF9saWJzPW5v
CgllbHNlCgkgIG9sZG9ianM9IiRvbGRfZGVwbGlicyAkbm9uX3BpY19vYmplY3RzIgoJZmkKCWFk
ZGxpYnM9IiRvbGRfY29udmVuaWVuY2UiCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkYWRk
bGlicyI7IHRoZW4KCWdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCglnZW5l
cmF0ZWQ9IiRnZW5lcmF0ZWQgJGdlbnRvcCIKCglmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgJGdlbnRv
cCAkYWRkbGlicwoJb2xkb2Jqcz0iJG9sZG9ianMgJGZ1bmNfZXh0cmFjdF9hcmNoaXZlc19yZXN1
bHQiCiAgICAgIGZpCgogICAgICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgYXJjaGl2ZSBjb21t
YW5kcy4KICAgICAgaWYgdGVzdCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMiICYmIHRl
c3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCiAgICAgICBjbWRzPSRvbGRfYXJj
aGl2ZV9mcm9tX25ld19jbWRzCiAgICAgIGVsc2UKCWV2YWwgY21kcz1cIiRvbGRfYXJjaGl2ZV9j
bWRzXCIKCglpZiBsZW49YGV4cHIgIlgkY21kcyIgOiAiLioiYCAmJgoJICAgICB0ZXN0ICIkbGVu
IiAtbGUgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRfbGVuIiAtbGUgLTE7IHRoZW4K
CSAgY21kcz0kb2xkX2FyY2hpdmVfY21kcwoJZWxzZQoJICAjIHRoZSBjb21tYW5kIGxpbmUgaXMg
dG9vIGxvbmcgdG8gbGluayBpbiBvbmUgc3RlcCwgbGluayBpbiBwYXJ0cwoJICAkZWNobyAidXNp
bmcgcGllY2V3aXNlIGFyY2hpdmUgbGlua2luZy4uLiIKCSAgc2F2ZV9SQU5MSUI9JFJBTkxJQgoJ
ICBSQU5MSUI9OgoJICBvYmpsaXN0PQoJICBjb25jYXRfY21kcz0KCSAgc2F2ZV9vbGRvYmpzPSRv
bGRvYmpzCgkgICMgR05VIGFyIDIuMTArIHdhcyBjaGFuZ2VkIHRvIG1hdGNoIFBPU0lYOyB0aHVz
IG5vIHBhdGhzIGFyZQoJICAjIGVuY29kZWQgaW50byBhcmNoaXZlcy4gIFRoaXMgbWFrZXMgJ2Fy
IHInIG1hbGZ1bmN0aW9uIGluCgkgICMgdGhpcyBwaWVjZXdpc2UgbGlua2luZyBjYXNlIHdoZW5l
dmVyIGNvbmZsaWN0aW5nIG9iamVjdAoJICAjIG5hbWVzIGFwcGVhciBpbiBkaXN0aW5jdCBhciBj
YWxsczsgY2hlY2ssIHdhcm4gYW5kIGNvbXBlbnNhdGUuCgkgICAgaWYgKGZvciBvYmogaW4gJHNh
dmVfb2xkb2JqcwoJICAgIGRvCgkgICAgICAkZWNobyAiWCRvYmoiIHwgJFhzZWQgLWUgJ3MlXi4q
LyUlJwoJICAgIGRvbmUgfCBzb3J0IHwgc29ydCAtdWMgPi9kZXYvbnVsbCAyPiYxKTsgdGhlbgoJ
ICAgIDoKCSAgZWxzZQoJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IG9iamVjdCBuYW1l
IGNvbmZsaWN0czsgb3ZlcnJpZGluZyBBUl9GTEFHUyB0byAnY3EnIiAxPiYyCgkgICAgJGVjaG8g
IiRtb2RlbmFtZTogd2FybmluZzogdG8gZW5zdXJlIHRoYXQgUE9TSVgtY29tcGF0aWJsZSBhciB3
aWxsIHdvcmsiIDE+JjIKCSAgICBBUl9GTEFHUz1jcQoJICBmaQoJICAjIElzIHRoZXJlIGEgYmV0
dGVyIHdheSBvZiBmaW5kaW5nIHRoZSBsYXN0IG9iamVjdCBpbiB0aGUgbGlzdD8KCSAgZm9yIG9i
aiBpbiAkc2F2ZV9vbGRvYmpzCgkgIGRvCgkgICAgbGFzdF9vbGRvYmo9JG9iagoJICBkb25lCgkg
IGZvciBvYmogaW4gJHNhdmVfb2xkb2JqcwoJICBkbwoJICAgIG9sZG9ianM9IiRvYmpsaXN0ICRv
YmoiCgkgICAgb2JqbGlzdD0iJG9iamxpc3QgJG9iaiIKCSAgICBldmFsIHRlc3RfY21kcz1cIiRv
bGRfYXJjaGl2ZV9jbWRzXCIKCSAgICBpZiBsZW49YGV4cHIgIlgkdGVzdF9jbWRzIiA6ICIuKiJg
ICYmCgkgICAgICAgdGVzdCAiJGxlbiIgLWxlICIkbWF4X2NtZF9sZW4iOyB0aGVuCgkgICAgICA6
CgkgICAgZWxzZQoJICAgICAgIyB0aGUgYWJvdmUgY29tbWFuZCBzaG91bGQgYmUgdXNlZCBiZWZv
cmUgaXQgZ2V0cyB0b28gbG9uZwoJICAgICAgb2xkb2Jqcz0kb2JqbGlzdAoJICAgICAgaWYgdGVz
dCAiJG9iaiIgPSAiJGxhc3Rfb2xkb2JqIiA7IHRoZW4KCSAgICAgICAgUkFOTElCPSRzYXZlX1JB
TkxJQgoJICAgICAgZmkKCSAgICAgIHRlc3QgLXogIiRjb25jYXRfY21kcyIgfHwgY29uY2F0X2Nt
ZHM9JGNvbmNhdF9jbWRzfgoJICAgICAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9jbWRz
fSRvbGRfYXJjaGl2ZV9jbWRzXCIKCSAgICAgIG9iamxpc3Q9CgkgICAgZmkKCSAgZG9uZQoJICBS
QU5MSUI9JHNhdmVfUkFOTElCCgkgIG9sZG9ianM9JG9iamxpc3QKCSAgaWYgdGVzdCAiWCRvbGRv
YmpzIiA9ICJYIiA7IHRoZW4KCSAgICBldmFsIGNtZHM9XCJcJGNvbmNhdF9jbWRzXCIKCSAgZWxz
ZQoJICAgIGV2YWwgY21kcz1cIlwkY29uY2F0X2NtZHN+XCRvbGRfYXJjaGl2ZV9jbWRzXCIKCSAg
ZmkKCWZpCiAgICAgIGZpCiAgICAgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwogICAgICBmb3Ig
Y21kIGluICRjbWRzOyBkbwogICAgICAgIGV2YWwgY21kPVwiJGNtZFwiCglJRlM9IiRzYXZlX2lm
cyIKCSRzaG93ICIkY21kIgoJJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CiAgICAgIGRvbmUK
ICAgICAgSUZTPSIkc2F2ZV9pZnMiCiAgICBkb25lCgogICAgaWYgdGVzdCAtbiAiJGdlbmVyYXRl
ZCI7IHRoZW4KICAgICAgJHNob3cgIiR7cm19ciRnZW5lcmF0ZWQiCiAgICAgICRydW4gJHtybX1y
JGdlbmVyYXRlZAogICAgZmkKCiAgICAjIE5vdyBjcmVhdGUgdGhlIGxpYnRvb2wgYXJjaGl2ZS4K
ICAgIGNhc2UgJG91dHB1dCBpbgogICAgKi5sYSkKICAgICAgb2xkX2xpYnJhcnk9CiAgICAgIHRl
c3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXMgJiYgb2xkX2xpYnJhcnk9IiRsaWJuYW1lLiRsaWJl
eHQiCiAgICAgICRzaG93ICJjcmVhdGluZyAkb3V0cHV0IgoKICAgICAgIyBQcmVzZXJ2ZSBhbnkg
dmFyaWFibGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlvcgogICAgICBmb3IgdmFy
IGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KCWlmIGV2YWwgdGVzdCAteiBcIlwk
eyR2YXIrc2V0fVwiOyB0aGVuCgkgIHJlbGlua19jb21tYW5kPSJ7IHRlc3QgLXogXCJcJHskdmFy
K3NldH1cIiB8fCB1bnNldCAkdmFyIHx8IHsgJHZhcj07IGV4cG9ydCAkdmFyOyB9OyB9OyAkcmVs
aW5rX2NvbW1hbmQiCgllbGlmIGV2YWwgdmFyX3ZhbHVlPVwkJHZhcjsgdGVzdCAteiAiJHZhcl92
YWx1ZSI7IHRoZW4KCSAgcmVsaW5rX2NvbW1hbmQ9IiR2YXI9OyBleHBvcnQgJHZhcjsgJHJlbGlu
a19jb21tYW5kIgoJZWxzZQoJICB2YXJfdmFsdWU9YCRlY2hvICJYJHZhcl92YWx1ZSIgfCAkWHNl
ZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCgkgIHJlbGlua19jb21tYW5kPSIkdmFyPVwiJHZhcl92
YWx1ZVwiOyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJZmkKICAgICAgZG9uZQogICAg
ICAjIFF1b3RlIHRoZSBsaW5rIGNvbW1hbmQgZm9yIHNoaXBwaW5nLgogICAgICByZWxpbmtfY29t
bWFuZD0iKGNkIGBwd2RgOyAkU0hFTEwgJHByb2dwYXRoICRwcmVzZXJ2ZV9hcmdzIC0tbW9kZT1y
ZWxpbmsgJGxpYnRvb2xfYXJncyBAaW5zdF9wcmVmaXhfZGlyQCkiCiAgICAgIHJlbGlua19jb21t
YW5kPWAkZWNobyAiWCRyZWxpbmtfY29tbWFuZCIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJz
dCJgCiAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9hdXRvbWF0aWMiID0geWVzIDsgdGhlbgoJcmVs
aW5rX2NvbW1hbmQ9CiAgICAgIGZpCgoKICAgICAgIyBPbmx5IGNyZWF0ZSB0aGUgb3V0cHV0IGlm
IG5vdCBhIGRyeSBydW4uCiAgICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCglmb3IgaW5zdGFs
bGVkIGluIG5vIHllczsgZG8KCSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXM7IHRoZW4KCSAg
ICBpZiB0ZXN0IC16ICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCgkgICAgICBicmVhawoJICAgIGZp
CgkgICAgb3V0cHV0PSIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSJpCgkgICAgIyBSZXBsYWNl
IGFsbCB1bmluc3RhbGxlZCBsaWJ0b29sIGxpYnJhcmllcyB3aXRoIHRoZSBpbnN0YWxsZWQgb25l
cwoJICAgIG5ld2RlcGVuZGVuY3lfbGlicz0KCSAgICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5
X2xpYnM7IGRvCgkgICAgICBjYXNlICRkZXBsaWIgaW4KCSAgICAgICoubGEpCgkJbmFtZT1gJGVj
aG8gIlgkZGVwbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgkJZXZhbCBsaWJkaXI9YCR7U0VE
fSAtbiAtZSAncy9ebGliZGlyPVwoLipcKSQvXDEvcCcgJGRlcGxpYmAKCQlpZiB0ZXN0IC16ICIk
bGliZGlyIjsgdGhlbgoJCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkZGVwbGliJyBpcyBub3QgYSB2
YWxpZCBsaWJ0b29sIGFyY2hpdmUiIDE+JjIKCQkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJCWZpCgkJ
IyBXZSBkbyBub3Qgd2FudCBwb3J0YWdlJ3MgaW5zdGFsbCByb290ICgkRCkgcHJlc2VudC4gIENo
ZWNrIG9ubHkgZm9yCgkJIyB0aGlzIGlmIHRoZSAubGEgaXMgYmVpbmcgaW5zdGFsbGVkLgoJCWlm
IHRlc3QgIiRpbnN0YWxsZWQiID0geWVzICYmIHRlc3QgIiREIjsgdGhlbgoJCSAgZXZhbCBteW5l
d2RlcGVuZGVuY3lfbGliPWBlY2hvICIkbGliZGlyLyRuYW1lIiB8c2VkIC1lICJzOiREOjpnIiAt
ZSAnczovLzovOmcnYAoJCWVsc2UKCQkgIG15bmV3ZGVwZW5kZW5jeV9saWI9IiRsaWJkaXIvJG5h
bWUiCgkJZmkKCQkjIERvIG5vdCBhZGQgZHVwbGljYXRlcwoJCWlmIHRlc3QgIiRteW5ld2RlcGVu
ZGVuY3lfbGliIjsgdGhlbgoJCSAgbXlfbGl0dGxlX25pbmphX2Zvb18xPWBlY2hvICRuZXdkZXBl
bmRlbmN5X2xpYnMgfCRFR1JFUCAtZSAiJG15bmV3ZGVwZW5kZW5jeV9saWIiYAoJCSAgaWYgdGVz
dCAteiAiJG15X2xpdHRsZV9uaW5qYV9mb29fMSI7IHRoZW4KCQkgICAgbmV3ZGVwZW5kZW5jeV9s
aWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzICRteW5ld2RlcGVuZGVuY3lfbGliIgoJCSAgZmkKCQlm
aQoJCTs7CgkJICAqKQoJCWlmIHRlc3QgIiRpbnN0YWxsZWQiID0geWVzOyB0aGVuCgkJICAjIFJh
dGhlciB1c2UgUz1XT1JLRElSIGlmIG91ciB2ZXJzaW9uIG9mIHBvcnRhZ2Ugc3VwcG9ydHMgaXQu
CgkJICAjIFRoaXMgaXMgYmVjYXVzZSBzb21lIGVidWlsZCAoZ2NjKSBkbyBub3QgdXNlICRTIGFz
IGJ1aWxkcm9vdC4KCQkgIGlmIHRlc3QgIiRQV09SS0RJUiI7IHRoZW4KCQkgICAgUz0iJFBXT1JL
RElSIgoJCSAgZmkKCQkgICMgV2UgZG8gbm90IHdhbnQgcG9ydGFnZSdzIGJ1aWxkIHJvb3QgKCRT
KSBwcmVzZW50LgoJCSAgbXlfbGl0dGxlX25pbmphX2Zvb18yPWBlY2hvICRkZXBsaWIgfCRFR1JF
UCAtZSAiJFMiYAoJCSAgaWYgdGVzdCAtbiAiJG15X2xpdHRsZV9uaW5qYV9mb29fMiIgJiYgdGVz
dCAiJFMiOyB0aGVuCgkJICAgIG15bmV3ZGVwZW5kZW5jeV9saWI9IiIKCQkgICMgV2UgZG8gbm90
IHdhbnQgcG9ydGFnZSdzIGluc3RhbGwgcm9vdCAoJEQpIHByZXNlbnQuCgkJICBteV9saXR0bGVf
bmluamFfZm9vXzM9YGVjaG8gJGRlcGxpYiB8JEVHUkVQIC1lICIkRCJgCgkJICBlbGlmIHRlc3Qg
LW4gIiRteV9saXR0bGVfbmluamFfZm9vXzMiICYmIHRlc3QgIiREIjsgdGhlbgoJCSAgICBldmFs
IG15bmV3ZGVwZW5kZW5jeV9saWI9YGVjaG8gIiRkZXBsaWIiIHxzZWQgLWUgInM6JEQ6OmciIC1l
ICdzOi8vOi86ZydgCgkJICBlbHNlCgkJICAgIG15bmV3ZGVwZW5kZW5jeV9saWI9IiRkZXBsaWIi
CgkJICBmaQoJCWVsc2UKCQkgIG15bmV3ZGVwZW5kZW5jeV9saWI9IiRkZXBsaWIiCgkJZmkKCQkj
IERvIG5vdCBhZGQgZHVwbGljYXRlcwoJCWlmIHRlc3QgIiRteW5ld2RlcGVuZGVuY3lfbGliIjsg
dGhlbgoJCSAgbXlfbGl0dGxlX25pbmphX2Zvb180PWBlY2hvICRuZXdkZXBlbmRlbmN5X2xpYnMg
fCRFR1JFUCAtZSAiJG15bmV3ZGVwZW5kZW5jeV9saWIiYAoJCSAgaWYgdGVzdCAteiAiJG15X2xp
dHRsZV9uaW5qYV9mb29fNCI7IHRoZW4KCQkJbmV3ZGVwZW5kZW5jeV9saWJzPSIkbmV3ZGVwZW5k
ZW5jeV9saWJzICRteW5ld2RlcGVuZGVuY3lfbGliIgoJCSAgZmkKCQlmaQoJCTs7CgkgICAgICBl
c2FjCgkgICAgZG9uZQoJICAgIGRlcGVuZGVuY3lfbGlicz0iJG5ld2RlcGVuZGVuY3lfbGlicyIK
CSAgICBuZXdkbGZpbGVzPQoJICAgIGZvciBsaWIgaW4gJGRsZmlsZXM7IGRvCgkgICAgICBuYW1l
PWAkZWNobyAiWCRsaWIiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCSAgICAgIGV2YWwgbGliZGly
PWAke1NFRH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRsaWJgCgkgICAgICBpZiB0
ZXN0IC16ICIkbGliZGlyIjsgdGhlbgoJCSRlY2hvICIkbW9kZW5hbWU6IFxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIiAxPiYyCgkJZXhpdCAkRVhJVF9GQUlMVVJFCgkgICAg
ICBmaQoJICAgICAgbmV3ZGxmaWxlcz0iJG5ld2RsZmlsZXMgJGxpYmRpci8kbmFtZSIKCSAgICBk
b25lCgkgICAgZGxmaWxlcz0iJG5ld2RsZmlsZXMiCgkgICAgbmV3ZGxwcmVmaWxlcz0KCSAgICBm
b3IgbGliIGluICRkbHByZWZpbGVzOyBkbwoJICAgICAgbmFtZT1gJGVjaG8gIlgkbGliIiB8ICRY
c2VkIC1lICdzJV4uKi8lJSdgCgkgICAgICBldmFsIGxpYmRpcj1gJHtTRUR9IC1uIC1lICdzL15s
aWJkaXI9XCguKlwpJC9cMS9wJyAkbGliYAoJICAgICAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRo
ZW4KCQkkZWNobyAiJG1vZGVuYW1lOiBcYCRsaWInIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJj
aGl2ZSIgMT4mMgoJCWV4aXQgJEVYSVRfRkFJTFVSRQoJICAgICAgZmkKCSAgICAgIG5ld2RscHJl
ZmlsZXM9IiRuZXdkbHByZWZpbGVzICRsaWJkaXIvJG5hbWUiCgkgICAgZG9uZQoJICAgIGRscHJl
ZmlsZXM9IiRuZXdkbHByZWZpbGVzIgoJICBlbHNlCgkgICAgbmV3ZGxmaWxlcz0KCSAgICBmb3Ig
bGliIGluICRkbGZpbGVzOyBkbwoJICAgICAgY2FzZSAkbGliIGluCgkJW1xcL10qIHwgW0EtWmEt
el06W1xcL10qKSBhYnM9IiRsaWIiIDs7CgkJKikgYWJzPWBwd2RgIi8kbGliIiA7OwoJICAgICAg
ZXNhYwoJICAgICAgbmV3ZGxmaWxlcz0iJG5ld2RsZmlsZXMgJGFicyIKCSAgICBkb25lCgkgICAg
ZGxmaWxlcz0iJG5ld2RsZmlsZXMiCgkgICAgbmV3ZGxwcmVmaWxlcz0KCSAgICBmb3IgbGliIGlu
ICRkbHByZWZpbGVzOyBkbwoJICAgICAgY2FzZSAkbGliIGluCgkJW1xcL10qIHwgW0EtWmEtel06
W1xcL10qKSBhYnM9IiRsaWIiIDs7CgkJKikgYWJzPWBwd2RgIi8kbGliIiA7OwoJICAgICAgZXNh
YwoJICAgICAgbmV3ZGxwcmVmaWxlcz0iJG5ld2RscHJlZmlsZXMgJGFicyIKCSAgICBkb25lCgkg
ICAgZGxwcmVmaWxlcz0iJG5ld2RscHJlZmlsZXMiCgkgIGZpCgkgICRybSAkb3V0cHV0CgkgICMg
cGxhY2UgZGxuYW1lIGluIGNvcnJlY3QgcG9zaXRpb24gZm9yIGN5Z3dpbgoJICB0ZGxuYW1lPSRk
bG5hbWUKCSAgY2FzZSAkaG9zdCwkb3V0cHV0LCRpbnN0YWxsZWQsJG1vZHVsZSwkZGxuYW1lIGlu
CgkgICAgKmN5Z3dpbiosKmxhaSx5ZXMsbm8sKi5kbGwgfCAqbWluZ3cqLCpsYWkseWVzLG5vLCou
ZGxsKSB0ZGxuYW1lPS4uL2Jpbi8kZGxuYW1lIDs7CgkgIGVzYWMKCSAgIyBEbyBub3QgYWRkIGR1
cGxpY2F0ZXMKCSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXMgJiYgdGVzdCAiJEQiOyB0aGVu
CgkgICAgaW5zdGFsbF9saWJkaXI9YGVjaG8gIiRpbnN0YWxsX2xpYmRpciIgfHNlZCAtZSAiczok
RDo6ZyIgLWUgJ3M6Ly86LzpnJ2AKCSAgZmkKCSAgJGVjaG8gPiAkb3V0cHV0ICJcCiMgJG91dHB1
dG5hbWUgLSBhIGxpYnRvb2wgbGlicmFyeSBmaWxlCiMgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIC0g
R05VICRQQUNLQUdFICRWRVJTSU9OJFRJTUVTVEFNUAojCiMgUGxlYXNlIERPIE5PVCBkZWxldGUg
dGhpcyBmaWxlIQojIEl0IGlzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyB0aGUgbGlicmFyeS4KCiMg
VGhlIG5hbWUgdGhhdCB3ZSBjYW4gZGxvcGVuKDMpLgpkbG5hbWU9JyR0ZGxuYW1lJwoKIyBOYW1l
cyBvZiB0aGlzIGxpYnJhcnkuCmxpYnJhcnlfbmFtZXM9JyRsaWJyYXJ5X25hbWVzJwoKIyBUaGUg
bmFtZSBvZiB0aGUgc3RhdGljIGFyY2hpdmUuCm9sZF9saWJyYXJ5PSckb2xkX2xpYnJhcnknCgoj
IExpYnJhcmllcyB0aGF0IHRoaXMgb25lIGRlcGVuZHMgdXBvbi4KZGVwZW5kZW5jeV9saWJzPSck
ZGVwZW5kZW5jeV9saWJzJwoKIyBWZXJzaW9uIGluZm9ybWF0aW9uIGZvciAkbGlibmFtZS4KY3Vy
cmVudD0kY3VycmVudAphZ2U9JGFnZQpyZXZpc2lvbj0kcmV2aXNpb24KCiMgSXMgdGhpcyBhbiBh
bHJlYWR5IGluc3RhbGxlZCBsaWJyYXJ5PwppbnN0YWxsZWQ9JGluc3RhbGxlZAoKIyBTaG91bGQg
d2Ugd2FybiBhYm91dCBwb3J0YWJpbGl0eSB3aGVuIGxpbmtpbmcgYWdhaW5zdCAtbW9kdWxlcz8K
c2hvdWxkbm90bGluaz0kbW9kdWxlCgojIEZpbGVzIHRvIGRsb3Blbi9kbHByZW9wZW4KZGxvcGVu
PSckZGxmaWxlcycKZGxwcmVvcGVuPSckZGxwcmVmaWxlcycKCiMgRGlyZWN0b3J5IHRoYXQgdGhp
cyBsaWJyYXJ5IG5lZWRzIHRvIGJlIGluc3RhbGxlZCBpbjoKbGliZGlyPSckaW5zdGFsbF9saWJk
aXInIgoJICBpZiB0ZXN0ICIkaW5zdGFsbGVkIiA9IG5vICYmIHRlc3QgIiRuZWVkX3JlbGluayIg
PSB5ZXM7IHRoZW4KCSAgICAkZWNobyA+PiAkb3V0cHV0ICJcCnJlbGlua19jb21tYW5kPVwiJHJl
bGlua19jb21tYW5kXCIiCgkgIGZpCglkb25lCiAgICAgIGZpCgogICAgICAjIERvIGEgc3ltYm9s
aWMgbGluayBzbyB0aGF0IHRoZSBsaWJ0b29sIGFyY2hpdmUgY2FuIGJlIGZvdW5kIGluCiAgICAg
ICMgTERfTElCUkFSWV9QQVRIIGJlZm9yZSB0aGUgcHJvZ3JhbSBpcyBpbnN0YWxsZWQuCiAgICAg
ICRzaG93ICIoY2QgJG91dHB1dF9vYmpkaXIgJiYgJHJtICRvdXRwdXRuYW1lICYmICRMTl9TIC4u
LyRvdXRwdXRuYW1lICRvdXRwdXRuYW1lKSIKICAgICAgJHJ1biBldmFsICcoY2QgJG91dHB1dF9v
YmpkaXIgJiYgJHJtICRvdXRwdXRuYW1lICYmICRMTl9TIC4uLyRvdXRwdXRuYW1lICRvdXRwdXRu
YW1lKScgfHwgZXhpdCAkPwogICAgICA7OwogICAgZXNhYwogICAgZXhpdCAkRVhJVF9TVUNDRVNT
CiAgICA7OwoKICAjIGxpYnRvb2wgaW5zdGFsbCBtb2RlCiAgaW5zdGFsbCkKICAgIG1vZGVuYW1l
PSIkbW9kZW5hbWU6IGluc3RhbGwiCgogICAgIyBUaGVyZSBtYXkgYmUgYW4gb3B0aW9uYWwgc2go
MSkgYXJndW1lbnQgYXQgdGhlIGJlZ2lubmluZyBvZgogICAgIyBpbnN0YWxsX3Byb2cgKGVzcGVj
aWFsbHkgb24gV2luZG93cyBOVCkuCiAgICBpZiB0ZXN0ICIkbm9ub3B0IiA9ICIkU0hFTEwiIHx8
IHRlc3QgIiRub25vcHQiID0gL2Jpbi9zaCB8fAogICAgICAgIyBBbGxvdyB0aGUgdXNlIG9mIEdO
VSBzaHRvb2wncyBpbnN0YWxsIGNvbW1hbmQuCiAgICAgICAkZWNobyAiWCRub25vcHQiIHwgJFhz
ZWQgfCBncmVwIHNodG9vbCA+IC9kZXYvbnVsbDsgdGhlbgogICAgICAjIEFlc3RoZXRpY2FsbHkg
cXVvdGUgaXQuCiAgICAgIGFyZz1gJGVjaG8gIlgkbm9ub3B0IiB8ICRYc2VkIC1lICIkc2VkX3F1
b3RlX3N1YnN0ImAKICAgICAgY2FzZSAkYXJnIGluCiAgICAgICpbXFtcflwjXF5cJlwqXChcKVx7
XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQoJYXJnPSJcIiRhcmdcIiIKCTs7CiAgICAgIGVzYWMK
ICAgICAgaW5zdGFsbF9wcm9nPSIkYXJnICIKICAgICAgYXJnPSIkMSIKICAgICAgc2hpZnQKICAg
IGVsc2UKICAgICAgaW5zdGFsbF9wcm9nPQogICAgICBhcmc9IiRub25vcHQiCiAgICBmaQoKICAg
ICMgVGhlIHJlYWwgZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIHRoZSBuYW1lIG9mIHRoZSBpbnN0
YWxsYXRpb24gcHJvZ3JhbS4KICAgICMgQWVzdGhldGljYWxseSBxdW90ZSBpdC4KICAgIGFyZz1g
JGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgIGNhc2UgJGFy
ZyBpbgogICAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSopCiAg
ICAgIGFyZz0iXCIkYXJnXCIiCiAgICAgIDs7CiAgICBlc2FjCiAgICBpbnN0YWxsX3Byb2c9IiRp
bnN0YWxsX3Byb2ckYXJnIgoKICAgICMgV2UgbmVlZCB0byBhY2NlcHQgYXQgbGVhc3QgYWxsIHRo
ZSBCU0QgaW5zdGFsbCBmbGFncy4KICAgIGRlc3Q9CiAgICBmaWxlcz0KICAgIG9wdHM9CiAgICBw
cmV2PQogICAgaW5zdGFsbF90eXBlPQogICAgaXNkaXI9bm8KICAgIHN0cmlwbWU9CiAgICBmb3Ig
YXJnCiAgICBkbwogICAgICBpZiB0ZXN0IC1uICIkZGVzdCI7IHRoZW4KCWZpbGVzPSIkZmlsZXMg
JGRlc3QiCglkZXN0PSIkYXJnIgoJY29udGludWUKICAgICAgZmkKCiAgICAgIGNhc2UgJGFyZyBp
bgogICAgICAtZCkgaXNkaXI9eWVzIDs7CiAgICAgIC1mKSBwcmV2PSItZiIgOzsKICAgICAgLWcp
IHByZXY9Ii1nIiA7OwogICAgICAtbSkgcHJldj0iLW0iIDs7CiAgICAgIC1vKSBwcmV2PSItbyIg
OzsKICAgICAgLXMpCglzdHJpcG1lPSIgLXMiCgljb250aW51ZQoJOzsKICAgICAgLSopIDs7Cgog
ICAgICAqKQoJIyBJZiB0aGUgcHJldmlvdXMgb3B0aW9uIG5lZWRlZCBhbiBhcmd1bWVudCwgdGhl
biBza2lwIGl0LgoJaWYgdGVzdCAtbiAiJHByZXYiOyB0aGVuCgkgIHByZXY9CgllbHNlCgkgIGRl
c3Q9IiRhcmciCgkgIGNvbnRpbnVlCglmaQoJOzsKICAgICAgZXNhYwoKICAgICAgIyBBZXN0aGV0
aWNhbGx5IHF1b3RlIHRoZSBhcmd1bWVudC4KICAgICAgYXJnPWAkZWNobyAiWCRhcmciIHwgJFhz
ZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBjYXNlICRhcmcgaW4KICAgICAgKltcW1x+
XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSopCglhcmc9IlwiJGFyZ1wiIgoJ
OzsKICAgICAgZXNhYwogICAgICBpbnN0YWxsX3Byb2c9IiRpbnN0YWxsX3Byb2cgJGFyZyIKICAg
IGRvbmUKCiAgICBpZiB0ZXN0IC16ICIkaW5zdGFsbF9wcm9nIjsgdGhlbgogICAgICAkZWNobyAi
JG1vZGVuYW1lOiB5b3UgbXVzdCBzcGVjaWZ5IGFuIGluc3RhbGwgcHJvZ3JhbSIgMT4mMgogICAg
ICAkZWNobyAiJGhlbHAiIDE+JjIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgICBmaQoKICAg
IGlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgogICAgICAkZWNobyAiJG1vZGVuYW1lOiB0aGUgXGAk
cHJldicgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IiAxPiYyCiAgICAgICRlY2hvICIkaGVs
cCIgMT4mMgogICAgICBleGl0ICRFWElUX0ZBSUxVUkUKICAgIGZpCgogICAgaWYgdGVzdCAteiAi
JGZpbGVzIjsgdGhlbgogICAgICBpZiB0ZXN0IC16ICIkZGVzdCI7IHRoZW4KCSRlY2hvICIkbW9k
ZW5hbWU6IG5vIGZpbGUgb3IgZGVzdGluYXRpb24gc3BlY2lmaWVkIiAxPiYyCiAgICAgIGVsc2UK
CSRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYSBkZXN0aW5hdGlvbiIgMT4mMgog
ICAgICBmaQogICAgICAkZWNobyAiJGhlbHAiIDE+JjIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJF
CiAgICBmaQoKICAgICMgU3RyaXAgYW55IHRyYWlsaW5nIHNsYXNoIGZyb20gdGhlIGRlc3RpbmF0
aW9uLgogICAgZGVzdD1gJGVjaG8gIlgkZGVzdCIgfCAkWHNlZCAtZSAncyUvJCUlJ2AKCiAgICAj
IENoZWNrIHRvIHNlZSB0aGF0IHRoZSBkZXN0aW5hdGlvbiBpcyBhIGRpcmVjdG9yeS4KICAgIHRl
c3QgLWQgIiRkZXN0IiAmJiBpc2Rpcj15ZXMKICAgIGlmIHRlc3QgIiRpc2RpciIgPSB5ZXM7IHRo
ZW4KICAgICAgZGVzdGRpcj0iJGRlc3QiCiAgICAgIGRlc3RuYW1lPQogICAgZWxzZQogICAgICBk
ZXN0ZGlyPWAkZWNobyAiWCRkZXN0IiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCiAgICAgIHRl
c3QgIlgkZGVzdGRpciIgPSAiWCRkZXN0IiAmJiBkZXN0ZGlyPS4KICAgICAgZGVzdG5hbWU9YCRl
Y2hvICJYJGRlc3QiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCiAgICAgICMgTm90IGEgZGlyZWN0
b3J5LCBzbyBjaGVjayB0byBzZWUgdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlIHNwZWNpZmll
ZC4KICAgICAgc2V0IGR1bW15ICRmaWxlcwogICAgICBpZiB0ZXN0ICIkIyIgLWd0IDI7IHRoZW4K
CSRlY2hvICIkbW9kZW5hbWU6IFxgJGRlc3QnIGlzIG5vdCBhIGRpcmVjdG9yeSIgMT4mMgoJJGVj
aG8gIiRoZWxwIiAxPiYyCglleGl0ICRFWElUX0ZBSUxVUkUKICAgICAgZmkKICAgIGZpCiAgICBj
YXNlICRkZXN0ZGlyIGluCiAgICBbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7CiAgICAqKQog
ICAgICBmb3IgZmlsZSBpbiAkZmlsZXM7IGRvCgljYXNlICRmaWxlIGluCgkqLmxvKSA7OwoJKikK
CSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkZGVzdGRpcicgbXVzdCBiZSBhbiBhYnNvbHV0ZSBkaXJl
Y3RvcnkgbmFtZSIgMT4mMgoJICAkZWNobyAiJGhlbHAiIDE+JjIKCSAgZXhpdCAkRVhJVF9GQUlM
VVJFCgkgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAgICAgOzsKICAgIGVzYWMKCiAgICAjIFRoaXMg
dmFyaWFibGUgdGVsbHMgd3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHZhcmlhYmxlcyByYXRo
ZXIKICAgICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9pbnN0YWxs
X21hZ2ljPSIkbWFnaWMiCgogICAgc3RhdGljbGlicz0KICAgIGZ1dHVyZV9saWJkaXJzPQogICAg
Y3VycmVudF9saWJkaXJzPQogICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbwoKICAgICAgIyBEbyBl
YWNoIGluc3RhbGxhdGlvbi4KICAgICAgY2FzZSAkZmlsZSBpbgogICAgICAqLiRsaWJleHQpCgkj
IERvIHRoZSBzdGF0aWMgbGlicmFyaWVzIGxhdGVyLgoJc3RhdGljbGlicz0iJHN0YXRpY2xpYnMg
JGZpbGUiCgk7OwoKICAgICAgKi5sYSkKCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhpcyByZWFsbHkg
aXMgYSBsaWJ0b29sIGFyY2hpdmUuCglpZiAoJHtTRUR9IC1lICcycScgJGZpbGUgfCBncmVwICJe
IyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CgllbHNl
CgkgICRlY2hvICIkbW9kZW5hbWU6IFxgJGZpbGUnIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJj
aGl2ZSIgMT4mMgoJICAkZWNobyAiJGhlbHAiIDE+JjIKCSAgZXhpdCAkRVhJVF9GQUlMVVJFCglm
aQoKCWxpYnJhcnlfbmFtZXM9CglvbGRfbGlicmFyeT0KCXJlbGlua19jb21tYW5kPQoJIyBJZiB0
aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCgljYXNlICRmaWxl
IGluCgkqLyogfCAqXFwqKSAuICRmaWxlIDs7CgkqKSAuIC4vJGZpbGUgOzsKCWVzYWMKCgkjIEFk
ZCB0aGUgbGliZGlyIHRvIGN1cnJlbnRfbGliZGlycyBpZiBpdCBpcyB0aGUgZGVzdGluYXRpb24u
CglpZiB0ZXN0ICJYJGRlc3RkaXIiID0gIlgkbGliZGlyIjsgdGhlbgoJICBjYXNlICIkY3VycmVu
dF9saWJkaXJzICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikgY3VycmVudF9saWJkaXJz
PSIkY3VycmVudF9saWJkaXJzICRsaWJkaXIiIDs7CgkgIGVzYWMKCWVsc2UKCSAgIyBOb3RlIHRo
ZSBsaWJkaXIgYXMgYSBmdXR1cmUgbGliZGlyLgoJICBjYXNlICIkZnV0dXJlX2xpYmRpcnMgIiBp
bgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBmdXR1cmVfbGliZGlycz0iJGZ1dHVyZV9saWJk
aXJzICRsaWJkaXIiIDs7CgkgIGVzYWMKCWZpCgoJZGlyPWAkZWNobyAiWCRmaWxlIiB8ICRYc2Vk
IC1lICdzJS9bXi9dKiQlJSdgLwoJdGVzdCAiWCRkaXIiID0gIlgkZmlsZS8iICYmIGRpcj0KCWRp
cj0iJGRpciRvYmpkaXIiCgoJaWYgdGVzdCAtbiAiJHJlbGlua19jb21tYW5kIjsgdGhlbgoJICAj
IERldGVybWluZSB0aGUgcHJlZml4IHRoZSB1c2VyIGhhcyBhcHBsaWVkIHRvIG91ciBmdXR1cmUg
ZGlyLgoJICBpbnN0X3ByZWZpeF9kaXI9YCRlY2hvICIkZGVzdGRpciIgfCAkU0VEICJzJSRsaWJk
aXJcJCUlImAKCgkgICMgRG9uJ3QgYWxsb3cgdGhlIHVzZXIgdG8gcGxhY2UgdXMgb3V0c2lkZSBv
ZiBvdXIgZXhwZWN0ZWQKCSAgIyBsb2NhdGlvbiBiL2MgdGhpcyBwcmV2ZW50cyBmaW5kaW5nIGRl
cGVuZGVudCBsaWJyYXJpZXMgdGhhdAoJICAjIGFyZSBpbnN0YWxsZWQgdG8gdGhlIHNhbWUgcHJl
Zml4LgoJICAjIEF0IHByZXNlbnQsIHRoaXMgY2hlY2sgZG9lc24ndCBhZmZlY3Qgd2luZG93cyAu
ZGxsJ3MgdGhhdAoJICAjIGFyZSBpbnN0YWxsZWQgaW50byAkbGliZGlyLy4uL2JpbiAoY3VycmVu
dGx5LCB0aGF0IHdvcmtzIGZpbmUpCgkgICMgYnV0IGl0J3Mgc29tZXRoaW5nIHRvIGtlZXAgYW4g
ZXllIG9uLgoJICBpZiB0ZXN0ICIkaW5zdF9wcmVmaXhfZGlyIiA9ICIkZGVzdGRpciI7IHRoZW4K
CSAgICAkZWNobyAiJG1vZGVuYW1lOiBlcnJvcjogY2Fubm90IGluc3RhbGwgXGAkZmlsZScgdG8g
YSBkaXJlY3Rvcnkgbm90IGVuZGluZyBpbiAkbGliZGlyIiAxPiYyCgkgICAgZXhpdCAkRVhJVF9G
QUlMVVJFCgkgIGZpCgoJICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgoJICAg
ICMgU3RpY2sgdGhlIGluc3RfcHJlZml4X2RpciBkYXRhIGludG8gdGhlIGxpbmsgY29tbWFuZC4K
CSAgICByZWxpbmtfY29tbWFuZD1gJGVjaG8gIiRyZWxpbmtfY29tbWFuZCIgfCAkU0VEICJzJUBp
bnN0X3ByZWZpeF9kaXJAJS1pbnN0LXByZWZpeC1kaXIgJGluc3RfcHJlZml4X2RpciUiYAoJICBl
bHNlCgkgICAgcmVsaW5rX2NvbW1hbmQ9YCRlY2hvICIkcmVsaW5rX2NvbW1hbmQiIHwgJFNFRCAi
cyVAaW5zdF9wcmVmaXhfZGlyQCUlImAKCSAgZmkKCgkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5p
bmc6IHJlbGlua2luZyBcYCRmaWxlJyIgMT4mMgoJICAkc2hvdyAiJHJlbGlua19jb21tYW5kIgoJ
ICBpZiAkcnVuIGV2YWwgIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4gOgoJICBlbHNlCgkgICAgJGVj
aG8gIiRtb2RlbmFtZTogZXJyb3I6IHJlbGluayBcYCRmaWxlJyB3aXRoIHRoZSBhYm92ZSBjb21t
YW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0IiAxPiYyCgkgICAgZXhpdCAkRVhJVF9GQUlMVVJFCgkg
IGZpCglmaQoKCSMgU2VlIHRoZSBuYW1lcyBvZiB0aGUgc2hhcmVkIGxpYnJhcnkuCglzZXQgZHVt
bXkgJGxpYnJhcnlfbmFtZXMKCWlmIHRlc3QgLW4gIiQyIjsgdGhlbgoJICByZWFsbmFtZT0iJDIi
CgkgIHNoaWZ0CgkgIHNoaWZ0CgoJICBzcmNuYW1lPSIkcmVhbG5hbWUiCgkgIHRlc3QgLW4gIiRy
ZWxpbmtfY29tbWFuZCIgJiYgc3JjbmFtZT0iJHJlYWxuYW1lIlQKCgkgICMgSW5zdGFsbCB0aGUg
c2hhcmVkIGxpYnJhcnkgYW5kIGJ1aWxkIHRoZSBzeW1saW5rcy4KCSAgJHNob3cgIiRpbnN0YWxs
X3Byb2cgJGRpci8kc3JjbmFtZSAkZGVzdGRpci8kcmVhbG5hbWUiCgkgICRydW4gZXZhbCAiJGlu
c3RhbGxfcHJvZyAkZGlyLyRzcmNuYW1lICRkZXN0ZGlyLyRyZWFsbmFtZSIgfHwgZXhpdCAkPwoJ
ICBpZiB0ZXN0IC1uICIkc3RyaXBtZSIgJiYgdGVzdCAtbiAiJHN0cmlwbGliIjsgdGhlbgoJICAg
ICRzaG93ICIkc3RyaXBsaWIgJGRlc3RkaXIvJHJlYWxuYW1lIgoJICAgICRydW4gZXZhbCAiJHN0
cmlwbGliICRkZXN0ZGlyLyRyZWFsbmFtZSIgfHwgZXhpdCAkPwoJICBmaQoKCSAgaWYgdGVzdCAi
JCMiIC1ndCAwOyB0aGVuCgkgICAgIyBEZWxldGUgdGhlIG9sZCBzeW1saW5rcywgYW5kIGNyZWF0
ZSBuZXcgb25lcy4KCSAgICBmb3IgbGlua25hbWUKCSAgICBkbwoJICAgICAgaWYgdGVzdCAiJGxp
bmtuYW1lIiAhPSAiJHJlYWxuYW1lIjsgdGhlbgoJCSRzaG93ICIoY2QgJGRlc3RkaXIgJiYgJHJt
ICRsaW5rbmFtZSAmJiAkTE5fUyAkcmVhbG5hbWUgJGxpbmtuYW1lKSIKCQkkcnVuIGV2YWwgIihj
ZCAkZGVzdGRpciAmJiAkcm0gJGxpbmtuYW1lICYmICRMTl9TICRyZWFsbmFtZSAkbGlua25hbWUp
IgoJICAgICAgZmkKCSAgICBkb25lCgkgIGZpCgoJICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUg
cG9zdGluc3RhbGwgY29tbWFuZHMuCgkgIGxpYj0iJGRlc3RkaXIvJHJlYWxuYW1lIgoJICBjbWRz
PSRwb3N0aW5zdGFsbF9jbWRzCgkgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJICBmb3IgY21k
IGluICRjbWRzOyBkbwoJICAgIElGUz0iJHNhdmVfaWZzIgoJICAgIGV2YWwgY21kPVwiJGNtZFwi
CgkgICAgJHNob3cgIiRjbWQiCgkgICAgJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CgkgIGRv
bmUKCSAgSUZTPSIkc2F2ZV9pZnMiCglmaQoKCSMgSW5zdGFsbCB0aGUgcHNldWRvLWxpYnJhcnkg
Zm9yIGluZm9ybWF0aW9uIHB1cnBvc2VzLgoJbmFtZT1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAt
ZSAncyVeLiovJSUnYAoJaW5zdG5hbWU9IiRkaXIvJG5hbWUiaQoJJHNob3cgIiRpbnN0YWxsX3By
b2cgJGluc3RuYW1lICRkZXN0ZGlyLyRuYW1lIgoJJHJ1biBldmFsICIkaW5zdGFsbF9wcm9nICRp
bnN0bmFtZSAkZGVzdGRpci8kbmFtZSIgfHwgZXhpdCAkPwoKCSMgTWF5YmUgaW5zdGFsbCB0aGUg
c3RhdGljIGxpYnJhcnksIHRvby4KCXRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgc3RhdGljbGli
cz0iJHN0YXRpY2xpYnMgJGRpci8kb2xkX2xpYnJhcnkiCgk7OwoKICAgICAgKi5sbykKCSMgSW5z
dGFsbCAoaS5lLiBjb3B5KSBhIGxpYnRvb2wgb2JqZWN0LgoKCSMgRmlndXJlIG91dCBkZXN0aW5h
dGlvbiBmaWxlIG5hbWUsIGlmIGl0IHdhc24ndCBhbHJlYWR5IHNwZWNpZmllZC4KCWlmIHRlc3Qg
LW4gIiRkZXN0bmFtZSI7IHRoZW4KCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0bmFtZSIKCWVs
c2UKCSAgZGVzdGZpbGU9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKCSAg
ZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0ZmlsZSIKCWZpCgoJIyBEZWR1Y2UgdGhlIG5hbWUgb2Yg
dGhlIGRlc3RpbmF0aW9uIG9sZC1zdHlsZSBvYmplY3QgZmlsZS4KCWNhc2UgJGRlc3RmaWxlIGlu
CgkqLmxvKQoJICBzdGF0aWNkZXN0PWAkZWNobyAiWCRkZXN0ZmlsZSIgfCAkWHNlZCAtZSAiJGxv
Mm8iYAoJICA7OwoJKi4kb2JqZXh0KQoJICBzdGF0aWNkZXN0PSIkZGVzdGZpbGUiCgkgIGRlc3Rm
aWxlPQoJICA7OwoJKikKCSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGNvcHkgYSBsaWJ0b29s
IG9iamVjdCB0byBcYCRkZXN0ZmlsZSciIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4
aXQgJEVYSVRfRkFJTFVSRQoJICA7OwoJZXNhYwoKCSMgSW5zdGFsbCB0aGUgbGlidG9vbCBvYmpl
Y3QgaWYgcmVxdWVzdGVkLgoJaWYgdGVzdCAtbiAiJGRlc3RmaWxlIjsgdGhlbgoJICAkc2hvdyAi
JGluc3RhbGxfcHJvZyAkZmlsZSAkZGVzdGZpbGUiCgkgICRydW4gZXZhbCAiJGluc3RhbGxfcHJv
ZyAkZmlsZSAkZGVzdGZpbGUiIHx8IGV4aXQgJD8KCWZpCgoJIyBJbnN0YWxsIHRoZSBvbGQgb2Jq
ZWN0IGlmIGVuYWJsZWQuCglpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzOyB0aGVuCgkg
ICMgRGVkdWNlIHRoZSBuYW1lIG9mIHRoZSBvbGQtc3R5bGUgb2JqZWN0IGZpbGUuCgkgIHN0YXRp
Y29iaj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAiJGxvMm8iYAoKCSAgJHNob3cgIiRpbnN0
YWxsX3Byb2cgJHN0YXRpY29iaiAkc3RhdGljZGVzdCIKCSAgJHJ1biBldmFsICIkaW5zdGFsbF9w
cm9nIFwkc3RhdGljb2JqIFwkc3RhdGljZGVzdCIgfHwgZXhpdCAkPwoJZmkKCWV4aXQgJEVYSVRf
U1VDQ0VTUwoJOzsKCiAgICAgICopCgkjIEZpZ3VyZSBvdXQgZGVzdGluYXRpb24gZmlsZSBuYW1l
LCBpZiBpdCB3YXNuJ3QgYWxyZWFkeSBzcGVjaWZpZWQuCglpZiB0ZXN0IC1uICIkZGVzdG5hbWUi
OyB0aGVuCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVzdG5hbWUiCgllbHNlCgkgIGRlc3RmaWxl
PWAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCgkgIGRlc3RmaWxlPSIkZGVz
dGRpci8kZGVzdGZpbGUiCglmaQoKCSMgSWYgdGhlIGZpbGUgaXMgbWlzc2luZywgYW5kIHRoZXJl
IGlzIGEgLmV4ZSBvbiB0aGUgZW5kLCBzdHJpcCBpdAoJIyBiZWNhdXNlIGl0IGlzIG1vc3QgbGlr
ZWx5IGEgbGlidG9vbCBzY3JpcHQgd2UgYWN0dWFsbHkgd2FudCB0bwoJIyBpbnN0YWxsCglzdHJp
cHBlZF9leHQ9IiIKCWNhc2UgJGZpbGUgaW4KCSAgKi5leGUpCgkgICAgaWYgdGVzdCAhIC1mICIk
ZmlsZSI7IHRoZW4KCSAgICAgIGZpbGU9YCRlY2hvICRmaWxlfCR7U0VEfSAncywuZXhlJCwsJ2AK
CSAgICAgIHN0cmlwcGVkX2V4dD0iLmV4ZSIKCSAgICBmaQoJICAgIDs7Cgllc2FjCgoJIyBEbyBh
IHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9vbCBwcm9ncmFtLgoJY2FzZSAk
aG9zdCBpbgoJKmN5Z3dpbip8Km1pbmd3KikKCSAgICB3cmFwcGVyPWAkZWNobyAkZmlsZSB8ICR7
U0VEfSAtZSAncywuZXhlJCwsJ2AKCSAgICA7OwoJKikKCSAgICB3cmFwcGVyPSRmaWxlCgkgICAg
OzsKCWVzYWMKCWlmICgke1NFRH0gLWUgJzRxJyAkd3JhcHBlciB8IGdyZXAgIl4jIEdlbmVyYXRl
ZCBieSAuKiRQQUNLQUdFIik+L2Rldi9udWxsIDI+JjE7IHRoZW4KCSAgbm90aW5zdF9kZXBsaWJz
PQoJICByZWxpbmtfY29tbWFuZD0KCgkgICMgVG8gaW5zdXJlIHRoYXQgImZvbyIgaXMgc291cmNl
ZCwgYW5kIG5vdCAiZm9vLmV4ZSIsCgkgICMgZmluZXNlIHRoZSBjeWd3aW4vTVNZUyBzeXN0ZW0g
YnkgZXhwbGljaXRseSBzb3VyY2luZyAiZm9vLiIKCSAgIyB3aGljaCBkaXNhbGxvd3MgdGhlIGF1
dG9tYXRpYy1hcHBlbmQtLmV4ZSBiZWhhdmlvci4KCSAgY2FzZSAkYnVpbGQgaW4KCSAgKmN5Z3dp
biogfCAqbWluZ3cqKSB3cmFwcGVyZG90PSR7d3JhcHBlcn0uIDs7CgkgICopIHdyYXBwZXJkb3Q9
JHt3cmFwcGVyfSA7OwoJICBlc2FjCgkgICMgSWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IGNvbXBv
bmVudCwgdGhlbiBhZGQgb25lLgoJICBjYXNlICRmaWxlIGluCgkgICovKiB8ICpcXCopIC4gJHt3
cmFwcGVyZG90fSA7OwoJICAqKSAuIC4vJHt3cmFwcGVyZG90fSA7OwoJICBlc2FjCgoJICAjIENo
ZWNrIHRoZSB2YXJpYWJsZXMgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHNldC4KCSAgaWYgdGVzdCAt
eiAiJG5vdGluc3RfZGVwbGlicyI7IHRoZW4KCSAgICAkZWNobyAiJG1vZGVuYW1lOiBpbnZhbGlk
IGxpYnRvb2wgd3JhcHBlciBzY3JpcHQgXGAkd3JhcHBlciciIDE+JjIKCSAgICBleGl0ICRFWElU
X0ZBSUxVUkUKCSAgZmkKCgkgIGZpbmFsaXplPXllcwoJICBmb3IgbGliIGluICRub3RpbnN0X2Rl
cGxpYnM7IGRvCgkgICAgIyBDaGVjayB0byBzZWUgdGhhdCBlYWNoIGxpYnJhcnkgaXMgaW5zdGFs
bGVkLgoJICAgIGxpYmRpcj0KCSAgICBpZiB0ZXN0IC1mICIkbGliIjsgdGhlbgoJICAgICAgIyBJ
ZiB0aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCgkgICAgICBj
YXNlICRsaWIgaW4KCSAgICAgICovKiB8ICpcXCopIC4gJGxpYiA7OwoJICAgICAgKikgLiAuLyRs
aWIgOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICAgIGxpYmZpbGU9IiRsaWJkaXIvImAkZWNobyAi
WCRsaWIiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlZydgICMjIyB0ZXN0c3VpdGU6IHNraXAgbmVzdGVk
IHF1b3RpbmcgdGVzdAoJICAgIGlmIHRlc3QgLW4gIiRsaWJkaXIiICYmIHRlc3QgISAtZiAiJGxp
YmZpbGUiOyB0aGVuCgkgICAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYCRsaWInIGhh
cyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gXGAkbGliZGlyJyIgMT4mMgoJICAgICAgZmluYWxpemU9
bm8KCSAgICBmaQoJICBkb25lCgoJICByZWxpbmtfY29tbWFuZD0KCSAgIyBUbyBpbnN1cmUgdGhh
dCAiZm9vIiBpcyBzb3VyY2VkLCBhbmQgbm90ICJmb28uZXhlIiwKCSAgIyBmaW5lc2UgdGhlIGN5
Z3dpbi9NU1lTIHN5c3RlbSBieSBleHBsaWNpdGx5IHNvdXJjaW5nICJmb28uIgoJICAjIHdoaWNo
IGRpc2FsbG93cyB0aGUgYXV0b21hdGljLWFwcGVuZC0uZXhlIGJlaGF2aW9yLgoJICBjYXNlICRi
dWlsZCBpbgoJICAqY3lnd2luKiB8ICptaW5ndyopIHdyYXBwZXJkb3Q9JHt3cmFwcGVyfS4gOzsK
CSAgKikgd3JhcHBlcmRvdD0ke3dyYXBwZXJ9IDs7CgkgIGVzYWMKCSAgIyBJZiB0aGVyZSBpcyBu
byBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCgkgIGNhc2UgJGZpbGUgaW4KCSAg
Ki8qIHwgKlxcKikgLiAke3dyYXBwZXJkb3R9IDs7CgkgICopIC4gLi8ke3dyYXBwZXJkb3R9IDs7
CgkgIGVzYWMKCgkgIG91dHB1dG5hbWU9CgkgIGlmIHRlc3QgIiRmYXN0X2luc3RhbGwiID0gbm8g
JiYgdGVzdCAtbiAiJHJlbGlua19jb21tYW5kIjsgdGhlbgoJICAgIGlmIHRlc3QgIiRmaW5hbGl6
ZSIgPSB5ZXMgJiYgdGVzdCAteiAiJHJ1biI7IHRoZW4KCSAgICAgIHRtcGRpcj0iL3RtcCIKCSAg
ICAgIHRlc3QgLW4gIiRUTVBESVIiICYmIHRtcGRpcj0iJFRNUERJUiIKCSAgICAgIHRtcGRpcj0i
JHRtcGRpci9saWJ0b29sLSQkIgoJICAgICAgc2F2ZV91bWFzaz1gdW1hc2tgCgkgICAgICB1bWFz
ayAwMDc3CgkgICAgICBpZiAkbWtkaXIgIiR0bXBkaXIiOyB0aGVuCgkgICAgICAgIHVtYXNrICRz
YXZlX3VtYXNrCgkgICAgICBlbHNlCgkgICAgICAgIHVtYXNrICRzYXZlX3VtYXNrCgkJJGVjaG8g
IiRtb2RlbmFtZTogZXJyb3I6IGNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBcYCR0
bXBkaXInIiAxPiYyCgkJY29udGludWUKCSAgICAgIGZpCgkgICAgICBmaWxlPWAkZWNobyAiWCRm
aWxlJHN0cmlwcGVkX2V4dCIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoJICAgICAgb3V0cHV0bmFt
ZT0iJHRtcGRpci8kZmlsZSIKCSAgICAgICMgUmVwbGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lm
aWNhdGlvbi4KCSAgICAgIHJlbGlua19jb21tYW5kPWAkZWNobyAiWCRyZWxpbmtfY29tbWFuZCIg
fCAkWHNlZCAtZSAncyVAT1VUUFVUQCUnIiRvdXRwdXRuYW1lIiclZydgCgoJICAgICAgJHNob3cg
IiRyZWxpbmtfY29tbWFuZCIKCSAgICAgIGlmICRydW4gZXZhbCAiJHJlbGlua19jb21tYW5kIjsg
dGhlbiA6CgkgICAgICBlbHNlCgkJJGVjaG8gIiRtb2RlbmFtZTogZXJyb3I6IHJlbGluayBcYCRm
aWxlJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0IiAxPiYyCgkJ
JHtybX1yICIkdG1wZGlyIgoJCWNvbnRpbnVlCgkgICAgICBmaQoJICAgICAgZmlsZT0iJG91dHB1
dG5hbWUiCgkgICAgZWxzZQoJICAgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogY2Fubm90
IHJlbGluayBcYCRmaWxlJyIgMT4mMgoJICAgIGZpCgkgIGVsc2UKCSAgICAjIEluc3RhbGwgdGhl
IGJpbmFyeSB0aGF0IHdlIGNvbXBpbGVkIGVhcmxpZXIuCgkgICAgZmlsZT1gJGVjaG8gIlgkZmls
ZSRzdHJpcHBlZF9leHQiIHwgJFhzZWQgLWUgInMlXChbXi9dKlwpJCUkb2JqZGlyL1wxJSJgCgkg
IGZpCglmaQoKCSMgcmVtb3ZlIC5leGUgc2luY2UgY3lnd2luIC91c3IvYmluL2luc3RhbGwgd2ls
bCBhcHBlbmQgYW5vdGhlcgoJIyBvbmUgYW55d2F5cwoJY2FzZSAkaW5zdGFsbF9wcm9nLCRob3N0
IGluCgkqL3Vzci9iaW4vaW5zdGFsbCosKmN5Z3dpbiopCgkgIGNhc2UgJGZpbGU6JGRlc3RmaWxl
IGluCgkgICouZXhlOiouZXhlKQoJICAgICMgdGhpcyBpcyBvawoJICAgIDs7CgkgICouZXhlOiop
CgkgICAgZGVzdGZpbGU9JGRlc3RmaWxlLmV4ZQoJICAgIDs7CgkgICo6Ki5leGUpCgkgICAgZGVz
dGZpbGU9YCRlY2hvICRkZXN0ZmlsZSB8ICR7U0VEfSAtZSAncywuZXhlJCwsJ2AKCSAgICA7OwoJ
ICBlc2FjCgkgIDs7Cgllc2FjCgkkc2hvdyAiJGluc3RhbGxfcHJvZyRzdHJpcG1lICRmaWxlICRk
ZXN0ZmlsZSIKCSRydW4gZXZhbCAiJGluc3RhbGxfcHJvZ1wkc3RyaXBtZSBcJGZpbGUgXCRkZXN0
ZmlsZSIgfHwgZXhpdCAkPwoJdGVzdCAtbiAiJG91dHB1dG5hbWUiICYmICR7cm19ciAiJHRtcGRp
ciIKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUKCiAgICBmb3IgZmlsZSBpbiAkc3RhdGljbGliczsg
ZG8KICAgICAgbmFtZT1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAoKICAg
ICAgIyBTZXQgdXAgdGhlIHJhbmxpYiBwYXJhbWV0ZXJzLgogICAgICBvbGRsaWI9IiRkZXN0ZGly
LyRuYW1lIgoKICAgICAgJHNob3cgIiRpbnN0YWxsX3Byb2cgJGZpbGUgJG9sZGxpYiIKICAgICAg
JHJ1biBldmFsICIkaW5zdGFsbF9wcm9nIFwkZmlsZSBcJG9sZGxpYiIgfHwgZXhpdCAkPwoKICAg
ICAgaWYgdGVzdCAtbiAiJHN0cmlwbWUiICYmIHRlc3QgLW4gIiRvbGRfc3RyaXBsaWIiOyB0aGVu
Cgkkc2hvdyAiJG9sZF9zdHJpcGxpYiAkb2xkbGliIgoJJHJ1biBldmFsICIkb2xkX3N0cmlwbGli
ICRvbGRsaWIiIHx8IGV4aXQgJD8KICAgICAgZmkKCiAgICAgICMgRG8gZWFjaCBjb21tYW5kIGlu
IHRoZSBwb3N0aW5zdGFsbCBjb21tYW5kcy4KICAgICAgY21kcz0kb2xkX3Bvc3RpbnN0YWxsX2Nt
ZHMKICAgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCiAgICAgIGZvciBjbWQgaW4gJGNtZHM7
IGRvCglJRlM9IiRzYXZlX2lmcyIKCWV2YWwgY21kPVwiJGNtZFwiCgkkc2hvdyAiJGNtZCIKCSRy
dW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPwogICAgICBkb25lCiAgICAgIElGUz0iJHNhdmVfaWZz
IgogICAgZG9uZQoKICAgIGlmIHRlc3QgLW4gIiRmdXR1cmVfbGliZGlycyI7IHRoZW4KICAgICAg
JGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogcmVtZW1iZXIgdG8gcnVuIFxgJHByb2duYW1lIC0t
ZmluaXNoJGZ1dHVyZV9saWJkaXJzJyIgMT4mMgogICAgZmkKCiAgICBpZiB0ZXN0IC1uICIkY3Vy
cmVudF9saWJkaXJzIjsgdGhlbgogICAgICAjIE1heWJlIGp1c3QgZG8gYSBkcnkgcnVuLgogICAg
ICB0ZXN0IC1uICIkcnVuIiAmJiBjdXJyZW50X2xpYmRpcnM9IiAtbiRjdXJyZW50X2xpYmRpcnMi
CiAgICAgIGV4ZWNfY21kPSckU0hFTEwgJHByb2dwYXRoICRwcmVzZXJ2ZV9hcmdzIC0tZmluaXNo
JGN1cnJlbnRfbGliZGlycycKICAgIGVsc2UKICAgICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICBm
aQogICAgOzsKCiAgIyBsaWJ0b29sIGZpbmlzaCBtb2RlCiAgZmluaXNoKQogICAgbW9kZW5hbWU9
IiRtb2RlbmFtZTogZmluaXNoIgogICAgbGliZGlycz0iJG5vbm9wdCIKICAgIGFkbWluY21kcz0K
CiAgICBpZiB0ZXN0IC1uICIkZmluaXNoX2NtZHMkZmluaXNoX2V2YWwiICYmIHRlc3QgLW4gIiRs
aWJkaXJzIjsgdGhlbgogICAgICBmb3IgZGlyCiAgICAgIGRvCglsaWJkaXJzPSIkbGliZGlycyAk
ZGlyIgogICAgICBkb25lCgogICAgICBmb3IgbGliZGlyIGluICRsaWJkaXJzOyBkbwoJaWYgdGVz
dCAtbiAiJGZpbmlzaF9jbWRzIjsgdGhlbgoJICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgZmlu
aXNoIGNvbW1hbmRzLgoJICBjbWRzPSRmaW5pc2hfY21kcwoJICBzYXZlX2lmcz0iJElGUyI7IElG
Uz0nficKCSAgZm9yIGNtZCBpbiAkY21kczsgZG8KCSAgICBJRlM9IiRzYXZlX2lmcyIKCSAgICBl
dmFsIGNtZD1cIiRjbWRcIgoJICAgICRzaG93ICIkY21kIgoJICAgICRydW4gZXZhbCAiJGNtZCIg
fHwgYWRtaW5jbWRzPSIkYWRtaW5jbWRzCiAgICAgICAkY21kIgoJICBkb25lCgkgIElGUz0iJHNh
dmVfaWZzIgoJZmkKCWlmIHRlc3QgLW4gIiRmaW5pc2hfZXZhbCI7IHRoZW4KCSAgIyBEbyB0aGUg
c2luZ2xlIGZpbmlzaF9ldmFsLgoJICBldmFsIGNtZHM9XCIkZmluaXNoX2V2YWxcIgoJICAkcnVu
IGV2YWwgIiRjbWRzIiB8fCBhZG1pbmNtZHM9IiRhZG1pbmNtZHMKICAgICAgICRjbWRzIgoJZmkK
ICAgICAgZG9uZQogICAgZmkKCiAgICAjIEV4aXQgaGVyZSBpZiB0aGV5IHdhbnRlZCBzaWxlbnQg
bW9kZS4KICAgIHRlc3QgIiRzaG93IiA9IDogJiYgZXhpdCAkRVhJVF9TVUNDRVNTCgogICAgJGVj
aG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0iCiAgICAkZWNobyAiTGlicmFyaWVzIGhhdmUgYmVlbiBpbnN0YWxs
ZWQgaW46IgogICAgZm9yIGxpYmRpciBpbiAkbGliZGlyczsgZG8KICAgICAgJGVjaG8gIiAgICRs
aWJkaXIiCiAgICBkb25lCiAgICAkZWNobwogICAgJGVjaG8gIklmIHlvdSBldmVyIGhhcHBlbiB0
byB3YW50IHRvIGxpbmsgYWdhaW5zdCBpbnN0YWxsZWQgbGlicmFyaWVzIgogICAgJGVjaG8gImlu
IGEgZ2l2ZW4gZGlyZWN0b3J5LCBMSUJESVIsIHlvdSBtdXN0IGVpdGhlciB1c2UgbGlidG9vbCwg
YW5kIgogICAgJGVjaG8gInNwZWNpZnkgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGxpYnJhcnks
IG9yIHVzZSB0aGUgXGAtTExJQkRJUiciCiAgICAkZWNobyAiZmxhZyBkdXJpbmcgbGlua2luZyBh
bmQgZG8gYXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmc6IgogICAgaWYgdGVzdCAtbiAiJHNo
bGlicGF0aF92YXIiOyB0aGVuCiAgICAgICRlY2hvICIgICAtIGFkZCBMSUJESVIgdG8gdGhlIFxg
JHNobGlicGF0aF92YXInIGVudmlyb25tZW50IHZhcmlhYmxlIgogICAgICAkZWNobyAiICAgICBk
dXJpbmcgZXhlY3V0aW9uIgogICAgZmkKICAgIGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRo
ZW4KICAgICAgJGVjaG8gIiAgIC0gYWRkIExJQkRJUiB0byB0aGUgXGAkcnVucGF0aF92YXInIGVu
dmlyb25tZW50IHZhcmlhYmxlIgogICAgICAkZWNobyAiICAgICBkdXJpbmcgbGlua2luZyIKICAg
IGZpCiAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KICAg
ICAgbGliZGlyPUxJQkRJUgogICAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlY1wiCgogICAgICAkZWNobyAiICAgLSB1c2UgdGhlIFxgJGZsYWcnIGxpbmtlciBmbGFnIgog
ICAgZmkKICAgIGlmIHRlc3QgLW4gIiRhZG1pbmNtZHMiOyB0aGVuCiAgICAgICRlY2hvICIgICAt
IGhhdmUgeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBydW4gdGhlc2UgY29tbWFuZHM6JGFkbWlu
Y21kcyIKICAgIGZpCiAgICBpZiB0ZXN0IC1mIC9ldGMvbGQuc28uY29uZjsgdGhlbgogICAgICAk
ZWNobyAiICAgLSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgYWRkIExJQkRJUiB0byBc
YC9ldGMvbGQuc28uY29uZiciCiAgICBmaQogICAgJGVjaG8KICAgICRlY2hvICJTZWUgYW55IG9w
ZXJhdGluZyBzeXN0ZW0gZG9jdW1lbnRhdGlvbiBhYm91dCBzaGFyZWQgbGlicmFyaWVzIGZvciIK
ICAgICRlY2hvICJtb3JlIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSBsZCgxKSBhbmQgbGQuc28o
OCkgbWFudWFsIHBhZ2VzLiIKICAgICRlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgogICAgZXhpdCAkRVhJ
VF9TVUNDRVNTCiAgICA7OwoKICAjIGxpYnRvb2wgZXhlY3V0ZSBtb2RlCiAgZXhlY3V0ZSkKICAg
IG1vZGVuYW1lPSIkbW9kZW5hbWU6IGV4ZWN1dGUiCgogICAgIyBUaGUgZmlyc3QgYXJndW1lbnQg
aXMgdGhlIGNvbW1hbmQgbmFtZS4KICAgIGNtZD0iJG5vbm9wdCIKICAgIGlmIHRlc3QgLXogIiRj
bWQiOyB0aGVuCiAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYSBDT01N
QU5EIiAxPiYyCiAgICAgICRlY2hvICIkaGVscCIKICAgICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAg
ICBmaQoKICAgICMgSGFuZGxlIC1kbG9wZW4gZmxhZ3MgaW1tZWRpYXRlbHkuCiAgICBmb3IgZmls
ZSBpbiAkZXhlY3V0ZV9kbGZpbGVzOyBkbwogICAgICBpZiB0ZXN0ICEgLWYgIiRmaWxlIjsgdGhl
bgoJJGVjaG8gIiRtb2RlbmFtZTogXGAkZmlsZScgaXMgbm90IGEgZmlsZSIgMT4mMgoJJGVjaG8g
IiRoZWxwIiAxPiYyCglleGl0ICRFWElUX0ZBSUxVUkUKICAgICAgZmkKCiAgICAgIGRpcj0KICAg
ICAgY2FzZSAkZmlsZSBpbgogICAgICAqLmxhKQoJIyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJl
YWxseSBpcyBhIGxpYnRvb2wgYXJjaGl2ZS4KCWlmICgke1NFRH0gLWUgJzJxJyAkZmlsZSB8IGdy
ZXAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoK
CWVsc2UKCSAgJGVjaG8gIiRtb2RlbmFtZTogXGAkbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29s
IGFyY2hpdmUiIDE+JjIKCSAgJGVjaG8gIiRoZWxwIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVS
RQoJZmkKCgkjIFJlYWQgdGhlIGxpYnRvb2wgbGlicmFyeS4KCWRsbmFtZT0KCWxpYnJhcnlfbmFt
ZXM9CgoJIyBJZiB0aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUu
CgljYXNlICRmaWxlIGluCgkqLyogfCAqXFwqKSAuICRmaWxlIDs7CgkqKSAuIC4vJGZpbGUgOzsK
CWVzYWMKCgkjIFNraXAgdGhpcyBsaWJyYXJ5IGlmIGl0IGNhbm5vdCBiZSBkbG9wZW5lZC4KCWlm
IHRlc3QgLXogIiRkbG5hbWUiOyB0aGVuCgkgICMgV2FybiBpZiBpdCB3YXMgYSBzaGFyZWQgbGli
cmFyeS4KCSAgdGVzdCAtbiAiJGxpYnJhcnlfbmFtZXMiICYmICRlY2hvICIkbW9kZW5hbWU6IHdh
cm5pbmc6IFxgJGZpbGUnIHdhcyBub3QgbGlua2VkIHdpdGggXGAtZXhwb3J0LWR5bmFtaWMnIgoJ
ICBjb250aW51ZQoJZmkKCglkaXI9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQgLWUgJ3MlL1teL10q
JCUlJ2AKCXRlc3QgIlgkZGlyIiA9ICJYJGZpbGUiICYmIGRpcj0uCgoJaWYgdGVzdCAtZiAiJGRp
ci8kb2JqZGlyLyRkbG5hbWUiOyB0aGVuCgkgIGRpcj0iJGRpci8kb2JqZGlyIgoJZWxzZQoJICAk
ZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgZmluZCBcYCRkbG5hbWUnIGluIFxgJGRpcicgb3IgXGAk
ZGlyLyRvYmpkaXInIiAxPiYyCgkgIGV4aXQgJEVYSVRfRkFJTFVSRQoJZmkKCTs7CgogICAgICAq
LmxvKQoJIyBKdXN0IGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIC5sbyBmaWxlLgoJ
ZGlyPWAkZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCgl0ZXN0ICJYJGRp
ciIgPSAiWCRmaWxlIiAmJiBkaXI9LgoJOzsKCiAgICAgICopCgkkZWNobyAiJG1vZGVuYW1lOiB3
YXJuaW5nIFxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3Igbm9uLWxpYnRvb2wgbGlicmFyaWVzIGFu
ZCBvYmplY3RzIiAxPiYyCgljb250aW51ZQoJOzsKICAgICAgZXNhYwoKICAgICAgIyBHZXQgdGhl
IGFic29sdXRlIHBhdGhuYW1lLgogICAgICBhYnNkaXI9YGNkICIkZGlyIiAmJiBwd2RgCiAgICAg
IHRlc3QgLW4gIiRhYnNkaXIiICYmIGRpcj0iJGFic2RpciIKCiAgICAgICMgTm93IGFkZCB0aGUg
ZGlyZWN0b3J5IHRvIHNobGlicGF0aF92YXIuCiAgICAgIGlmIGV2YWwgInRlc3QgLXogXCJcJCRz
aGxpYnBhdGhfdmFyXCIiOyB0aGVuCglldmFsICIkc2hsaWJwYXRoX3Zhcj1cIlwkZGlyXCIiCiAg
ICAgIGVsc2UKCWV2YWwgIiRzaGxpYnBhdGhfdmFyPVwiXCRkaXI6XCQkc2hsaWJwYXRoX3Zhclwi
IgogICAgICBmaQogICAgZG9uZQoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNj
cmlwdHMganVzdCB0byBzZXQgc2hsaWJwYXRoX3ZhcgogICAgIyByYXRoZXIgdGhhbiBydW5uaW5n
IHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9leGVjdXRlX21hZ2ljPSIkbWFnaWMiCgogICAg
IyBDaGVjayBpZiBhbnkgb2YgdGhlIGFyZ3VtZW50cyBpcyBhIHdyYXBwZXIgc2NyaXB0LgogICAg
YXJncz0KICAgIGZvciBmaWxlCiAgICBkbwogICAgICBjYXNlICRmaWxlIGluCiAgICAgIC0qKSA7
OwogICAgICAqKQoJIyBEbyBhIHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9v
bCBwcm9ncmFtLgoJaWYgKCR7U0VEfSAtZSAnNHEnICRmaWxlIHwgZ3JlcCAiXiMgR2VuZXJhdGVk
IGJ5IC4qJFBBQ0tBR0UiKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCSAgIyBJZiB0aGVyZSBpcyBu
byBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCgkgIGNhc2UgJGZpbGUgaW4KCSAg
Ki8qIHwgKlxcKikgLiAkZmlsZSA7OwoJICAqKSAuIC4vJGZpbGUgOzsKCSAgZXNhYwoKCSAgIyBU
cmFuc2Zvcm0gYXJnIHRvIHdyYXBwZWQgbmFtZS4KCSAgZmlsZT0iJHByb2dkaXIvJHByb2dyYW0i
CglmaQoJOzsKICAgICAgZXNhYwogICAgICAjIFF1b3RlIGFyZ3VtZW50cyAodG8gcHJlc2VydmUg
c2hlbGwgbWV0YWNoYXJhY3RlcnMpLgogICAgICBmaWxlPWAkZWNobyAiWCRmaWxlIiB8ICRYc2Vk
IC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgICAgYXJncz0iJGFyZ3MgXCIkZmlsZVwiIgogICAg
ZG9uZQoKICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiRzaGxp
YnBhdGhfdmFyIjsgdGhlbgoJIyBFeHBvcnQgdGhlIHNobGlicGF0aF92YXIuCglldmFsICJleHBv
cnQgJHNobGlicGF0aF92YXIiCiAgICAgIGZpCgogICAgICAjIFJlc3RvcmUgc2F2ZWQgZW52aXJv
bm1lbnQgdmFyaWFibGVzCiAgICAgIGlmIHRlc3QgIiR7c2F2ZV9MQ19BTEwrc2V0fSIgPSBzZXQ7
IHRoZW4KCUxDX0FMTD0iJHNhdmVfTENfQUxMIjsgZXhwb3J0IExDX0FMTAogICAgICBmaQogICAg
ICBpZiB0ZXN0ICIke3NhdmVfTEFORytzZXR9IiA9IHNldDsgdGhlbgoJTEFORz0iJHNhdmVfTEFO
RyI7IGV4cG9ydCBMQU5HCiAgICAgIGZpCgogICAgICAjIE5vdyBwcmVwYXJlIHRvIGFjdHVhbGx5
IGV4ZWMgdGhlIGNvbW1hbmQuCiAgICAgIGV4ZWNfY21kPSJcJGNtZCRhcmdzIgogICAgZWxzZQog
ICAgICAjIERpc3BsYXkgd2hhdCB3b3VsZCBiZSBkb25lLgogICAgICBpZiB0ZXN0IC1uICIkc2hs
aWJwYXRoX3ZhciI7IHRoZW4KCWV2YWwgIlwkZWNobyBcIlwkc2hsaWJwYXRoX3Zhcj1cJCRzaGxp
YnBhdGhfdmFyXCIiCgkkZWNobyAiZXhwb3J0ICRzaGxpYnBhdGhfdmFyIgogICAgICBmaQogICAg
ICAkZWNobyAiJGNtZCRhcmdzIgogICAgICBleGl0ICRFWElUX1NVQ0NFU1MKICAgIGZpCiAgICA7
OwoKICAjIGxpYnRvb2wgY2xlYW4gYW5kIHVuaW5zdGFsbCBtb2RlCiAgY2xlYW4gfCB1bmluc3Rh
bGwpCiAgICBtb2RlbmFtZT0iJG1vZGVuYW1lOiAkbW9kZSIKICAgIHJtPSIkbm9ub3B0IgogICAg
ZmlsZXM9CiAgICBybWZvcmNlPQogICAgZXhpdF9zdGF0dXM9MAoKICAgICMgVGhpcyB2YXJpYWJs
ZSB0ZWxscyB3cmFwcGVyIHNjcmlwdHMganVzdCB0byBzZXQgdmFyaWFibGVzIHJhdGhlcgogICAg
IyB0aGFuIHJ1bm5pbmcgdGhlaXIgcHJvZ3JhbXMuCiAgICBsaWJ0b29sX2luc3RhbGxfbWFnaWM9
IiRtYWdpYyIKCiAgICBmb3IgYXJnCiAgICBkbwogICAgICBjYXNlICRhcmcgaW4KICAgICAgLWYp
IHJtPSIkcm0gJGFyZyI7IHJtZm9yY2U9eWVzIDs7CiAgICAgIC0qKSBybT0iJHJtICRhcmciIDs7
CiAgICAgICopIGZpbGVzPSIkZmlsZXMgJGFyZyIgOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAg
IGlmIHRlc3QgLXogIiRybSI7IHRoZW4KICAgICAgJGVjaG8gIiRtb2RlbmFtZTogeW91IG11c3Qg
c3BlY2lmeSBhbiBSTSBwcm9ncmFtIiAxPiYyCiAgICAgICRlY2hvICIkaGVscCIgMT4mMgogICAg
ICBleGl0ICRFWElUX0ZBSUxVUkUKICAgIGZpCgogICAgcm1kaXJzPQoKICAgIG9yaWdvYmpkaXI9
IiRvYmpkaXIiCiAgICBmb3IgZmlsZSBpbiAkZmlsZXM7IGRvCiAgICAgIGRpcj1gJGVjaG8gIlgk
ZmlsZSIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAogICAgICBpZiB0ZXN0ICJYJGRpciIgPSAi
WCRmaWxlIjsgdGhlbgoJZGlyPS4KCW9iamRpcj0iJG9yaWdvYmpkaXIiCiAgICAgIGVsc2UKCW9i
amRpcj0iJGRpci8kb3JpZ29iamRpciIKICAgICAgZmkKICAgICAgbmFtZT1gJGVjaG8gIlgkZmls
ZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAogICAgICB0ZXN0ICIkbW9kZSIgPSB1bmluc3RhbGwg
JiYgb2JqZGlyPSIkZGlyIgoKICAgICAgIyBSZW1lbWJlciBvYmpkaXIgZm9yIHJlbW92YWwgbGF0
ZXIsIGJlaW5nIGNhcmVmdWwgdG8gYXZvaWQgZHVwbGljYXRlcwogICAgICBpZiB0ZXN0ICIkbW9k
ZSIgPSBjbGVhbjsgdGhlbgoJY2FzZSAiICRybWRpcnMgIiBpbgoJICAqIiAkb2JqZGlyICIqKSA7
OwoJICAqKSBybWRpcnM9IiRybWRpcnMgJG9iamRpciIgOzsKCWVzYWMKICAgICAgZmkKCiAgICAg
ICMgRG9uJ3QgZXJyb3IgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCBhbmQgcm0gLWYgd2FzIHVz
ZWQuCiAgICAgIGlmICh0ZXN0IC1MICIkZmlsZSIpID4vZGV2L251bGwgMj4mMSBcCgl8fCAodGVz
dCAtaCAiJGZpbGUiKSA+L2Rldi9udWxsIDI+JjEgXAoJfHwgdGVzdCAtZiAiJGZpbGUiOyB0aGVu
Cgk6CiAgICAgIGVsaWYgdGVzdCAtZCAiJGZpbGUiOyB0aGVuCglleGl0X3N0YXR1cz0xCgljb250
aW51ZQogICAgICBlbGlmIHRlc3QgIiRybWZvcmNlIiA9IHllczsgdGhlbgoJY29udGludWUKICAg
ICAgZmkKCiAgICAgIHJtZmlsZXM9IiRmaWxlIgoKICAgICAgY2FzZSAkbmFtZSBpbgogICAgICAq
LmxhKQoJIyBQb3NzaWJseSBhIGxpYnRvb2wgYXJjaGl2ZSwgc28gdmVyaWZ5IGl0LgoJaWYgKCR7
U0VEfSAtZSAnMnEnICRmaWxlIHwgZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+
L2Rldi9udWxsIDI+JjE7IHRoZW4KCSAgLiAkZGlyLyRuYW1lCgoJICAjIERlbGV0ZSB0aGUgbGli
dG9vbCBsaWJyYXJpZXMgYW5kIHN5bWxpbmtzLgoJICBmb3IgbiBpbiAkbGlicmFyeV9uYW1lczsg
ZG8KCSAgICBybWZpbGVzPSIkcm1maWxlcyAkb2JqZGlyLyRuIgoJICBkb25lCgkgIHRlc3QgLW4g
IiRvbGRfbGlicmFyeSIgJiYgcm1maWxlcz0iJHJtZmlsZXMgJG9iamRpci8kb2xkX2xpYnJhcnki
CgkgIHRlc3QgIiRtb2RlIiA9IGNsZWFuICYmIHJtZmlsZXM9IiRybWZpbGVzICRvYmpkaXIvJG5h
bWUgJG9iamRpci8ke25hbWV9aSIKCgkgIGlmIHRlc3QgIiRtb2RlIiA9IHVuaW5zdGFsbDsgdGhl
bgoJICAgIGlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgdGhlbgoJICAgICAgIyBEbyBlYWNo
IGNvbW1hbmQgaW4gdGhlIHBvc3R1bmluc3RhbGwgY29tbWFuZHMuCgkgICAgICBjbWRzPSRwb3N0
dW5pbnN0YWxsX2NtZHMKCSAgICAgIHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JwoJICAgICAgZm9y
IGNtZCBpbiAkY21kczsgZG8KCQlJRlM9IiRzYXZlX2lmcyIKCQlldmFsIGNtZD1cIiRjbWRcIgoJ
CSRzaG93ICIkY21kIgoJCSRydW4gZXZhbCAiJGNtZCIKCQlpZiB0ZXN0ICIkPyIgLW5lIDAgJiYg
dGVzdCAiJHJtZm9yY2UiICE9IHllczsgdGhlbgoJCSAgZXhpdF9zdGF0dXM9MQoJCWZpCgkgICAg
ICBkb25lCgkgICAgICBJRlM9IiRzYXZlX2lmcyIKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1uICIk
b2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgb2xkX3Bv
c3R1bmluc3RhbGwgY29tbWFuZHMuCgkgICAgICBjbWRzPSRvbGRfcG9zdHVuaW5zdGFsbF9jbWRz
CgkgICAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCSAgICAgIGZvciBjbWQgaW4gJGNtZHM7
IGRvCgkJSUZTPSIkc2F2ZV9pZnMiCgkJZXZhbCBjbWQ9XCIkY21kXCIKCQkkc2hvdyAiJGNtZCIK
CQkkcnVuIGV2YWwgIiRjbWQiCgkJaWYgdGVzdCAiJD8iIC1uZSAwICYmIHRlc3QgIiRybWZvcmNl
IiAhPSB5ZXM7IHRoZW4KCQkgIGV4aXRfc3RhdHVzPTEKCQlmaQoJICAgICAgZG9uZQoJICAgICAg
SUZTPSIkc2F2ZV9pZnMiCgkgICAgZmkKCSAgICAjIEZJWE1FOiBzaG91bGQgcmVpbnN0YWxsIHRo
ZSBiZXN0IHJlbWFpbmluZyBzaGFyZWQgbGlicmFyeS4KCSAgZmkKCWZpCgk7OwoKICAgICAgKi5s
bykKCSMgUG9zc2libHkgYSBsaWJ0b29sIG9iamVjdCwgc28gdmVyaWZ5IGl0LgoJaWYgKCR7U0VE
fSAtZSAnMnEnICRmaWxlIHwgZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBBQ0tBR0UiKSA+L2Rl
di9udWxsIDI+JjE7IHRoZW4KCgkgICMgUmVhZCB0aGUgLmxvIGZpbGUKCSAgLiAkZGlyLyRuYW1l
CgoJICAjIEFkZCBQSUMgb2JqZWN0IHRvIHRoZSBsaXN0IG9mIGZpbGVzIHRvIHJlbW92ZS4KCSAg
aWYgdGVzdCAtbiAiJHBpY19vYmplY3QiIFwKCSAgICAgJiYgdGVzdCAiJHBpY19vYmplY3QiICE9
IG5vbmU7IHRoZW4KCSAgICBybWZpbGVzPSIkcm1maWxlcyAkZGlyLyRwaWNfb2JqZWN0IgoJICBm
aQoKCSAgIyBBZGQgbm9uLVBJQyBvYmplY3QgdG8gdGhlIGxpc3Qgb2YgZmlsZXMgdG8gcmVtb3Zl
LgoJICBpZiB0ZXN0IC1uICIkbm9uX3BpY19vYmplY3QiIFwKCSAgICAgJiYgdGVzdCAiJG5vbl9w
aWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkgICAgcm1maWxlcz0iJHJtZmlsZXMgJGRpci8kbm9u
X3BpY19vYmplY3QiCgkgIGZpCglmaQoJOzsKCiAgICAgICopCglpZiB0ZXN0ICIkbW9kZSIgPSBj
bGVhbiA7IHRoZW4KCSAgbm9leGVuYW1lPSRuYW1lCgkgIGNhc2UgJGZpbGUgaW4KCSAgKi5leGUp
CgkgICAgZmlsZT1gJGVjaG8gJGZpbGV8JHtTRUR9ICdzLC5leGUkLCwnYAoJICAgIG5vZXhlbmFt
ZT1gJGVjaG8gJG5hbWV8JHtTRUR9ICdzLC5leGUkLCwnYAoJICAgICMgJGZpbGUgd2l0aCAuZXhl
IGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQgdG8gcm1maWxlcywKCSAgICAjIGFkZCAkZmlsZSB3aXRo
b3V0IC5leGUKCSAgICBybWZpbGVzPSIkcm1maWxlcyAkZmlsZSIKCSAgICA7OwoJICBlc2FjCgkg
ICMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIGEgbGlidG9vbCBwcm9ncmFtLgoJICBpZiAo
JHtTRUR9IC1lICc0cScgJGZpbGUgfCBncmVwICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIp
ID4vZGV2L251bGwgMj4mMTsgdGhlbgoJICAgIHJlbGlua19jb21tYW5kPQoJICAgIC4gJGRpci8k
bm9leGVuYW1lCgoJICAgICMgbm90ZSAkbmFtZSBzdGlsbCBjb250YWlucyAuZXhlIGlmIGl0IHdh
cyBpbiAkZmlsZSBvcmlnaW5hbGx5CgkgICAgIyBhcyBkb2VzIHRoZSB2ZXJzaW9uIG9mICRmaWxl
IHRoYXQgd2FzIGFkZGVkIGludG8gJHJtZmlsZXMKCSAgICBybWZpbGVzPSIkcm1maWxlcyAkb2Jq
ZGlyLyRuYW1lICRvYmpkaXIvJHtuYW1lfVMuJHtvYmpleHR9IgoJICAgIGlmIHRlc3QgIiRmYXN0
X2luc3RhbGwiID0geWVzICYmIHRlc3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAgICAg
IHJtZmlsZXM9IiRybWZpbGVzICRvYmpkaXIvbHQtJG5hbWUiCgkgICAgZmkKCSAgICBpZiB0ZXN0
ICJYJG5vZXhlbmFtZSIgIT0gIlgkbmFtZSIgOyB0aGVuCgkgICAgICBybWZpbGVzPSIkcm1maWxl
cyAkb2JqZGlyL2x0LSR7bm9leGVuYW1lfS5jIgoJICAgIGZpCgkgIGZpCglmaQoJOzsKICAgICAg
ZXNhYwogICAgICAkc2hvdyAiJHJtICRybWZpbGVzIgogICAgICAkcnVuICRybSAkcm1maWxlcyB8
fCBleGl0X3N0YXR1cz0xCiAgICBkb25lCiAgICBvYmpkaXI9IiRvcmlnb2JqZGlyIgoKICAgICMg
VHJ5IHRvIHJlbW92ZSB0aGUgJHtvYmpkaXJ9cyBpbiB0aGUgZGlyZWN0b3JpZXMgd2hlcmUgd2Ug
ZGVsZXRlZCBmaWxlcwogICAgZm9yIGRpciBpbiAkcm1kaXJzOyBkbwogICAgICBpZiB0ZXN0IC1k
ICIkZGlyIjsgdGhlbgoJJHNob3cgInJtZGlyICRkaXIiCgkkcnVuIHJtZGlyICRkaXIgPi9kZXYv
bnVsbCAyPiYxCiAgICAgIGZpCiAgICBkb25lCgogICAgZXhpdCAkZXhpdF9zdGF0dXMKICAgIDs7
CgogICIiKQogICAgJGVjaG8gIiRtb2RlbmFtZTogeW91IG11c3Qgc3BlY2lmeSBhIE1PREUiIDE+
JjIKICAgICRlY2hvICIkZ2VuZXJpY19oZWxwIiAxPiYyCiAgICBleGl0ICRFWElUX0ZBSUxVUkUK
ICAgIDs7CiAgZXNhYwoKICBpZiB0ZXN0IC16ICIkZXhlY19jbWQiOyB0aGVuCiAgICAkZWNobyAi
JG1vZGVuYW1lOiBpbnZhbGlkIG9wZXJhdGlvbiBtb2RlIFxgJG1vZGUnIiAxPiYyCiAgICAkZWNo
byAiJGdlbmVyaWNfaGVscCIgMT4mMgogICAgZXhpdCAkRVhJVF9GQUlMVVJFCiAgZmkKZmkgIyB0
ZXN0IC16ICIkc2hvd19oZWxwIgoKaWYgdGVzdCAtbiAiJGV4ZWNfY21kIjsgdGhlbgogIGV2YWwg
ZXhlYyAkZXhlY19jbWQKICBleGl0ICRFWElUX0ZBSUxVUkUKZmkKCiMgV2UgbmVlZCB0byBkaXNw
bGF5IGhlbHAgZm9yIGVhY2ggb2YgdGhlIG1vZGVzLgpjYXNlICRtb2RlIGluCiIiKSAkZWNobyBc
CiJVc2FnZTogJG1vZGVuYW1lIFtPUFRJT05dLi4uIFtNT0RFLUFSR10uLi4KClByb3ZpZGUgZ2Vu
ZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgoKICAgIC0tY29uZmln
ICAgICAgICAgIHNob3cgYWxsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCiAgICAtLWRlYnVnICAg
ICAgICAgICBlbmFibGUgdmVyYm9zZSBzaGVsbCB0cmFjaW5nCi1uLCAtLWRyeS1ydW4gICAgICAg
ICBkaXNwbGF5IGNvbW1hbmRzIHdpdGhvdXQgbW9kaWZ5aW5nIGFueSBmaWxlcwogICAgLS1mZWF0
dXJlcyAgICAgICAgZGlzcGxheSBiYXNpYyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGFuZCBl
eGl0CiAgICAtLWZpbmlzaCAgICAgICAgICBzYW1lIGFzIFxgLS1tb2RlPWZpbmlzaCcKICAgIC0t
aGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXQKICAgIC0t
bW9kZT1NT0RFICAgICAgIHVzZSBvcGVyYXRpb24gbW9kZSBNT0RFIFtkZWZhdWx0PWluZmVycmVk
IGZyb20gTU9ERS1BUkdTXQogICAgLS1xdWlldCAgICAgICAgICAgc2FtZSBhcyBcYC0tc2lsZW50
JwogICAgLS1zaWxlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb25hbCBtZXNzYWdl
cwogICAgLS10YWc9VEFHICAgICAgICAgdXNlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIGZyb20g
dGFnIFRBRwogICAgLS12ZXJzaW9uICAgICAgICAgcHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbgoK
TU9ERSBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOgoKICAgICAgY2xlYW4gICAgICAgICAg
IHJlbW92ZSBmaWxlcyBmcm9tIHRoZSBidWlsZCBkaXJlY3RvcnkKICAgICAgY29tcGlsZSAgICAg
ICAgIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSBpbnRvIGEgbGlidG9vbCBvYmplY3QKICAgICAgZXhl
Y3V0ZSAgICAgICAgIGF1dG9tYXRpY2FsbHkgc2V0IGxpYnJhcnkgcGF0aCwgdGhlbiBydW4gYSBw
cm9ncmFtCiAgICAgIGZpbmlzaCAgICAgICAgICBjb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9uIG9m
IGxpYnRvb2wgbGlicmFyaWVzCiAgICAgIGluc3RhbGwgICAgICAgICBpbnN0YWxsIGxpYnJhcmll
cyBvciBleGVjdXRhYmxlcwogICAgICBsaW5rICAgICAgICAgICAgY3JlYXRlIGEgbGlicmFyeSBv
ciBhbiBleGVjdXRhYmxlCiAgICAgIHVuaW5zdGFsbCAgICAgICByZW1vdmUgbGlicmFyaWVzIGZy
b20gYW4gaW5zdGFsbGVkIGRpcmVjdG9yeQoKTU9ERS1BUkdTIHZhcnkgZGVwZW5kaW5nIG9uIHRo
ZSBNT0RFLiAgVHJ5IFxgJG1vZGVuYW1lIC0taGVscCAtLW1vZGU9TU9ERScgZm9yCmEgbW9yZSBk
ZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiBNT0RFLgoKUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1saWJ0b29s
QGdudS5vcmc+LiIKICBleGl0ICRFWElUX1NVQ0NFU1MKICA7OwoKY2xlYW4pCiAgJGVjaG8gXAoi
VXNhZ2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9Y2xlYW4gUk0gW1JNLU9QVElPTl0u
Li4gRklMRS4uLgoKUmVtb3ZlIGZpbGVzIGZyb20gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KClJNIGlz
IHRoZSBuYW1lIG9mIHRoZSBwcm9ncmFtIHRvIHVzZSB0byBkZWxldGUgZmlsZXMgYXNzb2NpYXRl
ZCB3aXRoIGVhY2ggRklMRQoodHlwaWNhbGx5IFxgL2Jpbi9ybScpLiAgUk0tT1BUSU9OUyBhcmUg
b3B0aW9ucyAoc3VjaCBhcyBcYC1mJykgdG8gYmUgcGFzc2VkCnRvIFJNLgoKSWYgRklMRSBpcyBh
IGxpYnRvb2wgbGlicmFyeSwgb2JqZWN0IG9yIHByb2dyYW0sIGFsbCB0aGUgZmlsZXMgYXNzb2Np
YXRlZAp3aXRoIGl0IGFyZSBkZWxldGVkLiBPdGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMg
ZGVsZXRlZCB1c2luZyBSTS4iCiAgOzsKCmNvbXBpbGUpCiAgJGVjaG8gXAoiVXNhZ2U6ICRtb2Rl
bmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9Y29tcGlsZSBDT01QSUxFLUNPTU1BTkQuLi4gU09VUkNF
RklMRQoKQ29tcGlsZSBhIHNvdXJjZSBmaWxlIGludG8gYSBsaWJ0b29sIGxpYnJhcnkgb2JqZWN0
LgoKVGhpcyBtb2RlIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG9wdGlvbnM6Cgog
IC1vIE9VVFBVVC1GSUxFICAgIHNldCB0aGUgb3V0cHV0IGZpbGUgbmFtZSB0byBPVVRQVVQtRklM
RQogIC1wcmVmZXItcGljICAgICAgIHRyeSB0byBidWlsZGluZyBQSUMgb2JqZWN0cyBvbmx5CiAg
LXByZWZlci1ub24tcGljICAgdHJ5IHRvIGJ1aWxkaW5nIG5vbi1QSUMgb2JqZWN0cyBvbmx5CiAg
LXN0YXRpYyAgICAgICAgICAgYWx3YXlzIGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Ig
c3RhdGljIGxpbmtpbmcKCkNPTVBJTEUtQ09NTUFORCBpcyBhIGNvbW1hbmQgdG8gYmUgdXNlZCBp
biBjcmVhdGluZyBhIFxgc3RhbmRhcmQnIG9iamVjdCBmaWxlCmZyb20gdGhlIGdpdmVuIFNPVVJD
RUZJTEUuCgpUaGUgb3V0cHV0IGZpbGUgbmFtZSBpcyBkZXRlcm1pbmVkIGJ5IHJlbW92aW5nIHRo
ZSBkaXJlY3RvcnkgY29tcG9uZW50IGZyb20KU09VUkNFRklMRSwgdGhlbiBzdWJzdGl0dXRpbmcg
dGhlIEMgc291cmNlIGNvZGUgc3VmZml4IFxgLmMnIHdpdGggdGhlCmxpYnJhcnkgb2JqZWN0IHN1
ZmZpeCwgXGAubG8nLiIKICA7OwoKZXhlY3V0ZSkKICAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1l
IFtPUFRJT05dLi4uIC0tbW9kZT1leGVjdXRlIENPTU1BTkQgW0FSR1NdLi4uCgpBdXRvbWF0aWNh
bGx5IHNldCBsaWJyYXJ5IHBhdGgsIHRoZW4gcnVuIGEgcHJvZ3JhbS4KClRoaXMgbW9kZSBhY2Nl
cHRzIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgoKICAtZGxvcGVuIEZJTEUgICAg
ICBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEUgdG8gdGhlIGxpYnJhcnkgcGF0aAoK
VGhpcyBtb2RlIHNldHMgdGhlIGxpYnJhcnkgcGF0aCBlbnZpcm9ubWVudCB2YXJpYWJsZSBhY2Nv
cmRpbmcgdG8gXGAtZGxvcGVuJwpmbGFncy4KCklmIGFueSBvZiB0aGUgQVJHUyBhcmUgbGlidG9v
bCBleGVjdXRhYmxlIHdyYXBwZXJzLCB0aGVuIHRoZXkgYXJlIHRyYW5zbGF0ZWQKaW50byB0aGVp
ciBjb3JyZXNwb25kaW5nIHVuaW5zdGFsbGVkIGJpbmFyeSwgYW5kIGFueSBvZiB0aGVpciByZXF1
aXJlZCBsaWJyYXJ5CmRpcmVjdG9yaWVzIGFyZSBhZGRlZCB0byB0aGUgbGlicmFyeSBwYXRoLgoK
VGhlbiwgQ09NTUFORCBpcyBleGVjdXRlZCwgd2l0aCBBUkdTIGFzIGFyZ3VtZW50cy4iCiAgOzsK
CmZpbmlzaCkKICAkZWNobyBcCiJVc2FnZTogJG1vZGVuYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1m
aW5pc2ggW0xJQkRJUl0uLi4KCkNvbXBsZXRlIHRoZSBpbnN0YWxsYXRpb24gb2YgbGlidG9vbCBs
aWJyYXJpZXMuCgpFYWNoIExJQkRJUiBpcyBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGxpYnRv
b2wgbGlicmFyaWVzLgoKVGhlIGNvbW1hbmRzIHRoYXQgdGhpcyBtb2RlIGV4ZWN1dGVzIG1heSBy
ZXF1aXJlIHN1cGVydXNlciBwcml2aWxlZ2VzLiAgVXNlCnRoZSBcYC0tZHJ5LXJ1bicgb3B0aW9u
IGlmIHlvdSBqdXN0IHdhbnQgdG8gc2VlIHdoYXQgd291bGQgYmUgZXhlY3V0ZWQuIgogIDs7Cgpp
bnN0YWxsKQogICRlY2hvIFwKIlVzYWdlOiAkbW9kZW5hbWUgW09QVElPTl0uLi4gLS1tb2RlPWlu
c3RhbGwgSU5TVEFMTC1DT01NQU5ELi4uCgpJbnN0YWxsIGV4ZWN1dGFibGVzIG9yIGxpYnJhcmll
cy4KCklOU1RBTEwtQ09NTUFORCBpcyB0aGUgaW5zdGFsbGF0aW9uIGNvbW1hbmQuICBUaGUgZmly
c3QgY29tcG9uZW50IHNob3VsZCBiZQplaXRoZXIgdGhlIFxgaW5zdGFsbCcgb3IgXGBjcCcgcHJv
Z3JhbS4KClRoZSByZXN0IG9mIHRoZSBjb21wb25lbnRzIGFyZSBpbnRlcnByZXRlZCBhcyBhcmd1
bWVudHMgdG8gdGhhdCBjb21tYW5kIChvbmx5CkJTRC1jb21wYXRpYmxlIGluc3RhbGwgb3B0aW9u
cyBhcmUgcmVjb2duaXplZCkuIgogIDs7CgpsaW5rKQogICRlY2hvIFwKIlVzYWdlOiAkbW9kZW5h
bWUgW09QVElPTl0uLi4gLS1tb2RlPWxpbmsgTElOSy1DT01NQU5ELi4uCgpMaW5rIG9iamVjdCBm
aWxlcyBvciBsaWJyYXJpZXMgdG9nZXRoZXIgdG8gZm9ybSBhbm90aGVyIGxpYnJhcnksIG9yIHRv
CmNyZWF0ZSBhbiBleGVjdXRhYmxlIHByb2dyYW0uCgpMSU5LLUNPTU1BTkQgaXMgYSBjb21tYW5k
IHVzaW5nIHRoZSBDIGNvbXBpbGVyIHRoYXQgeW91IHdvdWxkIHVzZSB0byBjcmVhdGUKYSBwcm9n
cmFtIGZyb20gc2V2ZXJhbCBvYmplY3QgZmlsZXMuCgpUaGUgZm9sbG93aW5nIGNvbXBvbmVudHMg
b2YgTElOSy1DT01NQU5EIGFyZSB0cmVhdGVkIHNwZWNpYWxseToKCiAgLWFsbC1zdGF0aWMgICAg
ICAgZG8gbm90IGRvIGFueSBkeW5hbWljIGxpbmtpbmcgYXQgYWxsCiAgLWF2b2lkLXZlcnNpb24g
ICAgZG8gbm90IGFkZCBhIHZlcnNpb24gc3VmZml4IGlmIHBvc3NpYmxlCiAgLWRsb3BlbiBGSUxF
ICAgICAgXGAtZGxwcmVvcGVuJyBGSUxFIGlmIGl0IGNhbm5vdCBiZSBkbG9wZW5lZCBhdCBydW50
aW1lCiAgLWRscHJlb3BlbiBGSUxFICAgbGluayBpbiBGSUxFIGFuZCBhZGQgaXRzIHN5bWJvbHMg
dG8gbHRfcHJlbG9hZGVkX3N5bWJvbHMKICAtZXhwb3J0LWR5bmFtaWMgICBhbGxvdyBzeW1ib2xz
IGZyb20gT1VUUFVULUZJTEUgdG8gYmUgcmVzb2x2ZWQgd2l0aCBkbHN5bSgzKQogIC1leHBvcnQt
c3ltYm9scyBTWU1GSUxFCgkJICAgIHRyeSB0byBleHBvcnQgb25seSB0aGUgc3ltYm9scyBsaXN0
ZWQgaW4gU1lNRklMRQogIC1leHBvcnQtc3ltYm9scy1yZWdleCBSRUdFWAoJCSAgICB0cnkgdG8g
ZXhwb3J0IG9ubHkgdGhlIHN5bWJvbHMgbWF0Y2hpbmcgUkVHRVgKICAtTExJQkRJUiAgICAgICAg
ICBzZWFyY2ggTElCRElSIGZvciByZXF1aXJlZCBpbnN0YWxsZWQgbGlicmFyaWVzCiAgLWxOQU1F
ICAgICAgICAgICAgT1VUUFVULUZJTEUgcmVxdWlyZXMgdGhlIGluc3RhbGxlZCBsaWJyYXJ5IGxp
Yk5BTUUKICAtbW9kdWxlICAgICAgICAgICBidWlsZCBhIGxpYnJhcnkgdGhhdCBjYW4gZGxvcGVu
ZWQKICAtbm8tZmFzdC1pbnN0YWxsICBkaXNhYmxlIHRoZSBmYXN0LWluc3RhbGwgbW9kZQogIC1u
by1pbnN0YWxsICAgICAgIGxpbmsgYSBub3QtaW5zdGFsbGFibGUgZXhlY3V0YWJsZQogIC1uby11
bmRlZmluZWQgICAgIGRlY2xhcmUgdGhhdCBhIGxpYnJhcnkgZG9lcyBub3QgcmVmZXIgdG8gZXh0
ZXJuYWwgc3ltYm9scwogIC1vIE9VVFBVVC1GSUxFICAgIGNyZWF0ZSBPVVRQVVQtRklMRSBmcm9t
IHRoZSBzcGVjaWZpZWQgb2JqZWN0cwogIC1vYmplY3RsaXN0IEZJTEUgIFVzZSBhIGxpc3Qgb2Yg
b2JqZWN0IGZpbGVzIGZvdW5kIGluIEZJTEUgdG8gc3BlY2lmeSBvYmplY3RzCiAgLXByZWNpb3Vz
LWZpbGVzLXJlZ2V4IFJFR0VYCiAgICAgICAgICAgICAgICAgICAgZG9uJ3QgcmVtb3ZlIG91dHB1
dCBmaWxlcyBtYXRjaGluZyBSRUdFWAogIC1yZWxlYXNlIFJFTEVBU0UgIHNwZWNpZnkgcGFja2Fn
ZSByZWxlYXNlIGluZm9ybWF0aW9uCiAgLXJwYXRoIExJQkRJUiAgICAgdGhlIGNyZWF0ZWQgbGli
cmFyeSB3aWxsIGV2ZW50dWFsbHkgYmUgaW5zdGFsbGVkIGluIExJQkRJUgogIC1SWyBdTElCRElS
ICAgICAgIGFkZCBMSUJESVIgdG8gdGhlIHJ1bnRpbWUgcGF0aCBvZiBwcm9ncmFtcyBhbmQgbGli
cmFyaWVzCiAgLXN0YXRpYyAgICAgICAgICAgZG8gbm90IGRvIGFueSBkeW5hbWljIGxpbmtpbmcg
b2YgbGlidG9vbCBsaWJyYXJpZXMKICAtdmVyc2lvbi1pbmZvIENVUlJFTlRbOlJFVklTSU9OWzpB
R0VdXQoJCSAgICBzcGVjaWZ5IGxpYnJhcnkgdmVyc2lvbiBpbmZvIFtlYWNoIHZhcmlhYmxlIGRl
ZmF1bHRzIHRvIDBdCgpBbGwgb3RoZXIgb3B0aW9ucyAoYXJndW1lbnRzIGJlZ2lubmluZyB3aXRo
IFxgLScpIGFyZSBpZ25vcmVkLgoKRXZlcnkgb3RoZXIgYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBh
IGZpbGVuYW1lLiAgRmlsZXMgZW5kaW5nIGluIFxgLmxhJyBhcmUKdHJlYXRlZCBhcyB1bmluc3Rh
bGxlZCBsaWJ0b29sIGxpYnJhcmllcywgb3RoZXIgZmlsZXMgYXJlIHN0YW5kYXJkIG9yIGxpYnJh
cnkKb2JqZWN0IGZpbGVzLgoKSWYgdGhlIE9VVFBVVC1GSUxFIGVuZHMgaW4gXGAubGEnLCB0aGVu
IGEgbGlidG9vbCBsaWJyYXJ5IGlzIGNyZWF0ZWQsCm9ubHkgbGlicmFyeSBvYmplY3RzIChcYC5s
bycgZmlsZXMpIG1heSBiZSBzcGVjaWZpZWQsIGFuZCBcYC1ycGF0aCcgaXMKcmVxdWlyZWQsIGV4
Y2VwdCB3aGVuIGNyZWF0aW5nIGEgY29udmVuaWVuY2UgbGlicmFyeS4KCklmIE9VVFBVVC1GSUxF
IGVuZHMgaW4gXGAuYScgb3IgXGAubGliJywgdGhlbiBhIHN0YW5kYXJkIGxpYnJhcnkgaXMgY3Jl
YXRlZAp1c2luZyBcYGFyJyBhbmQgXGByYW5saWInLCBvciBvbiBXaW5kb3dzIHVzaW5nIFxgbGli
Jy4KCklmIE9VVFBVVC1GSUxFIGVuZHMgaW4gXGAubG8nIG9yIFxgLiR7b2JqZXh0fScsIHRoZW4g
YSByZWxvYWRhYmxlIG9iamVjdCBmaWxlCmlzIGNyZWF0ZWQsIG90aGVyd2lzZSBhbiBleGVjdXRh
YmxlIHByb2dyYW0gaXMgY3JlYXRlZC4iCiAgOzsKCnVuaW5zdGFsbCkKICAkZWNobyBcCiJVc2Fn
ZTogJG1vZGVuYW1lIFtPUFRJT05dLi4uIC0tbW9kZT11bmluc3RhbGwgUk0gW1JNLU9QVElPTl0u
Li4gRklMRS4uLgoKUmVtb3ZlIGxpYnJhcmllcyBmcm9tIGFuIGluc3RhbGxhdGlvbiBkaXJlY3Rv
cnkuCgpSTSBpcyB0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSB0byB1c2UgdG8gZGVsZXRlIGZpbGVz
IGFzc29jaWF0ZWQgd2l0aCBlYWNoIEZJTEUKKHR5cGljYWxseSBcYC9iaW4vcm0nKS4gIFJNLU9Q
VElPTlMgYXJlIG9wdGlvbnMgKHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBhc3NlZAp0byBSTS4KCklm
IEZJTEUgaXMgYSBsaWJ0b29sIGxpYnJhcnksIGFsbCB0aGUgZmlsZXMgYXNzb2NpYXRlZCB3aXRo
IGl0IGFyZSBkZWxldGVkLgpPdGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMgZGVsZXRlZCB1
c2luZyBSTS4iCiAgOzsKCiopCiAgJGVjaG8gIiRtb2RlbmFtZTogaW52YWxpZCBvcGVyYXRpb24g
bW9kZSBcYCRtb2RlJyIgMT4mMgogICRlY2hvICIkaGVscCIgMT4mMgogIGV4aXQgJEVYSVRfRkFJ
TFVSRQogIDs7CmVzYWMKCiRlY2hvCiRlY2hvICJUcnkgXGAkbW9kZW5hbWUgLS1oZWxwJyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbiBhYm91dCBvdGhlciBtb2Rlcy4iCgpleGl0ICRFWElUX1NVQ0NFU1MK
CiMgVGhlIFRBR3MgYmVsb3cgYXJlIGRlZmluZWQgc3VjaCB0aGF0IHdlIG5ldmVyIGdldCBpbnRv
IGEgc2l0dWF0aW9uCiMgaW4gd2hpY2ggd2UgZGlzYWJsZSBib3RoIGtpbmRzIG9mIGxpYnJhcmll
cy4gIEdpdmVuIGNvbmZsaWN0aW5nCiMgY2hvaWNlcywgd2UgZ28gZm9yIGEgc3RhdGljIGxpYnJh
cnksIHRoYXQgaXMgdGhlIG1vc3QgcG9ydGFibGUsCiMgc2luY2Ugd2UgY2FuJ3QgdGVsbCB3aGV0
aGVyIHNoYXJlZCBsaWJyYXJpZXMgd2VyZSBkaXNhYmxlZCBiZWNhdXNlCiMgdGhlIHVzZXIgYXNr
ZWQgZm9yIHRoYXQgb3IgYmVjYXVzZSB0aGUgcGxhdGZvcm0gZG9lc24ndCBzdXBwb3J0CiMgdGhl
bS4gIFRoaXMgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBvbiBBSVgsIGJlY2F1c2Ugd2UgZG9u
J3QKIyBzdXBwb3J0IGhhdmluZyBib3RoIHN0YXRpYyBhbmQgc2hhcmVkIGxpYnJhcmllcyBlbmFi
bGVkIGF0IHRoZSBzYW1lCiMgdGltZSBvbiB0aGF0IHBsYXRmb3JtLCBzbyB3ZSBkZWZhdWx0IHRv
IGEgc2hhcmVkLW9ubHkgY29uZmlndXJhdGlvbi4KIyBJZiBhIGRpc2FibGUtc2hhcmVkIHRhZyBp
cyBnaXZlbiwgd2UnbGwgZmFsbGJhY2sgdG8gYSBzdGF0aWMtb25seQojIGNvbmZpZ3VyYXRpb24u
ICBCdXQgd2UnbGwgbmV2ZXIgZ28gZnJvbSBzdGF0aWMtb25seSB0byBzaGFyZWQtb25seS4KCiMg
IyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogZGlzYWJsZS1zaGFyZWQKYnVpbGRfbGlidG9v
bF9saWJzPW5vCmJ1aWxkX29sZF9saWJzPXllcwojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklH
OiBkaXNhYmxlLXNoYXJlZAoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBkaXNhYmxl
LXN0YXRpYwpidWlsZF9vbGRfbGlicz1gY2FzZSAkYnVpbGRfbGlidG9vbF9saWJzIGluIHllcykg
JGVjaG8gbm87OyAqKSAkZWNobyB5ZXM7OyBlc2FjYAojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09O
RklHOiBkaXNhYmxlLXN0YXRpYwoKIyBMb2NhbCBWYXJpYWJsZXM6CiMgbW9kZTpzaGVsbC1zY3Jp
cHQKIyBzaC1pbmRlbnRhdGlvbjoyCiMgRW5kOgojICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05G
SUc6IENYWAoKIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3QgZ2VudG9vOgoKIyBTaGVs
bCB0byB1c2Ugd2hlbiBpbnZva2luZyBzaGVsbCBzY3JpcHRzLgpTSEVMTD0iL2Jpbi9zaCIKCiMg
V2hldGhlciBvciBub3QgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9s
aWJzPXllcwoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzLgpidWls
ZF9vbGRfbGlicz15ZXMKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcg
c2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPW5vCgojIFdoZXRoZXIgb3Ig
bm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMK
YWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPW5vCgojIFdoZXRoZXIgb3Ig
bm90IHRvIG9wdGltaXplIGZvciBmYXN0IGluc3RhbGxhdGlvbi4KZmFzdF9pbnN0YWxsPXllcwoK
IyBUaGUgaG9zdCBzeXN0ZW0uCmhvc3RfYWxpYXM9aTM4Ni1wYy1saW51eC1nbnUKaG9zdD1pMzg2
LXBjLWxpbnV4LWdudQoKIyBBbiBlY2hvIHByb2dyYW0gdGhhdCBkb2VzIG5vdCBpbnRlcnByZXQg
YmFja3NsYXNoZXMuCmVjaG89ImVjaG8iCgojIFRoZSBhcmNoaXZlci4KQVI9ImFyIgpBUl9GTEFH
Uz0iY3J1IgoKIyBBIEMgY29tcGlsZXIuCkxUQ0M9ImkzODYtcGMtbGludXgtZ251LWdjYyIKCiMg
QSBsYW5ndWFnZS1zcGVjaWZpYyBjb21waWxlci4KQ0M9ImkzODYtcGMtbGludXgtZ251LWcrKyIK
CiMgSXMgdGhlIGNvbXBpbGVyIHRoZSBHTlUgQyBjb21waWxlcj8Kd2l0aF9nY2M9eWVzCgojIEFu
IEVSRSBtYXRjaGVyLgpFR1JFUD0iZ3JlcCAtRSIKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxk
IGxpYnJhcmllcy4KTEQ9Ii91c3IvaTM4Ni1wYy1saW51eC1nbnUvYmluL2xkIgoKIyBXaGV0aGVy
IHdlIG5lZWQgaGFyZCBvciBzb2Z0IGxpbmtzLgpMTl9TPSJsbiAtcyIKCiMgQSBCU0QtY29tcGF0
aWJsZSBubSBwcm9ncmFtLgpOTT0ibm0iCgojIEEgc3ltYm9sIHN0cmlwcGluZyBwcm9ncmFtClNU
UklQPSJzdHJpcCIKCiMgVXNlZCB0byBleGFtaW5lIGxpYnJhcmllcyB3aGVuIGZpbGVfbWFnaWNf
Y21kIGJlZ2lucyAiZmlsZSIKTUFHSUNfQ01EPWZpbGUKCiMgVXNlZCBvbiBjeWd3aW46IERMTCBj
cmVhdGlvbiBwcm9ncmFtLgpETExUT09MPSJkbGx0b29sIgoKIyBVc2VkIG9uIGN5Z3dpbjogb2Jq
ZWN0IGR1bXBlci4KT0JKRFVNUD0ib2JqZHVtcCIKCiMgVXNlZCBvbiBjeWd3aW46IGFzc2VtYmxl
ci4KQVM9ImFzIgoKIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVt
cG9yYXJ5IGxpYnRvb2wgZmlsZXMuCm9iamRpcj0ubGlicwoKIyBIb3cgdG8gY3JlYXRlIHJlbG9h
ZGFibGUgb2JqZWN0IGZpbGVzLgpyZWxvYWRfZmxhZz0iIC1yIgpyZWxvYWRfY21kcz0iXCRMRFwk
cmVsb2FkX2ZsYWcgLW8gXCRvdXRwdXRcJHJlbG9hZF9vYmpzIgoKIyBIb3cgdG8gcGFzcyBhIGxp
bmtlciBmbGFnIHRocm91Z2ggdGhlIGNvbXBpbGVyLgp3bD0iLVdsLCIKCiMgT2JqZWN0IGZpbGUg
c3VmZml4IChub3JtYWxseSAibyIpLgpvYmpleHQ9Im8iCgojIE9sZCBhcmNoaXZlIHN1ZmZpeCAo
bm9ybWFsbHkgImEiKS4KbGliZXh0PSJhIgoKIyBTaGFyZWQgbGlicmFyeSBzdWZmaXggKG5vcm1h
bGx5ICIuc28iKS4Kc2hyZXh0X2NtZHM9Jy5zbycKCiMgRXhlY3V0YWJsZSBmaWxlIHN1ZmZpeCAo
bm9ybWFsbHkgIiIpLgpleGVleHQ9IiIKCiMgQWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3Ig
YnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNfZmxhZz0iIC1mUElDIC1EUElDIgpwaWNfbW9k
ZT1kZWZhdWx0CgojIFdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgY29tbWFuZD8KbWF4
X2NtZF9sZW49MzI3NjgKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1j
IGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289InllcyIKCiMgTXVzdCB3ZSBsb2NrIGZpbGVz
IHdoZW4gZG9pbmcgY29tcGlsYXRpb24gPwpuZWVkX2xvY2tzPSJubyIKCiMgRG8gd2UgbmVlZCB0
aGUgbGliIHByZWZpeCBmb3IgbW9kdWxlcz8KbmVlZF9saWJfcHJlZml4PW5vCgojIERvIHdlIG5l
ZWQgYSB2ZXJzaW9uIGZvciBsaWJyYXJpZXM/Cm5lZWRfdmVyc2lvbj1ubwoKIyBXaGV0aGVyIGRs
b3BlbiBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zdXBwb3J0PXllcwoKIyBXaGV0aGVyIGRsb3BlbiBv
ZiBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmPXllcwoKIyBXaGV0aGVyIGRsb3Bl
biBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxm
X3N0YXRpYz15ZXMKCiMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4K
bGlua19zdGF0aWNfZmxhZz0iLXN0YXRpYyIKCiMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBi
dWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRpbl9mbGFnPSIgLWZuby1idWlsdGluIgoKIyBDb21w
aWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFn
X3NwZWM9Ilwke3dsfS0tZXhwb3J0LWR5bmFtaWMiCgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJh
dGUgc2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJjaGl2ZV9m
bGFnX3NwZWM9Ilwke3dsfS0td2hvbGUtYXJjaGl2ZVwkY29udmVuaWVuY2UgXCR7d2x9LS1uby13
aG9sZS1hcmNoaXZlIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHRocmVhZC1zYWZlIG9i
amVjdHMuCnRocmVhZF9zYWZlX2ZsYWdfc3BlYz0iIgoKIyBMaWJyYXJ5IHZlcnNpb25pbmcgdHlw
ZS4KdmVyc2lvbl90eXBlPWxpbnV4CgojIEZvcm1hdCBvZiBsaWJyYXJ5IG5hbWUgcHJlZml4Lgps
aWJuYW1lX3NwZWM9ImxpYlwkbmFtZSIKCiMgTGlzdCBvZiBhcmNoaXZlIG5hbWVzLiAgRmlyc3Qg
bmFtZSBpcyB0aGUgcmVhbCBvbmUsIHRoZSByZXN0IGFyZSBsaW5rcy4KIyBUaGUgbGFzdCBuYW1l
IGlzIHRoZSBvbmUgdGhhdCB0aGUgbGlua2VyIGZpbmRzIHdpdGggLWxOQU1FLgpsaWJyYXJ5X25h
bWVzX3NwZWM9Ilwke2xpYm5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fVwkdmVyc3VmZml4
IFwke2xpYm5hbWV9XCR7cmVsZWFzZX1cJHtzaGFyZWRfZXh0fVwkbWFqb3IgXCRsaWJuYW1lXCR7
c2hhcmVkX2V4dH0iCgojIFRoZSBjb2RlZCBuYW1lIG9mIHRoZSBsaWJyYXJ5LCBpZiBkaWZmZXJl
bnQgZnJvbSB0aGUgcmVhbCBuYW1lLgpzb25hbWVfc3BlYz0iXCR7bGlibmFtZX1cJHtyZWxlYXNl
fVwke3NoYXJlZF9leHR9XCRtYWpvciIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbmQgaW5z
dGFsbCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4KUkFOTElCPSJyYW5saWIiCm9sZF9hcmNoaXZlX2Nt
ZHM9IlwkQVIgXCRBUl9GTEFHUyBcJG9sZGxpYlwkb2xkb2Jqc1wkb2xkX2RlcGxpYnN+XCRSQU5M
SUIgXCRvbGRsaWIiCm9sZF9wb3N0aW5zdGFsbF9jbWRzPSJcJFJBTkxJQiBcJG9sZGxpYn5jaG1v
ZCA2NDQgXCRvbGRsaWIiCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9IiIKCiMgQ3JlYXRlIGFuIG9s
ZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9u
ZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGlu
ayBpbnN0ZWFkIG9mIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19j
bWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW5kIGluc3RhbGwgYSBzaGFyZWQgYXJj
aGl2ZS4KYXJjaGl2ZV9jbWRzPSJcJENDIC1zaGFyZWQgLW5vc3RkbGliIFwkcHJlZGVwX29iamVj
dHMgXCRsaWJvYmpzIFwkZGVwbGlicyBcJHBvc3RkZXBfb2JqZWN0cyBcJGNvbXBpbGVyX2ZsYWdz
IFwke3dsfS1zb25hbWUgXCR3bFwkc29uYW1lIC1vIFwkbGliIgphcmNoaXZlX2V4cHN5bV9jbWRz
PSJcJENDIC1zaGFyZWQgLW5vc3RkbGliIFwkcHJlZGVwX29iamVjdHMgXCRsaWJvYmpzIFwkZGVw
bGlicyBcJHBvc3RkZXBfb2JqZWN0cyBcJGNvbXBpbGVyX2ZsYWdzIFwke3dsfS1zb25hbWUgXCR3
bFwkc29uYW1lIFwke3dsfS1yZXRhaW4tc3ltYm9scy1maWxlIFwkd2xcJGV4cG9ydF9zeW1ib2xz
IC1vIFwkbGliIgpwb3N0aW5zdGFsbF9jbWRzPSIiCnBvc3R1bmluc3RhbGxfY21kcz0iIgoKIyBD
b21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIChhc3N1bWVkIHNhbWUgYXMg
YWJvdmUgaWYgZW1wdHkpCm1vZHVsZV9jbWRzPSIiCm1vZHVsZV9leHBzeW1fY21kcz0iIgoKIyBD
b21tYW5kcyB0byBzdHJpcCBsaWJyYXJpZXMuCm9sZF9zdHJpcGxpYj0ic3RyaXAgLS1zdHJpcC1k
ZWJ1ZyIKc3RyaXBsaWI9InN0cmlwIC0tc3RyaXAtdW5uZWVkZWQiCgojIERlcGVuZGVuY2llcyB0
byBwbGFjZSBiZWZvcmUgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvIGNyZWF0ZSBhCiMgc2hh
cmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIvdXNyL2xpYi9nY2MtbGliL2kzODYtcGMtbGlu
dXgtZ251LzMuMy41Ly4uLy4uLy4uL2NydGkubyAvdXNyL2xpYi9nY2MtbGliL2kzODYtcGMtbGlu
dXgtZ251LzMuMy41L2NydGJlZ2luUy5vIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYWZ0ZXIg
dGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvIGNyZWF0ZSBhCiMgc2hhcmVkIGxpYnJhcnkuCnBv
c3RkZXBfb2JqZWN0cz0iL3Vzci9saWIvZ2NjLWxpYi9pMzg2LXBjLWxpbnV4LWdudS8zLjMuNS9j
cnRlbmRTLm8gL3Vzci9saWIvZ2NjLWxpYi9pMzg2LXBjLWxpbnV4LWdudS8zLjMuNS8uLi8uLi8u
Li9jcnRuLm8iCgojIERlcGVuZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgdGhlIG9iamVjdHMgYmVp
bmcgbGlua2VkIHRvIGNyZWF0ZSBhCiMgc2hhcmVkIGxpYnJhcnkuCnByZWRlcHM9IiIKCiMgRGVw
ZW5kZW5jaWVzIHRvIHBsYWNlIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5nIGxpbmtlZCB0byBjcmVh
dGUgYQojIHNoYXJlZCBsaWJyYXJ5Lgpwb3N0ZGVwcz0iLWxzdGRjKysgLWxtIC1sZ2NjX3MgLWxj
IC1sZ2NjX3MiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0
aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGli
X3NlYXJjaF9wYXRoPSItTC91c3IvbGliL2djYy1saWIvaTM4Ni1wYy1saW51eC1nbnUvMy4zLjUg
LUwvdXNyL2xpYi9nY2MtbGliL2kzODYtcGMtbGludXgtZ251LzMuMy41Ly4uLy4uLy4uLy4uL2kz
ODYtcGMtbGludXgtZ251L2xpYiAtTC91c3IvbGliL2djYy1saWIvaTM4Ni1wYy1saW51eC1nbnUv
My4zLjUvLi4vLi4vLi4iCgojIE1ldGhvZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJy
YXJpZXMgYXJlIHNoYXJlZCBvYmplY3RzLgpkZXBsaWJzX2NoZWNrX21ldGhvZD0icGFzc19hbGwi
CgojIENvbW1hbmQgdG8gdXNlIHdoZW4gZGVwbGlic19jaGVja19tZXRob2QgPT0gZmlsZV9tYWdp
Yy4KZmlsZV9tYWdpY19jbWQ9IlwkTUFHSUNfQ01EIgoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJl
ZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5k
ZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0IGZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4K
bm9fdW5kZWZpbmVkX2ZsYWc9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBmaW5pc2ggYSBsaWJ0b29s
IGxpYnJhcnkgaW5zdGFsbGF0aW9uIGluIGEgZGlyZWN0b3J5LgpmaW5pc2hfY21kcz0iUEFUSD1c
XFwiXFxcJFBBVEg6L3NiaW5cXFwiIGxkY29uZmlnIC1uIFwkbGliZGlyIgoKIyBTYW1lIGFzIGFi
b3ZlLCBidXQgYSBzaW5nbGUgc2NyaXB0IGZyYWdtZW50IHRvIGJlIGV2YWxlZCBidXQgbm90IHNo
b3duLgpmaW5pc2hfZXZhbD0iIgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5kIHByb2R1Y2Ug
YSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVzLgpnbG9iYWxfc3ltYm9sX3BpcGU9
InNlZCAtbiAtZSAncy9eLipbIAldXFwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlxcKVsgCV1b
IAldKlxcKFxcKVxcKFtfQS1aYS16XVtfQS1aYS16MC05XSpcXClcJC9cXDEgXFwyXFwzIFxcMy9w
JyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBwcm9wZXIgQyBkZWNsYXJhdGlv
bgpnbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUgJ3MvXi4gLiogXFwoLipcXClcJC9l
eHRlcm4gaW50IFxcMTsvcCciCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBu
YW1lIGFkZHJlc3MgcGFpcgpnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSJzZWQgLW4g
LWUgJ3MvXjogXFwoW14gXSpcXCkgXCQvICB7XFxcIlxcMVxcXCIsIChsdF9wdHIpIDB9LC9wJyAt
ZSAncy9eW0JDREVHUlNUXSBcXChbXiBdKlxcKSBcXChbXiBdKlxcKVwkLyAge1wiXFwyXCIsIChs
dF9wdHIpIFxcJlxcMn0sL3AnIgoKIyBUaGlzIGlzIHRoZSBzaGFyZWQgbGlicmFyeSBydW50aW1l
IHBhdGggdmFyaWFibGUuCnJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRICgojIFRoaXMgaXMgdGhlIHNo
YXJlZCBsaWJyYXJ5IHBhdGggdmFyaWFibGUuCnNobGlicGF0aF92YXI9TERfTElCUkFSWV9QQVRI
CgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhlIGhhcmQtY29kZWQgbGlicmFyeSBz
ZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPW5vCgojIEhvdyB0byBoYXJk
Y29kZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9h
Y3Rpb249aW1tZWRpYXRlCgojIFdoZXRoZXIgd2Ugc2hvdWxkIGhhcmRjb2RlIGxpYnJhcnkgcGF0
aHMgaW50byBsaWJyYXJpZXMuCmhhcmRjb2RlX2ludG9fbGlicz15ZXMKCiMgRmxhZyB0byBoYXJk
Y29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdv
cmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0LgpoYXJkY29kZV9saWJkaXJfZmxhZ19z
cGVjPSJcJHt3bH0tLXJwYXRoIFwke3dsfVwkbGliZGlyIgoKIyBJZiBsZCBpcyB1c2VkIHdoZW4g
bGlua2luZywgZmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8KIyBhIGJpbmFyeSBkdXJpbmcg
bGlua2luZy4gVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMKIyBub3QgZXhpc3Qu
CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9IiIKCiMgV2hldGhlciB3ZSBuZWVkIGEgc2lu
Z2xlIC1ycGF0aCBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1lbnQuCmhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRvIHllcyBpZiB1c2luZyBESVIvbGliTkFNRSBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMgRElSIGludG8gdGhlCiMgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNv
ZGVfZGlyZWN0PW5vCgojIFNldCB0byB5ZXMgaWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUiBpbnRvIHRoZQojIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRj
b2RlX21pbnVzX0w9bm8KCiMgU2V0IHRvIHllcyBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJUiBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSIGludG8KIyB0aGUgcmVzdWx0aW5nIGJpbmFyeS4K
aGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0KCiMgU2V0IHRvIHllcyBpZiBidWlsZGluZyBhIHNoYXJl
ZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVzIERJUiBpbnRvIHRoZSBsaWJyYXJ5CiMg
YW5kIGFsbCBzdWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkIGFnYWlu
c3QgaXQuCmhhcmRjb2RlX2F1dG9tYXRpYz1ubwoKIyBWYXJpYWJsZXMgd2hvc2UgdmFsdWVzIHNo
b3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0cyBhbmQKIyByZXN0b3JlZCBh
dCByZWxpbmsgdGltZS4KdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9IlBBVEggTERfTElCUkFS
WV9QQVRIIExEX1JVTl9QQVRIIEdDQ19FWEVDX1BSRUZJWCBDT01QSUxFUl9QQVRIIExJQlJBUllf
UEFUSCIKCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwg
aXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPXVua25vd24KCiMgQ29t
cGlsZS10aW1lIHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzCnN5c19saWJfc2VhcmNo
X3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiAvdXNyL2xvY2FsL2xpYiIKCiMgUnVuLXRpbWUgc3lz
dGVtIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMKc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9
Ii9saWIgL3Vzci9saWIiCgojIEZpeCB0aGUgc2hlbGwgdmFyaWFibGUgJHNyY2ZpbGUgZm9yIHRo
ZSBjb21waWxlci4KZml4X3NyY2ZpbGVfcGF0aD0iIgoKIyBTZXQgdG8geWVzIGlmIGV4cG9ydGVk
IHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhlIGNv
bW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iXCRO
TSBcJGxpYm9ianMgXCRjb252ZW5pZW5jZSB8IFwkZ2xvYmFsX3N5bWJvbF9waXBlIHwgXCRTRUQg
J3MvLiogLy8nIHwgc29ydCB8IHVuaXEgPiBcJGV4cG9ydF9zeW1ib2xzIgoKIyBUaGUgY29tbWFu
ZHMgdG8gZXh0cmFjdCB0aGUgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBhcmNo
aXZlLgpleHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBi
ZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMg
U3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIK
CiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoK
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50785</attachid>
            <date>2005-02-08 15:07 0000</date>
            <desc>emerge rep-gtk &gt;&amp; rep-gtk.log</desc>
            <filename>rep-gtk.log</filename>
            <type>text/plain</type>
            <data encoding="base64">G10yO1N0YXJ0ZWQgZW1lcmdlIG9uOiBGZWIgMDgsIDIwMDUgMDc6MDY6MTgHG10yOyAqKiogZW1l
cmdlICByZXAtZ3RrB0NhbGN1bGF0aW5nIGRlcGVuZGVuY2llcyAgG10yOyA+Pj4gZW1lcmdlICgx
IG9mIDEpIHgxMS1saWJzL3JlcC1ndGstMC4xOCB0byAvBxtdMjtlbWVyZ2U6ICgxIG9mIDEpIHgx
MS1saWJzL3JlcC1ndGstMC4xOCBDbGVhbgcbXTI7ZW1lcmdlOiAoMSBvZiAxKSB4MTEtbGlicy9y
ZXAtZ3RrLTAuMTggQ29tcGlsZQc+Pj4gVW5wYWNraW5nIHNvdXJjZS4uLgo+Pj4gVW5wYWNraW5n
IHJlcC1ndGstMC4xOC50YXIuZ3ogdG8gL3Zhci90bXAvcG9ydGFnZS9yZXAtZ3RrLTAuMTgvd29y
awogG1szMjswMW0qG1swbSBBcHBseWluZyByZXAtZ3RrLTAuMTgtZ3RrMjQucGF0Y2ggLi4uChtb
QRtbNzNHICAbWzM0OzAxbVsgG1szMjswMW1vaxtbMzQ7MDFtIF0bWzBtCj4+PiBTb3VyY2UgdW5w
YWNrZWQuCmNyZWF0aW5nIGNhY2hlIC4vY29uZmlnLmNhY2hlCmNoZWNraW5nIGhvc3Qgc3lzdGVt
IHR5cGUuLi4gaTM4Ni1wYy1saW51eC1nbnUKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tp
bmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoZ2NjIC1PMyAtbWFyY2g9YXRobG9uLXhwIC1waXBl
ICkgd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKGdjYyAtTzMg
LW1hcmNoPWF0aGxvbi14cCAtcGlwZSApIGlzIGEgY3Jvc3MtY29tcGlsZXIuLi4gbm8KY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj
IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29y
Li4uIGdjYyAtRQpjaGVja2luZyBmb3IgYSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsLi4uIC9iaW4v
aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIG1ha2Ugc2V0cyAke01BS0V9Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBuZWVk
cyAtdHJhZGl0aW9uYWwuLi4gbm8KY2hlY2tpbmcgZm9yIHJlcCAtIHZlcnNpb24gPj0gMC4xMy4u
LiB2ZXJzaW9uIDAuMTcKY2hlY2tpbmcgZm9yIEdOVSBtc2dmbXQuLi4gL3Vzci9iaW4vbXNnZm10
CmNoZWNraW5nIGZvciBwa2ctY29uZmlnLi4uIC91c3IvYmluL3BrZy1jb25maWcKY2hlY2tpbmcg
Zm9yIGdsaWItMi4wID49IDEuMy4uLiB5ZXMKY2hlY2tpbmcgR0xJQl9DRkxBR1MuLi4gLUkvdXNy
L2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGliLTIuMC9pbmNsdWRlICAKY2hlY2tpbmcg
R0xJQl9MSUJTLi4uIC1sZ2xpYi0yLjAgIApjaGVja2luZyBmb3IgZ3RrKy0yLjAgPj0gMS4zLi4u
IHllcwpjaGVja2luZyBHVEtfQ0ZMQUdTLi4uIC1EWFRIUkVBRFMgLURfUkVFTlRSQU5UIC1EWFVT
RV9NVFNBRkVfQVBJIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYi9ndGstMi4wL2lu
Y2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3Iv
aW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRl
L2ZyZWV0eXBlMi9jb25maWcgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGli
LTIuMC9pbmNsdWRlICAKY2hlY2tpbmcgR1RLX0xJQlMuLi4gLVdsLC0tZXhwb3J0LWR5bmFtaWMg
LWxndGsteDExLTIuMCAtbGdkay14MTEtMi4wIC1sYXRrLTEuMCAtbGdka19waXhidWYtMi4wIC1s
bSAtbHBhbmdveGZ0LTEuMCAtbHBhbmdveC0xLjAgLWxwYW5nby0xLjAgLWxnb2JqZWN0LTIuMCAt
bGdtb2R1bGUtMi4wIC1sZGwgLWxnbGliLTIuMCAgCmNoZWNraW5nIGZvciBnZGstcGl4YnVmLTIu
MCA+PSAxLjMuMTEuLi4geWVzCmNoZWNraW5nIEdES19QSVhCVUZfQ0ZMQUdTLi4uIC1JL3Vzci9p
bmNsdWRlL2d0ay0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGliLTIu
MC9pbmNsdWRlICAKY2hlY2tpbmcgR0RLX1BJWEJVRl9MSUJTLi4uIC1XbCwtLWV4cG9ydC1keW5h
bWljIC1sZ2RrX3BpeGJ1Zi0yLjAgLWxtIC1sZ29iamVjdC0yLjAgLWxnbW9kdWxlLTIuMCAtbGRs
IC1sZ2xpYi0yLjAgIApjaGVja2luZyBmb3IgR05PTUUgbGlicy4uLiAyLjguMApjaGVja2luZyBm
b3IgbGliZ2xhZGUtMi4wID49IDEuOTkuLi4geWVzCmNoZWNraW5nIExJQkdMQURFX0NGTEFHUy4u
LiAtRFhUSFJFQURTIC1EX1JFRU5UUkFOVCAtRFhVU0VfTVRTQUZFX0FQSSAtSS91c3IvaW5jbHVk
ZS9saWJnbGFkZS0yLjAgLUkvdXNyL2luY2x1ZGUvZ3RrLTIuMCAtSS91c3IvaW5jbHVkZS9saWJ4
bWwyIC1JL3Vzci9saWIvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1JL3Vz
ci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvcGFuZ28tMS4wIC1JL3Vzci9pbmNsdWRl
L2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIvY29uZmlnIC1JL3Vzci9pbmNsdWRl
L2dsaWItMi4wIC1JL3Vzci9saWIvZ2xpYi0yLjAvaW5jbHVkZSAgCmNoZWNraW5nIExJQkdMQURF
X0xJQlMuLi4gLVdsLC0tZXhwb3J0LWR5bmFtaWMgLWxnbGFkZS0yLjAgLWxndGsteDExLTIuMCAt
bHhtbDIgLWxwdGhyZWFkIC1seiAtbGdkay14MTEtMi4wIC1sYXRrLTEuMCAtbGdka19waXhidWYt
Mi4wIC1sbSAtbHBhbmdveGZ0LTEuMCAtbHBhbmdveC0xLjAgLWxwYW5nby0xLjAgLWxnb2JqZWN0
LTIuMCAtbGdtb2R1bGUtMi4wIC1sZGwgLWxnbGliLTIuMCAgCmNoZWNraW5nIGZvciB3b3JraW5n
IGNvbnN0Li4uIHllcwpjaGVja2luZyBmb3IgaW5saW5lLi4uIGlubGluZQpjaGVja2luZyBmb3Ig
QU5TSSBDIGhlYWRlciBmaWxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIHNpemVfdC4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIGdka19jb2xvcl9jb3B5Li4uIHllcwpjaGVja2luZyBmb3IgZ3RrX3dpZGdldF9w
ZWVrX2NvbG9ybWFwLi4uIG5vCmNoZWNraW5nIGZvciBndGtfdHlwZV9nZXRfaW5mby4uLiBubwpj
aGVja2luZyBmb3IgZ3RrX3NpZ25hbF9zZXRfY2xhc3NfZnVuY3Rpb25fZnVsbC4uLiBubwpjaGVj
a2luZyBmb3Igc2V0bG9jYWxlLi4uIHllcwpjaGVja2luZyBmb3IgbG9jYWxlLmguLi4geWVzCnVw
ZGF0aW5nIGNhY2hlIC4vY29uZmlnLmNhY2hlCmNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjcmVh
dGluZyBNYWtlZmlsZQpjcmVhdGluZyByZXAtZ3RrLnNwZWMKY3JlYXRpbmcgY29uZmlnLmgKbWtk
aXIgZ3RrLTIKL3Vzci9saWIvcmVwL2kzODYtcGMtbGludXgtZ251L2xpYnRvb2wgLS1tb2RlPWNv
bXBpbGUgZ2NjIC1jICAtREhBVkVfQ09ORklHX0ggLUkuIC1PMyAtbWFyY2g9YXRobG9uLXhwIC1w
aXBlIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9saWIvZ2xpYi0yLjAvaW5jbHVkZSAg
IC1EWFRIUkVBRFMgLURfUkVFTlRSQU5UIC1EWFVTRV9NVFNBRkVfQVBJIC1JL3Vzci9pbmNsdWRl
L2d0ay0yLjAgLUkvdXNyL2xpYi9ndGstMi4wL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2lu
Y2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMi9jb25maWcgLUkvdXNyL2lu
Y2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGliLTIuMC9pbmNsdWRlICAgLUkvdXNyL2luY2x1
ZGUgLUkvdXNyL2xpYi9yZXAvaTM4Ni1wYy1saW51eC1nbnUgLURYVEhSRUFEUyAtRF9SRUVOVFJB
TlQgLURYVVNFX01UU0FGRV9BUEkgLUkvdXNyL2luY2x1ZGUvbGliZ2xhZGUtMi4wIC1JL3Vzci9p
bmNsdWRlL2d0ay0yLjAgLUkvdXNyL2luY2x1ZGUvbGlieG1sMiAtSS91c3IvbGliL2d0ay0yLjAv
aW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vz
ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1
ZGUvZnJlZXR5cGUyL2NvbmZpZyAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL2ds
aWItMi4wL2luY2x1ZGUgICAtRE9SQklUMj0xIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYmdu
b21lLTIuMCAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL2dsaWItMi4wL2luY2x1
ZGUgLUkvdXNyL2luY2x1ZGUvb3JiaXQtMi4wIC1JL3Vzci9pbmNsdWRlL2xpYmJvbm9iby0yLjAg
LUkvdXNyL2luY2x1ZGUvZ2NvbmYvMiAtSS91c3IvaW5jbHVkZS9nbm9tZS12ZnMtMi4wIC1JL3Vz
ci9saWIvZ25vbWUtdmZzLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2Jvbm9iby1hY3RpdmF0
aW9uLTIuMCAgIC1ET1JCSVQyPTEgLXB0aHJlYWQgLURYVEhSRUFEUyAtRF9SRUVOVFJBTlQgLURY
VVNFX01UU0FGRV9BUEkgLUkvdXNyL2luY2x1ZGUvbGliZ25vbWV1aS0yLjAgLUkvdXNyL2luY2x1
ZGUvbGliZ25vbWUtMi4wIC1JL3Vzci9pbmNsdWRlL2xpYmdub21lY2FudmFzLTIuMCAtSS91c3Iv
aW5jbHVkZS9ndGstMi4wIC1JL3Vzci9pbmNsdWRlL2xpYmFydC0yLjAgLUkvdXNyL2luY2x1ZGUv
Z2NvbmYvMiAtSS91c3IvaW5jbHVkZS9saWJib25vYm91aS0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xp
Yi0yLjAgLUkvdXNyL2xpYi9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL29yYml0LTIu
MCAtSS91c3IvaW5jbHVkZS9saWJib25vYm8tMi4wIC1JL3Vzci9pbmNsdWRlL2dub21lLXZmcy0y
LjAgLUkvdXNyL2xpYi9nbm9tZS12ZnMtMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYm9ub2Jv
LWFjdGl2YXRpb24tMi4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9m
cmVldHlwZTIgLUkvdXNyL2xpYi9ndGstMi4wL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUvYXRrLTEuMCAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIvY29uZmlnIC1J
L3Vzci9pbmNsdWRlL2xpYnhtbDIgICAtRFhUSFJFQURTIC1EX1JFRU5UUkFOVCAtRFhVU0VfTVRT
QUZFX0FQSSAtSS91c3IvaW5jbHVkZS9saWJnbm9tZWNhbnZhcy0yLjAgLUkvdXNyL2luY2x1ZGUv
bGliYXJ0LTIuMCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5
cGUyIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy
L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1JL3Vzci9saWIvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9Y
MTFSNi9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5
cGUyL2NvbmZpZyAgIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0y
LjAgLUkvdXNyL2xpYi9nbGliLTIuMC9pbmNsdWRlICAgcmVwLXR5cGVzLmMKL3Vzci9saWIvcmVw
L2kzODYtcGMtbGludXgtZ251L2xpYnRvb2wgLS1tb2RlPWNvbXBpbGUgZ2NjIC1jICAtREhBVkVf
Q09ORklHX0ggLUkuIC1PMyAtbWFyY2g9YXRobG9uLXhwIC1waXBlIC1JL3Vzci9pbmNsdWRlL2ds
aWItMi4wIC1JL3Vzci9saWIvZ2xpYi0yLjAvaW5jbHVkZSAgIC1EWFRIUkVBRFMgLURfUkVFTlRS
QU5UIC1EWFVTRV9NVFNBRkVfQVBJIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNyL2xpYi9n
dGstMi4wL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEu
MCAtSS91c3IvaW5jbHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vz
ci9pbmNsdWRlL2ZyZWV0eXBlMi9jb25maWcgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNy
L2xpYi9nbGliLTIuMC9pbmNsdWRlICAgLUkvdXNyL2luY2x1ZGUgLUkvdXNyL2xpYi9yZXAvaTM4
Ni1wYy1saW51eC1nbnUgLURYVEhSRUFEUyAtRF9SRUVOVFJBTlQgLURYVVNFX01UU0FGRV9BUEkg
LUkvdXNyL2luY2x1ZGUvbGliZ2xhZGUtMi4wIC1JL3Vzci9pbmNsdWRlL2d0ay0yLjAgLUkvdXNy
L2luY2x1ZGUvbGlieG1sMiAtSS91c3IvbGliL2d0ay0yLjAvaW5jbHVkZSAtSS91c3IvWDExUjYv
aW5jbHVkZSAtSS91c3IvaW5jbHVkZS9hdGstMS4wIC1JL3Vzci9pbmNsdWRlL3BhbmdvLTEuMCAt
SS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyL2NvbmZpZyAt
SS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliL2dsaWItMi4wL2luY2x1ZGUgICAtRE9S
QklUMj0xIC1wdGhyZWFkIC1JL3Vzci9pbmNsdWRlL2xpYmdub21lLTIuMCAtSS91c3IvaW5jbHVk
ZS9nbGliLTIuMCAtSS91c3IvbGliL2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvb3Ji
aXQtMi4wIC1JL3Vzci9pbmNsdWRlL2xpYmJvbm9iby0yLjAgLUkvdXNyL2luY2x1ZGUvZ2NvbmYv
MiAtSS91c3IvaW5jbHVkZS9nbm9tZS12ZnMtMi4wIC1JL3Vzci9saWIvZ25vbWUtdmZzLTIuMC9p
bmNsdWRlIC1JL3Vzci9pbmNsdWRlL2Jvbm9iby1hY3RpdmF0aW9uLTIuMCAgIC1ET1JCSVQyPTEg
LXB0aHJlYWQgLURYVEhSRUFEUyAtRF9SRUVOVFJBTlQgLURYVVNFX01UU0FGRV9BUEkgLUkvdXNy
L2luY2x1ZGUvbGliZ25vbWV1aS0yLjAgLUkvdXNyL2luY2x1ZGUvbGliZ25vbWUtMi4wIC1JL3Vz
ci9pbmNsdWRlL2xpYmdub21lY2FudmFzLTIuMCAtSS91c3IvaW5jbHVkZS9ndGstMi4wIC1JL3Vz
ci9pbmNsdWRlL2xpYmFydC0yLjAgLUkvdXNyL2luY2x1ZGUvZ2NvbmYvMiAtSS91c3IvaW5jbHVk
ZS9saWJib25vYm91aS0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGli
LTIuMC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL29yYml0LTIuMCAtSS91c3IvaW5jbHVkZS9saWJi
b25vYm8tMi4wIC1JL3Vzci9pbmNsdWRlL2dub21lLXZmcy0yLjAgLUkvdXNyL2xpYi9nbm9tZS12
ZnMtMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYm9ub2JvLWFjdGl2YXRpb24tMi4wIC1JL3Vz
ci9pbmNsdWRlL3BhbmdvLTEuMCAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2xpYi9n
dGstMi4wL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvYXRrLTEu
MCAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIvY29uZmlnIC1JL3Vzci9pbmNsdWRlL2xpYnhtbDIg
ICAtRFhUSFJFQURTIC1EX1JFRU5UUkFOVCAtRFhVU0VfTVRTQUZFX0FQSSAtSS91c3IvaW5jbHVk
ZS9saWJnbm9tZWNhbnZhcy0yLjAgLUkvdXNyL2luY2x1ZGUvbGliYXJ0LTIuMCAtSS91c3IvaW5j
bHVkZS9wYW5nby0xLjAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2d0
ay0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGliLTIuMC9pbmNsdWRl
IC1JL3Vzci9saWIvZ3RrLTIuMC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1JL3Vzci9p
bmNsdWRlL2F0ay0xLjAgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyL2NvbmZpZyAgIC1JL3Vzci9p
bmNsdWRlL2d0ay0yLjAgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYi9nbGliLTIu
MC9pbmNsdWRlICAgcmVwLWd0ay5jCmxpYnRvb2w6IGNvbXBpbGU6IHVuYWJsZSB0byBpbmZlciB0
YWdnZWQgY29uZmlndXJhdGlvbgpsaWJ0b29sOiBjb21waWxlOiBzcGVjaWZ5IGEgdGFnIHdpdGgg
YC0tdGFnJwptYWtlOiAqKiogW3JlcC1ndGsubG9dIEVycm9yIDEKbWFrZTogKioqIFdhaXRpbmcg
Zm9yIHVuZmluaXNoZWQgam9icy4uLi4KbGlidG9vbDogY29tcGlsZTogdW5hYmxlIHRvIGluZmVy
IHRhZ2dlZCBjb25maWd1cmF0aW9uCmxpYnRvb2w6IGNvbXBpbGU6IHNwZWNpZnkgYSB0YWcgd2l0
aCBgLS10YWcnCm1ha2U6ICoqKiBbcmVwLXR5cGVzLmxvXSBFcnJvciAxCgohISEgRVJST1I6IHgx
MS1saWJzL3JlcC1ndGstMC4xOCBmYWlsZWQuCiEhISBGdW5jdGlvbiBzcmNfY29tcGlsZSwgTGlu
ZSA0NywgRXhpdGNvZGUgMgohISEgKG5vIGVycm9yIG1lc3NhZ2UpCiEhISBJZiB5b3UgbmVlZCBz
dXBwb3J0LCBwb3N0IHRoZSB0b3Btb3N0IGJ1aWxkIGVycm9yLCBOT1QgdGhpcyBzdGF0dXMgbWVz
c2FnZS4KCiAICCAuLi5kb25lIQo+Pj4gZW1lcmdlICgxIG9mIDEpIHgxMS1saWJzL3JlcC1ndGst
MC4xOCB0byAvCj4+PiBtZDUgc3JjX3VyaSA7LSkgcmVwLWd0ay0wLjE4LnRhci5negobXTI7ICoq
KiB0ZXJtaW5hdGluZy4HG10yO3h0ZXJtBw==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50786</attachid>
            <date>2005-02-08 15:08 0000</date>
            <desc>emerge info for rep-gtk problem</desc>
            <filename>info.log</filename>
            <type>text/plain</type>
            <data encoding="base64">G10yO1N0YXJ0ZWQgZW1lcmdlIG9uOiBGZWIgMDgsIDIwMDUgMDc6MDg6MDIHG10yOyAqKiogZW1l
cmdlICBpbmZvB0dlbnRvbyBCYXNlIFN5c3RlbSB2ZXJzaW9uIDEuNC4xNgobXTI7ICoqKiB0ZXJt
aW5hdGluZy4HG10yO3h0ZXJtB1BvcnRhZ2UgMi4wLjUxLXIxNSAoZGVmYXVsdC1saW51eC94ODYv
MjAwNC4zLCBnY2MtMy4zLjUsIGdsaWJjLTIuMy40LjIwMDQwODA4LXIxLCAyLjYuMTAtZ2VudG9v
LXI2IGk2ODYpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClN5c3RlbSB1bmFtZTogMi42LjEwLWdlbnRvby1yNiBpNjg2IEFN
RCBBdGhsb24oVE0pIFhQIDI4MDArClB5dGhvbjogICAgICAgICAgICAgIGRldi1sYW5nL3B5dGhv
bi0yLjMuNCBbMi4zLjQgKCMxLCBGZWIgIDUgMjAwNSwgMTk6MzY6NTIpXQpkZXYtbGFuZy9weXRo
b246ICAgICAyLjMuNApzeXMtZGV2ZWwvYXV0b2NvbmY6ICAyLjU5LXI2LCAyLjEzCnN5cy1kZXZl
bC9hdXRvbWFrZTogIDEuNSwgMS44LjUtcjMsIDEuNi4zLCAxLjcuOS1yMSwgMS40X3A2LCAxLjku
NApzeXMtZGV2ZWwvYmludXRpbHM6ICAyLjE1LjkyLjAuMi1yMQpzeXMtZGV2ZWwvbGlidG9vbDog
ICAxLjUuMTAtcjQKdmlydHVhbC9vcy1oZWFkZXJzOiAgMi40LjIxLXIxCkFDQ0VQVF9LRVlXT1JE
Uz0ieDg2IgpBVVRPQ0xFQU49InllcyIKQ0ZMQUdTPSItTzMgLW1hcmNoPWF0aGxvbi14cCAtcGlw
ZSIKQ0hPU1Q9ImkzODYtcGMtbGludXgtZ251IgpDT05GSUdfUFJPVEVDVD0iL2V0YyAvdXNyL2tk
ZS8yL3NoYXJlL2NvbmZpZyAvdXNyL2tkZS8zL3NoYXJlL2NvbmZpZyAvdXNyL2xpYi9YMTEveGti
IC91c3Ivc2hhcmUvY29uZmlnIC92YXIvcW1haWwvY29udHJvbCIKQ09ORklHX1BST1RFQ1RfTUFT
Sz0iL2V0Yy9nY29uZiAvZXRjL3Rlcm1pbmZvIC9ldGMvZW52LmQiCkNYWEZMQUdTPSItTzMgLW1h
cmNoPWF0aGxvbi14cCAtcGlwZSIKRElTVERJUj0iL3Vzci9wb3J0YWdlL2Rpc3RmaWxlcyIKRkVB
VFVSRVM9ImF1dG9hZGRjdnMgYXV0b2NvbmZpZyBjY2FjaGUgZGlzdGxvY2tzIHNhbmRib3ggc2Zw
ZXJtcyIKR0VOVE9PX01JUlJPUlM9Imh0dHA6Ly9nZW50b28uc2VyZW4uY29tL2dlbnRvbyIKTUFL
RU9QVFM9Ii1qMiIKUEtHRElSPSIvdXNyL3BvcnRhZ2UvcGFja2FnZXMiClBPUlRBR0VfVE1QRElS
PSIvdmFyL3RtcCIKUE9SVERJUj0iL3Vzci9wb3J0YWdlIgpTWU5DPSJyc3luYzovL3JzeW5jLmdl
bnRvby5vcmcvZ2VudG9vLXBvcnRhZ2UiClVTRT0ieDg2IDNkbm93IFggYWltIGFsc2EgYXZpIGJh
c2gtY29tcGxldGlvbiBiZXJrZGIgYml0bWFwLWZvbnRzIGJ6bGliIGNkciBjcnlwdCBjc2NvcGUg
Y3VwcyBkZ2EgZGlvIGRpcmVjdGZiIGRpdng0bGludXggZG9jIGR2ZCBlbWFjcyBlbWFjcy13MyBl
bmNvZGUgZXNkIGZhbSBmbGFzaCBmb250LXNlcnZlciBmb29tYXRpY2RiIGZ0cCBnZGJtIGdpZiBn
cG0gZ3RrIGd0azIgZ3RraHRtbCBpbWxpYiBpcHY2IGppa2VzIGpwZWcgbGVzc3RpZiBsaWJnKysg
bGlid3d3IG1hZCBtaWttb2QgbWltZSBtaW5nIG1teCBtb3RpZiBtcGVnIG1zbiBuY3Vyc2VzIG5s
cyBvZmZlbnNpdmUgb2dndm9yYmlzIG9wZW5nbCBvc3MgcGFtIHBkYSBwZGZsaWIgcGVybCBwbmcg
cG9zdGdyZXMgcXQgcXVpY2t0aW1lIHJlYWRsaW5lIHNhbWJhIHNkbCBzZXNzaW9uIHNoYXJlZCBz
b2NrZXRzIHNzZSBzc2wgc3ZnIHN2Z2EgdGNwZCB0aWZmIHRydWV0eXBlIHRydWV0eXBlLWZvbnRz
IHR5cGUxLWZvbnRzIHVzYiB2aG9zdHMgdmlkZW9zIHhpbmUgeGluZXJhbWEgeG1sMiB4bW1zIHh2
IHh2aWQgeWFob28gemxpYiIKVW5zZXQ6ICBBU0ZMQUdTLCBDQlVJTEQsIENUQVJHRVQsIExBTkcs
IExDX0FMTCwgTERGTEFHUywgUE9SVERJUl9PVkVSTEFZCgo=
</data>        

          </attachment>
    </bug>

</bugzilla>